You are on page 1of 9

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/333132204

PHÁT HIỆN DGA BOTNET SỬ DỤNG KẾT HỢP NHIỀU NHÓM ĐẶC TRƯNG
PHÂN LOẠI TÊN MIỀN

Conference Paper · June 2019


DOI: 10.15625/vap.2019.00047

CITATIONS READS

0 695

2 authors:

Vũ Xuân Hạnh Dau Hoang


Hanoi Open University Posts and Telecommunications Institute of Technology
2 PUBLICATIONS   0 CITATIONS    21 PUBLICATIONS   284 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Research and develop a service/server log analysis system for detecting access anomalies and information security risks in e-government networks View project

PHÁT HIỆN DGA BOTNET SỬ DỤNG KẾT HỢP NHIỀU NHÓM ĐẶC TRƯNG PHÂN LOẠI TÊN MIỀN View project

All content following this page was uploaded by Dau Hoang on 16 May 2019.

The user has requested enhancement of the downloaded file.


Kỷ yếu Hội nghị Quốc gia lần thứ XII về Nghiên cứu cơ bản và ứng dụng Công Nghệ thông tin (FAIR); Huế, ngày 7-8/6/2019

PHÁT HIỆN DGA BOTNET SỬ DỤNG KẾT HỢP NHIỀU


NHÓM ĐẶC TRƯNG PHÂN LOẠI TÊN MIỀN
Vũ Xuân Hạnh 1, Hoàng Xuân Dậu2
1
Trung tâm Ngoại ngữ, Tin học và Bồi dưỡng ngắn hạn, Đại học Mở Hà Nội
2
Khoa Công nghệ Thông tin 1, Học viện Công nghệ Bưu chính Viễn thông
hanhvx@hou.edu.vn, dauhx@ptit.edu.vn

TÓM TẮT— Trong những năm gần đây, các botnet đã trở thành một trong các nguy cơ gây mất an toàn thông tin hàng đầu
do chúng không ngừng phát triển về cả quy mô và mức độ tinh vi. Nhiều dạng botnet sử dụng kỹ thuật DGA để sinh và đăng ký
nhiều tên miền ngẫu nhiên khác nhau cho máy chủ lệnh và điều khiển (C&C) của chúng nhằm chống lại việc bị kiểm soát. Việc phân
tích phát hiện các tên miền truy vấn hệ thống DNS có thể giúp phát hiện các hoạt động của botnet do các bot tồn tại trong hệ thống
mạng cũng liên tục sử dụng kỹ thuật DGA để sinh tên miền và truy vấn hệ thống DNS để tìm địa chỉ IP của các máy chủ C&C. Các
mô hình phát hiện DGA botnet dựa trên phân phân loại tên miền do botnet sinh tự động với tên miền bình thường đã được nghiên
cứu, đề xuất. Bài báo này đề xuất bổ sung một nhóm gồm 4 đặc trưng phân loại tên miền mới kết hợp với 3 nhóm gồm 18 đặc trưng
đã có nhằm cải thiện hiệu quả phát hiện của mô hình phát hiện DGA botnet dựa trên học máy. Các kết quả thử nghiệm cho thấy,
nhóm đặc trưng phân loại mới giúp tăng đáng kể độ chính xác phát hiện và giảm tỷ lệ phát hiện nhầm.
Từ khóa— DGA botnet, phát hiện DGA botnet, mô hình phát hiện botnet, đặc trưng n-gram.
I. GIỚI THIỆU
Trong những năm gần đây, botnet được đánh giá là một trong các nguy cơ gây mất an toàn thông tin hàng đầu
trong các dạng mã độc (malware) hoạt động trên mạng Internet [1][2]. Các botnet không ngừng phát triển trên mạng
Internet toàn cầu về cả quy mô và sự tinh vi của các kỹ thuật điều khiển. Mỗi thành viên trong botnet được gọi là bot.
Bot là một malware do một nhóm tin tặc (botmaster) tạo ra cho phép chúng điều khiển các hệ thống máy tính bị lây
nhiễm từ xa. Các bot khác với các dạng malware khác ở chỗ chúng có tính tự động (autonomy) cao và được trang bị
khả năng sử dụng các kênh truyền thông để nhận lệnh và thông báo trạng thái hoạt động của mình đến hệ thống điều
khiển. Các hệ thống điều khiển, hay các máy chủ lệnh và điều khiển (Command and Control - C&C) là phương tiện
trung gian để botmaster gửi các lệnh và bản mã cập nhật đến các bot. Các botnet thường được sử dụng để truyền tải các
phần mềm độc hại, gửi thư rác, đánh cắp thông tin nhạy cảm, lừa đảo, hoặc nghiêm trọng hơn để thực hiện các cuộc tấn
công mạng trên quy mô lớn, như tấn công DDoS. Theo một số báo cáo, hiện nay có khoảng 80% lưu lượng thông tin
trên Internet có liên quan đến hoạt động của các botnet, bao gồm các hoạt động gửi thư rác và tấn công mạng [1][2].
Dịch vụ tên miền (DNS – Domain Name Service) là một dịch vụ thiết yếu trên mạng Internet cho phép phân
giải tên máy, hoặc tên miền sang địa chỉ IP và ngược lại. Chẳng hạn, mỗi khi trình duyệt máy khách cần truy nhập một
trang web, nó trước hết gửi yêu cầu đến hệ thống DNS để tìm địa chỉ IP của máy chủ web, sau đó sử dụng địa chỉ IP
tìm được để truy nhập máy chủ web và tải trang web. Như vậy, hầu hết các ứng dụng hợp pháp đều sử dụng dịch vụ
DNS khi thực hiện các yêu cầu truy cập các dịch vụ mạng của mình. Tuy nhiên, dịch vụ DNS cũng được các bot trong
botnet sử dụng như các ứng dụng hợp pháp. Các bot gửi các yêu cầu truy vấn DNS để tìm địa chỉ IP của máy chủ C&C
và khi có địa chỉ IP, chúng truy nhập các máy chủ C&C để nhận các lệnh, cũng như để tải các bản mã bot cập nhật. Để
lẩn tránh việc rà quét, phát hiện các máy chủ C&C, botmaster liên tục thay đổi tên và địa chỉ IP của các máy chủ C&C
theo các kỹ thuật xác định trước, như DGA (Domain Generation Algorithms), hoặc FF (Fast flux) [3][4]. Các thay đổi
về tên và IP của các máy chủ C&C liên tục được đẩy lên hệ thống DNS. Các bot cũng được trang bị khả năng sinh tự
động tên máy chủ C&C theo các kỹ thuật này. Nhờ vậy, các bot vẫn có thể tìm được địa chỉ IP của máy chủ C&C bằng
cách sinh tên máy chủ tự động và truy vấn dịch vụ DNS. Do vậy, việc giám sát và phân tích dữ liệu truy vấn DNS, đặc
biệt là các tên miền và kết quả truy vấn có thể tiết lộ sự tồn tại của các hành động độc hại trong hệ thống mạng được
giám sát do một phần dữ liệu truy vấn DNS có thể do botnet tạo ra.
Phần còn lại của bài báo được cấu trúc như sau: Mục II trình bày các nghiên cứu có liên quan; Mục III giới
thiệu mô hình phát hiện DGA botnet dựa trên học máy, giới thiệu khái quát về học máy và vấn đề tiền xử lý dữ liệu;
Mục IV là phần thử nghiệm, các kết quả và nhận xét; và Mục V là kết luận của bài báo.
II. CÁC NGHIÊN CỨU LIÊN QUAN
A. Giới thiệu về DGA botnet
Như đã đề cập trong mục I, nhiều botnet hiện nay sử dụng kỹ thuật DGA để sinh và đăng ký nhiều tên miền
ngẫu nhiên khác nhau cho máy chủ lệnh và điều khiển của chúng nhằm chống lại việc bị kiểm soát và đưa vào danh
sách đen (Blacklist) [3][4]. Lý do chính của việc sử dụng DGA là làm phức tạp việc kiểm soát thu hồi tên miền. Các
botnet dạng này còn được gọi là DGA-based botnet, hay ngắn gọn là DGA botnet.
Thuật toán DGA có thể sử dụng các toán tử kết hợp với các biến luôn thay đổi chẳng hạn như năm, tháng,
ngày, giờ, phút để sinh tên miền ngẫu nhiên. Ví dụ, một dạng của thuật toán DGA được thực hiện bởi 1 hàm có chứa
16 vòng lặp. Mỗi vòng lặp sinh ngẫu nhiên 1 ký tự trong tên miền như sau [3][4]:
2 ĐỊNH DẠNG CHO VIỆC IN ẤN BÀI BÁO TRONG KỶ YẾU CỦA FAIR

 year = ((year ^ 8 * year) >> 11) ^ ((year & 0xFFFFFFF0) << 17)
 month = ((month ^ 4 * month) >> 25) ^ 16 * (month & 0xFFFFFFF8)
 day = ((day ^ (day << 13)) >> 19) ^ ((day & 0xFFFFFFFE) << 12)
 domain += chr(((year ^ month ^ day) % 25) + 97)
