Tấn công MarioNET cho phép tin tặc kiểm soát trình duyệt của bạn, ngay cả sau khi bạn rời khỏi trang tấn công

Sự phát triển của các công nghệ web đã mở ra những khả năng mới trên Internet. Các trình duyệt đã trở nên mạnh mẽ hơn khi các API mới hạ cánh và hỗ trợ cho một số tính năng nhất định được giới thiệu.

Một cuộc tấn công mới, được gọi là MarioNET bởi các nhà nghiên cứu đã phát hiện ra nó, nhấn mạnh rằng API cũng có thể bị lạm dụng nếu không có biện pháp bảo vệ thích hợp (đó là trường hợp hiện tại).

Cuộc tấn công dựa vào các API HTML5 hiện có mà tất cả các trình duyệt web hiện đại đều hỗ trợ. Nó không yêu cầu cài đặt phần mềm hoặc tương tác người dùng và vẫn tồn tại ngay cả sau khi người dùng rời khỏi trang web, cuộc tấn công bắt nguồn từ đó.

Kẻ tấn công có thể lạm dụng tài nguyên của máy tính cho tất cả các loại hoạt động bao gồm tấn công DDOS, hoạt động khai thác tiền điện tử hoặc bẻ khóa mật khẩu.

Cập nhật : Bạn tìm thấy một tiếng nói quan trọng chống lại kịch bản được mô tả trong tài liệu nghiên cứu ở đây. Điểm chính của sự chỉ trích là phương thức tấn công phụ thuộc vào một tính năng có tên là periodicSync và nó không phải là một phần của bất kỳ đặc điểm kỹ thuật nào tại thời điểm này. Kết thúc

MarioNET sử dụng Công nhân dịch vụ, các tập lệnh chạy tách biệt khỏi các trang web đã truy cập và trong nền, trong cuộc tấn công. Ý tưởng chính đằng sau Service Workers là chuyển một số tính toán nhất định sang một luồng riêng biệt để nó không bị chặn hoặc làm chậm ứng dụng hoặc trang web mà người dùng tương tác.

Vòng đời của Công nhân dịch vụ hoàn toàn độc lập với trang họ đã tạo. Nhân viên dịch vụ không có quyền truy cập vào DOM (Mô hình đối tượng tài liệu) của trang web và các biến và chức năng của trang mẹ.

Việc sử dụng Công nhân dịch vụ sẽ cách ly hệ thống khỏi trang web ban đầu, kiểm soát liên tục cho kẻ tấn công và khiến người dùng khó phát hiện điều gì đang xảy ra.

Đặc biệt, hệ thống của chúng tôi hoàn thành ba mục tiêu quan trọng:

(i) cách ly với trang web đã truy cập, cho phép kiểm soát chi tiết các tài nguyên được sử dụng; (ii) kiên trì, bằng cách tiếp tục hoạt động liên tục trên nền ngay cả sau khi đóng tab cha; và (iii) tránh né, tránh bị phát hiện bởi các tiện ích mở rộng trình duyệt cố gắng theo dõi hoạt động của trang web hoặc liên lạc đi.

MarioNET đăng ký một nhân viên dịch vụ khi người dùng truy cập vào một cuộc tấn công trang web có thể bắt nguồn từ đó. Khả năng lan truyền cuộc tấn công bao gồm tạo các trang web độc hại, hack các trang web hoặc sử dụng quảng cáo.

Trình duyệt cung cấp ít thông tin cho người dùng về Nhân viên phục vụ; thực tế, các trình duyệt không làm nổi bật việc tạo ra các nhân viên dịch vụ mới trên các trang web cho người dùng. Không có cảnh báo, không có lời nhắc và thậm chí không có tùy chọn hiển thị lời nhắc để xin phép người dùng khi nhân viên dịch vụ được tạo.

Yêu cầu duy nhất cho thấy sự tồn tại của nhân viên dịch vụ là yêu cầu GET ban đầu tại thời điểm truy cập trang web đầu tiên của người dùng, khi nhân viên dịch vụ được đăng ký ban đầu. Mặc dù trong quá trình đó, GET yêu cầu tiện ích mở rộng giám sát có thể quan sát nội dung của nhân viên dịch vụ, nhưng nó vẫn sẽ không quan sát bất kỳ mã đáng ngờ nào. giao tiếp này bị ẩn khỏi phần mở rộng trình duyệt

Điều khiến MarioNET đặc biệt gặp rắc rối là nó tiếp tục chạy trong nền sau khi người dùng đóng trang web mà cuộc tấn công bắt nguồn từ đó. Kiểm soát kết thúc khi đóng trình duyệt web; Các nhà nghiên cứu cũng tìm ra cách khắc phục điều này, nhưng nó đòi hỏi sự tương tác của người dùng vì nó sử dụng API đẩy Web để làm điều đó.

Sự bảo vệ

Hầu hết các trình duyệt hiện đại bao gồm các tùy chọn để hiển thị Công nhân dịch vụ hiện có. Người dùng Firefox có thể tải về: người làm dịch vụ hoặc về: gỡ lỗi # worker và người dùng Chrome có thể tải chrome: // serviceworker-internals / để làm như vậy.

Bạn có thể hủy đăng ký bất kỳ Công nhân dịch vụ nào bằng chức năng được cung cấp trên các trang này. Người dùng Firefox có thể vô hiệu hóa Công nhân Dịch vụ hoàn toàn xa hơn nữa.

Lưu ý rằng điều này có thể ảnh hưởng đến chức năng trên các trang web sử dụng nó cho mục đích hợp pháp. Bạn cần đặt ưu tiên dom.serviceWorkers.enables thành false trên about: config.

Một số tiện ích mở rộng trình duyệt, ví dụ Trình phát hiện nhân viên dịch vụ cho Chrome và Firefox, thông báo cho người dùng khi trang web đăng ký Công nhân dịch vụ.

Bây giờ Bạn : Các nhà phát triển trình duyệt có nên thực hiện các biện pháp bảo vệ bổ sung không? (thông qua ZDNet)