0

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

Kiểm thử thâm nhập là kiểm thử phổ biến nhất sử dụng các kỹ thuật kiểm tra an ninh cho các ứng dụng web.

Kiểm thử thâm nhập ứng dụng Web được thực hiện bằng cách mô phỏng các cuộc tấn công trái phép từ bên trong hay bên ngoài để có được quyền truy cập vào dữ liệu nhạy cảm.

Một sự thâm nhập web giúp người dùng cuối tìm ra khả năng một hacker có thể truy cập vào dữ liệu từ internet, từ đó đưa ra giải pháp an toàn cho máy chủ thư điện tử của họ và cũng nhận biết được làm thế nào để đảm bảo tính an toàn của trang web.

1. Tại sao kiểm thử thâm nhập là cần thiết?

  • Khi chúng ta nói về an ninh, từ phổ biến được nhắc đến là sự tổn thất (thiệt hại).

  • Khi đầu bắt đầu việc kiểm thử an ninh, tôi thường bối rối trước những tổn thất và tôi chắc rằng nhiều người cũng đồng quan điểm với tôi.

  • Đầu tiên tôi sẽ làm rõ sự khác biệt giữa tổn thất và kiểm thử thâm nhập.

  • Vì vậy, tổn thất là gì? Lỗ hổng này là một thuật ngữ được sử dụng để xác định sai sót mà có thể đe dọa đến an ninh của hệ thống.

1.1 Quét lỗ hổng hay kiểm thử thâm nhập?

  • Việc quét lỗ hổng cho phép người sử dụng tìm ra được các điểm yếu trong các ứng dụng và xác định được các phương pháp để khắc phục và cải thiện an ninh tổng thể của ứng dụng. Về cơ bản nó có thể phát hiện ra nếu các bản vá lỗi bảo mật được cài đặt, cho dù hệ thống được cấu hình đúng khiến cho các cuộc tấn công khó khăn.

  • Kiểm thử thâm nhập chủ yếu là mô phỏng các hệ thống thời gian thực và giúp người sử dụng tìm hiểu xem hệ thống có thể được truy cập bởi người dùng trái phép không, nếu có thì những thiệt hại có thể xảy ra, …

  • Do đó, việc quét lỗ hổng là một phương pháp kiểm soát cho thấy cách cải thiện bảo mật chương trình và đảm bảo điểm yếu không xuất hiện lại trong khi kiểm thử thâm nhập là một phương pháp kiểm soát phòng ngừa mà trong đó cung cấp một cái nhìn tổng thể lớp bảo mật hiện tại của hệ thống.

  • Mặc dù vậy, cả hai phương pháp này đều có tầm quan trọng của nó và cũng như là một phần của việc kiểm thử.

  • Cũng như các kiểm thử viên, nó bắt buộc phải được làm rõ về mục đích của việc thử nghiệm trước khi chúng ta bắt tay vào kiểm thử. Nếu bạn nắm rõ mục tiêu của việc kiểm thử, bạn sẽ dễ dàng xác định được bạn cần phải thực hiện việc quét lỗ hổng hay kiểm thử thâm nhập cho hệ thống.

1.2 Tầm quan trọng và sự cần thiết của việc kiểm thử thâm nhập ứng dụng Web

  • Kiểm thử thâm nhập giúp kiểm thử viên xác định được các lỗ hổng chưa từng được biết đến.

  • Giúp kiểm thử viên kiểm tra tính hiệu quả của các chính sách bảo mật tổng thể.

  • Giúp kiểm thử viên kiểm tra các thành phần tiếp xúc công khai như tường lửa, router và DNS.

  • Cho phép người sử dụng tìm ra các tuyến dễ bị tổn thất nhất mà qua đó một cuộc tấn công có thể được thực hiện.

  • Giúp kiểm thử viên tìm kiếm các lỗ hổng có thể dẫn đến hành vi trộm cắp dữ liệu nhạy cảm.

Theo xu hướng hiện tại, có một sự gia tăng mạnh trong việc sử dụng điện thoại di động mà chính nó đang trở thành môi trường tiềm năng cho các cuộc tấn công. Việc truy cập vào trang web thông qua điện thoại di động dễ bị tấn công dữ liệu thường xuyên hơn.

Chính vì vậy, việc kiểm thử thâm nhập trở nên rất quan trọng trong việc đảm bảo xây dựng một hệ thống an toàn có thể được sử dụng bởi người dùng mà không phải lo lắng về bất kỳ mối nguy hại nào.

