Premium Dark Markets Security - Kiến thức an ninh mạng doanh nghiệp
Trang chủ › Giải Pháp Doanh Nghiệp

Kiểm thử xâm nhập (Penetration Testing) là gì?

Ban biên tập Premium Dark Markets Security - Kiến thức an ninh mạng doanh nghiệp · · Cập nhật
Kiểm thử xâm nhập (Penetration Testing) là gì?

Kiểm thử xâm nhập (penetration testing, gọi tắt là pentest) là hoạt động có ủy quyền, trong đó chuyên gia bảo mật đóng vai kẻ tấn công để tìm và chứng minh các điểm yếu trong hệ thống của một tổ chức, trước khi kẻ xấu thật làm điều đó. Khác với chạy công cụ quét tự động, pentest kết hợp kỹ năng con người để xâu chuỗi các lỗi nhỏ thành một kịch bản tấn công có thật, rồi báo cáo kèm hướng khắc phục.

Điều kiện tiên quyết là sự cho phép bằng văn bản của chủ sở hữu hệ thống. Không có ủy quyền, cùng các thao tác đó trở thành hành vi xâm nhập trái phép và có thể bị xử lý theo pháp luật.

Pentest khác quét lỗ hổng ở đâu

Tiêu chíQuét lỗ hổngKiểm thử xâm nhập
Cách làmCông cụ tự động so sánh phiên bản, cấu hình với cơ sở dữ liệu lỗiCon người phân tích, khai thác có kiểm soát, xâu chuỗi lỗi
Tần suấtThường xuyên, hằng tuần hoặc hằng thángĐịnh kỳ hoặc sau thay đổi lớn
Kết quảDanh sách dài các phát hiện, có thể có báo nhầmÍt phát hiện hơn nhưng đã được chứng minh, kèm tác động thực tế
Phát hiện lỗi logic nghiệp vụHạn chếLà thế mạnh chính

Hai hoạt động bổ sung cho nhau. Quét giúp bắt nhanh lỗ hổng đã biết; pentest trả lời câu hỏi "kẻ tấn công có thể đi được bao xa". Bức tranh chung về các nhóm lỗ hổng hay gặp được tổng hợp trong bài phân tích lỗ hổng bảo mật phổ biến.

Các loại pentest theo phạm vi và mức thông tin

Theo mức thông tin được cung cấp

  • Hộp đen: người kiểm thử biết rất ít, mô phỏng kẻ tấn công bên ngoài. Sát thực tế nhưng tốn thời gian dò tìm.
  • Hộp xám: được cấp tài khoản người dùng thường, một phần tài liệu. Phổ biến vì cân bằng giữa hiệu quả và thực tế.
  • Hộp trắng: được xem mã nguồn, sơ đồ kiến trúc. Tìm được nhiều lỗi sâu nhất trong cùng thời gian.

Theo đối tượng

  • Ứng dụng web và API.
  • Ứng dụng di động.
  • Hạ tầng mạng bên ngoài và nội bộ, bao gồm Active Directory.
  • Mạng không dây, như các rủi ro nêu trong bài bảo mật Wi-Fi văn phòng.
  • Môi trường đám mây.
  • Kiểm tra yếu tố con người: diễn tập lừa đảo qua email, điện thoại, có sự đồng ý của lãnh đạo.

Red team là hình thức mở rộng: mục tiêu là đạt một mục đích cụ thể (ví dụ truy cập dữ liệu khách hàng) bằng mọi con đường trong phạm vi cho phép, đồng thời kiểm tra khả năng phát hiện và phản ứng của đội phòng thủ.

Một đợt pentest diễn ra như thế nào

  1. Thỏa thuận phạm vi và quy tắc: hệ thống nào được kiểm thử, thời gian, kỹ thuật bị cấm (ví dụ không tấn công từ chối dịch vụ), đầu mối liên lạc khẩn cấp, cam kết bảo mật dữ liệu.
  2. Thu thập thông tin: tìm hiểu tài sản, công nghệ, điểm tiếp xúc ra bên ngoài.
  3. Phân tích và tìm điểm yếu: kết hợp công cụ và kiểm tra thủ công.
  4. Khai thác có kiểm soát: chứng minh lỗ hổng có thật, tránh gây hư hại dữ liệu hay gián đoạn dịch vụ.
  5. Báo cáo: mô tả từng phát hiện, mức độ, bằng chứng, cách tái hiện và khuyến nghị.
  6. Kiểm thử lại: sau khi doanh nghiệp khắc phục, xác nhận lỗ hổng đã được đóng.

Doanh nghiệp cần chuẩn bị gì trước đợt kiểm thử

