Phát hiện chiến dịch tấn công Cache Poisoning nhắm mục tiêu vào các website được bảo vệ bởi hệ thống CDN
Một nhóm các nhà nghiên cứu an ninh mạng tại Đức mới đây đã phát hiện ra một chiến dịch tấn công cache poisoning (CPDoS Attack) mới nhắm mục tiêu vào các hệ thống lưu trữ cache cho website. Phương thức tấn công này có thể cho phép tin tặc ép buộc một trang web bị nhắm mục tiêu sẽ trả về cho người dùng các trang web lỗi.
Phát hiện chiến dịch tấn công Cache Poisoning nhắm mục tiêu vào các website được bảo vệ bởi hệ thống CDN - CyberSec365.org |
Cụ thể, hệ thống CDN là một nhóm các máy chủ được phân phối theo các vị trí địa lý khác nhau, nằm giữa máy chủ gốc của website và khách truy cập để tối ưu hóa hiệu suất của website.
Dịch vụ CDN chỉ đơn giản là lưu trữ các tệp tĩnh bao gồm các trang HTML, các tệp JavaScript, hình ảnh và video,... từ máy chủ gốc và cung cấp cho khách truy cập ở vị trí vật lý xa với tốc độ nhanh hơn.
Mỗi máy chủ CDN đều được phân phối theo từng vị trí địa lý khác nhau, được gọi là các node, và cung cấp cùng một nội dung website cho các khách hàng ở gần vị trí địa lý của nó.
CPDoS Attack hoạt động như thế nào đối với CDN?
Phát hiện chiến dịch tấn công Cache Poisoning nhắm mục tiêu vào các website được bảo vệ bởi hệ thống CDN - CyberSec365.org |
Theo Hoai Viet Nguyen, Luigi Lo Iacono và Hannes Federrath, ba nhà nghiên cứu bảo mật người Đức, các chiến dịch tấn công CPDoS đe dọa tính sẵn sàng của một trang web chỉ bằng cách gửi một yêu cầu HTTP chứa một tiêu đề không đúng định dạng
"Vấn đề phát sinh khi kẻ tấn công có thể tạo HTTP request cho tài nguyên được lưu trên hệ thống CDN nhưng lại chứa các trường không chính xác và bị hệ thống lưu trữ bỏ qua và gây ra lỗi trong quá trình hệ thống CDN kết nối đến máy chủ gốc."
Đây là cách tấn công CPDoS hoạt động:
- Kẻ tấn công từ xa yêu cầu một trang web của trang web mục tiêu bằng cách gửi HTTP request có chứa tiêu đề không đúng định dạng.
- Nếu máy chủ CDN trung gian không có bản sao của tài nguyên được yêu cầu, nó sẽ chuyển tiếp yêu cầu đến máy chủ web gốc, yêu cầu này sẽ gặp sự cố do tiêu đề không đúng.
- Kết quả là, máy chủ gốc sau đó trả về một trang báo lỗi, cuối cùng sẽ được lưu trữ bởi máy chủ CDN thay vì tài nguyên được yêu cầu.
- Bây giờ, bất cứ khi nào khách truy cập hợp pháp cố truy cập vào trang web thông qua máy chủ CDN, họ sẽ được trả về trang lỗi được lưu trong bộ nhớ cache thay vì nội dung ban đầu.
- Máy chủ CDN cũng sẽ lan truyền các trang lỗi đến các node khác của mạng CDN, khiến các tài nguyên truy cập của trang web của nạn nhân không đều được trả về trang lỗi.
"Điều đáng chú ý là một yêu cầu đơn giản là đủ để thay thế nội dung của trang web trong bộ đệm bằng một trang báo lỗi. Điều này có nghĩa là yêu cầu đó vẫn nằm dưới ngưỡng phát hiện của tường lửa ứng dụng web (WAFs) và cụ thể là phương tiện bảo vệ DDoS khi họ quét một lượng lớn lưu lượng mạng bất thường. "
3 cách để khởi chạy tấn công CPDoS
Để thực hiện các cuộc tấn công cache poisoning này chống lại CDN, tin tặc có thể sử dụng 3 kiểu HTTP request không đúng định sau:
- HTTP Header Oversize (HHO) - một HTTP request chứa tiêu đề quá khổ hoạt động trong các tình huống trong đó ứng dụng web sử dụng bộ đệm chấp nhận giới hạn kích thước tiêu đề lớn hơn so với máy chủ gốc.
- HTTP Meta Character (HMC) - Thay vì gửi tiêu đề quá khổ, cuộc tấn công này cố gắng bỏ qua bộ đệm với tiêu đề yêu cầu có chứa ký tự meta có hại, chẳng hạn như ngắt dòng / trả về dòng (\ n), nguồn cấp dữ liệu (\ r) hoặc chuông (\ a).
- HTTP Method Override (HMO)- Sử dụng tiêu đề ghi đè HTTP để bỏ qua chính sách bảo mật cấm các yêu cầu XÓA.
Dịch vụ CDN dễ bị tấn công CPDoS
Các nhà nghiên cứu đã thực hiện ba cuộc tấn công chống lại sự kết hợp khác nhau của các hệ thống lưu trữ web và triển khai HTTP và thấy rằng CloudFront CDN của Amazon là đối tượng dễ bị tấn công CPDoS nhất."Chúng tôi phân tích 15 giải pháp bộ đệm web và đối chiếu chúng với các thông số kỹ thuật HTTP. Chúng tôi xác định một sản phẩm bộ đệm proxy và năm dịch vụ CDN dễ bị tổn thương đối với CPDoS."Kết quả hoàn thành các bài kiểm tra của họ như sau:
Phát hiện chiến dịch tấn công Cache Poisoning nhắm mục tiêu vào các website được bảo vệ bởi hệ thống CDN - CyberSec365.org |
Nhóm đã báo cáo phát hiện của họ cho các nhà cung cấp triển khai HTTP và nhà cung cấp bộ đệm bị ảnh hưởng vào ngày 19 tháng 2 năm 2019. Nhóm Amazon Web Services (AWS) đã xác nhận các lỗ hổng trên CloudFront và giải quyết vấn đề bằng cách mặc định cấm lưu trữ các trang lỗi với mã trạng thái 400 Bad Request.
Microsoft cũng thừa nhận các vấn đề được báo cáo và xuất bản bản cập nhật để giảm thiểu lỗ hổng này, có mã hiệu là CVE-2019-0941, trong các bản cập nhật bảo mật hàng tháng vào tháng 6 năm 2019.
Play Framework cũng xác nhận các vấn đề được báo cáo và vá sản phẩm của họ chống lại cuộc tấn công CPDoS bằng cách hạn chế tác động của X-HTTP-Method-Override header trong các phiên bản Play Framework 1.5.3 và 1.4.6.
Các nhà cung cấp bị ảnh hưởng khác, bao gồm Flask, đã được liên lạc nhiều lần, nhưng các nhà nghiên cứu không nhận được bất kỳ phản hồi nào từ họ.
Đại Phát (theo THN)
Không có nhận xét nào