Lỗ hổng tồn tại 17 năm trong Firefox cho phép tệp HTML đánh cắp file từ thiết bị

Lỗ hổng cùng nguồn gốc trong Firefox

Mới đây, một nhà nghiên cứu đã công khai khai thác PoC một lỗ hổng trong Chính sách cùng nguồn gốc tồn tại 17 năm trên Firefox có thể cho phép kẻ tấn công đánh cắp dữ liệu trong cùng một thư mục và các thư mục con nơi tải xuống tệp đính kèm HTML độc hại.

Từ trước đến nay, ngoại trừ trường hợp các hacker áp dụng các chiêu thức lừa đảo thì việc tải xuống tệp đính kèm HTML và mở cục bộ trên trình duyệt của người dùng chưa bao giờ được coi là một mối đe dọa nghiêm trọng.

Khai thác lỗ hổng tồn tại 17 năm trong Firefox

Tuy nhiên, thực tế này đã thay đổi khi một nhà nghiên cứu bảo mật gần đây đã công bố một đoạn video mô phỏng kỹ thuật mới có thể cho phép kẻ tấn công đánh cắp các tệp được lưu trữ trên máy tính của nạn nhân.

Barak Tawily, một nhà nghiên cứu bảo mật ứng dụng đã phát triển thành công một cuộc tấn công PoC mới chống lại phiên bản Firefox mới nhất thông qua khai thác một vấn đề đã biết đã tồn tại 17 năm trên trình duyệt web này.

Cuộc tấn công lợi dụng cách thức Firefox triển khai Chính sách cùng nguồn gốc (SOP) cho scheme URI (Định dạng tài nguyên thống nhất) “file: //”, cho phép mọi tệp trong thư mục (folder) trên hệ thống có quyền truy cập vào các tệp trong cùng folder đó và trong các thư mục con (subfolder).

Do Chính sách cùng nguồn gốc cho file scheme chưa được IETF xác định rõ ràng trong RFC nên các trình duyệt và phần mềm khác nhau sẽ thực hiện chính sách này theo một cách khác nhau. Chẳng hạn, một số trình duyệt coi tất cả các tệp trong một thư mục là có cùng nguồn gốc, trong khi các trình duyệt khác lại xem mỗi tệp trong thư mục có nguồn gốc khác nhau.

Tawily cho biết Firefox là trình duyệt lớn duy nhất vẫn chưa thay đổi việc triển khai Chính sách cùng nguồn gốc (SOP) kém an toàn cho file URI scheme cũng như tiếp tục hỗ trợ Fetch API qua giao thức tập tin (file protocol).

Demo: Đánh cắp tập tin cục bộ trong trình duyệt Firefox (Lỗ hổng chưa được vá)

Mặc dù điểm yếu về triển khai Chính sách cùng nguồn gốc trong Firefox đã được thảo luận nhiều lần trên Internet trong suốt những năm qua, nhưng đây là lần đầu tiên có một người phát hiện ra cách thức thực hiện  một cuộc tấn công PoC hoàn chỉnh có thể gây nguy hiểm cho quyền riêng tư và bảo mật của hàng triệu người dùng Firefox.

Video PoC khai thác lỗ hổng đánh cắp tập tin cục bộ trên Firefox

Như được trình bày trong video mô phỏng, Tawily đã khai thác vấn đề kể trên kết hợp cùng với một cuộc tấn công nhấp chuột (clickjacking) và một lỗi “chuyển đổi ngữ cảnh” (context switching), từ đó cho phép mã khai thác tự động:

  • lấy danh sách tất cả các tệp nằm trong cùng một thư mục (folder) và các thư mục con bên trong (subfolder) nơi HTML độc hại được trình duyệt tải xuống hoặc được lưu bởi nạn nhân theo cách thủ công,
  • đọc nội dung của bất kỳ tệp cụ thể hoặc tất cả các tệp bằng Fetch API, sau đó
  • gửi dữ liệu được thu thập đến một máy chủ từ xa thông qua các yêu cầu HTTP.

Chiêu thức lừa nạn nhân tải xuống các tệp HTML độc hại

Để thực hiện thành công cuộc tấn công này, các hacker sẽ lừa nạn nhân tải xuống và mở các tệp HTML độc hại trên trình duyệt web Firefox, đồng thời nhấp vào nút giả (fake button) để kích hoạt khai thác.

Tawily cho biết tất cả các hành động được đề cập ở trên có thể bí mật xảy ra trong nền (background) trong vòng vài giây mà nạn nhân không hề hay biết. Điều này diễn ra ngay khi nạn nhân nhấp vào nút giả được đặt rất khéo léo trên trang HTML độc hại.

Cần lưu ý rằng kỹ thuật này chỉ cho phép tệp HTML độc hại truy cập các tệp khác trong cùng thư mục và các thư mục con của nó.

Trong kịch bản tấn công PoC của mình, Tawily chỉ ra cách thức kẻ tấn công có thể dễ dàng đánh cắp các khóa SSH bí mật của nạn nhân trên hệ điều hành Linux nếu người này lưu các tệp đã tải xuống trong thư mục người dùng (user-directory) cũng chứa các khóa SSH trong thư mục con của nó.

Firefox chưa có kế hoạch vá lỗ hổng

Tawily đã báo cáo những phát hiện mới của mình cho Mozilla, tuy nhiên phía công ty đã phản hồi lại rằng việc triển khai Chính sách cùng nguồn gốc cho phép mọi tệp: // URL có quyền truy cập vào các tệp trong cùng thư mục và các thư mục con. Điều này cho thấy rằng Mozilla hiện vẫn chưa có kế hoạch để khắc phục vấn đề này trong trình duyệt của mình.

Tawily cũng đề xuất phương án khắc phục xuất phát từ phía RFC. Điều này sẽ buộc các tác nhân người dùng (trình duyệt) thực hiện cách tiếp cận an toàn nhất và không cho phép các nhà phát triển mắc lỗi khiến khách hàng phải đối mặt với các cuộc tấn công nguy hiểm.  

Vào năm 2015, các nhà nghiên cứu đã phát hiện ra một lỗ hổng tương tự, tuy nhiên lỗ hổng khi ấy nếu khai thác còn có thể thực hiện các cuộc tấn công từ xa. Lỗ hổng cũng nằm trong Chính sách cùng nguồn gốc của FireFox mà các hacker có thể khai thác trong tự nhiên để đánh cắp các tệp được lưu trữ trên máy tính của người dùng khi họ nhấp vào các quảng cáo độc hại trên trang web.

Mặc dù cuộc tấn công mới yêu cầu một chút kỹ thuật tấn công social engineering (quá trình đánh lừa người dùng của hệ thống, nhằm phá vỡ hệ thống an ninh, lấy cắp dữ liệu hoặc tống tiền), tuy nhiên nhiều người dùng Firefox vẫn có thể dễ dàng trở thành nạn nhân của các hoạt động khai thác lỗ hổng này.

THN