Trong đó:
 Toán tử ‘^’: Phép mũ.
 Toán tử ‘*’: Phép nhân.
 Toán tử ‘%’: Phép chia lấy phần dư.
 Toán tử ‘>>’: Phép dịch phải bit.
 Toán tử ‘<<’: Phép dịch trái bit.
 Toán tử ‘&’: Phép và logic (AND).
Hình 1 biểu diễn cơ chế botnet sử dụng DGA để tự động sinh và đăng ký các tên miền cho máy chủ C&C của
mình. Theo đó, máy chủ C&C và các bot sử dụng cùng một thuật toán DGA với cùng một nhân (seed) nên chúng có
thể sinh ra cùng một tập các tên miền. DGA botnet thường sử dụng ngày giờ như là nhân để khởi tạo thuật toán sinh
tên miền và như vậy, DGA botnet tạo một tập các tên miền trong mỗi ngày nó hoạt động. Để khởi tạo kết nối đến máy
chủ C&C, một bot trước hết cần thực thi thuật toán DGA để sinh một tên miền và tên miền này cũng có thể được sinh
tự động bởi máy chủ C&C do cả máy chủ C&C và bot sử dụng chung một thuật toán DGA và một nhân. Sau khi tạo
được tên miền, bot sử dụng hệ thống DNS để phân giải tên miền thành địa chỉ IP của máy chủ C&C. Nếu quá trình
phân giải tên miền không thành công, bot sử dụng DGA để sinh một tên miền mới và lặp lại yêu cầu phân giải địa chỉ.
Nếu quá trình phân giải tên miền thành công, bot sử dụng địa chỉ IP để kết nối đến máy chủ C&C để nhận các lệnh và
điều khiển từ botmaster.

