Bảo vệ trình duyệt Web của bạn

Bài viết này sẽ giúp bạn cấu hình trình duyệt của mình một cách an toàn

hơn khi truy cập Internet. Tài liệu này được viết cho những người dùng

máy tính tại nhà, các sinh viên, nhân viên trong các công ty nhỏ và cả

những người có kết nối băng thông rộng (cable modem, DSL, ADSL) hay

dial-up, ít có được sự hỗ trợ về CNTT. Tuy nhiên những thông tin trong

bài này cũng có thể hỗ trợ cho các người biết nhiều về CNTT.

I, Tại sao phải bảo vệ trình duyệt của bạn

Ngày nay, các trình duyệt như Internet Explorer, Mozilla Firefox và Safari,…

được cài đặt trên hầu hết các máy tính. Chính vì các trình duyệt được sử dụng

một cách thường xuyên nên vấn đề đảm bảo cho nó an toàn là một nhiệm vụ

quan trọng. Thông thường, một trình duyệt web đi kèm với một hệ điều hành

không được thiết lập ở cấu hình mặc định an toàn. Việc không bảo đảm trình

duyệt của bạn có thể dẫn đến một loạt các vấn đề gây ra bởi spyware xâm

phạm để dành quyền điều khiển máy tính của bạn.

Lý tưởng mà nói, người dùng máy tính nên đánh giá các rủi ro từ phần mềm

mà họ sử dụng. Nhiều máy tính được bán với phần mềm đã được tải. Dù

được cài đặt bởi một hãng sản xuất máy tính, hệ điều hành, nhà cung cấp dịch

vụ Internet hay tại những nơi mua lẻ thì bước đầu tiên trong việc truy cập

máy tính của bạn là để tìm ra phần mềm gì được cài đặt và làm thế nào để

một chương trình tương tác với các chương trình khác. Tuy nhiên hầu hết

mọi người lại không thực hiện mức phân tích này.

Ngày nay số lượng các tấn công nhằm vào những yếu điểm của trình duyệt

ngày càng nhiều. người ta đã quan sát thấy xu hướng là các phần mềm bị tấn

công một cách trực tiếp tại các trình duyệt bằng sử dụng các trang web nguy

hiểm. Vấn đề này được đưa ra đánh giá theo một sô các vấn đề dưới đây:

 Các trình duyệt được cấu hình để cung cấp nhiều chức năng nhưng với

giảm các tính năng bảo mật.

 Các lỗ hổng bảo mật mới có thể được phát hiện khi phần mềm được

cấu hình và đóng gói bởi nhà sản xuất.

 Nhiều trang web yêu cầu người dùng kích hoạt các đặc tính chính hoặc

cài thêm nhiều phần mềm, làm cho máy tính của bạn càng dễ gặp nhiều

rủi ro.

 Nhiều người không hiểu làm thế nào để cấu hình các trình duyệt web

của họ được an toàn.

 Nhiều người không sẵn lòng để kích hoạt hay vô hiệu hóa chức năng

được yêu cầu cho việc bảo mật trình duyệt.

 Nhiều người không hiểu máy tính của họ đang bị nguy hiểm hay

không.

 Nhiều người thất bại với một máy tính bị làm hại.

Cuối cùng, việc khai thác các lỗ hổng trong các trình duyệt trở thành phổ biến

đối với những kẻ tấn công để làm hại máy tính của bạn.

II, Tìm hiểu các tính năng của trình duyệt

Hiểu các chức năng và các đặc tính của trình duyệt là một vấn đề hệ trọng.

Bằng việc kích hoạt một vài đặc tính của trình duyệt có thể làm giảm độ bảo

mật. Cho ví dụ, tính năng phần mềm ActiveX có nhiều lỗ hổng có thể ảnh

hưởng lớn đến vấn đề bảo mật.

Nhiều trình duyệt có thể được cài đặt trên máy tính của bạn. Các ứng dụng

phần mềm khác trên máy tính như phần mềm gửi nhận email hoặc phần mềm

đọc văn bản có thể sử dụng một trình duyệt khác mà không phải là trình

duyệt bạn vẫn thường dùng để truy cập web. Cũng tương tự như vậy, các loại

file cụ thể được cấu hình để mở với một trình duyệt khác. Bằng việc sử dụng

một trình duyệt để truy cập vào các trang web không có nghĩa là các ứng

dụng còn lại sẽ tự động sử dụng cùng một trình duyệt. Với lý do này, sẽ là rất

