Slowloris là một chương trình tấn công từ chối dịch vụ cho phép kẻ tấn công áp đảo máy chủ mục tiêu bằng cách mở và duy trì nhiều kết nối HTTP đồng thời giữa kẻ tấn công và mục tiêu.
Tấn công Slowloris hoạt động như thế nào?
Slowloris là một cuộc tấn công lớp ứng dụng hoạt động bằng cách sử dụng các yêu cầu HTTP một phần. Các chức năng tấn công bằng cách mở các kết nối đến một máy chủ Web được nhắm mục tiêu và sau đó giữ cho các kết nối đó mở miễn là có thể.
Slowloris không phải là một thể loại tấn công mà thay vào đó là một công cụ tấn công cụ thể được thiết kế để cho phép một máy duy nhất hạ gục máy chủ mà không cần sử dụng nhiều băng thông. Không giống như các cuộc tấn công DDoS dựa trên phản xạ tiêu thụ băng thông như khuếch đại NTP , kiểu tấn công này sử dụng lượng băng thông thấp và thay vào đó nhằm mục đích sử dụng hết tài nguyên máy chủ với các yêu cầu có vẻ chậm hơn bình thường nhưng lại bắt chước lưu lượng thông thường. Nó nằm trong danh mục các cuộc tấn công được gọi là các cuộc tấn công thấp và chậm . Máy chủ được nhắm mục tiêu sẽ chỉ có rất nhiều luồng có sẵn để xử lý các kết nối đồng thời. Mỗi luồng máy chủ sẽ cố gắng duy trì sự sống trong khi chờ yêu cầu chậm hoàn thành, điều này không bao giờ xảy ra. Khi vượt quá các kết nối tối đa có thể của máy chủ, mỗi kết nối bổ sung sẽ không được trả lời và từ chối dịch vụ sẽ xảy ra.
Một cuộc tấn công Slowloris xảy ra trong 4 bước:
- Kẻ tấn công trước tiên mở nhiều kết nối đến máy chủ được nhắm mục tiêu bằng cách gửi nhiều yêu cầu HTTP một phần.
- Mục tiêu mở một luồng cho mỗi yêu cầu đến, với mục đích đóng luồng sau khi kết nối hoàn tất. Để có hiệu quả, nếu kết nối mất quá nhiều thời gian, máy chủ sẽ hết thời gian kết nối quá dài, giải phóng chuỗi cho yêu cầu tiếp theo.
- Để ngăn chặn mục tiêu hết thời gian kết nối, kẻ tấn công định kỳ gửi các tiêu đề yêu cầu một phần đến mục tiêu để giữ cho yêu cầu tồn tại.
- Máy chủ được nhắm mục tiêu không bao giờ có thể phát hành bất kỳ kết nối một phần mở nào trong khi chờ kết thúc yêu cầu. Khi tất cả các luồng có sẵn đang được sử dụng, máy chủ sẽ không thể đáp ứng các yêu cầu bổ sung được thực hiện từ lưu lượng truy cập thông thường, dẫn đến từ chối dịch vụ.
Chìa khóa đằng sau Slowloris là khả năng gây ra nhiều rắc rối với mức tiêu thụ băng thông rất ít.
Làm thế để giảm thiểu ảnh hưởng bởi Slowloris?
Đối với các máy chủ web dễ bị tấn công Slowloris, có nhiều cách để giảm thiểu một số tác động. Tùy chọn giảm thiểu cho các máy chủ dễ bị tổn thương có thể được chia thành 3 loại chung:
- Tăng tính khả dụng của máy chủ – Tăng số lượng máy khách tối đa mà máy chủ sẽ cho phép bất cứ lúc nào sẽ tăng số lượng kết nối mà kẻ tấn công phải thực hiện trước khi chúng có thể làm quá tải máy chủ. Trên thực tế, kẻ tấn công có thể mở rộng số lượng các cuộc tấn công để vượt qua dung lượng máy chủ bất kể tăng.
- Giới hạn tỷ lệ yêu cầu đến – Hạn chế quyền truy cập dựa trên các yếu tố sử dụng nhất định sẽ giúp giảm thiểu cuộc tấn công Slowloris. Các kỹ thuật như giới hạn số lượng kết nối tối đa mà một địa chỉ IP được phép thực hiện, hạn chế tốc độ truyền chậm và giới hạn thời gian tối đa mà khách hàng được phép kết nối là tất cả các cách tiếp cận để hạn chế hiệu quả của các cuộc tấn công thấp và chậm.
- Bảo vệ dựa trên đám mây – Sử dụng dịch vụ có thể hoạt động như một proxy ngược , bảo vệ máy chủ gốc.