CHƯƠNG 2 PHÁT HIỆN VÀ PHÒNG CHỐNG TẤN CÔNG TCP SYNFLOOD
2.5. Phát hiện và loại bỏ các gói tin giả mạo trong tấn cơng DDoS TCP SynFlood
2.5.3.1. Thuật toán DBSCAN
Thuật toán DBSCAN [6] là thuật toán do Martin Ester và các tác giả khác đề xuất là thuật
toán gom các đối tượng dựa trên mật độ, hiệu quả với cơ sở dữ liệu lớn, có khả năng xử lý nhiễu.
Ý tưởng chính của thuật tốn là vùng lân cận (Eps) mỗi đối tượng trong một Cluster có số đối tượng lớn hơn ngưỡng tối thiểu. Các đối tượng trong mỗi Cluster được phân làm 2 loại: đối tượng bên trong Cluster (core point: đối tượng lõi) và đối tượng nằm trên đường biên của Cluster (border point: đối tượng biên).
Hình 2.7 Thuật tốn DBSCAN [6] a) Một số định nghĩa a) Một số định nghĩa
Vùng lân cận Eps của đối tượng p, ký hiệu NEps(p) là tập hợp các đối tượng q sao cho khoảng cách giữa p và q dist(p,q) nhỏ hơn hoặc bằng Eps: NEps(p) = {qD | dist(p,q) Eps} Đối tượng p tới được trực tiếp theo mật độ (directly density-reachable) thỏa Eps, MinPts từ đối tượng q nếu pNEps(q) và |NEps(q)| MinPts. Nếu p, q đều là đối tượng lõi (core point) quan hệ directly density-reachable là đối xứng, nghĩa là p tới được trực tiếp theo mật độ từ q và ngược lại. Nếu trong p, q có một core point, một đối tượng biên như hình dưới thì chỉ đối tượng biên tới được trực tiếp theo mật độ từ đối tượng lõi mà khơng có chiều ngược lại (bất đối xứng).
Đối tượng p tới được theo mật độ (density-reachable) thỏa Eps, MinPts từ đối tượng q nếu tồn tại một dãy p1, p2, ..., pn (p1 =q, pn= p) sao cho pi+1 tới được theo mật độ trực tiếp từ pi.
Đối tượng p kết nối theo mật độ (density-connected) thỏa Eps, MinPts với đối tượng q tồn tại đối tượng o sao cho cả p và q đều tới được theo mật độ từ o.
b) Thuật tốn
Để tìm một Cluster, thuật tốn DBSCAN bắt đầu từ một đối tượng bất kỳ và sau đó tìm tất cả các đối tượng tới được theo mật độ thỏa Eps and MinPts từ đối tượng p. Nếu p là đối tượng lõi, bước trên sinh ra một Cluster thỏa Eps and MinPts. Nếu p là đối tượng biên thì khơng tìm được đối tượng tới được theo mật độ từ p, DBSCAN duyệt đối tượng tiếp theo trong cơ sở dữ liệu. Vì sử dụng chung thơng số Eps và MinPts cho tất cả các Cluster nên DBSCAN có thể kết hợp hai Cluster thành một Cluster nếu hai Cluster gần nhau. Khoảng cách giữa hai tập đối tượng S1 và S2, ký hiệu dist (S1, S2) là giá trị khoảng cách nhỏ nhất của hai đối tượng p, q thuộc S1, S2: dist (S1, S2) = min{dist(p,q) | pS1, qS2}. Hai tập đối tượng trong cùng một Cluster có thể tách nhau nếu khoảng cách giữa chúng lớn hơn.