Internal Test là gì

PenTest là gì?

PenTest là viết tắt của Penetration Testing [Pen Testing Kiểm thử thâm nhập]. Đây là một kiểu của Security Testing, dùng để phát hiện ra các lỗ hổng, rủi ro hay mối đe dọa bảo mật mà các hacker có thể khai thác trong ứng dụng phần mềm, mạng hay ứng dụng web. Mục đích của PenTest là xác định và kiểm tra tất cả lỗ hổng bảo mật có thể có trong phần mềm.

Lỗ hổng bảo mật [Vulnerability] dùng để chỉ những rủi ro bảo mật, chẳng hạn như các hacker có thể làm gián đoạn hay giành được quyền truy cập vào hệ thống hoặc bất kỳ dữ liệu nào bên trong. Các lỗ hổng thường xuất hiện tình cờ trong giai đoạn triển khai và phát triển phần mềm. Một số lỗ hổng phố biến gồm: lỗi thiết kế, lỗi cấu hình, lỗi phần mềm PenTest phụ thuộc vào hai cơ chế: Vulnerability Assessment và Penetration Testing [gọi chung là VAPT].

PenTest là gì?

Nội dung

  1. PenTest là gì?
  2. Tại sao cần Audit Pentest?
  3. Có những loại Penetration Testing nào?
  4. Cách Audit PenTest là gì?
  5. Một số ví dụ về Penetration Testing Tools
  6. Vai trò và trách nhiệm của Penetration Tester
  7. So sánh Manual Penetration và Automated Penetration Testing
  8. Nhược điểm của PenTest là gì?
  9. Kết luận

Tại sao cần Audit Pentest?

Vậy lý do chúng ta cần audit PenTest là gì? Đầu tiên, penetration đặc biệt quan trọng đối với các doanh nghiệp, bởi vì:

  • Các lĩnh vực tài chính như Ngân hàng, Ngân hàng đầu tư, Sở giao dịch chứng khoánluôn muốn dữ liệu được bảo mật và cần audit Pentest thường xuyên để có thể đảm bảo an ninh tối đa.
  • Nếu hệ thống phần mềm đã bị tấn công, tổ chức cần xác định xem có còn mối đe dọa nào tồn tại trong hệ thống không. Từ đó giảm thiểu khả năng bị tấn công trong tương lai.
  • Chủ động audit Pentest chính là cách hiệu quả nhất để chống lại các hacker.

Có những loại Penetration Testing nào?

PenTest thường được phân loại dựa trên phạm vi tấn công. Ngoài ra nó còn phụ thuộc vào việc các tổ chức có muốn mô phỏng cuộc tấn công bởi một nhân viên, Network Admin [Internal Sources] hay bởi External Sources. Có ba loại PenTest khác nhau:

  • Black Box Testing
  • White Box Penetration Testing
  • Grey Box Penetration Testing

Đối với Black Box Testing, tester sẽ không hề biết gì về hệ thống sắp được test. Tester chỉ có nhiệm vụ thu thập các thông tin về mạng hay hệ thống mục tiêu.

Trong hình thức White Box Penetration Testing, tester thường được cung cấp đầy đủ thông tin về mạng hoặc hệ thống sẽ được test. Trong đó bao gồm địa chỉ IP, mã nguồn, chi tiết về hệ điều hành Đây có thể được xem như một cuộc mô phỏng tấn công bởi bất kỳ Internal Source nào.

Với Grey Box Penetration Testing, tester sẽ được cung cấp một phần thông tin về hệ thống. Đây có thể được xem như là một cuộc tấn công từ hacker bên ngoài, đã truy cập vào được các tài liệu cơ sở hạ tầng mạng của tổ chức.

Cách Audit PenTest là gì?

Sau đầy là một số hoạt động cần thiết để triển khai PenTest:

Triển khai PenTest

