Thử nghiệm các kiểu tấn công

Một phần của tài liệu [Khóa luận tốt nghiệp] - Tìm hiểu và triển khai SnortSnortSam (Trang 96)

3. Nội dung thuyết minh và tính toán

6.3.Thử nghiệm các kiểu tấn công

6.3.1. Scan Port

Các dạng scan port thường gặp như XMAS Scan, Null Scan, FIN Scan. Attacker sẽ đứng phía bên ngoài scan hệ thống mạng nhằm thu thập các thông tin về cổng dịch vụ được mở, phiên bản hệ điều hành, phiên bản các phần mềm trên máy chủ.

Luật Snort:

alert tcp any any -> $HOME_NET any (msg:”FIN Scan”; flags: F; sid: 1000001; fwsam:src, 1 minutes;)

alert tcp any any -> $HOME_NET any (msg:”Xmas Scan”; flags: FPU; sid: 1000002; fwsam:src, 1 minutes;)

alert tcp any any -> $HOME_NET any (msg:”NULL Scan”; flags: 0; sid: 1000003; fwsam:src, 1 minutes;)

Khi Snort phát hiện ra các dạng scan này, sẽ gửi cảnh báo tới cho agen SnortSam trên firewall và yêu cầu firewall chặn các địa chỉ này trong vòng 1 phút.

84

6.3.2 Apache Killer

Luật Snort:

alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS (msg:"ET SCAN Kingcope KillApache.pl Apache mod_deflate DoS attempt";

flow:established,to_server;content:"Range|3a|bytes=0-,5-0,5-

1,5-2,5-3,5-4,5-5,5-6,5-7,5-8,5-9,5-10,5-11,5-12,5-13,5-14"; http_header; fast_pattern:only;

reference:url,seclists.org/fulldisclosure/2011/Aug/175; classtype:attempted-dos; sid:2013472; rev:2; fwsam:src, 1 minutes;)

Attacker khai thác lỗ hổng trên các phiên bản Apache 2.0 (nhỏ hơn 2.0.65) và 2.2 (nhỏ hơn 2.2.20) nhằm tấn công từ chối dịch vụ làm tiêu tốn nhiều tài nguyên của hệ thống, khiến hệ thống bị treo.

Luật trên khi nhận được cảnh báo của Snort, iptables sẽ chặn địa chỉ nguồn trong vòng 1 phút.

6.3.3 Ping of Death

Attacker gửi các gói tin ICMP có kích thước lớn tới máy chủ nhằm chiếm đường truyền và ngăn việc cung cấp dịch vụ của máy chủ. Luật Snort sẽ kiểm tra kích thước của các gói tin ICMP được gửi tới

alert icmp any any -> $HOME_NET any (msg:”Large ICMP Packet”; dsize: >200; sid: 1000004; fwsam:src, 1 minutes;)

6.3.4 MS12-020

Lỗ hổng được attacker khai thác qua dịch vụ Terminal Service (3389) làm hệ thống bị shutdown đột ngột.

alert tcp any any -> $HOME_NET 3389 (msg:"ET EXPLOIT Microsoft RDP Server targetParams Exploit Attempt"; flow:to_server,established; content:"|03 00|"; depth:2; content:"|7f 65 82 01 94|"; distance:24; within:5;

85

byte_test:1,<,6,3,relative;

reference:url,msdn.microsoft.com/en-us/library/cc240836.aspx; reference:cve,2012-0002; classtype:attempted-admin;

sid:2014383; rev:2; fwsam:src; 1 minutes;)

6.3.5 SQL Injection

Mô hình sử dụng web application để demo dạng tấn công SQL Injection bằng cách truyền vào tham số ‘ or 1=1;#.

alert tcp $EXTERNAL_NET any -> $HOME_NET 80 (msg:"[The system detected Sql Injection Attack-1]";

flow:to_server,established;

uricontent:"/?id";nocase;pcre:"/(((\?id=)|(\?id%3D))(\w*)(((\ ')|(\%27))((\w+)|(\W+)|(\D+)|(\d+))))/ix"; classtype:web- application-attack; sid:1000015; rev:1; fwsam:src; 1 minutes;) (adsbygoogle = window.adsbygoogle || []).push({});

86

KẾT QUẢ ĐẠT ĐƯỢC

Tính khoa học:

Đạt được các mục tiêu của đề tài như kiến thức về hệ thống phát hiện xâm nhập, các kỹ thuật phát hiện xâm nhập.

Tìm hiểu được kiến trúc và cách thức hoạt động của Snort/SnortSam. Cách phân tích các tập tin log, các cảnh báo, dựa vào đó viết các luật phù hợp để phát hiện và ngăn chặn xâm nhập.

Phân tích được một số trường hợp tấn công, phân tích được một số tập luật của các dạng tấn công phổ biến.

Demo triển khai thử trong hệ thống mô hình.

Khả năng triển khai ứng dụng thực tế:

An toàn thông tin ở Việt Nam đang trở thành một vấn đề nóng bỏng nhất qua hàng loạt các vụ việc các hệ thống lớn bị tấn công. Snort là hệ thống phát hiện xâm nhập có số lượng người sử dụng rất lớn trên thế giới. Snort là phần mềm nguồn mở nên chi phí mua bản quyền là bằng 0, chỉ phải bỏ tiền để mua đầy đủ các luật hơn từ phía Sourcefire nếu cần thiết.

Ngoài ra hệ thống để cài đặt Snort cũng không yêu cầu cao, chỉ cần một máy chủ tầm trung là có thể triển khai được Snort. Nên chi phí triển khai là t hấp hơn rất nhiều so với các hệ thống phần cứng khác.

Snort có đầy đủ các tính năng kỹ thuật trong việc phát hiện xâm nhập dựa trên mẫu và dựa trên sự bất thường.

Hoàn toàn có khả năng triển khai tốt cho bất cứ hệ thống nào trong thực tế.

87

Nếu người quản trị hệ thống có kỹ năng tốt, hệ thống không cần thiết phải trả thêm 29.99$ cho người dùng cá nhân hoặc từ 399.00-499.00$ cho doanh nghiệp mỗi năm cho việc mua thêm các bộ luật.

Chi phí thấp cho một hệ thống tốt, có đầy đủ chức năng của một hệ thống phát hiện xâm nhập.

Kết hợp với các hệ thống nguồn mở khác như netfilter/iptables, hệ thống giám sát như Nagios, mod_security cho ứng dụng web có thể xây dựng một hệ thống tốt có khả năng ngăn chặn các cuộc tấn công, phân tích, theo dõi và nâng cao hiệu suất của dịch vụ với chi phí cực kỳ thấp.

Hạn chế:

Một vài hạn chế vẫn còn tồn tại trong đề tài

 Chưa cấu hình đầy đủ các luật trong iptables.

 Chưa demo được các dạng tấn công trong vùng mạng nội bộ ví dụ như ARP Spoofing hay Sniffer gói tin trong mạng nội bộ.

88

89

Kết luận

Đề tài đã đạt được một số mục tiêu như hiểu về cách thức hoạt động và cách thức phát hiện xâm nhập của hệ thống IDS. Cách bố trị một hệ thống phát hiện xâm nhập trong hệ thống mạng ra làm sao?

Nghiên cứu và hiểu cấu trúc và cách thức xử lý gói tin của Sno rt cũng như SnortSam. Hiểu rõ cấu trúc của một tập luật trong Snort. Cách thức viết một luật cho những yêu cầu cụ thể. Phân tích dữ liệu để viết luật.

Cài đặt và cấu hình thành công hệ thống, demo các hình thức xâm nhập đơn giản. Tác giả gặp một chút khó khăn trong việc triển khai mô hình trên máy ảo, sự phức tạp của mô hình mạng khó thể hiện trên hệ thống ảo.

Tác giả gặp khó khăn trong việc demo các loại hình tấn công mới hiện nay, việc demo các dạng tấn công còn ở dạng đơn giản do mục đích chỉ thử phản ứng của Snort.

Phiên bản mới nhất của Snort chưa có gói patch SnortSam phù hợp.

Tác giả muốn tập trung vào việc hình thành nên các luật tương ứng với các dạng tấn công thay vì cài đặt cấu hình và triển khai. Theo tìm hiểu của tác giả, việc khó khăn nhất của xây dựng một hệ thống Snort/SnortSam không phải ở quá trình cài đặt, cấu hình hay demo mà quá trình khó khăn nhất nằm ở phía người quản trị. Dù một hệ thống Snort/SnortSam có tốt đến đâu nhưng nếu người quản trị không có kỹ năng phân tích log, phân tích trạng thái của hệ thống, không nắm rõ cấu trúc của luật thì không thể hình thành nên được các tập luật đối với môi trường doanh nghiệp được triển khai.

Kết luật cuối cùng là việc xây dựng hệ thống phát hiện xâm nhập có tốt hay không nằm ở phía người quản trị hệ thống. Snort/SnortSam cũng chỉ là một công cụ và không thể phó mặc hoàn toàn vấn đề bảo mật hệ thống cho các hệ thống này. (adsbygoogle = window.adsbygoogle || []).push({});

90

Nếu được tác giả hi vọng được triển khai trên một hệ thống thật, hệ thống cung cấp đầy đủ các dịch vụ cần thiết cho người dùng cũng như có vùng mạng nội bộ cần thiết.

