ROBOT attack – Phá vỡ hoàn toàn sự bảo mật của TLS khi sử dụng mã hóa RSA

By | 9:21 am | 13/12/2017

Untitled

Tấn công ROBOT (Return of Bleichenbacher’s Oracle Threat) là một biến thể của cuộc tấn công trên giao thức mã hóa RSA, cho phép kẻ tấn công có thể giải mã các mã hóa RSA và các hoạt động mã hóa trên các máy chủ TLS ảnh hưởng.

1. Cuộc tấn công Bleichenbacher

Được nhà nghiên cứu Daniel Bleichenbacher phát hiện vào năm 1998, Bleichenbacher là một cuộc tấn công padding oracle trên chuẩn mật mã RSA phiên bản 1.5 (PKCS#1 v1.5) được sử dụng trong SSLv2, cho phép kẻ tấn công xác định được rằng: Thông điệp được giải mã có được padding chính xác hay không?

Thông tin này cuối cùng sẽ giúp kẻ tấn công giải mã các bản mã hóa RSA mà không cần khóa private key, làm phá vỡ hoàn toàn sự bảo mật của TLS khi sử dụng mã hóa RSA.

Vào năm 1998, Bleichenbacher đã đề xuất TLS nâng cấp lược đồ mã hóa, nhưng họ đã giữ lại các chế độ mã hóa bị ảnh hưởng và thêm vào một loạt các biện pháp đối phó phức tạp để ngăn chặn.

2. Cuộc tấn công ROBOT

Giờ đây, một nhóm các nhà nghiên cứu của đã phát hiện ra rằng các biện pháp đối phó này không đầy đủ, họ đã phát hiện ra 27 subdomain trong số 100 domain được xếp hạng bởi Alexa bao gồm Facebook, Paypal bị ảnh hưởng bởi tấn công ROBOT.

Cuộc tấn công ROBOT xuất phát từ lỗi thực thi được đề cập ở trên, nó ảnh hưởng đến các chế độ mật mã TLS sử dụng mã hóa RSA, cho phép kẻ tấn công ghi lại lưu lượng và sau đó giải mã.

Các nhà nghiên cứu cho biết: “Đối với các máy chủ sử dụng forward secrecy, nhưng vẫn hỗ trợ RSA key exchange thì rủi ro phụ thuộc vào tốc độ tấn công của kẻ tấn công”.

3. Khuyến nghị

Các nhà nghiên cứu của đã tạo ra một trang web giải thích toàn bộ cuộc tấn công, các biện pháp giảm thiểu ảnh hưởng, danh sách các nhà cung cấp bị ảnh hưởng bởi cuộc tấn công (bao gồm danh sách các nhà cung cấp đã và chưa phát hành bản vá)…

Tấn công ROBOT chỉ ảnh hưởng đến các chế độ mật mã TLS sử dụng mã hoá RSA. Hầu hết các kết nối TLS hiện nay sử dụng Elliptic Curve Diffie Hellman key exchange và chỉ sử dụng RSA để ký số. Do đó chỉ cần vô hiệu hóa các mã hóa RSA (các mã hóa bắt đầu với TLS_RSA).

Tuy nhiên, các quản trị viên vẫn nên kiểm tra các máy chủ, bằng cách kiểm tra trực tiếp tại trang web mà  đã công khai cuộc tấn công, hoặc sử dụng công cụ python để kiểm tra các máy chủ HTTPS có bị ảnh hưởng bởi cuộc tấn công này hay không.

The Hacker News