Hình 1. Cơ chế botnet sử dụng DGA để tự động sinh và đăng ký các tên miền cho máy chủ C&C [3].
B. Một số kỹ thuật phát hiện DGA botnet
Liên quan đến việc giám sát các truy vấn hệ thống DNS cho phát hiện DGA botnet, một số công bố đề xuất
các kỹ thuật phát hiện các tên miền được tạo ra tự động sử dụng các thuật toán, hoặc tên miền được mã độc sử dụng.
Theo đó, Yadav và cộng sự [7] đề xuất phương pháp phân biệt các tên miền sinh tự động bằng thuật toán thường được
sử dụng trong các botnet với tên miền hợp lệ dựa trên phân tích sự phân bố các ký tự trong tên miền. Cũng mới mục
đích tương tự, Stalmans và cộng sự [8] sử dụng phương pháp cây quyết định C5.0 và thống kê Baysian để phân loại các
tên miền sinh tự động với các tên hợp lệ.
Với cách tiếp cận khác, Bilge và cộng sự [9] giới thiệu hệ thống EXPOSURE cho phép giám sát lưu lượng
truy vấn DNS trên diện rộng để phát hiện các tên miền có liên quan đến các hành vi độc hại. EXPOSURE sử dụng 15
thuộc tính của tên miền để phân biệt các tên miền đáng ngờ với tên miền hợp lệ. Các kết quả thử nghiệm cho thấy hệ
thống có khả năng mở rộng tốt và nhận dạng được các tên miền mới có liên quan đến các hành vi độc hại, như chúng
được sử dụng cho máy chủ C&C, cho gửi thư rác và sử dụng cho các website lừa đảo.
Các nghiên cứu trước đây của chúng tôi [10][11] đề xuất mô hình phân loại tên miền DGA botnet dựa trên các
kỹ thuật học máy sử dụng dữ liệu truy vấn DNS. Các tên miền trước hết được loại bỏ phần tên miền cấp cao nhất và
sau đó mỗi tên miền được chuyển đổi thành một vector gồm 18 đặc trưng sử dụng cho các khâu huấn luyện và phát
hiện. Mô hình sử dụng tập dữ liệu gồm các tên miền bình thường, hay lành tính và các tên miền botnet đã được gán
nhãn cho quá trình huấn luyện và phát hiện. Kết quả thử nghiệm cho thấy độ chính xác phát hiện chung tốt nhất đạt
được là 93,21% với thuật toán học máy rừng ngẫu nhiên.
Trong bài báo này, chúng tôi mở rộng nghiên cứu trước đây của nhóm bằng việc bổ sung thêm 4 đặc trưng
huấn luyện trong mô hình phát hiện DGA botnet [10][11], bao gồm tên miền băm, giá trị dự kiến cho mỗi tên miền, số
lượng từ có nghĩa trong mỗi tên miền và độ dài tên miền nhằm cải thiện độ chính xác phát hiện. Chúng tôi lần lượt
đánh giá hiệu quả của mô hình phát hiện trên khi bổ sung từng đặc trưng mới trên tập dữ liệu mở rộng bao gồm các tên
miền bình thường và tên miền DGA botnet [13][14].
Vũ Xuân Hạnh, Hoàng Xuân Dậu 3

III. MÔ HÌNH PHÁT HIỆN DGA BOTNET DỰA TRÊN PHÂN LOẠI TÊN MIỀN
A. Mô hình phát hiện DGA botnet
Hình 2 biểu diễn mô hình phát hiện DGA botnet dựa trên học máy [10][11]. Mô hình này được xây dựng trên
cơ sở phân tích ở Mục I và Mục II về việc các bot trong DGA botnet thường xuyên sinh tự động các tên miền và truy
vấn hệ thống DNS để tìm địa chỉ IP của các máy chủ C&C. Mô hình phát hiện được triển khai thành 2 giai đoạn: (a)
giai đoạn huấn luyện và (b) giai đoạn phát hiện. Trong giai đoạn huấn luyện, dữ liệu truy vấn hệ thống DNS được thu
thập, sau đó qua khâu tiền xử lý nhằm tách các tên miền được truy vấn và trích xuất các đặc trưng của mỗi tên miền
cho khâu huấn luyện. Trong khâu huấn luyện, thuật toán học máy Rừng ngẫu nhiên (Random Forest) được áp dụng để
học ra Bộ phân loại. Tập dữ liệu sử dụng cho khâu huấn luyện đã được gán nhãn, gồm (1) tập tên miền bình thường,
hay lành tính và (2) tập tên miền botnet. Chi tiết về các tập dữ liệu cho thử nghiệm được mô tả trong mục IV.A.
Trong giai đoạn phát hiện của mô hình, các truy vấn DNS được giám sát và qua quá trình tiền xử lý đến khâu
phân loại sử dụng Bộ phân loại sinh từ giai đoạn huấn luyện để xác định một tên miền là bình thường, lành tính hay tên
miền sử dụng bởi DGA botnet.