quan trọng đối với việc cấu hình an toàn mỗi trình duyệt được cài đặt trên

máy tính của bạn.

Các trang web có thể yêu cầu sử dụng một trình duyệt hỗ trợ scripting hay

các thành phần Active như JavaScript hay các điều khiển ActiveX hoặc bản

thân các trang cũng có thể có lỗ hổng. Các trang web có thể được coi như các

sản phẩm và mối quan hệ người dùng với sản phẩm, bạn có thể liên hệ đến

các quản trị viên web và yêu cầu các trang nên phải được thiết kế như thế nào

để không gây rủi ro cho máy tính của mình.

Một vài tính năng và thuộc tính của một số trình duyệt cụ thể được miêu tả

trong tài liệu này. Việc hiểu xem những đặt tính gì sẽ giúp bạn biết bằng cách

nào chúng ảnh hưởng đến chức năng của trình duyệt và bảo mật máy tính của

bạn.

ActiveX là một kỹ thuật được Microsoft

Internet Explorer sử dụng trên Microsoft

Windows. ActiveX cho phép các ứng

dụng hoặc các phần của ứng dụng được

sử dụng bởi trình duyệt web. Một trang

web có thể sử dụng các thành phần

ActiveX cư trú trên hệ thống Windows Nguồn: browserhelp.de

hoặc có thể tải thành phần đó tùy một

trang web. Điều này đã cho phép mở rộng chức năng với trình duyệt truyền

thống nhưng nó cũng gây ra một số lỗ hổng về bảo mật nếu không được bổ

sung các bản vá một cách kịp thời.

Java là một ngôn ngữ lập trình hướng đối tượng có thể được sử dụng để phát

triển nội dung cho các trang web. Java Virtual Machine hoặc JVM được sử

dụng để thực thi mã Java hoặc “applet” được cung cấp bởi trang web. JVM

được thiết kế để tách rời mã thực thi để không ảnh hưởng đến phần còn lại

của hệ thống. Một số hệ điều hành hỗ trợ một JVM trong khi đó các hệ điều

hành khác yêu cầu JVM phải được cài đặt trước khi sử dụng Java. Java applet

chạy hoàn toàn độc lập với các hệ điều hành.

Active Content hoặc các Plug-in được dự định sử dụng trong trình duyệt.

Chúng giống như các điều khiển ActiveX nhưng không thể thực thi bên ngoài

trình duyệt. Macromedia Flash là một ví dụ của Active Content có thể được

cung cấp như một plug-in.

JavaScript là một ngôn ngữ kịch bản động tính được sử dụng để phát triển

nội dung cho các trang. Không như Java, JavaScript là một ngôn ngữ được

thông dịch trực tiếp bởi trình duyệt. Có nhiều chi tiết trong chuẩn JavaScript

hạn chế các tính năng như việc truy cập vào các file cục bộ.

VBScript là một ngôn ngữ lập trình kịch bản của Microsoft Windows.

VBScript giống như JavaScript nhưng nó không được sử dụng rộng rãi trong

các trang bởi vì giới hạn về sự tương thích của nó với các trình duyệt khác

không như với Internet Explorer.

Cookie là các file văn bản được đặt trên máy tính của bạn để lưu dữ liệu đã

được sử dụng trong một trang web. Một Cookie có thể chứa bất kỳ thông tin

gì phụ thuộc vào mục đích thiết kế của trang web. Các Cookie có thể gồm các

thông tin về các trang mà bạn đã ghé thăm hoặc thậm chí gồm các khả năng

để truy cập. Chúng được thiết kế để chỉ có thể đọc bởi một trang web tạo

chúng.

Security Zones và Domain Model là các phương pháp Microsoft Windows

sử dụng được thiết kế để thiết lập nhiều lớp bảo mật cho các hệ thống. Trong

khi mục đích chính được sử dụng cho Internet Explorer nhưng nó cũng có thể

cần thiết cho các ứng dụng khác trên hệ thống sử dụng các thành phần của IE.

Bạn có thể tìm hiểu thêm về Security Zones, Domain Model và làm thế nào

để bảo vệ chúng tại trang web:

http://www.microsoft.com/windows/ie/using/howto/security/setup.asp.

III, Các lỗ hổng và các kiểu tấn công

Các kẻ tấn công đang khai thác hệ thống trình khách (trên máy tính của bạn)

thông qua nhiều lỗ hổng khác nhau. Chúng dựa vào các lỗ hổng này để dành

