CHƯƠNG 1. TỔNG QUAN VỀ TẤN CÔNG VÀ PHÒNG CHỐNG TẤN CÔNG DDOS
1.7. Nghiên cứu, khảo sát về đánh giá thực nghiệm
Trong phần này, chúng tôi đưa ra những khảo sát liên quan đến dữ liệu đánh giá thực nghiệm và kinh nghiệm của các tác giả trong việc đánh giá thực nghiệm các phương pháp của mình.
Trên cơ sở đó, chúng tôi đưa ra mô hình và phương pháp đánh giá thực nghiệm để đánh giá hiệu quả các phương pháp đề xuất.
1.7.1. Khảo sát các tập dữ liệu đánh giá thực nghiệm
Tập dữ liệu kiểm thử có vai trò rất quan trọng trong việc đánh giá các phương pháp đề xuất.
Đặc biệt là các tập dữ liệu chuẩn đã được công bố và được sử dụng bởi nhiều tác giả để đánh giá thực nghiệm. Tuy nhiên, một vấn đề đối với các tập dữ liệu này là chưa có dữ liệu kiểm thử cho tất cả các dạng tấn công hoặc thiếu những đặc trưng hay thông tin cần thiết cho những phương pháp cụ thể.
Đối với hai dạng tấn công TCP Syn Flood và Web App-DDoS là hai dạng tấn công có đặc trưng riêng. Chúng tôi đã nghiên cứu, rà soát nhiều tập dữ liệu nhưng chưa thấy các tập dữ liệu đó đề cập tới dữ liệu kiểm thử cho hai dạng tấn công này.
Để có cơ sở cho những nhận định của tôi, tại nghiên cứu [98, 93] có đưa ra thông tin về các tập dữ liệu kiểm thử với các dạng lưu lượng tương ứng như sau:
Năm Bộ dữ liệu Kiểu của bộ dữ liệu
Phạm vi
Kiểu lưu lượng
Lớp bắt
lưu lượng Địa chỉ IP
1998 FIFA
World Cup Thực Flash HTTP Ứng dụng Được ánh xạ 1998,
1999, 2000
LLDOS 1.0 và
2.0.1 Tổng hợp DDoS TCP Giao vận Thực
1999 KDD Cup Thực Flash,
DDoS TCP Giao vận Được ánh xạ
2001 UCLA Tổng hợp DDoS UDP Giao vận Được ánh
xạ
2007 CAIDA Thực DDoS ICMP Mạng Được ánh
xạ
2009 Waikato Tổng hợp DDoS UDP Giao vận Thực
2009 DARPA Tổng hợp DDoS TCP Giao vận Thực
2012 TUIDS Tổng hợp DDoS
ICMP, UDP,
TCP
Mạng,
Giao vận Thực
2014 Booter Thực DDoS DNS Ứng dụng Thực
Bảng 1.4 Bảng thông tin về tập các dữ liệu kiểm thử Một số tập dữ liệu kiểm thử được chúng tôi mô tả chi tiết như sau:
a) Tập dữ liệu KDDcup99
Tập dữ liệu KDDcup99 [54] là tập dữ liệu được sử dụng rộng rãi nhất để đánh giá các phương pháp phát hiện bất thường. Tập dữ liệu này được xây dựng dựa trên dữ liệu được ghi lại trong chương trình đánh giá hệ thống phát hiện xâm nhập DARPA. Tập huấn luyện bao gồm khoảng 4.900.000 bản ghi, mỗi bản ghi chứa 41 thuộc tính và được gắn nhãn phân loại theo các lớp “Không có tấn công” hoặc “Có tấn công với một kiểu cụ thể”. Tập kiểm tra chứa
khoảng 300.000 bản ghi (mẫu) được gán nhãn với 24 kiểu tấn công. Các kiểu tấn công chủ yếu thường là 04 kiểu sau:
Tấn công DoS: Dạng tấn công mà tin tặc cố tình ngăn người dùng hợp lệ sử dụng dịch vụ do một hệ thống cung cấp. Ví dụ: tấn công SYN Flood, tấn công Smurf và tấn công Teardrop.
Tấn công r2l (remote-to-local): Dạng tấn công mà tin tặc thực hiện xâm nhập vào một máy tính nạn nhân trong khi không có tài khoản đăng nhập nào trên đó. Ví dụ:
tấn công bằng cách đoán mật khẩu.
Tấn công u2r (user-to-root): Dạng tấn công mà tin tặc có quyền truy cập vào một máy tính nạn nhân và tìm cách nâng quyền của người dùng bình thường lên quyền quản trị cao hơn. Ví dụ: tấn công tràn bộ đệm.
Tấn công thăm dò: Dạng tấn công mà tin tặc thực hiện thu thập thông tin về máy nạn nhận. Ví dụ: tấn công thăm dò thông qua quét cổng dịch vụ và tấn công thăm công bằng cách ping-sweep...
b) Tập dữ liệu DARPA 2000
Tập dữ liệu DARPA [12] thường được sử dụng để đánh giá hiệu quả của các phương pháp đề xuất trong việc phát hiện các dạng tấn công phức tạp được thực hiện qua nhiều bước. Tập dữ liệu DARPA 2000 mô phỏng hai kịch bản tấn công DDoS bao gồm LLDOS 1.0 và LLDOS 2.0. Hai kịch bản tấn công này được thực hiện qua 04 bước: (1) thăm dò, (2) xâm nhập vào hệ thống thông qua khai thác lỗ hổng, (3) cài đặt chương trình DDoS trên hệ thống bị xâm nhập và (4) khởi động tấn công DDoS. Kịch bản LLDOS 2.0 khác với LLDOS 1.0 ở chỗ là các cuộc tấn công có tính phức tạp và khó phát hiện hơn.
c) Tập dữ liệu DEFCON
Tập dữ liệu DEFCON là dữ liệu thường được sử dụng để đánh giá các phương pháp phát hiện xâm nhập [79]. Tập dữ liệu này chứa lưu lượng mạng thu thập được trong cuộc thi Capture The Flag (CTF), trong đó các đội tham gia được chia thành hai nhóm: tấn công và phòng thủ. Lưu lượng được tạo ra trong CTF rất khác với lưu lượng thực tế vì nó chỉ chứa lưu lượng truy cập của các cuộc tấn công mà không có lưu lượng của truy cập bình thường.
Do hạn chế này, dữ liệu DEFCON cũng chỉ thực sự hữu ích trong việc đánh giá các kỹ thuật cảnh báo có tính tương quan.
c) Tập dữ liệu CAIDA
Tập dữ liệu CAIDA [77] bao gồm chứa lưu lượng của nhiều dạng tấn công cụ thể. Phần lớn các lưu lượng của các vết tấn công trong tập dữ liệu này không bao gồm dữ liệu. Tập dữ liệu CAIDA DDoS 2007 chứa lưu lượng truy cập ẩn danh từ các cuộc tấn công DDoS trong vòng một giờ vào ngày 04/08/2007, lưu lượng này được dùng tấn công một máy chủ nhằm làm tiêu tốn một lượng lớn tài nguyên mạng của máy chủ đó. Lưu lượng mạng trong tập dữ liệu này bao gồm lưu lượng tấn công đến máy chủ và lưu lượng phản hồi từ máy chủ trong khoảng thời gian 5 phút một. Tất cả lưu lượng mạng đều được lưu theo định dạng .pcap (tcpdump).
d) Tập dữ liệu LBNL
Tập dữ liệu LBNL bao gồm các lưu lượng truy cập nội bộ trong mạng của Phòng thí nghiệm quốc gia Lawrence Berkeley (LBNL) ở Hoa Kỳ. Tập dữ liệu này bao gồm các gói tin đã được bỏ đi nội dung ở lớp trên [44]. Trong đó, lưu lượng truy cập bao gồm lưu lượng truy cập bình thường và tấn công, như sau:
- Lưu lượng bình thường: Bao gồm các luồng gửi đến, gửi đi và định tuyến nội bộ ở các router biên của mạng LBNL. Lưu lượng thu thập bao gồm lưu lượng của các dịch vụ Web, email và phân giải tên miền. Các máy chủ trong mạng nội bộ sử dụng các chương trình khác như dịch vụ truyền file qua mạng và dịch vụ sao lưu.
- Lưu lượng tấn công: Lưu lượng tấn công chứa các lưu lượng được gửi đi từ 20 máy tính được đánh dấu trong mạng theo địa chỉ IP. Lưu lượng tấn công bao gồm các gói tin tấn công TCP SYN và lưu lượng quét cổng TCP và UDP đến các máy chủ của mạng LBNL. Tốc độ gửi lưu lượng tấn công so với lưu lượng bình thường là thấp hơn.
Tập dữ liệu này được thu thập thông qua công cụ API Winpcap trên môi trường MS Windows cho phép đa luồng để thu thập dữ liệu.
1.7.2. Đánh giá thực nghiệm với tấn công TCP Syn Flood và Web App-DDoS Như chúng tôi đã phân tích ở trên, dạng tấn công TCP Syn Flood và dạng tấn công Web App-DDoS là hai dạng tấn công DDoS có những đặc trưng riêng. Qua khảo sát các tập dữ liệu ở mục 1.7.1, chúng tôi cũng thấy rằng các tập dữ liệu này không có dữ liệu kiểm thử cho hai dạng tấn công ở trên.
Do đó, trong phần này, chúng tôi tiếp tục nghiên cứu kinh nghiệm của các tác giả về việc đánh giá thực nghiệm đối với hai dạng tấn công ở trên. Qua các nghiên cứu được đề cập ở dưới đây, chúng tôi thấy rằng các tác giả không sử dụng chung tập dữ liệu này để đánh giá, so sánh giải pháp của mình với các giải pháp khác. Hầu hết các tác giả thực hiện đánh giá thực nghiệm bằng cách xây dựng môi trường và tự tạo dữ liệu kiểm thử.
Qua đó, chúng tôi có cơ sở để đưa ra phương án xây dựng hệ thống đánh giá thực nghiệm tương tự như cách các tác giả đã thực hiện như dưới đây. Cụ thể, chúng tôi sẽ xây dựng mô hình đánh giá thực nghiệm tương tự như của tác giả tại Monika Sachdeva tại nghiên cứu [125] năm 2016.
Dưới đây là những khảo sát của chúng tôi về kinh nghiệm đánh giá thực nghiệm của các nghiên cứu liên quan:
a) Tấn công TCP Syn Flood
1) Tác giả A. Yaar và đồng nghiệp (2003) đề xuất phương pháp Path Identifier [32]. Để đánh giá thực nghiệm, tác giả tự tạo ra dữ liệu kiểm thử bằng cách thu thập 5000 vết truy cập từ tập dữ liệu thực và coi đây là vết truy cập của người dùng bình thường để làm cơ sở phát hiện các gói tin giả mạo. Tác giả chỉ đưa ra kết quả đánh giá với phương pháp của mình mà không so sánh với các phương pháp khác.
2) Tác giả T. Peng (2003) và đồng nghiệp đề xuất phương pháp History-based IP filtering [31]. Tác giả tạo dữ liệu kiểm thử sử dụng 04 máy tính. Trong đó có 03 máy cài đặt hệ điều hành linux và 01 máy cài đặt hệ điều hành Free BSD (máy tấn công). Trong 03 máy linux có một máy đóng vai trò là máy bị tấn công, một máy là máy bình thường và một máy đóng vai trò là máy tấn công. Để tạo ra lưu lượng tấn công, tác giả sử dụng công cụ tấn công DDoS
“Shaft”. Tác giả chỉ đưa ra kết quả đánh giá với phương pháp của mình mà không so sánh với các phương pháp khác.
3) Tác giả Opeyemi.A. Osanaiye và đồng nghiệp (2015) đề xuất phương pháp phát hiện các gói tin giả mạo dự theo giá trị của trường TTL kết hợp với đặc trưng của hệ điều hành của máy gửi gói tin [95]. Tác giả sử dụng nền tảng nguồn mở Xen Cloud Platform (XCP) với cấu hình 64bit, 8GB RAM, Intel core i5 with 500GB để cài đặt 04 máy tính phục vụ đánh giá thực nghiệm với các hệ điều hành Centos 6.5, Debian 7.6, Ubuntu 12.04LTS và Ubuntu 14.04 LTS.
4) Tác giả A. Degirmencioglu và đồng nghiệp (2016) đưa ra đánh giá về các phương pháp giảm thiểu tấn công TCP Syn Flood sử dụng phương pháp phân loại - Classification [96].
Tác giả tạo ra 02 tập dữ liệu D1 và D2 để thực hiện đánh giá thực nghiệm. Trong đó tập dữ liệu D 1 có 8.008 gói tin sạch được đánh dấu trường ACK = 0 và 18.334 gói tin giả mạo với trường ACK ngẫu nhiên. Tập dữ liệu D2 có 8.008 gói tin giả mạo và 10.400 gói tin tấn công.
5) Tác giả Akshat Gaurav và đồng nghiệp (2017) đề xuất phương pháp phát hiện tấn công DDoS dựa vào tính toán Entropy của IP nguồn [100]. Tác giả sử dụng phần mềm OMNET++
để đánh giá thực nghiệm. Tác giả tạo ra 50 máy và tạo ra 409 gói tin để mô phỏng hoạt động bình thường. Khi mô phòng tấn công 15 máy tính mới được đưa vào và tạo ra 809 gói tin tấn công và 40 máy khác, tạo ra 809 gói tin bình thường.
b) Tấn công Web App-DDoS
1) Tác giả Yang Li và đồng nghiệp (2009) đề xuất phương pháp E-FCM [68] (Extend Fuzzy C-Means). Tác giả đánh giá thực nghiệm thông qua việc thu thập dữ liệu kiểm thử trên máy chủ Web trực tuyến (cấu hình Intel (R) Pentium (R) IV CPU 3 GHz, 1 GB RAM, 80GB hard disk) cài đặt hệ điều hành Linux phiên bản 2.2. Tác giả thu thập dữ liệu trong vài ngày và thu được dữ liệu từ 5000 máy trong một trường Đại học. Dữ liệu tấn công được tác giả tạo ra sử dụng công cụ Stacheldraht và TFN2K.
2) Tác giả Luis Campo Giralte và đồng nghiệp (2013) đề xuất phương pháp kết hợp giữa phương pháp Statiscal và phân tích yêu cầu ứng dụng Web khi truy cập các tài nguyên khác nhau trên máy chủ [91]. Tác giả thu thập dữ liệu thực nghiệm bao gồm 290.000 kết nối ứng dụng Web từ 14.000 người dùng bình thường. Lưu lượng tấn công được tác giả tạo ra sử dụng công cụ Acunetix và web-crawlers.
3) Tác giả Qin Liao và đồng nghiệp (2014) đưa ra tập các đặc trưng được sử dụng để phát hiện tấn công App-DDoS trên cơ sở phân tích nhật ký truy cập của máy chủ [92]. Tác giả sử dụng tập dữ liệu ClarkNet-HTTP như lưu lượng sạch và tạo ra các lưu lượng tấn công, trộn lẫn với dữ liệu ClarkNet-HTTP làm dữ liệu đánh giá thực nghiệm.
4) Monika Sachdeva và đồng nghiệp (2016) đề xuất phương pháp phân biệt lưu lượng tấn công DDoS và lưu lượng bình thường [97]. Tác giả xây dựng hệ thống đánh giá thực nghiệm trên môi trường NS-2 trên nền tảng Linux. Hệ thống mô tả mạng của 8 ISP, mỗi ISP có 10 Router PoP, mỗi Router PoP có 12 Router transit. Mỗi transit Router có các máy tính kết nối trực tiếp bao gồm 400 máy tính bình thường và máy tính tấn công. Lưu lượng bình thường được tác giả tạo ra sử dụng giao thức HTTP và lưu lượng tấn công sử dụng giao thức UDP.
5) Tác giả K. Munivara Prasad và đồng nghiệp (2018) đề xuất phương pháp phòng chống tấn công DDoS vào ứng dụng Web sử dụng phương pháp học máy [103]. Tác giả sử dụng tập dữ liệu kiểm thử LLDOS 2.0.2 để đánh giá thực nghiệm phương pháp đề xuất của mình.