Giao thức TCP thiết lập các kết nối bình thường thông qua bắt tay ba bước: đầu tiên, máy khách gửi một gói SYN đến máy chủ; máy chủ nhận được thông báo này và sẽ trả lời gói SYN + ACK cho máy khách; cuối cùng, máy khách sẽ có thể trả lại gói ACK cho máy chủ, nhận biết rằng kết nối TCP đã được thiết lập. Quy trình xử lý của giao thức bắt tay ba bước TCP được thể hiện trong Hình 1.
Hình 1. Bắt tay ba bước TCP
Khi nhận được gói SYN đầu tiên, TCP sẽ tạo một nửa kết nối, phân bổ tài nguyên liên quan cho nửa kết nối và thêm vào danh sách nửa kết nối. Chỉ khi quá trình bắt tay ba bước hoàn tất hoặc tin nhắn đã hết thời gian chờ, kết nối một nửa này sẽ bị xóa khỏi danh sách và các tài nguyên liên quan sẽ được giải phóng. Nếu kẻ tấn công tiếp tục tạo ngẫu nhiên địa chỉ IP và gửi gói SYN bằng cách kiểm soát một số lượng lớn các máy Proxy, máy chủ sẽ nhận được rất nhiều gói SYN. Do địa chỉ IP bị giả mạo, các gói SYN + ACK không thể được gửi đến đúng máy khách và do đó không thể nhận gói ACK tương ứng từ máy khách. Trong khoảng thời gian này, tài nguyên máy chủ sẽ không được giải phóng cho đến khi chúng cạn kiệt, và cuối cùng dẫn đến sự cố máy chủ hoặc không thể đáp ứng các yêu cầu máy khách TCP bình thường. Loại tấn công DDoS nhắm vào lỗ hổng lớp TCP này được gọi là tấn công SYN Flood.
Tài liệu tham khảo
1. Bo Hang and Ruimin Hu, "A novel SYN Cookie method for TCP layer DDoS attack," 2009 International Conference on Future BioMedical Information Engineering (FBIE), 2009, pp. 445-448, doi: 10.1109/FBIE.2009.5405818.