Nội dung bài viết bao gồm:

  1. Định nghĩa Penetration Testing?
  2. Tại sao thử nghiệm xâm nhập lại quan trọng ?
  3. Nhược điểm của Penetration Testing, Crowdsourced Penetration Testing xu thế mới trên thế giới
  4. Các phương pháp kiểm thử xâm nhập
  5. Các loại kiểm thử xâm nhập
  6. Quy trình thực hiện xâm nhập
  7. Phương pháp và tiêu chuẩn kiểm thử xâm nhập

1. Định nghĩa Penetration Testing ?

Penetration Testing (còn được gọi là kiểm tra xâm nhập hoặc tấn công hợp pháp) là một quá trình có hệ thống để thăm dò các lỗ hổng trong mạng và ứng dụng của tổ chức.

Về cơ bản, đây là một hình thức tấn công có kiểm soát – ‘những kẻ tấn công’ thay mặt tổ chức để tìm và kiểm tra các điểm yếu mà bọn tội phạm có thể khai thác, chẳng hạn như:

  • Cấu hình không phù hợp hoặc không phù hợp.
  • Các lỗi phần cứng hoặc phần mềm đã biết và chưa biết.
  • Những điểm yếu trong hoạt động trong các quy trình hoặc các biện pháp đối phó kỹ thuật.

Những người kiểm tra xâm nhập có kinh nghiệm bắt chước các kỹ thuật được sử dụng bởi bọn tội phạm mà không gây ra thiệt hại. Điều này cho phép bạn giải quyết các lỗi bảo mật khiến tổ chức của bạn dễ bị tấn công.

Ở đây có một số khái niệm mọi người cần nắm được để hiểu rõ hơn về công việc kiểm thử xâm nhập này. Kết quả kiểm thử được ghi lại và cung cấp trong một báo cáo toàn diện cho quản lý điều hành của và chuyên viên kỹ thuật của hệ thống:

Vulnerabilities: Vulnerabilities là lỗ hổng bảo mật trong một phần của phần mềm, phần cứng hoặc hệ điều hành, cung cấp một khả năng để tấn công hệ thống. Một lỗ hổng có thể đơn giản như mật khẩu yếu hoặc phức tạp như lỗi tràn bộ đệm hoặc các lỗ hổng SQL injection.

Exploits: Là quá trình khác thác lỗ hổng bảo mật thông qua việc dựa vào các điểm yếu, sự cố hay lỗ hổng của phần mềm nhằm mục tiêu gây ra các hoạt động bất thường của ứng dụng theo ý của kẻ tấn công. Những hành động đó có thể bao gồm các hành động leo thang đặc quyền, một cuộc tấn công từ chối dịch vụ, đánh cắp các thông tin nhạy cảm …

Payloads: Là các đoạn mã hay một phần của phần mềm được sử dụng trong quá trình khai thác lỗ hổng (exploit).

Security Audit: Kiểm tra bảo mật bằng cách kiểm tra xem tổ chức có tuân theo một tập hợp các chính sách và quy trình bảo mật tiêu chuẩn không.

Kiểm thử xâm nhập thủ công và kiểm thử xâm nhập tự động:
Kiểm thử xâm nhập thủ côngKiểm thử xâm nhập tự động
Kiểm tra thủ công yêu cầu các chuyên gia thành thạo chạy các bài kiểm traCác công cụ kiểm tra tự động cung cấp các báo cáo rõ ràng với các chuyên gia ít kinh nghiệm hơn
Kiểm tra thủ công yêu cầu Excel và các công cụ khác để theo dõi nóKiểm tra tự động hóa có các công cụ tập trung và tiêu chuẩn
Trong Thử nghiệm thủ công, các kết quả mẫu khác nhau giữa các thử nghiệmTrong trường hợp Kiểm tra tự động, kết quả không khác nhau giữa các bài kiểm tra
Người dùng nên ghi nhớ việc dọn dẹp bộ nhớKiểm tra Tự động sẽ có các bản dọn dẹp toàn diện
2. Tại sao thử nghiệm xâm nhập lại quan trọng?

Các lỗ hổng an ninh mạng mới được xác định – và bị bọn tội phạm khai thác – hàng tuần. Chủ động xác định chúng là điều cần thiết để bảo mật cho tổ chức của bạn.

Chỉ một cuộc kiểm tra xâm nhập được thực hiện bởi một chuyên gia bảo mật được đào tạo mới có thể giúp bạn hiểu đúng về các vấn đề bảo mật mà tổ chức của bạn phải đối mặt.

