Mục đích giai đoạn đánh giá giai đoạn kiểm thử năm 2024

Pentester sẽ phát hiện thiết bị chủ động và thụ động nào đang hoạt động trong phạm vi IP, thường được thực hiện bằng cách thu thập thụ động trong quá trình kiểm thử. Với sự trợ giúp của thông tin thu được trong quá trình thu thập thụ động này, pentester cần xác định đường đi—họ cần ưu tiên và xác định chính xác những thử nghiệm nào là cần thiết.

Trong giai đoạn này, họ sẽ lấy được thông tin về hệ điều hành, các cổng và dịch vụ đang mở cũng như thông tin phiên bản của chúng trên các hệ thống live.

Ngoài ra, nếu tổ chức cho phép người kiểm thử xâm nhập giám sát lưu lượng mạng một cách hợp pháp thì họ có thể thu thập những thông tin quan trọng về cơ sở hạ tầng hệ thống. Tuy nhiên, hầu hết các tổ chức không muốn cấp quyền này.

2. Bước phân tích và kiểm tra

Ở giai đoạn này, người kiểm thử xâm nhập, sau khi tìm ra cách ứng dụng mục tiêu phản ứng với các nỗ lực xâm nhập khác nhau, sẽ cố gắng thiết lập các kết nối với các hệ thống mà nó phát hiện là còn hoạt động và cố gắng thực hiện các yêu cầu [inquiry] trực tiếp. Nói cách khác, đây là giai đoạn mà pentester tương tác với hệ thống mục tiêu bằng cách sử dụng hiệu quả các dịch vụ như FTP, Netcat và Telnet.

Mục đích chính ở đây là kiểm tra dữ liệu thu được trong các bước thu thập thông tin và ghi chú lại.

4. Nỗ lực thao túng và khai thác

Pentester thu thập tất cả dữ liệu được thu thập trong các quy trình trước đó để phục vụ một mục tiêu: cố gắng giành quyền truy cập vào hệ thống mục tiêu giống như cách mà một tin tặc thực sự sẽ làm.

Ở giai đoạn này, pentester cố gắng xâm nhập vào hệ thống, sử dụng hệ điều hành chạy trên hệ thống đích, các cổng mở và các dịch vụ phục vụ trên các cổng này cũng như các phương thức khai thác có thể được áp dụng. Vì các cổng và ứng dụng dựa trên web bao gồm rất nhiều code và rất nhiều thư viện, nên tin tặc sẽ có phạm vi tiếp cận lớn hơn để tấn công. Do đó, người kiểm thử xâm nhập tốt nên xem xét tất cả các khả năng và triển khai tất cả các vectơ tấn công được cho phép trong các quy tắc.

Việc này đòi hỏi chuyên môn và kinh nghiệm để có thể sử dụng thành công và linh hoạt các phương thức khai thác hiện có, không làm hỏng hệ thống và không để lại bất kỳ dấu vết nào trong quá trình tiếp quản hệ thống. Do đó, giai đoạn kiểm thử xâm nhập này là bước quan trọng nhất.

5. Nỗ lực nâng cao đặc quyền

Một hệ thống chỉ mạnh bằng mắt xích yếu nhất của nó. Nếu một hacker có đạo đức truy cập được vào hệ thống, họ thường đăng nhập vào hệ thống với tư cách là người dùng có thẩm quyền thấp. Ở giai đoạn này, người kiểm thử xâm nhập cần có quyền cấp quản trị viên, khai thác các lỗ hổng trong hệ điều hành hoặc môi trường.

Sau đó, họ nên nhắm đến việc chiếm giữ các thiết bị khác trong môi trường mạng bằng các đặc quyền bổ sung mà họ đã đạt được, mục tiêu cuối cùng là các đặc quyền người dùng cấp cao nhất như Quản trị viên miền hoặc Quản trị viên cơ sở dữ liệu.

6. Báo cáo và trình bày

Khi quá trình kiểm thử xâm nhập được hoàn thành, pentester phải trình bày các lỗ hổng bảo mật mà họ đã phát hiện trong hệ thống đích, các bước tiếp theo và cách họ có thể khai thác các lỗ hổng này cho tổ chức bằng một báo cáo chi tiết. Điều này phải bao gồm các thông tin như ảnh chụp màn hình, code mẫu, giai đoạn tấn công và hậu quả mà lỗ hổng này có thể gây ra.

Báo cáo cuối cùng cũng phải bao gồm đề xuất giải pháp về cách thu hẹp từng lỗ hổng bảo mật.