Hình 2. Mô hình phát hiện DGA botnet dựa trên học máy: (a) Giai đoạn huấn luyện và (b) Giai đoạn phát hiện
B. Khái quát về học máy và thuật toán rừng ngẫu nhiên
1. Khái quát về học máy
Học máy (Machine learning) là một lĩnh vực của khoa học máy tính, liên quan đến việc nghiên cứu và xây
dựng các kỹ thuật cho phép máy tính có khả năng tự học dựa trên dữ liệu đưa vào để giải quyết những vấn đề cụ thể
[12]. Dựa theo phương pháp học, các kỹ thuật học máy thường được chia làm 3 nhóm chính: học có giám sát, học
không giám sát và học bán giám sát [12]. Mỗi phương pháp học có ưu nhược điểm riêng và có miền ứng dụng riêng.
Trong bài báo này, chúng tôi sử dụng thuật toán học máy có giám sát Rừng ngẫu nhiên trong mô hình phát hiện DGA
botnet. Rừng ngẫu nhiên là một thuật toán học máy có giám sát - một thành viên trong chuỗi thuật toán Cây quyết định
(Decision Tree). Rừng ngẫu nhiên cho độ chính xác phân loại cao, tốc độ xử lý khá nhanh và được ứng dụng rộng rãi
trong nhiều lĩnh vực của Khoa học máy tính [12]. Đây cũng là thuật toán học máy cho kết quả phân loại phát hiện
botnet tốt nhất được thử nghiệm trong [10][11].
2. Thuật toán Rừng ngẫu nhiên
Ý tưởng của thuật toán Rừng ngẫu nhiên là tạo ra một số cây quyết định. Các cây quyết định này sẽ chạy và
cho kết quả độc lập. Câu trả lời được dự đoán bởi nhiều cây quyết định nhất sẽ được Rừng ngẫu nhiên lựa chọn [12].
Để đảm bảo các cây quyết định không giống nhau, Rừng ngẫu nhiên sẽ ngẫu nhiên chọn ra một tập con các đặc trưng ở
mỗi nút. Các tham số còn lại được sử dụng trong Rừng ngẫu nhiên giống như trong cây quyết định. Chi tiết về thuật
toán Rừng ngẫu nhiên, độc giả có thể tham khảo trong tài liệu [12].
C. Tiền xử lý dữ liệu
1. Giới thiệu
Như đã đề cập trong mục III.A, hai nhiệm vụ chính của khâu tiền xử lý dữ liệu bao gồm (1) làm sạch dữ liệu
truy vấn DNS và (2) trích xuất các đặc trưng của tên miền truy vấn phục vụ cho khâu huấn luyện và phát hiện. Do mô
hình phát hiện DGA botnet chỉ sử dụng tên miền truy vấn trong dữ liệu truy vấn DNS, nhiệm vụ (1) làm sạch dữ liệu
truy vấn DNS thực hiện việc tách tên miền trong yêu cầu truy vấn (DNS Query) mà các máy khách gửi đến hệ thống
4 ĐỊNH DẠNG CHO VIỆC IN ẤN BÀI BÁO TRONG KỶ YẾU CỦA FAIR

DNS để tìm địa chỉ IP tương ứng. Các tên miền sau trích xuất được lưu vào tập dữ liệu tên miền cho nhiệm vụ tiền xử
lý tiếp theo.
Nhiệm vụ (2) trích xuất các đặc trưng của tên miền truy vấn thực hiện việc tính toán các giá trị cho các đặc
trưng của tên miền và biểu diễn mỗi tên miền thành một vector đặc trưng làm đầu vào cho khâu huấn luyện và phát
hiện. Chúng tôi sử dụng 18 đặc trưng đề xuất trong nghiên cứu trước đây của nhóm [10][11] và bổ sung thêm 4 đặc
trưng mới để vector hoá các tên miền nhằm cải thiện hiệu quả phát hiện. Các đặc trưng sử dụng gồm 4 nhóm sau:
 Nhóm 1 gồm 8 đặc trưng thống kê từ vựng cho các cụm 2-gram (bi-gram) trích xuất từ mỗi tên miền. Các đặc
trưng này được ký hiệu là f1, f2, f3, f4, f5, f6, f7, f8.
 Nhóm 2 gồm 8 đặc trưng thống kê từ vựng cho các cụm 3-gram (tri-gram) trích xuất từ mỗi tên miền. Các đặc
trưng này được ký hiệu là f9, f10, f11, f12, f13, f14, f15, f16.
 Nhóm 3 gồm 2 đặc trưng phân bố nguyên âm của tên miền. Các đặc trưng này được ký hiệu là f17, f18.
 Nhóm 4 gồm 4 đặc trưng mới bổ sung, bao gồm tên miền băm, giá trị dự kiến cho mỗi tên miền, số lượng từ
có nghĩa trong mỗi tên miền và độ dài tên miền. Các đặc trưng này được ký hiệu là f19, f20, f21 và f22.
2. Các đặc trưng n-gram (nhóm 1 và 2)
Bi-gram hay 2-gram là một cụm gồm 2 ký tự kề nhau được trích ra từ một chuỗi ký tự. Ví dụ, với chuỗi
“example” gồm các bi-gram: ex, xa, am, mp, pl, le. Một tên miền có thể chứa các ký tự trong tập 26 ký tự chữ cái (a-z),
các ký tự số (0-9), ký tự “.” và “-”, do đó tổng số bi-gram có thể có là TS(bi-gram) = 38*38=1.444. Từ tập hợp các tên
miền bình thường trích rút ra danh sách gồm N cụm bi-gram thường xuyên xuất hiện nhất, ký hiệu là DS(bi-gram).
DS(bi-gram) được sử dụng cho việc tính toán 8 đặc trưng trong Nhóm 1 cho từng tên miền.
Tri-gram hay 3-gram là một cụm gồm 3 ký tự kề nhau được trích ra từ một chuỗi ký tự. Ví dụ, với chuỗi
“example” gồm các tri-gram: exa, xam, amp, mpl, ple. Tương tự cách tính tổng số bi-gram, tổng số tri-gram có thể có
TS(tri-gram) = 38*38*38=54.872. Từ tập hợp các tên miền bình thường trích rút ra danh sách gồm M cụm tri-gram có
tần suất xuất hiện cao nhất, ký hiệu DS(tri-gram). DS(tri-gram) được sử dụng cho việc tính toán 8 đặc trưng trong
Nhóm 3 cho từng tên miền.
Các đặc trưng của bi-gram và tri-gram (gọi chung là n-gram) cho từng tên miền d được tính toán theo cách
tương tự nhau với [fk] là ký hiệu của đặc trưng như sau [10][11]:
 [f1,f9] count(d) là số lượng n-gram của tên miền d có trong DS(n-gram).
 [f2,f10] m(d) là phân bố tần suất chung của các n-gram của tên miền d, được tính theo công thức:
 m(d) ∑𝑐𝑜𝑢𝑛𝑡(𝑑)
𝑖=1 𝑓(𝑖) ∗ 𝑖𝑛𝑑𝑒𝑥(𝑖) (1)
trong đó, f(i) là là tổng số lần xuất hiện của n-gram i trong DS(n-gram) và index(i) là thứ hạng của n-gram i
trong TS(n-gram).
 [f3,f11] s(d) là trọng số n-gram, được tính theo công thức:
𝑐𝑜𝑢𝑛𝑡(𝑑)
∑𝑖=1 𝑓(𝑖)∗𝑣𝑡(𝑖)
 s(d) =  (2)
𝑐𝑜𝑢𝑛𝑡(𝑑)

trong đó, vt(i) là thứ hạng của n-gram i trong DS(n-gram).


 [f4,f12] mtb(d) là trung bình phân bố tần suất chung của các n-gram của tên miền d, được tính theo công thức:
 mtb(d) = m(d) / (len(d)) (3)
trong đó, len(d) là là tổng số các n-gram có trong tên miền d.
 [f5,f13] stb(d) là trung bình trọng số n-gram của tên miền d, được tính theo công thức:
 stb(d) = s(d) / (len(d)) (4)
 [f6,f14] t(d) là trung bình số lượng n-gram phổ biến của tên miền d, được tính theo công thức:
 t(d) = count(d) / (len(d)) (5)
 [f7,f15] ts(d) là trung bình tần suất n-gram phổ biến của tên miền d, được tính theo công thức:
𝑐𝑜𝑢𝑛𝑡(𝑑)
∑𝑖=1 𝑓(𝑖)
 ts(d) = (6)
𝑙𝑒𝑛(𝑑)
 [f8,f16] entropy(d) là entropy của tên miền d, được tính theo công thức:
𝑐𝑜𝑢𝑛𝑡(𝑑) 𝑣𝑡(𝑖) 𝑣𝑡(𝑖)
 entropy(d) = -∑𝑖=1 ∗ 𝑙𝑜𝑔⁡( ) (7)
𝐿 𝐿

trong đó, L là số cụm n-gram phổ biến trong tập tên miền bình thường, L=N với bi-gram và L=M với tri-gram.
3. Các đặc trưng nguyên âm (nhóm 3)
Hai đặc trưng về nguyên âm của tên miền được tính toán như sau [10][11]:
Vũ Xuân Hạnh, Hoàng Xuân Dậu 5

 [f17] countna(d) là số lượng nguyên âm có trong tên miền d.


 [f18] tna(d) là trung bình số nguyên âm của tên miền d, được tính theo công thức:
𝑐𝑜𝑢𝑛𝑡𝑛𝑎(𝑑)
 tna(d) = (8)
𝑙𝑒𝑛(𝑑)

4. Các đặc trưng bổ sung (nhóm 4)


a) Tên miền băm
Thống kê trong 42 họ tên miền DGA [14], có 5 họ tên miền DGA sử dụng giá trị băm hoặc ký hiệu thập lục
phân làm tên miền, như minh hoạ trong Bảng 1. Họ bamital botnet sử dụng tên miền là giá băm MD5 và sinh 26 tên
miền 1 ngày. Họ dyre botnet sử dụng tên miền có độ dài cố định là 34 ký tự, trong đó lấy 1 ký tự bắt đầu trong tập
[a,..,z] với 33 ký tự từ giá trị băm SHA256 và sinh 1.000 tên miền mỗi ngày. Họ pspy botnet sử dụng tên miền có độ
dài cố định là 16 và sử dụng ký tự thập lục phân với tổng cộng chỉ 50 tên miền. Họ omexo botnet sử dụng tên miền có
độ dài cố định là 32 và sử dụng ký tự thập lục phân với tổng cộng chỉ 20 tên miền. Trong khi đó họ tinynuke botnet sử
dụng tên miền có độ dài cố định là 32 và sử dụng ký tự thập lục phân, và sinh 32 tên miền mỗi ngày. Tên miền băm và
các ký tự thập lục phân không được sử dụng trong các tên miền lành tính [13]. Từ phân tích trên, chúng tôi đề xuất sử
dụng đặc trưng tên miền băm với một trong 2 giá trị: là tên miền băm hay không là tên miền băm.
Bảng 1. Một số họ DGA botnet sử dụng giá trị băm hoặc ký tự thập lục phân trong tên miền
Họ botnet Tên miền băm botnet sử dụng
cd8f66549913a78c5a8004c82bcf6b01.info
bamital aa24603b0defd57ebfef34befde16370.cz.cc
5e6efdd674c134ddb2a7a2e3c603cc14.org
l54c2e21e80ba5471be7a8402cffb98768.so
dyre wdd7ee574106a84807a601beb62dd851f0.hk
jaa12148a5831a5af92aa1d8fe6059e276.ws
484b072f94637588.net
pspy 3164168f83658393.net
abfb8a26a85ff915.info
eef795a4eddaf1e7bd79212acc9dde16.net
omexo fff1834cbcd5ba96ca75fdae9c44cf5d.net
35262768764bd6c908c386b532a3dc2f.net
8c28b41611c50aa0494df096e4d0444b.com
tinynuke e8d1e174d60449c80a849936eff4fe9e.com
3ce623333166e4a227d5eb2fef098f60.com
b) Giá trị dự kiến cho mỗi tên miền
Mặc dù độ dài của một số họ tên miền DGA tương tự như độ dài của tên miền lành tính, các thuật toán sinh
tên miền tự động DGA được thiết kế để sinh các tên miền tránh bị trùng lặp với các tên miền lành tính hiện có. Trên
thực tế, thông qua phân tích thống kê, chúng tôi thấy rằng phân phối tần suất của 38 ký tự (bao gồm 26 chữ cái, 10 chữ
số, dấu chấm và dấu gạch ngang) có sự khác biệt đáng kể giữa tên miền lành tính và tên miền DGA. Tên miền DGA
có phân phối rất ổn định và đều nhau, trong khi phân phối của tên miền lành tính thường không ổn định và không đồng
đều. Do đó, dựa trên đặc điểm này, chúng tôi đề xuất sử giá trị dự kiến cho mỗi tên miền làm một đặc trưng
phân loại [15]. Giá trị dự kiến cho mỗi tên miền được tính theo phương pháp sau: Cho một tên miền X gồm các chữ cái
x1 , x2 ,...xn và các giá trị xác suất xuất hiện dự kiến tương ứng là p( x1 ), p( x2 ),... p( xn ) , giá trị dự kiến cho mỗi tên miền
EOD(X) tính được tính theo công thức sau:
k

 n( x )  p ( x )
