Xác định các quy tắc công tác trong kiểm tra xâm nhập
CompTIA PENTEST + (PT0-002)
I. Đánh giá các yếu tố môi trường
- Xác định phạm vi dự án
- Tất cả các bên liên quan cần xác định rõ những gì sẽ được đưa vào hoặc loại trừ trong quá trình kiểm tra.
- Đây là cách tiếp cận hiệu quả về chi phí vì đội ngũ sẽ biết rõ khi nào kiểm tra hoàn tất.
- Xác định các môi trường cụ thể cần xem xét.
- Khi xác định được mục tiêu, sẽ xác định phạm vi và loại hình tấn công mà đội ngũ sẽ thử nghiệm.
- Có thể bao gồm mạng nội bộ, ứng dụng cụ thể hoặc tài nguyên trên đám mây.
Ví dụ:
Công ty A thuê đội PenTest kiểm tra hệ thống thương mại điện tử.
Sau khi thảo luận, hai bên thống nhất phạm vi bao gồm:
- Máy chủ web và cơ sở dữ liệu của website
- Ứng dụng mobile cho Android và iOS
- Cho phép kiểm tra hộp đen và hộp xám
- Chỉ kiểm tra các chức năng liên quan đến đặt hàng và thanh toán
- Không kiểm tra các hệ thống back-office như kế toán, kho vận
- Thu thập yêu cầu
- Đánh giá mạng LAN và WLAN
- Đánh giá các ứng dụng web và/hoặc di động.
- Xác định các hướng dẫn như số lượng trang cần tương tác người dùng.
- Đội ngũ cần có nhiều vai trò và quyền khác nhau để kiểm tra
- Kiểm tra tài nguyên đám mây (SaaS, IaaS, PaaS)
- Trước khi kiểm tra, cần xin phép nhà cung cấp dịch vụ
- Xác định loại hình kiểm tra nào sẽ được cho phép.
Ví dụ:
Khi kiểm tra ứng dụng mobile của công ty A, đội PenTest yêu cầu:
- Quyền truy cập với vai trò người dùng thường và người dùng VIP
- Mã nguồn ứng dụng Android để phân tích tĩnh
- Xin phép Google và Apple để kiểm tra ứng dụng trên CH Play và App Store
- Chỉ kiểm tra phiên bản ứng dụng mới nhất
- Không thực hiện các cuộc tấn công gây từ chối dịch vụ
- Xác định tài sản trong phạm vi
- Các bên liên quan cần nêu rõ tài sản nào sẽ nằm trong phạm vi kiểm tra. Ví dụ:
- Địa chỉ IP
- Tên miền và tên miền phụ
- API (giao diện lập trình ứng dụng)
- Người dùng – cho các cuộc tấn công kỹ thuật xã hội
- SSID (Service Set Identifiers)
Ví dụ:
Đội ngũ PenTest và công ty A thống nhất danh sách các tài sản cần kiểm tra:
- Địa chỉ IP của 2 máy chủ web và 1 máy chủ cơ sở dữ liệu
- Tên miền chính example.com và 3 tên miền phụ
- API thanh toán và đăng nhập
- Danh sách 100 người dùng để kiểm tra tấn công kỹ thuật xã hội qua email
- SSID của mạng Wi-Fi cho khách và mạng nội bộ
- Xác định địa điểm và phương thức lưu trữ
- Xác định vị trí vật lý trong phạm vi và mục tiêu kiểm tra là on-site hay off-site.
- Các cân nhắc khác:
- Đội ngũ sẽ kiểm tra tài sản bên trong hay bên ngoài
- Xác định cách thức lưu trữ: On-premise và/hoặc bên thứ ba
Ví dụ:
Trong phạm vi kiểm tra, công ty A có:
- Trung tâm dữ liệu on-site tại trụ sở chính ở Hà Nội
- Máy chủ web thuê ngoài đặt tại nhà cung cấp dịch vụ ở TP.HCM
- Ứng dụng chạy trên nền tảng đám mây của Amazon Web Services
- Kiểm tra bao gồm cả tài sản nội bộ và bên ngoài
- Kiểm tra từ xa qua mạng, không tiếp cận vật lý vào trung tâm dữ liệu
- Những hạn chế ảnh hưởng đến việc kiểm tra
- Luật quốc gia, bang và địa phương có thể ảnh hưởng đến việc kiểm tra.
- Có thể hạn chế công nghệ, công cụ và phương pháp sử dụng trong PenTest
- Tại Mỹ, các quy định về xuất khẩu kiểm soát việc vận chuyển hoặc chuyển giao một số mặt hàng ra nước ngoài.
- Các quốc gia khác cũng có thể có những hạn chế
- Một số ngôn ngữ lập trình cụ thể có thể bị cấm, tạo hoặc phân phối phần mềm an ninh máy tính
Ví dụ:
- Công ty A yêu cầu đội PenTest không được sử dụng bất kỳ kỹ thuật tấn công nào gây mất ổn định hệ thống như DoS, fuzzing hay brute-force.
- Luật pháp Việt Nam nghiêm cấm truy cập trái phép vào hệ thống máy tính, do đó đội PenTest phải có văn bản cho phép của chủ sở hữu trước khi tiến hành.
- Để tránh rắc rối pháp lý, đội PenTest không sử dụng các công cụ tấn công có nguồn gốc từ các quốc gia bị cấm vận.
II. Phác thảo các quy tắc tham chiến
- Cung cấp thông tin chi tiết
- Các bên liên quan cần nêu rõ mọi yêu cầu và thống nhất các điều khoản trước khi bắt đầu kiểm tra.
- Luôn giữ liên lạc và làm rõ mọi vấn đề phát sinh.
- Đội ngũ cần lập dòng thời gian
- Phác thảo các tham số cụ thể cùng với ước tính thời gian cần thiết để hoàn thành kiểm tra theo hợp đồng.
- Áp dụng kỹ năng quản lý thời gian tốt
- Tránh xao nhãng
- Tuân thủ dòng thời gian
Ví dụ:
- Đội PenTest và công ty A họp kick-off, thống nhất các mục tiêu và trách nhiệm cụ thể của từng bên. Thiết lập kênh liên lạc qua email và điện thoại.
- Dựa trên phạm vi công việc, đội PenTest ước tính cần 2 tuần để hoàn thành toàn bộ dự án, chia thành các giai đoạn chính:
- Thu thập thông tin – 2 ngày
- Phân tích và tấn công – 8 ngày
- Tổng hợp và báo cáo – 2 ngày
- Dự phòng – 2 ngày
- Trưởng nhóm phân công nhiệm vụ cụ thể cho từng thành viên, định kỳ họp đánh giá tiến độ và điều chỉnh dòng thời gian nếu cần thiết.
- Xác định các hạn chế
- Khi các mục tiêu chính đã được phác thảo, đội ngũ sẽ xem xét các biến số khác liên quan đến việc kiểm tra.
- Phác thảo bất kỳ hạn chế nào có thể ảnh hưởng đến việc kiểm tra, bao gồm:
- Xác định những bài kiểm tra nào được phép
- Tuân thủ phạm vi
- Nhận ra các hạn chế khác
- Giới hạn mức độ xâm nhập dựa trên phạm vi
- Giới hạn việc sử dụng công cụ cho một cuộc kiểm tra cụ thể
Ví dụ:
Công ty A đưa ra một số hạn chế khi đội PenTest kiểm tra:
- Chỉ được phép kiểm tra vào khung giờ 22h-5h để giảm thiểu ảnh hưởng đến hoạt động kinh doanh
- Không thực hiện tấn công gây mất mát dữ liệu hoặc ảnh hưởng đến khách hàng
- Không thử nghiệm trên môi trường production, chỉ trên hệ thống test
- Không sử dụng công cụ tự động có thể gây ra nhiều cảnh báo sai
- Chỉ sử dụng exploit có sẵn công khai, không tự phát triển mã khai thác mới
- Chọn loại hình và chiến lược
- Thu thập thông tin từ các bên liên quan để tìm hiểu thêm về nhu cầu của họ và mục tiêu của PenTest.
- Một số loại hình đánh giá phổ biến:
- Dựa trên tuân thủ (Compliance-based)
- Dựa trên đối kháng Red team/Blue team
- Dựa trên mục tiêu (Goal/Objective-based)
- Lựa chọn chiến lược: môi trường không biết, biết một phần hoặc biết trước
Ví dụ:
Công ty A muốn đánh giá mức độ an toàn thực tế của hệ thống khi bị tấn công bởi tin tặc.
- Lựa chọn hình thức kiểm tra dựa trên mục tiêu, tập trung vào các rủi ro có thể gây ra thiệt hại cao nhất như lộ thông tin khách hàng, mất dữ liệu tài chính
- Áp dụng chiến lược “môi trường không biết”, đội PenTest sẽ đặt mình vào vị trí của kẻ tấn công thực sự, không có bất kỳ thông tin nội bộ nào
- Mô phỏng các kịch bản tấn công từ bên ngoài như khách hàng, đối tác, hacker
- Ngoài các cuộc tấn công kỹ thuật, còn thực hiện cả các phương pháp phi kỹ thuật như điều tra, khai thác mạng xã hội để xâm nhập hệ thống
- Xác nhận phạm vi cuộc kiểm tra
- Xác nhận lại các chi tiết như liệu họ có các bản sao lưu hệ thống phù hợp và các quy trình khôi phục trong trường hợp cần thiết hay không.
- Hỏi khách hàng về bất kỳ lĩnh vực mơ hồ nào, để không có sự nhầm lẫn.
- Một số yếu tố cần xem xét có thể bao gồm:
- Phạm vi và các tài sản trong phạm vi
- Mọi hạn chế hoặc luật hiện hành
- Nhà cung cấp, dịch vụ hoặc địa điểm ngoài công ty
- Thông tin liên lạc và cập nhật
Ví dụ:
- Trong cuộc họp rà soát trước khi bắt đầu, đội PenTest và công ty A đi qua lại toàn bộ phạm vi thỏa thuận để đảm bảo không có điểm mơ hồ.
- Xác nhận lại danh sách IP, tên miền, hệ thống, ứng dụng cần kiểm tra và loại trừ.
- Công ty A xác nhận họ đã sao lưu đầy đủ các hệ thống quan trọng và có quy trình phục hồi nhanh chóng nếu xảy ra sự cố.
- Công ty A gửi thông tin về nhà cung cấp dịch vụ lưu trữ web và đám mây để đội PenTest phối hợp nếu cần.
- Hai bên thống nhất lịch họp cập nhật định kỳ và các mốc quan trọng để báo cáo kết quả, phát hiện quan trọng.
III. Chuẩn bị các tài liệu pháp lý
- Đảm bảo tính bảo mật
- Tránh tạo ra trách nhiệm pháp lý bằng cách đảm bảo mọi người thực hiện các biện pháp phòng ngừa cần thiết để bảo vệ tính bảo mật của dữ liệu
- Một số luật cụ
thể có thể áp dụng trong quá trình kiểm tra. Ví dụ:
- Đạo luật Gramm-Leach-Bliley (GLBA)
- Đạo luật Bảo vệ quyền riêng tư của người lái xe
- Đạo luật Trách nhiệm giải trình và Cơ động bảo hiểm y tế (HIPAA)
- Do các yêu cầu về bảo mật, mỗi thành viên trong nhóm có thể sẽ phải ký Thỏa thuận không tiết lộ thông tin (NDA).
Ví dụ:
Công ty A yêu cầu tất cả thành viên của đội PenTest ký NDA, cam kết:
- Không tiết lộ bất kỳ thông tin bí mật nào của công ty A cho bên thứ ba
- Chỉ sử dụng thông tin để phục vụ mục đích kiểm tra được phép
- Không sao chép, chụp ảnh hoặc ghi lại dữ liệu nhạy cảm
- Xóa tất cả thông tin liên quan sau khi kết thúc dự án
- Chịu trách nhiệm pháp lý nếu vi phạm thỏa thuận
- Cấp quyền tấn công
- PenTest mô phỏng cách tiếp cận của một tin tặc trái phép tấn công vào hệ thống để đánh giá tình trạng bảo mật của tổ chức.
- Sau khi xác định phạm vi dự án và thu thập tất cả các yêu cầu, nhóm sẽ cần phải xin phép chính thức để tấn công.
- Hầu hết các tài liệu pháp lý bao gồm những nội dung sau:
- Tên thực thể hoặc cá nhân được ủy quyền thực hiện PenTest
- Các mạng, máy chủ và ứng dụng cụ thể sẽ được đưa vào
- Thời hạn hiệu lực của văn bản cho phép và các kỹ thuật xử lý dữ liệu thích hợp
Ví dụ:
Công ty A cung cấp cho đội PenTest một văn bản “Ủy quyền kiểm tra xâm nhập”, bao gồm:
- Tên và thông tin nhận dạng của 5 thành viên đội PenTest
- Danh sách chi tiết các hệ thống, ứng dụng, IP được phép kiểm tra
- Cho phép sử dụng các kỹ thuật tấn công miễn là tuân thủ các hạn chế đã nêu
- Hiệu lực từ ngày 01/03 đến 31/03/2023
- Yêu cầu xóa tất cả dữ liệu thu thập được và nộp lại tài liệu sau khi hoàn thành
- Thỏa thuận dịch vụ chính (MSA)
- Là hợp đồng chi phối tất cả các giao dịch hoặc thỏa thuận trong tương lai giữa nhóm PenTest và khách hàng
- Có thể được sử dụng để tính các chi phí định kỳ và bất kỳ chi phí bổ sung ngoài dự kiến mà không cần hợp đồng bổ sung.
- Một số yếu tố cần bao gồm chi tiết về những điều sau:
- Phạm vi dự án và định nghĩa công việc cần hoàn thành
- Yêu cầu về mọi giấy phép, giấy phép hoặc chứng chỉ
- Các loại bảo hiểm như bảo hiểm chung và trách nhiệm.
Ví dụ:
Công ty PenTest và khách hàng A ký MSA nêu rõ:
- Công ty PenTest cung cấp dịch vụ đánh giá bảo mật và kiểm tra xâm nhập cho khách hàng A theo nhu cầu
- Trước mỗi cuộc kiểm tra, hai bên sẽ thỏa thuận phạm vi, thời gian, giá cả cụ thể qua Bản đề xuất dự án (SOW)
- Mọi thay đổi phạm vi đều phải được cả hai bên đồng ý bằng văn bản và có thể phát sinh chi phí bổ sung
- Công ty PenTest đảm bảo nhân sự của mình có chứng chỉ CEH, OSCP, với kinh nghiệm tối thiểu 2 năm
- Giá cả được tính dựa trên thời gian làm việc thực tế và có thể thay đổi tùy từng SOW
- Công ty PenTest sẽ bồi thường cho khách hàng A nếu sơ suất của họ gây ra thiệt hại cho hệ thống trong quá trình kiểm tra
- Phác thảo Tuyên bố về Phạm vi Công việc (SOW)
- Định nghĩa kỳ vọng cho một thỏa thuận kinh doanh cụ thể.
- Thường bao gồm:
- Danh sách các sản phẩm được giao
- Trách nhiệm của cả hai bên
- Các mốc thanh toán
- Lịch trình và các điều khoản khác.
Ví dụ:
Công ty PenTest gửi cho khách hàng A một SOW cho dự án kiểm tra xâm nhập website mới, ghi rõ:
- Mục tiêu: đánh giá toàn diện khả năng chống xâm nhập của website bán hàng example.com
- Phạm vi: trang chủ, giỏ hàng, thanh toán, đăng nhập và API backend
- Thời gian: 2 tuần, từ ngày 01/03 đến ngày 15/03/2023
- Sản phẩm bàn giao:
- Báo cáo kỹ thuật chi tiết về các lỗ hổng, mức độ rủi ro và hướng dẫn khắc phục
- Báo cáo tóm tắt dành cho lãnh đạo về phát hiện chính, tác động kinh doanh
- Danh sách các chứng cứ như ảnh chụp màn hình, bản ghi âm, mã exploit
- Tài liệu hướng dẫn cấu hình lại và kiểm tra lại các lỗ hổng đã khắc phục
- Trách nhiệm của đội PenTest: bảo mật thông tin, tuân thủ hạn chế đã nêu, không gây gián đoạn hoạt động
- Trách nhiệm của công ty A: cung cấp thông tin hệ thống, tài khoản kiểm tra, phối hợp lịch trình, xử lý kịp thời các phát hiện
- Phí dịch vụ: X USD, thanh toán 50% trước ngày bắt đầu, 50% sau khi nhận bàn giao đầy đủ
- Hiệu lực: có hiệu lực ngay khi được đại diện hợp pháp của cả 2 bên ký kết
- Soạn thảo Thỏa thuận Mức độ Dịch vụ (SLA)
- Phác thảo mức độ dịch vụ mong đợi
- Xác định các chỉ số đo lường mức độ dịch vụ và mọi biện pháp khắc phục hoặc hình phạt nếu không đạt được mức dịch vụ đã thỏa thuận.
- Có thể bao gồm các điều khoản về kiểm soát truy cập an ninh và đánh giá rủi ro, cùng với các yêu cầu xử lý dữ liệu mật và riêng tư.
- Đảm bảo xác định đúng thẩm quyền ký
- Tất cả các bên nên sắp xếp để đánh giá pháp lý tài liệu.
- Khi hoàn tất, đã đến lúc bắt đầu PenTest.
Ví dụ:
Công ty PenTest và khách hàng A thống nhất các điều khoản SLA như sau:
- Đội PenTest cam kết:
- Hoàn thành dự án đúng phạm vi và thời hạn đã thỏa thuận
- Luôn có sẵn ít nhất 1 thành viên hỗ trợ khách hàng trong giờ làm việc
- Cung cấp kết quả kiểm tra bao gồm tất cả các phát hiện, không giấu diếm bất kỳ thông tin nào
- Bảo mật thông tin khách hàng, tuân thủ luật pháp và quy định bảo mật dữ liệu
- Đền bù nếu vi phạm cam kết hoặc gây ra thiệt hại trực tiếp do lỗi của đội PenTest
- Khách hàng cam kết:
- Cung cấp thông tin, quyền truy cập cần thiết đầy đủ để đội PenTest hoàn thành công việc
- Chỉ định nhân sự chịu trách nhiệm làm việc và ký duyệt yêu cầu thay đổi
- Thanh toán phí dịch vụ đầy đủ và đúng hạn
- Các chỉ số đo lường chính:
- Tỷ lệ phát hiện, khai thác thành công lỗ hổng >= 95%
- Độ chính xác, chi tiết của báo cáo kết quả >= 95%
- Thời gian phản hồi yêu cầu của khách hàng <= 4h
- Mức độ hài lòng của khách hàng >= 4/5 điểm
- Mức phạt 10% giá trị hợp đồng nếu vi phạm 2 chỉ số trở lên
Bản SLA được đại diện pháp lý của 2 bên rà soát, ký kết trước khi bắt đầu dự án. Bất kỳ sự thay đổi nào cũng cần được cả hai bên đồng ý bằng văn bản.
IV. Tổng kết
- Xác định rõ phạm vi, mục tiêu, chiến lược là bước quan trọng đầu tiên trước khi tiến hành một cuộc kiểm tra xâm nhập.
- Tất cả các bên liên quan cần tích cực trao đổi, thống nhất sớm về các yêu cầu và giới hạn của dự án.
- Luôn đặt hàng đầu sự bảo mật, tuân thủ pháp luật và không gây ra tác động xấu lên các hệ thống sản xuất.
- Các thỏa thuận pháp lý như NDA, MSA, SOW góp phần đảm bảo tính chuyên nghiệp, trách nhiệm và quyền lợi của mỗi bên.
- Một cuộc kiểm tra xâm nhập hiệu quả giúp tổ chức nhận diện rủi ro, nâng cao an ninh và đáp ứng các yêu cầu tuân thủ.
Ví dụ: Nhờ chuẩn bị kỹ lưỡng và chuyên nghiệp trước khi bắt đầu, đội PenTest và công ty A đã thiết lập được sự tin cậy và hợp tác hiệu quả trong suốt quá trình kiểm tra xâm nhập. Mọi vấn đề phát sinh đều được trao đổi cởi mở, phản hồi kịp thời. Kết quả đánh giá bảo mật cũng giúp công ty A nhận diện và khắc phục được nhiều lỗ hổng trọng yếu mà các giải pháp bảo mật hiện tại chưa phát hiện ra. Dựa trên hướng dẫn của đội PenTest, hệ thống của công ty A đã được bảo vệ toàn diện hơn trước các rủi ro an ninh mạng.
Tài liệu tham khảo:
- CompTIA PenTest+ Exam Objectives (PT0-002)
- PTES Standard: http://www.pentest-standard.org/index.php/Main_Page
- NIST SP 800-115 Technical Guide to Information Security Testing and Assessment
- Sample Penetration Test Agreement: https://www.sans.org/media/score/pen-test-agreement-template.pdf
- Why You Need Formal Contracts For Pen Testing: https://www.securitymagazine.com/articles/95341-why-you-need-formal-contracts-for-pen-testing
Để lại một bình luận