Những kẻ tấn công có thể sử dụng tính năng web của Yahoo để lấy cắp các thông tin
12:27, 07/12/2012
Những kẻ tấn công đã lợi dụng tính năng trên trang web Yahoo's Developer Network để có thể đọc thư điện tử, danh bạ và các dữ liệu riêng tư khác từ tài khoản người sử dụng Yahoo, khi người này ghé thăm một trang web có mã độc - theo một nhà nghiên cứu bảo mật độc lập cho biết.
Hội nghị bảo mật DefCamp tại Bucharest, Romani do các nhà nghiên cứu về lỗi bảo mật Web tổ chức, đã đưa ra phiên bản giới hạn của cuộc tấn công. Trong bài trình bày của mình, các chuyên gia đã chỉ ra ngôn ngữ truy vấn trên nền Web của Yahoo trên trang web developer.yahoo.com (Web-based YQL (Yahoo Query Language) có thể bị những kẻ tấn công lợi dụng lấy các dòng lệnh YQL từ những người sử dụng Yahoo khi họ vào các trang web độc hại.
YQL là một ngôn ngữ trong trong lĩnh vực lập trình tương tự như SQL (Structured Query Language, tạm dịch: ngôn ngữ truy vấn cấu trúc) được tạo bởi Yahoo. Ngôn ngữ này có thể sử dụng để truy vấn, lọc và kết hợp dữ liệu được lưu trong cơ sở dữ liệu. Trang web Yahoo developer cung cấp quyền truy cập tới một Web-based console (tạm dịch: bàn điều khiển trên nền Web) để các nhà phát triển có thể sử dụng để tìm hiểu và chạy thử YQL bằng cách chạy các truy vấn từ cơ sở dữ liệu của Yahoo.
Những người sử dụng không được xác thực chỉ có thể chạy truy vấn đối với các bảng chứa các thông tin công cộng như thông tin từ Yahoo Answers, Yahoo Weather......Tuy nhiên, khi họ đã được xác thực thì họ có thể truy vấn tới dữ liệu tài khoản của chính họ như thư điện tử, danh bạ và thông tin cá nhân.
Khi một truy vấn được nhập vào bàn điều khiển và nút TEST được nhấn thì mã xác thực cho một phiên làm việc của người sử dụng sẽ được gửi cùng với yêu cầu. Phiên làm việc này sẽ được tạo ra khi người sử dụng vào trang điều khiển YQL và thêm vào mẫu yêu cầu một cách tự động.
Trong suốt bài trình bày, các chuyên gia đã chỉ ra trên trang tấn công dạng proof-of-concept (PoC, tạm dịch: khái niệm thử thách) để lập địa chỉ đặc biệt developer.yahoo.com trong một cấu trúc (iframe). Khi trang tấn công được người sử dụng Yahoo ghé thăm đã được xác nhận thì iframe trả về thông tin của người sử dụng.
Tuy nhiên, các bộ tính toán bảo mật (security mechanisms) bên trong các trình duyệt không cho phép các đoạn mã chạy trong một tên miền đọc nội dung từ một trang được lưu trên một tên miền khác dù đã nạp trong iframe. Điều này có nghĩ là trong khi người sử dụng có thể nhìn thấy mã thông tin trên trang của kẻ tấn công và trang web tấn công không thể đọc mã hoặc tự động sử dụng để tạo các truy vấn YQL tự động sử dụng phiên làm việc của người bị tấn công.
Trong trường hợp này, kẻ tấn công cần lừa người sử dụng đưa cho chúng các mã bí mật đã được hiển thị trên trang tấn công. Từ khi mã xác thực chỉ là một chuỗi số và ký tự như kiểu "y5XAjn1fKIQ" và Bogdan đã tạo một mã nhập CAPTCHA giả mạo trên trang tấn công và làm cho nó hiển thị như là mã CAPTCHA thực sự mà người sử dụng cần nhập để tiến hành chạy thử qua nút TEST. Bằng cách sử dụng CAPTCHA giả mạo, người sử dụng đã thực sự đang xác thực một truy vấn YQL từ chính tài khoản của mình.
Quốc Phong