Quy trình tiến hành kiểm thử bảo mật (Pentest)

Quá trình Penetration Testing.


Pentest là gì? 

Trong ngành công nghệ thông tin của chúng ta, song song với việc phát triển ứng dụng thì kèm với đó là bảo mật thông tin. Tuy vậy, quá trình bảo mật lại quan trọng và mất thời gian hơn bao giờ hết. Và một trong những biện pháp để tìm ra lỗ hỏng và đánh giá chúng chính là thực hiện Kiểm thử bảo mật. Thật vậy, để có thể bảo mật thông tin và phòng chống các cuộc tấn công của hacker thì chính những người chịu trách nhiệm phát triển cần phải nắm rõ những cách thức mà hacker sẽ tiến hành để tấn công vào hệ thống. Nói cách khác, chúng ta cần phải đột nhập vào hệ thống của mình như là một hacker, quá trình này được gọi là penetration test (gọi tắt là pentest) còn những người thực hiện được gọi là các penetration tester.

Các Bước Của Quá Trình Penetration Test:

Quá trình Penetration Test gồm có ba giai đoạn đó là :

  1. Giai đoạn chuẩn bị Pre-attack.
  2. Giai đoạn tấn công Attack.
  3. Giai đoạn tổng kết Post-attack.

Các quá trình Pentest.

Giai đoạn Pre-attack:

Trong giai đoạn Pre-attack chúng ta cần tập hợp các thông tin liên quan đến hệ thống từ các nguồn dữ liệu công cộng từ Whois hay DNS Check tương ứng với giai đoạn Footprinting và Reconnaissance. Sau khi thu thập đầy đủ các thông tin cần thiết thì giai đoạn tấn công thực sự mới bắt đầu, quá trình này sẽ gồm Penetrating The Perimeter, Acquiring The Target, Escalating Priveledge Và Executing, Implant Và Retracing với ý nghĩa của từng giai đoạn như sau:

Giai đoạn Attack:

Giai đoạn Attack
  • Penetrating The Perimeter: Công đoạn này gồm có xem xét các bao cáo lỗi, kiểm tra danh sách truy cập Access Control List, đánh giá các bộ lọc giao thức hay những quy tắt được áp đặt trên Firewall đối với các giao thức như SSH, FTP, Telnet. Ngoài ra, người thực hiện cần tiến hành kiểm lỗi tràn bộ đệm, SQL injection, hay tấn công DoS. Bên cạnh đó nên kiểm tra thêm về cấu hình của hệ thống mạng không dây hay các ứng dụng web nội bộ.
  • Acquiring The Target: Đây là quá trình tận dụng các kết quả đã xác định như những lổ hỗng hệ thống, lỗi bảo mật của ứng dụng để tấn công, xâm nhập vào mục tiêu. Trong giai đoạn này các bạn có thể sử dụng các chương trình khai thác tự động như CORE IMPACT hay ứng dụng chuyên dùng cho các penetration tester là Back Track (phiên bản hiện nay là BackTrack 5).
  • Escalating Privilege: Sau khi thâm nhập hệ thống hacker sẽ tiến hành nâng quyền với để chiếm quyền quản trị cao nhất. Hành động này được gọi là Escalating privilege hay leo thang mức ưu tiên.
  • Executing, Implanting, Reacting: Đây là công đoạn cuối cùng của quá trình penetration test. Cần lưu ý các hành động của chúng ta trong các giai đoạn này không được gây ảnh hưởng đến quá trình hoạt động của doanh nghiệp, vì vậy một số tổ chức sẽ yêu cầu chúng ta không tiến hành một số thao tác trong giai đoạn này như việc chạy thử nghiệm một số ứng dụng có khả năng làm lộ những thông tin mật, ảnh hưởng đến hoạt động chung…

Giai đoạn Post-attack:

Cuối cùng là Post-attack bao gồm việc tạo báo cáo đánh giá chi tiết về những lỗi bảo mật, các rũi ro đối với an toàn thông tin và trình bày những vấn đề này trước khách hàng hay hội đồng thẩm định. Đưa toàn bộ hệ thống trở về trạng tháo hoạt động trước đây nếu như trong quá trình tiến hành có những sự thay đổi. Một vấn đề cần quan tâm nữa là chúng ta phải đưa ra được các giải pháp nhằm khắc phục các điểm yếu bảo mật đã phát hiện.

Tổng Kết

Như vậy, chúng ta đã nắm về khái niệm pentest cùng các quy trình và mô hình hoạt động của quá trình tấn công thử nghiệm. Cần lưu ý penetration test là “tấn công để phòng thủ” cho nên chúng ta cần phải cung cấp báo cáo đầy đủ cho khách hàng, hay tổ chức mà chúng ta tiến hành pentest. Tuyệt đối không được lợi dụng để trục lợi cá nhân.
Trích và chỉnh sửa CEHv9 tiếng Việt