Hệ thống phát hiện tấn công botnet sử dụng Web proxy và Convolutional neural network

TP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT Tp 10, S3, 2020 3-24  
HỆ THỐNG PHÁT HIỆN TẤN CÔNG BOTNET SỬ DỤNG  
WEB PROXY VÀ CONVOLUTIONAL NEURAL NETWORK  
Trần Đắc Tta*, Phm Tun Khiêma, Phm Nguyễn Huy Phươnga  
aKhoa Công nghệ Thông tin, Trường Đại hc Công nghip Thc phm TP. HChí Minh,  
TP. HChí Minh, Vit Nam  
*Tác giliên h: Email: tottd@hufi.edu.vn  
Lch sbài báo  
Nhn ngày 10 tháng 02 năm 2020  
Chnh sa ngày 20 tháng 5 năm 2020 | Chp nhận đăng ngày 15 tháng 6 năm 2020  
Tóm tt  
Botnet đang ngày càng trở thành nhng mối đe dọa nguy him nhất trong lĩnh vực an ninh  
mng, nhiều hướng tiếp cận khác nhau để phát hin tn công bằng botnet đã được nghiên  
cu. Tuy nhiên, dù bất kì hướng tiếp cận nào được sdng, stiến hóa vbn cht ca  
botnet cùng tp các quy luật được định nghĩa sẵn để phát hin ra botnet có thể ảnh hưởng  
đến hiu sut ca hthng phát hiện botnet. Trong bài báo này, chúng tôi đề xut mt họ  
kiến trúc tng quát sdng thuc nhóm Convolutional Neural Network để biến đổi từ đặc  
trưng thô do các công cụ ghi nhn và phân tích network flow cung cấp thành đặc trưng cấp  
cao hơn, từ đó tiến hành phân lp (nhị phân) để đánh giá một flow tương ứng vi tình trng  
bbotnet tn công hay không. Chúng tôi thnghim trên tp CTU-13 vi các cu hình khác  
nhau của convolutional neural network để đánh giá tiềm năng dùng deep learning với  
convolutional neural network vào bài toán phát hiện botnet. Đặc biệt là đề xut hthng  
phát hin Botnet sdng Web proxy. Đây là một kthut giúp trin khai hthng phát hin  
botnet vi chi phí thp mang li hiu qucao.  
Tkhóa: AntiBotDDOS; Botnet; Convolutional neural network; Tn công tchi dch v;  
Web proxy.  
Loi bài báo: Bài báo nghiên cu gc có bình duyt  
Bn quyn © 2020 (Các) Tác gi.  
Cấp phép: Bài báo này được cp phép theo CC BY-NC 4.0  
3
TP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [CHUYÊN SAN KHOA HC TNHIÊN VÀ CÔNG NGH]  
DETECTING WEB-BASED BOTNETS USING A WEB PROXY  
AND A CONVOLUTIONAL NEURAL NETWORK  
Tran Dac Tota*, Pham Tuan Khiema, Pham Nguyen Huy Phuonga  
aThe Faculty of Information Technology, Ho Chi Minh City University of Food Industry,  
Hochiminh City, Vietnam  
*Corresponding author: Email: tottd@hufi.edu.vn  
Article history  
Received: February 10th, 2020  
Received in revised form: May 20th, 2020 | Accepted: June 15th, 2020  
Abstract  
Botnets are increasingly becoming the most dangerous threats in the field of network  
security, and many different approaches to detecting attacks from botnets have been studied.  
Whatever approach is used, the evolution of the botnet's nature and the set of defined rules  
for detecting botnets can affect the performance of botnet detection systems. In this paper,  
we propose a general family of architectures that uses a convolutional neural network group  
to transform the raw characteristics provided by network flow recording and analysis tools  
into higher-level features, then conducts a (binary) class to assess whether a flow  
corresponds to a botnet attack. We experimented on the CTU-13 dataset using different  
configurations of the convolutional neural network to evaluate the potential of deep learning  
on the botnet detection problem. In particular, we propose a botnet detection system that  
uses a web proxy. This technique can be helpful in implementing a low-cost, but highly  
effective botnet detection system.  
Keywords: AntiBotDDOS; Botnet; Botnet detection; Convolutional Neural Network; Web  
proxy.  
Article type: (peer-reviewed) Full-length research article  
Copyright © 2020 The author(s).  
Licensing: This article is licensed under a CC BY-NC 4.0  
4
Trần Đắc Tt, Phm Tun Khiêm, và Phm Nguyễn Huy Phương  
1.  
ĐẶT VẤN ĐỀ  
Botnetmt mng các máy chbxâm hại dưới sự điều khin txa ca  
Botmastercó tiềm năng thực thi quy mô ln nhng tác vụ độc hi khác nhau. Mt số  
ví dụ điển hình là nhng cuc tn công phân tán tchi dch vụ (DDoS), ăn cắp thông tin  
cá nhân và spam. Cùng vi sphát trin nhanh chóng các công nghmáy tính và tốc độ  
truyn tải Internet, botnet đã phát triển mnh mktừ đầu năm 2000. Sự phát trin này  
đòi hỏi nhng hthng phát hin botnet phi thích ng vi vic nâng cp và mra nhu  
cu vhthng phát hin botnet da trên khám phá các mu cu trúc mt cách tự động.  
Trong lĩnh vực này, kĩ thuật gom nhóm và phân loi–được sdng trong tự động hóa  
việc phân tích lưu lượng truyn tiyêu cu mng truyn ti phải được biu din mt cách  
có ý nghĩa để có thcho phép vic nhn dng mu. Vì vy, mt thành phn quan trng  
cho nhng hthống như thế này chính là rút trích những đặc trưng (thuộc tính) ttraffic  
trên đường mng.  
Nhng gói dliu bao gm hai phần chính, tiêu đề gói (header) và ni dung truyn  
ti (payload). Phần tiêu đề lưu giữ thông tin điều khin các giao thc trong khi phn  
payload lưu giữ thông tin ng dụng được sdng trong mng. Vì lý do đó, việc phân tích  
network traffic có thể được thc hin theo theo tng gói (per-packet, dùng mt trong hai  
phn nêu trên) hoc theo tng lung (chsdng những gói tiêu đề tng hp).  
Mt scông trình thc hiện đánh giá cả hai hướng tiếp cn phát hin botnet da  
trên gói payload và lung (Haddadi, Le, Porter, & Zincir-Heywood, 2015). Nhn thy  
rng tp các đặc trưng đã được dùng và tm quan trọng đã được kim chng của phương  
pháp rút trích đặc trưng trong các hướng tiếp cn trên (Haddadi & Zincir-Heywood,  
2014). Mt số công trình đánh giá hai hướng tiếp cn trên mt lung (one flow based)  
da trên mt gói payload (one packet payload based) (Haddadi & ctg., 2015). Vì nhng  
botnet gần đây có xu hướng sdụng mã hóa để che giấu thông tin và phương thức ca  
chúng khi nhng hthng phát hin botnet nên hthng phát hin botnet da trên mt  
lung (one flow based detection system) chiếm ưu thế hơn hệ thng da trên gói dliu  
(packet-based system) vì có thể được dùng để phát hin tn công ngay ckhi ni dung  
traffic bmã hóa.  
Do tp lut phải được định nghĩa sẵn da trên tri thc sn có, kết qukhi phân  
tích, so sánh, và đánh giá hiệu năng của các hthng phát hin da trên lut có thbị ảnh  
hưởng bi vic chn tp dliu và nâng cp tp lut. Snort (Snort, n.d.) và BotHunter  
(Gu, Porras, Yegneswaran, Fong, & Lee, 2007) là các hthng phát hin da trên lut  
thường được dùng để so sánh và đánh giá. Snort là một hthống ngăn ngừa và phát hin  
nhng xâm nhp thông dụng (IDS/IPS). Đây là công cụ mã ngun mnên tp lut ca công  
cnày có thể được sửa đổi mt cách ddàng. BotHunter cũng là một hthng mkhác,  
tn dụng module đánh giá của Snort và sửa đổi tp lut của Snort để dành riêng bit cho  
vic phát hin botnet.  
Phát hin botnet ngày càng trở nên khó khăn hơn khi chúng sử dng các giao thc  
thông dụng như HTTP, các cấu trúc phân tán và các kĩ thuật như mã hóa. Nhiều hthng  
phát hiện botnet đã được đề xut nhằm đối phó vi nhng sự thay đổi trên. Đứng tgóc  
5
TP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [CHUYÊN SAN KHOA HC TNHIÊN VÀ CÔNG NGH]  
độ dliu, mt số các kĩ thuật tp trung chyếu vào phân tích mã ngun và file thc thi  
của malware, trong khi đó các kĩ thuật khác li sdng các dliệu đến tmáy chủ lưu  
tr(host) và dliu mng (network). Ngoài ra, phân tích lưu lượng da trên lut và phát  
hin dliu bất thường là mt trong những hướng tiếp cận được sdng nhiu nht.  
Trong hướng tiếp cn da trên lut và sbất thường trong dliu, các lut và sbt  
thường có thể xác định thông qua phát tích dliu bng việc đánh giá bởi chuyên gia  
hoặc được làm mt cái tự động bng hthng sdng các thut toán máy hc.  
Gu và ctg. (2007) đã phát triển mt hthống như thế vi tên BotHunter, kết hp  
vi cảnh báo Snort IDS để phát hin botnet. Skết hp này da vào vic các botnet có  
nhng phn hoạt động giống nhau trong vòng đời tn ti ca chúng. Phân tích payload  
(Payload analysis) cũng là một phn ca hthng BotHunter này. Wurzinger, Bilge,  
Holz, Goebel, Kruegel, và Kirda (2009) đã đề ra một hướng tiếp cận để phát hin botnet  
da trên sự tương quan ca các lnh (command) và hồi đáp (response) trong dliu truy  
vết được ghi li trong quá trình giao tiếp trong mạng. Các đặc tính trong traffic như số  
lượng các bytes không phi là ASCII trong payload (payload) được phân tích để xác định  
tính cht ca bot. Celik, Raghuram, Kesidis, và Miller (2011) đã đề xut mt hthng  
phát hin hoạt động C&C ca botnet (flow-based botnet C&C activity) sdng header  
ca các gói. Họ đã điều tra vsự ảnh hưởng ca hiu chun của đặc tính lung da trên  
thi gian (time-based flow features). Wang, Huang, và Lin (2011) đề ra một phương pháp  
nhn din các botnet HTTP và IRC da trên các mu hành vi (behavioral pattern) ca  
chúng. Trong hướng tiếp cn này, Họ đã phân tích đặc tính ca các truy vấn DNS (như  
số lượng truy xut DNS tht bi) và luồng TCP để phát hin các tên miền và địa chIP  
đc hi. Zhao, Traore, Ghorbani, Sayed, Saad, và Lu (2012) phát minh ra hthng phát  
hin botnet da trên luồng phân đoạn (flow intervals). Các đặc tính lung ca các gói tin  
lưu lượng dliệu được sdng cùng vi mt sthut toán Machine Learning tp trung  
vào P2P botnet như Waledac.  
Trong phn tiếp theo ca bài báo này, Phn 2 trình bày ni dung chính ca Hệ  
thng phát hin botnet (AntiBotDDOS) với web proxy và chúng tôi đề xut mt hkiến  
trúc tng quát sdng thuộc nhóm Convolutional Neural Network để biến đổi từ đặc  
trưng thô do các công cụ ghi nhn và phân tích network flow cung cấp thành đặc trưng  
cấp cao hơn, từ đó tiến hành phân lp (nhị phân) để đánh giá một flow tương ứng vi tình  
trng bbotnet tn công hay không. Phn 3 là phn thc nghim. Phn 4 là phn kết lun  
và hướng nghiên cu tiếp theo.  
2.  
HTHNG PHÁT HIN BOTNET VI WEB PROXY VÀ CNN  
Hthng phát hin botnet (AntiBotDDOS) với web proxy được xây dng theo  
mô hình application proxy có bsung thêm mt số tính năng để gim thiu tn công bng  
DDOS đến web server như:  
Khả năng tự kim tra và phân biệt người dùng và PC-Bot:  
o Challenge HTTP;  
6
Trần Đắc Tt, Phm Tun Khiêm, và Phm Nguyễn Huy Phương  
o Challenge Java;  
o Phát hin fake IP.  
Khả năng tự hc, tcấu hình để điều chnh các thông snhm tối ưu hoạt  
đng hthng.  
Khả năng xác thực người dùng thông qua cơ chế Captcha.  
Ngoài ra, vviệc xác định ngưỡng hoạt động ca AntiBotDDOS, scó hai ngưỡng  
thiết lập như sau:  
Thiết lp bị động: Web server được cu hình một ngưỡng hoạt động mà ở đó  
các tham sxlý số lượng HTTP request/response đưc thiết lp cố định.  
Cơ chế chủ động: Hthng tự động hc (CNN) và thiết lập ngưỡng xlý  
HTTP request/response.  
2.1.  
Convolutional Neural Network trong phát hin tn công Botnet  
2.1.1. Tính đa dng trong ngun dliu thô  
Công cphát sinh lung (Flow Generation) tóm tt thông tin traffic sdng các  
header ca các packet trong mng. Các công cnày thu thp thông tin các packer vi các  
đặc tính chung, ví dụ như địa chIP, port, nhóm các thông tin này li và thc hin mt số  
tính toán thng kê, ví dụ như số lượng packer trong mỗi flow…  
Trong RFC 2722, một traffic flow được xem là tương ứng vi mt kết ni liên kết  
vi mt nhóm tài nguyên cthể. Phương pháp chung thường được sdụng để xác định  
mt traffic flow là sdng thp ca năm thuc tính theader ca packet, bao gm cả  
header tng network và tng transport trong TCP/IP network protocol stack. Các thông  
tin này là: Đa chIP nguồn, địa chỉ IP đích, port nguồn, port đích, và giao thc.  
Trên thc tế, có nhiu công cụ để thu thp (collect), xut thông tin (export) và  
giúp phân tích (analyse) traffic mng. Mt scông chtrcchế độ online (ghi nhn  
trc tiếp dliu thoạt động thc tế ca mng) hay offline (phân tích dliệu đã được  
ghi nhnprecaptured tfile).  
Tùy theo tng công chay giải pháp được sdụng để thu thp và rút trích thông  
tin thuc tính cho các flow trên mng, tập đặc trưng (feature set) có thrt khác nhau.  
Mt scông ctrích xut thông tin tlung bao gm:  
Maji (Maji, n.d.) là công cmã ngun mở cài đặt IPFIX, do nhóm nghiên  
cu WAND tại Đại hc Waikato htr. Công cnày trích xut luồng đơn  
7
TP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [CHUYÊN SAN KHOA HC TNHIÊN VÀ CÔNG NGH]  
hướng ttraffic thi gian thc vi giao tiếp Packet CAPture (PCAP) và hu  
hết các định dng file trace phbiến.  
YAF (YAF, n.d.) là công ctrích xut thông tin luồng hai hướng do nhóm  
NetSA ti CERT thiết kế. Công cnày thu thp và trích xut các lung da  
trên IPFIX. Tương tự vi Maji, YAF có thxlý dliu packet tcác file  
đã ghi lại traffic hay ghi nhn trc tiếp từ môi trưng mng.  
Softflowd (Softflowd, n.d.) là công cnhgn cho phép trích xut luồng đơn  
hướng và htrcác phiên bn khác nhau ca NetFlow. Công cnày trích  
xut dliu NetFlow sdng dliệu đã được ghi li vào file, hoc ghi nhn  
thi gian thc từ môi trường mng.  
Tranalyzer (Tranalyzer, n.d.) là công cnhgn cho phép trích xut lung  
đơn hướng và htrphiên bn mrng ca tập đặc trưng NetFlow. Công cụ  
này cũng hỗ trxlý dliệu được ghi li trong tp tin hoc xlý thi gian  
thc ttraffic ca mng.  
Netmate (Netmate, n.d.) là công ctrích xut và phân tích luồng hai hướng.  
Công cụ này cũng hỗ trxlý dliệu được ghi li trong tp tin hoc xlý  
thi gian thc ttraffic ca mng.  
Do tp hợp các đặc trưng được mi công ccung cp có thkhác nhau cvsố  
lượng và ý nghĩa của tng thành phần trong vector đặc trưng, trong phạm vi tìm hiu khả  
năng ứng dụng Convolutional Neural Network vào phân tích và đánh giá để phát hin tn  
công botnet, chúng tôi đề xut mt hkiến trúc tng quát sdng thuc nhóm  
Convolutional Neural Network để biến đổi từ đặc trưng thô do các công cụ ghi nhn và  
phân tích network flow cung cấp thành đặc trưng cấp cao hơn, từ đó tiến hành phân lp  
(nhị phân) để đánh giá một flow tương ng vi tình trng bbotnet tn công hay không.  
2.1.2. Mô hình đề xut  
Hnh 1. Mô hình tng quan vkiến trúc CNN được kho sát  
Hình 1 thhin mô hình tng quan ca kiến trúc CNN đưc chúng tôi chn kho  
sát. Trong kiến trúc này có hai thành phn chính:  
8
Trần Đắc Tt, Phm Tun Khiêm, và Phm Nguyễn Huy Phương  
Giai đoạn biến đổi đặc trưng: Vi mục tiêu để biến đổi và tạo ra đặc trưng  
biu din cp cao ttp thuc tính thô ca flow do các công cghi nhn và  
phân tích traffic mng cung cp. Dliu thô ca mỗi flow được biến đổi qua  
nhiều layer để to ra đặc trưng cấp cao, chun bị cho giai đoạn phân lớp để  
đánh giá flow có phải bbotnet tn công hay không.  
Giai đoạn phân lp: Sdụng đặc trưng cấp cao của flow được to ra trong  
giai đoạn biến đổi đặc trưng, các bước xở giai đoạn phân lớp giúp đánh  
giá flow có phi bbotnet tn công hay không.  
Chi tiết vcách xây dựng giai đoạn biến đổi đặc trưng và giai đoạn phân lớp được  
trình bày trong phn tiếp theo.  
2.1.3. Giai đoạn biến đổi đặc trưng  
Dliệu đầu vào bao gồm m đoạn flow liên tiếp, mỗi đoạn flow được biu din  
bng vector gm d chiều chính là đặc trưng thô được cung cp tcông cphân tích mng  
(Hình 2). Vector đầu vào được tchức dưới dng hai chiu, gồm m dòng (tương ứng vi  
m đoạn flow liên tiếp) và d ct (biu din d thành phn trong vector đặc trưng thô của  
công cphân tích mạng). Ý tưởng chính ca chúng tôi là tn dng cách biu din 2D  
thường gp ca dliu hình nh trong các công trình vConvolutional Neural Network  
trên nh vào bài toán phân tích và phát hin botnet.  
Hnh 2. Biu diễn vector đầu vào  
Thành phn xlý chính ca kiến trúc bao gm K chu k, mi chu kgm mt  
layer convolution và mt layer pooling (Hình 3).  
Hnh 3. Cu trúc chung của giai đon biến đổi đặc trưng  
9
 
