Tìm hiểu về Security Testing – Kiểm thử bảo mật phần mềm
Security Testing - Kiểm thử bảo mật
Menu
Security Testing 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.
Việc Kiểm thử bảo mật đối với bất kỳ hệ thống nào đều 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.
Tại sao cần phải Security Testing
Mục đích của Security Testing là xác định các mối đe dọa và các lỗ hổng trong hệ thống. Nó giúp xác định tất cả các rủi ro về an toàn bảo mật trong hệ thống 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.
Điều gì xảy ra nếu tất cả các tài liệu mật của tổ chức bạn bị đánh cắp, hoặc điều đó xảy ra với một trong những khách hàng của bạn? Một lỗ hổng trong ứng dụng của bạn hoàn toàn có thể làm tê liệt kinh doanh của bạn và danh tiếng của mình trên thị trường. Tất nhiên, điều này có thể dẫn đến thảm họa khi một lỗ hổng trong ứng dụng của bạn được khai thác bởi một bên thứ ba với những hậu quả như:
Thiệt hại to lớn đến thương hiệu của tổ chức
Vĩnh viễn mất niềm tin của khách hàng
Thời gian chết của phần mềm tàn phá năng suất tổ chức – năng suất của tổ chức thời gian sau khi khắc phục thiệt hại
Chi phí khắc phục lỗ hổng tốn kém
Các vụ kiện dân sự và hình phạt pháp lý.
Do đó, một phần mềm mà không có khả năng bảo vệ dữ liệu và không có khả năng duy trì các dữ liệu theo yêu cầu là không thê sử dụng. Security Testing là có thể coi là một trong những thử nghiệm quan trọng nhất đối với một ứng dụng.
Các hình thức của 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, sau đó 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: Đây 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: Kiểm thử này 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 máy tính xách tay trong đó có một bộ sưu tập của các hệ điều hành và các công cụ hack. Thử nghiệm này giúp kiểm tra sự thâm nhập và kiểm tra bảo mật để tiến hành đánh giá các lỗ hổng và các cuộc tấn công.
Black Box: Tester được ủy quyền để làm thử nghiệm trên tất cả mọi thứ về các cấu trúc liên kết mạng lưới và công nghệ.
Grey Box: là sự kết hợp của mô hình black box và white box
Các kịch bản thử nghiệm mẫu để cung cấp một cái nhìn thoáng hơn trong Security Testing
Mật khẩu phải ở trong định dạng mã hóa
Ứng dụng hoặc hệ thống không nên cho phép người dùng không hợp lệ
Kiểm tra thời gian cookie và session cho ứng dụng
Đối với các trang web tài chính, nút Back của Browser lại không nên được hoạt động.
Kết luận: Security Testing là loại kiểm thử quan trọng nhất đối với một ứng dụng và giúp xác định liệu các dữ liệu quan trọng có được đảm bảo bí mật hay không. Với loại kiểm thử này, kiểm thử viên đóng vai trò kẻ tấn công và tấn công hệ thống để tìm ra các lỗ hổng bảo mật.