Nghiên Cứu Phát Hiện Botnet DGA Dựa Trên Học Máy

Tài liệu nghiên cứu Nghiên cứu phát hiện word based dga botnet dựa trên học máy, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về .

Chuyên ngành

An toàn thông tin

Người đăng

Ẩn danh

Thể loại

đồ án tốt nghiệp

2024

69
8
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

LỜI CAM ĐOAN

1. CHƯƠNG 1: TỔNG QUAN VỀ BOTNET VÀ CÁC PHƯƠNG PHÁP PHÁT HIỆN

1.1. Khái quát về Botnet

1.2. Khái quát về DGA Botnet và Word-based DGA Botnet

1.3. Các phương pháp phát hiện Botnet

1.4. Kết chương

2. CHƯƠNG 2: PHÁT HIỆN WORD-BASED DGA BOTNET DỰA TRÊN HỌC MÁY

2.1. Khái quát về học máy

2.2. Mô hình phát hiện Word-based DGA Botnet dựa trên học máy

2.3. Kết chương

3. CHƯƠNG 3: CÀI ĐẶT VÀ THỬ NGHIỆM

3.1. Giới thiệu tập dữ liệu sử dụng

3.2. Tiền xử lý dữ liệu

3.3. Quá trình huấn luyện và kiểm tra

3.4. Phương pháp đánh giá

3.5. Cài đặt và thử nghiệm môđun phát hiện Word-based DGA botnet dựa trên học máy

3.6. Kết chương

DANH MỤC TÀI LIỆU THAM KHẢO

DANH MỤC BẢNG BIỂU

DANH MỤC ẢNH VÀ HÌNH VẼ

DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT

LỜI MỞ ĐẦU

Tóm tắt

I. Tổng quan về Nghiên cứu Phát hiện Botnet DGA Dựa Trên Học Máy

Nghiên cứu về Botnet DGA là một lĩnh vực quan trọng trong an ninh mạng. Botnet, một mạng lưới các máy tính bị nhiễm mã độc, thường được sử dụng để thực hiện các cuộc tấn công mạng quy mô lớn. Đặc biệt, DGA (Domain Generation Algorithm) là một kỹ thuật cho phép botmaster tự động tạo ra các tên miền để giao tiếp với máy chủ điều khiển. Việc phát hiện các botnet này là một thách thức lớn, đặc biệt là với sự phát triển của các phương pháp học máy.

1.1. Khái quát về Botnet và DGA

Botnet là một mạng lưới các máy tính bị nhiễm mã độc, được điều khiển bởi một botmaster. DGA là thuật toán tạo tên miền, cho phép botnet tự động sinh ra các tên miền mới để tránh bị phát hiện. Điều này làm cho việc phát hiện botnet trở nên khó khăn hơn.

1.2. Tầm quan trọng của việc phát hiện Botnet DGA

Việc phát hiện botnet DGA là rất quan trọng để bảo vệ hệ thống mạng. Nếu không được phát hiện kịp thời, botnet có thể gây ra thiệt hại lớn cho người dùng và doanh nghiệp. Các phương pháp học máy đang được nghiên cứu để cải thiện khả năng phát hiện này.

II. Vấn đề và Thách thức trong Phát hiện Botnet DGA

Mặc dù có nhiều phương pháp phát hiện botnet, nhưng việc phát hiện DGA botnet vẫn gặp nhiều thách thức. Các thuật toán DGA có thể tạo ra hàng triệu tên miền khác nhau, khiến cho việc theo dõi và phát hiện trở nên phức tạp. Hơn nữa, các botnet thường sử dụng các kỹ thuật tàng hình để tránh bị phát hiện.

2.1. Các thách thức trong việc phát hiện Botnet

Một trong những thách thức lớn nhất là sự đa dạng của các tên miền được tạo ra bởi DGA. Điều này làm cho các phương pháp phát hiện truyền thống không còn hiệu quả. Hơn nữa, các botnet thường thay đổi tên miền liên tục để tránh bị phát hiện.

2.2. Tác động của Botnet DGA đến An ninh Mạng

Botnet DGA có thể gây ra nhiều tác động tiêu cực đến an ninh mạng, bao gồm tấn công DDoS, đánh cắp thông tin và phát tán mã độc. Việc phát hiện kịp thời có thể giúp giảm thiểu thiệt hại và bảo vệ hệ thống.

