SKIPFISH WEB APPLICATION
I. GIỚI THIỆU SƠ LƯỢT VỀ HỆ THỐNG WEBSCAN (SKIPFISH WEB APP)
Skipfish Web App được xây dựng theo mô hình SaaS (Software as a Service) sử dụng công nghệ điện toán đám mây (cloud computing) vào lĩnh vực phát hiện lỗ hổng web. Skipfish Web App là hệ thống phần mềm cho phép quyét định kỳ các ứng dụng trên cổng HTTP (port 80) của các máy chủ web nhằm phát hiện ra các nguy cơ an ninh, các lỗ hổng bảo mật và các lỗi có thể xẩy ra đối với ứng dụng web của bạn như các lỗi SQL Injection, XSS, Blind Injection ... để cảnh báo đến bộ phận an ninh hệ thống của Tổ chức để có thể triển khai những biện pháp phòng chống hợp lý. Để tiến hành kiểm tra lỗ hổng website, người sử dụng không cần phải cài đặt bất kỳ phần mềm nào trên máy tính của mình. Người dùng chỉ cần truy cập website http://hsct.com.vn để thực hiện quét (lưu ý, trang web này đã được triển khai ứng dụng webscan). Hệ thống Web Scan này sẽ tương tác với website của người dùng để quét và thông báo lại kết quả quét tới họ.
II. HƯỚNG DẪN TRIỂN KHAI HỆ THỐNG WEBSCAN
Tải tập tin skipfish-webapp-v3.tar.gz từ trang http://sourceforge.net/projects/skipfishweb/files
Cài đặt Ubuntu Server 12.04 từ tập tin iso trên trang http://www.ubuntu.com/download/server
Chép tập tin skipfish-webapp-v3.tar.gz vào hệ thống Ubuntu Server. Tiến hành giải nén tập tin
$ tar -xvf skipfish-webapp-v3.tar.gz
Thực hiện lệnh sau:
$ cd skipfish/
$ ./install
Hệ thống sẽ tự động cài đặt ứng dụng trong khoảng 20-30 phút. Trong quá trình cài đặt, hệ thống phải được kết nối mạng và thời gian cài đặt sẽ tùy thuộc nhiều vào đường truyền kết nối Internet.
Sau khi cài đặt thành công, thực hiện lệnh sau để khởi động cơ chế queue (hàng đợi):
$ chect_at
Điều kiện tiên quyết và cực kì quan trọng khi triển khai hệ thống Webscan trên nền tảng Điện toán đám mây (SaaS) này là người quản trị phải đăng kí một tên miền với địa chỉ IP tĩnh, như vậy sẽ thuận lợi hơn trong việc triển khai cũng như sử dụng dịch vụ này.
Vào trình duyệt web và truy cập http://domain-name/ . Tại trang đầu tiên sẽ yêu cầu người dùng đăng kí một tài khoản dịch vụ.
Người dùng phải điền đầy đủ hết các thông tin trên. Sau đó click “Sign up” để hoàn tất quá trình đăng kí, lúc đó hệ thống sẽ tự động gửi mail đến địa chỉ mail mà người đó đã khai ra như trên. Trong mail đó sẽ gồm địa chỉ site đăng nhập, username và password.
Địa chỉ riêng của người sử dụng dùng để đăng nhập có cú pháp là username.hsct.com.vn, trong đó username sẽ như là 1 subdomain. Như nội dung của bức mail trên, ta sẽ tiến hành dùng trình duyệt web để truy cập nhatdong.hsct.com.vn với username là nhatdong và password là 123456
Sau khi đăng nhập thành công, hệ thống sẽ điều hướng đến giao diện quản lý trực quan cho người dùng, bao gồm các thành phần chính như sau: Bảng thống kê các website và trạng thái quét, Vùng điều khiển chính, Bảng thông báo trạng thái máy chủ.
Trong bảng Authentication the ownership, sẽ có những step cần thực hiện lần lượt sau đây:
STEP 1: Nhập tên miền chính (hoặc địa chỉ IP) của website cần để rà soát.
STEP 2: Trước khi thực hiện lệnh quét, hệ thổng Webscan yêu cầu phải chứng minh quyền quản trị của website. Người dùng phải tải về tập tin có tên là checkmaster.txt, có dung lượng 1 Kbytes.
STEP 3: Người dùng cần phải upload tập tin checkmaster.txt đó lên website cần quét. Hệ thống Webscan sẽ kiểm tra sự tồn tại của tập tin này trên website của người dùng để xác nhận quyền quản trị của họ. Sau khi upload thành công, click vào “Verify” để hệ thống tiến hành kiểm tra kết nối đến url như trong box.
Nếu người dùng chưa upload tập tin checkmaster.txt lên host của website với đường link như trong box, thì hệ thống sẽ kết nối đến đường link trên không thành công, nên việc xác thực chủ sở hữu website sẽ thất bại như hình minh họa dưới đây
Nếu người dùng đã upload tập tin checkmaster.txt lên host của website với đường link như trong box, thì hệ thống sẽ kết nối đến đường link thành công như hình minh họa dưới đây. Người dùng có thể click “Scan now” để tiến hành quét website.
Lưu ý: Khi click “Verify”, nếu việc xác thực chủ sở hữu website thành công thì ngay tại giao diện command-line của hệ thống Ubuntu Server, sau khi thực thi lệnh check_at thì sẽ có 2 tác vụ (job 1 và job 2) được thực thi và xếp trong hàng đợi. Tác vụ thực hiện trước thì sẽ xử lý trước theo cơ chế FIFO (First in first out).
Lúc này, hệ thống đang thực hiện công việc rà quét website của người dùng như hình minh họa dưới đây. Thời gian quét phụ thuộc vào độ lớn website của người dùng (cấu trúc và băng thông) cũng như cấu hình quét mà người dùng chọn (quét nhanh, quét đầy đủ). Trung bình thời gian quét có thể kéo dài từ 2h đến 48h. Thậm chí có những website thời gian quét lâu hơn 48h, nhưng cũng sẽ có những website thời gian quét ít hơn 2h.
Với một website thì hệ thống sẽ phải crawl toàn bộ cấu trúc website và sẽ kiểm thử từng trang, từng biến với các loại lỗ hổng khác nhau như XSS, SQL Injection, Blind SQL Injection, Xpath... Một một lỗ hổng trên, sẽ có thể có hàng trăm các phép thử khác nhau nữa. Vì vậy việc quét sẽ cần một khoảng thời gian nhất định và phụ thuộc vào một số yếu tố như đã nêu ở trên.
Nếu người dùng đã thực hiện scan mà muốn từ bỏ ý định quét website giữa chừng thì trong lúc hệ thống đang quét, người dùng có thể click vào “Stop Now” để ngừng quá trình đó đi, thực chất là hệ thống xóa bỏ 1 tác vụ trong hàng đợi queue của lệnh check_at
Sau khi hệ thống đã quét xong, thì ngay dưới góc phải giao diện sẽ có khung report các lần quét mới nhất. Dựa vào đó người dùng có thể xem thống kê một cách chi tiết các lỗ hỏng bảo mật web.
III. DỊCH VỤ PHÂN TÍCH VÀ KIỂM ĐỊNH SSL SERVER
SL là viết tắt của từ Secure Sockets Layer. Đây là một tiêu chuẩn an ninh công nghệ toàn cầu tạo ra một liên kết được mã hóa giữa máy chủ web và trình duyệt. Liên kết này đảm bảo tất cả các dữ liệu trao đổi giữa máy chủ web và trình duyệt luôn được bảo mật và an toàn.
SSL đảm bảo rằng tất cả các dữ liệu được truyền giữa các máy chủ web và các trình duyệt được mang tính riêng tư, tách rời. SSL là một chuẩn công nghiệp được sử dụng bởi hàng triệu trang web trong việc bảo vệ các giao dịch trực tuyến với khách hàng của họ.
Khi Website gởi cho trình duyệt một chứng chỉ SSL, Trình duyệt sẽ gởi chứng chỉ này đến một máy chủ lưu trữ các chứng chỉ số đã được phê duyệt. Các máy chủ này được thành lập bởi những công ty uy tín như GlobalSign, VeriSign.
Về mặt kỹ thuật, SSL sử dụng mã hóa công khai. Kỹ thuật này giúp cho Website và Trình duyệt tự thỏa thuận (bước 4 ở hình trên) một bộ khóa sẽ dùng trong suốt quá trình trao đổi thông tin sau đó. Bộ khóa sẽ thay đổi theo mỗi trong lần giao dịch kế tiếp, một người khác sẽ không thể giải mã ngay cả khi có được dữ liệu của máy chủ lưu trữ chứng chỉ số nói trên.
Đây là một ứng dụng đi kèm với gói cài đặt Skipfish đã được hướng dẫn như phần trên, và đây cũng là một ứng dụng Điện toán đám mây (SaaS) vì người dùng có thể sử dụng công cụ phân tích tính toán từ máy chủ do nhà cung cấp dịch vụ triển khai mà không cần cài đặt các ứng dụng riêng lẻ về máy tính. Nếu Skipfish phân tích lỗ hỏng website thì SSL Server Analysis là dịch vụ được phát triển dựa trên nền tảng OpenSSL, có tính năng phân tích chi tiết về giao thức SSL/TLS của một website có hỗ trợ HTTPS. Khi người dùng thực hiện một giao dịch thanh toán bán hàng trực tuyến từ một website có hỗ trợ giao thức HTTPS thì ứng dụng này sẽ kiểm tra xem certificate của website có an toàn không, đủ độ bảo mật hay không, có bị hết hạn hay không.
Ta vào trang web dịch vụ từ địa chỉ http://ip-address/ssllab/analysis.pl (hoặc từ website http://hsct.com.vn/ssllab/analysis.pl đã được triển khai sẵn).
Trong giao diện trên sẽ có những step cần thực hiện lần lượt sau đây:
STEP 1: Nhập tên miền chính (hoặc địa chỉ IP) của website có hỗ trợ giao thức HTTPS.
STEP 2: Trước khi thực hiện lệnh phân tích CA, hệ thổng Webscan sẽ thực hiện kết nối đến trang web và kiểm tra xem trang đó có hỗ trợ giao thức HTTPS hay không.
STEP 3: Nếu Step 2 đều cho ra kết quả thành công như hình dưới thì người dùng có thể click Analysis Now để hệ thống thực hiện công việc phân tích CA của website
Sau một khoảng thời gian (khoảng 20-30 giây), hệ thống sẽ xuất ra bảng báo cáo chi tiết về CA của website đó, từ đó có thể quyết định có nên thực hiện thanh toán trực tuyến hay không.