Bkav WebScan

Một phần của tài liệu Nghiên cứu một số công cụ để đánh giá sản phẩm an toàn bảo mật thông tin (Trang 49)

a) Giới thiệu công cụ

Webscan là một công cụ quét đƣợc cung cấp bởi Bkav, sử dụng công nghệ điện toán đám mây và tiếp cận theo hƣớng Saas. Để thực hiện quét lỗ hổng trên website của mình, ngƣời quản trị website đó chỉ cần truy cập vào địa chỉ Webscan.bkav.com.vn và thực hiện quét. Webscan hỗ trợ quét đồng thời nhiều website một lúc, sau khi quét xong kết quả sẽ đƣợc gửi tới địa chỉ email của ngƣời quét và những chỉ dẫn để khắc phục các lỗ hổng này.

b) Cấu tạo

Theo hƣớng tiếp cận Saas, hệ thống sẽ giao tiếp với ngƣời dùng là các webmaster thông qua một website public ra ngoài. Đây là “phần nổi” của hệ thống. Toàn bộ quá trình dò quét lỗ hổng an ninh website sẽ do một application phía dƣới thực hiện.

Website quản lý các thông tin về ngƣời dùng, chịu trách nhiệm xác thực là webmaster trong quá trình đăng ký.

Sau khi quá trình đăng ký và xác thực hoàn tất, yêu cầu từ ngƣời dùng đƣợc chuyển vào cho trƣơng trình quét lỗ hổng an ninh ở bên dƣới. Chƣơng trình này sẽ thực hiện quá trình quét lỗ hổng an ninh website, chuyển kết quả cho website hiển thị cho ngƣời dùng.

50

- Vulns Scanner website ( VSW): Website giới thiệu dịch vụ, quản lý thông tin, giao tiếp với ngƣời dùng

- Vulns Scanner Application (VSA): Là chƣơng trình thực hiện quá trình quét các lỗ hổng an ninh của website.[9]

Hai thành phần này giao tiếp với nhau thông qua lời gọi chƣơng trình và cơ sở dữ liệu. c) Kỹ thuật sử dụng

Webscan sử dụng kỹ thuật phân tích động, và tiếp cận dựa trên phỏng đoán để thực hiện dò quét và phát hiện lỗ hổng.

Module Crawler trong VSA

Module Crawler chịu trách nhiệm thu thập các thông tin từ website từ đó dựng lên cấu trúc website thông quá một số thành phần

- Khối downloader: Download truy cập đến website download các web page bắt

đầu từ URL đầu tiên. Các webpage đƣợc khối download đƣa về sẽ đƣợc đƣa đến khối Parse HTML để phân tích. Hiện nay, có một số project mã nguồn mở viết bằng python cho phép parse html nhƣ BeautifulSoup (http://www.crummy.com/software/ BeautifulSoup/) cho kết quả khá tốt. Tuy nhiên vì đƣợc thiết kế cho phép dựng toàn bộ các node cả web pase dƣới dạng cây cho nên thời gian xử lý khá lâu.

- Queue: Chứa các URL phân tích đƣợc.

- Scheduler: Quản lý thời gian tạm dừng giữa các lần request. Sau khoảng thời gian ấy, các url tiếp theo trong Queue đƣợc gửi đến cho khối download.

- Các URL thu thập đƣợc cùng với HTTP response trả về: Đƣợc sử dụng để xây dựng nên cấu trúc của website.

- Mục đích cuối cùng của web crawler là dựng lên đƣợc cấu trúc của website. Cấu trúc này là cơ sở để tiến hành fuzzing tìm các lỗ hổng website. Muốn vậy, ngoài các thông tin về url, danh sách các biến, mỗi nốt trên cây cần lƣu trữ thêm các thông tin nhƣ: Status code, content-length, source html….

- Cuối cùng, kết quả cấu trúc website đƣợc lƣu trữ một cách có thứ bậc trong một file kết quả Xml, VSW sẽ đọc file này để hiển thị kết quả ra trình duyệt cho ngƣời dùng.[9]

Module Vulns Scan trang VSA

- Modul Vulns Scan thực hiện quá trình quét lỗ hổng website dựa trên cấu trúc website mà module web Crawl dựng đƣợc bằng phƣơng pháp fuzzing.

- Một quá trình fuzzing sẽ bao gồm 3 bƣớc cơ bản sau:

- Lấy Url chuẩn từ cấu trúc website, thêm các dữ liệu fuzz vào biến tạo thành “fuzz http request”

- Gửi “fuzz http request” lên server và nhận về http response tƣơng ứng

51

Ƣu điểm

- Tiếp cận theo hƣớng Saas nên thuật tiện trong việc cập nhật, thêm chức năng mới

- Có cơ chế xác thực chủ sở hữu thực sự của website cho phép hệ thống không bị lợi dụng bởi những ngƣời có ý đồ xấu.

Nhƣợc điểm

Có một số lỗi mà công cụ này chƣa phát hiện đƣợc nhƣ: CSRF; GHDB; Code Execution(Unix and Windows); Directory Traversal (Unix and Windows); File Inclusion; Script Source Code Disclosure;CRLF Injection. (adsbygoogle = window.adsbygoogle || []).push({});

- Không thực hiện quét đƣợc các website có chứa Captra, Single sign on, cơ chế xác thực hai lần.

- Không chỉ rõ đƣợc nơi phát sinh lỗi.

d) Thuật toán sử dụng

Webscan sử dụng fuzzing trong quá trình dò quét lỗ hổng. Ban đầu, hệ thống xây dựng một tập dữ liệu mẫu, sau đó so sánh dữ liệu mẫu này với các dữ liệu nhận đƣợc để phát hiện lỗ hổng.

Khi phát hiện các dữ liệu mới, thì dữ liệu này sẽ đƣợc bổ sung vào tập dữ liệu huấn luyện ban đầu để phục vụ cho các lần quét sau

Một phần của tài liệu Nghiên cứu một số công cụ để đánh giá sản phẩm an toàn bảo mật thông tin (Trang 49)