i i

EOD ( X )  i 1
k
(9)
 n( x ) i
i 1

Trong đó, k là số ký tự riêng biệt xuất hiện; p ( xi ) là xác suất xuất hiện của ký tự xi được tính theo Error!
Reference source not found., xác suất này được tính toán trên 100.000 tên miền lành tính từ [13]; và n( xi ) là số lần
xuất hiện ký tự xi . Ví dụ:
EOD("google") = (2×2.4 + 2x7.28 + 9.69 + 4.65) / 6 = 5.61
EOD("glrmwqh") = (2.4 + 4.65 + 6.44 + 3.37 + 1.2 + 0.21 + 2.56) / 6 = 2.97
c) Số lượng từ có nghĩa trong mỗi tên miền
Theo phân tích của chúng tôi, các tên miền lành tính thường có cấu trúc là tổ hợp các từ trong tiếng Anh nói
chung. Các tên miền DGA thì thường không có cấu trúc như vậy. Chúng tôi sử dụng một bộ từ điển tiếng Anh gồm
58.110 từ có độ dài từ 3 ký tự trở lên để kiểm tra số lượng từ có nghĩa xuất hiện trong tên miền là bao nhiêu và sử dụng
làm một đặc trưng phân loại.
6 ĐỊNH DẠNG CHO VIỆC IN ẤN BÀI BÁO TRONG KỶ YẾU CỦA FAIR

Bảng 2. Xác suất xủa 38 ký tự xuất hiện trong 100.000 tên miền lành tính
a 9.35 n 6.12 0 0.18
b 2.27 o 7.28 1 0.24
c 3.87 p 2.91 2 0.23
d 3.26 q 0.21 3 0.15
e 9.69 r 6.44 4 0.16
f 1.67 s 6.48 5 0.1
g 2.4 t 6.13 6 0.09
h 2.56 u 3.23 7 0.09
i 7.4 v 1.37 8 0.1
j 0.55 w 1.2 9 0.08
k 1.9 x 0.67 . 0
l 4.65 y 1.67 - 1.26
m 3.37 z 0.68
d) Độ dài tên miền
Trong danh sách các họ tên miền DGA [14], độ dài các tên miền DGA đều lớn hơn bằng 5 và thường nằm
trong khoảng từ 5 đến 20 ký tự. Tuy nhiên, cũng có một số lượng nhỏ họ botnet sử dụng tên miền có độ dài khá lớn
như 28, 32, 34 ký tự… Chúng tôi kiểm tra 300.000 tên miền lành tính từ [13] và thấy rằng, có tới 16.281 tên miền lành
tính có độ dài nhỏ hơn 5 và thông thường độ dài nằm trong khoảng từ 6 đến 16 ký tự. Vì số lượng tên miền DGA và
tên miền lành tính có độ dài nằm trong khoảng 5 – 20 ký tự là rất cao nên với đặc trưng này, chúng tôi sẽ phân loại
được các tên miền có độ dài nhỏ hơn 5 ký tự là những tên miền lành tính. Qua thống kê cho thấy, có khoảng 5% tên
miền lành tính có độ dài nhỏ hơn 5 ký tự. Những tên miền này chủ yếu là các tên miền viết tắt bởi các phụ âm của các
từ cần diễn đạt. Do đó, với các đặc trưng đánh giá về tần suất xuất hiện nguyên âm, số nguyên âm, tỷ lệ phụ âm,
nguyên âm… sẽ thuộc diện nghi ngờ và bị phân loại thành tên miền DGA. Do vậy đặc trưng độ dài tên miền nhỏ hơn 5
ký tự được bổ sung nhằm tăng hiệu quả phân loại cho trường hợp này.
IV. THỬ NGHIỆM VÀ ĐÁNH GIÁ
A. Tập dữ liệu thử nghiệm
Để đánh giá độ chính xác phân loại tên miền DGA và tên miền lành tính sử dụng thuật toán học máy với các
đặc trưng mới, chúng tôi sử dụng các tập dữ liệu tên miền đã được bóc tách và gán nhãn, bao gồm tập các tên miền
lành tính và tập các tên miền DGA do botnet sử dụng. Chúng tôi chọn 320.000 tên miền lành tính trong top 1 triệu tên
miền do Alexa thống kê [13] và 320.000 tên miền DGA trong 39 họ DGA được liệt kê trong [14]. Các tên miền từ tập
lành tính được gán nhãn Good và các tên miền DGA được gán nhãn Bad.
Bảng 3. Thành phần các tập dữ liệu huấn luyện và thử nghiệm

Tập dữ liệu huấn luyện Số lượng bản ghi lấy từ


và kiểm thử Tập nhãn “Good” Tập nhãn “Bad”
Tập huấn luyện T1 100.000 100.000
Tập huấn luyện T2 150.000 50.000
Tập huấn luyện T3 50.000 150.000
Tập huấn luyện T4 200.000 200.000
Tập kiểm thử Test 20.000 20.000
Dữ liệu thử nghiệm được tổ chức thành 4 tập sử dụng cho huấn luyện, bao gồm các tập ký hiệu T1, T2, T3, T4
và tập cho kiểm thử ký hiệu Test. Thành phần tên miền của các tập dữ liệu trên cho như Bảng 1. Trong số các tập dữ
liệu huấn luyện, tập T4 là tập hợp của 2 tập T2 và T3. Từ tập dữ liệu ban đầu, các tên miền sẽ được xử lý để bỏ đi phần
tên miền mức cao nhất. Ví dụ, với tên miền “example.com”, sau khi qua xử lý, dữ liệu thu được sẽ là “example”.
B. Phương pháp đánh giá
Các độ đo đánh giá được chúng tôi sử dụng là:
 Độ chính xác (Pre) là số lượng tên miền DGA được phân loại chính xác chia cho tổng số tên miền DGA và