Bước 1: Lên kế hoạch

  • Xác định phạm vi và chiến lược.
  • Sử dụng các tiêu chuẩn, chính sách bảo mật hiện có để xác định phạm vi.

Bước 2: Khám phá

  • Thu thập càng nhiều thông tin về hệ thống càng tốt. Trong đó bao gồm cả dữ liệu, username và password. Đây còn được gọi là FINGERPRINTING.
  • Scan và thăm dò các port.
  • Kiểm tra lỗ hổng của hệ thống.

Bước 3: Tấn công

Tìm cách khai thác các lỗ hổng khác nhau [Cần có các đặc quyền bảo mật cần thiết]

Bước 4: Báo cáo

  • Một báo cáo phải chỉ ra được các phát hiện chi tiết.
  • Tìm ra các rủi ro về lỗ hổng bảo mật, và ảnh hưởng của chúng đến hoạt động kinh doanh.
  • Đưa ra giải pháp, gợi ý.

Nói chung, nhiệm vụ hàng đầu trong PenTest là thu thập thông tin hệ thống. Có hai cách để có thể thu thập thông tin, gồm:

  • Mô hình One to one hoặc One to many với host: Một tester sẽ thực hiện các kỹ thuật tuyến tính chống lại một host đích, hoặc một nhóm các host [ví dụ như một subnet].
  • Mô hình Many to one hoặc many to many: Tester sẽ sử dụng nhiều host để thực hiện các kỹ thuật thu thập thông tin theo cách ngẫu nhiên, có giới hạn về tốc độ, phi tuyến tính.

Một số ví dụ về Penetration Testing Tools

Hiện nay có rất nhiều công cụ hữu ích để thực hiện Penetration Testing, tiêu biểu trong đó gồm:

  • NMap Dùng để scan port, xác định OS, Trace route và scan lỗ hổng bảo mật.
  • Nessus Công cụ xử lý lỗ hổng dựa trên mạng truyền thống.
  • Pass-The-Hash Chủ yếu dùng để bẻ khóa mật khẩu.

Vai trò và trách nhiệm của Penetration Tester

Vai trò của các tester PenTest:

  • Nên thu thập thông tin cần thiết từ Tổ chức để enable PenTest
  • Tìm các lỗ hổng mà hacker có thể tấn công
  • Các Pen Tester nên làm việc như những hacker có đạo đức.
  • Các công việc của tester nên có khả năng tái tạo để lập trình viên có thể sửa.
  • Nên xác định trước ngày bắt đầu và kết thúc test.
  • Tester phải chịu trách nhiệm với mọi tổn thất trong hệ thống hoặc mất mát thông tin trong quá trình test.
  • Phải giữ bí mật dữ liệu và thông tin.

So sánh Manual Penetration và Automated Penetration Testing

Manual Penetration TestingAutomated Penetration Testing Cần có các chuyên gia để chạy testCác công cụ tự động cung cấp báo cáo cụ thểYêu cầu có Excel và một số công cụ khác để theo dõiCó các công cụ tập trung và tiêu chuẩnMẫu kết quả sẽ khác nhau với từng testMẫu kết quả giống nhau Người dùng nên ghi nhớ việc Memory CleaningTự động cleanup

Nhược điểm của PenTest là gì?

Tất nhiên, Penetration Testing cũng có những mặt hạn chế của nó. Chẳng hạn như giới hạn thời gian, ngân sách, phạm vi, kỹ năng của tester

Sau đây là một số tác dụng phụ phổ biến của PenTest:

  • Mất dữ liệu
  • Downtime
  • Tăng chi phí

Kết luận

Nói chung, các tester nên hoạt động như những hacker mũ trắng thực sự, kiểm thử các ứng dụng và hệ thống. Đồng thời kiểm tra xem các code có được viết an toàn hay không. Một PenTest sẽ đạt được hiệu quả tốt nhất nếu có chính sách bảo mật tốt.

5 / 5 [ 1 bình chọn ]

Video liên quan

Chủ Đề