Tổng quan :
Một lỗ hổng trong giao thức HTTP/2, được đặt tên là “Rapid Reset,” đã gây ra các cuộc tấn công DDoS kỷ lục vào các máy chủ web trong vài tháng gần đây. Google, AWS và Cloudflare đã cùng tiết lộ về các cuộc tấn công và lỗ hổng này vào ngày hôm nay, nhưng lưu ý rằng mọi máy chủ web hiện đại đều còn tiềm năng mắc phải kỹ thuật tấn công này. Các nhà cung cấp máy chủ web và các dự án cũng đã thông báo các biện pháp hạn chế và kế hoạch vá lỗi.
Google cho biết các cuộc tấn công đã đạt đỉnh 398 triệu yêu cầu mỗi giây (rps), lớn hơn hơn năm lần so với kỷ lục trước đó được thiết lập vào tháng 2 năm 2023, và tạo ra lưu lượng web trong hai phút nhiều hơn lưu lượng truy cập mà Wikipedia nhận được trong cả tháng Tháng Chín. Cloudflare cho biết họ đã thấy cuộc tấn công đạt đỉnh hơn 201 triệu yêu cầu mỗi giây.
Google, AWS và Cloudflare cho biết họ đã khả năng hạn chế thiệt hại từ các cuộc tấn công. “Ban đầu, chúng tôi đã thấy tác động đối với lưu lượng của khách hàng, ảnh hưởng đến khoảng 1% yêu cầu trong lần tấn công ban đầu. Tuy nhiên, hôm nay, chúng tôi đã thể hiện sự hoàn thiện trong các biện pháp hạn chế của chúng tôi để ngăn chặn cuộc tấn công đối với bất kỳ khách hàng Cloudflare nào mà không ảnh hưởng đến hệ thống của chúng tôi,” Cloudflare cho biết.
Nội dung bài viết :
1. Giao thức HTTP/2 là?
![](https://assets.vacif.com/2023/10/image-110-1024x546.png)
HTTP/2 là một phiên bản cập nhật của giao thức HTTP (Hypertext Transfer Protocol), được thiết kế để cải thiện hiệu suất và tốc độ tải trang web. Nó là phiên bản kế nhiệm của HTTP/1.1 và đã được công bố là tiêu chuẩn vào năm 2015. Dưới đây là một số điểm quan trọng về giao thức HTTP/2:
- Tối ưu hóa tốc độ: Một trong những mục tiêu chính của HTTP/2 là tối ưu hóa tốc độ tải trang web. Nó sử dụng việc nén dữ liệu và đa luồng (multiplexing) để giúp tải trang web nhanh hơn và tiết kiệm băng thông.
- Đa luồng (Multiplexing): HTTP/2 cho phép nhiều yêu cầu và phản hồi được gửi trên cùng một kết nối mạng. Điều này giúp tận dụng tối đa khả năng sử dụng kết nối mạng và giảm thời gian tải trang.
- Nén Header: Giao thức HTTP/2 cho phép nén dữ liệu header của các yêu cầu và phản hồi. Điều này giúp giảm băng thông được sử dụng và tăng tốc độ tải trang.
- Ưu tiên luồng (Stream Prioritization): HTTP/2 cho phép ưu tiên hóa các yêu cầu, giúp trang web hiển thị nội dung quan trọng trước.
- Thích ứng với kết nối mạng: HTTP/2 làm việc tốt trên kết nối mạng không ổn định hoặc kết nối di động, giúp cải thiện trải nghiệm người dùng trên mọi loại thiết bị.
- Bảo mật: Mặc dù không bắt buộc, HTTP/2 thường được sử dụng kết hợp với SSL/TLS để mã hóa dữ liệu trên Internet, bảo vệ thông tin cá nhân và đảm bảo tính toàn vẹn dữ liệu.
- Hỗ trợ ngược (Backward Compatibility): HTTP/2 được thiết kế để làm việc với các trình duyệt và máy chủ web hiện có, điều này đồng nghĩa rằng các trang web vẫn có thể được truy cập bởi trình duyệt không hỗ trợ HTTP/2 mà không gặp vấn đề.
HTTP/2 đã giúp cải thiện tốc độ tải trang web và tối ưu hóa hiệu suất trực tuyến, và nó được sử dụng rộng rãi trên Internet ngày nay để cải thiện trải nghiệm người dùng và tiết kiệm tài nguyên mạng.
2. Cách hoạt động các cuộc tấn công “rapid reset” trong giao thức HTTP/2
![](https://assets.vacif.com/2023/10/image-111-1024x576.png)
Các cuộc tấn công “Rapid Reset” trong giao thức HTTP/2 hoạt động như sau:
Bước 1: Khởi tạo nhiều luồng (streams)
Kẻ tấn công mở một lượng lớn luồng cùng một lúc, giống như trong cuộc tấn công HTTP/2 tiêu chuẩn. Mục tiêu của việc này là tạo ra một số lượng lớn yêu cầu gửi đến máy chủ web đích.
Bước 2: Gửi yêu cầu
Sau khi mở các luồng, kẻ tấn công gửi yêu cầu HTTP thông qua từng luồng riêng lẻ. Điều này tạo ra một tải lượng yêu cầu đáng kể đối với máy chủ web.
Bước 3: Hủy bỏ yêu cầu
Ngay sau khi gửi mỗi yêu cầu, kẻ tấn công ngay lập tức hủy bỏ yêu cầu đó bằng cách sử dụng một khung RST_STREAM. Khung này cho phép kẻ tấn công thông báo cho máy chủ web rằng luồng đó đã bị hủy bỏ.
Bước 4: Lặp lại quy trình
Kẻ tấn công lặp lại quy trình này cho mỗi luồng và yêu cầu mà họ đã mở. Kết quả là một tải lượng lớn yêu cầu được gửi đến máy chủ web và sau đó ngay lập tức bị hủy bỏ.
Kết quả: Tạo bất kỳ lúc nào
Do tính chất của giao thức HTTP/2, yêu cầu bị hủy bỏ ngay lập tức, nhưng kết nối HTTP/2 vẫn được duy trì. Điều này tạo ra một tải lượng yêu cầu không xác định đang chờ xử lý trong kết nối, mà không còn phụ thuộc vào thời gian trễ đòi hỏi (RTT) mà chỉ phụ thuộc vào băng thông mạng có sẵn.
3. Phương pháp phòng chống tấn công
![](https://assets.vacif.com/2023/10/image-112-1024x512.png)
Các biện pháp ngăn chặn cuộc tấn công “Rapid Reset” trong giao thức HTTP/2 có thể được triển khai tại cả hai mặt của giao thức, cả ở phía máy chủ và tại mạng tường lửa. Dưới đây là các biện pháp chi tiết:
Tại Máy Chủ HTTP/2:
- Đóng kết nối vượt quá giới hạn luồng: Máy chủ HTTP/2 có thể cấu hình để đóng kết nối khi số lượng luồng vượt quá giới hạn cố định. Điều này ngăn chặn kẻ tấn công tạo ra quá nhiều luồng và yêu cầu, làm giảm khả năng tấn công.
- Giám sát thống kết nối: Máy chủ có thể theo dõi thống kê kết nối để xác định các kết nối có quá nhiều yêu cầu bị hủy bỏ. Nếu một kết nối được xác định có hành vi đáng ngờ, máy chủ có thể thực hiện biện pháp như đóng kết nối hoặc tắt luồng.
- Thực hiện các chiến lược tùy chỉnh: để xác định cách xử lý các kết nối và yêu cầu. Ví dụ, nếu một kết nối có quá nhiều yêu cầu bị hủy bỏ, máy chủ có thể tự động đóng kết nối hoặc thông báo cho tường lửa.
- Cập nhật triển khai máy chủ: Các triển khai máy chủ HTTP/2 có thể cải thiện khả năng chống cuộc tấn công bằng cách giảm thiểu công việc xử lý cho yêu cầu bị hủy bỏ. Các bản cập nhật máy chủ có thể giảm tải cho máy chủ khi xử lý các yêu cầu bị hủy bỏ.
- Cài phần mềm Endpoint : một số hãng nổi tiếng về security giúp bảo vệ máy chủ : Sophos, Kaspersky, AVG.
Thiết lập tường lửa hoặc endpoint một số tính năng sau :
- Cấu hình tường lửa: Tường lửa có thể cấu hình để theo dõi lưu lượng mạng và phát hiện các mẫu lưu lượng gian lận dựa trên quy tắc và chữ ký của cuộc tấn công “Rapid Reset”. Nếu tường lửa phát hiện các mẫu tấn công này, nó có thể ngăn chặn các yêu cầu từ đến máy chủ.
- Kiểm tra SSL/TLS kết nối: Một phần của cuộc tấn công “Rapid Reset” có thể sử dụng kết nối SSL/TLS. Tường lửa có thể kiểm tra nội dung của gói dữ liệu SSL/TLS để phát hiện các yêu cầu bị hủy bỏ và ngăn chặn chúng.
- Quản lý quyền truy cập: Tường lửa có thể quản lý quyền truy cập vào mạng dựa trên các nguyên tắc cụ thể. Nó có thể kiểm soát quyền truy cập của các máy chủ hoặc máy khách có khả năng gây ra cuộc tấn công.
Lưu ý rằng việc ngăn chặn cuộc tấn công “Rapid Reset” đòi hỏi sự hỗ trợ từ các nhà phát triển giao thức và triển khai máy chủ HTTP/2, cùng với việc thực hiện các biện pháp bảo mật phù hợp tại cả phía máy chủ và tường lửa. Tuy nhiên, việc kết hợp các biện pháp này có thể giúp bảo vệ mạng và máy chủ của bạn khỏi cuộc tấn công “Rapid Reset” trong giao thức HTTP/2.