Security Testing (Kiểm thử bảo mật) là gì?
- Kiểm thử bảo mật (Security Testing) là một trong những phần quan trọng trong phát triển phần mềm, nhằm đảm bảo các hệ thống và ứng dụng trong một tổ chức không có bất kỳ sơ hở nào có thể gây ra các tổn thất về an toàn bảo mật.
- Kiểm thử bảo mật là tìm kiếm tất cả các lỗ hổng và điểm yếu trong hệ thống mà dẫn đến rò rỉ thông tin của tổ chức.
- Mục đích của Kiểm thử bảo mật là xác định các mối đe dọa và các lỗ hổng trong hệ thống và giúp xác định rằng dữ liệu và tài nguyên của nó được bảo vệ khỏi những kẻ xâm nhập có thể và giúp các nhóm phát triển phần mềm trong việc khắc phục các vấn đề này.
Các hình thức kiểm thử bảo mật
Theo ISECOM (Open Source Security Testing) có 7 hình thức Kiểm thử bảo mật:
- Rà soát các lỗ hổng tiềm ẩn – Vulnerable Scanning: thực hiện thông qua các phần mềm để tự động scan một hệ thống nhằm phát hiện ra các lỗ hổng dựa trên các signatures đã biết.
- Rà soát các điểm yếu của hệ thống – Security Scanning: bao gồm việc xác định các điểm yếu của mạng và hệ thống, cung cấp các giải pháp nhằm giảm thiểu các rủi ro này. Có thể thực hiện bằng thủ công hoặc tự động.
- Đánh giá bảo mật bằng cách tấn công vào hệ thống – Penetration testing: là loại kiểm thử mô phỏng cuộc tấn công từ phía một hacker thiếu thiện ý. Kiểm thử bao gồm việc phân tích một hệ thống cụ thể, tìm ra các lỗ hổng tiềm ẩn bằng cách tấn công từ bên ngoài.
- Đánh giá rủi ro – Risk Assessment : liên quan đến phân tích các rủi ro bảo mật nhận thấy được. Các rủi ro được phân loại là Low, Medium, High. Loại kiểm thử này đưa ra các khuyến nghị nhằm giảm thiểu các rủi ro.
- Kiểm toán an ninh – Security Auditing: Kiểm tra bảo mật nội bộ ứng dụng và OS.
- Tấn công vào hệ thống tìm các điểm yếu bảo mật – Ethical hacking: Các hacker thiện ý thực hiện phương pháp tương tự như những kẻ tấn công “thiếu thiện ý”, với mục tiêu tìm kiếm các điểm yếu bảo mật và xác định cách thức để thâm nhập vào mục tiêu, nhằm đánh giá mức độ thiệt hại do các lổ hỗng này gây ra, từ đó đưa ra cảnh báo cùng những phương án gia cố, kiện toàn bảo mật thích hợp.
- Posture assessment: Kết hợp Security Scanning, Ethical hacking và Risk Assessment đánh giá bảo mật tổng thể một tổ chức.
Phương pháp kiểm thử bảo mật
- Tiger Box: được thực hiện trên một laptop, trong đó có cài đặt một tập các các hệ điều hành và các công cụ hack. Phương pháp này giúp các nhân viên kiểm thử penetration testers và security testers tiến hành đánh giá các lỗ hổng và các cuộc tấn công để phát hiện và ngăn chặn kịp thời. VD: Nikto, AppScan, WebScarab, Wa3f, Acunetix, CyStack Scanning …
- Black Box: là việc kiểm tra khả năng bảo mật của ứng dụng từ bên ngoài. Quan sát các dữ liệu được gửi đến ứng dụng và các dữ liệu từ ứng dụng xuất ra mà không cần hiểu đến hoạt động bên trong của nó. Quá trình xử lý dữ liệu từ bên ngoài đến ứng dụng có thể thực hiện bằng thủ công hoặc sử dụng công cụ tự động gửi đến ứng dụng.
- White box: là quá trình kiểm tra trực tiếp mã nguồn của ứng dụng web để tìm ra các lỗi bảo mật. Quá trình quan sát và kiểm tra mã nguồn có thể thực hiện thủ công hoặc thực hiện bằng công cụ. Quá trình thực hiện bằng công cụ tức là quá trình mà công cụ sẽ thực hiện quét toàn bộ mã nguồn của ứng dụng và dựa trên tập nhận biết các hàm, các chỉ dẫn có khả năng gây ra lỗi bởi ngôn ngữ lập trình phát triển ứng dụng web.
Security Testing Tool
- Owasp: Dự án bảo mật ứng dụng Web (OWASP) là một tổ chức phi lợi nhuận thế giới tập trung vào việc cải thiện tính bảo mật của phần mềm. Dự án có nhiều công cụ để kiểm tra các môi trường và các giao thức phần mềm khác nhau. Các công cụ hàng đầu của dự án bao gồm:
- Zed Attack Proxy (ZAP – một công cụ kiểm tra thâm nhập tích hợp)
- OWASP Dependency Check (quét các dependencies của dự án và kiểm tra phát hiện lỗ hổng)
- OWASP Web Testing Environment Project (tập hợp các công cụ và tài liệu bảo mật)
- Wireshark: là một công cụ phân tích mạng (trước đây được gọi là Ethereal). Nó quản lý các gói tin theo thời gian thực và hiển thị chúng ở định dạng có thể đọc được. Về cơ bản nó là một bộ phân tích gói mạng – cung cấp các thông tin chi tiết dù là nhỏ nhất về các giao thức mạng, giải mã, thông tin gói, v.v Wireshark là một mã nguồn mở và có thể sử dụng được trên Linux, Windows, OS X, Solaris, NetBSD, FreeBSD và nhiều hệ thống khác. Thông tin được nhận thông qua công cụ này có thể được xem qua GUI hoặc TShark Utility ở chế độ TTY
- W3af: là một framework có chức năng kiểm nghiệm và tấn công ứng dụng web, bao gồm 3 loại plugin: điều tra (discovery), kiểm nghiệm (audit) và tấn công(attack). 3 loại plugin này phối hợp với nhau để tìm ra bất cứ lỗ hổng nào của site, vd: discovery plugin sẽ tìm kiếm các url khác nhau để kiểm tra các lỗ hổng và chuyển tiếp nó đến audit plugin và sau đó audit plugin sẽ tiếp tục dùng các url này để tiếp tục tìm các lỗ hổng khác.
Tổng hợp