được tính theo công thức:
TP
Pre  (10)
TP  FN
 Độ chính xác (ACC) là tổng số miền được phân loại chính xác chia cho tổng số miền được phân loại và được
tính theo công thức:
TP  TN
ACC  (11)
TP  TN  FP  FN
Vũ Xuân Hạnh, Hoàng Xuân Dậu 7

 Tỷ lệ dương tính giả (FPR) được xác định là số lượng tên miền lành tính được phân loại là DGA (cảnh báo
nhầm) chia cho tổng tên miền lành tính và được tính theo công thức sau:
FP
FPR  (12)
FP  TN
 Tỷ lệ âm tính giả (FNR) được xác định là số lượng tên miền DGA được phân loại là tên miền lành tính (bỏ
sót) chia cho tổng số tên miền DGA và được tính theo công thức sau:
FN
FNR  (13)
FN  TP
Trong đó: TP là số lượng các bản ghi gán nhãn “Bad” được phân loại đúng, TN là số lượng các bản ghi gán
nhãn “Good” được phân loại đúng, FP là số lượng các bản ghi gán nhãn “Good” được phân loại sai thành “Bad” và FN
là số lượng các bản ghi gán nhãn “Bad” được phân loại sai thành “Good”.
C. Kết quả
Chúng tôi thử nghiệm với tập kiểm thử Test và bốn tập huấn luyện T1, T2, T3, T4 sử dụng kỹ thuật học máy
có giám sát Rừng ngẫu nhiên với 30 cây. Trước hết, để đánh giá 4 đặc trưng mới được đề xuất bổ sung trong bài báo
này, chúng tôi thử nghiệm với 18 đặc trưng trong báo cáo trước đây [10][11]. Sau đó, chúng tôi lần lượt thêm vào các
đặc trưng đã nêu ở phần III.C. Các kết quả thử nghiệm cho trên các Bảng 4, 5, 6, 7 và 8.
Bảng 4. Kết quả phân loại sử dụng 18 đặc trưng

Tập huấn luyện ACC FPR FNR Pre


T1 95.99% 3.00% 5.03% 94.98%
T2 95.00% 1.17% 8.84% 91.17%
T3 95.62% 6.11% 2.64% 97.36%
T4 96.10% 2.78% 5.02% 94.98%
Bảng 5. Kết quả phân loại sử dụng 19 đặc trưng (thêm f19)
Tập huấn luyện ACC FPR FNR Pre
T1 96.09% 2.87% 4.95% 95.05%
T2 94.90% 1.27% 8.92% 91.08%
T3 95.63% 6.03% 2.70% 97.31%
T4 96.06% 2.77% 5.11% 94.90%
Bảng 6. Kết quả phân loại sử dụng 20 đặc trưng (thêm f20)
Tập huấn luyện ACC FPR FNR Pre
T1 96.89% 2.54% 3.67% 96.34%
T2 95.98% 0.95% 7.08% 92.92%
T3 96.50% 5.15% 1.84% 98.17%
T4 96.92% 2.39% 3.76% 96.24%
Bảng 7. Kết quả phân loại sử dụng 21 đặc trưng (thêm f21)

Tập huấn luyện ACC FPR FNR Pre


T1 97.08% 2.53% 3.31% 96.69%
T2 96.25% 0.92% 6.59% 93.42%
T3 96.68% 5.15% 1.48% 98.52%
T4 97.21% 2.29% 3.29% 96.71%
Bảng 8. Kết quả phân loại sử dụng 22 đặc trưng (thêm f22)
Tập huấn luyện ACC FPR FNR Pre
T1 97.10% 2.45% 3.34% 96.67%
T2 96.10% 0.98% 6.82% 93.19%
T3 96.61% 5.19% 1.59% 98.42%
T4 97.26% 2.25% 3.24% 96.77%
D. Nhận xét
Từ kết quả cho trên các Bảng 4, 5, 6, 7 và 8, có thể rút ra một số nhận xét sau:
 Khi bổ sung 4 đặc trưng phân loại mới vào mô hình phát hiện đã có sử dụng 18 đặc trưng [10][11], độ chính
xác phân loại chung ACC, độ chính xác Pre đều tăng và các tỷ lệ phát hiện sai FNR, FPR đều giảm, trừ trường
hợp ở Bảng 5, tập huấn luyện T2. Trong trường hợp tốt nhất ở Bảng 8, tập huấn luyện T4 và khi bổ sung cả 4
đặc trưng, các độ đo phân loại tốt hơn đáng kể so với kết quả phân loại của mô hình ban đầu. Cụ thể, độ chính
8 ĐỊNH DẠNG CHO VIỆC IN ẤN BÀI BÁO TRONG KỶ YẾU CỦA FAIR

xác phân loại ACC tăng 1.16% (97.26 so với 96.10), độ chính xác dương tăng 1.79% (96.77 so với 94.98), tỷ
lệ dương tính giả giảm 0.53% (2.25 so với 2.78) và tỷ lệ âm tính giả giảm 1.78% (3.24 so với 5.02).
 Sở dĩ hiệu quả phân loại được cải thiện khi sử dụng 4 đặc trưng mới trong mô hình phát hiện là do cả 4 đặc
