CEH Module 10: Tấn công Từ chối Dịch vụ (DoS/DDoS) và Kỹ thuật Phòng thủ
Phân tích chuyên sâu cơ chế tấn công DoS, DDoS, đòn tấn công SYN Flooding, Smurf Amplification, kiến trúc mạng Botnet và giải pháp phòng thủ đa tầng với SYN Cookies.
Trong chiến lược an ninh mạng tổng thể, khi kẻ tấn công không thể tìm thấy bất kỳ lỗ hổng phần mềm nào để đột nhập hoặc vượt qua các cơ chế xác thực tài khoản nghiêm ngặt, chúng sẽ chuyển sang giải pháp mang tính hủy diệt tối hậu: Tấn công Từ chối Dịch vụ (Denial of Service - DoS) và biến thể phân tán quy mô lớn Distributed Denial of Service (DDoS).
Mục tiêu cốt lõi của tấn công DoS/DDoS không phải là đánh cắp dữ liệu mật hay sửa đổi cơ sở dữ liệu, mà là làm tê liệt hoàn toàn khả năng phục vụ của hệ thống máy chủ, bão hòa băng thông mạng, và ngăn chặn người dùng hợp lệ tiếp cận dịch vụ. Hậu quả của các cuộc tấn công này gây thiệt hại nặng nề về kinh tế, uy tín thương hiệu và làm gián đoạn các hạ tầng trọng yếu (ngân hàng điện tử, sàn thương mại điện tử, cổng dịch vụ công). Trong chương trình đào tạo Certified Ethical Hacker (CEH v12), Module 10 phân tích chi tiết cơ chế suy kiệt tài nguyên mạng từ Tầng 3 đến Tầng 7, giải phẫu đòn tấn công kinh điển TCP SYN Flooding, mô hình chỉ huy mạng máy tính ma Botnet, cùng các giải pháp phòng thủ cứng cáp như SYN Cookies, BCP 38 Ingress Filtering và Cloud Scrubbing.
1. Bản chất Kỹ thuật: Phân biệt Giữa DoS và DDoS
Để hiểu rõ bản chất của DoS/DDoS, cần nhìn nhận cuộc tấn công này đánh trực tiếp vào nguyên lý truyền thông căn bản của mô hình Client - Server: Mọi tài nguyên tính toán đều có giới hạn vật lý (băng thông đường truyền, bộ nhớ RAM, dung lượng CPU, và số lượng khe cắm kết nối đồng thời trong bảng trạng thái mạng).
Khái niệm Tấn công DoS (Đơn nguồn)
Một cuộc tấn công DoS (Denial of Service) xảy ra khi kẻ tấn công sử dụng duy nhất một máy tính hoặc một đường truyền mạng để phát động các gói tin độc hại nhắm vào máy chủ mục tiêu. DoS thường dựa vào việc khai thác một lỗi phần mềm cụ thể (Software Bug / Crash Exploit) hoặc gửi các gói tin có cấu trúc dị dạng khiến hệ điều hành máy chủ bị sập ngay lập tức (Panic / Blue Screen of Death) mà không cần băng thông quá lớn.
Tuy nhiên, trong hạ tầng Internet hiện đại với băng thông máy chủ lên tới hàng chục Gbps, một máy tính đơn lẻ của kẻ tấn công rất khó làm nghẽn đường truyền của một trung tâm dữ liệu. Đó là lý do DoS đơn nguồn dần bị thay thế bởi DDoS.
Khái niệm Tấn công DDoS (Đa nguồn Phân tán)
DDoS (Distributed Denial of Service) nâng cấp đòn tấn công lên quy mô công nghiệp bằng cách huy động hàng chục nghìn đến hàng triệu máy tính khác nhau nằm rải rác trên toàn cầu để đồng loạt xả lưu lượng vào một mục tiêu duy nhất. Các máy tính tham gia tấn công phần lớn là các thiết bị của người dùng thông thường hoặc camera IoT bị nhiễm mã độc (Trojan, Worm) và bị kẻ tấn công điều khiển ngầm mà chủ nhân không hề hay biết, tạo thành một hệ thống mạng máy tính ma (Botnet).
Sức mạnh của DDoS nằm ở tính chất phân tán: lưu lượng tấn công khổng lồ (Volumetric Attack) có thể đạt tới hàng trăm Gigabits hoặc thậm chí Terabits mỗi giây. Vì lưu lượng xuất phát từ hàng triệu địa chỉ IP khác nhau trên toàn thế giới, việc chặn lọc IP đơn thuần tại tường lửa hoàn toàn bị phá sản.
2. Các Kỹ thuật Tấn công Tầng Mạng và Tầng Vận chuyển (Layer 3 & Layer 4)
Các cuộc tấn công ở Tầng 3 và Tầng 4 tập trung vào việc làm cạn kiệt băng thông mạng hoặc làm quá tải ngăn xếp giao thức TCP/IP của hệ điều hành mục tiêu.
1. Tấn công Tràn Hàng đợi TCP SYN Flooding
TCP là giao thức hướng liên kết tin cậy, yêu cầu quy trình Bắt tay ba bước (Three-way Handshake) chặt chẽ để thiết lập phiên:
- Bước 1: Client gửi gói tin có cờ
SYNvà số tuần tự khởi tạoISN_c. - Bước 2: Server tiếp nhận, phân bổ một khối cấu trúc điều khiển truyền thông (TCB - Transmission Control Block) vào bộ nhớ RAM, đưa kết nối vào hàng đợi chờ bán mở (SYN Backlog Queue), và gửi lại gói
SYN-ACK. Kết nối nằm ở trạng tháiSYN_RECV. - Bước 3: Client gửi lại gói
ACKđể hoàn tất, chuyển kết nối sang trạng tháiESTABLISHED.
Cơ chế khai thác của SYN Flooding:
- Kẻ tấn công sử dụng các công cụ như
hping3để phát sinh hàng chục nghìn gói tin TCP SYN mỗi giây với địa chỉ IP nguồn hoàn toàn giả mạo (Spoofed IP) hoặc không thể phản hồi. - Máy chủ mục tiêu nhận được các gói SYN, lập tức phân bổ bộ nhớ TCB và gửi các gói SYN-ACK phản hồi về các địa chỉ IP giả mạo đó.
- Vì địa chỉ IP nguồn là giả, không có gói tin ACK nào được gửi trả lại. Máy chủ buộc phải giữ các kết nối này trong hàng đợi SYN Backlog Queue và chờ đợi trong một khoảng thời gian Timeout (mặc định từ 30 đến 120 giây).
- Chỉ sau vài giây, hàng đợi SYN Backlog Queue của máy chủ bị lấp đầy 100%. Khi người dùng hợp lệ gửi gói tin SYN đến, máy chủ không còn bộ nhớ để lưu trữ và buộc phải Drop bỏ kết nối, khiến dịch vụ web bị tê liệt hoàn toàn.
2. Kỹ thuật Tấn công Khuếch đại Smurf Attack
Smurf Attack là đòn tấn công từ chối dịch vụ khuếch đại (Amplification Attack) kinh điển ở Tầng 3 lợi dụng giao thức ICMP:
- Kẻ tấn công gửi một gói tin ICMP Echo Request (Ping) đến địa chỉ Quảng bá mạng (Directed Broadcast Address, ví dụ
192.168.1.255) của một mạng máy tính trung gian (mạng khuếch đại / Amplification Network). - Điểm mấu chốt: Kẻ tấn công giả mạo địa chỉ IP nguồn của gói tin ICMP Request thành địa chỉ IP của nạn nhân.
- Khi thiết bị định tuyến của mạng trung gian chuyển tiếp gói Broadcast này, toàn bộ 200 máy trạm đang hoạt động trong mạng đó đều nhận được gói Ping. Mỗi máy trạm này sẽ lập tức tạo một gói phản hồi ICMP Echo Reply và gửi thẳng về địa chỉ IP nguồn giả mạo (máy của nạn nhân).
- Hệ số khuếch đại: Nếu kẻ tấn công chỉ phát 1 gói tin 1 KB, nạn nhân sẽ phải hứng chịu 200 KB dữ liệu dội về cùng một thời điểm. Hàng nghìn gói tin như vậy sẽ làm nghẽn toàn bộ đường truyền kết nối của nạn nhân.
Một biến thể tương tự của Smurf là Fraggle Attack, sử dụng giao thức UDP hướng vào cổng 7 (Echo) hoặc cổng 19 (Chargen) thay vì dùng ICMP.
3. Gói tin Tử thần (Ping of Death)
Theo tiêu chuẩn giao thức mạng IPv4 (RFC 791), kích thước tối đa cho phép của một gói tin IP (bao gồm cả Header và Payload) là 65.535 byte. Tuy nhiên, các khung truyền Ethernet ở Tầng 2 chỉ cho phép kích thước MTU tối đa là 1.500 byte, buộc hệ điều hành phải phân mảnh (Fragmentation) các gói tin IP lớn thành nhiều mảnh nhỏ khi gửi đi.
Kẻ tấn công tạo ra một gói tin ICMP Ping với tổng kích thước vượt quá giới hạn 65.535 byte thông qua các mảnh phân đoạn dị dạng. Khi máy chủ nạn nhân nhận được các mảnh này và tiến hành tái tổ hợp lại trong ngăn nhớ của nhân hệ điều hành (Kernel Buffer), bộ nhớ đệm bị tràn (Buffer Overflow), dẫn đến tình trạng máy chủ bị sập nguồn hoặc tự khởi động lại.
4. Tấn công Vòng lặp LAND Attack và Tấn công Teardrop
Trong cuộc tấn công LAND (Local Area Network Denial), kẻ tấn công chế tạo một gói tin TCP SYN đặc biệt có Địa chỉ IP nguồn trùng khít với Địa chỉ IP đích, đồng thời Cổng nguồn trùng khít với Cổng đích của chính máy tính mục tiêu. Khi tiếp nhận gói tin này, hệ điều hành của nạn nhân cố gắng mở kết nối với chính nó, dẫn đến việc ngăn xếp mạng rơi vào vòng lặp phản hồi vô tận và làm treo hệ thống.
Một đòn tấn công phân mảnh nguy hiểm khác là Teardrop Attack. Kẻ tấn công khai thác cơ chế tái ráp các mảnh gói tin IP (Fragment Offset) bằng cách cố tình tạo ra các mảnh phân đoạn có trường độ dài và độ lệch chồng lấn lên nhau (Overlapping Fragments). Khi hệ điều hành nạn nhân cố gắng ráp các mảnh này lại thành gói tin hoàn chỉnh, thuật toán xử lý bộ nhớ đệm xảy ra lỗi xung đột logic, dẫn đến sập toàn bộ nhân hệ điều hành (Kernel Crash).
5. Tấn công Khuếch đại DNS và NTP Phân tán (DRDoS Amplification)
Trong các cuộc tấn công DDoS quy mô kỷ lục hiện nay, kỹ thuật Tấn công Từ chối Dịch vụ Phân tán có Phản xạ và Khuếch đại (Distributed Reflection Denial of Service - DRDoS) qua giao thức UDP được sử dụng phổ biến nhất:
- DNS Amplification Attack: Kẻ tấn công gửi các gói tin truy vấn DNS có kích thước nhỏ (khoảng 60 byte) với bản ghi
ANYđến hàng nghìn máy chủ phân giải DNS mở (Open Resolvers) trên Internet. Gói tin truy vấn được giả mạo địa chỉ IP nguồn thành IP của nạn nhân. Máy chủ DNS phản hồi bằng toàn bộ danh sách bản ghi zone (chứa thông tin DNSSEC) với kích thước lên tới 3.000 - 4.000 byte. Hệ số khuếch đại đạt từ 50 đến 70 lần. - NTP Amplification Attack: Khai thác lệnh chẩn đoán
monlisttrên các máy chủ đồng bộ thời gian NTP (Network Time Protocol) phiên bản cũ. Lệnhmonlistyêu cầu máy chủ NTP trả về danh sách 600 địa chỉ IP gần nhất đã từng đồng bộ thời gian với nó. Khi kẻ tấn công gửi gói tin yêu cầu chỉ vỏn vẹn vài chục byte, máy chủ NTP dội lại một luồng dữ liệu khổng lồ chia thành nhiều gói tin lớn về phía nạn nhân, mang lại hệ số khuếch đại kinh hoàng lên tới hơn 200 đến 500 lần.
3. Các Kỹ thuật Tấn công Tầng Ứng dụng (Layer 7 DoS)
Khác với các đòn tấn công mạng ồ ạt sử dụng băng thông lớn, các cuộc tấn công DoS ở Tầng Ứng dụng (Layer 7) lại cực kỳ nguy hiểm vì chúng tiêu tốn rất ít băng thông của kẻ tấn công nhưng lại tiêu hao tối đa tài nguyên CPU và bộ nhớ của máy chủ web.
1. Tấn công Kết nối Chậm Slowloris
Slowloris là công cụ tấn công Layer 7 kinh điển do RSnake phát triển. Thay vì gửi bão yêu cầu HTTP ồ ạt, Slowloris hoạt động theo nguyên lý "nhỏ giọt từng giọt nước":
- Kẻ tấn công mở hàng trăm kết nối HTTP song song đến máy chủ web mục tiêu (như Apache 2.2, vốn sử dụng mô hình Thread-per-connection).
- Kẻ tấn công gửi các tiêu đề HTTP (HTTP Headers) không hoàn chỉnh (ví dụ:
X-a: b) và định kỳ cứ sau 15 đến 30 giây lại gửi thêm một tiêu đề giả mạo mới, nhưng tuyệt đối không bao giờ gửi chuỗi kết thúc tiêu đề trống. - Máy chủ web tin rằng máy khách đang sử dụng đường truyền mạng chậm và bắt buộc phải giữ các kết nối này mở trong bộ nhớ để chờ nhận nốt dữ liệu.
- Chỉ cần một chiếc máy tính xách tay với băng thông vài trăm Kbps, Slowloris có thể chiếm dụng toàn bộ bảng kết nối (MaxClients limit, mặc định 150 - 256 của Apache), khiến hàng triệu người dùng khác không thể mở được trang web.
2. Tấn công OWASP HTTP Post Tool (R-U-Dead-Yet / RUDY)
Tương tự như Slowloris, kỹ thuật Slow POST nhắm vào các biểu mẫu gửi dữ liệu HTTP POST (như form đăng nhập, form liên hệ):
- Gói tin gửi tiêu đề khai báo độ dài nội dung (Content-Length) rất lớn (ví dụ
Content-Length: 1000000). - Sau đó, mã độc chỉ đẩy dữ liệu phần thân (Body Payload) với tốc độ 1 byte sau mỗi 10 - 20 giây. Máy chủ bị ép buộc duy trì tài nguyên phiên làm việc trong trạng thái chờ nhận đủ dữ liệu cho đến khi cạn kiệt bộ nhớ.
4. Kiến trúc Mạng Botnet: Mô hình Điều khiển Handler và Zombie
Để thực hiện các chiến dịch DDoS toàn cầu có khả năng hạ gục các cổng thông tin chính phủ hay các nhà cái cá cược trực tuyến lớn, các nhóm tội phạm mạng bắt buộc phải xây dựng và vận hành các mạng Botnet chuyên nghiệp.
Cấu trúc 3 Tầng của Hệ thống Mạng Botnet
- Tầng 1 - Kẻ chủ mưu (Botmaster / Attacker): Kẻ đứng sau chiến dịch, phát lệnh bắt đầu hoặc dừng cuộc tấn công. Botmaster luôn giấu danh tính đằng sau các lớp proxy, mạng ẩn danh Tor hoặc máy chủ VPN đa quốc gia.
- Tầng 2 - Máy chủ Điều khiển (Command & Control / Handler): Là các máy chủ trung gian chịu trách nhiệm duy trì liên lạc và phân phối mệnh lệnh cho toàn bộ đội quân bot. Các cơ chế C2 phổ biến bao gồm:
- Kênh chat IRC (Internet Relay Chat): Bot kết nối vào một phòng chat bí mật và thực thi các câu lệnh dòng lệnh được botmaster gõ vào kênh.
- Web-based C2: Bot định kỳ gửi yêu cầu HTTP GET đến một tập tin văn bản trên máy chủ web (ví dụ tập tin
blvb.txtchứa địa chỉ IP mục tiêu và thời gian tấn công như trong các kịch bản thực tế). - P2P Botnet: Các thế hệ botnet hiện đại không có máy chủ trung tâm mà các bot tự liên lạc với nhau qua mạng ngang hàng, khiến việc đánh sập C2 trở nên vô cùng khó khăn.
- Tầng 3 - Đội quân Zombie (Bots / Slaves): Hàng trăm nghìn thiết bị bị cài đặt mã độc Trojan/Backdoor. Khi nhận được lệnh từ Handler, toàn bộ các máy trạm này đồng loạt khởi tạo các gói tin tấn công nhắm vào máy chủ nạn nhân.
Các Bộ Công cụ Tấn công DDoS Nổi tiếng trong Lịch sử
- Trinoo: Công cụ tấn công DDoS phân tán kinh điển đầu tiên trên Linux, sử dụng UDP flood và kiểm soát qua cổng TCP 27665 (Master) và UDP 27444 (Daemon). Phiên bản trên Windows có tên WinTrinoo.
- Tribal Flood Network (TFN / TFN2): Do hacker Mixter phát triển, hỗ trợ đồng thời nhiều hình thức tấn công: ICMP Flood, UDP Flood, SYN Flood và Smurf Attack.
- Low Orbit Ion Cannon (LOIC): Công cụ tấn công DDoS mã nguồn mở có giao diện đồ họa đơn giản, được nhóm hacker Anonymous sử dụng rộng rãi trong chiến dịch Operation Payback để tấn công các tổ chức tài chính như Visa, MasterCard và PayPal.
5. Chiến lược Phòng thủ và Giảm thiểu DDoS Đa tầng
Do quy mô của các đợt tấn công DDoS hiện đại vượt quá khả năng xử lý của bất kỳ thiết bị tường lửa đơn lẻ nào, một doanh nghiệp muốn sống sót qua cơn bão DDoS bắt buộc phải áp dụng kiến trúc phòng thủ theo chiều sâu 4 tầng.
1. Tầng 1: Lọc Lưu lượng tại Cấp độ Nhà mạng ISP
- Network Ingress Filtering (BCP 38 / RFC 2827): Bắt buộc các nhà cung cấp dịch vụ Internet (ISP) phải cấu hình bộ định tuyến biên để kiểm tra địa chỉ IP nguồn của toàn bộ gói tin đi ra từ mạng của khách hàng. Nếu địa chỉ IP nguồn không thuộc dải địa chỉ IP được cấp phát hợp lệ, gói tin sẽ bị Drop ngay lập tức, triệt tiêu hoàn toàn khả năng giả mạo IP (IP Spoofing) của các đòn tấn công SYN Flood và Smurf.
- Unicast Reverse Path Forwarding (uRPF): Bộ định tuyến kiểm tra bảng định tuyến ngược; nếu giao diện nhận gói tin không phải là giao diện tối ưu nhất để định tuyến quay trở lại IP nguồn đó, gói tin bị coi là giả mạo và bị hủy bỏ.
- Định tuyến Hố đen (Remotely Triggered Black Hole - RTBH): Khi một máy chủ cụ thể bị tấn công với lưu lượng quá lớn đe dọa nghẽn toàn bộ kết nối của trung tâm dữ liệu, quản trị viên phát quảng bá BGP để định tuyến toàn bộ lưu lượng hướng đến IP của máy chủ đó vào giao diện ảo
Null0(hố đen) ngay tại biên ISP, chấp nhận hy sinh máy chủ bị tấn công để cứu vãn phần còn lại của hệ thống.
2. Tầng 2: Trung tâm Làm sạch Lưu lượng Đám mây (Cloud Scrubbing Centers)
Đối với các cuộc tấn công Volumetric quy mô hàng trăm Gbps, giải pháp duy nhất là sử dụng các dịch vụ bảo vệ DDoS đám mây chuyên dụng (như Cloudflare Magic Transit, AWS Shield, Akamai Prolexic, hoặc thiết bị chuyên dụng Arbor Peakflow):
- Toàn bộ lưu lượng Internet gửi đến doanh nghiệp được định tuyến lại qua mạng lưới BGP Anycast toàn cầu của nhà cung cấp dịch vụ bảo vệ.
- Tại các Trung tâm làm sạch (Scrubbing Centers), các thuật toán học máy phân tích sâu gói tin (DPI), phân tách lưu lượng tấn công độc hại ra khỏi các yêu cầu truy cập của người dùng thật.
- Chỉ có Lưu lượng Sạch (Clean Traffic) mới được chuyển tiếp an toàn về máy chủ nguồn của doanh nghiệp thông qua một đường hầm mã hóa GRE/IPsec riêng biệt.
3. Tầng 3: Cứng hóa Biên Mạng và Kỹ thuật SYN Cookies
Tại tường lửa biên và các bộ cân bằng tải của doanh nghiệp:
- Kích hoạt tính năng SYN Cookies: Khi hệ thống phát hiện hàng đợi SYN Backlog đạt ngưỡng cảnh báo (ví dụ trên 80%), nhân hệ điều hành Linux (
net.ipv4.tcp_syncookies = 1) tự động chuyển sang chế độ không cấp phát bộ nhớ RAM cho kết nối mới mà mã hóa thông tin trạng thái vào chính trường Initial Sequence Number (ISN). Điều này giúp máy chủ hoàn toàn miễn nhiễm trước các đợt tấn công SYN Flood lớn mà không làm gián đoạn người dùng thật. - Giới hạn Tốc độ và Định hình Lưu lượng (Rate Limiting & Traffic Shaping): Thiết lập ngưỡng giới hạn số lượng yêu cầu TCP SYN hoặc ICMP trên từng giây từ mỗi dải IP, ngăn chặn tình trạng một nguồn đơn lẻ chiếm dụng quá mức tài nguyên.
4. Tầng 4: Tường lửa Ứng dụng Web (WAF)
- Áp dụng WAF (như ModSecurity, Cloudflare WAF, AWS WAF) để phân tích hành vi HTTP/HTTPS ở Tầng 7.
- Cấu hình thời gian chờ tối thiểu (Timeout Hardening) cho việc truyền nhận tiêu đề HTTP để loại bỏ các kết nối "nhỏ giọt" của Slowloris.
- Áp dụng các thử thách tự động vô hình (JavaScript Challenges hoặc CAPTCHA) khi phát hiện tần suất gửi yêu cầu bất thường từ một địa chỉ IP client.
6. Tổng kết và Trọng tâm Ôn luyện Kỳ thi CEH
Chuyên đề Denial of Service trong kỳ thi Certified Ethical Hacker đòi hỏi khả năng nhận diện chính xác các hình thái tấn công và cơ chế khắc phục ở từng tầng mạng. Các điểm mấu chốt bắt buộc phải nắm vững:
- Bản chất cốt lõi: DoS/DDoS không xâm nhập hệ thống mà làm tê liệt tính sẵn sàng (Availability) trong mô hình CIA Triad bằng cách làm cạn kiệt tài nguyên xử lý hoặc nghẽn băng thông.
- Khai thác Bắt tay 3 bước: Tấn công SYN Flooding lấp đầy hàng đợi bán mở SYN Backlog Queue bằng các gói tin IP nguồn giả mạo không bao giờ gửi lại ACK.
- Vũ khí phòng thủ SYN Cookies: Cơ chế phi trạng thái (Stateless), mã hóa thông tin kết nối vào giá trị Sequence Number mà không phân bổ bộ nhớ RAM trước khi nhận được gói ACK hợp lệ.
- Cơ chế Khuếch đại (Amplification): Smurf Attack gửi gói ICMP Echo Request giả mạo IP nạn nhân đến địa chỉ Broadcast của mạng khuếch đại để dội ngược hàng trăm gói Echo Reply về máy nạn nhân.
- Tấn công Tầng Ứng dụng (Layer 7): Slowloris và RUDY giữ hàng nghìn kết nối HTTP mở vô tận bằng cách gửi tiêu đề hoặc nội dung body từng byte một cực chậm mà không cần nhiều băng thông.
- Khung phòng thủ đa tầng: Kết hợp BCP 38 Ingress Filtering tại ISP, trung tâm làm sạch đám mây Scrubbing Center, Rate Limiting tại tường lửa biên và thiết lập Timeout nghiêm ngặt trên Web Server.