Lỗ hổng HTTP Request Smuggling nghiêm trọng: Khai thác chunk extension

Các nhà nghiên cứu an ninh mạng đã phát hiện ra một cuộc tấn công chuyển tiếp yêu cầu HTTP (lỗ hổng HTTP request smuggling) tinh vi. Cuộc tấn công này khai thác hành vi phân tích không nhất quán giữa các máy chủ proxy front-end và máy chủ ứng dụng back-end.
Phân tích Kỹ thuật: Lỗ hổng HTTP Request Smuggling qua Chunk Extension
Kỹ thuật mới này lợi dụng các phần mở rộng chunk bị định dạng sai để vượt qua các biện pháp kiểm soát bảo mật. Điều này cho phép kẻ tấn công chèn các yêu cầu trái phép vào ứng dụng web, đại diện cho một bước phát triển đáng kể trong các phương pháp HTTP smuggling. Đây là một dạng tấn công mạng phức tạp.
Kỹ thuật tấn công này được xác định thông qua nghiên cứu bảo mật chuyên sâu. Nghiên cứu tập trung vào sự không nhất quán của giao thức HTTP/1.1. Sau khi tuân thủ các quy trình tiết lộ có trách nhiệm, các bản vá bảo mật đã được triển khai trên các hệ thống bị ảnh hưởng.
Các tổ chức duy trì phiên bản phần mềm hiện tại hiện được bảo vệ khỏi vector tấn công cụ thể này. Tuy nhiên, phát hiện này nhấn mạnh những rủi ro bảo mật liên tục trong kiến trúc web phân tán, yêu cầu cần có các bản vá bảo mật định kỳ.
Cơ chế HTTP/1.1 Chunked Transfer Encoding
Việc khai thác lỗ hổng HTTP request smuggling tập trung vào tính năng chunked transfer encoding của HTTP/1.1. Tính năng này cho phép nội dung thông báo được gửi theo từng phân đoạn (chunk).
Theo RFC 9112, mỗi chunk bao gồm một tiêu đề kích thước ở định dạng thập lục phân. Tiêu đề này có thể được theo sau bởi các phần mở rộng tùy chọn được tiền tố bằng dấu chấm phẩy.
Phân tích Không nhất quán và Tiêm yêu cầu
Lỗ hổng HTTP request smuggling phát sinh khi kẻ tấn công gửi các phần mở rộng chunk bị định dạng sai. Chúng chứa các dấu chấm phẩy trần (bare semicolons) mà không có tên phần mở rộng thích hợp.
Điều này tạo ra sự khác biệt phân tích quan trọng giữa các hệ thống front-end và back-end. Trình phân tích front-end thường bỏ qua phần mở rộng bị định dạng sai, sau đó xử lý toàn bộ chuỗi như một yêu cầu duy nhất.
Trong khi đó, trình phân tích back-end diễn giải dòng mới sau dấu chấm phẩy trần như là kết thúc của tiêu đề chunk. Điều này tạo cơ hội cho việc tiêm yêu cầu, dẫn đến lỗ hổng HTTP request smuggling.
Quy trình Tấn công và Tác động của Lỗ hổng HTTP Request Smuggling
Cuộc tấn công mạng này theo một trình tự chính xác. Kẻ tấn công tạo các yêu cầu chứa các dòng kích thước chunk kết thúc bằng dấu chấm phẩy nhưng thiếu tên phần mở rộng.
Sự định dạng sai này khiến hệ thống front-end xử lý nội dung tiếp theo như một phần của yêu cầu gốc. Ngược lại, máy chủ back-end xử lý nội dung này như một yêu cầu HTTP riêng biệt, hiệu quả là chuyển lậu các lệnh trái phép qua các biện pháp kiểm soát bảo mật. Đây là một lỗ hổng HTTP request smuggling đáng chú ý.
Kỹ thuật này cho phép kẻ tấn công nhúng các yêu cầu thứ cấp sau khi kết thúc yêu cầu giả mạo. Điều này có khả năng truy cập các điểm cuối bị hạn chế hoặc bỏ qua các cơ chế xác thực. Đây là một lỗ hổng HTTP request smuggling cực kỳ nguy hiểm.
Đây là một dạng chuyển tiếp yêu cầu đặc biệt nguy hiểm vì nó có thể bỏ qua tường lửa ứng dụng web (WAF) và các biện pháp bảo mật front-end khác. Điều này cho thấy tính phức tạp của loại tấn công mạng này.
Thách thức Triển khai HTTP/1.1 và Biện pháp Phòng ngừa Rủi ro Bảo mật
Phát hiện này nhấn mạnh những thách thức dai dẳng trong tính nhất quán triển khai HTTP/1.1 trên các công nghệ máy chủ khác nhau. Nó cũng chỉ ra các rủi ro bảo mật tiềm ẩn từ lỗ hổng HTTP request smuggling.
Tính linh hoạt của giao thức trong việc định nghĩa ranh giới thông báo, kết hợp với các cách diễn giải khác nhau về thông số kỹ thuật RFC, tạo cơ hội cho các cuộc tấn công mạng tinh vi.
Các tính năng như phần mở rộng chunk, hiếm khi được sử dụng trong thực tế, thường không nhận được sự chú ý đầy đủ trong quá trình phát triển máy chủ. Điều này dẫn đến các triển khai lỏng lẻo hoặc không tuân thủ, gây ra rủi ro bảo mật đáng kể.
Lỗ hổng HTTP request smuggling này nhấn mạnh tầm quan trọng cực kỳ quan trọng của việc xác thực yêu cầu HTTP nghiêm ngặt và logic phân tích nhất quán. Đặc biệt là trong các kiến trúc web phân tán để giảm thiểu rủi ro bảo mật.
Các tổ chức nên ưu tiên cập nhật các hệ thống bị ảnh hưởng và triển khai các cơ chế xác thực yêu cầu toàn diện để ngăn chặn các vector tấn công tương tự. Việc áp dụng kịp thời các bản vá bảo mật là tối quan trọng.
Sự phát triển này là một lời nhắc nhở rằng các tính năng giao thức cũ, đặc biệt là những tính năng ít được sử dụng, có thể tiềm ẩn những rủi ro bảo mật đáng kể nếu không được triển khai đúng cách theo các tiêu chuẩn đã thiết lập. Kiểm tra và áp dụng bản vá bảo mật thường xuyên là điều cần thiết.
Để tìm hiểu sâu hơn về kỹ thuật này, bạn có thể tham khảo bài viết chi tiết tại Imperva Blog, một nguồn đáng tin cậy về nghiên cứu an ninh mạng.









