CHƯƠNG 1: TẤN CÔNG TỪ CHỐI DỊCH VỤ VÀ CÁC PHƯƠNG PHÁP PHÒNG CHỐNG 1.1 Các phương pháp tấn công từ chối dịch vụ. Có rất nhiều phương thức tấn công từ chối dịch vụ mà các kẻ tấn công có thể thực hiện nhằm mục đích làm gián đoạn, hoặc khiến cho hệ thống của nạn nhân chậm đi một cách đáng kể với người dùng bình thường, bằng cách làm quá tải tài nguyên của hệ thống.1 Tấn công gửi tràn gói tin UDP Một cuộc tấn công gửi tràn gói UDP là một tấn công từ chối dịch vụ (DoS) tấn công bằng cách sử dụng User Datagram Protocol (UDP), một giao thức mạng máy tính không trạng thái, không hướng nối. Sử dụng UDP để tấn công từ chối dịch vụ không đơn giản như tấn công qua TCP (Transmission Control Protocol). Tuy nhiên, một cuộc tấn công gửi tràn gói UDP có thể được bắt đầu bằng cách gửi một số lượng lớn các gói tin UDP đến cổng ngẫu nhiên trên một server từ xa.
Khi nhận được các gói tin này, các server ở xa sẽ buộc phải thực hiện các hành vi sau: + Kiểm tra các ứng dụng đang nghe tại cổng mà gói UDP gửi đến. + Nhận thấy rằng không có ứng dụng nào nghe tại cổng tương ứng. + Trả lời lại bằng với một gói ICMP. Vì vậy, đối với một số lượng lớn các gói tin UDP, hệ thống nạn nhân sẽ bị buộc phải gửi nhiều gói ICMP.
Điều này khiến cho tài nguyên server bị vắt kiệt do phải trả lời các yêu cầu UDP rác, dẫn tới server không thể truy cập bởi các client hợp lệ khác. Kẻ tấn công cũng có thể giả mạo địa chỉ IP của các gói tin UDP, đảm bảo rằng lượng lớn các gói ICMP gửi trở lại không đến được các máy tấn công, cũng như ẩn danh vị trí mạng tấn công. Do sự phổ biến của kiểu tấn công này trước đây, dẫn đến hiện nay hầu hết các hệ điều hành đều tìm cách giảm thiểu tác động của cách tấn công này bằng cách hạn chế tốc độ gói ICMP trả lời được gửi đi. Các phần mềm có thể được sử dụng để thực hiện các cuộc tấn công gửi tràn UDP có thể kể đến như “Low Orbit Ion Cannon” và “UDP Unicorn”.2 Tấn công gửi tràn gói tin TCP SYN Tấn công gửi tràn gói TCP SYN dựa trên cơ chế bắt tay ba bước của giao thức TCP.
Thông thường khi một client - client muốn bắt đầu một kết nối TCP đến một server, client và server trao đổi một loạt các thông báo theo cơ chế bắt tay ba bước như sau: TIEU LUAN MOI download : skknchat@gmail.com 4 + Client yêu cầu một kết nối bằng cách gửi một gói SYN tới server. + Server chấp nhận yêu cầu này bằng cách gửi một gói SYN-ACK lại cho client. + Client trả lời với một gói ACK, và kết nối được thiết lập. Lợi dụng cơ chế đó, tấn công gửi tràn gói TCP SYN có phương thức như sau: tấn công gửi tràn gói TCP SYN gửi các yêu cầu kết nối TCP nhanh hơn so với một server có thể xử lý: + Kẻ tấn công tạo ra một địa chỉ IP nguồn giả mạo ngẫu nhiên cho mỗi gói tin.
+ Cờ SYN thiết lập trong mỗi gói là một yêu cầu để mở một kết nối mới với server bị tấn công từ địa chỉ IP giả mạo. + Bảng kết nối của nạn nhân đầy lên khi chờ đợi gói ACK trả lời. + Sau khi bảng kết nối đã đầy, tất cả các kết nối mới kể cả từ người dùng hợp lệ sẽ bị bỏ qua dẫn tới người dùng hợp lệ bị từ chối kết nối, và không thể truy cập server. Tấn công TCP SYN khá nguy hiểm, tuy vậy nó thường không làm sập được server bị tấn công, và server có thể hồi phục lại bình thường khi cuộc tấn công dừng lại.
Với các hệ điều hành mới quản lý tài nguyên tốt hơn, nên bảng kết nối khó bị tràn hơn, nhưng vẫn còn dễ bị tổn thương. Tấn công TCP SYN có thể được sử dụng như một phần của các cuộc tấn công khác, chẳng hạn như vô hiệu hóa một phía của kết nối trong tấn công cướp session TCP, hoặc ngăn chặn chứng thực hoặc đăng nhập giữa các server.3 Tấn công từ chối dịch vụ phản xạ nhiều vùng - DRDOS Tấn công từ chối dịch vụ phản xạ nhiều vùng DRDOS (Distributed Reflection Denial of Service) là kiểu tấn công mới, cực mạnh trong các kiểu tấn công DOS. Đầu tiên quay lại kiểu tấn công gửi tràn gói TCP SYN dựa trên cơ chế bắt tay ba bước. Ở đây kẻ tấn công thực hiện giả mạo địa chỉ của server mục tiêu rồi gửi yêu cầu SYN đến các server lớn như Yahoo, Microsoft, Google.
để các server này gửi các gói tin SYN/ACK đến server nạn nhân. Quá trình cứ lặp lại liên tục với nhiều server lớn tham gia nên server nạn nhân nhanh chóng bị quá tải, băng thông (bandwidth) bị chiếm dụng bởi server lớn, dẫn đến server nạn nhân không thể hoạt động bình thường. TIEU LUAN MOI download : skknchat@gmail.com 5 Trong suốt quá trình server bị tấn công bằng DRDOS, không một client nào có thể kết nối được vào server đó. Tất cả các dịch vụ chạy trên nền TCP/IP như DNS, HTTP, FTP, POP3.
đều bị vô hiệu hóa. Về cơ bản, DRDOS là sự phối hợp giữa hai kiểu DOS và DDOS. Nó có kiểu tấn công SYN với một máy tính đơn, vừa có sự kết hợp giữa nhiều máy tính để chiếm dụng băng thông như kiểu DDOS. Như vậy tấn công từ chối dịch vụ phản xạ nhiều vùng DRDOS nếu thực hiện thành công sẽ khiến cuộc tấn công không còn là cuộc đối đầu giữa mạng “bot-net” của kẻ tấn công với hệ thống server của nạn nhân nữa, mà là cuộc đối đầu giữa nạn nhân với các server lớn của internet.
Nguồn tấn công lúc này sẽ được bắt đầu bằng những đường chính của Internet, bao gồm Yahoo.com… Nạn nhân có thể bị tấn công bởi hàng trăm server mạnh nhất của internet, dẫn tới việc ngưng trệ toàn bộ dịch vụ một cách nhanh chóng.4 Tấn công qua mạng ngang hàng Ở phương pháp tấn công từ chối dịch vụ qua mạng ngang hàng, những kẻ tấn công tìm ra cách để khai thác một số lỗi trong server chia sẻ file ngang hàng (peer-to- peer) để bắt đầu cuộc tấn công DDOS. Dạng tấn công nguy hiểm nhất của các cuộc tấn công từ chối dịch vụ qua mạng ngang hàng khai thác lỗi của phần mềm DC++, một phần mềm chia sẻ file ngang hàng nổi tiếng. Các cuộc tấn công từ chối dịch vụ qua mạng ngang hàng khá khác biệt so với các cuộc tấn công dựa trên mạng “bot-net” thông thường. Với tấn công từ chối dịch vụ qua mạng ngang hàng không có mạng “bot-net” và những kẻ tấn công không cần phải giao tiếp với mạng lưới các máy tính bị điều khiển.
Thay vào đó, những kẻ tấn công hướng dẫn các máy client của mạng ngang hàng chia sẻ file ngắt kết nối khỏi mạng ngang hàng đó để kết nối với trang web của nạn nhân. Kết quả là, hàng ngàn máy tính mạnh mẽ có thể cố gắng kết nối đến một trang web nạn nhân. Trong khi một server web điển hình có thể xử lý một vài trăm kết nối mỗi giây trước khi chất lượng bắt đầu suy giảm, hầu hết các server web sẽ thất bại ngay lập tức trong việc trả lời năm hoặc sáu ngàn kết nối mỗi mỗi giây. Với một cuộc tấn công qua mạng ngang hàng đủ lớn, một trang web có thể có khả năng bị ảnh hưởng lên đến cả triệu kết nối trong thời gian ngắn.
Các server web bị tấn công sẽ không thể phục vụ được số lượng kết nối lớn như vậy, dẫn đến kết nối chậm, thậm chí ngừng phục vụ, server treo hoặc khởi động lại. Trong khi các cuộc tấn công từ chối dịch vụ qua mạng ngang hàng có thể khá dễ dàng nhận diện dựa trên chữ ký, thì số lượng lớn các địa chỉ IP cần phải bị chặn, thường lên đến hàng trăm ngàn trong quá trình của một cuộc tấn công quy mô lớn, cho thấy là kiểu tấn công này có thể áp đảo phương pháp chống lại bằng các cách giảm thiểu tác động đơn giản. TIEU LUAN MOI download : skknchat@gmail.5 Tấn công Slowloris Một dạng tấn công tần suất thấp của tấn công dịch vụ chống lại các dịch vụ đặc biệt, thay vì tấn công sử dụng mạng gửi tràn gói tin, là dạng tấn công cho phép một máy tính duy nhất có thể làm sập một server web với băng thông lớn và gây ra tác dụng phụ tối thiểu với các dịch vụ và cổng khác. Mục tiêu lý tưởng của tấn công từ chối dịch vụ là khi mà tất cả các dịch vụ khác vẫn còn nguyên vẹn nhưng các server web thì lại hoàn toàn không thể truy nhập.
Slowloris được sinh ra từ khái niệm này, do đó có thể che giấu tương đối tốt với hầu hết các công cụ chống tấn công từ chối dịch vụ gửi tràn gói tin. Slowloris giữ kết nối mở bằng cách gửi một phần yêu cầu HTTP. Nó tiếp tục gửi tiêu đề tiếp theo đều đặn để giữ cho các socket không đóng lại. Bằng cách này server web sẽ phải giữ những kết nối mở quá lâu, dẫn tới quá tải các yêu cầu, làm cho các yêu cầu mới từ người dùng hợp lệ không được đáp ứng nữa.
Slowloris cũng có một vài tính năng ẩn mình trước phát hiện tấn công. Thứ nhất, nó có thể được thay đổi để gửi tiêu đề server khác nhau, nếu mục tiêu là một server ảo và file log được lưu trữ riêng biệt cho mỗi server ảo. Nhưng quan trọng nhất, trong khi các cuộc tấn công đang được tiến hành, các file log sẽ không được ghi cho đến khi yêu cầu được hoàn thành. Vì vậy, kẻ tấn công có thể làm sập một server tại một thời điểm mà không có một file log nào hiển thị để cảnh báo những người quản trị mạng đang theo dõi server đó.
Cho tới khi cuộc tấn công dừng lại hoặc session bị đóng thì mới xuất hiện vài trăm lỗi 400 Bad Request trong các file log của server.6 Tấn công suy giảm dịch vụ Mục đích của cuộc tấn công này là làm chậm thời gian đáp ứng của server. Một cuộc tấn công DDoS bình thường sẽ tìm cách để đánh sập một trang web hoặc server tức khiến trang web hoặc server đó chuyển sang trạng thái offline và không thể cung cấp được dịch vụ cho người dùng bình thường. Đối với tấn công suy giảm dịch vụ, mục tiêu lại là để làm chậm thời gian đáp ứng đến một mức độ nào đó nhằm làm cho các trang web bị chậm lại, hoặc thậm chí không sử dụng được cho hầu hết người dùng hợp lệ.