Thiết kế các thành phần chính của Botnet Tracking Framework

Một phần của tài liệu Nghiên cứu và phát triển hệ thống Botnet Tracking theo dõi và giám sát các mạng Botnet (Trang 48)

3. Xây dựng Botnet Tracking Framework

3.2.Thiết kế các thành phần chính của Botnet Tracking Framework

Hình 22: Kiến trúc Botnet Tracking Framework

Trong đó:

 Core Layer: là thành phần chính, quan trọng nhất là nền tảng phát triển hai thành phần còn lại: Bot Layer và Tracker Layer.

 Bot Layer: là thành phần thực hiện mô phỏng các dòng Botnet hiện nay (theo dạng các Bot Milkers mở rộng).

 Tracker Layer: được xây dựng dựa trên hai thành phần còn lại, chứa các thành phần thu thập thông tin về các mạng Botnet

Core Layer hiện tại gồm 8 thành phần chính như hình trên, tương ứng là các Class được thiết kế đặc biệt đáp ứng theo các thay đổi hết sức đa dạng của Botnet hiện nay:

 Giả lập Web Client: hỗ trợ mô phỏng các Botnet sử dụng giao thức HTTP để giao tiếp. Được thiết kế tương tự như một chương trình thực hiện tải về các tài nguyên trên Internet, sử dụng giao thức HTTP (GET/POST), thành phần Web Client được hỗ trợ tùy biến rất nhiều trường thông tin trong HTTP Header[10][11] để phù hợp với các giao tiếp đặc biệt của Botnet như: tùy

biến User-Agent30, Reference31, Cache-Control 32…

 Giả lập IRC Client: hỗ trợ mô phỏng các Botnet sử dụng giao thức IRC để giao tiếp. Trên cơ sở mô phỏng lại các kết nối và tập lệnh cơ bản của giao thức IRC[12], IRC Client được thiết kế hỗ trợ tự động trả lời một số các thông điệp đặc biệt như thông điệp kiểm tra PING, thông điệp yêu cầu đăng ký và các phương thức gửi câu lệnh tùy biến để đáp ứng các giao thức IRC được tùy biến của Botnet hiện nay.

 Cryptography - Bộ các phương pháp mã hóa (hàm băm, mã hóa, giải mã hóa …): để mã hóa các thông điệp gửi lên và giải mã các trả lời từ server theo các theo ngữ pháp được mạng Botnet sử dụng.

 InfoProvider – “Hệ” thông tin “mô phỏng” - được Framework cung cấp để hỗ trợ mô phỏng các thông tin được các Bot khai thác trong quá trình một cách an toàn, phù hợp mà vẫn đáp ứng được các thông tin C&C Server yêu cầu.

 Downloader: hỗ trợ tải file thu thập các file cấu hình liên lạc, template spam, cấu hình tấn công DDoS, v…v… là những thông tin có thể hỗ trợ các hệ thống khác trong việc giảm nhẹ các thiệt hại do Botnet gây ra.

 Storager: Các File dữ liệu tải về cần được lưu trữ để có thể tiện cho quá trình xử lý sau này. Để đáp ứng công việc này Storager hỗ trợ các thao tác upload file lên một FTP server của hệ thống cùng với Reporter và Logger để tổ chức các dữ liệu tải về trong quá trình theo dõi Botnet.

 Reporter: các giao tiếp câu lệnh giữa các Bot và Server sẽ được tiến hành lọc và xử lý để trích xuất ra những thông tin cần quan tâm. Sau đó, các thông tin này sẽ được các Tracker gửi lên các Bot Manager để tiến hành lưu trữ và tổ chức cơ sở dữ liệu.

 Logger: là thành phần hỗ trợ thao tác ghi lại kết quả các bước thực thi của một Tracker, một Bot giả lập để hỗ trợ cho các phân tích các hoạt động của các mạng Botnet mà hệ thống đang tiến hành theo dõi.

Với các mô tả như trên, thiết kế chi tiết các thành phần như sau:

30 User-Agent: là định danh xác định của ứng dụng sử dụng yêu cầu (HTTP) này. Thành phần này thường được các Bot sử dụng như mật khẩu để mở các “tài nguyên” trong mạng Botnet.

31 Reference: là trường xác định vị trí (URL) yêu cầu này được gửi đi. Trường này thường bị các hacker khai thác để phát hiện các “xâm nhập” bất hợp pháp.

32 Cache-Control: là cấu hình quản lý việc lưu trữ tài nguyên trong bộ đệm để tối ưu tốc độ duyệt tài nguyên. Để luôn thu được những cấu hình mới nhất từ C&C Server, trường này cũng được các hackers chỉnh sửa (thường là no-cache) cho phù hợp.

Hình 23: Thiết kế class của các thành phần Core Layer

(được thực hiện trên Visual C++/MFC 2008)

Bot Layer là các “mô tả” các hành vi của các dòng Botnet qua Framework. Thành phần này thường sử dụng các thành phần Web Client, IRC Client, Cryptography, InfoProvider (SysInfo) ở Core Layer để tiến hành mô phỏng:

Sau đây là “Mô tả” SpyEye Botnet:

Giao thức giao tiếp: HTTP  sử dụng CWebClient để mô tả. Hình thức mã hóa: không  không cần sử dụng Ccryptography

Thông tin hệ thống: thông tin tài khoản, thông tin CPU, thông tin trình duyệt FireFox, thông tin trình duyệt Internet Explorer …  sử dụng CSysInfo để mô tả.

Hình 24: Mô tả các hành vi của Bot Spyeye cần xây dựng

Cuối cùng, Tracker Layer thực hiện đóng gói các thành phần Bot trên, thêm các module hỗ trợ Tracking (CReporter, CLogger, CBotStorager) để thực hiện theo dõi các mạng Botnet.

Một phần của tài liệu Nghiên cứu và phát triển hệ thống Botnet Tracking theo dõi và giám sát các mạng Botnet (Trang 48)