1 TỔNG QUAN VỀ MẠNG RIÊNG ẢO
3.3.2 Chắn TCP (TCP Intercept)
Thực tế, router biên bên ngoài cung cấp ranh giới phòng vệ đầu tiên cho vấn đề liên quan tới bảo mật bên ngoài.
Chắn TCP là đặc tính phần mềm được thiết kế để chống lại tấn công từ chối dịch vụ (DoS) được biết như là SYN flooding. Giao thức TCP sử dụng bắt tay ba chiều để thiết lập kết nối end-to-end trước khi dữ liệu được phép truyền qua. Bắt tay ba chiều được mô tả như hình 3.6:
Hình 3.6: Bắt tay ba chiều TCP
Giả thiết rằng Host B muốn mở một kết nối tới Host A. Kết nối phải thực hiện qua Router C. Host B gửi gói tin SYN (gói tin TCP có đặt bit SYN) tới Host A, yêu cầu một kết nối. Host A đáp lại bằng gói tin SYN/ACK có đặt cả bit SYN và ACK, cho phép Host B hoàn thành bắt tay ba chiều với gói tin TCP ACK. Tại thời điểm này, một kết nối được thiết lập và dữ liệu được phép chuyển qua.
Tấn công TCP SYN xuất hiện khi kẻ tấn công lợi dụng việc sử dụng không gian bộ đệm thiết bị nối mạng trong phiên TCP khởi tạo việc bắt tay. Kẻ tấn công gửi một số lượng lớn gói tin có chứa bít SYN tới Host đích và Host đích xếp hàng bộ đệm cho yêu cầu và các đáp ứng các gói tin có các bít SYN, ACK. Tuy nhiên, bởi vì các gói tin này có địa chỉ đáp lại không có giá trị nên các kết nối không bao giờ được thiết lập và tiếp tục ở trạng thái half-open. Khi các yêu cầu half-open này bắt đầu tích lại thì không gian bộ đệm bị cạn kiệt, điều này gây ra máy từ chối dịch vụ cho các yêu cầu thực vì tất cả tài nguyên bị cạn kiệt đang chờ đáp ứng. Cuối cùng là Host đích bị quá thời gian chờ (time out) đáp ứng thực.
Nhiều bổ sung TCP có thể chỉ điều khiển một số lượng nhỏ các kết nối tồn tại trên một cổng; do đó, các cổng trở nên không sẵn có tới khi quá thời gian kết nối half-open. Thêm nữa, tấn công này cũng có thể gây ra cho server cạn kiệt bộ nhớ hay xử lý lặp lại để duy trì thông tin trạng thái cho các kết nối này.
Chắn TCP được thiết kế để ngăn ngừa tấn công DoS ngập lụt SYN bằng cách dò tìm, chặn và xác nhận tính hợp lệ của các yêu cầu kết nối TCP. Việc chặn có thể hoạt động một trong hai chế độ: chế độ chặn (intercept mode) và chế độ canh
phòng (watch mode). Trong chế độ chặn, phần mềm chặn từng yêu cầu (SYN) đến, các đáp ứng với tư cách đại diện của server có SYN/ACK, và sau đó chờ một gói tin ACK từ client. Khi nhận được gói tin có ACK thì gói tin có SYN ban đầu được gửi cho server và phần mềm thực hiện bắt tay ba chiều với server. Khi việc này hoàn thành thì hai kết nối được liên kết bởi router trong phiên nguồn-đích.
Trong chế độ canh phòng, các yêu cầu kết nối được phép chuyển qua router đến server nhưng bị canh phòng một cách thụ động tới khi chúng được thiết lập. Nếu có lỗi thiết lập trong 30 giây hay quá thời gian cấu hình phần mềm thì phần mềm gửi gói tin khởi tạo lại cho server để xoá bộ đệm tiến trình, cho phép server định lại bộ đệm cho các yêu cầu chính thống.
Sau khi một thiết bị chịu ảnh hưởng của tấn công ngập lụt SYN, chặn TCP sẽ chuyển tiếp sang chế độ công kích (aggressive mode). Chế độ công kích được khởi sự nếu số lượng kết nối vượt quá 1100 hay số lượng kết nối đến trong một phút vượt quá 1100; sau khi chế độ công kích được khởi sự thì mỗi khi có một kết nối mới đến thì sẽ một kết nối half-open cũ bị xoá đi. Việc này cho phép router cắt một nửa thời gian để thiết lập một kết nối.
Khi chặn TCP ở chế độ công kích, những điều sau đây sẽ xảy ra:
− Mỗi yêu cầu kết nối mới nhất gây ra một kết nối half-open cũ nhất bị xoá.
− Timeout phát lại ban đầu bị giảm đi một nửa tới 0.5 giây.
− Nếu chặn TCP được cấu hình ở chế độ canh phòng thì timeout canh phòng giảm đi một nửa.