Các triển khai khác nhau của HTTP / 2 , phiên bản mới nhất của giao thức mạng HTTP, đã được tìm thấy dễ bị tổn thương do nhiều lỗ hổng bảo mật ảnh hưởng đến phần mềm máy chủ web phổ biến nhất, bao gồm cả Apache, IIS của Microsoft và NGINX.
Ra mắt vào tháng 5 năm 2015, HTTP / 2 đã được thiết kế để bảo mật tốt hơn và cải thiện trải nghiệm trực tuyến bằng cách tăng tốc độ tải trang. Ngày nay, hơn hàng trăm triệu trang web, hoặc khoảng 40 phần trăm của tất cả các trang web trên Internet, đang chạy bằng giao thức HTTP / 2.
Tổng cộng có tám lỗ hổng HTTP / 2 nghiêm trọng , bảy lỗ hổng được phát hiện bởi Jonathan Looney của Netflix và một do Piotr Sikora của Google phát hiện, do cạn kiệt tài nguyên khi xử lý đầu vào độc hại, cho phép khách hàng làm quá tải mã quản lý hàng đợi của máy chủ.
Các lỗ hổng có thể được khai thác để khởi động các cuộc tấn công từ chối dịch vụ (DoS) đối với hàng triệu dịch vụ và trang web trực tuyến đang chạy trên máy chủ web với việc triển khai HTTP / 2 dễ bị tấn công , loại bỏ ngoại tuyến cho mọi người.
Kịch bản tấn công là một máy khách độc hại yêu cầu máy chủ dễ bị tấn công nhắm mục tiêu thực hiện một cái gì đó tạo ra phản hồi, nhưng sau đó máy khách từ chối đọc phản hồi, buộc nó phải sử dụng bộ nhớ và CPU quá mức trong khi xử lý các yêu cầu.
“Các lỗ hổng này cho phép một số lượng nhỏ các phiên độc hại băng thông thấp để ngăn người tham gia kết nối thực hiện công việc bổ sung. Các cuộc tấn công này có thể làm cạn kiệt tài nguyên để các kết nối hoặc quy trình khác trên cùng một máy cũng có thể bị ảnh hưởng hoặc bị sập”, Netflix giải thích tư vấn phát hành thứ ba.
Hầu hết các lỗ hổng được liệt kê dưới đây hoạt động ở lớp vận chuyển HTTP / 2:
- CVE-2019-9511 — HTTP/2 “Data Dribble”
- CVE-2019-9512 — HTTP/2 “Ping Flood”
- CVE-2019-9513 — HTTP/2 “Resource Loop”
- CVE-2019-9514 — HTTP/2 “Reset Flood”
- CVE-2019-9515 — HTTP/2 “Settings Flood”
- CVE-2019-9516 — HTTP/2 “0-Length Headers Leak”
- CVE-2017-9517 — HTTP/2 “Internal Data Buffering”
- CVE-2019-9518 — HTTP/2 “Request Data/Header Flood”
“Một số đủ hiệu quả để một hệ thống đầu cuối duy nhất có khả năng gây ra sự tàn phá trên nhiều máy chủ. Các cuộc tấn công khác kém hiệu quả hơn, tuy nhiên, các cuộc tấn công kém hiệu quả hơn có thể mở ra cơ hội cho các cuộc tấn công DDoS khó phát hiện và ngăn chặn” .
Tuy nhiên, cần lưu ý rằng các lỗ hổng chỉ có thể được sử dụng để gây ra tình trạng DoS và không cho phép kẻ tấn công xâm phạm tính bảo mật hoặc tính toàn vẹn của dữ liệu trong các máy chủ dễ bị tấn công.
Nhóm bảo mật Netflix, người đã hợp tác với Trung tâm điều phối Google và CERT để tiết lộ các lỗ hổng HTTP / 2 được báo cáo, đã phát hiện ra bảy trong số tám lỗ hổng trong một số triển khai máy chủ HTTP / 2 vào tháng 5 năm 2019 và có trách nhiệm báo cáo chúng cho từng nhà cung cấp và nhà bảo trì bị ảnh hưởng .
Theo CERT, các nhà cung cấp bị ảnh hưởng bao gồm NGINX , Apache , H2O , Nghttp2, Microsoft (IIS), Cloudflare , Akamai , Apple ( SwiftNIO ), Amazon, Facebook (Proxygen), Node.js và Envoy proxy, nhiều trong số đó đã được phát hành bản vá bảo mật và tư vấn.