Tấn công TCP SYN Flood

kaitoukid

Wh------
18/07/2014
26
31 bài viết
Tấn công TCP SYN Flood
SYN Flood là phương thức ddos khá phổ biến hiện nay. Hôm nay tôi sẽ giới thiệu cho các bạn về phương thức tấn công này.

anh sua bai box ddos.png

Tổng quan về giao thức TCP

TCP là giao thức hướng kết nối connection-oriented nghĩa là nó thiết lập kênh kết nối trước khi truyền dữ liệu đi. TCP thiết lập kết nối bằng quá trình bắt tay 3 bước:
1.png
  • Bước 1: Đầu tiên client gửi một gói tin mang cờ SYN tới server yêu cầu kết nối.
  • Bước 2: Sau khi nhận được gói tin SYN, server phản hồi lại client bằng 1 gói tin SYN/ACK và chờ xác nhận lại từ client.
  • Bước 3: Client nhận được gói tin SYN/ACK thì sẽ trả lời server bằng gói tin ACK báo với server biết rằng nó đã nhận được gói tin SYN/ACK, kết nối đã được thiết lập và sẵn sàng trao đổi dữ liệu.

Kịch bản tấn công

Như vậy ở bước thứ 2, sau khi server gửi gói tin SYN/ACK nó sẽ phải đợi cho đến khi client trả lời hoặc hết thời gian timeout. Bằng việc gửi liên tiếp nhiều gói tin SYN đến server mà không phản hồi lại bằng gói tin ACK buộc server phải đưa các kết nối này vào trong hàng đợi và chờ đợi. Do giao thức TCP sử dụng các khối TCB (Tranmission control block) là cấu trúc dữ liệu của giao thức vận chuyển chứa toàn bộ thông tin của kết nối. Dung lượng tối thiểu của 1 TCB là 280bytes, trong 1 số hệ thống hiện nay con số này còn lên tới 1,300 bytes. Với việc phải chờ đợi các client dẫn đến không gian lưu trữ TCB dần dần cạn kiệt và không thể phục vụ những client hợp lệ khác.

Có 3 kiểu tấn công chính

  • Tấn công trực tiếp: kẻ tấn công sẽ gửi trực tiếp các gói tin SYN đến server.
  • Tấn công giả mạo: kẻ tấn công sẽ giả mạo IP và gửi gói tin SYN đến server sau đó server sẽ gửi các gói tin phản hồi SYN/ACK tới những IP bị giả mạo, trong trường hợp này những IP đó chính là nạn nhân thứ 2 của cuộc tấn công.
  • Tấn công phân tán trực tiếp: kẻ tấn công sẽ điểu khiển một mạng lưới máy tính đồng loạt gửi các gói tin SYN đến server chiếm băng thông và gây cạn kiệt tài nguyên hệ thống.

Tiến hành tấn công

Ở đây tôi sử dụng Tool hping3 để thực hiện tấn công Syn Flood.

Tấn công trực tiếp

Sử dụng IP 192.168.1.44 tấn công trực tiếp đến server 192.168.2.45

2.png
Gói tin bắt dc trên IP 192.168.1.44

3.jpg
Tấn công gián tiếp

Từ Server 192.168.1.44 IP 192.168.1.50 tấn công SYN Flood tới Web Server 192.168.2.45, tuy nhiên trong gói tin SYN đã bị thay đổi Source IP thành 192.168.1.50

4.png

Kết quả bắt gói tin trên Server 192.168.1.44

5.jpg

Kết quả bắt gói tin trên Server 192.168.1.50

6.jpg

Giải pháp khắc phục

  • Micro blocks: quản trị viên lưu trữ thông tin quan trọng của kết nối trong một ô nhớ giới hạn thay vì lưu trữ toàn bộ thông tin về kết nối trong khi chờ đợi phản hồi từ client. Việc này nhằm tiết kiệm bộ nhớ làm giảm khả năng gây tràn hàng đợi của server.
  • SYN cookies: Server lưu lại tất cả những kết nối vào bảng hash với các thông số: IP, port, và những thông tin khác. Server chỉ cấp bộ nhớ cho kết nối khi nhận được gói tin thứ 3 của quá trình bắt tay 3 bước.
  • RST cookies: khi nhận được gói tin SYN từ client, server cố tình gửi một gói tin không đúng với gói SYN /ACK mà client đang chờ đợi, thông thường client sẽ gửi lại server gói tin RST thông báo rằng nó không nhận được gói tin mong muốn và yêu cầu server gửi lại gói tin trước đó. Như vậy nếu nhận được phản hồi RST từ client thì client này vô hại và server bắt đầu thiết lập kết nối với client.
  • Stack tweaking: quản trị hệ thống có thể nâng cấp không gian hàng đợi để giảm thiểu hậu quả của cuộc tấn công SYN Flood cũng như làm giảm thời gian chờ đợi.
 
Chỉnh sửa lần cuối bởi người điều hành:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  • Thích
Reactions: du0n9
Ảnh bị lỗi hết rồi
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Thẻ
syn flood tcp
Bên trên