Khởi đầu với kiểm thử thâm nhập ứng dụng Web (Phần 2)

4. Cách tiếp cận kiểm thử thâm nhập Web

  • Cách tiếp cận kiểm thử thâm nhập Web có thể thực hiện trong ba giai đoạn:

4.1 Giai đoạn lên kế hoạch (trước khi kiểm thử)

  • Trước khi việc kiểm thử bắt đầu, thì việc lên kế hoạch rất được khuyến khích để xác định được các loại kiểm thử sẽ thực hiện, cách thức kiểm thử sẽ được thực hiện, xác định xem QA cần những công cụ nào để truy cập hoặc bổ sung cho việc kiểm thử, vv...

    • Định nghĩa phạm vi - Cũng giống như kiểm thử chức năng, nó là giai đoạn xác định phạm vi các thử nghiệm của chúng ta trước khi bắt đầu nỗ lực cho việc kiểm thử.

    • Tài liệu sẵn có để kiểm thử - Đảm bảo các kiểm thử viên luôn sẵn sàng các tài liệu cần thiết như tài liệu chi tiết về cấu trúc web, các dịch vụ web, vv... Các kiểm thử viên cần có nhận thức tốt về giao thức HTTP / HTTPS cơ bản và biết về cấu trúc các ứng dụng Web.

    • Xác định các tiêu chí thành công - Không giống như các test case chức năng, nơi mà ta có thể tìm được kết quả mong đợi từ phía yêu cầu của người dùng / yêu cầu của chức năng, kiểm thử thâm nhập hoạt động trên một mô hình khác. Các tiêu chí thành công hay test case qua các tiêu chí cần phải được xác định và phê duyệt.

    • Đánh giá kết quả kiểm tra từ những lần kiểm thử trước - Nếu những lần kiểm thử trước đã từng thực hiện xong, thì đó là một tiêu chí để xem xét kết quả kiểm thử và tìm ra những lỗ hổng đã tồn tại trong quá khứ và những gì cần được khắc phục. Điều này luôn mang lại một hình ảnh tốt hơn cho những kiểm thử viên.

    • Hiểu môi trường - Các kiểm thử viên nên nắm được những hiểu biết tốt về môi trường trước khi bắt đầu việc kiểm thử. Bước này đảm bảo cung cấp cho họ một sự hiểu biết về các tường lửa, hoặc các giao thức bảo mật khác những cái mà sẽ yêu cầu phải bị vô hiệu hóa để thực hiện kiểm thử. Trình duyệt được kiểm tra phải được chuyển đổi thành một nền tảng tấn công, thường được thực hiện bằng cách thay đổi các proxy.

4.2 Các cuộc tấn công / Giai đoạn thực hiện (trong thời gian kiểm thử)

  • Kiểm thử thâm nhập Web có thể được thực hiện ở bất kỳ vị trí nào, thực tế cho rằng không có những hạn chế nào về cổng và dịch vụ của các nhà cung cấp Internet.

    • Đảm bảo chạy một thử nghiệm với các vai trò người dùng khác nhau - Các kiểm thử viên phải đảm bảo rằng chạy các thử nghiệm với các vai trò người dùng khác nhau từ hệ thống có thể hành xử khác nhau với người dùng có đặc quyền khác nhau.

    • Nhận thức về cách xử lý - Các kiểm thử viên phải tuân theo các tiêu chí thành công được định nghĩa như là một phần của giai đoạn 1 để báo cáo bất kỳ khai thác nào, họ cũng nên làm theo quy trình để xác định được các lỗ hổng được tìm thấy trong báo cáo thử nghiệm. Bước này chủ yếu liên quan đến việc kiểm thử viên tìm ra những gì cần phải được thực hiện sau khi họ đã phát hiện ra hệ thống đã bị xâm nhập.

    • Thế hệ của các báo cáo kiểm thử - Bất kỳ một kiểm thử đã thực hiện nào mà không báo cáo chính xác sẽ không giúp thành lập nhiều, cùng với trường hợp kiểm thử thâm nhập của các ứng dụng web. Để đảm bảo các kết quả kiểm thử được chia sẻ đúng với tất cả các bên liên quan, các kiểm thử viên nên tạo ra các báo cáo thích hợp và chi tiết về lỗ hổng được tìm thấy, các phương pháp luận sử dụng để kiểm thử, mức độ nghiêm trọng và vị trí của các vấn đề được tìm thấy.

