Chương 1 ứng dụng web và khai thác các lỗ hổng bảo mật đã được xác định. Ngoài những lỗ hổng bảo mật được phát hiên trong giai đoạn Dò quét điểm yếu, người kiểm thử cần thực hiên tấn công kiểm thử theo môt số checklist như OWASP Top 10, OWASP WSTG v4.2 để phát hiên và khai thác những lỗ hổng bảo mật mà công cụ rà quét không thể xác định được. Checklist “OWASP WSTG v4.2” là môt trong những checklist chi tiết, day đủ và được sử dụng phổ biến nhất hiên nay. Trong checklist đưa ra danh mục hướng dẫn đánh giá những lỗ hổng bảo mật nghiêm trọng nhất trên các ứng dụng web [6]: (1)Configuration and Deployment Management Testing (Đánh giá cấu hình và quan ly triển khai) (2)Identity Management Testing (Đánh giá quản lý định danh) (3) Authentication Testing (Đánh giá quá trình xác thực) (4) Authorization Testing (Đánh giá quá trình phân quyền) (5) Session Management Testing (Đánh giá quản lý phiên) (6)Input Validation Testing (Đánh giá kiểm tra dữ liêu đầu vào) (7) Testing for Error Handling (Đánh giá quá trình xử lý lỗi) (8)Testing for Weak Cryptography (Đánh giá điểm yếu trong mã hóa) (9)Business Logic Testing (Đánh giá hoạt đông nghiệp vụ) (10) Client-side Testing (Đánh giá phía máy khách) (11) API Testing (Đánh giá API).
Trong mỗi mục đánh gia, checklist đã xây dung vector tấn công tương ứng của từng lỗ hổng bảo mật theo hai hình thức kiểm thử chủ yếu là kiểm thử hôp đen và kiểm thử hôp xám. Người kiểm thử sẽ thực hiên tấn công, khai thác các lỗ hổng bảo mật theo từng mục nhỏ trong checklist, để đảm bảo rằng ứng dụng web đã được đánh giá kỹ lưỡng thông qua mọi vector tấn công và xác định được mọi lỗ hổng bảo mật đang tồn tại trên ứng dụng web. Trần Anh Đức — B19DCAT047 12 Đồ án tốt nghiệp Chương 1 1. Đánh giá mức độ nguy hiểm các lỗ hổng Sau khi xác định, phát hiên được tất cả các lỗ hổng bảo mật trên ứng dụng web, người kiểm thử sẽ thực hiên đánh giá mức đô nguy hiểm và rủi ro của các lỗ hổng bảo mật đối với hê thống ứng dụng.
Từ đó có thể xác định mức đô ưu tiên để giải quyết các lỗ hổng này. Trong giai đoạn này, người kiểm thử đánh giá mức đô nguy hiểm, tác đông của các lỗ hổng bảo mật dựa trên các yếu tố như tính bí mật, tính toàn vẹn và tính sẵn dùng. Viêc đánh giá mức đô nguy hiểm của các lỗ hổng bảo mật trong kiểm thử xâm nhập được thực hiên theo môt tiêu chuẩn chung là tiêu chuẩn CVSS (Common Vulnerabiliy Scoring System - viết tắt của hê thống đánh giá lỗ hổng bảo mật chung). Tiêu chuẩn này được tạo ra nhằm đánh giá ảnh hưởng do lỗ hổng bảo mật gây ra cho hê thống ứng dụng.
Dựa trên tiêu chuẩn này, người kiểm thử sẽ đánh giá mức đô nghiêm trọng của lỗ hổng bảo mật trên hai phương diên là "Mức đô khó của tấn công" và "Ảnh hưởng bởi tấn công". Mức độ khó của tấn công Ảnh hưởng bởi tấn công Attacker có thể dễ dàng tấn oP Vi phạm C-I-A của thông tin ở công System hay không? mức độ nào? Hình 1. Phương diện đánh giá lỗ hổng bảo mật theo tiêu chuẩn CVSS “Mức đô khó của tấn công” sẽ được đánh giá dựa trên các tiêu chí sau: - Attack Vector (AV): Phân loại nguồn tấn công. - Attack Complexity (AC): Sự phức tạp của điều kiên tấn công.
- Privileges Required (PR): Mức đô đặc quyền cần thiết. - User Interaction (Ul): Mức đô yêu cầu tương tác từ người dùng. Trần Anh Đức — B19DCAT047 13 Đồ án tốt nghiệp Chương 1 - Scope (S): Phạm vi ảnh hưởng của tấn công. “Ảnh hưởng bởi tấn công” nhằm xác định mức đô ảnh hướng của lỗ hổng tới ba đặc tính của An toàn thông tin: - Confidentiality Impact (C): Ảnh hưởng đến tính bí mật.
-_ Integrity Impact (I): Ảnh hưởng đến tính toàn vẹn. - Availability Impact (A): Ảnh hưởng đến tính sẵn dùng. Điểm CVSS cơ sở hay CVSS Base Score là mức điểm dựa trên kết quả đánh giá của hai phương diên nêu trên. Giá trị này được dùng để đánh giá tầm quan trọng và mức đô nghiêm trọng của lỗ hổng.
Mức đô nghiêm trọng của lỗ hổng được chia thành 4 mức chính: Nghiêm trọng (Critical), Nguy hiểm (High), Trung bình (Medium) và Thấp (Low). Thang điểm CVSS và mức độ nghiêm trọng tương ứng Tổ chức hoặc chủ sở hữu của hê thống ứng dụng sẽ dựa vào các mức đô nghiêm trọng của từng lỗ hổng để xác định lỗ hổng nào cần được ưu tiên giải quyết và khắc phục. Trần Anh Đức — B19DCAT047 14 Đồ án tốt nghiệp Chương 1 1. Báo cáo và khuyến nghị Báo cáo và khuyến nghị là môt trong những giai đoạn quan trọng nhất trong quy trình kiểm thử xâm nhập.
Trong giai đoạn này, các kết quả kiểm thử từ các giai đoạn trước đó sẽ được tổng hợp, phân tích và đưa ra các báo cáo chỉ tiết về các lỗ hổng bảo mật, rủi ro, thiêt hại có thể xảy ra và đề xuất các biên pháp giải quyết, khắc phục lỗ hổng. Kết quả của quá trình kiểm thử cần được trình bày chi tiết, rõ ràng và cần phải thể hiên những nôi dung quan trọng sau: Thông tin về phạm vi (scope) của hê thống ứng dụng đã được kiểm thử xâm nhập. Tóm tắt tổng quan về kết quả kiểm thử: phần này bao gồm số lượng của từng loại lỗ hổng được tìm thấy, mức đô nghiêm trọng và ảnh hưởng dự kiến của các lỗ hổng đối với hê thống. Danh sách chi tiết lỗ hổng: ở phần này, người kiểm thử cần mô tả về kịch bản khai thác lỗ hổng, đưa ra bằng chứng khai thác (PoC) để chứng minh sự tồn tại của lỗ hổng, giúp người đọc có thể hiểu rõ hơn về tình huống và cách thức khai thác.
Bên cạnh đó, báo cáo cần đưa ra mức đô nghiêm trọng và tác đông của từng lỗ hổng. Khuyến nghị: người kiểm thử đề xuất các giải pháp, biên pháp khắc phục và cải thiên dựa trên từng lỗ hổng đã tìm thấy. Mỗi khuyến nghị nên được mô tả chỉ tiết, bao gồm cách thức thực hiên, các biên pháp bảo mật mới, cung cấp thêm các tài liêu tham khảo và hướng dẫn để hỗ trợ nhà phát triển hê thống trong quá trình khắc phục. Tổng kết về quá trình kiểm thử, nhấn mạnh về tầm quan trọng của viêc khắc phục các lỗ hổng bảo mật và cải thiên bảo mật cho ứng dụng web.
Ngoài ra báo cáo cần đề cập đến thời gian, cách thức tiến hành kiểm tra tái đánh giá sau khi triển khai biên pháp khắc phục để đảm bảo rằng lỗ hổng đã được giải quyết môt cách hiéu quả. Báo cáo và khuyến nghị kiểm thử xâm nhập cung cấp môt cái nhìn toàn diên về tình trạng bảo mật của ứng dụng web và Trần Anh Đức — B19DCAT047 15 Đồ án tốt nghiệp Chương 1 đóng góp quan trọng vào viêc nâng cao bảo mật và giảm thiểu rủi ro của hê thống. Do vậy, báo cáo nên được viết môt cách rõ ràng, chi tiết và dễ hiểu để người đọc và các nha phát triển có thể thực hiên các biên pháp khắc phục môt cách hiéu qua. Tái đánh giá Sau khi các nhà phát triển hê thống ứng dụng web thực hiên giải quyết, khắc phục các lỗ hổng bảo mật, người kiểm thử sẽ tiến hành tái đánh giá lại ứng dụng web dựa trên những lỗ hổng đã tìm thấy.
Giai đoạn này là giai đoạn cuối cùng trong quy trình kiểm thử, mục tiêu chính của giai đoạn này là xác nhận rằng các lỗ hổng đã được khắc phục triêt để hoàn toàn và không tạo ra các lỗ hổng bảo mật mới. Người kiểm thử sẽ sử dụng các phương pháp và kỹ thuật kiểm thử xâm nhập tương tự như trong quá trình kiểm thử ban đầu để tiến hành đánh giá lại lỗ hổng, xác minh rằng lỗ hổng không còn tồn tại. Nếu các lỗ hổng bảo mật đã được giải quyết không đúng cách hoặc còn tồn tại các lỗ hổng bảo mật khác, người kiểm thử sẽ tiếp tục đề xuất các biên pháp để giải quyết chúng. Tương tự như giai đoạn Báo cáo và khuyến nghị trong quy trình kiểm thử, kết quả của quá trình tái đánh giá cũng được ghi lại, mô tả chi tiết cách thức tái đánh giá và đánh giá hiêu quả của các biên pháp khắc phục.
Nếu các lỗ hổng bảo mật đã được khắc phục hoàn toàn và không tìm thấy lỗ hổng mới, hê thống ứng dụng web sẽ được ghi nhận là an toàn. Kết luận chương Chương 1 đã trình bày khái quát về kiểm thử xâm nhập: định nghĩa, mục tiêu, lợi ích mà kiểm thử xâm nhập mang lại, các hình thức kiểm thử xâm nhập phổ biến. Bên cạnh đó, chương này cũng nêu rõ quy trình kiểm thử xâm nhập đối với môt website thông thường. Trần Anh Đức — B19DCAT047 16 Đồ án tốt nghiệp Chương 2 CHƯƠNG 2: QUY TRÌNH KIỂM THỬ XÂM NHẬP TRÊN WEBSITE CÓ MÃ HÓA Chương 2 sử dụng website thực tế của ngân hàng BIDV để làm ví dụ minh họa và làm cơ sở lý thuyết để trình bày tổng quan về website có mã hóa: đặt vấn đề, quá trình mã hóa và giải mã request - response giữa máy chủ ứng dụng web và trình duyệt.
Ngoài ra, trong chương này có đưa ra quy trình kiểm thử xâm nhập trên website có mã hóa, các phương pháp kiểm thử web mã hóa phổ biến. Từ đó làm cơ sở đánh giá và đề xuất phương pháp sử dụng BurpSuite Extension. Tổng quan về website có mã hóa 2. Đặt vấn đề Môi trường Internet ngày càng phát triển và được sử dụng rông rãi, đã mở ra môt thế giới kết nối toàn cau, cho phép chúng ta truy cập vào hàng tỷ trang web, ứng dụng di đông và dịch vụ trực tuyến.
Tuy nhiên, cùng với sự phát triển của Internet và ứng dụng web, nguy cơ về bảo mật thông tin và tỷ lê tôi phạm mạng ngày càng tăng cao. Vì vậy viêc bảo mật dữ liêu, an toàn thông tin trên đường truyền Internet ngày càng được chú trọng hơn, đặc biêt là đảm bảo an toàn cho dữ liêu trên ứng dụng web. Trước đây, các website được phát triển chủ yếu dựa trên giao thức truyền tải siêu văn bản - HTTP (Hypertext Transfer Protocol) để truyền dữ liêu dưới dạng văn bản, hình ảnh, âm thanh, video từ máy chủ ứng dụng web tới trình duyêt phía người dùng và ngược lại. HTTP hoạt đông theo mô hình Client (máy khách) - Server (máy chủ).
Việc truy cập website được tiến hành dựa trên các giao tiếp giữa 2 đối tượng trên.