Có 3 nhóm vấn đề liên quan đến bảo mật các trình duyệt web, bao gồm: (1) các phƣơng thức tấn công trình duyệt web, (2) mục đích tấn công trình duyệt và (3) các tính
87 năng cung cấp bởi trình duyệt chứa đựng nhiều nguy cơ bảo mật. Các vấn đề này có liên quan hữu cơ với nhau, chẳng hạn mục đích tấn công luôn đi cùng với phƣơng thức tấn công phù hợp và phƣơng thức tấn công trở nên khả thi do khai thác lỗi hoặc khiếm khuyết trong tính năng của trình duyệt. Sau đây là nội dung chi tiết hơn của các nhóm vấn đề trên.
Các phƣơng thức tấn công trình duyệt web bao gồm:
- Hệ điều hành nền bị tấn công và mã độc có thểđọc, hoặc sửa đổi không gian nhớ của trình duyệt trong chếđộđặc quyền;
- Hệ điều hành nhiễm mã độc chạy nhƣ một tiến trình nền và mã độc có thể đọc, hoặc sửa đổi không gian nhớ của trình duyệt trong chếđộđặc quyền;
- Bản thân trình duyệt bị tấn công;
- Các thành phần của trình duyệt bị tấn công;
- Các trình cắm (plug-in/add-on) của trình duyệt bị tấn công;
- Giao tiếp mạng của trình duyệt có thể bị chặn bắt ở bên ngoài máy.
Có nhiều mục đích tấn công trình duyệt ngƣời dùng. Các mục đích tiêu biểu bao gồm: - Hiển thị quảng cáo (pop-up);
- Thu thập, hoặc đánh cắp thông tin cá nhân; - Tiếp thị trên Internet;
- Theo dõi, hoặc phân tích sử dụng web của ngƣời dùng;
- Cài đặt các phần mềm quảng cáo, virus, phần mềm gián điệp và trojan,...;
- Cài đặt và sử dụng các công cụ: Clickjacking (nhấp chuột lừa đảo), Likejacking (like lừa đảo),...
Nhiều tính năng quan trọng cung cấp bởi trình duyệt, nhƣng chúng lại chứa đựng nhiều nguy cơ bảo mật có thể tạo điều kiện cho tin tặc tấn công tấn công trình duyệt, hoặc thậm chí tấn công kiểm soát cả hệ thống. Một sốtính năng thuộc nhóm "có nguy cơ bảo mật cao" gồm:
- Hỗ trợ ActiveX: ActiveX đƣợc hỗ trợ bởi Microsoft Internet Explorer trên Microsoft Windows. Đã có một số ActiveX chứa đựng nhiều lỗi bảo mật, giúp tin tặc tấn công trình duyệt và cả hệ thống.
- Hỗ trợ Java: Tính năng này cho phép chạy các chƣơng trình Java thông qua máy ảo JVM dƣới dạng các Applet trong sandbox. Tuy nhiên, nếu bản cài đặt máy ảo JVM chữa lỗi bảo mật, mã Java trong Applet có thể giúp tin tặc tấn công trình duyệt và cả hệ thống.
- Hỗ trợ trình cắm (Plug-in/Add-on/Extension): Các trình cắm (plug-in/ad-on) và mở rộng (extensions) của trình duyệt là các mô đun ngoài đƣợc cài bổ sung vào trình duyệt để cung cấp thêm nhiều tính năng mới, hoặc tiện ích cho ngƣời dùng. Một số trình cắm thông dụng bao gồm: Adobe Flash Player, Adobe (Acrobat) Reader, Java plugin, ActiveX,... Các trình cắm và mở rộng cũng tiềm ẩn nhiều nguy cơ an ninh
88 cho trình duyệt do trình cắm làm tăng thêm giao diện tấn công và một số mã độc đƣợc viết dƣới dạng trình cắm hữu ích lừa ngƣời dùng tài và cài đặt vào hệ thống. - Các Cookie: Cookie có thể chứa dữ liệu cá nhân và nhiều thông tin khác quan
trọng khác và cookie có thể bịđánh cắp thông qua tấn công XSS,...
- JavaScript, VBScript (chỉ hỗ trợ trên Microsoft Internet Explorer): Đây là các ngôn ngữ lập trình với mã chạy nhúng trong trình duyệt, giúp các trang web tăng tính tƣơng tác, nhƣng cũng tạo điều kiện cho mã tấn công nhƣ XSS có thể thực hiện.