Để tự bảo vệ mình, các tổ chức nên thường xuyên tiến hành các bài kiểm tra xâm nhập để:

  • Xác định các lỗi bảo mật để bạn có thể giải quyết chúng hoặc triển khai các biện pháp kiểm soát thích hợp.
  • Đảm bảo các biện pháp kiểm soát bảo mật hiện có của bạn có hiệu lực (ví dụ như Firewall, Endpoint Security/ WAF…).
  • Kiểm tra phần mềm và hệ thống mới để tìm lỗi.
  • Khám phá các lỗi mới trong phần mềm hiện có.
  • Hỗ trợ tổ chức của bạn tuân thủ quy đinh và tiêu chuẩn trên thế giới: ISO / IEC 27001: 2013, PCI-DSS, HIPPA, FISMA, GDPR (Quy định chung về bảo vệ dữ liệu) và DPA (Đạo luật bảo vệ dữ liệu) 2018 của Liên minh Châu Âu và các luật hoặc quy định về quyền riêng tư có liên quan khác.
  • Đảm bảo với khách hàng và các bên liên quan rằng dữ liệu của họ đang được bảo vệ.
  • Củng cố niềm tin cho khách hàng, đối tác và nhà đầu tư.

Khi nào tổ chức nên thực hiện kiểm tra xâm nhập:

  • Khi có thay đổi trong cơ sở hạ tầng thông tin của tổ chức
  • Khi có các vấn đề bảo mật liên quan đến các thành phần hệ thống được công bố
  • Khi có các phần mềm mới được cài đặt hay cập nhật
  • Khi có thay đổi về mặt chính sách
  • Kiểm tra định kỳ ngay cả khi không có sự thay đổi hay gặp các vấn đề bảo mật để đảm bảo hệ thống luôn được an toàn.
  • Là một phần của chiến lược quản lý rủi ro an ninh mạng.
3. Nhược điểm của Penetration Testing, Crowdsourced Penetration Testing xu thế mới trên thế giới

Mặc dù, kiểm thử xâm nhập là một giải pháp hiệu quả để chống lại các cuộc tấn công mạng có chủ đích. Dưới đây là một số mặt hạn chế của Kiểm thử xâm nhập:

  • Chi phí cao: Đối với dịch vụ kiểm thử thông thường, doanh nghiệp sẽ phải trả phí theo giờ hoặc ngày công làm việc của pentester, và chi phí này không hề thấp. Thực tế nhiều doanh nghiệp có nhu cầu bảo mật web app, mobile app nhưng việc chi một khoản tiền quá lớn cho kiểm thử là một rào cản.
  • Thiếu tính đa dạng: Thông thường đội ngũ kiểm thử chỉ bao gồm tối đa 3-5 người, và họ thường kiểm tra theo một quy trình có sẵn, lặp đi lặp lại. Trong khi tin tặc ngoài thực tế không bị bó buộc vào bất kỳ một quy trình nào, và số lượng kẻ xấu là rất nhiều.
  • Khó tích hợp nền tảng: Các kiểm thử thông thường sẽ tạo ra một báo cáo dài với các lỗ hổng được liệt kê. Không có sự tích hợp nào trong vòng đời phát triển phần mềm, và điều này làm tăng thêm chi phí hoạt động và làm chậm tốc độ của cả việc khắc phục và phát triển ứng dụng.
  • Kiểm tra không kỹ càng : Với nguồn nhận lực hạn chế và chi phí lương các chuyên gia cao, các bên tư vấn thường sẽ chạy dịch vụ cho nhiều dự án khác nhau và luôn phải chịu áp lực nặng nề trong việc làm báo cáo kiểm thử. Điều này làm giảm thời gian kiểm thử thực tế và dẫn đến việc thường xuyên tái sử dụng các kết quả cũ từ các thử nghiệm trước đó để làm báo cáo. Điều này sẽ dẫn đến ứng dụng mục tiêu có nhiều phần chưa được kiểm thử và xuất hiện các điểm mù – có thể tồn tại lỗ hổng nhưng không được tìm kiếm triệt để.