lấy quyền điều khiển máy tính của bạn và sau đó lấy cắp thông tin, phá hoại

các file và tấn công vào các máy tính khác. Có một cách không tốn nhiều

công sức cho các kẻ tấn công nhằm tăng quyền điều khiển trên máy tính của

bạn là khai thác các lỗ hổng trong các trình duyệt web. Một kẻ tấn công có

thể dễ dàng tạo một trang web nguy hiểm sau đó sẽ cài đặt phần mềm Trojan

hay spyware để lấy cắp thông tin từ máy tính của bạn. Bạn có thể xem nhiều

thông tin chi tiết hơn về spyware tại địa chỉ http://www.us-

cert.gov/reading_room/spyware.pdf. Nguy hiểm hơn việc tấn công vào các lỗ

hổng của hệ thống, một trang web độc hại có thể làm tổn hại cho các hệ

thống một cách thụ động như trang đã được viếng thăm trước đó. Một tài liệu

HTML nguy hiểm cũng có thể gây ra nguy hiểm cho nhiều nạn nhân. Trong

trường hợp này, hành động mở một email hay gắn thêm file đính kèm có thể

làm tổn hại hệ thống.

Trong phần này, chúng tôi sẽ chỉ ra một vài lỗ hổng chung trong các trang

web và trình duyệt đã bị khai thác. Chúng tôi sẽ không đi sâu vào chi tiết cụ

thể nhưng sẽ cung cấp cho các bạn các liên kết trong các tài liệu khác để giải

thích kỹ hơn cho bạn về các lỗ hổng.

A, Các điều khiển ActiveX

ActiveX là một công nghệ gây ra nhiều lỗ hổng khác nhau. Một vấn đề trong

việc sử dụng ActiveX trong một trình duyệt là nó đã làm tăng bề mặt tấn

công, hoặc “khả năng tấn công” cho hệ thống. Các lỗ hổng trong các đối

tượng ActiveX có thể được khai thác thông qua Internet Explorer, thậm chí

nếu đối tượng chưa được thiết kế để sử dụng trong một trình duyệt. Năm

2000, CERT/CC đã giúp đỡ một hội thảo để phân tích bảo mật trong

ActiveX. Các kết quả từ cuộc phân tích đó có thể tham khảo tại đường dẫn

http://www.cert.org/reports/activeX_report.pdf. Nhiều lỗ hổng đã liên quan

tới các điều khiển ActiveX. Kẻ tấn công ở đây bằng việc khai thác các lỗ

hổng này có thể tăng quyền điều khiển của các máy tính. Bạn có thể tìm các

trang về lỗ hổng của ActiveX trong các đường dẫn sau http://search.us-

cert.gov/query.html?qt=activex và

http://search.cert.org/query.html?qt=activex.

B, Java

Java là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Sun

Microsystems. Java applet hoàn toàn độc lập và yêu cầu một Java Virtual

Machine (JVM) trên máy khách để nó có thể thực thi. Java applet thường

thực thi bên trong một “địa điểm” nơi mà sự tương tác với phần còn lại của

hệ thống được giới hạn. Mặc dù vậy, JVM lại chứa nhiều lỗ hổng cho phép

một applet vượt qua những giới hạn này. Các Java applet đã được chứng thực

cũng có thể vượt qua nhiều giới hạn này, nhưng nhìn chung chúng nhắc nhở

người dùng trước khi chúng thực thi. Bạn có thể tìm trên các trang của US-

CERT và CERT/CC để xem thêm về các lỗ hổng này theo đường dẫn

http://search.us-cert.gov/query.html?qt=java và

http://search.cert.org/query.html?col=certadv&col=vulnotes&qt=java.

C, Cross-Site Scripting

Cross Site Scripting cho phép một kẻ tấn công nhúng mã hiểm độc:

Javascript, VBScript, ActiveX, HTML hoặc Flash vào trong một trang động

có tính dễ bị tấn công để lừa người dung kích hoạt đoanj mã đó trên máy của

anh ta để thu thập dữ liệu.

Các hacker luôn luôn tiến hành các thử nghiệm với một kịch bản xảo trá của

những kĩ thuật hacking để làm hại các website và các ứng dụng web và cuỗm

đi kho báu vô chủ của dữ liệu dễ bị tấn công bao gồm cả số credit card và các

thông tin cá nhân khác.

Cross Site Scripting (còn được gọi là XSS hoặc là CSS) được tin tưởng rằng

