Tóm tắt
Ở chương này, chúng ta nghiên cứu về tấn công từ chối dịch vụ (DoS) và tấn công từ chối dịch vụ phân tán (DDOS). Chương này bao gồm kiến thức về các loại tấn công từ chối dịch vụ khác nhau, kĩ thuật tấn công, khái niệm botnet, công cụ tấn công và những chiến lược chống lại tấn công này.
Khái niệm DoS/DDOS
Từ chối dịch vụ (DoS)
Từ chối dịch vụ là kiểu tấn công mà trong đó dịch vụ mà mạng hay hệ thống cung cấp bị từ chối. Dịch vụ có thể bị từ chối, giảm chức năng hay chặn truy cập đến tài nguyên, kể cả với người dùng chính thống. Có nhiều kĩ thuật để thực hiện tấn công từ chối dịch vụ như tạo một lượng lớn yêu cầu dịch vụ đến hệ thống mục tiêu. Hệ thống sẽ bị quá tải, dẫn đến từ chối dịch vụ yêu cầu.
Những triệu chứng thường thấy khi bị tấn công DoS là:
- Hiệu suất máy chậm
- Mất kết nối mạng không dây hay có dây
- Từ chối truy cập đến dịch vụ mạng
Từ chối dịch vụ phân tán (DDoS)
Tương tự với tấn công DoS, trong tấn công từ chối dịch vụ phân tán, vô số hệ thống bị thỏa hiệp tham gia vào tấn công một mục tiêu để tạo tấn công từ chối dịch vụ. Tấn công này sử dụng botnet.
Cách thức hoạt động của tấn công từ chối dịch vụ phân tán
Thông thường, quy trình thiết lập một kết nối bao gồm việc user gửi yêu cầu đến server để xác thực. Server phản hồi với sự chấp thuận xác thực. User báo đã nhận được chấp thuận, sau đó kết nối được thiết lập và user được cho phép kết nối với server.
Trong quy trình tấn công từ chối dịch vụ, kẻ tấn công sẽ gửi nhiều yêu cầu xác thực đến server. Những yêu cầu này có địa chỉ người nhận giả, nên server không thể tìm user để gửi chấp thuận xác thực. Quy trình xác thực sẽ chờ một khoảng thời gian nhất định, sau đó đóng session. Khoảng thời gian chờ thường kéo dài hơn một phút. Kẻ tấn công liên tục gửi yêu cầu gây ra nhiều kết nối mở trên server, từ đó dẫn đến từ chối dịch vụ.
Các kĩ thuật tấn công DoS/DDoS
Tấn công lưu lượng
Đây là tấn công thực hiện bằng cách gửi lượng lớn giao thông đến mục tiêu để làm quá tải khả năng tiêu thụ của băng thông. Mục đích của tấn công là làm chậm hiệu suất máy, suy giảm chất lượng dịch vụ. Thông thường, những tấn công này sử dụng hằng trăm Gbps của băng thông.
Tấn công phân tách
Đây là tấn công phân tách IP datagram thành vô số gói tin nhỏ hơn. Những gói tin đã phân tách này cần tập hợp lại ở đích và quá trình tập hợp này cần nhiều tài nguyên bộ định tuyến. Có hai loại tấn công thuộc tấn công phân tách:
- Tấn công phân tách UDP và ICMP
- Tấn công phân tách TCP
Tấn công TCP-State-Exhaustion
Đây là tấn công tập trung vào web server, tường lửa, cân bằng tải và các cơ sở hạ tầng khác để phá hoại kết nối bằng cách tiêu thụ bảng trạng thái kết nối. Mục tiêu của tấn công này là sử dụng hết số kết nối đồng thời mà thiết bị mục tiêu có thể hỗ trợ. Tấn công phân tách TCP phổ biến nhất là ping of death.
Tấn công tầng ứng dụng
Tấn công tầng ứng dụng DDoS còn được gọi là tấn công DDoS Layer 7. Tấn công cấp ứng dụng DoS là một dạng tấn công DDoS, tập trung vào tầng ứng dụng của mô hình OSI. Tấn công tầng ứng dụng làm quá tải một dịch vụ hay tính năng của website hoặc ứng dụng dẫn đến từ chối hoặc suy giảm chất lượng dịch vụ.
Tấn công băng thông
Tấn công băng thông cần vô số nguồn tạo ra lượng lớn yêu cầu để làm quá tải hệ thống mục tiêu. Tấn công phân tán DoS là một kĩ thuật hữu hiệu trong việc tạo ra lượng lớn yêu cầu đến mục tiêu. Ngược lại, tấn công DoS sử dụng một máy đơn không thể tạo ra đủ số yêu cầu để làm mục tiêu bị quá tải.
Như đã biết, Zombie là hệ thống đã thỏa hiệp bị kẻ tấn công kiểm soát bằng handler. Zombie sẽ hỗ trợ cho kẻ tấn công thực hiện tấn công DDoS. Botnet, được giới thiệu ở phần sau, cũng được sử dụng để thực thị tấn công DDoS bằng cách gửi vô số gói tin ICMP Echo đến hệ thống mạng. Mục tiêu của tấn công băng thông là tiêu tốn hết lượng băng thông vốn dành cho sử dụng chính thống.
Tràn yêu cầu dịch vụ
Đây là một dạng tấn công DDoS, trong đó kẻ tấn công gửi vô số yêu cầu đến dịch vụ như ứng dụng web hay web server cho đến khi dịch vụ bị quá tải. Người dùng chính thống sẽ bị từ chối kết nối bởi vì các kết nối TCP lặp đi lặp lại của tấn công đã tiêu thụ hết tài nguyên.
Tấn công SYN
Tấn công SYN hay ngập SYN khai thác quy trình bắt tay ba bước. Kẻ tấn công gửi nhiều yêu cầu SYN đến server mục tiêu để làm tắc nghẽn hệ thống. Yêu cầu SYN gửi đến có địa chỉ IP giả nên không thể tìm thấy. Nạn nhân chờ thông báo từ địa chỉ IP nhưng không có phản hồi nào. Thời gian chờ này làm hệ thống tắc nghẽn kết nối bởi vì hệ thống không nhận được ACK. Một kết nối không hoàn chỉnh có thể bị nghẽn khoảng 75 giây.
Tấn công tràn ICMP
Giao thức tin nhắn kiểm soát Internet (ICMP) là dạng tấn công trong đó kẻ tấn công sử dụng yêu cầu ICMP. ICMP là giao thức hỗ trợ mà thiết bị mạng sử dụng để thông báo thông tin, lỗi và chỉ số. Những yêu cầu và phản hồi này tiêu thụ tài nguyên của thiết bị mạng. Do đó, tài nguyên thiết bị bị cạn kiệt.
Tấn công ngang hàng
Tấn công này lợi dụng lỗi của các server ngang hàng hoặc kĩ thuật trao đổi lưu lượng ngang hàng sử dụng giao thức Kết nối trực tiếp (DC++) để thực thi một tấn công DDoS. Hầu hết mạng ngang hàng đều thuộc client DC++. Mỗi mạng dựa trên client DC++ đều được liệt kê trong hub. Mạng ngang hàng được triển khai giữa nhiều host. Một khi nó bị thoải hiệp, kẻ tấn công dễ dàng điều khiển nó thực hiện tấn công DDoS. Tấn công DoS hay DDoS có độ ảnh hưởng khác nhau dựa trên các topo mạng ngang hàng.
Tấn công từ chối dịch vụ vĩnh viễn
Tấn công từ chối dịch vụ vĩnh viễn tập trung vào phá hoại ngầm phần cứng thay vì từ chối dịch vụ. Phần cứng bị tấn công sẽ bị hủy hoại, cần thay thế hoặc cài đặt lại phần cứng. PDoS được thực hiện bằng một phương pháp mang tên “Phlashing” có khả năng gây ra những phá hoại không thể phục hồi cho phần cứng, hoặc “Bricking a system” bằng cách gửi những cập nhật phần cứng giả, khi những mã độc vô tình được thực thi, nó sẽ gây tổn thương đến phần cứng.
Tấn công tràn tầng ứng dụng
Tấn công này tập trung vào tầng ứng dụng với mục tiêu là server ứng dụng hoặc ứng dụng đang chạy trên máy tính client. Kẻ tấn công tìm lỗi trong ứng dụng hoặc hệ điều hành là lợi dụng chúng để qua mặt hệ thống kiểm soát, từ đó lấy được quyền kiểm soát đặc quyền đối với ứng dụng, hệ thống hoặc mạng.
Tấn công từ chối dịch vụ phản xạ (DRDoS)
Quá trình khởi chạy tấn công này bao gồm cả nạn nhân trung gian và nạn nhân thứ cấp. Kẻ tấn công gửi yêu cầu đến nạn nhân trung gian để chuyển hướng giao thông đến nạn nhân thứ cấp. Nạn nhân thứ cấp chuyển hướng giao thông đến mục tiêu. Sự tham gia của nạn nhân trung gian và thứ cấp là để giả mạo tấn công.
Công cụ tấn công DoS/DDoS
Toolkit Pandora DDoS Bot
Công cụ này được phát triển bởi một người Nga “Sokol”, người từng phát triển toolkit Dirt Jumper. Toolkit Pandora DDoS Bot có thể tạo ra 5 loại tấn công bao gồm tấn công cơ sở hạ tầng và tấn công tầng ứng dụng:
- HHTP
- HHTP Download
- HTTP Combo
- Socket Connect
- Max Flood
Các công cụ tấn công DDoS khác:
- Derail
- HOIC
- DoS HTTP
- BanglaDos
Công cụ tấn công DoS và DDoS cho điện thoại
- AnDOSid
- Low Orbit Ion Cannon (LOIC)