Có một xu thế kiểm thử xâm nhập mới đang được áp dụng rộng rãi để khắc phục các vấn đề tồn tại này đó là “Kiểm thử xâm nhập cộng đồng – Crowdsourced Penetration Testing). Với phương thức kiểm thử xâm nhập cộng đồng, các tổ chức có thể tiếp cận hàng trăm chuyên gia bảo mật, pentester hay hacker mũ trắng để tìm lỗi cho sản phẩm/ hệ thống. Hơn nữa, mô hình tính phí Bug bounty (trả tiền theo lỗi) cho phép tổ chức tối ưu hiệu quả đầu tư với cùng mức chi phí so với phương thức Kiểm thử xâm nhập truyền thống.

4. Các phương pháp kiểm thử xâm nhập
  • White box (Hộp trắng): Trong hình thức kiểm thử hộp trắng, các chuyên gia kiểm thử được cung cấp đầy đủ thông tin về đối tượng mục tiêu trước khi họ tiến hành kiểm thử. Những thông tin này bao gồm: địa chỉ IP, sơ đồ hạ tầng mạng, các giao thức sử dụng, hoặc source code.
  • Gray box (Hộp xám): Kiểm thử hộp xám là hình thức kiểm thử mà pentester nhận được một phần thông tin của đối tượng kiểm thử, ví dụ URL, IP address,… nhưng không có hiểu biết đầy đủ hay quyền truy cập vào đối tượng.
  • Black box (Hộp đen): Kiểm thử hộp đen là hình thức kiểm thử xâm nhập dưới góc độ của một hacker trong thực tế. Với hình thức này, các chuyên gia kiểm thử không nhận được bất kỳ thông tin nào về đối tượng trước khi tấn công. Các pentester phải tự tìm kiếm và thu thập thông tin về đối tượng để tiến hành kiểm thử. Loại hình pentest này yêu cầu một lượng lớn thời gian tìm hiểu và nỗ lực tấn công, nên chi phí không hề rẻ.

Ngoài ra, còn có các hình thức kiểm thử xâm nhập khác như: double-blind testing, external testing, internal testing, targeted testing tuy nhiên chúng không phổ biến tại Việt Nam và chỉ được sử dụng với nhu cầu đặc thù của một số doanh nghiệp.

Việc lựa chọn phương pháp kiểm thử (White/Gray/Black Box) do tổ chức quyết định, dựa vào yêu cầu, mục đích, thời gian và khả năng tài chính của tổ chức đó. Trong khi kiểm tra bằng phương pháp Blackbox đem lại đánh giá chính xác về khả năng tấn công của những hacker thực sự thì Whitebox đem lại lợi thế về thời gian, quyền truy cập hệ thống cũng như những hiểu biết chính xác về hệ thống, từ đó tìm ra các điểm yêu tồn tại trên hệ thống. Lập kế hoạch kiểm tra cẩn thận và hiểu biết về các ràng buộc kiểm tra là cần thiết khi có giới hạn thời gian và nguồn lực để kiểm tra được tiến hành. Dựa vào lợi thế của các phương pháp, tổ chức cần đưa ra kế hoạch và lựa chọn phương pháp phù hợp.

5. Các loại kiểm thử xâm nhập

Các loại kiểm thử xâm nhập khác nhau sẽ tập trung vào các khía cạnh khác nhau của của tổ chức của bạn và tập trung vào ranh giới ngăn cách mạng của bạn với Internet.

Kiểm thử xâm nhập cơ sở hạ tầng (mạng)

Các lỗ hổng cơ sở hạ tầng bao gồm hệ điều hành và kiến ​​trúc mạng không an toàn, chẳng hạn như:

  • Các sai sót trong các Server và Host;
  • Các điểm truy cập không dây và tường lửa bị định cấu hình sai; và
  • Các giao thức mạng không an toàn (các quy tắc quản lý cách các thiết bị như modem, bộ chuyển mạch và bộ định tuyến giao tiếp với nhau).

Các bài kiểm thử xâm nhập mạng nhằm xác định và kiểm tra các lỗi bảo mật này.


Các loại kiểm thử xâm nhập cơ sở hạ tầng:

– Kiểm thử xâm nhập cơ sở hạ tầng bên ngoài (External network)

Kiểm thử xâm nhập bên ngoài xác định và kiểm tra các lỗ hổng bảo mật có thể cho phép kẻ tấn công truy cập từ bên ngoài mạng.


– Kiểm thử xâm nhập cơ sở hạ tầng nội bộ (Internal network)

