CSDL này là dữ liệu đầu vào cho hai chức năng DDoS Detection và DDoS Prevention. Sau mỗi khoảng thời gian nhất định, CSDL này được lấy ra để kiểm tra xem hệ thống có bị tấn cơng DDoS hay không, thông qua chức năng DDoS Detection.
Chức năng DDoS Detection sử dụng một tập các tiêu chí DDoS Detection (tập các tiêu chí được trình bày ở phần sau). Trường hợp, DDoS Detection phát hiện tấn cơng thì sẽ thiết lập cờ trạng thái tấn công (Attack Status) là 1 để khởi động chức năng DDoS Prevention. Chức năng DDoS Prevention hoạt động trong một vịng lặp vơ hạn, liên tục kiểm tra Attack Status, nếu giá trị này được thiết lập là 1 thì DDoS Prevention sẽ thực hiện chức năng phịng chống thơng qua việc tìm các nguồn gửi yêu cầu tấn công và cập nhật vào Black-List. Để tìm ra các nguồn gửi yêu cầu tấn công, DDoS Prevention sử dụng phương pháp FDDA [57] (được trình bày chi tiết ở phần sau).
Sau khi tìm ra danh sách các IP nguồn gửi yêu cầu tấn công, hệ thống DDoS-Defence sẽ gửi đến thiết bị mạng (Router)/thiết bị bảo mật (Firweall) để thực hiện ngăn chặn.
Trường hợp chức năng DDoS Detection khơng phát hiện tấn cơng thì tập dữ liệu lấy ra sẽ được sử dụng để cập nhật danh sách White-List. Việc cập nhật danh sách White-List phải thông qua tập các điều kiện để bảo đảm rằng, tin tặc khó có thể đưa những IP nguồn độc hại vào danh sách này.
Địa chỉ IP trong danh sách White-List được gửi đến thiết bị mạng (Router)/thiết bị bảo mật (Firweall) để ưu tiên cho phép kết nối tới máy chủ khi tấn công DDoS xảy ra.
Phần tiếp theo luận án sẽ trình bày cụ thể về phương pháp phát hiện và phịng chống tấn cơng Web App-DDoS trong hai chức năng DDoS Detection và DDoS Prevention.
3.4. Phát hiện tấn cơng Web App-DDoS
Như đã phân tích ở trên, chức năng DDoS Detection được xây dựng để phát hiện khi nào xảy ra tấn công DDoS vào Web Server. Khi tấn công xảy ra trạng thái Attack Status được thiết lập để kích hoạt chức năng DDoS Prevention.
Như chúng tơi đã phân tích ở trên, mục đích của việc phân tách q trình phát hiện và phịng chống ra làm hai giai đoạn khác nhau nhằm tối ưu và tăng mức độ chính xác của giải pháp tổng thể. Việc phát hiện tấn cơng Web App-DDoS có thể dùng các tiêu chí đơn giản để xác định khi nào tấn công xảy ra. Trong giai đoạn phát hiện, chúng tôi chưa quan tâm đến việc xử lý tấn công như thế nào mà chỉ quan tâm đến việc có tấn cơng xảy ra hay khơng. Trong giai đoạn phịng chống, chúng tơi sẽ áp dụng các tiêu chí, thuật tốn phức tạp hơn để xác định nguồn gửi tấn công để đưa vào Black-List và các nguồn sạch để đưa vào White-List. Chức năng phịng chống chỉ được kích hoạt khi hệ thống được thiết lập trạng thái là đang bị tấn công. Việc này sẽ tối ưu về hiệu năng xử lý khi tấn công DDoS chưa xảy ra.
Tấn công Web App-DDoS được phát hiện dựa vào tập các tiêu chí như được mơ tả ở hình sau: Input Data Coming Requests Attack Status Update Set of Criteria Loop Delay
Hình 3.3 Mơ hình phương pháp phát hiện tấn cơng Web App-DDoS
Để phát hiện tấn công Web App-DDoS, định kỳ sau mỗi khoảng thời gian ∆t (được thiết lập trước), dữ liệu trong CSDL (dữ liệu được lưu trong CSDL có cấu trúc được mơ tả trong hình 24) có thời gian trong khoảng ∆t tính từ thời điểm lấy dữ liệu sẽ được lấy ra để kiểm tra xem
máy chủ có bị tấn cơng hay khơng. Dữ liệu này được sử dụng làm thông tin đầu vào cho các tiêu chí phát hiện tấn cơng. Nếu dữ liệu đầu vào thỏa mãn một trong các tiêu chí thì máy chủ được cho là tấn cơng. Các tiêu chí phát hiện tấn công được xây dựng như dưới đây.
3.4.1. Tiêu chí phát hiện tấn cơng dựa trên tần suất truy nhập
a) Tiêu chí phát hiện tấn cơng dựa trên tần suất truy nhập D1 được xây dựng dựa trên tần suất gửi yêu cầu tới máy chủ theo từng khoảng thời gian lấy mẫu.
Khi máy chủ hoạt động ở chế độ bình thường, tần suất nhận được yêu cầu sẽ có một ngưỡng nhất định (Thd). Tuy nhiên, khi tấn cơng xảy ra, các máy tính trong mạng botnet tham gia tấn công dẫn tới số lượng yêu cầu nhận được trong một đơn vị thời gian sẽ rất cao.
Do đó, để phát hiện tấn cơng DoS/DDoS sử dụng tiêu chí D1, trước hết chúng tơi cần xác định một ngưỡng Thd về tần suất truy gửi yêu cầu trong một khoảng thời gian nhất định. Giá trị Thd được thiết lập dựa trên cơ sở thu thập thông tin về tần suất gửi yêu cầu khi hệ thống hoạt động bình thường và khơng bị tấn công. Cụ thể như sau:
Tôi xác định tần suất gửi yêu cầu tới máy chủ tại từng thời điểm (Ci), sau đó giá trị Thd sẽ được xác định dựa vào giá trị trung bình của tần số gửi yêu cầu sau n lần lấy mẫu (Mean - μ). Tiếp theo, chúng tôi xác định độ lệch lớn nhất (Deviation - σ) giữa giá trị Mean với gửi yêu cầu lớn nhất trong N lần lấy mẫu. Gọi Ci là giá trị tần suất gửi yêu cầu tại thời điểm lấy mẫu (Giá trị Ci được xác định theo giải pháp được đưa ra tại mục 3.5.4). Giải pháp xác định Thd được mơ tả như hình dưới đây:
Giá trị μ được xác định như sau:
1 1
(C .. CN)
N
Giá trị σ được xác định như sau:
2 1 1 ( ) n i i C N
Giá trị Thd được xác định là Thd = ∝*σ. Trong đó giá trị ∝ là số lần giá trị độ lệch giữa tần suất gửi yêu cầu lớn nhất với với giá trị trung bình.
Trường hợp, dữ liệu được kiểm tra khơng thỏa mãn điều kiện D1 thì giá trị này sẽ được sử dụng để cập nhất giá trị Thd.
3.4.2. Tiêu chí phát hiện tấn cơng dựa vào thời gian truy cập ngẫu nhiên
Tiêu chí phát hiện tấn công dựa vào thời gian truy cập ngẫu nhiên (C2) được xây dựng dựa trên ý tưởng như sau: Khi máy chủ hoạt động ở chế độ bình thường và khơng có tấn cơng xảy ra thì thời điểm các máy tính gửi yêu cầu đến máy chủ sẽ là ngẫu nghiên và khơng có sự liên quan lẫn nhau.
Tuy nhiên, khi tấn công xảy ra, máy tấn công sẽ đồng loạt gửi yêu cầu đến máy chủ theo lệnh điều khiển của máy chủ C&C. Do đó, thời điểm các máy tính sẽ gửi yêu cầu đến máy chủ sẽ có mối liên hệ nhất định, khơng ngẫu nhiên.
Ví dụ về thời điểm gửi yêu cầu đến máy chủ khi máy chủ hoạt động bình thường, khơng bị tấn cơng và khi bị tấn công như sau:
Thời điểm gửi yêu cầu tấn cơng Thời điểm gửi u cầu bình thường
Hình 3. 4 Ví dụ về thời điểm gửi yêu cầu tới máy chủ
Từ quan sát trên, đối với tiêu chí này, chúng tơi sử dụng Entropy để tính tốn mức độ ngẫu nhiên của thời điểm gửi yêu cầu. Chúng tôi sử dụng khoảng thời gian là TT. Khoảng thời gian này được chia làm các khoảng thời gian ∆t nhỏ hơn (giá trị ∆t được người quản trị thiết lập theo từng hệ thống cần bảo vệ cụ thể). Và giá trị Entropy H(X) được tính dựa trên xác suất thời điểm đến của mỗi yêu cầu được gửi nằm trong một khoảng thời gian nào đó và được chia theo cách được đề cập ở trên. Gọi n là số lượng gửi yêu cầu trong mỗi lần lấy mẫu, vậy Entropy của giá trị H(X) được tính như sau:
Tương tự đối như đối với tiêu chí C1, chúng tơi cần xác định giá trị Entropy của thời điểm đến của các yêu cầu ở chế độ bình thường. Chúng tơi liên tục lấy mẫu k lần gần nhất. Gọi HT là giá trị Entropy tính tốn được sau k lần lấy mẫu. Do đó, chúng tơi tính được giá trị
1 H (X ) k T n n H
Từ phân tích ở trên, chúng tơi thấy rằng mức độ ngẫu nhiên đối với thời điểm đến của các yêu cầu là cao hơn so với thời điểm bị tấn cơng DoS/DDoS. Do đó, chúng tơi chọn giá trị ngưỡng Thd = HT/α
Từ đó Entropy được tính tốn với dữ liệu lấy mẫu Hdata sẽ được tính tốn và so sánh với giá trị Thd. Nếu Hdata < Thd thì được cho là có tấn cơng DoS/DDoS xảy ra.
Giá trị α là giá trị được người quản trị đưa vào có thể thay đổi cho phù hợp với từng máy chủ cần bảo vệ
3.5. Phòng chống tấn công Web App-DDoS sử dụng phương pháp FDDA
Để thực hiện cơ chế phịng chống tấn cơng Web App-DDoS, thành phần Web App-DDoS Defence sử dụng chức năng DDoS Prevention. Chức năng này thực hiện phịng chống tấn cơng thơng qua việc tìm ra các IP nguồn gửi u cầu tấn công để đưa vào Black-List và chuyển Back-
List này sang các thiết bị mạng/thiết bị bảo mật để thực hiện ngăn chặn. Để tìm ra các IP nguồn gửi yêu cầu tấn công, chúng tôi đề xuất phương pháp FDDA - Framework For Fast Detecting Source Attack In Web Application DDoS Attack.
Phương pháp FDDA được công bố với nghiên cứu “FDDA: A Framework For Fast Detecting Source Attack In Web Application DDoS Attack” tại Eighth International Symposium on Information and Communication Technology. ACM, New York, NY, USA, 8, năm 2017. Trong q trình hồn thiện luận án, chúng tơi tiếp tục nghiên cứu và đề xuất các giải pháp cụ thể cho 02 tiêu chí của phương pháp FDDA. Kết quả thứ nhất đã được chấp nhận đăng tại Hội nghị IEEE RIVF 2019 và kết quả thứ hai đang được NCS hoàn thiện và gửi đăng tại Tạp chí Khoa học và Cơng nghệ.
3.5.1. Ý tưởng cơ bản của phương pháp FDDA
Ý tưởng cơ bản của phương pháp FDDA là khi tấn cơng xảy ra, thì các u cầu gửi đến máy chủ sẽ bao gồm cả các yêu cầu tấn công và các u cầu bình thường. Trong đó các u cầu tấn cơng chiếm phần lớn. Do đó, vấn đề mà phương pháp FDDA phải xử lý là tìm ra các nguồn gửi tấn công để đưa vào Black-List và nguồn gửi bình thường để đưa vào White-List. Để phân biệt các yêu cầu tấn cơng và u cầu của người sử dụng bình thường, chúng tơi sử dụng một tập các tiêu chí để loại bỏ ngay các nguồn gửi u tần tấn cơng có tần suất cao và xác minh nguồn gửi yêu cầu bình thường để cho phép kết nối vào hệ thống. Ý tưởng cơ bản của phương pháp FDDA được mơ tả như hình dưới đây:
Input Data Coming Requests Black List Update Set of Criteria Loop Delay Filter & Check
Hình 3.5 Mơ hình cơ bản của phương pháp FDDA Trong nghiên cứu này, phương pháp FDDA sử dụng hai tiêu chí: Trong nghiên cứu này, phương pháp FDDA sử dụng hai tiêu chí:
a) Tiêu chí tần suất truy cập: Tiêu chí tần suất truy cập được áp dụng phổ biến trong các phương pháp phòng chống tấn cơng DDoS. Đối với phương pháp FDDA, tiêu chí về tần suất truy cập được sử dụng để có thể tìm ra nhanh các nguồn gửi u cầu tấn cơng có cường độ cao và chặn lại (Tiêu chí này sẽ được bày cụ thể trong phần 3.5.4). Đối với các nguồn gửi yêu cầu tấn cơng có cường độ gửi u cầu thấp hơn và khơng thể xác định dựa vào tiêu chí về tần suất truy cập thì sẽ được tiếp tục kiểm tra qua tiêu chí thứ hai về tương quan.
b) Tiêu chí tương quan: Tiêu chí này được xây dựng dựa trên ý tưởng cơ bản là khi quan sát tập các yêu cầu nhận được từ máy tính người dùng bình thường thì chúng sẽ có mối quan hệ tương quan và ngẫu nhiên nhất định. Trong khi các yêu cầu nhận được từ máy tấn cơng sẽ có những đặc trưng riêng khác với bình thường (Ví dụ như các máy này chỉ gửi lặp đi lặp lại
một yêu cầu hay một nhóm yêu cầu theo lệnh điều khiển của máy chủ C&C). Do đó, khi hệ thống hoạt động ở trạng thái bình thường, chưa xảy ra tấn cơng, chúng tơi tìm cách xây dựng một tập dữ liệu tương quan (được bày cụ thể trong phần 3.5.5) cho phép xác định các nguồn gửi yêu cầu tấn cơng và u cầu bình thường đối với những nguồn gửi u cầu khơng xác định được bởi tiêu chí tần suất.
3.5.2. Các khái niệm sử dụng trong phương pháp FDDA
Để có thể đi sâu, mơ tả chi tiết hơn về phương pháp FDDA, trong phần này, luận án trình bày và giải thích một số khái niệm được sử dụng trong phương pháp FDDA như sau: 1) Ngưỡng phát hiện tập các yêu cầu nghi ngờ tấn công FT:
Ngưỡng phát hiện tấn công FT là ngưỡng được thiết lập trước để xác định các yêu cầu giống nhau mà máy chủ nhận được trong một đơn vị thời gian. Ví dụ: Nếu giá trị FT = 500 requests/s thì trong một khoảng thời gian 1s, máy chủ web nhận được 500 yêu cầu giống nhau.
2) Tập các yêu cầu nghi ngờ tấn công:
Là yêu cầu thỏa mãn điều kiện với tần suất gửi yêu cầu FT từ cùng một địa chỉ IP nguồn. Tập các yêu cầu nghi ngờ tấn công được ký hiệu: RA = {R1, R2, …, Rn}.
3) Danh sách nguồn gửi yêu cầu tấn công Black-List (BL):
Danh sách BL được sử dụng để lưu thông tin địa chỉ IP nguồn được xác định là nguồn gửi tấn công sau khi các yêu cầu được gửi đi từ những địa chỉ IP nguồn này được kiểm tra qua tập các tiêu chí. Ứng với mỡi u cầu tấn cơng khác nhau R(i) ta có tập danh sách các địa chỉ IP nguồn khác nhau S(s,i) và ứng với tần suất gửi yêu cầu f(s,i).
Danh sách nguồn gửi yêu cầu tấn công Black-List được ký hiệu BL = {B1, B2, …, Bn}, Bi = [S(s,i),R(i),f(s,i)].
4) Tập các yêu cầu tương quan:
Tập yêu cầu tương quan thể hiện mối quan hệ tương quan giữa các yêu cầu được gửi đi từ cùng một IP nguồn. Ví dụ: Khi người dùng truy cập yêu cầu riA thì cũng truy cập yêu cầu riB.
Tập các yêu cầu tương quan được ký hiệu là C: C = {C1, C2, …, Cn | Ci = (riA, riB). 5) Tập dữ liệu đầu vào DInp:
Tập dữ liệu có cấu trúc như trong bảng 3.1, được sử dụng để lưu thông tin các yêu cầu gửi đến máy chủ. Mỡi u cầu mới gửi đến hệ thống thì thơng tin tập u cầu DInp sẽ được cập nhật. Định kỳ dữ liệu trong DInp sẽ được kiểm tra dựa vào điều kiện ngưỡng FT để tìm ra tập các yêu cầu nghi ngờ tấn công RA.
6) Tập dữ liệu lưu các yêu cầu nghi ngờ tấn công DSus:
Tập dữ liệu này có cấu trúc giống với tập DInp, được sử dụng để lưu tồn bộ thơng tin liên quan đến các yêu cầu được coi là nghi ngờ tấn công sau khi thỏa mãn điều kiện có tần số gửi u cầu ≥ FT, sau mỡi khoảng thời gian kiểm tra điều kiện từ DInp.
7) Tiêu chí tần suất truy nhập SAT1:
Tiêu chí tần suất truy nhập được sử dụng để tìm ra các nguồn gửi yêu cầu có tần suất gửi cao và đồng đều nhau. Tiêu chí này được xây dựng dựa trên ý tưởng cơ bản là khi các máy tính trong mạng botnet bị điều khiển, để tấn cơng thông qua cấu trúc lệnh điều khiển giống nhau từ máy chủ C&C thì các u cầu tấn cơng sẽ được gửi với tần suất đồng đều nhau. Do đó, tiêu chí này được sử dụng để xác định các IP nguồn và các yêu cầu được gửi đi từ nguồn đó mà có tần suất gửi cao và đồng đều nhau.
8) Tiêu chí tương quan SAT2:
Tiêu chí để xác định các yêu cầu được gửi đi từ một địa chỉ IP nguồn có tính chất tương quan hay không. Các yêu cầu thỏa mãn điều kiện tương quan thì IP nguồn gửi các u cầu đó sẽ được xác minh là sạch và cho vào White-List.
9) Thời gian lẫy mẫu ΔT:
Khoảng thời gian lặp lại thuật tốn FDDA để tìm ra các nguồn gửi tấn cơng mới và cập nhật vào BL. Để tối ưu hiệu năng hoạt động của hệ thống thì giá trị này được thiết lập là giá trị