4.3.1 Kiến trúc
Kiến trúc tổng quan của công cụ được chia làm hai tầng chính - Tầng giao diện, có nhiệm vụ
+ Nhận thơng tin URL cần qt Có chức năng ghi nhận giá trị đầu vào là địa chỉ URL của website mà người dùng nhập vào, nhằm mục đích qt tất cả các page của website đó.
+ Nhận thơng tin về phần mềm Có chức năng ghi nhận giá trị là danh sách những phần mềm sẽ thực hiện quét địa chỉ URL đã nhận ở trên, người dùng sẽ có quyền chọn vào bất kỳ phần mềm nào có trong danh sách.
+ Nút thực thi Có nhiệm vụ thực hiện các lệnh, bao gồm quét lỗ hổng, xem kết quả và hiển thị kết quả trong thư mục gốc.
+ Hiển thị kết quả kiểm tra Sau khi các phần mềm đã thực hiện lệnh quét URL dựa theo giá trị đầu vào đã nhập phía trên, cơng cụ sẽ cho ra kết quả xử lý cuối cùng đã được tổng hợp từ các kết quả riêng lẻ của từng phần mềm quét và hiển thị theo dạng danh sách ra màn hình.
+ Gọi các phần mềm quét theo danh sách chọn của người dùng từ giao diện. + Truyền lệnh quét kèm theo các yêu cầu và tham số dữ liệu đầu vào vào các phần mềm quét.
+ Ẩn các giao diện, cửa sổ phát sinh của các phần mềm đang thực thi (gọi phần mềm chạy nhưng không cho các phần mềm hiển thị).
+ Nhận về các kết quả quét với các tên, định dạng và thư mục chứa khác nhau tùy vào phần mềm quét. Tổng hợp và hiệu chỉnh chúng về cùng một định dạng, thư mục và quy tắc chung.
+ Phân loại các lỗ hổng đã tìm được, tổng hợp và điều chỉnh chúng theo bộ tiêu chí đánh giá an tồn website OWASP.
+ Các thơng báo hiển thị, cảnh báo cho người dùng khi cần thiết, ví dụ như các trường hợp chưa nhập địa chỉ URL cần quét, chưa chọn phần mềm quét, thể hiện dấu hiệu phần mềm đang chạy ngầm, hiển thị đầy đủ thông tin chi tiết của lỗ hổng khi người dùng nhấp vào bảng kết quả.
4.3.2 Mơ hình chức năng
Cơng cụ đóng vai trị trung gian giúp tiếp nhận, xử lý và trả về kết quả từ phần mềm quét một cách đồng bộ.
Mỗi một phần mềm quét được chạy với môi trường, ngôn ngữ và dữ liệu, định dạng đầu vào/ra khác nhau. Vì thế, cần phải có một cơng cụ trung gian để có thể xử lý các vấn đề kỹ thuật bên trong với các thuật ngữ và yêu cầu phức tạp theo từng phần mềm quét, đồng thời có thể dễ dàng tiếp nhận và hiển thị thơng tin ra bên ngồi với giao diện thân thiện với người dùng.
Hình 4.1 Kiến trúc phân tầng và mơ hình chức năng hoạt động.
Dựa vào các ưu điểm của từng phần mềm quét, khi tập hợp chúng lại sẽ cho ra kết quả cuối cùng một cách tồn diện nhất. Nói theo một cách khác, ưu điểm của phần mềm này có thể sẽ là nhược điểm của phần mềm khác, sẽ trả về những cảnh báo mà khi chúng ta thực hiện quét thông thường sẽ chỉ cho ra một vài kết quả đơn thuần và có thể bị thiếu sót mà phần mềm qt đó khơng phát hiện ra được. Kết quả cuối cùng sẽ được tổng hợp từ danh sách các phần mềm quét và phân nhóm theo các loại lỗ hổng, hợp nhất chúng lại khi phát hiện ra kết quả trả về trùng nhau.
Khi thực hiện quét lỗ hổng website và trả về kết quả, công cụ hoạt động theo dạng gọi câu lệnh thực thi đến các phần mềm quét và trả về kết quả nhận được sau khi đã phân tích, tổng hợp. Vì vậy, cơ sở dữ liệu cũng như các phương thức thực hiện đều hoạt động dựa trên nền tảng của phần mềm quét bên thứ ba nên việc cập nhật các phiên bản có thể phát hiện các các lỗ hổng thường xuyên được cập nhật, mã nguồn và chức năng của phần mềm quét cũng được các nhà phát triển hoặc cộng đồng xây dựng hoàn thiện và cập nhật theo thời gian thực.