Tấn công DDoS ACK Flood, được dùng để làm quá tải mục tiêu bằng các gói tin ACK giả, thông báo sai về việc thiết bị đã nhận dữ liệu thành công. Bằng cách lợi dụng lỗ hổng trong quá trình gửi và nhận gói tin ACK, đối tượng xấu có thể làm gián đoạn hoạt động của hệ thống mạng và từ chối dịch vụ với những người dùng hợp lệ. Hãy cùng Vietnix tham khảo thêm về chủ đề DDoS ACK Flood trong bài viết dưới đây.
Tấn công DDoS ACK Flood là gì ?
Tấn công DDoS ACK Flood là một loại tấn công mạng thuộc nhóm tấn công DDoS (Distributed Denial of Service), trong đó kẻ tấn công cố gắng làm quá tải hệ thống mạng bằng cách gửi một lượng lớn các gói tin ACK (Acknowledgment) không xác định đến một máy chủ hoặc một hệ thống mạng.
Gói tin ACK thường được sử dụng để xác nhận việc nhận được các gói tin dữ liệu từ máy tính khác trên mạng. Tuy nhiên, trong DDoS ACK Flood, kẻ tấn công gửi một lượng lớn các gói tin ACK giả mạo hoặc không hợp lệ đến một máy chủ hoặc một dịch vụ trên mạng, khiến cho máy chủ hoặc dịch vụ này không thể xử lý được lượng yêu cầu đồng thời và trở nên quá tải, dẫn đến sự ngưng trệ hoặc giảm hiệu suất đáng kể.
Có thể hiểu đơn giản rằng có ai đó cố tình lấp đầy mục email đã nhận của bạn với lượng lớn tin gửi giả mạo có nội dung như “Tôi đã nhận được tin của bạn.” không rõ mục đích. Tình huống này khá tương đồng với cách tấn công của ACK Flood.
Packet là gì ?
Mọi dữ liệu di chuyển trong Internet đều được chia thành các đoạn nhỏ được gọi là gói (packet). Thuật ngữ này dùng để chỉ một đơn vị dữ liệu phổ biến được định dạng để truyền trên Internet. Một packet thường có hai phần là header và payload.
Giao thức TCP là một phần quan trọng trong giao tiếp trên Internet. Các packet được gửi bằng giao thức này trong header sẽ có thông tin đính kèm. TCP dùng header để cho bên nhận biết được rằng có bao nhiêu gói tin và thứ tự của chúng, ngoài còn có thông tin về loại packet, độ dài,….
ACK packet là gì ?
Thuật ngữ ACK là viết tắt của “Acknowledgement”. Một packet ACK chính là sự xác nhận cho việc đã nhận thành công tin nhắn hoặc nhận được các packet khác. Packet ACK có thể coi là một packet TCP có flag (cờ) ACK nằm trong header.
Trong mô hình kết nối 3 bước TCP, mỗi khi một gói tin được gửi từ nguồn đến đích, người nhận cần phải gửi lại một gói tin ACK tới người gửi để báo hiệu rằng gói tin đã được nhận thành công. Nếu người gửi không nhận được gói tin ACK trong một khoảng thời gian nhất định, họ sẽ gửi lại gói tin ban đầu, điều này giúp đảm bảo rằng không có dữ liệu nào bị mất trong quá trình truyền.
Thứ tự 3 bước của kết nối TCP như sau:
- SYN
- SYN ACK
- ACK
![Tấn công DDoS ACK Flood 3 Cơ chế hoạt động của bắt tay 3 bước TCP](https://static-xf1.vietnix.vn/wp-content/uploads/2024/05/giao-thuc-tcp.webp)
Bên mở kết nối bắt đầu với bước 1 là gửi gói SYN (synchronization) qua bên nhận và sau đó bên nhận sẽ phản hồi lại bằng gói SYN ACK. Cuối cùng bên mở kết nối sẽ gửi gói ACK để thông báo nhận packet thành công và quá trình 3 bước TCP bắt tay (handshake) hoàn tất. Quá trình này đảm bảo rằng cả 2 bên thiết bị đều đang trong trạng thái “online” và có thể nhận các packet bổ sung khác như cho phép tải trang web.
Ngoài ra, ACK packet không chỉ sử dụng cho mỗi quá trình TCP handshake mà còn sử dụng để yêu cầu xác nhận đã nhận đủ dữ liệu theo thứ tự. Nếu không có ACK, bên gửi sẽ không biết tình trạng của dữ liệu đã gửi, do đó phải gửi lại lần nữa.
Như đã nói, gói tin ACK được coi là gói TCP có flag ACK đặt trong header nên ACK cũng có thể là một phần của thông báo gửi từ bên client đến cho server. Nếu người dùng điền vào biểu mẫu và gửi dữ liệu đến máy chủ, máy client có thể biến một trong những gói đó thành gói ACK cho hình ảnh. Nó không cần phải là một packet (gói) riêng biệt.
Cách hoạt động của DDoS ACK Flood
Trong cuộc tấn công ACK Flood, mục tiêu được nhắm vào là các thiết bị xử lí các gói tin, trong đó có server và firewall là các mục tiêu hàng đầu. Đối với các thiết bị router, switch hay hệ thống load balancer thì thường sẽ không dễ tấn công và có khả năng được bỏ qua. ACK Flood nhắm mục tiêu tấn công vào lớp 4 -transport layer.
Các packet ACK thông thường và không hợp lệ từ các cuộc tấn công về cơ bản khá giống nhau. Điều này khiến cho việc ngăn chặn tấn công ACK Flood khó khăn hơn nếu không sử dụng CDN để lọc ra các gói ACK không cần thiết. Tuy nhiên các gói tin (packet) được sử dụng để tấn công ACK Flood lại không có chứa payload. Do đó để né tránh các lớp bảo mật thì chúng phải đưa flag ACK vào trong TCP header.
Cách hoạt động của SYN ACK Flood
Lối tấn công SYN ACK sẽ có khác biệt so với tấn công ACK, dù ý tưởng ban đầu là không đổi. Đầu tiên hình thức tấn công này nhắm vào bước 2 trong TCP “handshake”. Đây là quá trình khi phía server gửi gói SYN ACK phản hồi về cho phía client sau khi nhận gói SYN.
![Tấn công DDoS ACK Flood 4 Cách hoạt động của SYN ACK Flood](https://static-xf1.vietnix.vn/wp-content/uploads/2024/05/syn-ack-flood.webp)
Bên tấn công bắt đầu tấn công vào mục tiêu bằng các gói tin SYN ACK. Thực chất các gói tin này đều là giả, không thuộc trong quá trình TCP “handshake”. Mục đích của chúng là làm gián đoạn hoạt động của mục tiêu.
Bên cạnh đó, các gói tin SYN cũng có thể sử dụng cho các cuộc tấn công SYN Flood DDoS.
Các cách giảm thiểu tấn công DDoS ACK Flood
- Cấu hình firewall và bộ lọc gói tin: Thiết lập các firewall và bộ lọc gói tin (packet filter) để chặn hoặc giảm thiểu các gói tin ACK từ các nguồn không hợp lệ hoặc đáng ngờ. Bạn có thể cấu hình các quy định cho firewall để chỉ cho phép các gói tin ACK đến từ các nguồn được tin cậy và chặn các gói tin ACK không hợp lệ.
- Sử dụng công nghệ IPS (Intrusion Prevention System): IPS có thể giúp phát hiện và ngăn chặn các cuộc tấn công DDoS ACK Flood bằng cách xác định và loại bỏ các gói tin ACK không hợp lệ trước khi chúng đạt đến máy chủ.
- Giảm thời gian timeout kết nối: Thiết lập thời gian timeout kết nối ngắn hơn có thể giúp giảm thiểu tác động của tấn công ACK Flood bằng cách loại bỏ các kết nối không hoạt động hoặc không hợp lệ một cách nhanh chóng. Mọi kết nối có thời gian bị kéo dài sẽ được tính là đáng ngờ và huỷ kết nối.
- Sử dụng CDN: Sử dụng dịch vụ CDN có thể giúp phân phối tải của bạn trên một mạng lưới máy chủ toàn cầu, giúp giảm thiểu tác động của tấn công bằng cách phân tải gánh nặng lưu lượng mạng.
- Tăng cường bảo mật hệ thống: Cập nhật và áp dụng các biện pháp bảo mật hệ thống như mật khẩu mạnh, mã hóa dữ liệu, và giám sát hệ thống để đảm bảo rằng hệ thống của bạn không bị chiếm quyền điều khiển hoặc lợi dụng để thực hiện tấn công từ bên trong.
- Sử dụng dịch vụ chống DDoS: Các dịch vụ chống DDoS chuyên nghiệp có thể giúp phát hiện và chặn các cuộc tấn công ACK Flood trước khi chúng gây ra sự cố nghiêm trọng cho hệ thống của bạn.
Kết luận
Qua bài viết này hy vọng đã giúp bạn hiểu hơn về hình thức tấn công DDoS ACK FLood. Từ đó trang bị cho bản thân các kiến thức cũng như các giải pháp để đối phó, giảm thiểu các hành vi tấn công DDoS trong tương lai. Đừng ngần ngại để lại bình luận bên dưới và đội ngũ admin Vietnix có thể hỗ trợ bạn sớm nhất. Ngoài ra các bạn có thể tham khảo và tìm hiểu thêm về chủ đề DDoS ở các bài viết tiếp theo của Vietnix để tích luỹ kiến thức cho chính mình.