Pentest là gì? Tìm hiểu về Penetration Testing (kiểm thử thâm nhập)

Penetration Testing là một cuộc tấn công mạng mô phỏng được ủy quyền trên máy tính, nhằm đánh giá tính bảo mật của hệ thống. Quá trình thử nghiệm được thực hiện để xác định tất cả điểm yếu (còn được gọi là lỗ hổng), bao gồm khả năng các bên không được phép truy cập vào những tính năng và dữ liệu hệ thống, cũng như điểm mạnh là cho phép đánh giá rủi ro trên toàn hệ thống.

Penetration Testing là gì?

Penetration Testing, còn được gọi tắt là pen test, pentest hay ethical hacking, là cuộc tấn công mô phỏng nhắm vào hệ thống máy tính để kiểm tra những lỗ hổng có thể được khai thác. Trong bảo mật ứng dụng web, Penetration Testing (kiểm thử thâm nhập) thường được sử dụng để tăng cường tường lửa ứng dụng web (Web Application Firewall - WAF).

Penetration Testing là gì?

Pen testing có thể liên quan đến việc cố gắng vi phạm bất kỳ số lượng hệ thống ứng dụng nào, (ví dụ các interface giao thức ứng dụng - Application Protocol Interface - API, máy chủ frontend/backend) để phát hiện ra các lỗ hổng, chẳng hạn như đầu vào không được xác nhận dễ bị tấn công bằng cách truyền mã độc.

Thông tin chi tiết được cung cấp bởi quá trình kiểm thử thâm nhập có thể được sử dụng để tinh chỉnh các chính sách bảo mật WAF và vá các lỗ hổng được phát hiện.

Những giai đoạn trong Penetration Testing

Quá trình pen test có thể được chia thành 5 giai đoạn.

Những giai đoạn trong Penetration Testing

1. Lập kế hoạch và khảo sát trước

Giai đoạn đầu tiên bao gồm:

  • Xác định phạm vi và mục tiêu của thử nghiệm, bao gồm các hệ thống được xử lý và những phương pháp thử nghiệm sẽ được sử dụng.
  • Thu thập thông tin (ví dụ như tên mạng và tên miền, mail server) để hiểu rõ hơn cách mục tiêu hoạt động và các lỗ hổng tiềm năng của nó.

2. Quét

Bước tiếp theo là hiểu cách ứng dụng mục tiêu sẽ phản ứng với các yếu tố xâm nhập khác nhau. Điều này thường được thực hiện bằng cách sử dụng:

  • Phương pháp phân tích tĩnh - Kiểm tra code của ứng dụng để xác định hành vi của nó trong khi chạy. Các công cụ này có thể quét toàn bộ code trong một lần chạy.
  • Phương pháp phân tích động - Kiểm tra code của ứng dụng trong trạng thái đang chạy. Đây là phương pháp quét thực tế hơn, vì nó cung cấp chế độ xem thời gian thực đối với hiệu suất của ứng dụng.

3. Giành quyền truy cập

Giai đoạn này sử dụng các cuộc tấn công ứng dụng web, chẳng hạn như cross-site scripting, SQL injectionbackdoor, để khám phá ra những lỗ hổng mục tiêu. Sau đó, người kiểm tra sẽ thử khai thác các lỗ hổng này, thường là bằng cách giành quyền kiểm soát toàn bộ hệ thống, đánh cắp dữ liệu, chặn lưu lượng, v.v.. để biết được thiệt hại mà chúng có thể gây ra.

4. Duy trì truy cập

Mục tiêu của giai đoạn này là để xem liệu lỗ hổng có thể được sử dụng để khai thác lâu dài trong hệ thống bị xâm nhập hay không (đủ lâu để một hacker có thể truy cập sâu vào hệ thống). Ý tưởng là bắt chước các cuộc tấn công APT, thường tồn tại nhiều tháng trong một hệ thống để đánh cắp dữ liệu nhạy cảm nhất của tổ chức.