Ngoài ra tác giả có khảo sát qua việc cảnh báo theo thời gian thực thông qua các email và SMS nhưng tác giả nhận thấy một nhược điểm của ý định này đó là một ngày hệ thống tạo ra quá nhiều cảnh báo thì việc gửi email và SMS sẽ trở nên quá tải. Đối với người quản trị họ luôn phải kiểm tra hệ thống một cách thường xuyên nên tác giả cho rằng ý định này không có nhiều ưu điểm.

Thay vì sử dụng các hệ thố ng email và SMS, tác giả đề nghị dựng một máy trạm riêng phục vụ cho mục đích phân tích log. Log này không chỉ nhận từ Snort mà có thể nhận từ các dịch vụ web, từ log của hệ thống hoặc nhận log thông qua syslog- ng. Trong thời gian nghiên cứu tác giả có khảo sát và biết được 2 công c ụ cực kỳ mạnh mẽ trong việc phân tích log đó là Splunk và Aanval SAS™. Đây là 2 công cụ có phí nhưng cực kỳ mạnh mẽ và đáng giá.

Ngoài Snort/SnortSam hệ thống có thể sử dụng các công cụ và các giải pháp nguồn mở khác như iptables cho firewall, mod_security chuyên biệt cho web server Apache, các giải pháp monitoring khác như Nagios, ZenOSS…

91

TÀI LIỆU THAM KHẢO

[1] Andrew T. Baker, Brian Caswell & Mike Poor (2004), Snort 2.1 Intrusion Detection Second Edition, Syngress Publishing, Inc.

[2] Andrew R. Bakeer & Joel Esler (2007), Snort IDS and IPS Toolkit. Syngress Publishing, Inc.

[3] David Gullett (2012), Snort 2.9.3 and Snort Report 1.3.3 on Ubuntu 12.04 LTS Install Guide, Symmetrix Technologies.

[4] Karthikeyan .K.R & A. Indra (2010), Intrusion Detection Tools and Techniques A Survey, International Journal of Computer Theory and Engineering, Vol.2, No.6. [5] Rebecca Bace and Peter Mell (2011), NIST Special Publicationon Intrusion Detection Systems, National Institute of Standards and Technology.

[6] The Snort Team (2012), Snort® User Manual 2.9.3, The Snort Project.

[7] University of Marland University College (2012), Installing Snort from Source Code on Linux, http://polaris.umuc.edu/~sgantz/Install.html

[8] Hacker Vietnam Association (2005), Ký sự các vụ DDoS đến HVA, http://www.hvaonline.net/hvaonline/posts/list/112.hva

[9] BleedingSnort (2009), Bộ luật cung cấp bởi BleedingSnort, http://www.bleedingsnort.com/

92

PHỤ LỤC

1.Luật iptables cho mô hình demo

### Shell script for publish web server ### iptables and snort/snortsam

#! /bin/bash

ipt=/sbin/iptables

echo "1" > /proc/sys/net/ipv4/ip_forward

# flush config iptables $ipt -t filter -F $ipt -t nat -F $ipt -t mangle -F $ipt -t filter -X $ipt -t nat -X $ipt -t mangle -X $ipt -t filter -Z $ipt -t nat -Z $ipt -t mangle -Z # change policy

$ipt -P INPUT ACCEPT $ipt -P OUTPUT ACCEPT $ipt -P FORWARD ACCEPT

$ipt -t nat -P PREROUTING ACCEPT $ipt -t nat -P POSTROUTING ACCEPT # publish wwww

$ipt -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -d 1.2.3.5/24 -j DNAT --to-destination 10.0.0.100:80

$ipt -t nat -A POSTROUTING -p tcp --dport 80 -o eth1 -s 1.2.3.5/24 -j SNAT --to-source 10.0.0.1

93

$ipt -t nat -A PREROUTING -p tcp --dport 443 -i eth0 -d 1.2.3.5/24 -j DNAT --to-destination 10.0.0.100:443

$ipt -t nat -A POSTROUTING -p tcp --dport 443 -o eth1 -s 1.2.3.5/24 -j SNAT --to-source 10.0.0.1 (adsbygoogle = window.adsbygoogle || []).push({});

$ipt -t nat -A PREROUTING -p tcp --dport 3389 -i eth0 -d 1.2.3.5/24 -j DNAT --to-destination 10.0.0.100:3389

$ipt -t nat -A POSTROUTING -p tcp --dport 3389 -o eth1 -s 1.2.3.5/24 -j SNAT --to-source 10.0.0.1

Một phần của tài liệu [Khóa luận tốt nghiệp] - Tìm hiểu và triển khai SnortSnortSam (Trang 96)