Hệ thống phát hiện tấn công botnet sử dụng Web Proxy và Convolutional Neural Network

Botnet đang ngày càng trở thành những mối đe dọa nguy hiểm nhất trong lĩnh vực an ninh

mạng, nhiều hướng tiếp cận khác nhau để phát hiện tấn công bằng botnet đã được nghiên

cứu. Tuy nhiên, dù bất kì hướng tiếp cận nào được sử dụng, sự tiến hóa về bản chất của

botnet cùng tập các quy luật được định nghĩa sẵn để phát hiện ra botnet có thể ảnh hưởng

đến hiệu suất của hệ thống phát hiện botnet. Trong bài báo này, chúng tôi đề xuất một họ

kiến trúc tổng quát sử dụng thuộc nhóm Convolutional Neural Network để biến đổi từ đặc

trưng thô do các công cụ ghi nhận 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 lớp (nhị phân) để đánh giá một flow tương ứng với tình trạng

bị botnet tấn công hay không. Chúng tôi thử nghiệm trên tập CTU-13 với các cấu 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à đề xuất hệ thống

phát hiện Botnet sử dụng Web proxy. Đây là một kỹ thuật giúp triển khai hệ thống phát hiện

botnet với chi phí thấp mang lại hiệu quả cao.

Hệ thống phát hiện tấn công botnet sử dụng Web Proxy và Convolutional Neural Network trang 1

Trang 1

Hệ thống phát hiện tấn công botnet sử dụng Web Proxy và Convolutional Neural Network trang 2

Trang 2

Hệ thống phát hiện tấn công botnet sử dụng Web Proxy và Convolutional Neural Network trang 3

Trang 3

Hệ thống phát hiện tấn công botnet sử dụng Web Proxy và Convolutional Neural Network trang 4

Trang 4

Hệ thống phát hiện tấn công botnet sử dụng Web Proxy và Convolutional Neural Network trang 5

Trang 5

Hệ thống phát hiện tấn công botnet sử dụng Web Proxy và Convolutional Neural Network trang 6

Trang 6

Hệ thống phát hiện tấn công botnet sử dụng Web Proxy và Convolutional Neural Network trang 7

Trang 7

Hệ thống phát hiện tấn công botnet sử dụng Web Proxy và Convolutional Neural Network trang 8

Trang 8

Hệ thống phát hiện tấn công botnet sử dụng Web Proxy và Convolutional Neural Network trang 9

Trang 9

Hệ thống phát hiện tấn công botnet sử dụng Web Proxy và Convolutional Neural Network trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 22 trang duykhanh 4580
Bạn đang xem 10 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

Tóm tắt nội dung 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