trưng mới đều góp phần làm tăng khả năng phân biệt giữa các tên miền lành tính và các tên miền DGA. Cụ
thể, đặc trưng tên miền băm giúp phân biệt nhóm tên miền DGA sử dụng giá trị băm, hoặc ký tự thập lục
phân; đặc trưng giá trị dự kiến cho mỗi tên miền giúp tăng khả năng phân biệt dựa trên thống kê; số lượng từ
có nghĩa trong mỗi tên miền lành tính thường cao hơn so với tên miền DGA; và độ dài tên miền nhỏ hơn 5
thường là tên miền lành tính.
 Nhược điểm của việc bổ sung 4 đặc trưng mới là làm tăng thời gian huấn luyện và phát hiện do làm tăng kích
thước véc tơ biểu diễn mỗi tên miền. Mặc dù vậy, theo khảo sát của chúng tôi, ảnh hưởng này không quá lớn.
V. KẾT LUẬN
Trong bài báo này, chúng tôi đề xuất bổ sung 4 đặc trưng phân loại mới kết hợp với 18 đặc trưng đã có để
hình thành 4 nhóm đặc trưng phân loại tên miền nhằm nâng cao độ chính xác phát hiện và giảm tỷ lệ phát hiện sai. Các
kết quả thử nghiệm trên tập dữ liệu mở rộng khẳng định, các đặc trưng bổ sung giúp cải thiện đáng kể hiệu quả phát
hiện. Đặc biệt, trong trường hợp bổ sung cả 4 đặc trưng tên miền mới, độ chính xác phân loại chung ACC tăng 1.16%,
độ chính xác dương Pre tăng 1.79% và tỷ lệ âm tính giả giảm 1.78%.
Trong tương lai, chúng tôi tiếp tục nghiên cứu, đề xuất các đặc trưng mới giúp cải thiện hơn nữa hiệu quả phát
hiện của mô hình.
VI. TÀI LIỆU THAM KHẢO
[1] Fossi, M., Egan, G., Haley, K., et al., "Symantec Internet Security Threat Report Trends," Symantec Internet
Security Threat Report, vol. 16, pp. 1-20, 2011.
[2] Cục An toàn thông tin, " Báo cáo An toàn thông tin Việt Nam 2016," Cục An toàn thông tin, 2016.
[3] E. Durmaz, DGA classification and detection for automated malware analysis, [Online] https://cyber.wtf/
2017/08/30/dga-classification-and-detection-for-automated-malware-analysis/, truy nhập tháng 2.2019.
[4] K. Alieyan, A. Almomani, A. Manasrah and , M.M. Kadhum, "A survey of botnet detection based on DNS," Nat.
Comput. Appl. Forum, Vols. 28, 1541–1558., 2017.
[5] X. Li, J. Wang and X. Zhang, "Botnet Detection Technology Based on DNS.," J. Future Interne, vol. 55, no.
doi:10.3390/fi9040055, p. 9, 2017.
[6] Perdisci R., Corona I., Dagon D. et al, "Detecting malicious flux service networks through passive analysis of
recursive DNS traces.," Computer Security Applications Conference, 2009. ACSAC’09. pp. 311–320, 2009.
[7] Yadav S, Reddy AKK, Reddy A, Ranjan S, "Detecting algorithmically generated malicious domain names,"
Proceedings of the 10th ACM SIGCOMM conference on Internet measurement, vol. ACM, pp. 48-61, 2010.
[8] Stalmans, E., Irwin, B., "A framework for DNS based detection and mitigation of malware infections on a
network," IEEE Information Security South Africa, pp. 1-8, 2011.
[9] Bilge L., Kirda E., Kruegel C. và cộng sự, "EXPOSURE: Finding Malicious Domains Using Passive DNS
Analysis," NDSS, 2011.
[10] Nguyễn Trọng Hưng, Hoàng Xuân Dậu, Vũ Xuân Hạnh, "Phát hiện Botnet dựa trên phân loại tên miền sử dụng
các kỹ thuật học máy," Tạp chí Thông tin và Truyền thông, trang 32-40, 12/2018.
[11] Hoang X.D. and Nguyen Q.C, Botnet Detection Based On Machine Learning Techniques Using DNS Query Data,
Future Internet, 2018, 10, 43; doi:10.3390/fi10050043.
[12] A. Smola and S. Vishwanathan, "Introduction to Machine Learning," Cambridge University Press: Cambridge,
UK, 2008.
[13] DN Pedia, [Online]. Available: https://dnpedia.com/tlds/topm.php. [Accessed 1 2019].
[14] NetLab 360, [Online]. Available: https://data.netlab.360.com/dga/. [Accessed 1 2019].
[15] Truong DT, "Detecting domain-flux botnet based on DNS traffic features in managed network," SECURITY AND
COMMUNICATION NETWORKS, vol. Security Comm. Networks, 2016.

DETECTING DGA BOTNETS USING MULTIPLE CLASSIFICATION


FEATURES OF DOMAIN NAMES
Vu Xuan Hanh, Hoang Xuan Dau
ABSTRACT—In recent years, botnets have become one of the leading information security risks because they are constantly
evolving in both scale and sophistication. Many types of botnets use DGA techniques to generate and register many different
random domain names for their command and control servers (C&C) against being controlled. Analysis of domain name queries
sent to DNS systems can help detect botnet activities because bots existing in the network also continuously use DGA techniques to
generate domain names and queries the DNS system to find the IP address of C&C servers. The DGA botnet detection models are
based on the classification of domain names automatically generated by botnets with normal domain names that have been
researched and proposed. This paper proposes to add a group of 4 new domain classification features that are combined with other
3 groups of 18 features to improve the detection efficiency of a machine learning-based DGA botnet detection model. Test results
show that the new classification feature group helps significantly increase the detection accuracy and reduce false detection rates.

View publication stats

You might also like