PDA

View Full Version : BẢo VỆ TrÌnh DuyỆt Web CỦa BẠn



cncaptech
24-01-2007, 14:22
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.


Nguồn: browserhelp.de
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 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.

Các bạn đón đọc bài sau: Bảo mật cho Microsoft Internet Explorer
Văn Linh (Theo US-CERT)

CNC-APTECH
Email: diemhuong@cncaptech.edu.vn
Website: www.cncaptech.edu.vn