CHƯƠNG 1: TỔNG QUAN VỀ BOTNET VÀ PHÁT HIỆN BOTNET 1. TỔNG QUAN VỀ BOTNET 1. Khái quát về botnet và phương thức hoạt động 1. Giới thiệu về bot, botnet Bot là một loại phần mềm độc hại cho phép kẻ tấn công giành quyền kiểm soát máy tính, hoặc thiết bị tính toán bị lây nhiễm.
Máy tính bị nhiễm bot thường được gọi là zombie hay là máy tính ma. Trên thực tế có hàng ngàn, hàng trăm ngàn máy tính và thiết bị tính toán có kết nối Internet bị nhiễm một số loại bot mà người dùng không biết và không nhận ra chúng. Kẻ tấn công có thể truy cập các zombie và kích hoạt chúng thực thi các cuộc tấn công từ chối dịch vụ, hoặc gửi hàng loạt thư rác. Khi thực hiện truy vết ngược lại nguồn khởi phát các cuộc tấn công, người ta thường tìm thấy các zombie - cũng là nạn nhân chứ không phải là kẻ tấn công thực sự.
Các bot do một hoặc một nhóm kẻ tấn công thông qua một hoặc một số máy tính (gọi là botmaster) kiểm soát và chúng được liên kết tạo thành một mạng lưới các máy bị kiểm soát được gọi là botnet. Botmaster thường điều khiển các bot trong botnet do mình kiểm soát thông qua hệ thống các máy chủ chỉ huy và kiểm soát (Command and Control, hoặc C&C, hoặc CnC), như minh họa trên Hình 1. Kênh giao tiếp giữa các bot và các máy chủ CnC trong một botnet có thể là IRC, HTTP hoặc giao thức truyền thông khác.1: Mô hình botmaster kiểm soát các bot thông qua các máy chủ CnC LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 11 Botnet là mối đe dọa an ninh hàng đầu đối với mạng Internet toàn cầu, một phần là do các bot có thể lây nhiễm vào mọi hệ thống có kết nối Internet ở bất cứ nơi nào. Hơn nữa, so với các dạng phần mềm độc hại khác, các bot có phần vượt trội vì chúng có khả năng tương tác, phối hợp hành động với các bot khác trong botnet.
Ngoài ra, sự phát triển của Internet và sự gia tăng của băng thông, đường truyền mạng đã làm tăng thêm đáng kể sức mạnh của các botnet. Mỗi botnet có thể có hàng ngàn, hàng chục ngàn, thậm chí hàng trăm ngàn thành viên là các máy tính, hoặc các thiết bị tính toán bị lây nhiễm bot. Botnet rất khó bị phát hiện bởi chúng có khả năng thích ứng nhanh để lẩn tránh các hệ thống an ninh phổ biến hiện nay. Botnet đã trở thành một mối đe dọa thường trực trên mạng Internet do chúng thường trực tiếp hoặc gián tiếp liên quan đến các hành vi độc hại khác nhau bao gồm: gửi thư rác, tấn công từ chối dịch vụ phân tán và tham gia thực thi nhiều hành vi nguy hiểm và độc hại khác, như lan truyền, lây nhiễm các phần mềm gián điệp và mã độc đến hàng triệu máy tính, thực hiện đánh cắp dữ liệu nhận dạng và tham gia vào các hành vi gian lận, hăm dọa và tống tiền khác [66].
Nghiên cứu về botnet và phát hiện, ngăn chặn botnet thu hút được sự quan tâm lớn của cộng đồng mạng bởi sự nguy hiểm của botnet và sự cấp thiết tìm ra các phương pháp hiệu quả cho phát hiện và ngăn chặn botnet. Phương thức hoạt động, vòng đời Hình 1.2 biểu diễn vòng đời của một mạng botnet [59] [62] [105]. Theo đó, các bước trong vòng đời botnet bao gồm Khởi tạo, Đăng ký, Lây nhiễm sơ bộ, Xây dựng mạng bot, Tập hợp, Khởi động tấn công, và Nâng cấp và Bảo trì. “Khởi tạo” là bước cơ bản trong vòng đời của botnet, ở đó botmaster thiết lập các thông số của các bot để bắt đầu truyền thông.
Sau giai đoạn đầu, botmaster thực hiện “Đăng ký” tên miền và địa chỉ IP tĩnh cho các máy chủ CnC với hệ thống tên miền động (DDNS). Ở giai đoạn “Lây nhiễm sơ bộ”, thủ thuật lây nhiễm mã bot thường được tiến hành dưới nhiều hình thức khác nhau, như thông qua việc tải nội dung không mong muốn và chạy các tệp đính kèm độc hại từ thư điện tử, hoặc thông qua ổ đĩa di động bị nhiễm mã độc [3] [59] [74] [105]. Trong bước “Xây dựng mạng bot”, các bot tiếp tục quá trình lây nhiễm và cài đặt mã độc sang các hệ thống mới. Máy bị nhiễm bot tìm kiếm LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 12 các nạn nhân mới và thực hiện cài đặt mã độc tải từ các máy chủ CnC.
Sau khi được tải và cài đặt vào hệ thống, máy bị nhiễm mã độc hoạt động như một bot thực thụ. Quá trình tải mã độc về hệ thống thường được thực hiện thông qua các giao thức HTTP, FTP, hay P2P.2: Vòng đời của botnet Trong bước “Tập hợp” tiếp theo, các kết nối được thiết lập giữa các bot và máy chủ CnC của chúng. Một số nhà nghiên cứu đặt tên cho bước này là "giai đoạn kết nối" [59]. Trong thực tế, bước này luôn xảy ra bất cứ khi nào các bot khởi động lại và duy trì trạng thái kết nối với máy chủ CnC để có thể nhận được các lệnh thực thi các hành động từ botmaster.
Do đó, giai đoạn tập hợp là một quá trình có tính chu kỳ trong toàn bộ vòng đời của botnet [48]. Sau khi thiết lập thành công kết nối đến máy chủ CnC, trong giai đoạn “Khởi động tấn công”, các bot nhận lệnh từ máy chủ CnC và bắt đầu thực hiện các hoạt động độc hại. Mục đích cuối cùng của các mạng botnet là thực hiện các hoạt động độc hại, bao gồm tấn công DDoS, phân tích lưu lượng mạng, trộm cắp tài nguyên máy tính hoặc mạng, lây lan các loại mã độc khác, tìm kiếm lỗ hổng trong hệ thống máy tính, đánh cắp dữ liệu danh tính, khai thác các tài LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 13 liệu cá nhân và thao túng các trò chơi trực tuyến [27] [71] [105]. Giai đoạn cuối cùng của vòng đời botnet là “Nâng cấp và bảo trì”.
Bảo trì là một việc cần thiết để giữ mối liên hệ giữa botmaster với các bot cho các cuộc tấn công tiếp theo. Hơn nữa, có nhiều lý do cho việc cập nhật mã nhị phân cho các bot, như lẩn tránh các kỹ thuật rà quét, phát hiện và bổ sung thêm các tính năng mới cho các bot [3] [59] [105]. Đây được xem là bước botnet dễ bị tổn thương do nó có thể bị phát hiện trong giai đoạn này bằng cách quan sát, phân tích các hành vi mạng. Phân loại botnet Các loại botnet có thể được phân loại theo 2 tiêu chí: (i) theo kiến trúc mạng và (ii) theo giao thức truyền thông.
Botnet có thể được tổ chức theo nhiều mô hình mạng, chủ yếu theo mô hình tổ chức hệ thống các máy chủ CnC là trung gian giữa botmaster và các bot. Các giao thức truyền thông là các giao thức hỗ trợ giao tiếp giữa các máy chủ CnC và các bot trong botnet. Phân loại botnet theo kiến trúc mạng Sức mạnh của các botnet nằm ở khả năng hình thành và điều khiển một mạng lưới linh hoạt các máy bị điều khiển có kết nối Internet. Do đó, các cách tiếp cận khác nhau được sử dụng để giải quyết các vấn đề truyền thông giữa các thực thể trong mạng botnet.3 biểu diễn các kiến trúc mạng botnet [99] [21] [47] [48] [62], bao gồm kiến trúc tập trung, kiến trúc ngang hàng và kiến trúc lai.3: Phân loại botnet theo kiến trúc mạng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 14 Kiến trúc tập trung: Botnet với kiến trúc hệ thống CnC tập trung tương tự như mô hình khách- chủ (client-server) truyền thống, như biểu diễn trên Hình 1.
Giao thức IRC là một giao thức điển hình được sử dụng trong kiến trúc CnC hệ thống tập trung [62], trong đó các bot thiết lập kênh truyền thông với một hoặc nhiều điểm kết nối. Các máy chủ CnC được triển khai trên các điểm kết nối có trách nhiệm gửi các lệnh và mã cập nhật đến các bot. IRC và HTTP thường được sử dụng là các giao thức chính trong kiến trúc tập trung.4: Kiến trúc CnC tập trung Các ưu điểm của kiến trúc tập trung bao gồm: (i) triển khai dễ dàng, không đòi hỏi các phần cứng chuyên dụng; (ii) phản ứng nhanh do các máy chủ CnC trực tiếp điều phối các bot trong mạng mà không bị can thiệp bởi bên thứ ba; (iii) khả năng tiếp cận tốt do có sự phối hợp trực tiếp giữa botmaster và các bot; (iv) cập nhật kịp thời thông tin từ botmaster; và (v) khả năng mở rộng tốt. Hạn chế của kiến trúc tập trung là máy chủ CnC được xem như là điểm yếu duy nhất trong hệ thống botnet [99] [62] và dễ dàng bị vô hiệu hóa.
Kiến trúc ngang hàng: Với kiến trúc ngang hàng hoặc phi tập trung, các botnet có tính linh hoạt cao hơn [47], hỗ trợ một số lượng lớn các bot và đạt được hiệu quả tối đa, như biểu diễn trên Hình 1. Nhìn chung, khó đối phó với các botnet phi tập trung vì những lý do sau: (i) Việc vô hiệu hóa botnet phụ thuộc vào việc phát hiện từng nhóm bot hoạt động như botnet đơn lẻ, do đó rất khó để thống kê được tổng số LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 15 lượng bot trong botnet sử dụng kiến trúc ngang hàng để cuối cùng có thể vô hiệu hóa toàn bộ botnet; (ii) Botnet theo kiến trúc ngang hàng không có một mạng lưới máy chủ CnC tập trung do đó rất khó để chuẩn đoán phạm vi bị ảnh hưởng bởi botnet; và (iii) Rất khó để tạm dừng một botnet vì sự liên kết lỏng lẻo giữa các bot. Ưu điểm của kiến trúc ngang hàng là khó bị vô hiệu hóa do botnet có thể duy trì hoạt động mà không cần sử dụng các máy chủ CnC tập trung. Tuy nhiên, các mạng botnet ngang hàng chậm hội tụ và phản ứng, khó quản lý và khả năng mở rộng kém.5: Kiến trúc botnet ngang hàng Kiến trúc lai: Kiến trúc lai kế thừa các thuộc tính của kiến trúc tập trung và kiến trúc ngang hàng, như mô tả trên Hình 1.
Trong botnet với kiến trúc lai, có 2 loại bot hoạt động [99]: bot phục vụ (servant bot) và bot khách (client bot). Bot phục vụ hoạt động đồng thời như một máy khách và một máy chủ, được cấu hình với các địa chỉ IP định tuyến (IP tĩnh); Ngược lại, bot khách chỉ hoạt động như một máy khách và được cấu hình với các địa chỉ IP không định tuyến (IP động). Bot phục vụ gửi thông tin địa chỉ IP của mình đến danh sách bot và ở chế độ lắng nghe chờ các kết nối đến từ các bot khách.