III. Phương pháp Phát hiện Botnet DGA Dựa Trên Học Máy

Các phương pháp học máy đang được áp dụng để phát hiện botnet DGA một cách hiệu quả hơn. Những phương pháp này bao gồm việc sử dụng các thuật toán như SVM, Random Forest, và Naive Bayes. Mỗi phương pháp có những ưu điểm và nhược điểm riêng, nhưng đều hướng đến mục tiêu phát hiện chính xác các tên miền độc hại.

3.1. Sử dụng Học Máy trong Phát hiện Botnet

Học máy cung cấp các công cụ mạnh mẽ để phân tích và phát hiện botnet DGA. Các mô hình học máy có thể học từ dữ liệu lịch sử và cải thiện khả năng phát hiện theo thời gian.

3.2. Các Thuật Toán Học Máy Phổ Biến

Một số thuật toán phổ biến trong phát hiện botnet DGA bao gồm SVM, Random Forest và KNN. Mỗi thuật toán có cách tiếp cận riêng để phân loại và phát hiện tên miền độc hại.

IV. Ứng dụng Thực Tiễn và Kết Quả Nghiên Cứu

Nghiên cứu về phát hiện botnet DGA đã cho thấy nhiều kết quả khả quan. Các mô hình học máy đã được áp dụng trong thực tế và cho thấy khả năng phát hiện cao hơn so với các phương pháp truyền thống. Việc áp dụng các mô hình này trong môi trường thực tế có thể giúp bảo vệ hệ thống mạng hiệu quả hơn.

4.1. Kết quả Thực Nghiệm

Các thử nghiệm cho thấy rằng các mô hình học máy có thể phát hiện botnet DGA với độ chính xác cao. Điều này cho thấy tiềm năng của học máy trong việc cải thiện an ninh mạng.

4.2. Ứng dụng trong An ninh Mạng

Các mô hình phát hiện botnet DGA có thể được tích hợp vào các hệ thống an ninh mạng hiện tại để nâng cao khả năng phát hiện và phản ứng nhanh chóng với các mối đe dọa.

V. Kết luận và Tương lai của Nghiên cứu Botnet DGA

Nghiên cứu về phát hiện botnet DGA dựa trên học máy đang mở ra nhiều hướng đi mới trong an ninh mạng. Với sự phát triển không ngừng của công nghệ, các phương pháp phát hiện sẽ ngày càng hiệu quả hơn. Tương lai của nghiên cứu này hứa hẹn sẽ mang lại nhiều giải pháp sáng tạo để bảo vệ hệ thống mạng.

5.1. Tương lai của Phát hiện Botnet

Các nghiên cứu tiếp theo sẽ tập trung vào việc cải thiện độ chính xác và tốc độ phát hiện của các mô hình học máy. Điều này sẽ giúp bảo vệ hệ thống mạng tốt hơn trước các mối đe dọa ngày càng tinh vi.

5.2. Hướng nghiên cứu mới

Hướng nghiên cứu mới có thể bao gồm việc kết hợp nhiều phương pháp học máy khác nhau để tối ưu hóa khả năng phát hiện. Việc này sẽ giúp nâng cao hiệu quả trong việc phát hiện và ngăn chặn botnet DGA.

11/07/2025
Nghiên cứu phát hiện word based dga botnet dựa trên học máy

Trích đoạn nội dung tài liệu

CHƯƠNG 1: TONG QUAN VE BOTNET VÀ CAC PHUONG PHAP PHAT HIEN 1.1 Khai quat vé Botnet 1.1 Giới thiệu về Botnet Thuật ngữ đây đủ của Botnet là “Bots network” dùng đê chỉ một mạng lưới các máy tính bị nhiễm phần mềm độc hại và được chi phối bởi một người nao đó (Botmaster). Một mạng botnet có thể có rất nhiều máy tính (hàng trăm hàng ngàn, thậm chi là hàng triệu máy tinh) [1]. Các máy tính đang bị nhiễm Botnet còn được gọi là các “Zombie”. Máy tính bị nhiễm sé bị chi phối bởi một Botmaster và điều khiển mọi hoạt động của máy tinh đang dính mã độc làm cản trở hoạt động, gián đoán gây mat nhiêu thời gian, giảm năng suất công việc của người dùng.