4.3 Giai đoạn thực hiện cuối (sau kiểm thử)

  • Sau khi kiểm thử được hoàn tất và báo cáo thử nghiệm được chia sẻ với tất cả các bên có liên quan, danh sách sau đây cần được làm việc trên tất cả

    • Đề nghị xử lý - Kiểm thử thâm nhập không nên chỉ kết thúc bằng cách xác định các lỗ hổng. Nhóm nghiên cứu có liên quan bao gồm cả thành viên QA nên xem xét lại kết quả báo cáo của các kiểm thử viên và sau đó thảo luận về việc xử lý.

    • Kiểm tra lại lỗ hổng - Sau khi việc khắc phục được thực hiện và triển khai, các kiểm thử viên nên kiểm tra lại để đảm bảo rằng các lỗ hổng cố định không xuất hiện cũng như là một phần của việc kiểm thử.

    • Dọn dẹp - Là một phần của kiểm thử thâm nhập, các kiểm thử viên thay đổi các cài đặt proxy, vì vậy dọn dẹp nên được thực hiện và thay đổi tất cả đảo ngược lại.

5. Các công cụ kiểm thử thâm nhập hàng đầu

  • Hiện tại, kể từ khi bạn đọc bài này, tôi tin rằng bạn đã có một ý tưởng tốt hơn về những gì và làm thế nào chúng ta có thể kiểm thử thâm nhập một ứng dụng web.

  • Vì vậy, hãy cho tôi biết, chúng ta có thể tự thực hiện kiểm thử thâm nhập hay không và nó luôn luôn xảy ra bằng cách tự động khi sử dụng công cụ. Tôi nghĩ rằng phần lớn các bạn đang nói đến tự động hóa.

  • Đó là sự thật vì tự động hóa mang lại tốc độ, tránh xảy ra lỗi thủ công của con người, đảm bảo toàn vẹn, và nhiều lợi ích khác, nhưng nó vẫn đòi hỏi chúng ta phải thực hiện một số kiểm thử bằng cách thủ công.

  • Kiểm thử thủ công giúp việc tìm kiếm các lỗ hổng liên quan đến Business Logic, giảm sai số một cách tích cực.

  • Các công cụ giúp cho việc giảm sai số một cách tích cực và việc can thiệp bằng tay là cần thiết để xác định xem đó là những lỗ hổng thực sự hay không.

6. Một số công cụ dùng để thực hiện kiểm thử thâm nhập

  • Free Pen Test tool

  • Veracode

  • Vega

  • Burp Suite

  • NetSparker

  • Arachni

  • Acunetix

  • ZAP

7. Các công ty cung cấp dịch vụ kiểm thử thâm nhập hàng đầu

  • Service Providers là công ty cung cấp các dịch vụ phục vụ cho các nhu cầu kiểm thử của tổ chức. Họ thường nổi trội và có chuyên môn trong các lĩnh vực khác nhau của kiểm thử, và có thể thực hiện các kiểm thử trong môi trường thử nghiệm của họ.

  • Đưới đây là một trong số những công ty hàng đầu cung cấp dịch vụ kiểm thử thâm nhập:

    • PSC (Payments Security Compliance)

    • Netragard

    • Securestate

    • CoalFire

    • HIGHBIT Security

    • Nettitude

    • 360

    • NetSPi

    • ControlScan

    • Skods Minotti

    • 2|Sec

    • Security Assessment

    • Security Audit Systems

    • Hacklabs

    • CQR

8. Một số chứng chỉ kiểm thử thâm nhập

  • Nếu bạn quan tâm và muốn được chứng nhận về kiểm thử thâm nhập ứng dụng web, bạn có thể lựa chọn một trong các chứng chỉ dưới đây:

    • OSWE (Offensive Security Web Expert)

    • GWAPT (GIAC Web Application Penetration Tester)

    • CWAPT (Certified Web App Penetration Tester)

    • eWPT (elearnSecurity Web Application Penetration Tester)

9. Kết luận

  • Trong hướng dẫn này, tôi đã trình bày một cái nhìn tổng quan về việc kiểm thử thâm nhập được thực hiện cho các ứng dụng web.

  • Với thông tin này, các kiểm thử thâm nhập viên có thể bắt đầu kiểm tra các lỗ hổng.

  • Lý tưởng nhất, kiểm thử thâm nhập có thể giúp chúng ta tạo ra phần mềm bảo mật. Nó là một phương pháp khá tốn kém nên các tần suất sử dụng có thể là một năm một lần.

Nguồn: http://www.softwaretestinghelp.com/getting-started-with-web-application-penetration-testing/


All Rights Reserved