Hệ thống phát hiện tấn công botnet sử dụng Web Proxy và Convolutional Neural Network
net. 
• Độ đo FPR được định nghĩa là tỉ lệ giữa False Positive với (False Positive + 
True Negative), cho biết tỉ lệ các mẫu bình thường bị nhận biết nhầm thành 
botnet. 
• Độ đo TNR (True Negative Rate) được định nghĩa là tỉ lệ giữa True Negative 
với (True Negative + False Positive), cho biết khả năng phát hiện đủ các mẫu 
bình thường. 
• Độ đo FNR (False Negative Rate) được định nghĩa là tỉ lệ giữa False Negative 
với (False Negative + True Positive), cho biết tỉ lệ các mẫu botnet bị nhận 
nhầm thành bình thường. 
3.3. Kết quả thực nghiệm 
Nhóm tác giả đã chọn ra tập dữ liệu thử nghiệm là tập con của các flow trong tập 
CTU-13 gốc. Bảng 4 trình bày số lượng mẫu (botnet và bình thường) trong từng kịch bản 
của bộ CTU-13 rút gọn. Trong mỗi kịch bản, số lượng mẫu botnet và mẫu bình thường 
được chọn bằng nhau để tránh ảnh hưởng không công bằng khi huấn luyện mô hình máy 
học để phân lớp. Kết quả thử nghiệm trên tập dữ liệu rút gọn này được công bố trên 80% 
(cho mỗi kịch bản). 
Do số lượng mẫu trong tập dữ liệu rút gọn tương đối ít, chỉ có kịch bản 1, 2, 9, và 
13 có trên 4000 mẫu, nên chúng tôi không chọn sử dụng tập dữ liệu rút gọn để huấn luyện 
thử nghiệm mô hình CNN để phát hiện botnet. 
Trần Đắc Tốt, Phạm Tuấn Khiêm, và Phạm Nguyễn Huy Phương 
17 
Bảng 4. Số lượng mẫu trong bộ CTU-13 rút gọn 
Kịch bản Số mẫu botnet Số mẫu bình thường Tổng số mẫu (flow) 
CTU-1 3233 3233 6466 
CTU-2 2374 2374 4748 
CTU-3 19 19 38 
CTU-4 2 2 4 
CTU-5 159 159 318 
CTU-6 27 27 54 
CTU-7 49 49 98 
CTU-8 53 53 106 
CTU-9 3803 3803 7606 
CTU-10 71 71 142 
CTU-11 10 10 20 
CTU-12 428 428 856 
CTU-13 3803 3803 7606 
Với tập CTU-13 đầy đủ, chúng tôi sử dụng thử nghiệm với 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ở rộng, và tập đặc trưng 
Tranalyzer (dựa theo khuyến nghị trong (Haddadi, Phan, & Zincir-Heywood, 2016)). Bảng 
5, Bảng 6, Bảng 7 lần lượt trình bày kết quả thử nghiệm trên tập dữ liệu CTU-13 (bản đầy 
đủ) với các tập đặc trưng này. Để tránh việc phụ thuộc vào dữ liệu huấn luyện và khảo 
sát khả năng của hệ thống thích nghi với nhiều tình huống khác nhau, chúng tôi sử dụng 
phương pháp k-fold với số lượng phần (fold) là 10. Với mỗi giá trị K của 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 cấu hình khác nhau của 
mô hình CNN theo kiến trúc được khảo sát. Mỗi cấu hình cụ thể tương ứng với bộ tham 
số gồm: (1) số lượng filter trong filter bank và kích thước của filter trong mỗi chu kỳ; (2) 
số lượng đoạn flow liên tiếp d được dùng. Với mỗi cấu hình, chúng tôi lần lượt huấn luyện 
9/10 số lượng mẫu và sử dụng 1/10 số lượng mẫu để kiểm chứng. Độ chính xác của cấu 
hình tốt nhất mà chúng tôi tìm được cho mỗi giá trị K–số lượng chu kỳ, được thể hiện 
trong Bảng 5. 
Qua kết quả thử nghiệm chúng ta có thể thấy là nếu giai đoạn biểu diễn đặc trưng 
có ít chu kỳ (K = 1 hay K = 2) để rút trích đặc trưng thì việc nhận biết botnet chưa thật sự 
tốt. Tuy nhiên, khi tăng số lượng chu kỳ lên, kết quả nhận biết botnet được cải thiện (với 
K = 3 hay K = 4). Chúng tôi không tiếp tục xét với giá trị K 6 vì lúc này cấu trúc neural 
network tương đối phức tạp, độ chính xác nếu cải thiện cũng không đáng kể so với việc 
chi phí tính toán sẽ khá cao và có nguy cơ rơi vào hiện tượng quá khớp. Kết quả thực 
nghiệm cho thấy tập đặc trưng Argus mở rộng có khuynh hướng cho kết quả tốt hơn tập 
đặc trưng Argus cơ bản và có kết quả tốt tương đương với tập đặc trưng Tranalyzer. Điều 
này cũng phù hợp với nhận xét khi thử nghiệm các phân lớp truyền thống (C4.5, SVM) 
trên tập dữ liệu CTU-13 rút gọn (Haddadi & ctg., 2016). 
TẠP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [CHUYÊN SAN KHOA HỌC TỰ NHIÊN VÀ CÔNG NGHỆ] 
18 
Bảng 5. Kết quả thử nghiệm trên CTU-13 (bộ đầy đủ) khi sử dụng dữ liệu đầu vào 
là tập đặc trưng Argus cơ bản 
Botnet Bình thường 
DR FPR TNR FNR 
CNN được đề xuất (K = 1) 85.8% 14.2% 87.9% 12.1% 
CNN được đề xuất (K = 2) 87.5% 12.5% 89.1% 10.9% 
CNN được đề xuất (K = 3) 92.3% 7.7% 90.3% 9.7% 
CNN được đề xuất (K = 4) 91.7% 8.3% 90.6% 9.4% 
CNN được đề xuất (K = 5) 90.4% 9.6% 92.6% 7.4% 
Bảng 6. Kết quả thử nghiệm trên CTU-13 (bộ đầy đủ) khi sử dụng dữ liệu đầu vào 
là tập đặc trưng Argus mở rộng 
Botnet Bình thường 
DR FPR TNR FNR 
CNN được đề xuất (K = 1) 85.9% 14.1% 88.7% 11.3% 
CNN được đề xuất (K = 2) 87.8% 12.2% 89.2% 10.8% 
CNN được đề xuất (K = 3) 93.2% 6.8% 91.7% 8.3% 
CNN được đề xuất (K = 4) 92.4% 7.6% 92.5% 7.5% 
CNN được đề xuất (K = 5) 91.3% 8.7% 91.9% 8.1% 
Bảng 7. Kết quả thử nghiệm trên CTU-13 (bộ đầy đủ) khi sử dụng dữ liệu đầu vào 
là tập đặc trưng Tranalyzer. 
Botnet Bình thường 
DR FPR TNR FNR 
CNN được đề xuất (K = 1) 85.9% 14.1% 88.7% 11.3% 
CNN được đề xuất (K = 2) 87.8% 12.2% 89.2% 10.8% 
CNN được đề xuất (K = 3) 93.2% 6.8% 91.7% 8.3% 
CNN được đề xuất (K = 4) 92.4% 7.6% 92.5% 7.5% 
CNN được đề xuất (K = 5) 91.3% 8.7% 91.9% 8.1% 
Việc thử nghiệm trên tập CTU-13 với 13 kịch bản của bảy loại botnet khác nhau 
cho thấy tiềm năng sử dụng giải pháp phân lớp bằng máy học ứng dụng convolutional 
neural network với nhiều lớp ẩn. Chúng tôi đã tiến hành thử nghiệm với nhiều cấu hình 
cụ thể khác nhau của nhóm các convolutional neural network có kiến trúc gần giống nhau để 
chọn ra một cấu hình phù hợp, có khả năng phát hiện với tỉ lệ chính xác cao các flow botnet. 
Trần Đắc Tốt, Phạm Tuấn Khiêm, và Phạm Nguyễn Huy Phương 
19 
3.4. Mô hình thử nghiệm AntiBotDDOS 
Hình 7. Mô hình kiểm thử trên môi trường mạng LAN 
Web Server 
• Thông tin cấu hình phần cứng: DELL OptiPlex 6th Generation Intel Corei3 
processor, RAM 4 GB, NIC 1 Gbps. 
• Hệ điều hành sử dụng là Microsoft Windows 7 64bit Enterprise Edition. 
• Phần mềm đóng vai trò làm dịch vụ web server là IIS 7.0. 
• Địa chỉ IP Address: 192.168.247.111/24. 
AntiBotDDOS Server 
• Thông tin cấu hình phần cứng: Dell Precision Tower 3420, Intel Core i5 
processor, RAM 8 GB, NIC 1 Gbps. 
• Hệ điều hành sử dụng là FreeBSD 64bit 10.2. 
TẠP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [CHUYÊN SAN KHOA HỌC TỰ NHIÊN VÀ CÔNG NGHỆ] 
20 
• Phần mềm đóng vai trò làm web application proxy server: NGINX 1.8.0_3,2. 
• Địa chỉ IP Address: 192.168.247.113/24. 
BoNeSi: 
BoNeSi là công cụ giả lập tấn công DDOS có sử dụng mạng Botnet. Công cụ này 
giả lập Botnet Traffic để tạo ra hiệu ứng giống như tấn công DDOS thật sự. 
• Sử dụng ba máy tính có cấu 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 hợp lệ 
Có ba người dùng hợp lệ sử dụng Dell Precision Tower 3620, Intel Core 
i5processor, RAM 8 GB, NIC 1 Gbps, NIC 1 Gbps lần lượt với các trình duyệt Internet 
Explorer, Google Chrome, FireFox để truy cập. 
3.5. Kịch bản tấn công 
BoNeSi Servers (Hình 8) tạo ra HTTP FLOOD từ bộ địa chỉ IP đã được thiết lập 
sẵn để kết nối đến danh sách URL. BoNeSi sử dụng thư viện libnet và libpcap trên Linux 
để nhận IP Packets từ lớp mạng của hạt nhân Linux, sau đó nó tiêm IP Packets này vào 
gói tin để gửi tới web server mục tiêu. Trong một HTTP Flood, BoNeSi thiết lập kết nối 
TCP và gửi HTTP request tới web server mục tiêu (Hình 8). 
Hình 8. Cách thức kết nối của BoNeSi-PC-Bots tới web server mục tiêu 
Trần Đắc Tốt, Phạm Tuấn Khiêm, và Phạm Nguyễn Huy Phương 
21 
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 nối TCP lại ngay lập tức sau 
khi nó gửi HTTP reponse. Ba máy tính sử dụng BoNeSi (được gọi là BoNeSi Servers), 
mỗi máy tạo ra 50.000 PC-Bots với payload size 1470 bytes, lưu lượng mạng của cuộc 
tấn công này khoảng 1.764 Gbps. 
4. KẾT QUẢ VÀ BÀN LUẬN 
Khi thực hiện tấn công với BoNeSi (Hình 9) vào hệ thống. 
Hình 9. Trạng thái tấn công của BoNeSi 
Trong trường hợp không sử dụng AntiBotDDOS thì trạng thái của webserver mục 
tiêu được ghi nhận (Hình 10). 
Hình 10. CPU của web server mục tiêu trong tình huống bị tấn công DDOS và 
không sử dụng AntiBotDDOS 
TẠP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [CHUYÊN SAN KHOA HỌC TỰ NHIÊN VÀ CÔNG NGHỆ] 
22 
Truy xuất từ các máy tính người sử dụng hợp lệ, các request đều bị time out. Điều 
đó cho thấy tác hại của DDoS đủ lớn để làm vô hiệu hóa hoạt động của Webserver. 
Khi kích hoạt hệ thống AntibotDDOS (Hình 11). 
Hình 11. CPU của web server mục tiêu trong tình huống bị tấn công DDOS và sử 
dụng AntiBotDDOS 
Một trong những biểu hiện hiệu quả của AntibotDDOS (Hình 11), đó là khi bị tấn 
công DDOS bằng công cụ Bonesi, dưới sự bảo vệ của AntiBotDDOS, người dùng vẫn có 
thể truy cập bình thường vào webserver mục tiêu. 
So sánh kết quả đạt được với một số sản phẩm thương mại: 
• Trong cơ chế phân biệt người dùng của sản phẩm thương mại Defense Pro, 
do Radware phát triển, để nhận dạng người dùng và PC-Bots khá giống với 
module HTTP Challenge của AntiBotDDOS. Cơ chế challenge PC-Bots bằng 
cách sử dụng code HTTP 302 cũng gần giống với AntiBotDDOS (Bảng 8). 
• Không giống như công nghệ của các nhà cung cấp khác, tấn công DDOS 
được F5 Network phân chia như sau [Mitigating DDoS Attacks with F5 
Technology–White paper]: Network attacks (layer 3 và layer 4–Mô hình 
OSI), session attacks (layers 5 và 6), application attacks (layer 7). Mỗi loại 
tấn công F5 Network sử dụng một loại công nghệ được mô tả sơ lược tại 
[Mitigating DDoS Attacks with F5 Technology–White paper]. Đối với kiểu 
tấn công DDOS HTTP GET Flood và Recursive GET Flood, nền tảng BIG-
IP của F5 ngăn chặn bằng cách sử dụng JavaScript để kiểm tra đâu là trình 
duyệt web thật sự của người dùng. [Mitigating DDoS Attacks with F5 
Technology–White paper, mục Recursive GET floods], cách thức này gần 
giống với hoạt động của AntiBotDDOS–module JavaScript challenge. 
Trần Đắc Tốt, Phạm Tuấn Khiêm, và Phạm Nguyễn Huy Phương 
23 
Bảng 8. Bảng so sánh AntibotDDos với các sản phẩm thương mại 
Thiết bị Max 
Mitigation 
Capacity/ 
Throughput 
Max Legit 
Concurrent 
Sessions 
Max Attack 
Concurrent 
Sessions 
Network 
Operation 
Block Actions 
AntiBotDDOS 10 Gbps 65 536 000 65 536 000 Layer 4, 7 Drop connection 
Radware-
DefensePro 
x06 Series 
 2 000 000 Không giới 
