Phương pháp phòng chống phía máy khách (client-side)

Một phần của tài liệu PHÁT TRIỂN GIẢI PHÁP VÀ CÔNG CỤ ĐẢM BẢO AN NINH CHO CÁC DỊCH VỤ TRỰC TUYẾN (Trang 25 - 27)

3. Cấu trúc luận văn

2.4.7. Phương pháp phòng chống phía máy khách (client-side)

Các lỗ hổng XSS có thể được ngăn ngừa ở phía máy khách với mức độ nhất định. Nentwich et al. đề xuất một kỹ thuật hủy bỏ dữ liệu động trong một tài liệu được công bố năm 2008. Các giải pháp này trình bày ngăn chặn các cuộc tấn công XSS trên các máy khách bằng cách theo dõi các thông tin nhạy cảm bên trong trình duyệt Web. Bất cứ khi nào dữ liệu nhạy cảm được gửi cho một ứng dụng thứ 3, người sử dụng phải chấp nhận.

Trong một báo cáo khác, người ta phát triển một công cụ có tên là Noxes, hoạt động như là một tường lửa cá nhân phía máy khách cho các ứng dụng Web. Nó là một proxy cơ bản, chặn yêu cầu đầu ra và chạy các bộ lọc khác nhau trên các yêu cầu để xác định xem chúng là độc hại hay không. Các tác giả giải thích Noxes như sau: “Trong một tường lửa truyền thống, khi một kết nối (connection) được mở thông qua một port nào đó từ một ứng dụng không được xác định, thì rõ ràng ứng dụng đó tiềm ẩn nhiều nguy cơ. Tuy nhiên, trên web, các trang được liên kết với nhau vì vậy nó có thể liên kết đến các trang web mà người dùng không biết đến. Do đó, một tường lửa web cá nhân nên có ích

trong thực tế phải hỗ trợ một số liên kết tối ưu để giảm sự cần thiết phải tạo ra các quy tắc bắt buộc như trên. Đồng thời, tường lửa có để đảm bảo rằng an ninh không suy yếu. "

Nhận xét này cho thấy rõ ràng có nhiều vấn đề trong các phương pháp phòng chống phía client. Phương pháp này vô cùng quan tâm đến việc phân biệt giữa mã JavaScript độc hại và không độc hại, thẻ, và các liên kết. Sau đó, một giả định quan trọng cơ bản được thực hiện: “Tất cả các liên kết tĩnh được nhúng trong một trang web có thể được coi là an toàn đối với các cuộc tấn công XSS. Những kẻ tấn công không thể trực tiếp sử dụng các liên kết tĩnh để mã hóa dữ liệu người dùng nhạy cảm.”

Giả định này là đúng đối với các nỗ lực để ăn cắp thông tin đăng nhập hoặc chiếm quyền điều khiển phiên làm việc của người sử dụng. Tuy nhiên,nó lại nguy hiểm khi các ứng dụng web bị nhiễm sâu XSS (xem chương 3) ,dựa trên các liên kết tĩnh và không có ý định ăn cắp thông tin nhạy cảm thông qua JavaScript. Tin tặc sử dụng các cuộc tấn công XSS để tải phần mềm độc hại vào máy tính của nạn nhân.

2.5 Các cách phát hiện lỗi bảo mật chung

Các lỗ hổng của ứng dụng web có thể được khám phá theo nhiều phương pháp. Hai phương pháp tiếp cận thông dụng là phương pháp kỹ thuật hộp đen (black-box) và phương pháp kỹ thuật hộp trắng (white-box). Trong phương pháp Black-Box, các ứng dụng Web được kiểm tra, xử lý mặc dù không truy cập mã nguồn, không nghiên cứu mã nguồn và thậm chí không biết loại ứng dụng nào đang chạy trên máy chủ Web. Tất cả thông tin về ứng dụng Web phải được thu thập thông qua các các công cụ như Web Vulnerability Scanners ( một công cụ quét lỗ hổng web rất hữu ích ), hay bằng thủ công kiểm tra các phản hồi HTTP hoặc bằn cách thử các giá trị đầu vào khác nhau. Qua đó, tạo ra tập các hành động của ứng dụng web.

Phương pháp White-Box thì ngược lại, các Pentester ( những người đánh giá độ an toàn website thông qua cách tấn công chúng) có tất cả các thông tin cần thiết và thậm chí có thể truy cập vào mã nguồn để tìm các lỗ hổng. Hoạt động của các ứng dụng Web có thể được theo dõi bằng cách sử dụng công cụ gỡ lỗi, máy chủ Web và các phiên bản cơ sở dữ liệu được biết đến.

Phương pháp Black-Box thường là phương pháp phổ biến để tìm kiếm các cuộc tấn công. Dưới đây là tổng quan về kỹ thuật phổ biến cho cả hai phương pháp tiếp cận Black-Box và White-Box.

Một phần của tài liệu PHÁT TRIỂN GIẢI PHÁP VÀ CÔNG CỤ ĐẢM BẢO AN NINH CHO CÁC DỊCH VỤ TRỰC TUYẾN (Trang 25 - 27)