Get in touch
or send us a question?
CONTACT

Giới thiệu về Security Testing và một số điều cần lưu ý khi thực hiện kiểm thử phần mềm

Security Testing là gì?

Vậy Security Testing là gì? Security Testing – kiểm thử bảo mật là hoạt động nhằm tìm ra các lỗ hổng của hệ thống và xác định rằng dữ liệu và tài nguyên của hệ thống được bảo vệ khỏi những rủi ro về bảo mật có thể xảy ra. Kiểm thử bảo mật giúp xác định các mối đe dọa tiềm ẩn của hệ thống, phát hiện các nguy cơ bảo mật có thể có để đội phát triển phần mềm cải thiện và khắc phục.

Các nguyên tắc cơ bản của kiểm thử bảo mật

Có 7 nguyên tắc cơ bản trong kiểm thử bảo mật như sau:

Authentication: Tính chứng thực

Authorization: Tính định danh

Confidentiality: Tính bảo mật

Availability: Tính khả dụng

Integrity: Tính toàn vẹn

Non-repudiation: Tính không bác bỏ

Resilience: Khả năng phục hồi

Một số lưu ý khi thực hiện kiểm thử phần mềm để đảm bảo tính bảo mật hệ thống

Việc thực hiện Security Testing đòi hỏi người kiểm thử cần có những kiến thức chuyên môn và hiểu biết sâu rộng về lĩnh vực kiểm thử phần mềm cũng như an toàn thông tin. Thông thường, khi thực hiện manual testing chúng ta không thể phát hiện được các lỗ hổng bảo mật của hệ thống. Tuy nhiên, có một vài lưu ý trong khi thực hiện việc kiểm thử hệ thống mà các QA dù không có kiến thức sâu về an toàn thông tin vẫn có thể thực hiện nhằm tránh các vấn đề về bảo mật như :

  1. Không sử dụng các phần mềm hay các công cụ hỗ trợ online khi thực hiện các thao tác với hệ thống hay các tài liệu liên quan để đảm bảo thông tin về dự án không được rò rỉ ra ngoài
  2. Nếu sử dụng các công cụ hay phần mềm offline (khi quay phim hay chụp ảnh màn hình ), cần đảm bảo chúng được tải về từ các nguồn đáng tin cậy Một số công cụ hay được sử dụng như Licecap, Snagit, Peek,…
  3. Đối với các hệ thống có nhiều role như : admin, user, guest,… cần chú ý check case phân quyền : đảm bảo với các tài khoản guest thông thường không được truy cập hay có các chức năng đặc biệt như của user và admin, tài khoản user cũng không thể có các màn hình hay các phân quyền của admin,…
  4. Các test data cần phải kiểm soát được : không sử dụng các test data không thể kiểm soát được, đặc biệt các dữ liệu quan trọng như số điện thoại, email, tài khoản ngân hàng,vv… Chỉ sử dụng những data test được cấp hoặc được tạo ra và có thể kiểm soát được
  5. Chú ý thực hiện các test case SQL Injection, XSS Injection, chèn html đối với các trường text. Thông thường, các lỗi này khá hiếm khi xảy ra nhưng tác hại của nó đối với việc bảo mật hệ thống là vô cùng to lớn.
  6. Đối với các hệ thống chứa đựng những dữ liệu nhạy cảm (như tài chính, ngân hàng, bảo hiểm,…) có thể đề xuất một vài tính năng như bảo mật 2 lớp, yêu cầu xác thực token, OTP, đòi hỏi mật khẩu có độ phức tạp cao,vv…

Nguồn bài viết tham khảo: https://viblo.asia/p/gioi-thieu-ve-security-testing-va-mot-so-dieu-can-luu-y-khi-thuc-hien-kiem-thu-phan-mem-3P0lPDvPlox

Nguồn ảnh: GG ảnh