hạn 
Layer 2, 7 Drop packet, reset 
(source, destination, 
both), suspend (source, 
src port, destination, dest 
port or any combination), 
Challenge-Response for 
TCP, HTTP and DNS 
suspicious traffic 
F5-VIPRION 
2100 Blade 
40 Gbps L4, 
18 Gbps L7 
1M L7 requests 
per second 
400K L4 
connections per 
second 
7M-HTTP 
requests per 
second 
12M max L4 
CCU 
L2, L4, L7 
5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 
Trong bài báo này đã trình bày một hướng tiếp cận bài toán hoàn toàn khác so với 
các phương pháp cũ trước đây. Phương pháp đề xuất mới này sử dụng Convolutional 
Neural Network vào phân tích và đánh giá để phát hiện tấn công botnet, chúng tôi đề xuất 
một họ kiến trúc tổng quát sử dụng thuộc nhóm Convolutional Neural Network để biến 
đổi từ đặc trưng thô do các công cụ ghi nhận 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 lớp (nhị phân) để đánh giá một flow tương 
ứng với tình trạng bị botnet tấn công hay không. Qua kết quả thực nghiệm chúng tôi thử 
nghiệm trên tập CTU-13 với các cấu hình khác nhau của convolutional neural network là 
để đá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. Đây là giải pháp tiềm năng và có thể được sử dụng trong tương lai với 
khối lượng flow botnet được ghi nhận đủ nhiều và đa dạng. Chúng tôi đã đề xuất hệ thống 
phát hiện Botnet sử dụng Web proxy. Với khả năng tự kiểm tra và phân biệt người dùng 
và PC-Bot thông qua các kỹ thuật; Challenge HTTP; Challenge Java; Phát hiện fake IP; 
Hệ thống có khả năng tự học, tự cấu hình để điều chỉnh các thông số nhằm tối ưu hoạt 
động phát hiện Botnet. Và khả năng xác thực người dùng thông qua cơ chế Captcha. Đây 
là một kỹ thuật giúp triển khai hệ thống phát hiện Botnet với chi phí thấp mang lại hiệu 
quả cao. 
Trong hướng nghiên cứu tiếp theo chúng tôi sẽ tiếp tục thu thập đủ dữ liệu (với 
khối lượng đủ nhiều) các flow thực tế, đặc biệt là các flow botnet của nhiều loại botnet 
TẠP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [CHUYÊN SAN KHOA HỌC TỰ NHIÊN VÀ CÔNG NGHỆ] 
24 
khác nhau để huấn luyện mô hình convolutional neural network để hoàn thiện các sản 
phẩm có khả năng phát hiện sớm Botnet. 
TÀI LIỆU THAM KHẢO 
Argus. (n.d.). Retrieved from https://openargus.org/. 
Celik, Z. B., Raghuram, J., Kesidis, G., & Miller, A. J. (2011). Salting public traces with 
attack traffic to test flow classifiers. Paper presented at The USENIX 4th CSET 
Workshop, California, USA. 
Garcia, S., Grill, M., Stiborek, H., & Zunino, A. (2014). An empirical comparison of 
botnet detection methods. Computers and Security Journal, 45, 100-123. 
Gu, G., Porras, P., Yegneswaran, V., Fong, M., & Lee, W. (2007). BotHunter: Detecting 
malware infection through ids-driven dialog correlation. Paper presented at The 
16th USENIX Security Symposium, Massachusetts, USA. 
Haddadi, F., Le, C. D., Porter, L., & Zincir-Heywood, A. N. (2015). On the effectiveness 
of different botnet detection approaches. In J. Lopez & Y. Wu (Eds), Information 
security practice and experience (pp. 121-135). Berlin, German: Springer Publishing. 
Haddadi, F., Phan, D. T., & Zincir-Heywood, A. N. (2016). How to choose from different 
botnet detection systems? Istanbul, Turkey: Institute of Electrical and Electronics 
Engineers Publishing. 
Haddadi, F., & Zincir-Heywood, A. N. (2014). Benchmarking the Effect of Flow 
Exporters and Protocol Filters on Botnet Traffic Classification. IEEE Systems 
Journal, 10(4), 1390-1401. 
Maji. (n.d.). Retrieved from https://research.wand.net.nz/software/maji.php. 
Netmate. (n.d.). Retrieved from https://github.com/DanielArndt/netmate-flowcalc. 
Softflowd. (n.d.). Retrieved from  
Snort. (n.d.). Retrieved from Snort: https://www.snort.org. 
Tranalyzer. (n.d.). Retrieved from https://tranalyzer.com/. 
Wang, K., Huang, C., & Lin, S. (2011). A fuzzy pattern-based filtering algorithm for 
botnet detection. Computer Networks, 55, 3275-3286. 
Wurzinger, P., Bilge, L., Holz, T., Goebel, J., Kruegel, C., & Kirda, E. 
(2009). Automatically Generating Models for Botnet Detection. In M. Backers & 
P. Ning (Eds), Computer Science–ESORICS (pp. 232-249). Berlin, German: 
Springer Publishing. 
Zhao, D., Traore, I., Ghorbani, A., Sayed, B., Saad, S., & Lu, W. (2012). Peer to peer 
botnet detection based on flow intervals. In D. Gritzalis, S. Furnell, & M. Theoharidou 
(Eds), Information Security and Privacy Research (IFIP Advances in Information and 
Communication Technology) (pp. 87-102). Berlin, German: Springer Publishing. 
YAF. (n.d.). Retrieved from https://tools.netsa.cert.org/yaf/index.html. 

File đính kèm:

  • pdfhe_thong_phat_hien_tan_cong_botnet_su_dung_web_proxy_va_conv.pdf