2. Phương pháp kiểm thử thâm nhập

  • Có một số phương pháp và tiêu chuẩn rất nổi tiếng được thành để sử dụng, nhưng mỗi ứng dụng web đều có sự đòi hỏi khác nhau. Vì vậy các kiểm thử viên có thể tạo ra các phương pháp riêng của mình bằng cách tham khảo các tiêu chuẩn sẵn có trên thị trường.

  • Một số phương pháp kiểm thử thâm nhập và tiêu chuẩn an ninh:

    • OWASP (Open Web Application Security Project)

    • OSSTMM (Open Source Security Testing Methodology Manual)

    • PTF (Penetration Testing Framework)

    • ISSAF (Information Systems Security Assessment Framework)

    • PCI DSS (Payment Card Industry Data Security Standard)

2.1 Các kịch bản kiểm thử

  • Dưới đây là một số kịch bản kiểm thử có thể được kiểm thử như một phần của ứng dụng Web Penetration Testing (WAPT):

    • Cross Site Scripting

    • SQL Injection

    • Broken authentication and session management

    • File Upload flaws

    • Caching Servers Attacks

    • Security Misconfigurations

    • Cross Site Request Forgery

    • Password Cracking

  • Mặc dù tôi đã đề cập đến danh sách kịch bản ở trên, các kiểm thử viên không nên phụ thuộc một cách mù quáng tạo ra các phương pháp kiểm thử của họ dựa trên các tiêu chuẩn đó.

  • Dưới đây là một ví dụ để chứng minh lý do tại sao tôi nói như vậy:

    • Bạn được yêu cầu để kiểm thử thâm nhập một trang web thương mại điện tử, hãy thử nghĩ rằng tất cả các lỗ hổng của một trang web thương mại điện tử có thể được xác định bằng các phương pháp thông thường của OWASP như XSS, SQL injection,…

    => Câu trả lời là không, vì thương mại điện tử hoạt động trên một nền tảng rất khác và công nghệ hơn so với các trang web khác. Để thực hiện kiểm thử thâm nhập cho trang web thương mại điện tử một cách hiệu quả, kiểm thử viên nên thiết kế một phương pháp liên quan đến sai sót như quản lý đặt hàng, phiếu giảm giá và quản lý phần thưởng, cổng thanh toán tích hợp và hệ thống quản trị nội dung tích hợp.

  • Vì vậy, trước khi bạn quyết định về phương pháp kiểm thử, việc chắc chắn về những loại trang web dự kiến sẽ được kiểm thử và phương pháp kiểm thử sẽ giúp bạn trong việc tìm kiếm các lỗ hổng một cách tối đa nhất.

3. Các loại kiểm thử thâm nhập ứng dụng Web

  • Các ứng dụng web có thể được kiểm thử thâm nhập theo 2 cách. Các thử nghiệm có thể được thiết kế mô phỏng tấn công từ bên trong hoặc bên ngoài.

3.1 Kiểm thử thâm nhập nội bộ

  • Như tiêu đề cho thấy, các kiểm thử thâm nhập nội bộ được thực hiện trong tổ chức thông qua mạng LAN, vì nó bao gồm các kiểm thử ứng dụng web được lưu trữ trên mạng nội bộ.

  • Điều này giúp tìm hiểu xem có thể có lỗ hổng tồn tại bên trong các tường lửa của công ty hay không.

  • Chúng tôi luôn tin rằng các cuộc tấn công có thể xảy ra chỉ bên ngoài và kiểm thử thâm nhập nội bộ có thể bị bỏ qua hoặc không quan trọng.

  • Về cơ bản, nó bao gồm các cuộc tấn công do nhân viên bất mãn hoặc nghỉ việc mà vẫn lưu giữ mật khẩu, mô phỏng các cuộc tấn công lừa đảo trực tuyến, …

  • Kiểm thử được thực hiện chủ yếu bằng cách truy cập vào môi trường không có thông tin thích hợp và xác định.

3.2 Kiểm thử thâm nhập bên ngoài

  • Đây là những cuộc tấn công được thực hiện từ bên ngoài tổ chức, bao gồm các ứng dụng web thử nghiệm được lưu trữ trên internet.

  • Các kiểm thử viên thao tác như tin tặc, như những người không có nhiều hiểu biết về hệ thống nội bộ.

  • Để mô phỏng các cuộc tấn công như vậy, kiểm thử viên được cấp cho địa chỉ IP của hệ thống và không được cung cấp bất kỳ thông tin nào khác. Họ được yêu cầu để tìm kiếm và quét các trang web công cộng và tìm kiếm thông tin của chúng tôi về máy chủ và sau đó thông báo các host được tìm thấy.

  • Về cơ bản, nó bao gồm các máy chủ thử nghiệm, tường lửa và IDS.

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

(Còn tiếp)


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.