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 (LV thạc sĩ)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 (LV thạc sĩ)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 (LV thạc sĩ)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 (LV thạc sĩ)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 (LV thạc sĩ)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 (LV thạc sĩ)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 (LV thạc sĩ)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 (LV thạc sĩ)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 (LV thạc sĩ)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 (LV thạc sĩ)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 (LV thạc sĩ)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 (LV thạc sĩ)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 (LV thạc sĩ)
Trang 1NGHIÊN CỨU CÁC K
LUẬ (
Trang 2NGHIÊN CỨU CÁC K
Chuyên ngành
Mã số LUẬ (
NGƯỜI HƯỚNG DẪN KHOA HỌC :
TS HOÀNG XUÂN DẬU
HÀ NỘI - 2017
NG VÀ CÁC
Trang 3LỜI CẢM ƠN
Tôi xin chân thành cảm ơn các thầy cô giáo trong khoa Quốc tế và đào tạo sau đại học, khoa Công nghệ thông tin - Trường học viện công nghệ Bưu chính Viễn thông, những người đã trực tiếp giảng dạy, truyền đạt cho tôi kiến thức chuyên môn và phương pháp nghiên cứu để tôi có thể thực hiện được luận văn này cũng như những đề tài nghiên cứu khác
Đặc biệt, tôi xin chân thành cảm ơn TS Hoàng Xuân Dậu, đã tận tình hướng dẫn cũng như cung cấp tài liệu để tôi có thể hoàn thành luận văn này
Tôi cũng xin gửi lời biết ơn tới gia đình, đồng nghiệp và bạn bè đã nâng đỡ tôi trong cuộc sống cũng như trong công việc
Trân trọng cảm ơn !
Trang 4LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi Các dữ liệu, kết quả nêu trong luận văn là trung thực; trong quá trình nghiên cứu có tham khảo một số tài liệu và bài báo trong và ngoài nước
Hà Nội, ngày 28 tháng 5 năm 2017
Tác giả luận văn
Đặng ngọc Danh
Trang 5MỤC LỤC
LỜI CẢM ƠN i
LỜI CAM ĐOAN ii
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT v
DANH MỤC CÁC HÌNH VẼ, SƠ ĐỒ vi
LỜI MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ SÂU MẠNG VÀ PHÒNG CHỐNG 2
1.1 Khái quát về các phần mềm độc hại 2
1.1.1 Định nghĩa 2
1.1.2 Phân loại 2
1.1.3 Tác hại của các phần mềm độc hại 13
1.2 Khái quát về sâu mạng và cơ chế lây nhiễm 15
1.2.1 Khái niệm 15
1.2.2 Lịch sử 15
1.2.3 Phân loại 16
1.2.4 Cách thức làm việc của sâu 17
1.2.5 Một số loại sâu điển hình 18
1.3 Phòng chống sâu mạng và các phần mềm độc hại khác 21
1.3.1 Phương pháp phòng chống virus 21
1.3.2 Phương pháp phòng chống Worm 21
1.4 Kết chương 22
CHƯƠ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 23
2.1 Các kỹ thuật quét của sâu mạng 23
2.1.1 Quét ngẫu nhiên có chọn lọc 23
2.1.2 Quét định tuyến 25
2.1.3 Quét kiểu chia để trị 27
2.1.4 Quét kiểu kết hợp 29
2.1.5 Quét toàn bộ 29
Trang 62.1.6 So sánh các phương pháp quét của sâu mạng 30
2.2 Các phương pháp phát hiện sâu mạng 31
2.2.1 Khái quát về các phương pháp phát hiện sâu mạng 31
2.2.2 Các phương pháp phát hiện sâu mạng 33
2.2.3 So sánh các phương pháp phát hiện sâu mạng 38
2.3 Kết chương 38
CHƯƠNG 3: THỬ NGHIỆM PHÁT HIỆN SÂU MẠNG 39
3.1 Giới thiệu mô hình phát hiện sâu mạng dựa trên tương quan nguồn-đích 39
3.2 Cài đặt thử nghiệm 41
3.2.1 Tập dữ liệu và tiền xử lý dữ liệu 41
3.2.2 Kết quả phát hiện 42
3.3 Kết chương 43
KẾT LUẬN 44
DANH MỤC CÁC TÀI LIỆU THAM KHẢO 45
Trang 7DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Chữ
viết tắt Nghĩa tiếng anh Nghĩa tiếng việt
AAWP Analytical Active Worm Propagation Phân tích sâu hoạt động lantruyền
tính
IANA Internet AssignedNumbersAuthority Tổ chức cấp phát số hiệu Internet
NIST National Institute of Standards and
Technology
Viện tiêu chuẩn và công nghệ quốc gia Hoa Kỳ
Trang 8DANH MỤC CÁC HÌNH VẼ, SƠ ĐỒ
Hình 2.2 So sánh tốc độ lan truyền của quét ngẫu nhiên và quét ngẫu
Hình 2.3 So sánh tốc độ lan truyền của kỹ thuật quết ngẫu nhiên và
Hình 2.6 So sánh các phương pháp quét của sâu mạng 35
Hình 2.8 Sự biến đổi của số nạn nhân trong trường hợp quét ngẩu nhiên
Hình 3.1 Mô hình quét tìm đích lây nhiễm của sâu mạng 39 Hì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 40 Hình 3.3 Một bản ghi logs thu thập được từ tường lửa 41 Hình 3.4 Trích một số bản ghi trích xuất từ logs tường lửa 41 Hình 3.5 Kết quả phát hiện các cặp tương quan nguồn đích 42
Trang 9LỜ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ạng vớ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, mở 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 10CHƯƠNG 1: TỔNG QUAN VỀ SÂU MẠNG VÀ PHÒ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):
Viện tiêu chuẩn và công nghệ quốc gia Hoa Kỳ Theo phân loại của NIST, phần mềm độc hại được chia thành bảy nhóm chính, bao gồm: Virus, Trojan horse, Worm, Malicious mobile code, Blended attack, Tracking cookies và Attacker tools
Trang 11Bảng 1.1: Phân loại phần mềm độc hại của NIST
Defender Web Browser Plug-in
Email Generator
Viruses: Một Virus có khả năng tự nhân bản bằng cách chèn bản sao của nó vào chương trình chủ hay vào file dữ liệu Virus thường thực hiện việc lây nhiễm nhờ vào sự tương tác của người dùng, như là mở file hay chạy các chương trình Virus được chia thành hai loại: Compiled Virus và interpreted Virus
o Compiled Virus: Là Virus mà nó có thể thực thi trực tiếp từ hệ điều hành Boot Virus và file Virus là những Virus thuộc nhóm này Compiled Virus cũng có thể là loại Virus được pha trộn từ cả boot Virus và file Virus Jerusalem là một Virus điển hình thuộc loại này
o Interpreted Virus: Là Virus được thực thi bởi một ứng dụng cụ thể Virus kiểu này là một tập lệnh cho đến khi ứng dụng gọi nó thì nó mới được thực
Trang 12thi Macro Virus và scripting Virus là những Virus thuộc loại này Melisa là một đại diện cho loại Virus này
Worm: Worm (sâu) là một chương trình có khả năng tự nhân bản và lây nhiễm trong hệ thống mà không cần phải có tác động của con người, nghĩa là nó không cần có file chủ để mang nó vào khi nó lây nhiễm Worm được chia thành hai loại: network service worm và mass mailing worm
o Network service worm: Network service worm lan truyền từ hệ thống này sang hệ thống khác bằng cách lợi dụng các lỗ hổng bảo mật của các dịch vụ mạng
o Mass mailing worm: Mass mailing worm có khả năng tự đóng gói để lây nhiễm, nó không cần bám vào máy chủ email Khi lây nhiễm vào hệ thống,
nó thường cố gắng tìm kiếm danh sách địa chỉ và tự gửi bản thân nó đến các địa chỉ thu nhặt được Việc gửi đồng thời cho nhiều địa chỉ thường gây nên việc quá tải mạng hoặc máy chủ email Mydoom là ví dụ cho loại worm này
Trojan Horses: Trojan horse không có khả năng tự lây nhiễm, sự xuất hiện của
nó có vẻ rất ôn hòa nhưng thường ẩn chứa những đoạn mã với mục đích gây hại
Malicious Mobile Code: Là một dạng mã phần mềm có thể được gửi từ xa để chạy trên một hệ thống mà không cần lời gọi thực hiện trên hệ thống đó Nó khác với Virus, Worm ở chỗ nó không nhiễm vào file và không tự phát tán, thay vào đó nó khai thác một điểm yếu bảo mật, tận dụng các quyền ưu tiên ngầm định để chạy mã từ xa Các công cụ như Java, ActiveX, JavaScript, VBScript là môi trường tốt cho malicious mobile code Ví dụ cho kiểu tấn công này là Virus Nimda
Blended attacks: Blended attack là kiểu tấn công sử dụng hỗn hợp nhiều kỹ thuật khác nhau Nimda là điển hình cho loại tấn
Trang 13 công này
Tracking Cookies: Tracking cookie là một dạng theo dõi cookie để nắm bắt một
số hành động duyệt web của người sử dụng một cách bất hợp pháp Bản thân cookie được sinh ra để chứa các thông tin về việc sử dụng một trang web cụ thể nhằm căn cứ vào đó làm tối ưu hơn về giao diện, hành vi của trang web phù hợp Tuy nhiên, tính năng này đã bị lợi dụng để thu thập các thông tin về người
sử dụng
Attacker Tools: Là những bộ công cụ tấn công được sử dụng để gài các phần mềm độc hại vào hệ thống Các bộ công cụ này có khả năng giúp cho kẻ tấn công có thể truy nhập bất hợp pháp vào hệ thống hoặc làm cho hệ thống bị nhiễm mã độc hại Attacker tools thường gặp nhất là backdoor (cửa hậu) và keytroke loggers (công cụ ghi phím gõ)
o Backdoor: Backdoor là thuật ngữ chỉ các phần mềm độc hại thường trú và đợi lệnh điều khiển từ các cổng dịch vụ TCP hay UDP Phần lớn các backdoor cho phép kẻ tấn công thực thi một số hành động trên máy bị nhiễm như truyền file, dò mật khẩu, thực thi mã lệnh, … Backdoor gồm hai dạng: Zoombie và Remote Administration Tool
o Zoombie (đôi lúc gọi là bot): Là một chương trình cài đặt lên hệ thống nhằm mục đích tấn công hệ thống khác Kiểu thông dụng nhất của zoombie là các agent dùng để tổ chức một cuộc tấn công DDoS Kẻ tấn công có thể cài zoombie vào một số lượng lớn các máy tính rồi ra lệnh tấn công cùng một lúc Đại diện cho loại này là Trinoo và Tribe Flood Network
o Remote Administration Tool: Là các công cụ có sẵn của hệ thống cho phép thực hiện quyền quản trị từ xa Tính năng này bị kẻ tấn công lợi dụng để xâm hại đến hệ thống Tấn công kiểu này bao gồm từ theo dõi mọi thứ xuất hiện trên màn hình cho đến tác động vào cấu hình hệ thống
o Keytroke logger: Keytroke logger hay còn gọi là keylogger, là một chương
Trang 14trình ban đầu được thiết kế để theo dõi và ghi lại mọi thao tác thực hiện trên bàn phím vào một tập tin nhật ký (log) Về sau, keylogger phát triển cao hơn,
nó không chỉ ghi lại các thao tác với bàn phím mà còn ghi lại các hình ảnh hiển thị trên màn hình bằng cách chụp (screen-shot) hoặc quy phim (screen-capture), thậm chí còn ghi nhận cách con trỏ chuột trên máy tính di chuyển
Ví dụ về keylogger là KeySnatch, …
o Rootkits: Rookit là tập hợp các file được cài đặt trên hệ thống nhằm biến đổi những chức năng của hệ thống thành các chức năng tiềm ẩn những tấn công nguy hiểm Ví dụ, trong hệ thống Windows, Rookit có thể sửa đổi, thay thế file, hoặc thường trú trong bộ nhớ nhằm thay thế, sửa đổi các lời gọi hàm của
hệ điều hành Rootkit thường được dùng để cài đặt các công cụ để tấn công như backdoor, keylogger, … Ví dụ về Rookit: Hack Defender, Adore, …
o Web Browser Plug-In: Là phương thức cài đặt mã độc hại thực thi cùng trình duyệt web Khi được cài đặt, kiểu mã độc hại này sẽ theo dõi mọi hành vi duyệt web của người dùng (ví dụ như tên website người dùng đã truy cập), sau đó gửi thông tin ra ngoài
o Email generator: Là chương trình cho phép tạo và gửi đi một số lượng lớn các email Các chương trình độc hại như spam, spyder, … có thể được đính kèm vào email được sinh ra từ email generator và gửi tới các địa chỉ trong danh sách địa chỉ của máy bị nhiễm
o Attacker Toolkit: Là bộ công cụ được tải xuống để cài vào hệ thống khi hệ thống đã bị khống chế bởi phần mềm độc hại Các công cụ kiểu như bộ dò quét cổng (post scanner), bộ phá mật khẩu (password cracker), … là những
ví dụ cho loại này
1.1.2.2 Phân loại của Peter Szor
Peter Szor, tác giả cuốn sách The art of computer Virus research and
defense, phân loại phần mềm độc hại như Hình 1.1 Theo cách phân loại này, các
Trang 15phần mềm độc hại được chia thành mười sáu nhóm: Virus, Worm, Logic bomb, Trojan horse, Dropper, Injector, Germ, Exploit, Downloader, Dialer, Auto-Rooter, Kit, Spammer Program, Flooder, Keylogger, Rootkit
Germs
Dialers Downloader
Auto-Rooters Exploits
Kits Backdoor
Sammer Programs
Keylogger Flooders
Rootkits
Stealing Trojan
Hình 1.1: Phân loại phần mềm độc hại của Peter Szor
Viruses: Virus máy tính là một loại mã có khả năng tự sinh một cách liên tục các bản sao của nó Virus phá hoại các file chủ (host file) và khu vực hệ thống, hay đơn giản là sửa đổi các tham khảo đến các đối tượng để nắm quyền điều khiển, sau đó nhân lên ở các thế hệ mới
Trang 16 Worms: Peter Szor cũng phân loại Worm tương tự như cách phân loại của NIST, là Virus mạng, có khả năng tự sinh trên mạng Thường thì Worm được thực thi một cách tự động trên một máy từ xa mà không cần sự tương tác của người dùng Các dạng con của worms:
o Mailer và Mass-mailer worm: Mailer và Mass-mailer worm: Là một loại sâu máy tính được phát tán qua email Mass-mailer thường là “@mm” Worm, ví
dụ như VBS/Loveletter.A@mm Worm này tự tìm ra danh sách các địa chỉ trên máy bị nhiễm sau gửi đi hàng loạt các email, trong các email này đính kèm cả các bản sao của worm Mailer worm thì gửi đi với số lượng ít hơn so với mass-mailer worm, ví dụ như mailer worm W32/SKA.A@m (hay còn gọi là Worm Happy99) gửi đi chỉ một bản sao của chính nó trong mỗi lần người dùng gửi đi một thông điệp mới
o Octopus (bạch tuộc): Là một loại Worm máy tính tinh vi, phức tạp mà tồn tại như một chương trình trên nhiều hơn một máy tính trên mạng Ví dụ, phần đầu và phần đuôi các bản sao được cài đặt trên các máy tính riêng biệt để giao tiếp với nhau nhằm thực thi một chương trình nào đó Octopus là một loại Worm không thường thấy nhưng chúng sẽ trở nên phổ biến trong tương lai
o Rabbits (con thỏ): Là một loại sâu máy tính đặc biệt, và tại bất kỳ một thời điểm nào, chỉ có một bản sao của nó tồn tại, giống như là nó “nhảy” từ máy này sang máy khác trong mạng Một nghiên cứu khác sử dụng thuật ngữ Rabbit để mô tả mánh khóe, các ứng dụng độc hại mà thường chạy chính chúng một cách liên tục để làm đầy bộ nhớ với các bản sao của nó và làm các tiến trình chết dần bằng cách tiêu tốn hết thời gian CPU Mã độc chiếm quá nhiều bộ nhớ mà theo đó là nguyên nhân của một loạt các tác động khác trên máy mà các ứng 10 dụng khác không có sự chuẩn bị để làm việc với tình trạng bộ nhớ quá thấp Hậu quả, các tiến trình khác bị dừng một cách không mong muốn
Trang 17 Logic bombs: Một logic bomb là một sự làm sai lệch chức năng chương trình của một ứng dụng hợp pháp Logic bomb chỉ được kích hoạt khi một điều kiện nào đó được thỏa mãn Ví dụ, một ứng dụng có thể tự xóa mình khỏi đĩa sau một số lần được sử dụng như là một biện pháp bảo vệ bản quyền, người lập trình muốn vài đoạn mã mở rộng để thực hiện một hành động hiểm độc trên một hệ thống chắc chắn khi ứng dụng được sử dụng Tình huống này sẽ xảy ra khi có sự giao tiếp với một dự án lớn bằng việc rà soát mã một cách hạn chế Thông thường chức năng mở rộng được giấu đi như là một tài nguyên của ứng dụng Thực tế cách để một chức năng xây dựng vào một ứng dụng giống như cách được gọi là Easter eggs (trứng phục sinh) tiến tới một dự án lớn Người lập trình tạo Easter eggs để giấu đi một vài trang danh sách mở rộng cho các thành viên trong đội, những người tham gia dự án Các ứng dụng như Microsoft Office có rất nhiều Easter eggs ẩn trong nó, và các nhà cung cấp phần mềm lớn
có nhiều trang danh sách tương tự nhúng trong các chương trình của họ Mặc
dù, Easter eggs không phải là độc hại và không đe dọa người dùng cuối (mặc dù
nó có thể sử dụng hết khoảng trống trong ổ đĩa cứng), thì logic bombs luôn luôn độc hại
Trojan horses: Trojan horse dùng một vài chức năng hữu ích để cám dỗ người dùng chạy chương trình Trong các trường hợp khác, những kẻ tấn công với mục đích xấu để lại các phiên bản Trojan trong một công cụ hợp pháp để ngụy trang cho hành động của họ trên máy, theo đó họ có thể vạch lại các bước để thỏa hiệp với hệ thống và thực hiện các hành vi hiểm độc Ví dụ về Trojan horse điển hình nhất có lẽ là AIDS TROJAN DISK Có hai loại Trojan horse: 100% mã Trojan, loại này dễ phân tích Sửa đổi một cách cẩn thận các ứng dụng gốc với một vài chức năng mở rộng, một vài trong số chúng thuộc về các lớp con của Backdoor hay Rootkit Loại này của Trojan phổ biến hơn trong các
hệ thống mã nguồn mở vì kẻ tấn công có thể dễ dàng thêm vào các chức năng cửa sau vào đoạn mã có sẵn
Trang 18o Backdoors (hay Trapdoors): Tương tự như cách phân loại của NIST
o Password-Stealing Trojan (Trojan trộm password): Trojan trộm password là một lớp con đặc biệt của Trojan Lớp con này của Trojan được sử dụng để đoạt và gửi password đến cho kẻ tấn công Kết quả, kẻ tấn công có thể làm cho hệ thống trở nên thiếu an toàn và có thể lấy bất cứ thông tin gì mà anh (cô) ta muốn Kẻ trộm password thường kết hợp với Keyloggers để biết được các ký tự khi bấm bàn phím gõ password khi logon
Droppers: Là khái niệm ban đầu cần tham khảo khi cài đặt mã Virus thế hệ đầu
Ví dụ, boot Viruses lần đầu tiên tồn tại như một file biên dịch ở dạng nhị phân, thường được cài đặt trên boot sector của đĩa mềm sử dụng dropper Dropper viết germ code (mã phôi độc hại) trên boot sector của đĩa mềm Sau đó Virus
có thể tự sinh mà không cần nhờ dropper nữa
Injectors: Là một loại đặc biệt của dropper thường để cài đặt mã Virus lên bộ nhớ Một injector có thể được sử dụng để tiêm nhiễm mã Virus ở dạng hoạt động trên một xử lý ngắt ổ đĩa Sau đó, khi người dùng truy cập đĩa mềm, Virus bắt đầu quá trình tự sinh Một loại cụ thể của injector là injector mạng Kẻ tấn công có thể sử dụng các tiện ích hợp pháp, ví dụ như NetCat để tiêm nhiễm mã Virus lên mạng Thông thường một mục tiêu ở xa được xác định trước và gói
dữ liệu được gửi đến máy mà sẽ được kẻ tấn công sử dụng để tiêm nhiễm Kẻ tấn công bước đầu đưa vào sâu CodeRed sử dụng injector, sau đó sâu này sẽ sinh sôi như là dữ liệu mạng mà không cần tấn công vào ổ đĩa Injector thông thường được sử dụng ở trong tiến trình được gọi là seeding (gieo giống, gieo mầm) Seeding là một tiến trình mà được sử dụng để tiêm nhiễm mã Virus đến một vài hệ thống ở xa, là nguyên nhân của sự lan truyền Virus nhanh chóng Ví
dụ, sâu W32/Witty đã được gieo giống cho một vài hệ thống nhờ chính tác giả của nó
Germs (mầm mống): Là Virus thế hệ đầu tiên, khi mà Virus chưa sinh ra các tiền trình lây nhiễm Thông thường, một Virus biên dịch ở lần đầu tiên nó tồn
Trang 19tại dưới một định dạng cụ thể và không có chương trình trạm nào tấn công nó Germ không có khả năng đánh dấu mà hầu hết các Virus thế hệ thứ hai sử dụng
để đánh dấu các file đã bị nhiễm độc nhằm tránh lây nhiễm vào các file đã bị tấn công Một mầm phôi (germ) của Virus được mã hóa hay Virus đa hình thường lại không được mã hóa nên đơn giản, dễ đọc mã Việc dò tìm ra germ cần những kỹ thuật khác với các kỹ thuật dò tìm ra Virus ở thế hệ thứ hai trở về sau
Exploits (khai thác): Mã exploit là một điểm yếu cụ thể hay một tập hợp các điểm yếu được hacker viết ra để khai thác lỗi bảo mật Mục tiêu của nó để chạy các chương trình (có thể từ xa hay trên mạng) trên hệ thống một cách tự động hay cung cấp một vài định dạng khác của truy cập ưu tiên mức cao vào hệ thống đích Thông thường, một kẻ tấn công đơn độc xây dựng mã exploit rồi chia sẻ
nó cho mọi người Hacker mũ trắng xây dựng mã exploit cho mục tiêu thâm nhập Theo đó, phụ thuộc vào mục đích sử dụng trên thực tế của mã exploit mà
nó có thể là độc hại trong trường hợp này nhưng lại vô tại trong trường hợp khác, phụ thuộc vào mục tiêu của kẻ tấn công
Downloaders: Một downloader là một chương trình độc mà cài đặt một tập hợp các khoản mục khác trên máy, nó chưa đến mức gọi là tấn công Thông thường, downloader được gửi kèm trong một email và khi nó thực thi (đôi khi có thêm
sự giúp đỡ của exploit), nó download về các nội dung độc từ các website hay các nguồn khác, sau đó giải nén và chạy các nội dung này
Dialers: Các mối quan hệ của dialers bắt đầu từ rất sớm trong suốt thời kỳ hưng thịnh của kết nối dial up đến hệ thống bảng thông báo (bulletin board systems BBSs) ở nhà Dịch vụ dialers đã mang lại rất nhiều tiền cho kẻ đứng sau nó từ chính những người dùng nó (thông thường nạn nhân không biết) khi gọi cho các
số có thưởng Kẻ thực thi dialer này biết mục tiêu của ứng dụng, nhưng người dùng thì không nhận thức được phí tổn mà họ phải trả Các ứng dụng chung của dialer còn được gọi là porn dialer Một cách tiếp cận tương tự tồn tại trong
Trang 20WWW sử dụng liên kết đến các trang web mà kết nối đó phải trả tiền dịch vụ
Auto-Rooters: Auto-Rooters thường là công cụ hacker mũ đen sử dụng để làm sụp đổ các máy mới từ xa Auto-Rooters sử dụng tập hợp các exploit để chống lại một mục tiêu cụ thể nhằm đạt được quyền làm chủ máy Kết quả, hacker mũ đen (cũng được gọi là script-kiddie) dành được quyền admin của máy ở xa này
Kits (bộ công cụ hay Virus generators – trình sinh Virus): Người viết Virus phát triển Kits, như là trình sinh VCL, hay PSMPC để tạo ra các Virus máy tính một cách tự động, sử dụng ứng dụng menu_based Với các công cụ này, một người mới học cũng có thể phát triển những Virus máy tính tai hại mà không cần quá nhiều hiểu biết về máy tính Một vài trình sinh Virus có sẵn để tạo DOS, macro, script hay thậm chí là Virus W32 và massmailing worm
Spammer Programs: Các chương trình Spammer được sử dụng để gửi đi các tin nhắn không do yêu cầu đến một nhóm người dùng Mục tiêu chính của những người sử dụng chương trình này là gửi đi các quảng cáo đến các người dùng trên mạng Thư spam đã trở thành sự phiền hà số một trong giao tiếp cộng đồng Động cơ cơ bản của Spammer là kiếm được tiền bằng lưu lường sinh ra đến các website Thêm vào đó các tin nhắn Spam thường được sử dụng để cài đặt tấn công Phishing
Flooders (lũ lụt): Những hackers xấu tính sử dụng flooders để tấn công mạng máy tính với siêu tải của lưu lượng mạng nhằm tấn công từ chối dịch vụ DoS Tấn công DoS được thực thi đồng thời trên nhiều hệ thống có thỏa thuận trước (còn được gọi là các máy thụ động), tấn công kiểu này được gọi là tấn công từ chối dịch vụ phân tán DDoS Hiển nhiên có rất nhiều kiểu tấn công từ chối dịch
vụ tinh vi hơn, bao gồm: tràn SYN, tấn công sự phân mảnh gói, và nhiều kiểu tấn công liên tiếp khác, sử dụng máy khuếch đại lưu lượng, sử dụng máy làm chệch hướng lưu lượng, đó là vài loại chung nhất
Keyloggers: Tương tự như cách phân loại của NIST
Trang 21 Rootkits: Là một bộ công cụ được sử dụng nhằm che dấu các file và các phần mềm hiểm độc bên trong một hệ thống máy sơ hở Rootkits được kẻ xâm nhập dùng sau khi chiếm được quyền truy cập vào hệ thống máy tính Các công cụ này thường nhằm để che dấu dữ liệu hệ thống, tập tin, hoặc tiến trình đang chạy, từ đó giúp kẻ xâm nhập duy trì quyền truy cập hệ thống mà người dùng không biết Bản thân Rootkit là vô hại, tuy nhiên khi nó bị lợi dụng đi kèm theo các mã độc hại khác như Virus, Worm, Spyder, … thì nó lại trở nên rất nguy hiểm Rootkit được phân loại dựa trên sự duy trì sau khi khởi động lại, hoặc hoạt động ở chế độ người dùng (user mode) hay ở chế độ cấp hệ thống (kernel mode)
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ý: Khi bị nhiễm phần mềm độc hại thường làm giảm hiệu năng xử lý, tiêu tốn nhiều tài nguyên CPU, RAM, HDD và băng thông mạng, làm chương trình hay bị treo.Tài khoản email của người dùng có thể được truy cập bởi các phần mềm độc hại, tự động gửi tin nhắn mà người dùng không cho phép, hoặc chỉ đơn giản là lấp đầy màn hình với các pop-up quảng cáo trong khi truy cập Internet Hầu hết các phần mềm độc hại có một mục đích
là trộm cắp thông tin hoặc gửi thư rác, một số chương trình được thiết kế với mục đích phá hoại hoặc làm ngưng hoạt động của hệ thống máy tính
Thiệt hại tài chính: Một trong những mục đích chính của phần mềm độc hại là
để thúc đẩy hành vi trộm cắp thông tin tài chính hoặc các thông tin nhạy cảm khác nhằm trục lợi Người ta ước tính rằng hàng năm có hàng tỷ đô la bị đánh cắp do phần mềm độc hại đánh cắp hồ sơ tài chính cá nhân và doanh nghiệp Một số phần mềm độc hại có khả năng tự động chuyển tiền từ tài khoản ngân hàng bị đánh cắp vào tài khoản ngân hàng của tin tặc Tin tặc cũng có thể cài đặt một backdoor vào hệ thống máy tính của người dùng, cho phép chúng truy cập và lạm dụng các thông tin tài khoản ngân hàng của người dùng Phần mềm
Trang 22độc hại được tạo ra để đánh cắp thông tin, thường được thiết kế có khả năng giấu mình, nhằm kéo dài thời gian lưu lại trên máy tính của người dùng
Mất thông tin cá nhân: Nhiều phần mềm độc hại được thiết kế để ăn cắp thông tin cá nhân của bạn từ máy tính của bạn Tên của bạn, số chứng minh thư, số giấy phép lái xe, tài khoản ngân hàng và các thông tin nhạy cảm khác đều có thể
bị đánh cắp Các hành vi trộm cắp thông tin như vậy thường có lý do tài chính, nhưng kẻ trộm cũng có thể làm chứng minh thư giả với thông tin cá nhân của bạn Thông tin cá nhân trộm cắp có thể được sử dụng để xin hưởng các phúc lợi
xã hội, khai hồ sơ thuế gian lận hoặc đơn giản là một ID giả để qua mặt cảnh sát khi bị bắt
Mã hóa dữ liệu tống tiền: Khi Malware xâm nhập vào máy nạn nhân, nó sẽ mã hóa tất cả các dữ liệu quan trọng của người dùng và yêu cầu họ phải trả tiền để
có thể khôi phục lại hệ thống
Gây ra các sự khó chịu khác cho người dùng: Các Malware thiết lập các chế độ
ẩn tập tin, thư mục, khóa Registry, khóa Task Manager,…, thay đổi phương thức hoạt động của các phần mềm như trình duyệt, office, thậm chí thay đổi hệ điều hành, …
Ảnh hưởng tới hoạt động sản xuất: Khi một phần mềm độc hại được phát hiện,
nó phải được loại bỏ khỏi hệ thống máy tính bị lây nhiễm Với kịch bản tốt nhất, chỉ một máy tính bị nhiễm phần mềm độc hại cần phải dừng hoạt động để làm sạch Khi các mạng máy tính ngày càng mở rộng quy mô, chúng thường xuyên đối mặt với nguy cơ nhiều máy chủ, máy trạm phải ngừng hoạt động hoặc cần cài đặt lại hệ điều hành và phần mềm ứng dụng do bị lây nhiễm phần mềm độc hại Điều này có thể dẫn đến việc toàn bộ các phòng ban của một doanh nghiệp phải ngừng hoạt động trong nhiều ngày, gây thiệt hại hàng triệu
đô la cho công ty
Phá hủy hệ thống: Một số Malware cố tính phá hủy hệ thống (phá hủy BIOS, làm giảm tuổi thọ của ổ cứng, …), một số khác khi được xây dựng thì người thiết kế nó không cố ý đưa vào các đoạn mã làm hỏng hệ thống, tuy nhiên quá
Trang 23trình hoạt động của Malware trong thực tế đôi lúc ngoài dự kiến của họ, Malware bắt đầu hoạt động bất ổn, thậm chí sinh ra những lỗi làm tê liệt hệ thống
1.2 Khái quát về sâu mạng và cơ chế lây nhiễm
Happy99, Melissa, LoveLetter, Nimda
1.2.2 Lịch sử
Thực tế, khái niệm sâu máy tính lần đầu tiên được nhắc tới vào năm 1975 trong cuốn tiểu thuyết John Brunner, The Shockwave Rider Trong cuốn tiểu thuyết này, tác giả Nicholas Haflinger đã mô tả thiết kế và đặt ra một sâu có chức năng thu thập dữ liệu trong một hành động trả thù chống lại những người đàn ông quyền thế, những người mà vận hành một trang web thông tin điện tử quốc gia “Bạn có sâu lớn nhất tàng hình ở trên mạng, và nó sẽ tự động phá hoại mọi nỗ lực để thu thập, giám sát nó.”
Vào ngày 02 tháng 11 năm 1988, Robert Tappan Morris, ở trường đại học khoa học máy tính Cornell đã tung ra con sâu đầu tiên và được gọi là sâu Morris
Nó đã thâm nhập lây lan trên một số lượng lớn các máy tính sau đó trên Internet, đoán vào thời điểm đó là một phần mười tất cả những kết nối Khi Morris bị kiện ra tòa án, tòa án phúc thẩm chính phủ Hoa Kỳ ước tính chi phí của việc loại bỏ sâu này khoảng 200-53000$ cho mỗi lần cài đặt và làm sạch trên mỗi máy tính Điều này đã thúc đẩy sự hình thành và ra đời của Trung tâm điều phối CERT để phục vụ trong
Trang 24các trường hợp khẩn cấp Morris trở thành người đầu tiên bị kết án theo luật Lạm dụng và gian lận máy tính 1986
Cũng như công nghệ thông tin ngày nay sâu phát triển với tộc độ chóng mặt, cùng với các kỹ thuật tiên tiến và công nghệ hiện đại sâu đã có những bước phát triển vượt bậc Sau đây là một cách nhìn về quá trình phát triển của sâu gồm 4 giai đoạn sau:
- Thế hệ thứ nhất : (năm 1979 đến đầu những năm 1990)
- Thế hệ thứ hai: (đầu những năm 1990 đến 1998
IM – Worm (sâu IM): Những sâu này nhân bản thông qua các chương trình trao đổi thông điệp tại các máy trạm, như các chương trình chat ICQ, MSN Messenger, AOL, Yahoo, Skype, … Thường thì các sâu này dùng danh sách trong chính chương trình của nạn nhân để gửi các thư chứa các liên kết đến các trang web không mong muốn Khi người dùng download hoặc mở file, sâu sẽ được kích hoạt Sâu IM có khả năng “mở cửa sau”, tức là sau khi nhiễm vào máy tính nó sẽ tự động liên lạc đến trung tâm điều khiển từ xa của hacker để nhận lệnh thực hiện các hành động Nó còn tự động tải về thêm nhiều chương trình mã độc khác mà người sử dụng vẫn không hay biết
IRC – Worm (sâu IRC): Sâu này xâm nhập vào máy tính thông qua các chương trình chat trung gian nằm ở các máy trạm Các máy này thường giao tiếp với những người dùng khác thông qua Internet ngay tại thời điểm đó
Trang 25Loại sâu này nhân bản dựa trên môi trường Internet, khi người dùng download hoặc mở file, sâu sẽ được kích hoạt
Net – Worm (sâu mạng): Sâu mạng nhân bản thông qua mạng máy tính, nó không giống với các loại sâu thông thường, nó có khả năng tự lây lan mà không cần lợi dụng thông qua người dùng Nó dò tìm các máy tính trong hệ thống mạng nội bộ và khai thác các chương trình trên các máy tính có nhiều
lỗ hổng Để làm điều này, nó phát tán một gói đặc biệt có chứa mã của chính
nó hay các mã cho mỗi máy tính Nếu phát hiện ra các máy tính không phòng
bị trong mạng, nó sẽ lây lan sang, một khi sâu đã vào máy tính, nó sẽ được kích hoạt
P2P – Worm (sâu trao đổi file): Sâu trao đổi file lây lan trong mạng ngang hàng (peer – to – peer) như Kazaa, Grokster, Edonkey, FastTrack hoặc Gnutella Sâu loại này tự sao chép nó vào trong các thư mục chứa file và theo con đường trao đổi file mà lan ra Nó có cơ chế riêng để dò tìm các yêu cầu trong mạng và cho phép tải bản sao chép nó về Biến tướng của sâu này trở nên phức tạp khi lan ra trong mạng
Các loại sâu khác: Sâu lây qua môi trường mạng khai thác các chức năng của
hệ điều hành, khi nó xâm nhập vào được các thư mục chung của mạng, là thư mục chia sẻ dữ liệu của nhóm người dùng hoặc công ty, sâu này sẽ kết nối đến các máy trạm Không giống như sâu mạng, người dùng khi mở file chứa sâu này vô tình sẽ kích hoạt nó Sâu dùng các phương pháp khác nhân bản và
có nhiều loại khác nhau, như sâu lây lan qua điện thoại
1.2.4 Cách thức làm việc của sâu
Yếu tố ban đầu của Worm là một đoạn mã độc hại có vai trò như một công
cụ xâm nhập các lỗ hổng bảo mật nằm trên máy tính và khai thác chúng Worm sẽ được truyền đi thông qua lỗ hổng này Một khi các đoạn mã độc hại đã được lây nhiễm vào máy, Worm sẽ sử dụng một công cụ được thiết kế để dò tìm, phát hiện
Trang 26các máy tính khác được kết nối vào mạng Từ đó, nó quét các máy tính trên mạng
để xác định vị trí các lỗ hổng, sau đó Worm sẽ sử dụng công cụ xâm nhập để truy cập vào các máy tính này.Worm che dấu chính nó dưới hình thức một tập tin đính kèm trong email Nó lừa người dùng mở file bằng cách làm cho người dùng tin rằng
nó đến từ một nguồn đáng tin cậy Worm sử dụng tài khoản email và sổ địa chỉ để sao chép chính nó, sau đó lan truyền đến người nhận email khác.Worm không chỉ quét các máy tính trên mạng, mà còn có thể quét các máy chủ không có độ bảo mật cao và nhân bản trên mỗi máy chủ đó Worm có thể nhân bản 250 nghìn lần trong khoảng thời gian vài giờ, có thể phá hoại vào những ngày tháng cụ thể, các cuộc tấn công này nhằm mục tiêu vào các sự kiện nhất định.Worm làm chậm hệ thống mạng
vì số lượng lớn lưu lượng truy cập mà nó tạo ra Nó cũng có thể truy cập trái phép vào một trang web để khởi động một cuộc tấn công bằng cách gửi hàng nghìn yêu cầu cho trang web đó, nhằm phá hủy các trang web này Mặc dù email là cách lan truyền phổ biến nhất của Worm nhưng các ứng dụng khác như Microsoft Word, Excel cũng rất dễ lây nhiễm, nó chèn các đoạn mã độc hại vào những ứng dụng này
và sau đó sử dụng chúng như một file đính kèm
1.2.5 Một số loại sâu điển hình
a) Morris – sâu đầu tiên năm 1988
Sâu Morris đôi khi được gọi là “Great Worm” (Sâu khổng lồ), là sâu máy tính đầu tiên được phát tán qua mạng Đây cũng là con sâu đầu tiên thu hút được sự chú ý đáng kể của các phương tiện thông tin đại chúng Tác giả của nó là Robert Tappan Morris, một sinh viên tại Đại học Cornell Sâu Morris được phát tán lên mạng vào ngày 2 tháng 11 năm 1988 từ học viện MIT, nó được phát tán từ MIT để che giấu thực tế là con sâu đã được bắt nguồn từ Cornell
Sâu Morris hoạt động bằng cách lợi dụng một số điểm yếu đã biết trong các chương trình sendmail, Finger, rsh/rexec và các mật khẩu yếu trong Unix Thân chương trình chính của sâu Morris chỉ có thể nhiễm các máy VAX của DEC đang chạy hệ điều hành BSD 4 và Sun 3.Người ta thống kê rằng có khoảng 6.000 máy
Trang 27tính chạy Unix đã bị nhiễm sâu Morris với ước tính thiệt hại vào khoảng từ 10 đến
100 triệu đô la
b) IloveYou năm 2000
ILOVEYOU là worm mang cả tính năng của virus ILOVEYOU nhân bản thông qua mạng và phá hủy các file và tự nhân bản trong hệ thống máy tính khi người dùng thao tác với tập tin Các thiệt hại do các worm lai (hybrid) đặc biệt này trong đó bao gồm các hệ thống e-mail bị tràn ngập (flood) và bị mất tập tin khi thư mục chứa thư chỉ được giới hạn không gian lưu trữ của hệ điều hành Microsoft Windows
Sâu ILOVEYOU thường biểu hiện là tệp tin được đính kèm trong các thông điệp e-mail từ một người nào đó, người nhận sẽ được nhận tệp tin một đính kèm có tên LOVE-LETTER- FOR-YOU.TXT.VBS Hoặc là các tập tin đính kèm là một Basic Script (VBS) Nếu như người nhận không chạy các tập tin đính kèm, hệ thống của họ sẽ không được ảnh hưởng và họ chỉ cần xóa các e-mail và file đính kèm của mình Khi nào mở và cho phép chạy, tuy nhiên, worm ILOVEYOU gửi bản sao của mình bằng cách tự đính kèm qua phần mềm Microsoft Outlook (một chương trình duyệt thư điện tử) và gửi cho tất cả các địa chỉ nhận có trong danh sách Outlook của máy tính bị nhiễm
Nó cố gắng lây nhiễm vào chương trình Internet Relay Chat chương trình (IRC), do đó khi người sử dụng bắt đầu “Chat” trên mạng Internet, sâu này có thể lây lan đến tất cả những người kết nối để các máy chủ trò chuyện IRC Nó tự tìm kiếm các hình ảnh, video, và các tập tin âm nhạc trong máy và cố gắng để ghi đè lên hoặc thay thế chúng với một bản sao của chính nó
Ngoài ra ILOVEYOU còn nỗ lực hơn nữa để cài đặt một chương trình đánh cắp mật khẩu khi mà người nhận mở Internet Explorer 3 và khởi động lại máy tính
Theo một số ước tính, virus ILOVEYOU đã gây ra thiệt hại lên tới con số 10
tỉ USD Tốc độ lây lan của ILOVEYOU được đánh giá là rất cao so với các mã độc cùng thời đó như MELISSA Sau báo cáo đầu tiên về mã độc này vào ngày 4 tháng
5 năm 2000 tại châu Á (Philipin), nó đã nhanh chóng lây lan ra toàn thế giới Trung