Chương 1: Mở dau. — Tổng hợp các lý do chọn đề tài, đưa ra mục tiêu, phạm vi và đối tượng nghiên cứu, kèm theo mô tả ngắn gọn về phương pháp thực hiện. Chương 2: Tổng quan. — Thông tin tong quan về botnet, bao gồm khái niệm và cách thức hoạt động của chúng.
— Thông tin tổng quan về DGA botnet, giới thiệu một số thuật toán tạo tên miền, các dạng DGA botnet. — Giới thiệu về hệ thống DNS và mô tả cách mà DGA botnet sử dung dé tan công thông qua hệ thống DNS. Chương 3: Đề xuất mô hình và triển khai. — Giới thiệu khái niệm liên quan đến phân tích và phát hiện DGA botnet trong các mô hình đề xuất như học máy, phân loại nhị phân, hồi quy logistic và các độ đo đánh giá.
— Giới thiệu về các mô hình được huấn luyện: mô hình phân loại Bi-gram, mô hình phân loại LSTM và mô hình phân loại kết hợp. Tiếp theo, chúng tôi mô tả chỉ tiết huấn luyện và đánh giá. — Phần cuối của chương này, chúng tôi ứng dụng mô hình đề xuất vào hệ thống phát hiện tên miền DGA-DetectionSystem. Chương 4: Thực nghiệm và đánh giá kết quả.
— Mô tả chỉ tiết các thực nghiệm đối với mô hình đề xuất. Chúng tôi tập trung thực nghiệm đánh giá độ chính xác của mô hình đề xuất. — Trình bày thực nghiệm đối với hệ thong phan loai tén mién DGA- DetectionSystem. Trong phan này, chúng tôi làm hai thưc nghiệm với mục đích trải nghiệm tương tác với hệ thống với vai trò người dùng và đánh giá hoạt động của hệ thống trong trường hợp giả thuyết đặt ra là vô số các yêu cầu được gửi trong khoảng thời gian ngắn.
Chương 5: Kết luận và hướng phát triển. — Nêu lên các giá trị mà dự án mang lại, ưu diém và nhược điêm. — Kiến nghị bước đi tiếp theo của dự án. Sơ lược về bot, botnet 2.
Khái niệm về bot, botnet Trên thực tế, nhiều thiết bị sử dụng Internet bị lây nhiễm một số loại phần mềm độc hại được cài đặt lén lút, một trong số chúng là bot. Các bot cho phép kẻ tan công truy cập và điều khiến thiết bị của người dùng mà không có sự cho phép, nhăm thực hiện mục đích xấu nào đó. Thuật ngữ "zombie" hoặc “máy tính ma" được dùng cho các thiết bị đã bị lây nhiễm bot. Kẻ tan công thông qua các bot dé truy cập và lợi dung các máy tính bị nhiễm bot để tiến hành các hành vi phá hoại hoặc các hoạt động mà bọn chúng mong muốn, như sử dụng các kỹ thuật tan công từ chối dịch vụ nhằm phá hoại khả năng hoạt động của hệ thống, thực hiện chiếm giữ hệ thống, hoặc gửi thư rác hàng loạt cho một đối tượng mục tiêu nào đó.
Đề nâng cao khả năng tấn công, các bot thường không hoạt động riêng rẻ, mà chúng thường được tô chức thành một nhóm lớn với nhiều thiết bị bị lây nhiễm, được gọi là botnet (hay bots network). Mạng lưới này có thé do một hoặc nhóm đối tượng điều khiển. Đề vận hành botnet, các đối tượng tấn công dùng một hoặc nhiều máy tính để kiêm soát, gọi là botmaster. Botmaster liên kết với máy chủ lệnh và điều khiển (CnC hay C&C) đề ra lệnh chỉ huy cho các bot trong mạng lưới botnet mà nó đang kiểm soát [15].
May chu Cnc BEEBE BEG Cac bot Hình 2.1: Mô hình các bot trong một botnet được kiểm soát bởi botmaster 2. Phương thức hoạt động của bot, botnet Đăng ký Lây nhiễm sơ bộ (bắt đầu lây nhiễm (DDNS va IP tinh) may nạn nhân trực tiêp hoặc giản tiép) | Xây dựng mạng bot ¬ | Tap hợp (giữa các bot va CnC) Nang cap và bao tri Hình 2.2: Cac giai đoạn hoạt động cua botnet Vòng đời hoạt động của botnet bao gồm 7 giai đoạn như sau [12][13]: 1. Khởi tạo: thiết lập thông số ban đầu cho các bot. Đăng ký: botmaster tiễn hành thiết lập tên miền và địa chỉ IP cho các máy chủ chỉ huy và kiểm soát (CnC) trên DDNS (hệ thống tên miền động).
Lay nhiễm sơ bộ: ở giai đoạn này, các mã bot sẽ được phát tán ra thông qua các thủ thuật khác nhau như: đính kèm vào thưu điện tử, chèn vào các tệp cho người dùng tải về hoặc thông qua 6 đĩa di động. Xây dung botnet: ở giai đoạn này, quá trình lây nhiễm bot được day mạnh, các máy tính ma tiễn hành tìm kiểm các mục tiêu lây nhiễm mới. Tập hợp: hay còn gọi là giai đoạn kết nối, đây là quá trình các bot tự động kết nối tới máy chủ CnC. Khởi động tan công: trong giai đoạn này, các lệnh bắt đầu được gửi xuống thông qua máy chủ CnC đến các bot.
Từ đây, các bot bắt đầu các hoạt động theo sự chỉ huy của botmaster. Nâng cấp và bảo trì: trong giai đoạn nay, botnet tiễn hành bảo trì dé giữ các kết nôi giữa botmaster và các bot trong mạng lưới, nhằm chuẩn bị cho các phiên hoạt động tiếp theo. Đồng thời, chúng còn tiến hành trang bị thêm các tính năng mới, nâng cấp khả năng lần tránh dé giúp các bot có thể vượt qua các kỹ thuật phát hiện. Phân loại các botnet Các loại botnet hiện có tương đối đa dạng, có hai tiêu chí được áp dụng dé phân loại botnet.
Một là, kiến trúc mang; hai là, giao thức truyền thông [12]. Phân loại theo kiến trúc mạng 10 Giao thức (IRC, HTTP) Phần mềm ứng dụng (KAZAA, Emule) Bot phục vụ Bot khách Hình 2.3: Phân loại botnet dựa trên kiến trúc mạng của chúng Dựa theo cách này, botnet được phân thành ba loại kiến trúc, bao gồm tập trung, ngang hàng và lai (kết hợp cả hai loại trên). — Tập trung: loại này có sự tương đồng với kiến trúc máy khách — máy chủ truyền thong. Hệ thống CnC thiết kế tập trung thông qua giao thức IRC, HTTP.
— Ngang hang (hay phi tập trung): trong kiến trúc này, các bot được kết nối trược tiếp với nhau. Điều này làm giúp dễ dàng mở rộng với số lượng lớn các bot. Đặc biệt, chúng khó chuẩn đoán và vô hiệu do đa số không kết nối trực tiếp với CnC. — Lai: đây là kiến trúc kết hợp giữa kiến trúc tập trung và ngang hàng.
Trong đó, các bot được chia thành hai nhóm hoạt động: bot dich vụ thực hiện vai trò là máy chủ trong kiến trúc máy khách — máy chủ, với các địa chỉ IP tĩnh, giữa các bot liên kết trực tiếp với nhau; các bot khách đóng vai trò như một máy khách, với địa chỉ IP động. Phân loại theo giao thức truyền thông Ngoài cách phân loại trên, botnet còn có thê được chia theo các giao thức mà chúng dùng trong truyền thông. Các giao thức phô biến có thê ké đến như IRC, DNS, HTTP và P2P. Tim hiểu DGA botnet và co chế sử dung thuật toán tao tên miền 2.
Khái niệm DGA botnet DGA botnet là tên gọi chung cho các họ botnet áp dụng những thuật toán tạo tên miền (DGA) dé phát sinh nhiều tên miền giả theo cách không định trước va đăng ký chúng định kỳ để sử dụng cho máy chủ CnC, nhằm mục đích lân tránh, vượt qua việc bị quản lý và liệt kê vào danh mục lưu lượng không hợp lệ. Các DGA botnet làm cho việc kiêm soát tên miền phức tạp hơn. Trong trường hợp chỉ sử dụng một tên miền có định ở máy chủ CnC, việc phát hiện ra lưu lượng trái phép và thu hồi tên miền là việc dé dàng, bằng cách liên kết với nhà quan lý tên miền chính dé cập nhật DNS. Tuy nhiên, đối với các DGA botnet, việc này phức tap hơn nhiều.
Các tên miền mới sinh ra định kỳ và liên tục dé kết nối tới trung tâm điều khiển (CnC), những tên miền cũ sẽ không còn được sử dụng tiếp tục, dẫn đến việc quản lý và thu hồi các tên miền này là không còn tác dụng. Thuật toán tao tên miền và cơ chế DGA botnet sử dung 2. Thuật toán tạo tên miền Các thuật toán dùng dé tạo tên miền mà các DGA botnet sử dụng rất đa dạng. Trong đó, một số thuật toán tạo ra tên miền theo phương pháp ghép ngẫu nhiên một số ký tự với một độ dài ngẫu nhiên.
Một số DGA botnet áp dụng cách làm tương tự, nhưng thay vào đó, chúng sử dụng các từ trong từ điển, nhằm làm khó phân biệt hơn. Ngoài ra, dé tăng độ phức tạp, một số loại DGA botnet còn dùng các phép tính dựa trên các giá trị thời gian ngày giờ, từ đó, tạo ra các tên miền có tính ngẫu nhiên và dựa trên thời điểm. Cơ chế DGA botnet sử dụng thuật toán tạo tên miền Về phương thức, tiêu chuẩn cần thiết dé botmaster giao tiếp được với các bot trong mạng lưới botnet của nó là các bot phải biết được địa chỉ tên miền của CnC. Do đó, thuật toán tạo tên miền áp dụng trên cả botmaster lẫn các bot phải sinh ra các tên miền giống nhau, trong cùng một thời điểm, tức là phải có cùng một nhân (seed) ban đầu.
Thông thường, chúng sử dụng nhân ban đầu là thời gian (ngày, giờ) để tạo ra cùng một danh sách các tên miễn trong quá trình hoạt động. Về phía botmaster, chúng thường xuyên tạo ra và đăng ký nhiều tên miền mới cho máy chủ CnC thông qua hệ thống DDNS. Về phía các bot, chúng cũng định kỳ sinh ra và truy vấn các tên miền lên hệ thống DNS trong mạng nội bộ, xác định địa chỉ IP của tên miên dé két nôi với CnC. CnC SERVER vesvw.
ng — la) _m “——— rwabubwunur.info DNS Query: rwabubwunur.org DNS Query: atrrzwque.com NXDOMAIN:DNS REPLY DNS Query: fegetevhgl.net NXDOMAIN:DNS REPLY NXDOMAIN:DNS REPLY = DNS Query: vesw.135:DNS REPLY MALWARE-INFECTED BOT Hình 2.4: Cơ chế thuật toán tao tên miền được sử dung bởi botnet DGA [26] 13 Một khi việc giải mã tên miền hoàn tat, các bot đã được liên kết đến với máy chu CnC và thực hiện các lệnh chỉ huy và các bản sửa lỗi. Ngược lại, khi không thành công, các bot này lại tiếp tục tạo ra một tên miền với bằng thuật toán và gửi lại yêu cầu giải mã DNS cho đến khi thành công [5]. Phân loại DGA Botnet Tương tự botnet nói chung, DGA botnet có nhiều cách phân loại. Cách phân loại được nhiều người sử dụng là dựa theo kỹ thuật của thuật toán tạo tên miền.
Theo cách phân loại này, chúng được xếp vào ba loại chính là: (1) DGA botnet dựa trên ký tự, (2) DGA botnet dựa trên từ, và (3) DGA botnet hỗn hợp [17]. Dưới đây là mô tả về các loại này. DGA botnet dựa trên ký tự (Character-based DGA botnet) là các loại DGA botnet sử dụng thuật toán tạo tên miền theo phương pháp kết hợp các ký tự theo quy luật.