Lỗ hổng Spectre trên Cloudflare Workers cho phép rò rỉ dữ liệu JWT
Các nhà nghiên cứu bảo mật vừa công bố một cuộc tấn công Spectre từ xa nhắm vào Cloudflare Workers, cho phép trích xuất mã JWT từ các Worker cùng vị trí với tốc độ 12...
- Giọng nữ Bắc
Một nhóm các nhà nghiên cứu bảo mật vừa tiết lộ chi tiết về một cuộc tấn công Spectre từ xa nhắm vào hạ tầng Cloudflare Workers. Cuộc tấn công này cho phép kẻ tấn công trích xuất dữ liệu nhạy cảm, cụ thể là JSON Web Token (JWT), từ một Worker khác cùng nằm trên một môi trường sản xuất với tốc độ lên tới 12 bit/giây. Đáng chú ý, tốc độ này nhanh gấp 360 lần so với các thử nghiệm tương tự từng được công bố vào năm 2021.
Trong thử nghiệm thực tế, các nhà nghiên cứu đã thiết lập một Worker đóng vai trò kẻ tấn công và một Worker nạn nhân, trong đó JWT được đặt sẵn trong bộ nhớ của nạn nhân. Phía Cloudflare khẳng định rằng không có dữ liệu thực tế nào của khách hàng bị truy cập trong quá trình nghiên cứu.
Cơ chế tấn công và phản hồi từ Cloudflare
Cloudflare Workers vận hành mã nguồn từ nhiều khách hàng khác nhau trong các V8 isolates riêng biệt nhưng cùng chung một tiến trình hệ điều hành (OS process). Cách tiếp cận này ưu tiên hiệu năng và giảm độ trễ khởi động thay vì sử dụng cơ chế cô lập tiến trình nghiêm ngặt. Theo Cloudflare, việc đọc bộ nhớ trong một tiến trình Worker dùng chung có thể dẫn đến rò rỉ dữ liệu giữa các tenant.
Cuộc tấn công không phụ thuộc vào các exploit phần mềm V8 hay kỹ thuật sandbox escape thông thường. Thay vào đó, nó khai thác các hạn chế trong cơ chế Dynamic Process Isolation (DyPrIs) mà Cloudflare từng triển khai để phòng thủ trước Spectre. Các nhà nghiên cứu phát hiện ra rằng hoạt động I/O cường độ cao qua WebSocket có thể làm giảm tín hiệu dự đoán nhánh (branch-misprediction) mà DyPrIs sử dụng để phát hiện tấn công, từ đó vượt qua lớp bảo vệ này.
Các biện pháp khắc phục
Cloudflare cho biết họ đã triển khai các bản vá và cải tiến quan trọng để ngăn chặn nguy cơ này:
- Cải thiện DyPrIs: Tăng cường khả năng phát hiện của cơ chế cô lập hiện có.
- V8 Sandbox: Hạn chế quyền truy cập vào các con trỏ 64-bit.
- Cô lập in-process dựa trên MPK (Memory Protection Keys): Đưa các vùng nhớ (heap) của Worker vào sau các khóa bảo vệ được phần cứng hỗ trợ, kết hợp với bố cục bộ nhớ xoay vòng để ngăn chặn các sandbox lân cận chia sẻ khóa.
Cloudflare khẳng định không tìm thấy bằng chứng nào về việc lỗ hổng này bị khai thác trong thực tế suốt ba năm qua. Các thử nghiệm của nhà nghiên cứu được thực hiện trên máy chủ Linux sử dụng bộ vi xử lý AMD EPYC Zen 2 và Zen 3, cho thấy dù tải hệ thống cao có thể làm giảm tốc độ rò rỉ, cuộc tấn công vẫn hoàn toàn khả thi trong môi trường thực tế.
Nguồn tham khảo: The Hacker News



No Comment! Be the first one.