Chương 1 đã trình bày rõ bối cảnh, mục tiêu, phạm vi và phương pháp giải quyết bài toán phát hiện lỗi logic nghiệp vụ trong TMĐT, làm nền tảng cho các chương kế tiếp. KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU Chương này trình bày kết quả khảo sát hiện trạng, tổng quan chức năng, đặc tả chi tiết các use case trọng yếu và yêu cầu phi chức năng của hệ thống tự động phát hiện lỗ hổng logic nghiệp vụ cho ứng dụng thương mại điện tử. Mục tiêu của chương là (i) hiểu rõ bối cảnh và nhu cầu thực tế, (ii) hình thành bức tranh chức năng tổng quát, (iii) lựa chọn các tình huống tiêu biểu để phân tích sâu, và (iv) xác định các yêu cầu về hiệu năng, độ tin cậy, bảo mật, dễ dùng, dễ bảo trì.1 Khảo sát hiện trạng 2.1 Phương pháp và đối tượng khảo sát Khảo sát được thực hiện qua ba nguồn chính: • Phỏng vấn người dùng/khách hàng: 5 chuyên viên bảo mật và 3 quản trị viên từ các doanh nghiệp thương mại điện tử có quy mô vừa và nhỏ. • Nghiên cứu hệ thống hiện có: So sánh ba giải pháp phổ biến: SonarQube, OWASP ZAP và Burp Suite.
• Tham khảo ứng dụng tương tự: Đánh giá các sản phẩm thương mại như Contrast Security, Hdiv Security và Checkmarx CxFlow.2 Kết quả khảo sát người dùng Từ phỏng vấn, nhu cầu chính của nhóm đối tượng bao gồm: 1. Khả năng phát hiện sớm lỗ hổng logic nghiệp vụ: khi thay đổi tính năng đặt hàng, thanh toán, hoàn tiền. Báo cáo trực quan: với dashboard theo dõi tiến độ và lịch sử quét, so sánh sự khác nhau giữa từng lần quét. Giải pháp nhanh chóng: Từ lịch sử quét có thể đưa ra những chẩn đoán mang tính tương đối và giải pháp phù hợp.
Khả năng tuỳ chỉnh kịch bản: phân tích các luồng nghiệp vụ đặc thù.3 So sánh hệ thống hiện có Nhận xét: • SonarQube và Burp Suite tập trung độc lập vào SAST/DAST, thiếu liên kết giữa hai giai đoạn quét. • ZAP mạnh về kịch bản kiểm thử song không có thành phần tự động so sánh kết quả với luồng chuẩn. KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU Giải pháp Phân tích tĩnh Phân tích động Logic nghiệp vụ (SAST) (DAST) SonarQube Rất mạnh Không hỗ trợ Không có OWASP ZAP Không hỗ trợ Mạnh, kịch bản linh Có thể lập trình hoạt nhưng chưa tự động so sánh Burp Suite Hạn chế Mạnh Module Pro có hỗ trợ Enterprise nhưng không tổng hợp Bảng 2.1: So sánh tính năng chính của SonarQube, ZAP và Burp Suite 2.4 Phân tích các ứng dụng tương tự • Contrast Security: Tích hợp RASP giám sát runtime, phát hiện logic ngay tại môi trường vận hành, nhưng phụ thuộc agent và tải cao cho server sản xuất. • Hdiv Security: Xây dựng flow graph để tìm bất thường, cấu hình phức tạp, khó mở rộng kịch bản đặc thù.
• Checkmarx CxFlow: Tự động hóa pipeline CI/CD, song vẫn chỉ tập trung SAST và thiếu thành phần dynamic-flow. Kết luận khảo sát: Chưa có giải pháp tổng hợp hoàn chỉnh cả phân tích tĩnh, phân tích động và so sánh luồng nghiệp vụ. Hệ thống đề xuất cần hội tụ ba giai đoạn này thành một quy trình liền mạch.2 Tổng quan chức năng 2.1 Danh mục chức năng mức cao Hệ thống được chia thành năm nhóm chức năng chính: 1. Quản lý các ứng dụng: • Tạo, sửa, xoá tên, mô tả và công nghệ sử dụng của ứng dụng.
• Cấu hình SonarQube Authentication 2. Quét bằng công cụ : • Cấu hình quét đối với từng công cụ(project key cho SonarQube, URL cho ZAP) • Chạy SonarQube scanner/Zap scanner tự động. • Xem lại lích sử quét • Xem tóm tắt về các lỗi ảnh hưởng đến ứng dụng nhất theo cấp độ giảm 9 CHƯƠNG 2. KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU dần 3.
Phân tích luồng nghiệp vụ (Flow Analysis): • Đọc log quét tĩnh. • Đối chiếu từng bước với kịch bản chuẩn. • Đánh dấu bỏ sót hoặc bước bất thường. Thống kê và xuất báo cáo • Xem lại phân phối lỗ hổng theo từng mức độ.
• So sánh sự khác biệt về số lượng lỗ hổng theo mức độ của các lần quét cụ thể dưới dạng biểu đồ cột • Xuất báo cáo dưới dạng CSV. Dashboard tổng quan • Thống kê số lượng lỗ hổng theo mức độ của tất cả các lần quét • Xem thống kê chi tiết dưới dạng biểu đồ tròn 2.2 Biểu đồ Use Case tổng quát Hình 2.1: Use Case tổng quát của hệ thống Tác nhân và vai trò: 10 CHƯƠNG 2. KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU • Chuyên gia bảo mật: Cấu hình quét, khởi chạy quét, quản lý thông tin cá nhân, quản lý ứng dụng, theo dõi kết quả, xuất báo cáo, chạy phân tích luồng nghiệp vụ. • Công cụ bên thứ 3: SonarQube/Zap thực hiện quá trình quét và trả về kết quả ở dạng JSON 2.3 Use Case phân rã: “Thực hiện quét tĩnh” Hình 2.2: Use Case phân rã “Thực hiện quét tĩnh” • Lấy code từ SCM theo branch.
• Chạy SonarQube scanner với tham số override. • Trả về kết quả quét mã nguồn ứng dụng dưới dạng JSON. • Ghi nhận metrics vào cơ sở dữ liệu. • Thống kê các lỗ hổng trong mã nguồn theo mức độ (good/bad).
KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU 2.4 Use Case phân rã: “Thực hiện quét động” Hình 2.3: Use Case phân rã “Thực hiện quét động” • Khởi chạy môi trường thử nghiệm với ứng dụng mục tiêu. • Cấu hình và khởi tạo OWASP ZAP ở chế độ headless (không giao diện). • Gửi các yêu cầu HTTP mô phỏng hành vi người dùng (qua ZAP API hoặc cấu hình proxy). • OWASP ZAP thực hiện dò quét các điểm yếu bảo mật trên ứng dụng đang chạy.
KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU • Ghi nhận kết quả vào cơ sở dữ liệu để phục vụ phân tích. • Phân loại các lỗ hổng theo mức độ nghiêm trọng (High / Medium / Low / Info).5 Use Case phân rã: “Phân tích luồng nghiệp vụ” Hình 2.4: Use Case phân rã “Phân tích luồng nghiệp vụ” • Đọc kết quả phân tích tĩnh từ lịch sử quét tĩnh. • So sánh các luồng quét được với các luồng đã được định nghĩa trước • Ghi nhận bước lệch chuẩn hoặc dữ liệu bất thường.6 Quy trình nghiệp vụ tổng thể Mô tả chi tiết: 1. Chuyên gia bảo mật khởi tạo tiến trình kiểm tra bảo mật bằng cách thực hiện thao tác quét ứng dụng (có thể sử dụng OWASP ZAP hoặc công cụ tương tự).
Nếu quá trình quét gặp lỗi hoặc không thành công, công cụ bên thứ ba sẽ xử lý lỗi nội bộ và trả về kết quả báo lỗi cho chuyên gia. Nếu quá trình quét thành công, công cụ bên thứ ba thực hiện phân tích bảo 13 CHƯƠNG 2. KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU mật dựa trên dữ liệu thu thập được trong quá trình quét (request/response, crawl map, v. Sau bước phân tích bảo mật, hệ thống tiếp tục kiểm tra xem có cần phân tích luồng nghiệp vụ hay không: • Nếu không cần, quá trình kết thúc.
• Nếu có, kết quả được chuyển lại cho chuyên gia bảo mật để thực hiện phân tích luồng nghiệp vụ chuyên sâu. Sau khi hoàn thành phân tích luồng nghiệp vụ, quá trình kiểm tra bảo mật kết thúc.5: Sơ đồ hoạt động của quy trình quét và phân tích 2.3 Đặc tả chức năng chi tiết Trong chương này, 5 use case quan trọng đã được lựa chọn để đặc tả chi tiết nhằm làm rõ luồng thực thi và các điều kiện trước/sau. KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU 2.1 Use Case 1: Thực hiện quét tĩnh Use Case này mô tả quá trình thực hiện quét mã nguồn tĩnh (SAST) bằng công cụ SonarQube nhằm phát hiện các lỗ hổng bảo mật tiềm ẩn trong code của dự án. Tên Thực hiện quét tĩnh Tiền điều kiện Dự án đã cấu hình với SonarQube Luồng chính 1.
Chuyên gia bảo mật chọn Configure SonarQube scan. Chuyên gia bảo mật điền thông tin project-key của SonarQube. Hệ thống khởi động SonarQube scanner. SonarQube trả về báo cáo.
Hệ thống parse và lưu kết quả. Analyst xem báo cáo trong Report. Luồng phát sinh SonarQube connection refused → Hiển thị lỗi, yêu cầu kiểm tra kết nối. Hậu điều kiện Báo cáo SAST sẵn sàng truy vấn hoặc phục vụ cho việc phân tích luồng nghiệp vụ Bảng 2.2: Use Case 1 – Thực hiện quét tĩnh 2.2 Use Case 2: Thực hiện quét động Use Case này trình bày quá trình thực hiện quét động (DAST) thông qua công cụ ZAP Proxy, nhằm phát hiện các lỗi xảy ra trong khi ứng dụng đang chạy.
Tên Thực hiện quét động Tiền điều kiện Kịch bản quét đã thiết lập; ZAP proxy hoạt động. Luồng chính 1. Chuyên gia bảo mật chọn Configure Zap scan. Hệ thống gửi các HTTP request theo kịch bản.
ZAP ghi nhận và phân loại các phản hồi. Luồng phát sinh Request timeout → Retry theo cấu hình. Hậu điều kiện Log DAST sẵn sàng cho Flow Analysis.3: Use Case 2 – Thực hiện quét động 2.3 Use Case 3: Phân tích luồng nghiệp vụ Use Case này mô tả quá trình phân tích luồng nghiệp vụ bằng cách so sánh hành vi thực tế (thu được từ SonarQube Scan Result) với kịch bản chuẩn đã định nghĩa trước, nhằm phát hiện các bất thường. KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU Tên Phân tích luồng nghiệp vụ Tiền điều kiện Luồng nghiệp vụ được thêm vào danh sách luồng nghiệp vụ và trường SonarQube Result ID đã được điền Luồng chính 1.
Chuyên viên bảo mật chọn Tab Business Flow An- alyzer. Chọn mục Manage Flows. Chọn nút Analyze Flow đối với luồng nghiệp vụ muốn phân tích. Hệ thống trả về các bước bất thường sau khi phân tích nếu có.
Luồng phát sinh SonarQube Result ID không hợp lệ → Yêu cầu Chuyên viên bảo mật điền ID hợp lệ. Hậu điều kiện Các bất thường đối với từng api enpoints trong luồng nghiệp vụ sẽ được thống kê.4: Use Case 3 – Phân tích luồng nghiệp vụ 2.4 Use Case 4: Quản lý ứng dụng Use Case này cho phép chuyên gia bảo mật quản lý, thao tác(thêm/sửa/xóa) đối với các thông tin liên quan đến ứng dụng thương mại điện tử. Tên Quản lý ứng dụng Tiền điều kiện Không có Luồng chính 1. Chuyên gia bảo mật tạo mới hoặc sửa thông tin ứng dụng.
Nhập tên ứng dụng, SonarQUbe Authentication token, URL ứng dụng, Mô tả của ứng dụng và công nghệ sử dụng. Thồng báo thành công trong trường hợp thay đổi thông tin của ứng dụng. Hệ thống trả về thời gian tạo và thời gian cập thông tin của ứng dụng. Luồng phát sinh 1.
Thiếu trường bắt buộc → Hiển thị cảnh báo nhập đầy đủ. Trường nhập vào không hợp lệ → Kiểm tra lại thông tin đã nhập. Hậu điều kiện Thông tin ứng dụng được cập nhật thành công Bảng 2.5: Use Case 4 – Quản lý ứng dụng 16 CHƯƠNG 2. KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU 2.