Các bài kiểm thử xâm nhập nội bộ tập trung vào những gì kẻ tấn công có quyền truy cập bên trong có thể đạt được. Một bài kiểm tra nội bộ nói chung sẽ:

  • Kiểm tra từ quan điểm của cả người dùng được xác thực và không được xác thực để đánh giá khả năng khai thác;
  • Đánh giá các lỗ hổng ảnh hưởng đến các hệ thống có thể truy cập bằng ID đăng nhập được ủy quyền và nằm trong mạng; và
  • Kiểm tra các cấu hình sai có thể cho phép nhân viên truy cập thông tin và vô tình làm rò rỉ thông tin trực tuyến.

– Kiểm thử xâm nhập mạng không dây

Nếu bạn sử dụng công nghệ không dây, chẳng hạn như Wi-Fi, bạn cũng nên xem xét các thử nghiệm xâm nhập mạng không dây.

Bao gồm các:

  • Xác định mạng Wi-Fi, bao gồm lấy dấu vân tay không dây, rò rỉ thông tin và rò rỉ tín hiệu;
  • Xác định điểm yếu mã hóa, chẳng hạn như bẻ khóa mã hóa, đánh hơi không dây và chiếm quyền điều khiển phiên;
  • Xác định các cơ hội xâm nhập mạng bằng cách sử dụng điểm truy cập không hợp lệ hoặc trốn tránh các biện pháp kiểm soát truy cập mạng không dây; và
  • Xác định danh tính và thông tin đăng nhập của người dùng hợp pháp để truy cập các mạng và dịch vụ riêng tư khác.
Kiểm thử xâm nhập ứng dụng web (Web Application)

Các bài kiểm tra ứng dụng web tập trung vào các lỗ hổng như lỗi mã hóa hoặc phần mềm phản hồi các yêu cầu nhất định theo những cách không mong muốn.

Bao gồm các:

  • Kiểm tra xác thực người dùng để xác minh rằng các tài khoản không thể xâm phạm dữ liệu;
  • Đánh giá các ứng dụng web để tìm các lỗi và lỗ hổng bảo mật, chẳng hạn như XSS (cross-site scripting) hoặc SQL injection;
  • Xác nhận cấu hình an toàn của trình duyệt web và xác định các tính năng có thể gây ra lỗ hổng bảo mật; và
  • Bảo vệ an toàn máy chủ cơ sở dữ liệu và bảo mật máy chủ web.

Các điểm yếu bảo mật trong web thông dụng: (Theo OWASP TOP 10 2017):

  • Injection: Các lỗi về tiêm nhiễm mã độc hại
  • Broken Authentication: Phá vỡ cơ chế xác thực
  • Sensitive Data Exposure: Lộ lọt các thông tin nhạy cảm
  • ML External Entities (XXE): Lỗi liên quan đến xử lý XML
  • Broken Access Control: Phá vỡ cơ chế phân quyền truy cập
  • Security Misconfiguration: Cấu hình bảo mật không đúng
  • Cross-Site Scripting (XSS): Tấn công tiêm nhiễm mã javascript độc hại
  • Insecure Deserialization: Cơ chế deserialization thiếu an toàn
  • Using Components with Known Vulnerabilities: Sử dụng các thành phần chứa lỗ hổng
  • Insufficient Logging & Monitoring: Ghi nhật ký và giám sát không đầy đủ
Mobile Device Penetration Testing

Kiểm thử xâm nhập thiết bị di động sẽ cho tổ chức biết được các điểm yếu bảo mật trong việc sử dụng thiết bị di động, ứng dụng di dộng. Quy trình kiểm thử xâm nhập thiết bị di động sẽ bao gồm các phần chính sau:

  • Kiểm tra xâm nhập phần cứng thiết bị di động
  • Kỹ thuật dịch ngược Hệ điều hành/ ảnh thiết bị di động
  • Phân tích ứng dụng được cài đặt sẵn trong điện thoại di động và kiểm thử ứng dụng (Ứng dụng gốc_Native apps, Ứng dụng di động web_Mobile web apps và Ứng dụng lai_Hybrid apps)
  • Các bản vá mới nhất và các lỗ hổng đã biết.
Cloud Penetration Testing

Kiểm thử xâm nhập đám mây (Cloud) được thiết kế để đánh giá điểm mạnh và điểm yếu của hệ thống đám mây nhằm cải thiện tình trạng bảo mật tổng thể của nó.

Thử nghiệm xâm nhập đám mây giúp:

  • Xác định rủi ro, lỗ hổng và kẽ hở
  • Tác động của các lỗ hổng có thể khai thác
  • Xác định cách tận dụng bất kỳ quyền truy cập nào có được thông qua khai thác
  • Cung cấp thông tin khắc phục rõ ràng và có thể hành động
  • Cung cấp các phương pháp hay nhất để duy trì khả năng giám sát.