5. Phân tích

Kết quả kiểm thử thâm nhập sau đó được tổng hợp thành một báo cáo chi tiết, bao gồm:

  • Lỗ hổng cụ thể đã được khai thác
  • Dữ liệu nhạy cảm được truy cập
  • Thời lượng mà người tiến hành cuộc kiểm tra pen test có thể ở lại trong hệ thống mà không bị phát hiện

Thông tin này được nhân viên phụ trách bảo mật phân tích, giúp cấu hình cài đặt WAF cho doanh nghiệp, đưa ra những giải pháp bảo mật ứng dụng khác để vá các lỗ hổng và bảo vệ chống lại các cuộc tấn công trong tương lai.

Những phương pháp Penetration Testing

Những phương pháp Penetration Testing

External test (Thử nghiệm thâm nhập từ bên ngoài)

Thử nghiệm thâm nhập từ bên ngoài nhắm vào “tài sản” của một công ty có thể nhìn thấy trên Internet, ví dụ chính bản thân ứng dụng web, trang web của công ty, email và domain name server (DNS). Mục tiêu là để có được quyền truy cập và trích xuất dữ liệu có giá trị.

Internal test (Thử nghiệm thâm nhập từ bên trong)

Trong thử nghiệm thâm nhập từ bên trong, người thử nghiệm có quyền truy cập vào một ứng dụng đằng sau tường lửa sẽ mô phỏng một cuộc tấn công do chính người trong nội bộ tiến hành. Cuộc tấn công này không chỉ cảnh báo viễn cảnh một nhân viên nào đó trong nội bộ có thể chính là hacker, mà còn nhắc nhở quản trị viên đề phòng việc một nhân viên trong tổ chức bị đánh cắp thông tin đăng nhập, sau một cuộc tấn công phishing.

Blind test (Thử nghiệm “mù”)

Trong thử nghiệm blind test, người thử nghiệm chỉ được cung cấp tên của doanh nghiệp đang nhắm mục tiêu. Điều này cung cấp cho nhân viên phụ trách bảo mật cái nhìn thời gian thực về cách thức một cuộc tấn công ứng dụng sẽ diễn ra trong thực tế.

Double blind test

Trong thử nghiệm double blind test, nhân viên phụ trách bảo mật không biết gì trước về cuộc tấn công được mô phỏng. Giống như trong thế giới thực, không phải lúc nào cũng biết trước các cuộc tấn công để nâng cao khả năng phòng thủ.

Targeted test

Trong kịch bản này, cả người kiểm tra và nhân viên phụ trách bảo mật sẽ làm việc cùng nhau và liên tục đánh giá hành động của nhau. Đây là một bài tập huấn luyện có giá trị, cung cấp cho đội ngũ bảo mật thông tin phản hồi thời gian thực theo quan điểm của hacker.

Penetration testing và tường lửa ứng dụng web

Penetration testing và tường lửa ứng dụng web

Penetration testing và WAF là các biện pháp bảo mật độc lập, nhưng cùng mang lại lợi ích hỗ trợ nhau.

Đối với nhiều loại pen test (ngoại trừ thử nghiệm blind và double blind test), người thử nghiệm có thể sử dụng dữ liệu WAF, chẳng hạn như nhật ký, để xác định vị trí và khai thác điểm yếu của ứng dụng.

Đổi lại, quản trị viên WAF có thể hưởng lợi từ dữ liệu pen test. Sau khi hoàn thành thử nghiệm, cấu hình WAF có thể được cập nhật để bảo vệ chống lại các điểm yếu được phát hiện trong quá trình test.

Cuối cùng, pen test đáp ứng một số yêu cầu về việc tuân thủ quy trình kiểm tra bảo mật, bao gồm cả PCI DSS và SOC 2. Một số tiêu chuẩn, như PCI-DSS 6.6, chỉ có thể được thỏa mãn thông qua việc sử dụng WAF được chứng nhận.

