Security testing là gì? Cùng tìm hiểu về kiểm thử bảo mật

Admin1

Thực hiện security testing cho website là phương thức hiệu quả để đánh giá khả năng bảo mật của một website. Bài viết này sẽ giới thiệu các phương pháp kiểm thử bảo mật cho website để các bạn dễ hình dung hơn về nó.

security testing
Security testing là gì?

Security Testing là gì?

Kiểm thử bảo mật – Security testing là một trong những bài kiểm thử quan trọng trong quá trình phát triển phần mềm, nhằm đảm bảo các hệ thống, ứng dụng, cũng như website 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. 

Security testing đảm bảo độ bảo mật tuyệ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

Cũng như tên gọi của mình, mục đích thực hiện security testing nhắm xác định các mối đe dọa và các lỗ hổng trong hệ thống. Phương pháp test này 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.

vai tro security testing
Vai trò của security testing

Khi tất cả các tài liệu, thông tin trên website, ứng dụng bị tấn công và lấy cắp. Chắc chắn đã xuất hiệ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ư:

  • Gây tổn thất to lớn đến thương hiệu của tổ chức, website hay ứng dụng.
  • Mất đi niềm tin to lớn 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ý.

Chính vì vậy, một website hay ứng dụng không có khả năng tự bảo vệ dữ liệu của mình thì việc sử dụng các ứng dụng đó là vô cùng không an toàn. 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

cac phuong phap security testing
Các phương pháp security testing

Theo chuyên trang ISECOM (Open source security testing) hiện nay có 7 hình thức kiểm thử bảo mật:

  1. Vulnerable Scanning – Rà soát các lỗ hổng tiềm ẩn: hình thức kiểm thử này sẽ được rà soát lỗi tự động thông qua các phần mềm scan nhằm phát hiện ra các lỗ hổng dựa trên các signatures đã biết.
  2. Security Scanning – Rà soát các điểm yếu của hệ thống:  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.
  3. Penetration Scanning – Đánh giá bảo mật bằng cách tấn công vào hệ thống: Là loại kiểm thử mô phỏng những cuộc tấn công. Quá trình này 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.
  4. Risk Assessment – Đánh giá rủi ro: 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.
  5. Security Auditing – Kiểm toán an ninh: Kiểm tra bảo mật nội bộ ứng dụng và OS.
  6. Ethical hacking – Tấn công vào hệ thống tìm các điểm yếu hệ thống: 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.
  7. 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 chiếc máy tính 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: Các tester được ủy quyền để thực hiện security testing 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ó thể bạn quan tâm: Kiểm thử hộp đen là gì? Các kỹ thuật kiểm thử hộp đen

Tích hợp các quy trình bảo mật với các SDLC

Các giai đoạn sử dụng hình thức Kiểm thử bảo mậtQuy trình bảo mật
Yêu cầuPhân tích bảo mật cho các yêu cầu và kiểm tra tình trạng lạm dụng/ trường hợp sử dụng sai.
Thiết kếPhân tích rủi ro bảo mật cho thiết kế. Xây dựng kế hoạch kiểm tra bao gồm các bài kiểm tra an ninh.
Coding & Unit testingKiểm thử hộp trắng
Integration TestingKiểm thử hộp đen
System TestingKiểm thử hộp đen và Vulnerability scanning
Thực hiệnPenetration Testing, Vulnerability Scanning
SupportPhân tích tác động
Các phương pháp kiểm thử bên trong quy trình Security testing.

Một số phương pháp kiểm thử bảo mật

Password Cracking – Bẻ khóa mật khẩu

Phương thức này đòi hỏi kiểm thử viên security testing phải kiểm tra bảo mật xem web có bị bẻ khóa hay không. Khi đăng nhập vào hệ thống. Một user có thể đoán tên đăng nhập, đoán mật khẩu của user khác hoặc sử dụng một phần mềm bẻ khóa.

Nếu ứng dụng và website không thực thi một mật khẩu phức tạp ó thể không mất nhiều thời gian để bẻ khóa tên người dùng và mật khẩu. Nếu tên người dùng hoặc mật khẩu được lưu trữ trong cookie mà không cần mã hóa, kẻ tấn công (hacker) có thể sử dụng các phương pháp khác nhau để đánh cắp cookie và thông tin được lưu trữ trong cookie như tên người dùng và mật khẩu.

Phương thức HTTP GET

Đối với một tester nên kiểm tra xem ứng dụng, website có truyền thông in quan trọng trong chuỗi truy vấn hay không. Nó xảy ra khi sử dụng phương thức HTTP GET để truyền thông tin giữa máy khách và máy chủ. Thông tin được truyền qua các tham số trong chuỗi truy vấn. Người kiểm tra có thể sửa đổi một giá trị tham số trong chuỗi truy vấn để kiểm tra xem máy chủ có chấp nhận nó không.

SQL Injection

SQL là viết tắt của Structured Query Language (Ngôn ngữ truy vấn có cấu trúc). Là một ngôn ngữ lập trình được sử dụng để yêu cầu thông tin từ cơ sở dữ liệu. SQL có thể được sử dụng để quản lý và chia sẻ dữ liệu trong hệ quản trị cơ sở dữ liệu quan hệ. Các cuộc tấn công SQL rất quan trọng vì kẻ tấn công có thể lấy thông tin quan trọng từ cơ sở dữ liệu máy chủ. Để kiểm tra các điểm nhập SQL vào ứng dụng web của bạn, hãy tìm hiểu mã từ cơ sở mã của bạn nơi các truy vấn trực tiếp của MySQL được thực thi trên cơ sở dữ liệu bằng cách chấp nhận một số đầu vào của người dùng.

Dữ liệu đầu vào được tạo trong các truy vấn SQL để truy vấn cơ sở dữ liệu, kẻ tấn công có thể tiêm các câu lệnh SQL hoặc một phần của các câu lệnh SQL làm đầu vào của người dùng để trích xuất thông tin quan trọng từ cơ sở dữ liệu. Ngay cả khi kẻ tấn công thành công để đánh sập ứng dụng, từ lỗi truy vấn SQL hiển thị trên trình duyệt, kẻ tấn công có thể lấy thông tin mà chúng đang tìm kiếm

Cross-Site Scripting (XSS)

Kiểm thử website cũng rất cần đến bài kiểm thử XSS, các hacker tấn công có thể sử dụng phương pháp này để thực thi tập lệnh hoặc URL độc hại trên trình duyệt bị tấn công. Với XSS, kẻ tấn công có thể sử dụng các tập lệnh như JavaScript để đánh cắp cookie của người dùng và thông tin được lưu trữ trong cookie. Kẻ tấn công có thể dễ dàng vượt qua một số đầu vào độc hại hoặc <script> dưới dạng tham số và truy vấn có thể khám phá dữ liệu người dùng / máy chủ quan trọng trên trình duyệt.

Kết luận

Security testing là một bài kiểm thử vô cùng quan trọng để việc sẵn sàng phát hành website, ứng dụng. Security testing sẽ đứng ở vai trò của các hacker để tìm ra các lỗ hổng, khai thác các lỗ hổng này để bảo vệ dữ liệu bên trong website, ứng dụng.

Đánh giá bài viết
Từ khóa:
Bình luận
Icon Phone