Nghiên cứu các kỹ thuật quét của sâu mạng và các phương pháp phát hiện (tt)Nghiên cứu các kỹ thuật quét của sâu mạng và các phương pháp phát hiện (tt)Nghiên cứu các kỹ thuật quét của sâu mạng và các phương pháp phát hiện (tt)Nghiên cứu các kỹ thuật quét của sâu mạng và các phương pháp phát hiện (tt)Nghiên cứu các kỹ thuật quét của sâu mạng và các phương pháp phát hiện (tt)Nghiên cứu các kỹ thuật quét của sâu mạng và các phương pháp phát hiện (tt)Nghiên cứu các kỹ thuật quét của sâu mạng và các phương pháp phát hiện (tt)Nghiên cứu các kỹ thuật quét của sâu mạng và các phương pháp phát hiện (tt)Nghiên cứu các kỹ thuật quét của sâu mạng và các phương pháp phát hiện (tt)Nghiên cứu các kỹ thuật quét của sâu mạng và các phương pháp phát hiện (tt)Nghiên cứu các kỹ thuật quét của sâu mạng và các phương pháp phát hiện (tt)Nghiên cứu các kỹ thuật quét của sâu mạng và các phương pháp phát hiện (tt)Nghiên cứu các kỹ thuật quét của sâu mạng và các phương pháp phát hiện (tt)Nghiên cứu các kỹ thuật quét của sâu mạng và các phương pháp phát hiện (tt)Nghiên cứu các kỹ thuật quét của sâu mạng và các phương pháp phát hiện (tt)
Trang 2Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học: TS.Hoàng Xuân Dậu…………
Vào lúc: giờ ngày tháng năm
Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
Trang 3LỜI MỞ ĐẦU
Sâu mạng (Network worms) là một trong các loại phần mềm độc hại (Malware) có tốc độ lây lan rất nhanh và khả năng tàn phá lớn Khác với virus, sâu mạng có thể lây lan tự động mà không cần tương tác với người dùng Khi sâu lây nhiễm vào một máy tính, nó
sử dụng máy tính đó làm bàn đạp để tiếp tục rà quét và lây nhiễm sang các máy tính khác Nhờ vậy, sâu có khả năng lây lan nhanh theo cấp số nhân Một số sâu như Slammer, Code Red, Nimda có khả năng lây nhiễm ra hàng trăm ngàn máy chủ chỉ trong khoảng 30 phút [1]
Sâu mạng có thể lây nhiễm từ máy này đến máy khác thông qua nhiều phương pháp, bao gồm lây nhiễm thông qua việc khai thác các lỗ hổng trên các dịch vụ mạng, các giao thức mạng, lây nhiễm thông qua đăng nhập từ xa, lây nhiễm thông qua email và từ trang web nhiễm sâu xuống trình duyệt web,… Tốc lây nhiễm của sâu phụ thuộc chủ yếu vào kỹ thuật quét (scanning) mà sâu mạng sử dụng để
rà quét các máy tính khác cùng mạng hoặc khác mạngvới máy bị nhiễm làm đích lây nhiễm tiếp theo Đa số sâu mạng thường rà quét
và lây nhiễm đến các máy chủ cung cấp dịch vụ mạng Chẳng hạn sâu Slammer quét các máy với địa chỉ IP sinh ngẫu nhiên để tìm đích tiếp lây nhiễm theo, đó là những máy chủ chạy hệ quản trị cơ sở dữ liệu SQL 2000 chứa lỗi tràn bộ đệm [1] Tuy vậy, cũng có một số sâu mạng lây nhiễm vào các máy tính cá nhân
Khi lây nhiễm vào hệ thống, hoạt động của sâu mạng tương
tự như virus, hoặc các phần mềm độc hại khác Một số sâu “lành tính” không thực hiện các hành vi phá hoại trên hệ thống bị lây nhiễm mà chỉ tạo ra lưu lượng mạng khổng lồ, như sâu Slammer [1] Ngược lại, nhiều sâu khác thực hiện các hành vi đánh cắp thông tin nhạy cảm, xoá các dữ liệu quan trọng, khoá máy tính của nạn nhân,
Trang 4mở cổng hậu để tải lên máy nạn nhân nhiều phần mềm độc hại khác, hoặc gây hỏng hóc cho hệ thống
Do sâu mạng có tốc độ lan nhanh và khả năng phá hoại lớn, đặc biệt là với các máy chủ và dịch vụ mạng, việc nghiên cứu, phân tích sâu cơ chế quét tìm đích lây nhiễm của sâu mạng là cần thiết để trên cơ sở đó đưa ra phương pháp phát hiện và phòng chống phù hợp Đây cũng là mục đích của Luận văn này
Trang 5CHƯƠNG 1: TỔNG QUAN VỀ SÂU MẠNG
1.1.2 Phân loại
Hiện nay, có nhiều phương pháp phân loại phần mềm độc hại và mỗi phương pháp có ưu, nhược điểm riêng Luận văn trình bày hai phương pháp phân loại phần mềm độc hại: phân loại phần mềm độc hại của NIST [13] và phân loại phần mềm độc hại của Peter Szor [14]
1.1.2.1 Phân loại của NIST (National Institute of Standards
and Technology):
1.1.2.2 Phân loại của Peter Szor
1.1.3 Tác hại của các phần mềm độc hại
Nhìn chung phần mềm độc hại có những tác hại sau:
Làm giảm hiệu năng xử lý
Thiệt hại tài chính
Mất thông tin cá nhân
Mã hóa dữ liệu tống tiền
Gây ra các sự khó chịu khác cho người dùng
Ảnh hưởng tới hoạt động sản xuất
Phá hủy hệ thống
Trang 61.2 Khái quát về sâu mạng và cơ chế lây nhiễm
1.2.1 Khái niệm
Worm – sâu máy tính (sau đây gọi tắt là sâu) được hiểu như
là một loại virus đặc biệt hay một chương trình độc hại Phương thức lây lan qua mạng là khác biệt cơ bản giữa virus và sâu Hơn nữa, sâu
có khả năng lan truyền như chương trình độc lập mà không cần lây nhiễm qua tập tin Ngoài ra, nhiều loại sâu có thể chiếm quyền kiểm soát hệ thống từ xa thông qua các “lỗ hổng” mà không cần có sự
“giúp sức” nào từ người dùng Tuy nhiên, cũng có những trường hợp
ngoại lệ như sâu Happy99, Melissa, LoveLetter, Nimda
1.2.2 Lịch sử
1.2.3 Phân loại
1.2.4 Cách thức làm việc của sâu
1.2.5 Một số loại sâu điển hình
a) Morris – sâu đầu tiên năm 1988
b) IloveYou năm 2000
c) Code Red 2001
d) Slammer năm 2001
1.3 Phòng chống sâu mạng và các phần mềm độc hại khác
Trang 7Chương này chỉ ra cách phân biệt các loại phần mềm độc hại trong máy tính, biết được tiểu sử cũng như hậu quả mà chúng gây ra cho người sử dụng máy tính qua các thời kỳ Từ cơ sở này, luận văn tiếp tục đi nghiên cứu các kỹ thuật quét và phương pháp phát hiện sâu mạng ở phần tiếp theo
Trang 8CHƯƠNG 2: CÁC KỸ THUẬT QUÉT CỦA SÂU MẠNG VÀ CÁC PHƯƠNG PHÁP PHÁT HIỆN
2.1 Các kỹ thuật quét của sâu mạng
Khác với virus và các phần mềm độc hại khác, sâu mạng có khả năng rà quét các host trên mạng để tìm các host mới cho quá trình lây nhiễm sâu Mục này phân tích các kỹ thuật rà quét điển hình của sâu mạng, bao gồm: quét ngẫu nhiên có chọn lọc, quét định tuyến, quét chia để trị, quét kết hợp và quét toàn bộ
2.1.1 Quét ngẫu nhiên có chọn lọc
Thay vì quét toàn bộ không gian địa chỉ IP một cách ngẫu nhiên, một tập hợp các địa chỉ có thể thuộc về các máy hiện tại có thể được chọn làm không gian địa chỉ đích Danh sách địa chỉ đã chọn có thể thu được từ các bảng định tuyến toàn cầu hoặc cục bộ
Chúng ta gọi loại quét này là quét ngẫu nhiên có chọn lọc
2.1.3 Quét kiểu chia để trị
Thay vì quét toàn bộ cơ sở dữ liệu, một máy chủ bị nhiễm sẽ phân chia cơ sở dữ liệu địa chỉ của nó với các nạn nhân gọi là quét phân chia Ví dụ, sau khi máy A lây nhiễm vào máy B, máy A sẽ chia các địa chỉ định tuyến của nó thành một nửa và truyền một nửa cho máy B Máy B có thể quét một nửa đó Bằng cách sử dụng tính năng phân chia này, kích thước mã của sâu có thể được giảm đi vì
Trang 9mỗi nạn nhân sẽ quét một không gian địa chỉ khác nhau và cũng nhỏ hơn Ngoài ra, các lưu lượng quét được tạo bởi các nạn nhân cũng giảm và khó phát hiện hơn
đó, rất khó để phân biệt được các chương trình độc hại Flash Worm được Staniford [8] giới thiệu là loại sâu này
2.1.6 So sánh các phương pháp quét của sâu mạng
2.2 Các phương pháp phát hiện sâu mạng
2.2.1 Khái quát về các phương pháp phát hiện sâu mạng
Phần này sẽ giới thiệu về các phương pháp phát hiện worm bằng một số kỹ thuật dùng cho hệ thống cảnh báo Hệ thống cảnh báo này sẽ đưa ra cảnh báo khi có điểm bất thường trên traffic mà có
vẻ giống hành vi của worm nhất
Mục tiêu của hệ thống này là có thể phát hiện ra worm sớm nhất và mức độ sai dương thấp nhất có thể
Kiến trúc chung của hệ thống phát hiện worm
Cài đặt các thành phần phát hiện trong mạng
Vấn đề về kiểm soát không gian địa chỉ
Trang 102.2.2 Các phương pháp phát hiện sâu mạng
2.2.2.1 Phát hiện dựa trên số nạn nhân
a) Thuật toán phát hiện dựa trên số nạn nhân trong mạng
b) Phân tích lưu lượng
2.2.2.2 Phát hiện dựa trên Hot-IPs
2.2.2.3 Phát hiện dựa trên tương quan nguồn đích
đã trình bày các kỹ thuật phát hiện sâu mạng
Trong Chương 3, luận văn sẽ trình bày phần thử nghiệm phát hiện sâu mạng dựa trên phương pháp tương quan nguồn đích
Trang 11CHƯƠNG 3: THỬ NGHIỆM PHÁT HIỆN SÂU
Hình 3.1 Mô hình quét tìm đích lây nhiễm của sâu mạng [11]
Hình 3.1 minh họa quá trình quét tìm đích lây nhiễm của sâu mạng Theo đó, quá trình quét và lây nhiễm của sâu mạng diễn ra như sau:
1 Sâu ban đầu lây nhiễm vào máy F;
2 Tiếp theo, sâu từ máy F giử các yêu cầu quét tìm đích lây nhiễm đến các máy B và E sử dụng cổng dịch vụ SMTP 25;
Trang 123 Sau khi sâu lây nhiễm thành công lên máy B, nó tiếp tục
sử dụng B để gửi các yêu cầu quét tìm đích lây nhiễm đến các máy A, D và C sử dụng cổng dịch vụ SMTP 25; Quá trình cứ lặp lại như vậy, với một máy ban đầu là đích lây nhiễm, sau đó khi sâu lây nhiễm thành công nó lại trở thành nguồn đi quét các máy khác tìm đích lây nhiễm thiếp theo Như vậy, nếu ta thực hiện giám sát trên đường truyền mạng (trên router hoặc switch),
có thể phân tích các yêu cầu gửi đi – lại giữa các máy để phát hiện khả năng xuất hiện của sâu mạng
Trang 13Hình 3.2 Lưu đồ cài đặt thuật toán phát hiện sâu mạng dựa trên
tương quan nguồn - đích [11]
Trang 14Hình 3.2 mô tả Lưu đồ cài đặt thuật toán phát hiện sâu mạng dựa trên tương quan nguồn – đích Theo đó, các yêu cầu quét IP được thu thập, phân tích và tìm mối tương quan giữa các yêu cầu quét Nếu phát hiện host A nhận được yêu cầu quét tại một thời điểm
t1, sau đó tại thời điểm t2 (t2> t1) phát hiện host A gửi các yêu cầu quét đến các host khác trên cùng cổng dịch vụ và nếu số yêu cầu quét
A gửi đi lớn hơn ngưỡng T cho trước, một cảnh báo phát hiện sâu mạng được gửi đi
3.2 Cài đặt thử nghiệm
3.2.1 Tập dữ liệu và tiền xử lý dữ liệu
date=2017-04-07 time=15:31:29 logid=0000000013 type=traffic
subtype=forward level=notice vd=root srcip=172.16.1.23
srcport=61560 srcintf="T44" dstip=192.168.4.16 dstport=13000
dstintf="port11" poluuid=3076f842-4bbe-51e5-acfb-0ae7ea8a30e5 sessionid=19241031 proto=6 action=close policyid=2
dstcountry="Reserved" srccountry="Reserved" trandisp=noop service="TCP_13000_14000" duration=4 sentbyte=7212
rcvdbyte=6356 sentpkt=16 rcvdpkt=13 vpn="T44" static
vpntype=ipsec-Hình 3.3 Một bản ghi logs thu thập được từ tường lửa
Trang 15Hình 3.4 Trích một số bản ghi trích xuất từ logs tường lửa
Tập dữ liệu sử dụng là tập logs gồm 400.000 bản ghi trích từ logs của tường lửa Hình 3.3 biểu diễn một bản ghi, trong đó có nhiều mục thông tin, mỗi mục thông tin có dạng tên_trường = giá_trị Để phục vụ cho mục đích phát hiện sâu mạng theo phương pháp tương quan nguồn – đích, tập logs tường lửa được xử lý và trích xuất ra 3 trường: địa chỉ IP nguồn, địa chỉ IP đích và cổng đích Một phần của tập dữ liệu được trích xuất minh họa trên Hình 3.4
3.2.2 Kết quả phát hiện
Luận văn sử dụng ngôn ngữ lập trình Python chạy trên Ubuntu
để cài đặt thuật toán tương quan nguồn đích (Hình 3.2) để phát hiện các khả năng xuất hiện các cặp tương quan đích bị quét và sau đó trở
Trang 16thành nguồn gửi đi yêu cầu quét trên cùng cổng dịch vụ đích sử dụng tập dữ liệu sau tiền xử lý (Hình 3.4)
Host khởi
phát quét
Host Đích Nguồn
Đích bị quét mới Cổng
dịch vụ
172.16.1.64 192.168.4.21 173.194.72.94,
64.30.228.118, 216.58.197.110, 216.58.199.99, 123.30.215.27
80
192.168.4.16 192.168.11.12 192.168.4.11 445
172.16.1.82 192.168.4.15 173.194.72.94,
64.30.228.118, 216.58.197.110, 216.58.199.99, 123.30.215.27
80
172.16.1.21 192.168.10.34 192.168.107.215 8880 192.168.4.16 192.168.11.11 192.168.4.11 445 172.16.1.74 192.168.4.15 23.76.66.74 443 172.16.1.18 192.168.4.11 10.30.154.49 123
Hình 3.5 Kết quả phát hiện các cặp tương quan nguồn đích
Hình 3.5 cung cấp kết quả phát hiện các cặp tương quan nguồn đích từ tập dữ liệu thử nghiệm, theo đó có 7 địa chỉ IP tìm được ban đầu là đích của yêu cầu quét, sau đó trở thành nguồn gửi đi yêu cầu quét trên cùng cổn dịch vụ đích Các địa chỉ IP này bao gồm 192.168.4.21, 192.168.11.12, 192.168.4.15/80, 192.168.10.34, 192.168.11.11, 192.168.4.15/443 và 192.168.4.11 Trong đó, 2 địa chỉ IP 192.168.4.21/cổng 80 và 192.168.4.15/cổng 80 nhiều khả
Trang 17năng bị lây nhiễm sâu do các host này sau khi nhận yêu cầu quét đã gửi đi nhiều yêu cầu quét đến các host khác
Trang 18KẾT LUẬN
1 Những kết quả đạt được của luận văn
Sâu mạng là một trong các mối đe dọa thường trực với các máy chủ và các dịch vụ mạng do tốc độ lây lan rất nhanh, khả năng tàn phá lớn Luận văn này tập trung nghiên cứu các phương pháp rà quét tìm đích lây nhiễm trong quá trình lây lan của sâu mạng và các phương pháp phát hiện sâu mạng Cụ thể, Luận văn đã đạt được các kết quả sau:
Nghiên cứu khái quát về phần mềm độc hại, với trọng tâm
về sâu mạng, phân loại, hiểu biết cách thức làm việc, trình bày một số loại sâu điển hình và phương pháp phòng chống
Nghiên cứu về các kỹ thuật quét tìm đích lây nhiễm của sâu mạng, bao gồm quét ngẫu nhiên có lựa chọn, quét định tuyến, quét chia để trị, quét kết hợp và quét toàn bộ Luận văn cũng nghiên cứu các kỹ thuật phát hiện sâu, gồm phương pháp phát hiện số nạn nhân, phương pháp Hot-Ips và tương quan nguồn đích
Giới thiệu và thử nghiệm mô hình phát hiện sâu mạng dựa trên tương quan nguồn đích
2 Hướng phát triển tiếp theo của luận văn
Nghiên cứu triển khai thử nghiệm mô hình phát hiện sớm sâu mạng trong môi trường mạng thực tế
Trang 19DANH MỤC CÁC TÀI LIỆU THAM KHẢO
[1] Adebayo O.T, Alese B.K, Gabriel A.J, A Model for Computer Worm Detection in a Computer Network, International Journal
of Computer Applications (0975 –8887) Volume 66–No.2, March 2013
[2] Christopher Kruegel, EnginKirda, Darren Mutz, William Robertson, and Giovanni Vigna, Polymorphic Worm Detection Using Structural Information of Executables, Proceeding RAID'05 Proceedings of the 8th international conference on Recent Advances in Intrusion Detection, Pages 207-226, Springer-Verlag Berlin, Heidelberg, Germany, 2006
[3] Daniel R Ellis, John G Aiken, Adam M McLeod, David R Keppler, Paul G Amman, Graph-based Worm Detection On Operational Enterprise Networks, MITRE Technical Report, April 2006
[4] Guofei Gu, Monirul Sharif, Xinzhou Qin, David Dagon, Wenke Lee and George Riley, Worm Detection, Early Warning and Response Based on Local Victim Information, 20th Annual Computer Security Applications Conference (ACSAC 2004), 6-10 December 2004, Tucson, AZ, USA
[5] Huỳnh Nguyên Chính, Tân Hạnh, Nguyễn Đình Thúc (2013), Group testing for detecting worms in computer networks Tạp chí Khoa học và Công nghệ - chuyên san các công trình nghiên cứu về Điện tử, Viễn thông và CNTT, pp.12-19, 2013
Trang 20[6] Ibrahim Farag,Mohammed A Shouman,Tarek S Sobh,Heba El-Fiqi, Intelligent System for Worm Detection, International Arab Journal of e-Technology, 2009
[7] Jaeyeon Jung, Rodolfo A Milito, and Vern Paxson, On the Adaptive Real-Time Detection of Fast-Propagating Network Worms, Proceedings of the 4th international conference on Detection of Intrusions and Malware, and Vulnerability Assessment Pages 175 – 192, Springer-Verlag Berlin, Heidelberg, Germany, 2007
[8] Jiang Wu, Sarma V angala, Lixin Gao, An Effective Architecture and Algorithm for Detecting Worms with Various Scan Techniques, in the 11th IEEE Network and Distributed System Security Symposium, San Diego, CA, USA, 2004
[9] Matthew Dunlop, Carrie Gates, Cynthia Wong, and Chenxi Wang, SWorD:A Simple Worm Detection Scheme, Proceedings of the 2007 OTM confederated international conference on On the move to meaningful internet systems: CoopIS, DOA, ODBASE, GADA, and IS - Volume Part II, Pages 1752-1769, 2007
[10] Miranda Mowbray, Network Worm Detection using Markov's and Cantelli's Inequalities, HP Laboratories, 2009
[11] Mohammed Anbar, Rosni Abdullah, Alhamza Munther, Mohammed Azmi Al-Betar, Redhwan M A Saad (2016), NADTW: new approach for detecting TCP worm, Journal of Neural Computing and Applications, DOI 10.1007/s00521-016-2358-9, Springer, June 2016