CHƯƠNG 1-TỔNG QUAN VỀ MALWARE Các khái niệm và cách phân loại sau đây đều được trích dẫn theo định nghĩa đưa ra bởi Viện Tiêu chuẩn và Công nghệ quốc gia Hoa kỳ - National Institute of Standards and Technology (NIST).1 Khái niệm về Malware Mã độc hại (Malware hay Maliciuos code) là một phần mềm được chèn một cách bí mật vào hệ thống với mục đích làm tổn hại đến tính bí mật, tính toàn vẹn hoặc tính sẵn sàng của hệ thống.2 Phân loại Malware Có nhiều cách phân loại mã độc khác nhau, dựa vào các tiêu chí khác nhau. Tuy nhiên, định nghĩa đưa ra bởi NIST là cách định nghĩa phổ biến nhất trong ngành khoa học máy tính ngày nay [7].1 Virus: Là một loại mã độc hại (Maliciuos code) có khả năng tự nhân bản và lây nhiễm chính nó vào các file, phần mềm hoặc máy tính. Như vậy, có thể suy ra virus máy tính phải luôn luôn bám vào một vật chủ (đó là file dữ liệu hoặc file ứng dụng) để lây lan. Các phần mềm diệt virus dựa vào đặc tính này để thực thi việc phòng chống/diệt virus, để quét các file trên thiết bị lưu hoặc quét các file trước khi lưu xuống ổ cứng,.
Điều này cũng giải thích vì sao đôi khi các phần mềm diệt virus tại PC đưa ra thông báo “phát hiện ra virus nhưng không diệt được” khi thấy có dấu hiệu hoạt động của virus trên PC, bởi vì “vật mang virus” lại nằm ở máy khác nên không thể thực thi việc xoá đoạn mã độc hại đó được.2 Compiled Virus là virus mà mã thực thi của nó đã được dịch hoàn chỉnh bởi một trình biên dịch để nó có thể thực thi trực tiếp từ hệ điều hành. Các loại boot virus (như Michelangelo và Stoned), file virus (như Jerusalem) rất phổ biến trong những năm 80 là virus thuộc nhóm này, compiled virus cũng có thể được pha trộn bởi cả boot virus va file virus trong cùng một phiên bản.3 Interpreted Virus là một tổ hợp của mã nguồn mà chỉ thực thi được dưới sự hỗ trợ của một ứng dụng cụ thể hoặc một dịch vụ cụ thể trong hệ thống. Một cách đơn giản, virus kiểu này chỉ là một tập lệnh, cho đến khi ứng dụng gọi thì nó mới được thực thi. Macro virus, scripting virus là các virus nằm trong dạng này.
Macro virus rất phổ biến trong các ứng dụng Microsoft Office khi tận dụng TIEU LUAN MOI download : skknchat@gmail.com 10 khả năng kiểm soát việc tạo và mở file để thực thi và lây nhiễm. Chúng ta phân biệt giữa macro virus và scripting virus như sau: macro virus là tập lệnh thực thi bởi một ứng dụng cụ thể, còn scripting virus là tập lện chạy bằng một service của hệ điều hành. Melisa là một ví dụ xuất sắc về macro virus, Love Stages là ví dụ cho scripting virus.4 Worm cũng là một phần mềm có khả năng tự nhân bản và tự lây nhiễm trong hệ thống tuy nhiên nó có khả năng “tự đóng gói”, điều đó có nghĩa là worm không cần phải có “file chủ” để chứa nó khi đã nhiễm vào hệ thống. Như vậy, có thể thấy rằng chỉ dùng các phần mềm quét file sẽ không diệt được worm trong hệ thống vì worm không “bám” vào một file hoặc một vùng nào đó trên đĩa cứng.
Mục tiêu của worm bao gồm cả việc làm lãng phí nguồn lực băng thông của mạng cũng như phá hoại hệ thống (xoá file, tạo backdoor, thả keylogger,. Worm có đặc trưng là khả năng tấn công lan rộng cực kỳ nhanh chóng do không cần tác động của con người (như khởi động máy, sao chép file hay đóng/mở file). Nhìn chung, Worm có thể chia làm 2 loại: - Network Service Worm: Lan truyền bằng cách lợi dụng các lỗ hổng bảo mật của mạng, của hệ điều hành hoặc của ứng dụng. Sasser là ví dụ cho loại sâu này.
- Mass Mailing Worm: Là một dạng tấn công qua dịch vụ mail, tuy nhiên nó tự đóng gói để tấn công và lây nhiễm chứ không bám vào vật chủ là email. Khi sâu này lây nhiễm vào hệ thống, nó thường cố gắng tìm kiếm sổ đị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 toàn bộ các địa chỉ thường gây quá tải cho mạng hoặc cho máy chủ mail. Netsky, Mydoom là ví dụ cho thể loại này.5 Trojan Horse: Là loại mã độc hại được đặt theo sự tích “Ngựa thành Troa”.
Trojan horse không tự nhân bản. Nó lây vào hệ thống với biểu hiện ban đầu rất ôn hoà nhưng thực chất bên trong có ẩn chữa các đoạn mã với mục đích gây hại. Trojan có thể lựa chọn một trong 3 phương thức để gây hại như sau: - Tiếp tục thực thi các chức năng của phần mềm mà nó bám vào, bên cạnh đó thực thi các hoạt động gây hại một cách riêng biệt (ví dụ như gửi một trò chơi dụ cho người dùng sử dụng, bên cạnh đó là một phần mềm đánh cắp password). - Tiếp tục thực thi các chức năng của phần mềm mà nó bám vào, nhưng sửa đổi một số chức năng để gây tổn hại (ví dụ như một trojan giả lập một cửa sổ login để lấy password) hoặc che giấu các hành động phá hoại TIEU LUAN MOI download : skknchat@gmail.
- Thực thi luôn một phần mềm gây hại bằng cách núp dưới danh một phần mềm không có hại (ví dụ như một trojan được giới thiệu như là một trò chơi hoặc một tool trên mạng, người dùng chỉ cần kích hoạt file này là lập tức dữ liệu trên PC sẽ bị xoá hết).6 Malicious Mobile Code: Là một dạng mã phần mềm có thể được gửi từ xa vào một hệ thống mà không cần đến lời gọi thực hiện của người dùng hệ thống đó. Malicious Mobile Code được coi là khác với virus, worm do đặc điểm không nhiễm vào file và không tìm cách tự phát tán. Thay vì khai thác một điểm yếu bảo mật xác định nào đó, kiểu tấn công này thường tác động đến hệ thống bằng cách tận dụng các quyền ưu tiên ngầm định để chạy mã từ xa. Các công cụ lập trình như Java, ActiveX, JavaScript, VBScript là môi trường tốt cho Malicious mobile code.
Một trong những ví dụ nổi tiếng của kiểu tấn công này là Nimda, sử dụng JavaScript. Kiểu tấn công của Nimda thường được biết đến như một tấn công hỗn hợp (Blended Atatck). Cuộc tấn công bắt đầu khi người dùng mở một email độc bằng web-browser. Sau khi nhiễm vào máy, Nimda sẽ cố gắng sử dụng sổ địa chỉ email của máy đó để phát tán tới các máy khác.
Mặt khác, từ máy đã bị nhiễm, Nimda cố gắng quét các máy khác trong mạng có thư mục chia sẻ mà không bảo mật, Nimda sẽ dùng dịch vụ NetBIOS như phương tiện để chuyển file nhiễm virus tới các máy đó. Đồng thời Nimda cố gắng dò quét để phát hiện ra các máy tính có cài dịch vụ IIS có điểm yếu bảo mật của Microsoft. Khi tìm thấy, nó sẽ copy bản thân nó vào server. Nếu một web client có điểm yếu bảo mật tương ứng kết nối vào trang web này, client đó cũng bị nhiễm (lưu ý rằng bị nhiễm mà không cần “mở email bị nhiễm virus”).
Quá trình nhiễm virus sẽ lan tràn theo cấp số nhân.7 Tracking Cookie: Là một dạng lạm dụng cookie để theo dõi hành động duyệt web của người sử dụng một cách bất hợp pháp. Cookie là một file dữ liệu chứa thông tin về việc sử dụng một trang web cụ thể nào đó của web-client. Mục tiêu của việc duy trì các cookie trong hệ thống máy tính nhằm căn cứ vào đó để tạo ra giao diện, hành vi của trang web sao cho thích hợp và tương ứng với từng web-client. Tuy nhiên tính năng này lại bị lạm dụng để tạo thành các phần mềm gián điệp (spyware) nhằm thu thập thông tin riêng tư về hành vi duyệt web của cá nhân.
TIEU LUAN MOI download : skknchat@gmail.8 Attacker Tool: Là những bộ công cụ tấn công có khả năng đẩy các phần mềm độc hại vào trong hệ thống. Các bộ công cụ này giúp kẻ tấn công truy nhập bất hợp pháp vào hệ thống hoặc làm cho hệ thống bị lây nhiễm mã độc hại. Khi được tải vào trong hệ thống bằng các đoạn mã độc hại, attacker tool có thể chính là một phần của đoạn mã độc đó (ví dụ như trong một trojan) hoặc nó sẽ được tải vào hệ thống sau khi nhiễm. Attacker tool thường gặp là backdoor và keylogger Backdoor là một thuật ngữ chung 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 hoặc 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 hiện mã lệnh,. Backdoor cũng có thể được xem xét dưới 2 dạng: Zoombie và Remote Administration Tool. - Zoombie (có thể đôi lúc gọi là bot): là một phần mềm được 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à dùng các agent để 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. Trinoo và Tribe Flood Network là hai Zoombie nổi tiếng. - 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. Tuy nhiên hacker cũng có thể lợi dụng tính năng này để xâm hại hệ thống.
Tấn công kiểu này có thể bao gồm hành động 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 của hệ thống. Ví dụ về công cụ RAT là: Back Orifice, SubSeven,. Keylogger là phần mềm được dùng để bí mật ghi lại các phím đã được nhấn bằng bàn phím rồi gửi tới hacker. Keylogger có thể ghi lại nội dung của email, của văn bản, user name, password, thông tin bí mật.Một số ví dụ về keylogger: KeySnatch, Spyster, .9 Rootkits là tập hợp của các file được cài đặt lên hệ thống nhằm biến đổi các chức năng chuẩn của hệ thống thành các chức năng tiềm ẩn sự tấn công nguy hiểm.
Ví dụ như trong hệ thống Windows, rootkit có thể sửa đổi, thay thế file, hoặc thường trú trong bộ nhớ rồi 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ư cài backdoor, cài keylogger. Ví dụ về rootkit là: LRK5, Knark, Adore, Hack Defender. TIEU LUAN MOI download : skknchat@gmail.10 Web Browser Plug-in: là phương thức cài mã độc hại thực thi cùng với trình duyệt web.
Khi được cài đặt, kiểu mã độc hại này sẽ theo dõi tất cả các hành vi duyệt web của người dùng (ví dụ như tên web site đã truy nhập) sau đó gửi thông tin ra ngoài.