Tại sao kiểm thử xâm nhập lại quan trọng?

Mục tiêu cuối cùng của kiểm thử xâm nhập là tiết lộ mức độ an toàn của cơ sở hạ tầng hệ thống từ góc nhìn của kẻ tấn công và đóng mọi lỗ hổng. Ngoài việc xác định các điểm yếu trong tình hình bảo mật của tổ chức, nó còn đo lường mức độ phù hợp của chính sách bảo mật, kiểm tra nhận thức của nhân viên về các vấn đề bảo mật và xác định mức độ tuân thủ của doanh nghiệp với các nguyên tắc an ninh mạng.

Thông qua các giai đoạn kiểm thử phần mềm sẽ giúp bạn có thể đánh giá chức năng của ứng dụng phần mềm có đáp ứng được những yêu cầu đã chỉ định hay không. Đồng thời kiểm, thử phần mềm cũng giúp bạn tìm và tiến hành sửa lỗi nhằm đảm bảo sản phẩm tạo ra có chất lượng tốt nhất. Vậy, kiểm thử phần mềm bao gồm những giai đoạn nào, cùng chúng mình tìm hiểu nhé.

Các giai đoạn kiểm thử phần mềm

Mục lục

Giai đoạn 1: Unit Testing – Kiểm thử mức đơn vị

Unit Testing là giai đoạn đầu tiên trong kiểm thử phần mềm. Unit Testing được thực hiện nhằm kiểm tra và xác định các module riêng lẻ thuộc mã nguồn có hoạt động đúng hay không. Mục đích của kiểm thử mức đơn vị như sau:

  • Xác định mỗi đơn vị phần mềm có đang thực hiện theo đúng thiết kế ban đầu hay không.
  • Thông qua thử nghiệm sẽ giúp khắc phục những phát sinh do việc thay đổi hay bảo trì code.
  • Unit Testing giúp tiết kiệm chi phí, thời gian và thể diện khi phát hiện ra lỗi.

Giai đoạn đầu tiên của kiểm thử phần mềm

Giai đoạn 2: Integration Testing – Kiểm thử tích hợp

Mỗi dự án phần mềm được hoàn thành bởi rất nhiều module do nhiều người code khác nhau. Integration Testing là cấp độ kiểm thử phần mềm tích hợp của các đơn vị riêng lẻ được kết hợp và thử nghiệm thành một nhóm thông qua việc tập trung vào kiểm tra truyền dữ liệu giữa các module.

Mục đích của giai đoạn kiểm thử Integration Testing đó là tìm và phát hiện lỗi khi tích hợp các module lại với nhau. Để tiến hành Integration Testing có 4 phương pháp tiếp cận bao gồm: big bang, top down, bottom up và sandwich/hybrid.

Giai đoạn 3: System Testing – Kiểm thử mức hệ thống

System Testing là giai đoạn thứ 3 của kiểm thử phần mềm cho phép phần mềm hoàn chỉnh và tích hợp được kiểm tra. System Testing tập trung nhiều hơn vào các chức năng của toàn bộ hệ thống. Kiểm thử hệ thống bao gồm kiểm thử chức thăng và kiểm thử phi chức thăng.

Mục đích của System Testing đó là kiểm tra thiết kế và toàn bộ hệ thống sau khi tích hợp có tuân thủ những yêu cầu đã được định sẵn trước đó hay không. Do đó System Testing rất chú trọng các hành vi và lỗi xuất hiện trên hệ thống. Người thực hiện giai đoạn System Testing thường là kiểm thử viên hoàn toàn độc lập so với nhóm phát triển dự án.

Giai đoạn 4: Acceptance Testing – Kiểm thử chấp nhận

Acceptance Testing được thực hiện bởi khách hàng hoặc ủy quyền cho nhóm thứ ba nhằm kiểm tra hệ thống vừa xây dựng đã phù hợp với yêu cầu của khách hàng trước đó hay chưa. Mục đích của Acceptance Testing đó là xác nhận lại sự tin tưởng vào hệ thống, các đặc tính thuộc về chức năng hoặc phi chức năng của hệ thống. Có 2 loại kiểm thử chấp nhận đó là Alpha Testing và Beta Testing.

Bài viết trên đã cung cấp tới bạn những thông tin hữu ích về quy trình kiểm thử phần mềm. Có thể dễ dàng nhận ra các giai đoạn kiểm thử phần mềm đều có mối liên hệ mật thiết với nhau. Bạn nên theo sát quá trình thực hiện để tạo ra sản phẩm chất lượng nhất.

Chủ Đề