TP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [CHUYÊN SAN KHOA HC TNHIÊN VÀ CÔNG NGH]  
Mi layer convolution sdng mt filter bank bao gồm các filter có kích thước  
bng nhau, nhm to ra các kết quả sau khi được lc khác nhau từ vector đặc trưng đầu  
vào. Do kết quả đầu ra ti mi node trong layer convolution là thp tuyến tính ca các  
giá trị đầu vào ca layer này, chúng tôi luôn sdng thêm layer biến đổi phi tuyến ReLU  
(Rectified Linear Unit) ngay sau layer convolution để bsung tính cht phi tuyến vào  
neural network.  
Sau layer convolution, chúng tôi bsung layer pooling bng max pooling vi kích  
thước kernel là 2 × 1. Vic sdụng layer pooling giúp cho các đặc tính ni bật rút ra được  
tlayer convolution có khả năng xuất hin linh hoạt trong biên độ nhất định. Kích thước  
kernel 2 × 1 cho phép liên kết để tng hợp đặc trưng từ các đon flow.  
Chúng tôi định nghĩa các tham số cho layer convolution thi (1 ≤ i K) bao gm:  
kerneli là độ cao của kernel được sdng trong các filter của filter bank. Như  
vy, tt cfilter được dùng trong layer convolution thứ i đều có kích thước  
kerneli × d. Nói cách khác, chúng tôi mun to ra khả năng tương tác trên  
thông tin đặc trưng của mi nhóm gm kerneli dòng liên tiếp trong vector  
feature map.  
niC  
là số lượng filter trong filter bank.  
Sau mi chu k, do vic sdụng layer pooling, độ dài ca mỗi đặc trưng được  
hc khi áp dng mt filter cthtrong filter bank sgiảm đi 50%. Do đó, để có thgiữ  
li nhng thông tin từ đặc trưng từ cp thấp hơn, chúng tôi sdng số lượng filter trong  
C
C
1 i K  
. Trong thnghim,  
filter bank tăng dần qua mi chu kxlý:  
vi  
ni ni+1  
chúng tôi chn giá trị độ cao 3 ≤ kerneli ≤ 5.  
2.1.4 Giai đoạn phân lp  
Hnh 4. Cu trúc chung của giai đon phân lp  
Hình 4 trình bày cu trúc chung của giai đoạn phân lớp. Để hn chế vic quá khp  
khi hun luyn neural network, chúng tôi áp dng kthuật Dropout. Ý tưởng chính ca  
Dropout là mt snode (cùng vi các cnh ni vi node này) sẽ được chn ngu nhiên  
để bqua vi xác sut nhất định khi hun luyn neural network.  
10  
Trần Đắc Tt, Phm Tun Khiêm, và Phm Nguyễn Huy Phương  
2.2.  
Cơ chế xác thực người dùng  
Hình 5. Cơ chế xác thc người dùng ca AntiBotDDOS  
Trong mô hình sdng Web Server Reverse Proxy, toàn btruy cập đến web  
server mc tiêu sẽ được ng dng AntiBotDDOS (Hình 5) kiểm tra theo cơ chế:  
11  
TP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [CHUYÊN SAN KHOA HC TNHIÊN VÀ CÔNG NGH]  
Toàn bHTTP request sẽ được AntiBotDDOS tiếp nhn.  
Nếu HTTP request có cha cookies và mã xác thc hp lthì request này sẽ  
được chuyển đến web server mc tiêu và HTTP response sẽ được trvề  
người dùng.  
Trong trường hp HTTP request không hp l, AntiBotDDOS stiến hành  
challenge theo mt trong ba cách: HTTP challenge, JavaScript challenge, và  
Captcha challenge…(số lượng các module challenge có thmrng theo  
tng phiên bn ca AntiBotDDOS).  
Nếu vượt qua được challenge thì trình duyt snhận được cookies và mã xác  
thực. Ngược li, AntiBotDDOS sghi nhận HTTP request đó được gi từ  
PC-Bots và loi bHTTP request này.  
2.2.1. HTTP Challenge  
Đối vi giao thức HTTP được quy định tại RFC 2616, thì code 3xx được sdng  
trong vic chuyển hướng truy cp (redirection). Khi http request được client gi ti  
AntiBotDDOS. AntiBotDDOS sgi trvcho client http return code 302. Nếu client là  
trình duyt, khi nhận được http return code 302 schuyển hướng truy cập đến mt URL  
do AntiBotDDOS chỉ định và khi truy cp vào URL này, AntiBotDDOS sgi tiếp cho  
client một đoạn JavaScript để to cookies và mã xác thc hp l.  
Ngược li, nếu client không phi là trình duyt, http return code 302 skhông  
được xử lý đúng quy trình. Đối vi các PC-bot, các http request được gi trc tiếp đến  
webserver mà không cn thông qua trình duyệt, các hành vi này được lp trình sn và sẽ  
không đủ thông minh để xlý các code return 302, hoc không tạo ra được các cookies  
hp lệ để truy cp vào tài nguyên.  
2.2.2. JavaScript Challenge  
Trong tình hung btn công DDOS có du hiu tham gia ca các mng botnets  
thì tính năng HTTP challenge được sdụng đầu tiên nhm hn chế và phân loi các yêu  
cu xut phát tcác bots. Trong mt số trường hp các C&C servers giải mã được cookies  
được to ra cho http challenge thì AntibotDDOS sbt chế độ Java challenge.  
Trong chế độ Java Challenge khi request được gi tới AntiBotDDOS và được trả  
vmt đoạn mã JavaScript (khác với JavaScript trong HTTP challenge) đã được xáo trn  
để tăng độ phc tạp. Trong đó đoạn mã này có cha mt key mã hóa. Nếu client là trình  
duyt có bt chức năng thực thi JavaScript thì nó sthực thi đoạn mã JavaScript này để  
to cookies và mã xác thc hp lệ. Sau đó, trình duyệt sẽ dùng thông tin này để gi li  
AntiBotDDOS. Trong trường hợp ngược li Bot skhông xlý challenge này và không  
thto Cookies hp l.  
12  
Trần Đắc Tt, Phm Tun Khiêm, và Phm Nguyễn Huy Phương  
2.2.3. Captcha Challenge  
Khi HTTP request được gi ti AntiBotDDOS. AntiBotDDOS trvmt trang  
web có cha form CAPTCHA và câu trli (Hình 6). Hai thông tin này kết hp vi  
secrect key (một đoạn mã được cu hình sẵn trong AntiBotDDOS) để to thành mã kim  
tra. Khi client nhp câu trli và submit kết qu, AntiBotDDOS dùng kết qunày kết  
hp với secrect key để to ra mã trli. Nếu mã trli và mã kim tra ging nhau,  
AntiBotDDOS strvcho client mt trang web có cha JavaScript và yêu cu client  
to cookies và mã xác thc hp l.  
Trong các phương thức chống DDoS thì đây được xem là biện pháp tương đối  
hu hiệu để ngăn chặn tn công tcác botnet. Tuy nhiên vic bt chế độ Captcha slàm  
ảnh hưởng đến người sdng hp pháp thì hình thành thao tác xác thc mi khi kết ni  
đến Webserver. Phương án sử dụng Captcha được sdng là bin pháp cui cùng, khi tt  
cả các challenges khác đều không có hiu quhoặc năng lực ca Proxy Server là  
AntibotDDOS không đủ để xlý các request tmng botnet quá ln.  
Hình 6. Giao din Captcha Challenge ca AntiBotDDOS  
3.  
THNGHIM  
3.1.  
Bdliu CTU-13  
CTU-13 là mt bdliệu lưu lượng botnet được ghi nhn tại Đại hc CTU, Cng  
hòa Séc, công bố năm 2011. Trong tập dliệu này, traffic được gán nhãn có botnet, hot  
động bình thường và background traffic. Mc tiêu ca tp dliu này là cung cp dataset  
thc tế có kích thước lớn, trong đó traffic được ghi nhn bao gm traffic có botnet tn  
công hòa ln với traffic thông thường và traffic nn.  
Bdliu CTU-13 bao gm 13 ln ghi nhn (gi là kch bnscenario) ca các  
mu botnet khác nhau. Trên mi kch bn, nhóm tác gica CTU-13 cho thc thi mt  
malware cth, sdng nhiu giao thc và thc hiện các hành động khác nhau.  
13  
TP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [CHUYÊN SAN KHOA HC TNHIÊN VÀ CÔNG NGH]  
Bng 1. Trình bày các đặc tính ca 13 kch bn botnet  
Id IRC SPAM CF PS  
DDoS FF P2P US HTTP Note  
1
2
3
4
UDP and ICMP DdoS.  
Scan web proxies.  
5
6
Proprietary C&C. RDP.  
Chinese hosts.  
7
8
Proprietary C&C. Net-BIOS, STUN.  
9
10  
11  
12  
13  
UDP DDoS.  
ICMP DDoS.  
Synchrinization.  
Captcha. Web mail.  
Ghi chú: CF: ClickFraud; PS: Port Scan; FF: FastFlux; US: do nhóm tác giCTU-13 tạo ra và điu khin.  
Mi kch bản được ghi li trong mt tp tin pcap có cha tt ccác gói tin trong  
ba loại lưu lượng truy cp. Các tập tin pcap này đã được xử lý để có được các loi thông  
tin khác, chng hạn như NetFlows, WebLogs… Các phân tích đầu tiên ca bdliu  
CTU-13 được mô tvà công btrong bài báo ca nhóm tác gi(Garcia, Grill, Stiborek,  
Zunino, 2014) sdng NetFlows theo chiều hướng để đại diện cho lưu lượng truy cp  
và gán nhãn. Trên thc tế, NetFlows đơn hướng này không nên sdng vì kết qunhanh  
chóng bị vượt qua đáng kể bi phân tích thhai ca bdliu, sdng NetFlows hai  
chiu. Các NetFlow hai chiu có mt sli thế hơn có hướng:  
NetFlows hai chiu gii quyết vấn đề phân bit gia client và server;  
NetFlows hai chiu bao gm nhiều thông tin hơn;  
NetFlows bao gm nhiu nhãn chi tiết hơn.  
Bng 2. Thng kê thi gian, sgói tin, sNetFlows, và kích thước ca file pcap  
Id  
1
2
3
4
5
6
Duration(hrs)  
6.15  
# Packets  
# NetFlows  
2,824,637  
1,808,123  
4,710,639  
1,121,077  
129,833  
Size  
Bot  
#Bots  
71,971,482  
71,851,300  
167,730,395  
62,089,135  
4,481,167  
52.0GB  
60.0GB  
Neris  
Neris  
1
1
1
1
1
1
4.21  
66.85  
4.21  
121.0GB Rbot  
53.0GB  
37.6GB  
30.0GB  
Rbot  
11.63  
2.18  
Virut  
Menti  
38,764,357  
558,920  
14  
Trần Đắc Tt, Phm Tun Khiêm, và Phm Nguyễn Huy Phương  
Bng 2. Thng kê thi gian, sgói tin, số NetFlows, và kích thước ca file pcap (tt)  
Id  
7
Duration(hrs)  
0.38  
# Packets  
# NetFlows  
114,078  
Size  
Bot  
#Bots  
7,467,139  
5.8GB  
Sogou  
1
8
19.50  
5.18  
155,207,799  
115,415,321  
90,389,782  
6,337,202  
2,954,231  
2,753,885  
1,309,792  
107,252  
123.0GB Murlo  
1
9
94.0GB  
73.0GB  
5.2GB  
Neris  
Rbot  
10  
10  
3
10  
11  
12  
13  
4.75  
0.26  
Rbot  
1.21  
13,212,268  
50,888,256  
325,472  
8.3GB  
NSIS.ay  
Virut  
3
16.36  
1,925,150  
34.0GB  
1
Bng 3. Thng kê số lượng flow có botnet, flow thông thường và flow nn trong  
mi kch bn ca CTU-13  
Scen. Total Flows Botnet Flows  
Normal Flows  
30,387 (1.070%)  
9,120 (0.500%)  
C&C Flows  
Background Flows  
2,753,290 (97.470%)  
1,778,061 (98.330%)  
4,566,929 (96.940%)  
1,094,040 (97.580%)  
124,252 (95.700%)  
546,795 (97.830%)  
112,337 (98.470%)  
2,875,282 (97.32%)  
2,525,565 (91.700%)  
1,187,592 (90.670%)  
96,369 (89.850%)  
1
2,824,636  
1,808,122  
4,710,638  
1,121,076  
129,832  
39,933 (1.410%)  
18,839 (1.040%)  
26,759 (0.560%)  
1,719 (0.150%)  
695 (0.530%)  
1,026 (0.030%)  
2,102 (0.110%)  
2
3
116,887 (2.480%) 63 (0.001%)  
4
25,268 (2.250%)  
4,679 (3.600%)  
7,494 (1.340%)  
1,677 (1.470%)  
72,822 (2.460%)  
49 (0.004%)  
206 (1.150%)  
199 (0.030%)  
26 (0.020%)  
1,074 (2.400%)  
5,099 (0.180%)  
37 (0.002%)  
3 (0.002%)  
5
6
558,919  
4,431 (0.790%)  
37 (0.030%)  
7
114,077  
8
2,954,230  
2,753,884  
1,309,791  
107,251  
5,052 (0.170%)  
9
179,880 (6.500%) 43,340 (1.570%)  
106,315 (8.110%) 15,847 (1.200%)  
10  
11  
12  
13  
8,161 (7.600%)  
2,143 (0.650%)  
38,791 (2.010%)  
2,718 (2.530%)  
7,628 (2.340%)  
31,939 (1.650%)  
325,471  
25 (0.007%)  
1,202 (0.060%)  
315,675 (96.990%)  
1,853,217 (96.260%)  
1,925,149  
Mi quan hgia thi gian ca kch bn, số lượng gói tin, sNetFlows và kích  
thước ca tệp pcap được trình bày trong Bng 2. Bảng này cũng cho biết phn mềm độc  
hại được sdng, và smáy tính bnhim trên mi kch bn.  
Đặc điểm khác bit ca bdliu CTU-13 là đã được nhóm tác giphân tích và  
gán nhãn tng kch bn mt cách thủ công. Quá trình ghi nhãn đã được thc hin bên  
trong các tp tin NetFlows. Bng 3 cho thy mi quan hgia số lượng nhãn cho traffic  
flow nn, có botnet và traffic flow thông thường trong mi kch bn.  
15  
TP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [CHUYÊN SAN KHOA HC TNHIÊN VÀ CÔNG NGH]  
3.2.  
Tiêu chí đánh giá đchính xác  
Quy ước:  
True Positive: Smẫu botnet được nhn biết chính xác là botnet  
False Negative: Smu botnet bnhn nhầm là bình thường  
False Positive: Smẫu bình thường bnhn nhm là botnet  
True Negative: Smẫu bình thường được nhn biết chính xác.  
Để đánh giá tính chính xác của vic phát hin botnet, chúng tôi sdụng độ  
đo DR (Detection Rate) và FPR (False Positive Rate) vẫn thường được sử  
dng trong việc đánh giá phát hiện botnet (Haddadi & Zincir-Heywood,  
2014; Haddadi & ctg., 2015).  
Độ đo DR được định nghĩa là tỉ lgia True Positive vi (True Positive +  
False Negative), cho biết khả năng phát hiện đủ các mu botnet.  
Độ đo FPR được định nghĩa là tỉ lgia False Positive vi (False Positive +  
True Negative), cho biết tlcác mu bình thường bnhn biết nhm thành  
botnet.  
Độ đo TNR (True Negative Rate) được định nghĩa là tỉ lgia True Negative  
vi (True Negative + False Positive), cho biết khả năng phát hiện đủ các mu  
bình thường.  
Độ đo FNR (False Negative Rate) được định nghĩa là tlgia False Negative  
vi (False Negative + True Positive), cho biết tlcác mu botnet bnhn  
nhầm thành bình thường.  
3.3.  
Kết quthc nghim  
Nhóm tác giả đã chn ra tp dliu thnghim là tp con ca các flow trong tp  
CTU-13 gc. Bng 4 trình bày số lượng mẫu (botnet và bình thường) trong tng kch bn  
ca bCTU-13 rút gn. Trong mi kch bn, số lượng mu botnet và mẫu bình thường  
được chn bằng nhau để tránh ảnh hưởng không công bng khi hun luyn mô hình máy  
học để phân lp. Kết quthnghim trên tp dliu rút gọn này đưc công btrên 80%  
(cho mi kch bn).  
Do số lượng mu trong tp dliu rút gọn tương đi ít, chcó kch bn 1, 2, 9, và  
13 có trên 4000 mu, nên chúng tôi không chn sdng tp dliu rút gọn để hun luyn  
thnghiệm mô hình CNN để phát hin botnet.  
16  
Trần Đắc Tt, Phm Tun Khiêm, và Phm Nguyễn Huy Phương  
Bng 4. Số lượng mu trong bCTU-13 rút gn  
Kch bn  
CTU-1  
CTU-2  
CTU-3  
CTU-4  
CTU-5  
CTU-6  
CTU-7  
CTU-8  
CTU-9  
CTU-10  
CTU-11  
CTU-12  
CTU-13  
Smu botnet  
Smẫu bình thường  
Tng smu (flow)  
3233  
2374  
19  
3233  
2374  
19  
6466  
4748  
38  
2
2
4
159  
27  
159  
27  
318  
54  
49  
49  
98  
53  
53  
106  
7606  
142  
20  
3803  
71  
3803  
71  
10  
10  
428  
3803  
428  
3803  
856  
7606  
Vi tp CTU-13 đầy đủ, chúng tôi sdng thnghim vi ba tập đặc trưng sau:  
Tập đặc trưng Argus cơ bản (Argus, n.d.), tập đặc trưng Argus mở rng, và tập đặc trưng  
Tranalyzer (da theo khuyến nghtrong (Haddadi, Phan, & Zincir-Heywood, 2016)). Bng  
5, Bng 6, Bng 7 lần lượt trình bày kết quthnghim trên tp dliu CTU-13 (bản đầy  
đ) vi các tập đặc trưng này. Để tránh vic phthuc vào dliu hun luyn và kho  
sát khả năng của hthng thích nghi vi nhiu tình hung khác nhau, chúng tôi sdng  
phương pháp k-fold vi số lượng phn (fold) là 10. Vi mi giá trK ca số lượng chu kỳ  
trong giai đoạn biến đổi đặc trưng, chúng tôi lần lượt xem xét các cu hình khác nhau ca  
mô hình CNN theo kiến trúc được kho sát. Mi cu hình cthể tương ứng vi btham  
sgm: (1) số lượng filter trong filter bank và kích thước ca filter trong mi chu k; (2)  
số lượng đoạn flow liên tiếp d được dùng. Vi mi cu hình, chúng tôi lần lượt hun luyn  
9/10 số lượng mu và sdng 1/10 số lượng mẫu để kim chứng. Độ chính xác ca cu  
hình tt nhất mà chúng tôi tìm được cho mi giá trKsố lượng chu k, được thhin  
trong Bng 5.  
Qua kết quthnghim chúng ta có ththy là nếu giai đoạn biu diễn đặc trưng  
có ít chu k(K = 1 hay K = 2) để rút trích đặc trưng thì việc nhn biết botnet chưa thật sự  
tốt. Tuy nhiên, khi tăng số lượng chu klên, kết qunhn biết botnet được ci thin (vi  
K = 3 hay K = 4). Chúng tôi không tiếp tc xét vi giá trK 6 vì lúc này cu trúc neural  
network tương đối phc tạp, độ chính xác nếu ci thiện cũng không đáng kể so vi vic  
chi phí tính toán sẽ khá cao và có nguy cơ rơi vào hiện tượng quá khp. Kết quthc  
nghim cho thy tập đặc trưng Argus mở rng có khuynh hướng cho kết qutốt hơn tập  
đặc trưng Argus cơ bản và có kết qutốt tương đương với tập đặc trưng Tranalyzer. Điều  
này cũng phù hợp vi nhn xét khi thnghim các phân lp truyn thng (C4.5, SVM)  
trên tp dliu CTU-13 rút gn (Haddadi & ctg., 2016).  
17  
TP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [CHUYÊN SAN KHOA HC TNHIÊN VÀ CÔNG NGH]  
Bng 5. Kết quthnghim trên CTU-13 (bộ đầy đủ) khi sdng dliệu đầu vào  
là tập đặc trưng Argus cơ bản  
Botnet  
DR  
Bình thường  
TNR  
FPR  
FNR  
CNN được đề xut (K = 1)  
CNN được đề xut (K = 2)  
CNN được đề xut (K = 3)  
CNN được đề xut (K = 4)  
CNN được đề xut (K = 5)  
85.8%  
87.5%  
92.3%  
91.7%  
90.4%  
14.2%  
12.5%  
7.7%  
8.3%  
9.6%  
87.9%  
12.1%  
10.9%  
9.7%  
9.4%  
7.4%  
89.1%  
90.3%  
90.6%  
92.6%  
Bng 6. Kết quthnghim trên CTU-13 (bộ đầy đủ) khi sdng dliệu đầu vào  
là tập đặc trưng Argus mở rng  
Botnet  
DR  
Bình thường  
TNR  
FPR  
FNR  
CNN được đề xut (K = 1)  
CNN được đề xut (K = 2)  
CNN được đề xut (K = 3)  
CNN được đề xut (K = 4)  
CNN được đề xut (K = 5)  
85.9%  
87.8%  
93.2%  
92.4%  
91.3%  
14.1%  
12.2%  
6.8%  
7.6%  
8.7%  
88.7%  
11.3%  
10.8%  
8.3%  
7.5%  
8.1%  
89.2%  
91.7%  
92.5%  
91.9%  
Bng 7. Kết quthnghim trên CTU-13 (bộ đầy đủ) khi sdng dliệu đầu vào  
là tập đặc trưng Tranalyzer.  
Botnet  
DR  
Bình thường  
TNR  
FPR  
FNR  
CNN được đề xut (K = 1)  
CNN được đề xut (K = 2)  
CNN được đề xut (K = 3)  
CNN được đề xut (K = 4)  
CNN được đề xut (K = 5)  
85.9%  
87.8%  
93.2%  
92.4%  
91.3%  
14.1%  
12.2%  
6.8%  
7.6%  
8.7%  
88.7%  
11.3%  
10.8%  
8.3%  
7.5%  
8.1%  
89.2%  
91.7%  
92.5%  
91.9%  
Vic thnghim trên tp CTU-13 vi 13 kch bn ca by loi botnet khác nhau  
cho thy tiềm năng sử dng gii pháp phân lp bng máy hc ng dng convolutional  
neural network vi nhiu lp ẩn. Chúng tôi đã tiến hành thnghim vi nhiu cu hình  
cthkhác nhau ca nhóm các convolutional neural network có kiến trúc gn giống nhau để  
chn ra mt cu hình phù hp, có khả năng phát hiện vi tlchính xác cao các flow botnet.  
18  
Trần Đắc Tt, Phm Tun Khiêm, và Phm Nguyễn Huy Phương  
3.4.  
Mô hình thnghim AntiBotDDOS  
Hình 7. Mô hình kim thử trên môi trường mng LAN  
Web Server  
Thông tin cu hình phn cng: DELL OptiPlex 6th Generation Intel Corei3  
processor, RAM 4 GB, NIC 1 Gbps.  
Hệ điều hành sdng là Microsoft Windows 7 64bit Enterprise Edition.  
Phn mềm đóng vai trò làm dịch vweb server là IIS 7.0.  
Đa chIP Address: 192.168.247.111/24.  
AntiBotDDOS Server  
Thông tin cu hình phn cng: Dell Precision Tower 3420, Intel Core i5  
processor, RAM 8 GB, NIC 1 Gbps.  
Hệ điều hành sdng là FreeBSD 64bit 10.2.  
19  
TP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [CHUYÊN SAN KHOA HC TNHIÊN VÀ CÔNG NGH]  
Phn mềm đóng vai trò làm web application proxy server: NGINX 1.8.0_3,2.  
Đa chIP Address: 192.168.247.113/24.  
BoNeSi:  
BoNeSi là công cgilp tn công DDOS có sdng mng Botnet. Công cnày  
gilập Botnet Traffic để to ra hiu ng ging như tấn công DDOS tht s.  
Sdng ba máy tính có cu hình Dell Precision Tower 3620, Intel  
Corei5processor, RAM 8 GB, NIC 1 Gbps, NIC 1 Gbps.  
Hệ điều hành Ubuntu Server 64bit 15.10.  
IP Address: 192.168.247.114/24, 192.168.247.115/24, 192.168.247.114/24.  
Người dùng hp lệ  
Có ba người dùng hp lsdng Dell Precision Tower 3620, Intel Core  
i5processor, RAM 8 GB, NIC 1 Gbps, NIC 1 Gbps lần lượt vi các trình duyt Internet  
Explorer, Google Chrome, FireFox để truy cp.  
3.5.  
Kch bn tn công  
BoNeSi Servers (Hình 8) to ra HTTP FLOOD tbộ địa chỉ IP đã được thiết lp  
sẵn để kết nối đến danh sách URL. BoNeSi sdụng thư viện libnet và libpcap trên Linux  
để nhn IP Packets tlp mng ca hạt nhân Linux, sau đó nó tiêm IP Packets này vào  
gói tin để gi ti web server mc tiêu. Trong mt HTTP Flood, BoNeSi thiết lp kết ni  
TCP và gi HTTP request ti web server mc tiêu (Hình 8).  
Hình 8. Cách thc kết ni ca BoNeSi-PC-Bots ti web server mc tiêu  
20  
Trần Đắc Tt, Phm Tun Khiêm, và Phm Nguyễn Huy Phương  
Trong HTTP request mà BoNeSi gửi đi sẽ có option “Connection: close” trong  
header line. Với header line như vậy, web server sẽ đóng kết ni TCP li ngay lp tc sau  
khi nó gi HTTP reponse. Ba máy tính sdụng BoNeSi (được gi là BoNeSi Servers),  
mi máy to ra 50.000 PC-Bots vi payload size 1470 bytes, lưu lượng mng ca cuc  
tn công này khong 1.764 Gbps.  
4.  
KT QUVÀ BÀN LUN  
Khi thc hin tn công vi BoNeSi (Hình 9) vào hthng.  
Hình 9. Trng thái tn công ca BoNeSi  
Trong trường hp không sdng AntiBotDDOS thì trng thái ca webserver mc  
tiêu được ghi nhn (Hình 10).  
Hình 10. CPU ca web server mc tiêu trong tình hung btn công DDOS và  
không sdng AntiBotDDOS  
21  
TP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [CHUYÊN SAN KHOA HC TNHIÊN VÀ CÔNG NGH]  
Truy xut từ các máy tính người sdng hp lệ, các request đều bị time out. Điều  
đó cho thấy tác hi của DDoS đlớn để làm vô hiu hóa hoạt động ca Webserver.  
Khi kích hot hthng AntibotDDOS (Hình 11).  
Hình 11. CPU ca web server mc tiêu trong tình hung btn công DDOS và sử  
dng AntiBotDDOS  
Mt trong nhng biu hin hiu quca AntibotDDOS (Hình 11), đó là khi bị tn  
công DDOS bng công cụ Bonesi, dưới sbo vcủa AntiBotDDOS, người dùng vn có  
thtruy cập bình thường vào webserver mc tiêu.  
So sánh kết quả đạt được vi mt ssn phẩm thương mi:  
Trong cơ chế phân biệt người dùng ca sn phẩm thương mại Defense Pro,  
do Radware phát triển, để nhn dạng người dùng và PC-Bots khá ging vi  
module HTTP Challenge của AntiBotDDOS. Cơ chế challenge PC-Bots bng  
cách sdụng code HTTP 302 cũng gần ging vi AntiBotDDOS (Bng 8).  
Không giống như công nghệ ca các nhà cung cp khác, tn công DDOS  
được F5 Network phân chia như sau [Mitigating DDoS Attacks with F5  
TechnologyWhite paper]: Network attacks (layer 3 và layer 4Mô hình  
OSI), session attacks (layers 5 và 6), application attacks (layer 7). Mi loi  
tn công F5 Network sdng mt loi công nghệ được mô tả sơ lược ti  
[Mitigating DDoS Attacks with F5 Technology–White paper]. Đối vi kiu  
tn công DDOS HTTP GET Flood và Recursive GET Flood, nn tng BIG-  
IP của F5 ngăn chặn bng cách sdụng JavaScript để kiểm tra đâu là trình  
duyt web tht scủa người dùng. [Mitigating DDoS Attacks with F5  
TechnologyWhite paper, mc Recursive GET floods], cách thc này gn  
ging vi hoạt động ca AntiBotDDOSmodule JavaScript challenge.  
22  
Tải về để xem bản đầy đủ
pdf 22 trang yennguyen 12/04/2022 3380
Bạn đang xem 20 trang mẫu của tài liệu "Hệ thống phát hiện tấn công botnet sử dụng Web proxy và Convolutional neural network", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfhe_thong_phat_hien_tan_cong_botnet_su_dung_web_proxy_va_conv.pdf