linhanh1212
Gà con
Tháng 5/2015 giao thức HTTP/2 chính thức hoạt động sau khi Google tích hợp dự án SPDY của mình vào HTTP/2 nhằm tăng tốc khả năng tải trang web cũng như cải thiện trải nghiệm người dùng trực tuyến. Bên cạnh đó, thông tin về 4 lỗ hổng nghiêm trọng trong HTTP/2 đã được các nhà nghiên cứu bảo mật thuộc công ty Imperva tiết lộ.
Giao thức HTTP/2 có thể chia thành ba lớp:
4 lỗ hổng lớn trong HTTP/2 bao gồm :
1. Slow Read (CVE-2016-1546)
Đây là kiểu tấn công giống với tấn công từ chối dịch vụ phân tán Slowloris. Tấn công Slow Read gọi đến một client độc hại nhằm đọc phản hồi một cách chậm chạp. Tấn công Slow Read đã được nghiên cứu kĩ lưỡng tại hệ sinh thái HTTP/1.x nhưng nó vẫn tồn tại trong lớp ứng dụng (application layer) của HTTP/2.
2. HPACK Bomb (CVE-2016-1544, CVE-2016-2525)
HPACK Bomb là cuộc tấn công vào lớp nén (compression layer). HPACK được sử dụng để giảm thiểu dung lượng gói tin header. Thông thường, người gửi có thể cho người nhận biết được dung lượng tối đa của header được nén, sử dụng để giải mã header.
Trong cuộc tấn công này, hacker tiềm năng sẽ tạo ra một thông điệp nhỏ nhưng thực ra sẽ giải nén nhiều gigabyte dữ liệu trên máy chủ, điều này khiến tiêu tốn bộ nhớ tài nguyên máy chủ gây ra chậm chạp và treo hệ thống nạn nhân.
3. Tấn công vòng phụ thuộc
Đây là kiểu tấn công lợi dung cơ chế kiểm soát luồng mà HTTP/2 sử dụng để tối ưu mạng. Một client có ý đồ xấu có thể tạo ra request gay ra vòng phụ thuộc, từ đó khiến máy chủ rơi vào vòng lặp vô hạn. Lỗ hổng cho phép tin tặc tấn công từ chối dịch vụ hoặc thực thi mã tùy ý trên hệ thống.
4. Stream Multiplexing (CVE-2016-0150)
Kiểu tấn này cho phép tin tặc khai thác lỗ hổng trong cách cài đặt chức năng stream multiplexing nhằm gây treo máy chủ.
Cả 4 lỗ hổng đều đã được sửa chữa trong HTTP/2, giaothức này hiện đang được sử dụng trong hơn 85 triệu website (~9% toàn bộ website trên Internet). Chi tiết báo cáo về lỗ hổng có thể xem tại đây.
Giao thức HTTP/2 có thể chia thành ba lớp:
- Lớp giao vận (transmission layer) bao gồm điều khiển stream, frame và flow
- HPACK mã hóa nhị phân và giao thức nén
- Lớp ngữ nghĩa (semantic) – một phiên bản nâng cao của HTTP/1.1
4 lỗ hổng lớn trong HTTP/2 bao gồm :
1. Slow Read (CVE-2016-1546)
Đây là kiểu tấn công giống với tấn công từ chối dịch vụ phân tán Slowloris. Tấn công Slow Read gọi đến một client độc hại nhằm đọc phản hồi một cách chậm chạp. Tấn công Slow Read đã được nghiên cứu kĩ lưỡng tại hệ sinh thái HTTP/1.x nhưng nó vẫn tồn tại trong lớp ứng dụng (application layer) của HTTP/2.
2. HPACK Bomb (CVE-2016-1544, CVE-2016-2525)
HPACK Bomb là cuộc tấn công vào lớp nén (compression layer). HPACK được sử dụng để giảm thiểu dung lượng gói tin header. Thông thường, người gửi có thể cho người nhận biết được dung lượng tối đa của header được nén, sử dụng để giải mã header.
Trong cuộc tấn công này, hacker tiềm năng sẽ tạo ra một thông điệp nhỏ nhưng thực ra sẽ giải nén nhiều gigabyte dữ liệu trên máy chủ, điều này khiến tiêu tốn bộ nhớ tài nguyên máy chủ gây ra chậm chạp và treo hệ thống nạn nhân.
3. Tấn công vòng phụ thuộc
Đây là kiểu tấn công lợi dung cơ chế kiểm soát luồng mà HTTP/2 sử dụng để tối ưu mạng. Một client có ý đồ xấu có thể tạo ra request gay ra vòng phụ thuộc, từ đó khiến máy chủ rơi vào vòng lặp vô hạn. Lỗ hổng cho phép tin tặc tấn công từ chối dịch vụ hoặc thực thi mã tùy ý trên hệ thống.
4. Stream Multiplexing (CVE-2016-0150)
Kiểu tấn này cho phép tin tặc khai thác lỗ hổng trong cách cài đặt chức năng stream multiplexing nhằm gây treo máy chủ.
Cả 4 lỗ hổng đều đã được sửa chữa trong HTTP/2, giaothức này hiện đang được sử dụng trong hơn 85 triệu website (~9% toàn bộ website trên Internet). Chi tiết báo cáo về lỗ hổng có thể xem tại đây.