CHƯƠNG 4. PHƯƠNG PHÁP PHÁT HIỆN MÁY TÍNH BỊ NHIỄM MÃ ĐỘC DGA…
4.3 Kiến trúc hệ thống BotFighter
Kiến trúc hệ thống của BotFighter được mô tả trong Hình 4.2. BotFighter bao gồm năm mô-đun chính: mô-dun thu thập và tiền xử lý lưu lượng DNS (DNS Traffic Acquisition & Preprocessing), bộ phân loại tên miền (DGA Classifier), mô- đun mô hình hoá hành vi truy vấn DNS của bot (Bot Behavior Modeling), mô-đun phân tích, xử lý và tính toán xác suất thiết bị an toàn (Theoretical analysis) và mô- đun gán nhãn và cảnh bảo thiết bị bị nhiễm mã độc DGA (DGA-based Bot Labeling).
Đầu tiên, mô-đun thu thập và tiền xử lý lưu lượng DNS sẽ thu thập các phản hồi DNS cùng với tên miền được yêu cầu. Tùy thuộc vào quy mô và phương thức triển khai, BotFighter có thể sử dụng các giải pháp khác nhau để thu thập DNS. Đối với mạng quy mô lớn, như mạng của tổ chức và doanh nghiệp, việc sử dụng NIDS như Suricata để thu thập và xử lý các truy vấn DNS là một giải pháp hiệu quả. Thay vì thu thập DNS trên từng thiết bị đầu cuối, giải pháp này cho phép thu thập DNS của toàn bộ mạng và phân biệt thông qua địa chỉ IP của từng thiết bị. Trong khi đó, nếu triển khai BotFighter trên các thiết bị đầu cuối, mô-đun thu thập và tiền xử lý lưu lượng DNS sẽ sử dụng các thư viện pcap như libpcap và Npcap để bắt gói tin DNS, đảm bảo tính "lightweight" cho BotFighter, giúp nó hoạt động hiệu quả trên các thiết bị này. Các phản hồi DNS có thể bao gồm NOERROR, NXDOMAIN, SERVFAIL và REFUSED [64]. BotFighter có thể điều tra hành vi bot dựa trên số lượng NXDOMAIN mỗi giờ để tính toán xác suất chuyển đổi p như được thể hiện trong công thức (4.9). Cần lưu ý rằng NXDOMAIN có thể xảy ra vì lý do độc hại
hoặc vô hại [65]. Những nguyên nhân vô hại bắt nguồn từ các cấu hình sai và lỗi gõ bàn phím
abcdwxyz.com DNS Traffic Acquisition & Preprocessing NXDOMAIN Filtering
[97, 98, 99, 100, 119, …] Domain name NXDOMAIN
Embedding Layer DGA ClassifierBot Behavior Modeling Transition ProbabilityComputation
[0.7438, 0.5677, 0.4983, 0.2506, …] P(st = Safe|Dt)
P(st = Infected|Dt) p
Theoretical analysis
LSTM Layer P(st = Safe|Dt) & P(st = Infected|Dt)
Fully-connected Layer DGA-based Bot Labeling
khi truy cập tên miền. Để giảm ảnh hưởng của NXDOMAIN do cấu hình sai, mô- đun mô hình hành vi bot lọc chúng bằng một danh sách trắng (whitelist) của các tên miền phổ biến trước khi tính toán xác suất chuyển đổi. Trong thực tế, danh sách trắng này có thể được xây dựng bởi các quản trị hệ thống.
Hình 4.2. Kiến trúc hệ thống BotFighter
Song song với mô hình hoá hành vi truy vấn DNS của bot, bộ phân loại tên miền DGA xem xét các tên miền được truy vấn để tính các xác suất hậu nghiệm, 𝑃(𝑠' = 𝑆𝑎𝑓𝑒|𝑑') và 𝑃(𝑠' = 𝐼𝑛𝑓𝑒𝑐𝑟𝑒𝑑|𝑑'). Sự xấp xỉ được thực hiện bằng cách sử dụng mạng LSTM [27]. Trong ngữ cảnh của việc nhận diện bot DGA, lớp LSTM trích xuất các đặc điểm tốt cần thiết cho phân loại từ các tên miền. Lớp kết nối đầy đủ kết nối mọi nơ-ron từ các lớp trước đó với mọi nơ-ron trong các lớp tiếp theo.
Mục tiêu là xác định xem tên miền 𝑑 có phải là do thuật toán sinh ra hay không.
Nghiên cứu sinh sử dụng LSTM.MI đề xuất trong Chương 3 để phân loại tên miền.
Cuối cùng, trong mô-đun phân tích, xử lý, BotFighter tính toán 𝑃(𝑠' = 𝑆𝑎𝑓𝑒|𝐷') bằng cách sử dụng 𝑃(𝑠' = 𝑆𝑎𝑓𝑒|𝑑) và các quan sát trước đó được trọng số bởi xác suất chuyển đổi 𝑝 (xem công thức (4.10)-(4.13)). Trong việc quyết định là thiết bị đã bị nhiễm mã độc được đưa ra nếu 𝑃(𝑠' = 𝑆𝑎𝑓𝑒|𝐷') nhỏ hơn một ngưỡng được xác định trước là 𝜏. Giá trị của τ được tính thông qua kiểm định chéo và được đặt bằng 0.001 trong nghiên cứu này. Ưu điểm của phương pháp đề xuất là khối lượng tính toán nhỏ, không đòi hỏi nhiều bộ nhớ lưu trữ và phù hợp để cài đặt,
triển khai và hoạt động trên nhiều dạng máy tính hoặc máy chủ dịch vụ theo thời gian thực.