Firefox chặn Inline và Eval JavaScript trên các trang nội bộ để ngăn chặn các cuộc tấn công Injection

https://mscv50.com/img/2019/10/firefox-browser-javascript-injection-attacks.jpg

Trong nỗ lực giảm thiểu các vấn đề về cross-site scripting tiềm năng trong Firefox, Mozilla đã chặn thực thi tất cả các tập lệnh inline và các hàm giống như eval nguy hiểm tiềm tàng được tích hợp trong “about: page” chính là cổng vào các tuỳ chọn, cài đặt và thống kê nhạy cảm của trình duyệt.

Trình duyệt Firefox có 45 trang lưu trữ nội bộ như vậy về các trang, một số trang được liệt kê bên dưới mà bạn có thể đã nhận thấy hoặc bạn đang sử dụng :

  • about: config – để sửa đổi các tùy chọn và cài đặt quan trọng của Firefox
  • about: downloads – các lần tải xuống gần đây của bạn được thực hiện trong Firefox.
  • about: memory – hiển thị mức sử dụng bộ nhớ của Firefox.
  • about: newtab – trang tab mới mặc định.
  • about: plugin – liệt kê tất cả các plugin của bạn cũng như các thông tin hữu ích khác.
  • about: privatebrowsing – mở một cửa sổ riêng mới.
  • about: networking – hiển thị thông tin mạng.

Cần lưu ý, những thay đổi này không ảnh hưởng đến cách các trang web từ Internet hoạt động trên trình duyệt Firefox, nhưng trong tương lai, Mozilla tuyên bố sẽ “kiểm tra và đánh giá chặt chẽ” việc sử dụng các chức năng có hại trong các tiện ích mở rộng của bên thứ 3 và các cơ chế tích hợp khác.

Firefox vô hiệu hóa Inline JavaScript để bảo mật

Vì tất cả các trang này được viết bằng HTML / JavaScript và hiển thị trong ngữ cảnh bảo mật của chính trình duyệt, nên chúng cũng dễ bị tấn công bằng injection, trong trường hợp có lỗ hổng, có thể cho phép kẻ tấn công từ xa tiêm và thực thi mã tùy ý thay cho người dùng, tức là các cuộc tấn công cross site scripting (XSS).

Để thêm một tuyến phòng thủ đầu tiên mạnh mẽ chống lại các cuộc tấn công injection, ngay cả khi có lỗ hổng, Mozilla đã chặn việc thực thi tất cả các tập lệnh inline, do đó cũng injection các tập lệnh bằng cách thực hiện Chính sách bảo mật nội dung nghiêm ngặt (CSP) để đảm bảo JavaScript mã chỉ thực thi khi được tải từ một tài nguyên được đóng gói bằng giao thức nội bộ.

Để đạt được điều này, Mozilla đã phải viết lại tất cả các trình xử lý sự kiện inline và di chuyển tất cả các mã JavaScript nội tuyến ra khỏi các tệp được đóng gói riêng cho tất cả 45 about: page.

“Không cho phép bất kỳ tập lệnh inline nào trong bất kỳ about: page bị giới hạn bề mặt tấn công của việc thực thi mã tùy ý và do đó cung cấp một tuyến phòng thủ đầu tiên mạnh mẽ chống lại các cuộc tấn công injection”, Mozilla cho biết trong một bài đăng trên blog.

NO EVAL, NO EVIL!

Khi kẻ tấn công không thể tiêm(injection) trực tiếp tập lệnh, chúng sử dụng tính năng JavaScript eval () và các phương thức tương tự để lừa các ứng dụng đích chuyển đổi văn bản thành JavaScript thực thi để đạt được việc tấn công.

Vì vậy, ngoài các tập lệnh nội tuyến, Mozilla cũng đã loại bỏ và chặn các chức năng giống như eval, mà nhà sản xuất trình duyệt cho là một “công cụ nguy hiểm” khác, vì nó phân tích và thực thi một chuỗi tùy ý trong cùng bối cảnh bảo mật.

“Nếu bạn chạy eval () với một chuỗi có thể bị ảnh hưởng bởi một bên độc hại, thì bạn có thể sẽ chạy mã độc trên máy của người dùng với quyền của trang web / tiện ích mở rộng của bạn”, Mozilla giải thích trên tài liệu web MDN của mình.

Google cũng có chung suy nghĩ, gã khổng lồ công nghệ nói, “eval rất nguy hiểm trong một tiện ích mở rộng vì mã mà nó thực thi có quyền truy cập vào mọi thứ trong môi trường cấp phép cao của tiện ích mở rộng”.

Đối với điều này, Mozilla viết lại tất cả việc sử dụng các hàm giống như eval từ các bối cảnh đặc quyền của hệ thống và quy trình trong codebase của trình duyệt web Firefox của họ.

Bên cạnh đó, công ty cũng đã thêm các xác nhận eval () sẽ không cho phép sử dụng hàm eval () và các hàm liên quan tới nó trong các bối cảnh tập lệnh về đặc quyền hệ thống và thông báo cho nhóm bảo mật Mozilla về các trường hợp chưa biết về eval ().

Nguồn thehackernews.com

Chia sẻ bài viết



0943 23 00 99
Bản đồ