Với cấu trúc lệnh trên, Các máy Client sẽ thực hiện tấn công dạng TCP Syn Flood với địa chỉ IP nguồn giả mạo ngẫu nhiên và địa chỉ máy 103.192.237.100 với cổng dịch vụ là 80. Để có dữ liệu kiểm thử, chúng tôi thực hiện tấn công giả lập vào máy chủ trong khoảng thời gian 03 phút. Tại Web Server, chúng tôi thực hiện lấy mẫu các gói tin SYN gửi đến máy chủ sử dụng cơng cụ Tcpdump với câu lệnh: tcpdump -i ens32 tcp port 80 và "tcp[tcpflags] & (tcp-syn|tcp-ack)! = 0" -n -p và ip dst 103.192.237.100 -w synflood-attack.pcap.
Kết quả tại Web Server, chúng tơi thu được 145.377 gói tin Syn và được lưu trong tệp tin synflood-attack.pcap [112]. Để có cơ sở đánh giá thực nghiệm, các gói tin SYN được phân làm hai nhóm, nhóm các gói tin tấn cơng và nhóm các gói tin bình thường. Nhóm các gói tin bình thường là nhóm các gói tin có địa chỉ IP nguồn là các địa chỉ IP của các máy Client, nằm trong dải địa chỉ 103.192.237.0/24. Các gói tin này được sinh ra khi các máy Client truy cập trang Web trên Web Server. Nhóm các gói tin tấn cơng là các gói tin có địa chỉ IP khơng nằm trong dải địa chỉ ở trên và có giá trị ngẫu nhiên.
Đối với các gói tin thu được, chúng tôi sử dụng phần mềm Tshark (Câu lệnh: tshark -r synflood-attack.pcap -T fields -e frame.time -e ip.src -e ip.id > doanlab.txt) để lấy ra các trường thông tin thời gian đến của gói tin (timestamp), địa chỉ IP nguồn (Src IP), giá trị PID và được lưu trong tệp tin doanlab.txt.
Sau khi có được tệp tin doanlab.txt, mỡi địa chỉ IP nguồn sẽ được đánh dấu là bình thường (N) hay tấn công (A) để phục vụ đánh giá thực nghiệm. Trong tệp tin doanlab.txt có được 9.079 gói tin bình thường và 136.298 gói tin tấn cơng.
2.6.2. Đánh giá thực nghiệm cho giải pháp PIDAD1 và PIDAD2
2.6.2.1. Giải pháp PIDAD1
Đối với giải pháp này, hiệu quả của việc phát hiện các gói tin giả mạo phụ thuộc vào các tham số:
- TCC: Khoảng thời gian tối đa để một Cluster có thể nhận được các thành viên mới và đủ điều kiện trở thành một Cluster. Khoảng thời gian này có ảnh hưởng tới số lượng các Cluster sẽ được tạo ra. Trường hợp, máy tấn cơng gửi 03 gói tin tấn cơng đến hệ thống, tuy nhiên nếu một gói tin đến chậm do đường truyền mạng, trong khi thời gian TCC q nhỏ thì Cluster đó khơng được tạo thành, dẫn tới các gói tin giả mạo tiếp theo khơng được phát hiện. Để có cơ sở lựa chọn giá trị TCC, có thể căn cứ theo tổng số lượng gói tin thu được trong khoảng thời gian lấy mẫu. Từ đó, có thể xác định tốc độ tương đối của các gói tin đến hệ thống làm căn cứ xác định giá trị TCC.
- Giá trị MinPts số lượng các gói tin có giá trị PID tăng liên tiếp đủ điều kiện tạo thành một Cluster. Trên thực tế, có thể có trường hợp hai gói tin được gửi đi từ một máy có giá trị PID tăng liên tiếp, nhưng gói thứ ba lại bị ngắt quãng do lỡi mạng hoặc các lý do khác. Do đó, giá trị này có ảnh hưởng tới hiệu quả của giải pháp. Tuy nhiên, xác suất xảy ra trường hợp này là nhỏ, do đó trong thực nghiệm này giá trị MinPts được thiết lập giá trị là 3.
Npc/Tcc 0,01 ms 0,02 ms 0,03 ms 0,04 ms 24229 62,22% 65,21% 68,16% 61,17% 48459 75,14% 72,46% 89,19% 84,21% 72688 88,13% 89,15% 92,57% 79,13% 96918 89,14% 79,17% 92,18% 84,61% 121147 90,11% 88,41% 89,61% 80,91% 145377 88,15% 88,21% 91,37% 83,21% Bảng 2.6 Kết quả thực nghiệm của giải pháp PIDAD1
Từ kết quả thực nghiệm trên có thể thấy giải pháp PIDAD1 sẽ đạt hiệu quả cao nhất khi chọn giá trị TCC là 0,03 ms.
2.6.2.2. Giải pháp PIDAD2
Kết quả đánh giá thực nghiệm giải pháp PIDAD2 sử dụng cùng tập dữ liệu kiểm thử với giải pháp PIDAD1 được thực hiện với các tham số sau:
Số lượng gói tin trong mẫu thử nghiệm (#Packets)
Số lượng gói tin giả mạo phát hiện được (#Detected Packets)
Số lượng các ch̃i có PID tăng dần được tạo ra (# PID-Groups)
DR: Tỷ lệ phát hiện đúng gói tin giả mạo
FP: Tỷ lệ phát hiện sai các gói tin giả mạo
#Packets #Detected Packets # PID- Groups DR FP 24229 92954 17043 92,95% 0,61% 48459 139189 25479 92,79% 0,61% 72688 185634 33980 92,81% 0,52% 96918 232061 42574 92,82% 0,48% 121147 278444 50959 92,81% 0,72% 145377 312583 57179 92,84% 0,51%
Bảng 2.7 Kết quả thực nghiệm giải pháp PIDAD2
2.6.2.3. So sánh hiệu quả của giải pháp PIDAD1 và PIDAD2
Sau khi đánh giá thực nghiệm với từng giải pháp đề xuất để xác định giá trị đầu vào phù hợp cho tỷ lệ phát hiện các gói tin giả mạo lớn nhất. Để so sánh hiệu quả của hai giải pháp đề xuất, luận án đề cập sử dụng tiêu chí về tỷ lệ gói tin giả mạo phát hiện được và thời gian xử lý số lượng các gói tin đã được lấy mẫu. Cụ thể như sau:
Hình 2.19 Tỷ lệ phát hiện đúng gói tin giả mạo của giải pháp PIDAD và PIDAD2
Hình 2.20 Thời gian xử lý của giải pháp PIDAD và PIDAD2
Từ kết quả ở hình trên cho thấy, khi thiết lập tham số đầu vào phù hợp cho mỡi giải pháp PIDAD1 và PIDAD2 thì giải pháp PIDAD2 có tỷ lệ phát hiện các gói tin giả mạo cao hơn và thời điểm phát hiện các gói tin giả mạo sớm hơn so với giải pháp PIDAD1.
Kết quả so sánh thực nghiệm phù hợp với đặc trưng của mỗi giải pháp đề xuất. Đối với giải pháp PIDAD1, giải pháp này cần thời gian thực hiện thuật tốn DBSCAN để nhóm các gói tin có giá trị PID tăng liên tiếp vào trong một nhóm và xác định giá trị EPID cho mỡi Cluster. Do đó, trong giai đoạn đầu, khi tấn cơng TCP Syn Flood xảy ra (trong 115s đầu tiên) thì giải pháp PIDAD1 có tỷ lệ phát hiện các gói tin tấn cơng thấp hơn PIDAD2.
0 10 20 30 40 50 60 70 80 90 100 24229 48459 72688 96918 121147 145377 DR(%)
Số lượng gói tin nhận được
PIDAD1 PIDAD2 0 20 40 60 80 100 120 140 160 180 200 24229 48459 72688 96918 121147 145377 Time(s)
Số lượng gói tin nhận được
PIDAD1 PIDAD2
Giải pháp PIDAD2 xử lý ngay mỡi gói tin gửi đến hệ thống (33s đầu tiên). Mỡi gói tin mới đến hệ thống chưa nằm ch̃i PID tăng dần nào thì chỉ cần xác minh gói tin đó trong khoảng thời gian Tcc là có thể xác định gói tin đó là giả mạo hay khơng. Do đó, giải pháp PIDAD2 có thể phát hiện ngay các gói tin giả mạo gửi đến hệ thống trong khoảng thời gian rất ngắn, ngay sau khi tấn công xảy ra.
2.6.3. So sánh hiệu quả của giải pháp PIDAD2 với các giải pháp khác
Qua kết quả đánh giá thực nghiệm ở trên, giải pháp PIDAD2 cho thấy tỷ lệ phát hiện các gói tin giảo mạo gửi đến hệ thống cao hơn. Do đó, trong phần này, chúng tơi sẽ thực hiện so sánh kết quả thực nghiệm của giải pháp PIDAD2 với một số phương pháp khác liên quan trực tiếp đến phát hiện và phịng chống tấn cơng TCP Syn Flood như dưới đây.
Tại nghiên cứu [96] của 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 giải pháp phân loại - Classification. Tác giả đánh giá kết quả thực nghiệm của 03 giải pháp là Naivebayes, C4.5 và Randomtree trên hai tập dữ liệu kiểm thử D1 và D2. Tác giả sử dụng các trường thơng tin như IP đích, TTL, MMS, ACK… để làm thơng tin đầu vào cho các giải pháp phân loại. Kết quả đánh giá cho thấy giải pháp C4.5 có tỷ lệ phát hiện đúng các gói tin giả mạo (True Positive) tương đương với giải pháp Randomtree. Tuy nhiên, giải pháp này lại có tỷ lệ phát hiện sai các gói tin bình thường là gói tin giả mạo (False Positive) thì có tỷ lệ thấp hơn nhiều so với giải pháp Randomtree.
Từ các phân tích ở trên, chúng tơi thấy rằng có thể kế thừa kết quả đánh giá của tác giả A. Degirmencioglu để so sánh hiệu quả của giải pháp PIDAD2 sử dụng tập dữ liệu [23]. Cụ thể hơn, chúng tôi so sánh hiệu quả của phương pháp PIDAD2 với phương pháp C4.5 đã được tác giả A. Degirmencioglu đánh giá là hiệu quả hơn so với hai giải khác sử dụng Naivebayes và Randomtree.
Một lý do khác mà chúng tôi lựa chọn việc so sánh hiệu quả của giải pháp PIDAD2 với các giải pháp được tác giả A. Degirmencioglu là cách thức thực hiện đánh giá tương tự nhau. Tác giả A. Degirmencioglu cũng sử dụng tập dữ liệu D1 và D2 được tác giả tạo ra làm dữ liệu thực nghiệm. Cịn đối với giải pháp PIDAD2 thì được chúng tơi đánh giá trên tập dữ liệu được tạo ra từ một mạng botnet trên môi trường ảo chúng tôi đã tạo ra.
Để thực hiện so sánh hiệu quả của hai giải pháp đã lựa chọn, chúng tôi thực hiện như sau: Từ tập dữ liệu kiểm thử thu được, chúng tôi lấy các trường thông tin: Timestamp, Src IP và PID để đánh giá hiệu quả của giải pháp PIDAD2.
Để đánh giá hiệu quả của giải pháp C4.5, từ cùng tập dữ liệu kiểm thử, chúng tôi lấy ra các trường thơng tin IP đích, TTL, MMS, ACK như tác giả A. Degirmencioglu đã sử dụng để đánh giá hiệu của của giải pháp C4.5 tại nghiên cứu [96].
Lý do, chúng tôi lựa chọn các trường thông tin khác nhau từ cùng tập dữ liệu để đánh giá từng giải pháp là vì thơng tin đầu vào cho thuật tốn của từng giải pháp là khác nhau.
Tôi sử dụng tiêu chí tỷ lệ phát hiện đúng các gói tin giả mạo (True Positive) và tỷ lệ phát hiện sai các gói tin bình thường là gói tin giả mạo (False Positive) làm tiêu chí đánh giá hiệu quả của hai giải pháp PIDAD2 và C4.5. Kết quả đánh giá như sau:
- Tỷ lệ phát hiện đúng các gói tin giả mạo True Positive (TP):
Hình 2.21 Tỷ lệ True Positive của các giải pháp PIDAD2 và C4.5 - Tỷ lệ phát hiện sai các gói tin bình thường là gói tin giả mạo False Positive (FP): - Tỷ lệ phát hiện sai các gói tin bình thường là gói tin giả mạo False Positive (FP):
Hình 2.22 Tỷ lệ False Positive của các giải pháp PIDAD2 và C4.5
0 10 20 30 40 50 60 70 80 90 100 24229 48459 72688 96918 121147 145377 DR(%)
Số lượng gói tin nhận được
C4.5 PIDAD2 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 24229 48459 72688 96918 121147 145377 FP(%)
Số lượng gói tin nhận được
C4.5 PIDAD2
- Thời gian xử lý của các giải pháp PIDAD2 và C4.5
Hình 2.23 Thời gian xử lý của các giải pháp PIDAD2 và C4.5
Từ kết quả đánh giá ở trên cho thấy giải pháp PIDAD2 có có tỷ lệ phát hiện đúng các gói tin giả mạo cao hơn và có tỷ lệ phát hiện sai các gói tin bình thường là gói tin giả mạo thấp hơn nhiều so với giải pháp C4.5.
Một lý do quan trọng dẫn tới kết quả như ở trên là hiệu quả của giải pháp C4.5 phụ thuộc nhiều vào sự lựa chọn các trường thông tin phù hợp làm đầu vào thuật toán của giải pháp C4.5. Dữ liệu kiểm thử D1 và D2 mà tác giả A. Degirmencioglu có các trường thơng tin được thiết lập giá trị mặc định. Cụ thể, tập dữ liệu D1, giá trị sequence number của gói tin SYN đối với các gói tin sạch được thiết lập là 0, giá trị MMS được thiết lập là giá trị nhỏ nhất. Đối với tập dữ liệu D2, giá trị Data offset được thiết lập giá trị nhỏ nhất đối với tất cả các gói tin SYN tấn cơng và các thiết lập giá trị Data offset là giá trị khác đối với tất cả các gói tin sạch.
Tập dữ liệu mà chúng tôi sử dụng để đánh giá hai giải pháp PIDAD2 và C4.5 có duy nhất trường thông tin Src IP được tạo ra một cách ngẫu nhiên, trong khi các trường thông tin khác được thiết lập theo nguyên lý hoạt động của giao thức IP và TCP.
2.7. Kết luận chương 2
Trong chương này, chúng tôi đã đưa ra những nội dung nghiên cứu chính như sau:
Tổng quan về dạng tấn cơng TCP Syn Flood và phương pháp phịng chống;
Mơ hình phương pháp phát hiện và phịng chống tấn cơng TCP Syn Flood;
Phát hiện tấn công TCP Syn Flood;
Cơ chế phát hiện và loại bỏ các gói tin giả mạo trong tấn cơng DDoS TCP Syn Flood;
Đánh giá thực nghiệm. 0 20 40 60 80 100 120 140 160 180 200 24229 48459 72688 96918 121147 145377 Time
Số lượng gói tin nhận được
C4.5 PIDAD2
Về nội dung trọng tâm trong chương này, chúng tôi đưa ra phương pháp mới trong việc phát hiện và loại bỏ những gói tin giả mạo sử dụng trong tấn công TCP Syn Flood trên cơ sở phát hiện sự tăng liên tục của giá trị PID khi một gói tin được gửi ra khỏi máy tính.
Với giả thuyết tin tặc thực hiện tấn công TCP Syn Fflood giả mạo địa chỉ IP nguồn và trường PID được thiết lập với giá trị mặc định theo nguyên lý hoạt động của các hệ điều hành, các giải pháp được chúng tơi đề xuất có tỷ lệ phát hiện các gói tin giả mạo cao hơn và thời gian xử lý thấp hơn các phương pháp khác.
Tuy nhiên, đối với mỗi giải pháp được đề xuất vẫn còn những điểm hạn chế nhất định và cần tiếp tục nghiên cứu để hoàn thiện.
Các giải pháp PIDAD1 và PIDAD2 chỉ đạt tỷ lệ phát hiện các gói giả mạo cao khi các máy tham gia tấn công gửi tối thiểu 03 gói tin có PID tăng liên tiếp theo từng đợt. Tuy nhiên có nhiều trường hợp máy tính tham gia tấn cơng chỉ gửi tối đa 02 gói tin rồi ngắt qng thì các giải pháp hiện tại sẽ bỏ sót các trường hợp này. Để giải quyết trường hợp này, chúng tôi đề xuất hướng nghiên cứu tiếp theo như sau:
Ý tưởng cơ bản của hướng nghiên cứu tiếp theo là: Khi tấn công TCP Syn Flood xảy ra, tỷ lệ các gói tin SYN giả mạo so với các gói tin SYN thực là rất cao. Do đó, chúng ta có thể tìm cách nhóm các gói tin SYN theo giá trị PID tăng dần để có số lượng các gói tin SYN được nhóm nhiều nhất. Các gói tin trong mỡi nhóm sẽ được coi là gói tin giả mạo và có các tham số để xác định gói tin tiếp theo gửi tới sẽ thuộc về nhóm đó.
Trong nghiên cứu trước đây [88], chúng tôi đã đề xuất phương pháp sử dụng giải pháp DBSCAN với các giá trị epsilon và minpts cho mỗi Cluster khác nhau (DBSCAN-MP). Do đó, hướng nghiên cứu tiếp theo của chúng tơi là sử dụng phương pháp DBSCAN-MP để nhóm các gói tin SYN theo giá trị PID tăng dần ngắt quãng. Mỗi Cluster sẽ xác định được giá trị epsilon và minpts riêng. Đây là tham số để xác định các gói tin giả mạo tiếp theo nhận được vào từng Cluster.
CHƯƠNG 3. PHÁT HIỆN VÀ PHỊNG CHỐNG TẤN CƠNG WEB APP-DDOS WEB APP-DDOS
3.1. Giới thiệu bài tốn
Trong chương này, chúng tơi giải quyết vấn đề thứ 2 luận án đặt ra là phương pháp phát hiện và phịng chống tấn cơng Web App-DDoS.
Ứng dụng Web là ứng dụng phổ biến để cung cấp các dịch vụ trên mạng của nhiều loại hình ngành nghề và lĩnh vực khác nhau như: Kinh tế, Chính trị, Tài chính, Thương mại điện tử, Giao thông vận tải... Phần lớn các ứng dụng Web cung cấp dịch vụ qua môi trường mạng Internet sử dụng giao thức HTTP/HTTPS. Do đó, ngồi phải đối mặt với các dạng tấn công mạng khác (SQL Injection, XSS…) thì ứng dụng Web cịn phải đối với dạng tấn công DDoS. Để thực hiện tấn công DDoS vào ứng dụng Web (Web App-DDoS), như đối với hình thức tấn công TCP Syn Flood, tin tặc lợi dụng mạng botnet để gửi tràn ngập các yêu cầu tới máy chủ làm máy chủ quá tải và rơi vào trạng thái từ chối dịch vụ. Tin tặc thường cố tình tạo ra các yêu cầu có thực, giống như các u cầu được gửi đi từ máy tính bình thường để vượt qua