Những chiến lược trong Security Testing

Các ứng dụng trực tuyến ngày càng trở nên phức tạp hơn khi thế giới ngày càng kết nối với nhau. Các doanh nghiệp hiện phụ thuộc rất nhiều vào các ứng dụng web để điều hành doanh nghiệp của họ và kinh doanh. Tuy nhiên, khi độ phức tạp của ứng dụng tăng lên, chúng ta cũng phải đối mặt với các lỗ hổng bảo mật tinh vi, phức tạp hơn. Các designers và các developers hiện nay đang tập trung vào việc thiết kế những mã bảo mật để tạo ra các ứng dụng an toàn hơn. Để làm được ứng dụng an toàn, điều cần thiết là phải có một chiến lược mạnh mẽ để kiểm tra bảo mật.

Vậy chúng ta sẽ bắt đầu Security Testing ở đâu? Kiểm tra bảo mật phải bắt đầu ngay từ giai đoạn thu thập yêu cầu để hiểu các yêu cầu bảo mật của ứng dụng. Mục tiêu cuối cùng của kiểm tra bảo mật là xác định một ứng dụng dễ bị tấn công hay không ? , hệ thống thông tin có bảo vệ được dữ liệu trong khi duy trì chức năng hay không ? , hay bất kì trường hợp rò rỉ thông tin để đánh giá cách ứng dụng hoạt động khi gặp phải một cuộc tấn công hoặc từ mã độc hại.

Kiểm tra bảo mật cũng là một khía cạnh của chức năng kiểm tra vì có một số case test bảo mật cơ bản cũng là một phần của chức năng kiểm tra. Nhưng kiểm tra bảo mật cần phải được lên kế hoạch và thực hiện riêng. Không giống như kiểm tra chức năng là xác nhận lại những điều trong yêu cầu của khách hàng là đúng, kiểm tra bảo mật tập trung vào những yếu tố chưa biết và kiếm tra với vô vàn cách để khiến ứng dụng bị lỗi bảo mật.

Một số loại kiểm thử bảo mật:

1. Vulnerability Scanning: Kiểm tra toàn bộ hệ thống để phát hiện lỗ hổng hệ thống. Việc này phát hiện và phân loại các điểm yếu của hệ thống và cũng dự đoán tính hiệu quả của các biện pháp đối phó đã được thực hiện.

2. Penetration Testing: Còn được gọi là Pen test, là một bài kiểm tra mô phỏng bắt chước một cuộc tấn công của một hacker trên hệ thống đang được thử nghiệm. Thử nghiệm cần phải thu thập thông tin về hệ thống và xác định các đầu vào ứng dụng và cố gắng xác định những điểm yếu bảo mật của ứng dụng. Việc kiểm thử này giống như ‘white hat attack’.

3. Đánh giá rủi ro bảo mật: Việc kiểm thử bảo mật liên quan đến việc đánh giá rủi ro của hệ thống bảo mật bằng cách xem xét và phân tích các rủi ro tiềm ẩn. Những rủi ro này sau đó được phân loại thành các loại cao, trung bình và thấp dựa trên mức độ nghiêm trọng của chúng. Xác định các chiến lược giảm thiểu đúng dựa trên những yêu cầu bảo mật của ứng dụng đó.

4. Ethical Hacking: Bắt chước 1 tin tặc trong thực tế tấn công vào hệ thống để lộ những thông tin, dữ liệu bảo mật để xác định các mối đe dọa tiềm ẩn mà tin tặc có thể lợi dụng.

5. Security Scanning: Để tăng cường phạm vi kiểm tra bảo mật, tester nên tiến hành Security testing. Mỗi lần quét sẽ gửi lên những dữ liệu độc hại tới hệ thống và tester phải kiểm tra lại những yều cầu đó là 1 lổ hổng bảo mật hay không? . SQL Injection, XPath Injection, XML Bomb, Malicious Attachment, Invalid Types, Malformed XML, Cross Site Scripting và v.v...

6. Access Control Testing: Kiểm tra truy cập đảm bảo rằng ứng dụng chỉ có thể được truy cập bởi người dùng được ủy quyền và hợp pháp. Mục tiêu của kiểm thử là đảm bảo rằng việc triển khai ứng dụng tuân thủ các chính sách bảo mật và bảo vệ hệ thống khỏi người dùng trái phép.

Điều cần thiết là có một kế hoạch kiểm tra bảo mật phù hợp với tiến độ phát triển phần mềm. Bằng cách chủ động tiến hành kiểm tra bảo mật trong suốt vòng đời phát triển phần mềm, các tổ chức có thể đảm bảo rằng các hành động không lường trước, cố ý và vô ý không làm trì hoãn ứng dụng ở bất kỳ giai đoạn nào.

Nguồn tham khảo: https://www.thinksys.com/qa-testing/strategies-for-security-testing/