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.5. Phương pháp xác thực địa chỉ IP nguồn
Như luận án đã đề cập ở phần trên, để thực hiện phịng chống tấn cơng TCP Syn Flood, hệ thống DDoS-Defence ngoài việc phát hiện và loại bỏ các gói tin giả mạo thì hệ thống này cịn phải có cơ chế xác thực các địa chỉ IP nguồn là thực để đưa vào IP White-List. Trong phần này, luận án sẽ trình bày cụ thể về cơ chế xác thực địa chỉ IP nguồn như dưới đây. Mục đích của việc xác thực địa chỉ IP nguồn là để kiểm tra gói tin SYN nhận được ở phía máy chủ có phải là gói tin SYN được gửi đi từ một máy thực hay không. Theo nguyên lý hoạt động của giao thức TCP trong quá trình bắt tay ba bước thì sau khi máy chủ nhận được gói tin SYN, thì máy chủ gửi lại gói tin SYN, ACK để xác nhận trạng thái sẵn sàng kết nối. Máy Client sẽ gửi lại gói tin ACK tới máy chủ để xác nhận trạng thái sẵn sàng kết nối. Mơ hình xác thực IP nguồn được mơ tả như mơ hình dưới đây:
`
Server
DDOS Defence System SYN
Block
Fake SYN,ACK
ACK Client
Hình 2.13 Mơ hình xác thực địa chỉ IP nguồn
Khi tấn cơng DDoS xảy ra, các kết nối có IP nguồn trong White-List được cho phép kết nối tới Server. Các IP không nằm trong White-List phải tiến hành xác thực. Khi đó, hệ thống DDoS Defense sẽ đại diện máy chủ gửi gói tin SYN, ACK về phía máy Client. Nếu hệ thống nhận được gói tin ACK ở phía Client thì IP nguồn của Client đó được đưa vào White-List và cho phép kết nối. Trường hợp khơng nhận được gói tin ACK từ IP nguồn thì IP này vẫn chưa được xác thực và không được kết nối tới máy chủ được bảo vệ.
Phương pháp sử dụng thuật toán Bloom Filter để xác thực địa chỉ IP nguồn được mô tả như dưới đây:
Allow access to Server
Push to BF-2 New packet (pi) In BF-0 NoMatch Match In BF-1 Match Call timeout Function (pi) NoMatch Get ACK (pi) Match NoMatch
Hình 2.14 Phương pháp xác thực địa chỉ IP nguồn sử dụng Bloom Filter
Ưu điểm của phương pháp này là mặc định các IP nguồn chưa được xác thực không được phép kết nối với máy chủ khi chưa xác thực thành công. Để tránh khả năng bị gửi xác nhận gói tin ACK giả mạo, đối với mỡi gói tin mà hệ thống gửi đi để xác thực IP nguồn, phương pháp thiết lập cơ chế thời gian timeout phù hợp với thời gian TCP timeout retransmission để xác định các gói tin giả mạo. Điều này có nghĩa là sau khoảng thời gian timeout kể từ khi hệ thống gửi gói tin xác nhận kết nối mà khơng nhận được gói tin xác nhận kết nối từ phía IP nguồn thì địa chỉ đó được coi là giả mạo.
Vấn đề đặt ra ở đây là khi tấn công DDoS xảy ra số lượng các kết nối gửi đến hệ thống sẽ rất lớn, do đó việc kiểm tra các địa chỉ IP nguồn có nằm trong danh sách IP white-list để tiến hành xác thực cũng như việc lưu trữ các thông tin các địa chỉ IP đã được xác thực cần phải có phương pháp để thực hiện. Do đó, trong nghiên cứu này, chúng tôi đề xuất phương pháp sử dụng thuật toán Bloom filter (BF) trong việc xác thực địa chỉ IP nguồn.
Cụ thể, chúng tối sử dụng BF-0 để lưu thông tin về các địa chỉ IP có trong IP white-list. BF- 1 để lưu thơng tin các địa chỉ được xác thực thành công. BF-2 để lưu thông tin về các địa chỉ IP nguồn đang được xác thực.