Thuật toán tổng tích lũy thường được sử dụng trong kiểm soát chất lượng. Chúng rất thích hợp cho việc kiểm tra một hệ thống đo lường trong hoạt động cho bất kỳ vi phạm nào của một số mục đích hoặc giá trị đặc biệt và đã được sử dụng rộng rãi để phát hiện những thay đổi có nghĩa là nhỏ và trung bình.
Đối với thuật toán này, tiến hành phân tích thống kê các lưu lượng đến giữa hai khoảng thời gian là n (n=1, 2, 3…), đây là khoảng để kiểm tra việc phát hiện. Với kỹ thuật phát hiện tấn công này, một bảng băm sẽ được sử dụng để ghi lại các địa chỉ IP xuất hiện giữa hai khoảng thời gian (time slot). Trong bảng băm nay sẽ gồm 2 trường: IP address và timestamp. So sánh các trường này với các trường trong IP Address Database (IAD) để có thể tính toán có bao nhiêu địa chỉ IP mới đã xuất hiện trong các khoảng thời gian. Phân tích các địa chỉ IP mới này sẽ cho biết khi nào cuộc tấn công DDos xảy ra.
34
Giả sử lựa chọn các địa chỉ IP trong mỗi khoảng thời gian n (n=1,2,3,4…). Sau đó gán 1=2=….=n, có nghĩa là các khoảng thời gian có chiều dài bằng nhau.
Gọi Tn là tập các địa chỉ IP vừa thiết lập và Dn là các địa chỉ IP trong IAD tại thời điểm n. |Tn-TnDn| sẽ là tập các địa chỉ IP mới trong khoảng thời gian n.
Ta có Xn=|Tn-TDn|/Tn: tỷ lệ phần trăm địa chỉ IP mới trên tổng số các địa chỉ IP trong khoảng thời gian n.
Đặt Z={Zn,n=1,2,3…} sao cho Zn=Xn- . Với a= -
a là giá trị trung bình của {Zn} trong quá trình lưu lượng mạng bình thường là giá trị trung bình của {Xn} trong quá trình lưu lượng bình thường Do đó, khi lưu lượng mạng bình thường tất cả các giá trị của Zn đều âm Khi có một cuộc tấn công xảy ra, giá trị của Zn sẽ đột nhiên tăng và có giá trị dương. Lúc này h+a>0, h chính là giá trị trung bình tăng nhỏ nhất trong suốt cuộc tấn công.
Thuật toán CUSUM sẽ tiến hành tổng hợp Zn và được thiết lập bởi công thức sau: yn=(yn-1 + Zn)+ và y0=0
Với x+ = x nếu x > 0 và x+ = 0 nếu x <= 0
Trong đó n >= k. Trường hợp không bị tấn công giá trị của yn-1+Zn âm. Hàm quyết định có cuộc tấn công hay không được định nghĩa như sau:
dN(yn) = 0 nếu yn<= N và dN(yn) = 1 nếu yn > N
Ở đây N là ngưỡng giới hạn cho sự phát hiện tấn công. dN(yn) là hàm quyết định phát hiện trong thời gian n.
Ta có công thức: N =( N - m)+/N (1) N -> = | | 1 a h (2)
Ở đây N là thời gian phát hiện, N là điểm thay đổi. Trong đó m là thời điểm bắt đầu cuộc tấn công. Để thuật toán CUSUM tối ưu nhất, chọn h=2|a|. Theo nghiên cứu thuật toán CUSUM có thể chọn |a|=0.05
Trong công thức (1) chọn vị trí nhỏ nhất khi cuộc tấn công bắt đầu. Do vậy N=m+1.
35