Phần trước mình đã giới thiệu khái niệm tấn công từ chối dịch vụ DoS/DDoS, Botnet và phân loại một số kiểu tấn công. Phần ngày hôm nay mình sẽ nói thêm chi tiết về từng loại tấn công đó.
UDP Flooding – DoS/DDoS
Trong tấn công UDP flood, hacker gửi các gói tin UDP giả mạo với tốc độ cực cao tới mục tiêu tới các port ngẫu nhiên bằng cách sử dụng một range IP lớn. Các gói tin UDP tràn lan làm cho server phải kiểm tra liên tục các ứng dụng không tồn tại trên các port. Kết quả là các ứng dụng hợp lệ trở nên không thể truy cập được và server trả về “Destination Unreachable“. Kiểu tấn công này tiêu thụ tài nguyên mạng và băng thông có sẵn, dẫn đến việc làm kiệt quệ mạng cho đến khi nó ngừng hoạt động.
ICMP Flood
Quản trị viên thường sử dụng giao thức ICMP nhằm khắc phục sự cố mạng. Trong ICMP Flooding, hacker gửi một lượng lớn các gói tin yêu cầu echo ICMP tới nạn nhân trực tiếp hoặc thông qua reflection network (phản chiếu). Những gói tin này buộc nạn nhân phải gửi phản hồi, làm cho nó quá tải và sau đó không phản hồi các yêu cầu TCP/IP hợp lệ.
Để bảo vệ chống lại các cuộc tấn công ICMP flood, cần thiết phải đặt một ngưỡng kích hoạt tính năng bảo vệ khỏi cuộc tấn công ICMP flood khi vượt quá ngưỡng này. Khi ngưỡng ICMP bị vượt quá (mặc định, giá trị ngưỡng là 1000 gói tin/giây), bộ định tuyến từ chối các yêu cầu echo ICMP tiếp theo từ tất cả các địa chỉ trong cùng security zone trong phần còn lại của giây hiện tại và giây tiếp theo.
Ping of Death
Hacker cố gắng làm tràn bộ nhớ, làm mất ổn định hoặc làm đóng băng hệ thống hoặc dịch vụ mục tiêu bằng cách gửi các gói tin bất hợp lệ hoặc quá lớn bằng cách sử dụng lệnh ping đơn giản. Giả sử hacker gửi một gói tin có kích thước là 65.538 byte tới web server. Kích thước này vượt quá giới hạn kích thước quy định trong RFC 791 IP, là 65.535 byte. Quá trình tái lắp gói tin thực hiện bởi web server nạn nhận có thể gây ra sự cố hệ thống.
Smurf Attack
Hacker giả mạo địa chỉ IP nguồn bằng địa chỉ IP của nạn nhân và gửi số lượng lớn các gói tin yêu cầu ICMP ECHO tới một broadcast network IP. Điều này khiến cho tất cả các máy trên broadcast network phản hồi lại các yêu cầu ICMP ECHO nhận được. Những phản hồi này được gửi tới máy của nạn nhân vì địa chỉ IP đã bị giả mạo bởi hacker, gây ra lưu lượng đáng kể tới máy của nạn nhân và cuối cùng làm cho máy tính đó bị treo hoặc gặp sự cố.
Pulse Wave DDoS Attack
Pulse Wave DDoS Attack là loại tấn công DoS/DDoS mới nhất được hacker sử dụng để làm gián đoạn các hoạt động thông thường của mục tiêu. Thông thường, các mô hình tấn công DoS/DDoS là luồng dữ liệu đến liên tục nhưng trong tấn công DDoS loại Pulse wave, mô hình tấn công là tuần hoàn, và cuộc tấn công rất lớn, tiêu thụ toàn bộ băng thông của mạng mục tiêu. Hacker gửi một dạng gói tin cực kỳ lặp lại như những xung (pulses) tới mục tiêu mỗi 10 phút, và phiên tấn công kéo dài khoảng một giờ hoặc vài ngày. Một xung duy nhất (300 Gbps trở lên) đã đủ để làm tắc nghẽn mạng. Việc phục hồi sau các cuộc tấn công như vậy rất khó khăn và đôi khi không thể thực hiện được.
Zero-Day DDoS Attack
Tấn công DDoS Zero-day là kiểu tấn công mà trong đó lỗ hổng DoS/DDoS không có các bản vá hoặc biện pháp phòng thủ hiệu quả, có thể gây ra thiệt hại nghiêm trọng cho cơ sở hạ tầng mạng và tài sản. Hiện tại, chưa có phương pháp để bảo vệ mạng khỏi loại tấn công này.
SYN Flood Attack
Trong SYN Flood Attack, hacker gửi một lượng lớn SYN request tới máy mục tiêu, tạo ra các kết nối TCP không hoàn chỉnh, gây tốn tài nguyên mạng. Bình thường, khi một client muốn bắt đầu một kết nối TCP tới một server, client và server trao đổi các thông điệp sau đây:
- Gửi một gói tin yêu cầu TCP SYN tới server.
- Server gửi một gói SYN/ACK (phản hồi) tới client.
- Client gửi một gói phản hồi ACK tới server để hoàn thành thiết lập phiên.
Phương pháp này được gọi là “three-way handshake” (bắt tay ba bước).
Trong tấn công SYN, hacker lợi dụng phương pháp three-way handshake. Đầu tiên, hacker gửi một yêu cầu TCP SYN giả mạo tới server mục tiêu. Sau khi server gửi một gói SYN/ACK phản về hacker, hacker không gửi gói phản hồi ACK nào cả khiến cho server đợi để hoàn thành kết nối. Kiểu tấn công này nói cách khác là tận dụng cách thức lỗi mà hầu hết các server triển khai three-way handshake của giao thức TCP.
Như hình bên dưới, khi máy B nhận được yêu cầu SYN từ máy A, nó phải theo dõi kết nối mở trong một “listen queue” ít nhất là trong 75 giây.
Ngoài tấn công SYN flood, hacker cũng có thể sử dụng các kiểu tấn công SYN-ACK và ACK/PUSH ACK flood để làm gián đoạn mục tiêu. Tất cả các cuộc tấn công này tương tự về chức năng với những biến thể khác nhau.
Fragmentation Attack
Kiểu tấn công này ngăn nạn nhân ghép lại các gói tin phân mảnh bằng cách gửi một số lượng lớn các gói tin đã được phân mảnh (từ 1500 byte trở lên) tới một server với tốc độ tương đối nhỏ. Vì giao thức cho phép phân mảnh, các gói tin này thường không được kiểm tra khi chúng đi qua thiết bị mạng như bộ định tuyến, tường lửa và hệ thống phát hiện và ngăn ngừa xâm nhập (IDS/IPS). Việc tái tạo lại và kiểm tra các gói tin lớn và đã phân mảnh này tiêu tốn quá nhiều tài nguyên cho server, hơn nữa nội dung trong các mảnh được hacker làm ngẫu nhiên, làm cho việc tái tạo và kiểm tra tiêu tốn nhiều tài nguyên hơn và gây ra sự cố hệ thống.
Spoofed Session Flood Attack
Hacker tạo ra các phiên TCP giả mạo bằng cách gửi nhiều gói SYN, ACK và RST hoặc FIN nhằm bypass tường lửa.
- Tấn công lũy tiến giả mạo phiên Multiple SYN-ACK: Hacker tạo ra một phiên giả mạo với nhiều gói SYN và nhiều gói ACK, kèm theo một hoặc nhiều gói RST hoặc FIN.
- Tấn công lũy tiến giả mạo phiên Multiple ACK: Hacker tạo ra một phiên giả mạo bằng cách bỏ qua hoàn toàn các gói SYN và chỉ sử dụng nhiều gói ACK cùng với một hoặc nhiều gói RST hoặc FIN. Vì các gói SYN không được sử dụng và tường lửa thường sử dụng bộ lọc gói SYN để phát hiện lưu lượng bất thường, tỷ lệ phát hiện cuộc tấn công DDoS của tường lửa rất thấp đối với loại cuộc tấn công này.
HTTP GET/POST Attacks
Các kiểu tấn công HTTP là tấn công ở tầng 7 (tầng ứng dụng). Các HTTP client như trình duyệt web kết nối tới web server thông qua giao thức HTTP để gửi các HTTP request, có thể là HTTP GET hoặc HTTP POST. Hacker khai thác những request này để thực hiện tấn công DoS/DDoS.
- Tấn công HTTP GET: Hacker sử dụng một HTTP header chậm trễ (time-delayed) để giữ kết nối HTTP và làm kiệt quệ tài nguyên của web server. Hacker không bao giờ gửi yêu cầu đầy đủ tới mục tiêu do đó server mục tiêu sẽ giữ kết nối HTTP và chờ đợi khiến nó bị treo.
- Tấn công HTTP POST: Hacker gửi các yêu cầu HTTP với header đầy đủ nhưng phần body của thông điệp không hoàn chỉnh, do đó server đợi phần còn lại khiến server không khả dụng.
Tấn công HTTP GET/POST là một cuộc tấn công tầng 7 tinh vi không sử dụng các gói tin bất hợp lệ hay kỹ thuật giả mạo hay kỹ thuật phản chiếu nào. Loại cuộc tấn công này yêu cầu băng thông ít hơn so với các cuộc tấn công khác nhưng độ hiệu quả lại cực kì cao.
Slowloris Attack
Slowloris là một công cụ tấn công DoS/DDoS được sử dụng để thực hiện các cuộc tấn công DDoS tầng 7 nhằm làm sập cơ sở hạ tầng web. Điểm khác biệt rõ ràng của Slowloris so với các công cụ khác là nó sử dụng lưu lượng HTTP hoàn toàn hợp pháp để tấn công mục tiêu. Hacker gửi các HTTP request không hoàn chỉnh tới web server. Khi nhận được các request, server mục tiêu mở nhiều kết nối và chờ đợi request hoàn thành khiến.
Multi-Vector Attack
Trong tấn công DoS/DDoS đa vector, hacker sử dụng kết hợp giữa tấn công theo kiểu tràn dữ liệu, giao thức và ứng dụng để làm hỏng hệ thống. Hacker nhanh chóng chuyển từ một hình thức tấn công DDoS (ví dụ: gói SYN) sang hình thức khác (lớp 7). Những cuộc tấn công này có thể được tiến hành thông qua một vector vào một thời điểm hoặc thông qua nhiều vector song song nhằm làm lúng túng bộ phận công nghệ thông tin của tổ chức, buộc họ phải tiêu tốn tất cả các nguồn lực của mình.
Peer-to-Peer Attack
Tấn công ngang hàng (peer-to-peer attack) là một hình thức tấn công DDoS trong đó hacker khai thác một số lỗ hổng trong các máy ngang hàng để khởi đầu một cuộc tấn công DDoS. Hacker lợi dụng các lỗ hổng được tìm thấy trong các mạng sử dụng giao thức Direct Connect (DC++) cho phép trao đổi file với nhau. Loại tấn công này không sử dụng botnets, hacker chỉ đạo các client ngắt kết nối khỏi mạng ngang hàng và thay vào đó kết nối đến server của nạn nhân, gây giảm hiệu suất của trang web mục tiêu.
Các kiểu tấn công DoS/DDoS ngang hàng có thể được giảm thiểu bằng cách chỉ định port cho giao tiếp ngang hàng. Ví dụ, việc chỉ định port 80 để không cho phép giao tiếp ngang hàng giảm thiểu khả năng bị tấn công vào các trang web. Tuy nhiên, đây chỉ là một biện pháp bảo vệ cơ bản và không thể hoàn toàn ngăn chặn. Do đó, việc giảm thiểu cuộc tấn công DoS/DDoS ngang hàng đòi hỏi các biện pháp bảo mật toàn diện như sử dụng hệ thống phòng thủ DDoS mạnh mẽ, giám sát lưu lượng mạng để phát hiện các hành vi tấn công,…