Mục đích chung của botnet là kiểm soát càng nhiều máy tính càng tốt trong thời gian dài nhất có thể. Điều này có thê đạt được băng cách sử dụng tính năng tàng hình, làm cho phần mềm độc hại trở nên kín đáo nhất có thể. 1: Mô hình Botmaster diéu khiển các bot qua máy chủ C&C Có thê thấy, một Botnet sẽ bao gồm 3 thành phần: - Botmaster: điều khiển máy chủ C&C đưa ra các lệnh điều khiển các Bots. - Command & Control Server (C&C): chịu sự điều khiến của Botmaster, phát ra các lệnh cho các bot trong mạng.

- Bots (Zombies): là các máy tinh bị xâm nhập, bi cài phần mềm độc hai và chịu sự điều khiển của C&C Server.2 Kiến trúc và hoạt động của Botnet 1.1 Kiến trúc của Botnet Kiên trúc của Botnet được chia thành 2 loại: - _ Kiến trúc Client-Server - _ Kiến trúc ngang hang Peer — to — Peer (P2P) - Kiến trúc lai a. Kiến trúc Client — Server iui} BotMaster MáychủCnC | | May chủ Cnc Na s. 2: Kiến trúc Client - Server của botnet Kiến trúc Client- Server là một mô hình truyền thống. Ở mô hình này, Botmaster sẽ thiết lập các lệnh, điều khiến và kiểm soát mang Botnet.

các C&C Server sẽ hỗ trợ Botmaster quản lý các may Bots trong mang, đồng thời nó cũng là cầu nối chuyên tiếp lệnh từ Botmaster đến các bots trong mạng. Cac bots sẽ nhận lệnh từ C&C Server giúp các hacker thực hiện các cuộc tan công mạng quy mô lớn. Kiến trúc này có một vai nhược điểm như nó có thể được định vị dễ dàng và chỉ có một điểm kiểm soát. Trong kiến trúc này, nếu máy chủ bị phá hủy, bots sẽ “chết” theo [2].

Kiến trúc ngang hàng Peer — to — Peer (P2P) Nhiễm độc _—> Thông tin đánh cắp \ aie 7 ny — | ay | \ May chủ CnC Hình 1. 3: Kiến trúc P2P cua Botnet Trong P2P, bot sẽ không kết nối vào các may chủ điều khién ma mỗi bot sẽ có một danh sách bot “neighbor — lang giềng”, khi nhận được lệnh điều khiến từ một bot thành viên nào đó trong mạng, nó sẽ quảng bá lệnh này tới danh sách láng giềng của nó. Kiến trúc nảy để khắc phục nhược điểm của kiến trúc Client — Server, mỗi bot là một máy độc lập trên kênh truyền nên nếu một bot bất kỳ bị lỗi sẽ không ảnh hưởng gì tới Botnet. Tuy nhiên, việc thiết kế hệ thống P2P là phức tạp hơn kiến trúc Client — Server rất nhiều, cũng như không đảm bảo đường truyền và độ trệ [3].

