CSS mạnh tới mức có thể lấy thông tin người dùng Facebook ẩn danh

Một vài bổ sung mới của chuẩn web Cascading Style Sheet (CSS) mạnh mẽ tới mức một nhà nghiên cứu bảo mật đã dùng chúng để giải mã người ẩn danh (de-anonymize) trên một trang demo, tiết lộ tên người dùng và hình ảnh đại diện Facebook cũng như cho biết họ có thích một trang nào đó trên Facebook không.

Thông tin rò rỉ theo cách này có thể giúp nhà quảng cáo gắn địa chỉ IP hay hồ sơ quảng cáo tới người thật, xâm phạm nghiêm trọng tới quyền riêng tư của người dùng. Việc rò rỉ không chỉ trên Facebook mà ảnh hưởng tới mọi trang khác nếu có nội dung được nhúng qua trang web khác bằng iframe.

Điểm yếu nằm trên trình duyệt chứ không phải website

Thực chất điểm yếu này nằm trên việc thực thi tính năng của CSS có tên mix-blend-mode của trình duyệt, được thêm vào chuẩn web CSS3 năm 2016. Mix-blend-mode cho phép nhà phát triển ghép xếp chồng các thành tố (component) lên nhau và thêm hiệu ứng để kiểm soát cách chúng tương tác với nhau.

Các hiệu ứng này được lấy cảm hứng từ các phần mềm chỉnh sửa ảnh như Photoshop, Gimp, Paint.net… và hòa trộn vào nhau. Ví dụ 1 vài cái tên quen thuộc như Overlay, Darken, Lighten, Multiply…

Tính năng mix-blend-mode hỗ trợ 16 chế độ hòa trộn, hỗ trợ hoàn toàn trên Chrome (từ v49) và Firefox (từ v59) và hỗ trợ một phần trên Safari (từ v11 trên macOS và v10.3 trên iOS).

Nhà nghiên cứu dùng ngăn xếp DIV để xây dựng lại nội dung iframe

Trong nghiên cứu mới công bố, Ruslan Habalov làm việc tại Google ở Thụy Sĩ cùng đồng nghiệp tiết lộ cách dùng CSS3 mix-blend-mode để lấy thông tin từ trang. Kĩ thuật này dựa vào việc dụ người dùng tới trang nhiễm độc có nhúng iframe tới trang khác. Các lớp DIV được xếp chồng với chế độ hòa trộn lên trên iframe. Các lớp này đều có kích thước 1x1 pixel, nghĩa là chỉ phủ 1 pixel của iframe.

Tùy vào thời gian cần thiết để render cả lớp DIV mà kẻ tấn công xác định màu cho pixel đó trên màn hình người dùng. Bằng việc từ từ chuyến các lớp DIV này “quét” qua iframe sẽ biết được nội dung của iframe. Thường kẻ tấn công không truy cập được nội dung iframe do trình duyệt và các trang từ xa cho phép nhúng nội dung qua iframe có chống clickjacking và các biện pháp bảo mật khác.

Hai bản demo vô cùng ấn tượng

Trên 2 bản demo đăng lên mạng, các nhà nghiên cứu lấy được tên và hình ảnh đại diện (độ phân giải thấp) cùng các trang mà người đó thích của người dùng Facebook. Chỉ mất khoảng 20 giây để lấy được tên người dùng, 500 mili giây để biết anh ta thích hay không thích một trang và khoảng 20 phút để lấy hình ảnh đại diện.

Việc tấn công rất dễ che đậy vì iframe có thể dễ dàng chuyển ra ngoài màn hình hoặc ẩn sau phần tử khác (xem đoạn demo dưới đây, ẩn sau hình ảnh chú mèo). Để người dùng ở lại trên trang vài phút cũng không hề khó vì chỉ cần một bài hỏi đáp ngắn hay một bài viết là đủ.

Bản demo thực hiện tấn công bằng CSS lấy thông tin người dùng
Bản demo thực hiện tấn công bằng CSS lấy thông tin người dùng

Đã có bản vá cho Chrome và Firefox

Hai nhà nghiên cứu đã báo cáo lỗi tới Google và Mozilla, và lỗi đã được khắc phục trong Chrome 64 và Firefox 60. “Lỗi được khắc phục bằng cách véc-tơ hóa việc tính toán chế độ hòa trộn”. Việc thực thi mix-blend-mode CSS3 trên Safari không bị ảnh hưởng do vốn đã được véc-tơ hóa rồi.

Xem thêm:

Thứ Sáu, 01/06/2018 08:52
31 👨 1.819
0 Bình luận
Sắp xếp theo