Mô hình chia sẽ trách nhiệm trong việc kiểm tra xâm nhập đám mây:

Các mối đe dọa bảo mật đám mây phổ biến nhất

Thử nghiệm xâm nhập đám mây có thể giúp ngăn chặn các loại mối đe dọa bảo mật đám mây phổ biến nhất sau:

  • Cấu hình sai
  • Vi phạm dữ liệu
  • Phần mềm độc hại / Ransomware
  • Các lỗ hổng
  • Các mối đe dọa APT
  • Xâm phạm chuỗi cung ứng
  • Mối đe dọa nội bộ
  • Thông tin nhận dạng và thông tin xác thực yếu
  • Quản lý truy cập yếu
  • Giao diện và API không an toàn
  • Sử dụng hoặc Lạm dụng Dịch vụ Đám mây Không thích hợp
  • Các dịch vụ chia sẻ / Mối quan tâm về công nghệ.
Kiểm thử xâm nhập kỹ thuật xã hội

Khi các biện pháp bảo mật kỹ thuật được cải thiện, bọn tội phạm ngày càng sử dụng các cuộc tấn công kỹ thuật xã hội như lừa đảo , xâm phạm email doanh nghiệp để truy cập các hệ thống mục tiêu.

Vì vậy, cũng giống như bạn nên kiểm tra các lỗ hổng công nghệ của tổ chức của mình, bạn cũng nên kiểm tra tính nhạy cảm của nhân viên đối với lừa đảo và các cuộc tấn công kỹ thuật xã hội khác.

Các vấn đề thường gặp phải:

  • Truy cập vào các đường link, email độc hại
  • Trở thành nạn nhân của tấn công lừa đảo (phishing) qua email, điện thoại
  • Để lộ thông tin nhạy cảm cho người lạ
  • Cho phép người lạ, không có thẩm quyền kết nối USB vào máy trạm.
6. Quy trình thực hiện xâm nhập

Có nhiều phương pháp và cách tiếp cận khác nhau khi nói tới quy trình kiểm thử xâm nhập. Tuy nhiên chúng đều theo một tư duy chung gồm 4 bước cơ bản như sau:

Bước 1: Lập kế hoạch (Planning Phase)

  • Phạm vi & Chiến lược của nhiệm vụ được xác định
  • Các tiêu chuẩn, chính sách bảo mật hiện có được sử dụng để xác định phạm vi.

Bước 2: Thu thập thông tin (Discovery Phase)

  1. Thu thập càng nhiều thông tin càng tốt về hệ thống bao gồm dữ liệu trong hệ thống, tên người dùng và thậm chí cả mật khẩu. 
  2. Quét và thăm dò vào các cổng
  3. Kiểm tra lỗ hổng của hệ thống

Quá trình này ảnh hưởng to lớn đến kết quả kiểm thử của chuyên gia. Nếu thu thập thông tin chính xác sẽ giúp rút ngắn thời gian kiểm thử đi nhiều lần.

Bước 3: Thực hiện tấn công (Attack phase)

Ở giai đoạn này, các chuyên gia thực hiện kiểm tra và khai thác lỗ hổng như một hacker thực sự để có quyền truy cập được vào hệ thống/ứng dụng:

  • Thực hiện khai thác lỗ hổng, thực nghiệm (POC)
  • Khi phát hiện lỗ hổng nghiêm trọng cần báo cho chủ dịch vụ, không thực hiện phá hay khai thác thông tin khi không được phép.

Bước 4: Báo cáo (Reporting Phase)

  • Một báo cáo phải chứa các phát hiện lỗ hổng chi tiết
  • Rủi ro về các lỗ hổng được tìm thấy và Ảnh hưởng của chúng
  • Khuyến nghị và giải pháp, nếu có.
7. Phương pháp và tiêu chuẩn kiểm thử xâm nhập

Hiện nay, 5 phương pháp luận và tiêu chuẩn phổ biến hàng đầu:

1. OSSTMM

2. OWASP

3. NIST

4. PTES

5. ISSAF

(Nguồn: Sưu tầm trên Internet và TW biên soạn)

Vui lòng liên hệ với chúng tôi để nhận được tư vấn tốt nhất !

Email: kienlt@techworldvn.com Mobile: 0984352581, hoặc qua biểu mẫu: