Cùng xem cách chuyên gia bảo mật tìm ra lỗ hổng bảo mật nghiêm trọng của Yahoo

    Steve,  

    Một lỗi vô cùng đơn giản nhưng lại cho phép hacker đọc email của bất cứ ai.

    Tháng trước, chuyên gia bảo mật người Phần Lan Jouko Pynnönen đã tìm ra một lỗ hổng trong hệ thống bảo mật của dịch vụ Yahoo Mail. Sau khi thông báo tới “chính chủ” và chờ Yahoo đưa ra bản vá, anh đã cho chúng ta biết thông tin đầy đủ về lỗ hổng bảo mật đơn giản nhưng vô cùng nghiêm trọng này.

    Jouko Pynnönen cũng là người đã tìm ra lỗ hổng bảo mật XSS (Cross Site Scripting) của Yahoo vào cuối năm ngoái và đã nhận được 10.000$ theo chương trình tìm kiếm lỗi Bug Bounty của Yahoo. Năm nay, khi thử “dạo qua” dịch vụ Yahoo Mail, anh chàng đã để ý thấy một điểm không bình thường trong phần soạn email. Cụ thể, là trong cách gửi một vài loại đính kèm của Yahoo.

    Ở đây, điều làm Jouko chú ý đó là tùy chọn “Share files from cloud providers”. Vấn đề ở đây là, tính năng này sẽ không gửi một “đính kèm” đúng nghĩa mà chỉ sinh ra một đoạn mã HTML với thành phần chính là đường dẫn tới Google Drive hay Dropbox. Ví dụ như đoạn mã dưới đây:

    Điều làm anh chàng quan tâm là các thuộc tính có tiền tố “data-”, dạng thuộc tính thường được sử dụng để lưu trữ dữ liệu ứng dụng JavaScript. Việc tồn tại các thuộc tính dạng này có thể gợi ý về khả năng chèn một dãy thuộc tính HTML khác có thể vượt qua bộ lọc HTML của Yahoo, mở ra khả năng thực hiện việc mà kẻ tấn công mong muốn.

    Jouko đã kiểm tra lại một lần nữa, lần này là với một đường link YouTube trong nội dung email. Và đúng như mong muốn, đường link YouTube được Yahoo Mail “trang bị” thêm kha khá thẻ thuộc tính HTML, trong đó cũng bao gồm các thuộc tính dạng “data-”. Anh đã thử thay đổi nội dung trong các thẻ dạng này, và nhận ra rằng: miễn là nội dung trong thẻ “data-url” vẫn thuộc về một website dạng white-listed như YouTube, thì Yahoo Mail sẽ không kiểm tra phần nội dung thêm vào sau kí tự ngoặc kép của HTML.

    Cụ thể, Jouko đã sử dụng một trường hợp test như sau:

    Khi email trên được gửi đi, một thẻ hình ảnh (thẻ IMG) với cửa sổ thông báo lỗi trong thuộc tính onerror sẽ hiện lên màn hình. Điều này hoàn toàn đồng nghĩa với việc kẻ tấn công có thể thực thi một đoạn mã JavaScript với mục đích xấu.

    Theo Jouko giải thích, lỗ hổng này cũng ở dạng XSS dựa trên mô hình DOM (Document Object Model) như những gì anh tìm ra năm ngoái. Lỗi này xảy ra khi một thẻ markup của HTML được tạo ra bởi JavaScript rồi chèn vào phần nội dung bằng cách thay đổi nội dung innerHTML của một thẻ nào đó, hoặc khi gọi hàm ghi đè tác động lên DOM mà không kiểm tra đầy đủ giá trị nhập vào từ người sử dụng.

    Jouko Pynnönen đã gửi một phiên bản “nguy hiểm” hơn của trường hợp test bên trên tới Yahoo, với nội dung là một email có khả năng cho phép hacker đọc hòm thư của người nhận vào ngày 12 tháng 11 vừa rồi. Sau hơn 2 tuần làm việc thì Yahoo đã đưa ra bản vá vào ngày 29, đồng thời cũng không quên tặng thưởng Jouko 10.000$ giống như lần phát hiện trước.

    Chúng ta vẫn chưa thể biết được, liệu có ai đã phát hiện và lợi dụng lỗ hổng này hay chưa. Vì trong giới hacker, bên cạnh những anh chàng “mũ trắng” như Jouko giúp hoàn thiện bảo mật các sản phẩm tốt hơn, vẫn còn đó lực lượng “mũ đen” hùng hậu lợi dụng mọi lỗ hổng bảo mật nhằm đạt mục đích cá nhân. Cũng dễ hiểu, khi 10.000$ có lẽ vẫn là con số nhỏ, so với những gì mà những kẻ tấn công có thể thu về từ những lỗ hổng trên các dịch vụ lớn cỡ Yahoo. Còn với người dùng phổ thông, có lẽ sau mỗi lần tấn công nhắm tới các dịch vụ lớn, để có thể chắc chắn về tính bảo mật, chúng ta cũng nên thay đổi hệ thống mật khẩu của mình.

    Tin cùng chuyên mục
    Xem theo ngày