Kiến trúc lai m Botdichvu {4 = Se" ¬ ví " " — 1. L ee Ò — ~——__— Bot khách Hình 1. 4: Kiến trúc lai của botnet Kiến trúc lai kế thừa các đặc tính của hai loại kiến trúc trên. Trong kiến trúc lai, có 2 loại bot là: - Servant bot (bot phục vụ): Loại Bot này hoạt động đồng thời như một máy khách và một máy chủ, được cau hình với các địa chi IP định tuyến (IP tinh).

Chúng 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 Client Bot [4]. Các Client Bot nhận địa chỉ IP từ các Servant Bot, sau đó, chúng tạo kết nói để nhận các lệnh và mã cập nhật [4].2 Hoạt động cua Botnet ; Thong thường, hoạt động cua một mang botnet có thê chia thành 4 pha: Pha tuyên dụng thành viên, pha tương tác, pha tan công, pha duy trì. \4 P Bot Master | Truyền lệnh Máy chủ —Pha tuong tlác——— C&C Pha nhận lệnh va thực hiện tắn công Hình 1. 5: Hoạt động cua mang botnet a.

Pha tuyển dụng thành viên Trong pha này Botmaster cần phải lợi dụng các máy tính trên Internet dé có thể điều khiển từ xa. Botmaster sử dụng các phần mềm độc hại để tìm kiếm và lây nhiễm tối đa vào các hệ thống, máy tính có điểm yêu dé cài bot vào đó. Các kỹ thuật lây nhiễm bot tương tự như việc lây nhiễm Trojan, Worm hay Virut. Để tăng khả năng lây nhiễm, trong thực tế nhiều phần mềm bot thường được thiết kế với các môđun có khả năng tự động khai thác các điểm yếu đã biết, thậm chí cả những lỗ hồng chưa biết đến.

Pha tương tác Khi nạn nhận đã trở thành bot, nó sẽ giao tiếp với botmaster qua kênh truyền thông được sử dụng bởi Botnet đó. Botmaster sẽ nhận được thông báo về bot mới được lây nhiễm, và bot đó sẽ chờ lệnh đến từ botmaster [5]. Pha tan công Mang botnet có thé được sử dụng dé thực hiện nhiều cuộc tan công với quy mô lớn và nhiều hình thức khác nhau như: tan công từ chối dịch vụ, gửi thư rác, tấn công lừa đảo. Hầu hết các mạng botnet đều được phát hiện ở pha này và cũng có nhiều nghiên cứu tập trung vào pha này đề đề ra giải pháp chống lại các tấn công.

Pha duy trì Sau khi thực hiện tấn công, các bot trở về trạng thái chờ lệnh. Botmaster sẽ cập nhật cho các bot thường xuyên để tránh các kỹ thuật phát hiện mới, hoặc vá các lỗi hay bổ sung thêm tinh năng mới cho bot. Trong suốt thời gian này, các bot cần được giám sát thường xuyên để đảm bảo cho hệ thống hoạt động bình thường [5].2 Khái quát về DGA Botnet và Word-based DGA Botnet 1.1 Giới thiệu về DGA Botnet 12.11 Hệ thong tén miễn Ộ Hệ thông tên miên (Domain name server - DNS) là một thành phân quan trọng của cơ sở hạ tầng Internet, chủ yếu được sử dụng để dịch tên miền sang địa chỉ IP và ngược lại. Hiện tại hầu hết các dịch vụ mạng và ứng dụng đều dựa vào DNS.

Đề vượt qua sự phát hiện va ngăn chặn, nâng cao khả năng tự ton tại và kéo dài thời gian tồn tại, nhiều mạng botnet sử dung DNS để tổ chức và kiểm soát.2 Thuật toán sinh tên miền DGA Thuật toán sinh tên miên (Domain generation algorithm - DGA), được sử dung dé tự động tạo ra một sô lượng lớn các tên miên ngâu nhiên và sau đó chon 7 một tập con nhỏ của các miền này để giao tiếp với máy chủ C&C [6]. Các tên miền tạo ra sử dụng một thuật toán DGA với cùng một nhân (seed) nhất định, các tham số đó có thé là các hằng số, ngày hiện tại, thời gian hiện tại. Hầu hết các botnet ngày nay đều sử dụng thuật toán sinh tên miền để làm điểm kết nối tới các may chủ điều khiển. Bằng cách liên tục thay đổi các tên miền đã sử dung, các phương pháp phát hiện dựa vào các danh sách đen của các chuyên gia đã không hiệu quả.

Một ưu điểm khác của việc sử dụng các tên miền này là che giấu được các dau vết mà chúng đã dé lại. Hãy xem xét một mau mã Python đê tạo ra các tên miên khác nhau dưới đây: def generate_domain(year, month, day): """ Generates a domain by considering the current date. """ domain = "" fori in range(32): year = ((year ^ 8 * year) >> 11) ^ ((year & 0xFFFFFFF0) << 17) month = ((month ^ 4 * month) >> 25) ^ 16 * (month & OxFFFFFFF8) day = ((day ^ (day << 13)) >> 19) ^ ((day & OxXFFFFFFFE) << 12) domain += chr(((year ^ month ^ day) % 25) + 97) # add our own domain domain += '.infosec' return domain Có thé thay chức năng generate _domain, chấp nhận ba tham số: năm, tháng và ngày. Điều này có nghĩa là thuật toán tạo ra một tên miền mới mỗi ngày, sau đó được sử dụng bởi phần mềm độc hại dé kết nối với máy chủ C&C.

Chìa khóa thành công của phương pháp DGA là dựa trên một trình tạo số ngẫu nhiên xác định. Các số này có thể là ngẫu nhiên hoặc được cung cấp từ phần mềm độc hai và kẻ tan công. Sau đó các số ngẫu nhiên này sẽ được chuyên đổi sang một ký tự và cộng với phần tên miền cấp cao và sinh ra một tên miền độc hại mà được kẻ tấn công sử dụng dé giao tiép voi may chu diéu khién.3 DGA Botnet | ; Cac bot giao tiép với các máy chu C&C trong một botnet có thé qua giao thức IRC, HTTP hoặc giao thức truyền thông khác. Ngày nay các bot thường sử dụng giao thức HTTP nhiều hơn.

Dé hoạt động được trên Internet thì các bot hay máy chủ C&C đều phải có một địa chi IP public hoặc tên miền để có thé phân giải về một dia chỉ IP. Nếu như các C&C server sử dụng các địa chi IP thì việc bi phát hiện là rất đơn giản. Chính vì vậy các C&C server thường sử dụng tên miền (dịch vụ DNS) thay vì sử dung dia chỉ IP. [7] Cơ chế botnet sử dụng DGA tự động sinh và đăng kí tên miền cho máy chủ C&C của chúng được lặp lại qua các quá trình: botmaster và các bot sẽ cùng sử dụng một thuật toán DGA để tạo một tập các tên miền giống nhau.

Botmaster sé định kì tao ra và đăng kí tên miền qua hệ thong DNS cho máy chủ C&C. Dé các bot kết nối đến máy chủ C&C, chúng dùng một thuật toán DGA cùng nhân giống như máy chủ đã dùng dé tạo ra cùng tập tên miền. Sau đó chúng gửi truy van đến hệ thống DNS dé phân giải tên miền thành địa chỉ IP. Nếu quá trình phân giải thành công, bot sẽ kết nối được đến máy chủ C&C và tải mã lệnh hay bản cập nhật của mã độc.

Nếu quá trình không thành công, chúng tiếp tục sẽ tạo ra các tập tên miền mới và gửi truy vấn đến khi quá trình được kết nối thành công.net @ Generating and registering a DGA domain 2t5xjdkawl.pw C&C server 54ldkz5ak.2!147 @ Generating a DGA domain Sjiej31343.pw FT > “ch a 54ldkz5ak.com (DN$3 SP )Requesting IP to the DNS server Connecting to ! ——————* sjiej31343.net the C&C server ! i 1' th: ——* 2t5xjdkawl.pw NXDomain © i > 4 NXDomain * i —— 54ldkz5ak.147 Malware i DNS server ! Hình 1.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu "Nghiên Cứu Phát Hiện Botnet DGA Dựa Trên Học Máy" cung cấp cái nhìn sâu sắc về việc sử dụng các kỹ thuật học máy để phát hiện botnet sử dụng Domain Generation Algorithm (DGA). Nghiên cứu này không chỉ giúp nâng cao khả năng phát hiện các mối đe dọa mạng mà còn mở ra hướng đi mới trong việc bảo vệ hệ thống thông tin. Các phương pháp học máy được áp dụng trong nghiên cứu này cho phép phát hiện nhanh chóng và chính xác các tên miền độc hại, từ đó giảm thiểu rủi ro cho người dùng và tổ chức.

Để mở rộng kiến thức của bạn về lĩnh vực này, bạn có thể tham khảo thêm tài liệu Nghiên cứu phương pháp phát hiện mã độc dựa trên hành vi sử dụng học máy, nơi bạn sẽ tìm thấy các phương pháp khác nhau trong việc phát hiện mã độc. Bên cạnh đó, tài liệu Phát triển một số mạng nơ ron học sâu cho bài toán phát hiện tấn công mạng sẽ giúp bạn hiểu rõ hơn về cách thức áp dụng mạng nơ ron trong việc bảo vệ hệ thống. Cuối cùng, tài liệu Khóa luận tốt nghiệp an toàn thông tin hệ thống bền vững và tin cậy cho phát hiện xâm nhập dựa trên học máy đối kháng và trí tuệ nhân tạo khả diễn giải sẽ cung cấp cho bạn cái nhìn tổng quan về các hệ thống phát hiện xâm nhập hiện đại. Những tài liệu này sẽ giúp bạn mở rộng hiểu biết và ứng dụng các công nghệ mới trong lĩnh vực an toàn thông tin.