Bộ công cụ của hacker mũ trắng

Hacker mũ trắng sử dụng pen test để tìm ra các lỗi và lỗ hổng
Hacker mũ trắng sử dụng pen test để tìm ra các lỗi và lỗ hổng

Ethical hacking không phải là một công việc chỉ cần có kỹ năng. Hầu hết các hacker mũ trắng (ethical hacker) đều sử dụng hệ điều hành và phần mềm chuyên dụng để giúp công việc của họ dễ dàng hơn, tránh những sai lầm thủ công.

Vậy các hacker này sử dụng pen test để làm gì? Dưới đây là một vài ví dụ.

Parrot Security OS

Parrot Security là một hệ điều hành dựa trên Linux được thiết kế để kiểm tra thâm nhập và đánh giá lỗ hổng. Nó thân thiện với đám mây, dễ sử dụng và hỗ trợ nhiều phần mềm mã nguồn mở khác nhau.

Live Hacking OS

Cũng là một hệ điều hành Linux, Live Hacking là một lựa chọn thích hợp cho những người làm công việc pentest, vì nó nhẹ và không yêu cầu phần cứng cao. Live Hacking được đóng gói sẵn với các công cụ và phần mềm để kiểm tra thâm nhập và ethical hacking.

Nmap

Nmap là một công cụ thông minh mã nguồn mở (OSINT) giám sát mạng, thu thập và phân tích dữ liệu về host và server của thiết bị, làm cho nó có giá trị đối với các hacker mũ đen, xám và trắng.

Nmap cũng đa nền tảng và hoạt động với cả Linux, Windows và macOS, vì vậy nó rất lý tưởng cho những ethical hacker mới bắt đầu.

WebShag

WebShag cũng là một công cụ OSINT. Đây là một công cụ kiểm tra hệ thống, quét các giao thức HTTPS và HTTP, đồng thời thu thập dữ liệu và thông tin tương đối. Nó được sử dụng bởi các ethical hacker, nhằm thực hiện các cuộc thử nghiệm thâm nhập từ bên ngoài thông qua các trang web công cộng.

Đi đâu để kiểm thử thâm nhập?

Pen test mạng của chính mình không phải là lựa chọn tốt nhất, vì bạn có thể chưa tích lũy đủ kiến ​​thức sâu rộng về việc này, khiến bạn khó có những suy nghĩ sáng tạo và tìm ra các lỗ hổng ẩn. Bạn nên thuê một hacker mũ trắng độc lập hoặc dịch vụ của một công ty cung cấp dịch vụ pen test.

Tuy nhiên, thuê người ngoài xâm nhập vào mạng của bạn có thể rất rủi ro, đặc biệt nếu bạn đang cung cấp cho họ thông tin bảo mật hoặc quyền truy cập nội bộ. Đây là lý do tại sao bạn nên sử dụng các nhà cung cấp bên thứ 3 đáng tin cậy. Đây là một số gợi ý để bạn tham khảo:

HackerOne.com

HackerOne là một công ty có trụ sở tại San Francisco, cung cấp các dịch vụ kiểm tra thâm nhập, đánh giá lỗ hổng và kiểm tra việc tuân thủ giao thức.

ScienceSoft.com

Tọa lạc tại Texas, ScienceSoft cung cấp các dịch vụ đánh giá lỗ hổng, pen test, kiểm tra việc tuân thủ và cơ sở hạ tầng.

Raxis.com

Có trụ sở tại Atlanta, Georgia, Raxis cung cấp các dịch vụ có giá trị từ pen test và đánh giá mã bảo mật đến đào tạo ứng phó sự cố, đánh giá lỗ hổng và đào tạo phòng ngừa tấn công social engineering.

Thứ Hai, 28/12/2020 10:02
4,65 👨 5.020
0 Bình luận
Sắp xếp theo