Phần chuẩn bị của doanh nghiệp quyết định nhiều tới chất lượng kết quả. Hãy lập danh sách chính xác địa chỉ IP, tên miền, ứng dụng nằm trong phạm vi, tránh để người kiểm thử vô tình chạm vào hệ thống của bên thứ ba như nhà cung cấp hosting. Thông báo trước cho nhà cung cấp dịch vụ đám mây nếu điều khoản của họ yêu cầu. Chuẩn bị tài khoản kiểm thử với các mức quyền khác nhau để kiểm tra phân quyền. Thống nhất nội bộ ai được biết về đợt kiểm thử: nếu muốn đánh giá khả năng phát hiện của đội giám sát, chỉ một nhóm nhỏ nên được thông báo. Cuối cùng, sao lưu dữ liệu quan trọng và chuẩn bị sẵn người có thẩm quyền quyết định tạm dừng khi có sự cố ngoài dự kiến.

Đọc báo cáo pentest sao cho có ích

Báo cáo tốt có hai phần: tóm tắt cho lãnh đạo (rủi ro kinh doanh, xu hướng, ưu tiên) và chi tiết kỹ thuật cho đội vận hành. Khi nhận báo cáo, hãy:

  • Xếp lịch khắc phục theo mức độ nghiêm trọng và khả năng bị khai thác, không chỉ theo điểm số.
  • Tìm nguyên nhân gốc: nếu có lỗi kiểm soát truy cập ở một chức năng, rất có thể chức năng khác cũng mắc.
  • Đưa các phát hiện vào sổ đăng ký rủi ro, liên kết với quy trình đánh giá rủi ro chung.
  • Kiểm tra xem hệ thống giám sát có phát hiện được hoạt động của người kiểm thử không. Nếu không, đó cũng là một phát hiện quan trọng.

Chọn đơn vị kiểm thử

Một số tiêu chí đáng cân nhắc: kinh nghiệm với loại hệ thống tương tự, chứng chỉ chuyên môn của người thực hiện (ví dụ OSCP, OSWE, CREST), quy trình bảo vệ dữ liệu khách hàng, mẫu báo cáo rõ ràng, có kiểm thử lại sau khắc phục. Ở Việt Nam, với hệ thống thông tin thuộc phạm vi điều chỉnh của quy định về bảo đảm an toàn hệ thống thông tin theo cấp độ, doanh nghiệp nên kiểm tra yêu cầu về đơn vị đánh giá được cấp phép.

Giá rẻ bất thường thường đồng nghĩa với việc chỉ chạy công cụ quét rồi xuất báo cáo. Hãy hỏi rõ tỷ lệ công việc thủ công và xin báo cáo mẫu đã ẩn thông tin.

Khi nào nên làm pentest

Thời điểm phù hợp gồm: trước khi đưa ứng dụng mới ra Internet, sau thay đổi lớn về kiến trúc, định kỳ hằng năm với hệ thống quan trọng, khi khách hàng hoặc đối tác yêu cầu, và khi chuẩn bị đánh giá tuân thủ. Với tổ chức đang chuyển dần sang mô hình Zero Trust, pentest sau mỗi giai đoạn là cách tốt để kiểm chứng tiến độ.

Câu hỏi thường gặp

Pentest có làm sập hệ thống không?

Đơn vị chuyên nghiệp thống nhất trước các kỹ thuật được phép và tránh thao tác có thể gây gián đoạn. Tuy vậy, rủi ro nhỏ luôn tồn tại, nên doanh nghiệp cần sao lưu trước, chọn khung giờ phù hợp và có đầu mối liên lạc khẩn cấp suốt đợt kiểm thử.

Bao lâu nên làm pentest một lần?

Thông lệ phổ biến là ít nhất mỗi năm một lần với hệ thống quan trọng, và bổ sung sau mỗi thay đổi lớn. Hệ thống phát triển liên tục có thể kết hợp kiểm thử theo từng đợt phát hành hoặc chương trình tìm lỗi nhận thưởng.

Bug bounty có thay thế được pentest không?

Không hoàn toàn. Bug bounty mang lại nhiều góc nhìn và chạy liên tục, nhưng không đảm bảo bao phủ toàn bộ phạm vi. Pentest có phạm vi, phương pháp và báo cáo rõ ràng, phù hợp cho yêu cầu đánh giá định kỳ và tuân thủ.

Học pentest bắt đầu từ đâu?

Nên nắm chắc mạng máy tính, hệ điều hành Linux và Windows, lập trình web cơ bản, sau đó luyện tập trên các phòng lab hợp pháp được xây dựng cho mục đích học. Tuyệt đối không thực hành trên hệ thống không có sự cho phép của chủ sở hữu.

Bài liên quan