là một trong những ứng dụng thông dụng nhất của kĩ thuật gài bẫy của các

hacker.

Nhìn chung, cross-site scripting là một đòn bẩy cho những tính chất dễ bị tấn

công trong mã của ứng dụng web cho phép một kẻ tấn công gởi nội dung độc

hại từ một đối tượng người dùng và lấy dữ liệu của nạn nhân

D, Các lỗ hổng Cross-Zone và Cross-Domain

Hầu hết các trình duyệt đều sử dụng các mô hình bảo mật để ngăn chặn việc

truy cập dự liệu vào một tên miền khác từ một trang web. Các mô hình bảo

mật này chủ yếu dựa vào Netscape Same Origin Policy:

http://www.mozilla.org/projects/security/components/same-origin.html.

Internet Explorer cũng có một biện pháp để phân chia vùng bảo mật này:

http://msdn.microsoft.com/workshop/security/szone/overview/overview.asp.

Các lỗ hổng trong mô hình bảo mật này có thể được sử dụng để thực hiện các

hành động không bình thường. Sự ảnh hưởng có thể như giống lỗ hổng cross-

site scripting. Mặc dù vậy, nếu lỗ hổng cho phép một kẻ tấn công đột nhập

vào một vùng cục bộ hay các vùng được bảo vệ khác thì kẻ tấn công có thể

thực hiện các lệnh tùy tiện trên hệ thống. Bạn có thể tìm thêm thông tin trong

các trang của US-CERT và CERT/CC theo địa chỉ sau: http://search.us-

cert.gov/query.html?qt=cross-domain và

http://search.cert.org/query.html?qt=cross-domain.

E, Các mối đe dọa từ các kịch bản Script, thành phần Active và HTML

Nhiều trang có thể chứa các đoạn mã Script nguy hiểm, thành phần Active

hoặc HTM. Chúng sẽ cố gắng lừa gạt khách thăm cung cấp những thông tin

hay thực hiện Kỹ thuật lừa đảo (Social Engineering: Là một thuật ngữ bắt

nguồn từ giới công nghệ thông tin, ám chỉ việc lừa người sử dụng máy tính

và Internet tiết lộ password để nhờ đó hacker có thể giành quyền truy cập hệ

thống. Cách tiến hành phổ biến nhất của thủ đoạn này là liên hệ với nạn nhân

thông qua việc chat hoặc e-mail, giả vờ là nhân viên phụ trách an ninh hệ

thống đang tiến hành kiểm tra và yêu cầu người sử dụng khai báo mật khẩu

để xác thực danh tính nếu không sẽ bị đóng tài khoản) cho phép kẻ tấn công

tăng đặc quyền. Trong cơ hội đó, những kẻ tấn công dựa vào các kỹ thuật lừa

đảo để truy cập vào thông tin của nạn nhân. Ngoài ra, các lỗ hổng trong các

trình duyệt có thể được khai thác để tăng đặc quyền. Dưới đây là một loạt các

danh sách về lỗ hổng trong các trình duyệt có thể thông qua sử dụng mã nguy

hiểm. Năm 2000, CERT/CC đã đưa ra một loạt các câu trả lời về malicious

scripting. Bạn có thể xem tham khảo tại địa chỉ

http://www.cert.org/tech_tips/malicious_code_FAQ.html. Và xem thêm các

bài về vấn đề này tại http://search.us-

cert.gov/query.html?qt=malicious+scripting+active+content và

http://search.cert.org/query.html?qt=malicious+scripting+active+content.

F, Lừa đảo kiểu giả mạo (Spoofing)

Khi liên quan đến các trình duyệt, việc giả mạo là một thuật ngữ được sử

dụng để mô tả các phương pháp giả mạo giao diện trình duyệt. Vấn đề này

gồm địa chỉ hoặc thanh vị trí, thanh trạng thái, móc khóa hoặc các thành phần

giao diện người dùng khác. Các tấn công đánh cắp thông tin nhất là thông tin

thẻ tín dụng thường sử dụng một vài form giả mạo để người dùng tin tưởng

và cung cấp thông tin cá nhân. Nếu trình duyệt hổng với lỗi này thì người

dùng sẽ trở thành nạn nhân trong tấn công giả mạo này. Đây là phương thức

tấn công đơn giản nhưng khá hiệu quả vì thế bạn hãy cẩn thận trước bất kỳ

một liên kết không tin cậy nào gửi tới bạn yêu cầu cập nhật thông tin tài

khoản.