Ran bar-Zik, một nhà phát triển web tại AOL đã phát hiện ra một lỗi (bug) trên Google Chrome cho phép website ghi âm audio và ghi hình video mà không có chỉ báo bằng hình ảnh. Lỗi này không quá nguy hiểm vì các trang nhiễm độc vẫn cần người dùng cho phép sử dụng các component liên quan tới hình ảnh và âm thanh, nhưng có rất nhiều cách khác nhau để chúng ghi âm hoặc ghi hình mà người dùng không biết. Chỉ có một hình ảnh duy nhất của lỗi này là biểu tượng mà Chrome vẫn thường hiển thị khi người dùng ghi âm hoặc phát trực tiếp video.
Biểu tượng hình tròn đỏ của Chrome
Bar-Zik nói với Bleeping Computer rằng anh phát hiện ra lỗi này khi đang làm việc với một website chạy mã WebRTC. WebRTC là giao thức để stream audio và video qua Internet trong thời gian thực. Để làm vậy, người dùng phải trao quyền truy cập các component audio và video cho website đó.
Khi nhận được quyền truy cập, website sẽ chạy mã JavaScript để ghi lại âm thanh và hình ảnh trước khi gửi lên Internet cho những người tham gia khác của WebRTC. Quá trình ghi này được thực hiện thông qua API MediaRecorder dựa trên JavaScript.
Mã tấn công mở qua cửa sổ popup của Chrome
Bar-Zik phát hiện ra rằng đoạn mã này ghi âm mà không cần phải chạy trên thẻ trình duyệt mà nó đã nhận được quyền truy cập. Bởi quyền truy cập dữ liệu audio và video được trao cho toàn bộ domain, nhà phát triển người Israel nhận ra rằng anh có thể mở một cửa sổ popup trên Chrome và chạy đoạn mã để ghi âm và ghi hình.
Cửa sổ popup khi ghi âm, ghi hình
Chrome hiển thị biểu tượng hình trên trên thẻ trình duyệt chứ không hiện trên cửa sổ popup vì cửa sổ này không có thanh tab.
Báo cáo lỗi với Google nhưng lỗi chưa được khắc phục ngay
Bar-Zik nói với Bleeping Computer rằng sau khi xác minh vấn đề, anh đã báo cáo lỗi này tới Google. Báo cáo có đi kèm với bản demo yêu cầu người dùng trao cho quyền truy cập, mở cửa sổ popup khi họ click vào và ghi âm 20 giây, sau đó cung cấp cả đường dẫn để tải file đã ghi âm về. Bạn đọc quan tâm có thể tải đoạn mã chứng minh cho lỗi này về tại đây.
Trong phản hồi mà Bar-Zik nhận được, Google từ chối coi đây là một lỗi bảo mật.
Đây không thực sự là một lỗ hổng bảo mật. Ví dụ như WebRTC trên thiết bị di động cũng không có chỉ báo trên trình duyệt. Biểu tượng đó là nỗ lực ưu tiên tối ưu chỉ có thể hoạt động trên máy tính khi không gian giao diện Chrome có thể đáp ứng được. Chúng tôi đã tìm cách để cải thiện tình hình.
Vấn đề có thể được dùng để giám sát lén lút
Bar Zik không đồng ý với đánh giá của Google. Các nhà nghiên cứu cho rằng nhiều người có xu hướng click vào các yêu cầu đòi hỏi quyền truy cập mà thậm chí không đọc qua. Một khi vô ý hoặc cẩn tắc trao quyền cho website truy cập các component âm thanh và hình ảnh, nhiều cuộc tấn công phức tạp hơn có thể xảy ra.
Ví dụ như, Bar-Zik cho rằng kẻ tấn công có thể sử dụng cửa sổ popup nhỏ để mở đoạn mã tấn công. Đoạn mã này sử dụng camera để chụp ảnh người dùng, ghi hình hoặc âm thanh gần đó. Nếu không để ý tới cửa sổ này, họ sẽ không biết vì không hề có chỉ báo về việc đang ghi hình, ghi âm. Một kịch bản nữa là người dùng có thể nghĩ cửa sổ popup này như một quảng cáo. Nếu không tắt đi ngay, kẻ tấn công có thể giám sát máy tính của người dùng.
Bar-Zik cũng nói rằng kẻ tấn công không nhất thiết phải tạo một website để hỏi quyền truy cập. Anh ta có thể khai thác kịch bản XSS (Cross-site scripting), chèn mã độc vào các website đã nhận được quyền truy cập rồi. Những lỗ hổng này sẽ đưa đoạn mã tấn công vào máy tính.
Google cũng không hề sai
Bởi không coi đây là vấn đề bảo mật, Chrome cũng không nhận được khắc phục khẩn cấp. Tuy vậy, Google cũng không sai khi không coi đây là vấn đề bảo mật bởi biểu tượng hình tròn đỏ này không có mặt trên mọi phiên bản Chrome. Người dùng muốn an toàn trước những kiểu tấn công này nên chú ý tới quyền truy cập mà mình trao cho website.