thử xâm nhập
3.1.1 Tổng quan về kiểm thử xâm nhập
Kiểm thử xâm nhập là quá trình hệ thống hóa, thực hiện và đánh giá khả năng bảo mật của một hệ thống hoặc ứng dụng nhằm xác định các lỗ hổng và mối nguy tiềm ẩn. Mục tiêu chính của kiểm thử xâm nhập là đảm bảo tính bảo mật, toàn vẹn và sẵn sàng của hệ thống bằng cách tìm kiếm lỗ hổng bảo mật càng nhiều càng tốt, từ đó giúp tổ chức kịp thời khắc phục hoặc giảm thiểu thiệt hại trước khi cuộc tấn công thực sự được diễn ra. Tiến hành kiểm thử xâm nhập sẽ giúp các tổ chức giảm tổn thất tài chính và thông tin có thể gây mắt lòng tin của khách
hàng do vi phạm bảo mật.
Công việc kiểm thử xâm nhập có thể được thực hiện trên một loạt hệ thống, bao gồm: ứng dụng web, ứng dụng di động, phần cứng của các thiết bị, hệ điều hành,
hạ tầng mang máy tính, cơ sở dir liệu, các thiết bị kết nối vạn vật, ứng dụng và hạ
tầng đám mây,... hoặc một đối tượng có kết nối với internet và có khả năng bị tan
công. Ngoài những thiết bi hoặc thành phan công nghệ kể trên, công việc kiểm thử xâm nhập còn bao gồm cả việc kiểm thử con người, với việc kiểm tra nhận thức của nhân viên trong bảo mật thông tin và kiểm tra các quy định, quy trình của tổ chức có lỗ hổng về bảo mật hay không.
14
Chương 3. Cơ sở lý thuyết
Kiểm thử xâm nhâp hợp pháp được thực hiện bởi các chuyên gia trong lĩnh vực bảo mật, với sự đồng ý và phê duyệt của chủ sở hữu hệ thống hoặc ứng dụng. Điều quan trọng là công việc kiểm thử xâm nhập phải tuân thủ pháp luật và các quy tắc, quy định của các bên liên quan, đồng thời tuân thủ các nguyên tắc đạo đức. Các chuyên gia kiểm thử xâm nhập cần thực hiện công việc một cách cẩn thận, trung thực và chuyên nghiệp, bảo vệ thông tin và quyền riêng tư của người dùng, không gây hại đến hệ thống và đữ liệu, và không vi phạm quyển riêng tư,
bí mật thương mại hoặc các quy định pháp luật khác.
Có 3 khái niệm cơ bản trong kiểm thử xâm nhập thường được nhắc tới là:
¢ Lỗ hổng (vulnerabilities) là các điểm yếu trong hệ thống hoặc ứng dụng có
thể bị tấn công và khai thác để xâm nhập hoặc gây tổn hại. Đây có thể là những lỗi trong thiết kế, triển khai, cấu hình hoặc quản lý của hệ thống. Các lỗ hổng này có thể cho phép tin tặc truy cập trái phép vào hệ thống, lấy cắp thông tin nhạy cảm hoặc gây hại cho hệ thống.
® Khai thác (exploits) là các phương pháp và công cụ được sử dụng để tận
dụng lỗ hổng và tan công vào hệ thống. Đây có thể là mã độc, kỹ thuật tan công hoặc các công cụ tự động hóa để xâm nhập và kiểm soát hệ thống mục tiêu. Khai thác được thiết kế để tận dụng các lỗ hổng cụ thể và thực hiện các hành động độc hại như kiểm soát từ xa, thực thi mã độc hoặc lay cắp
dw liệu.
¢ Trọng tai (payloads) là các thành phần hoặc mã độc được chèn vào khai thác
nhằm mục đích cụ thể. Trọng tải có thể là mã độc, các lệnh để kiểm soát hệ thống mục tiêu, hoặc các hành động độc hại khác như xóa dữ liệu, mã hóa tệp tin hoặc tạo backdoor. Trọng tải được thiết kế để thực hiện các hành động mà tin tặc muốn thực hiện khi khai thác một lỗ hổng bảo mật.
3.1.2 Các hình thức thực hiện kiểm thử xâm nhập
Trong lĩnh vực kiểm thử bảo mật, các khái niệm "white box", "black box" va "greywow
box" được sử dụng để mô tả phương pháp và mức độ truy cập thông tin về hệ thống mục tiêu trong quá trình kiểm thử. Dưới đây là giải thích chỉ tiết về từng khái niệm|6]:
15
Chương 3. Cơ sở lý thuyết
© White Box Testing (Kiểm thử hộp trắng): White box testing là phương pháp
kiểm thử bảo mật trong đó người kiểm thử có day đủ thông tin và hiểu biết
về câu trúc, thiết kế và mã nguồn của hệ thống mục tiêu. Trong quá trình kiểm thử, người kiểm thử có quyền truy cập va phân tích mã nguồn, cơ sở
dữ liệu, cầu hình hệ thống và các tài liệu liên quan. Phương pháp này cho phép kiểm tra sâu hơn và tìm ra các lỗ hổng bảo mật ẩn trong mã nguồn hoặc thiết kế hệ thống.
© Black Box Testing (Kiểm thử hộp den): Black box testing là phương pháp
kiểm thử bảo mật mà người kiểm thử không có thông tin chỉ tiết về câu trúc nội bộ và mã nguồn của hệ thống mục tiêu. Người kiểm thử chỉ có thể xem hệ thống từ bên ngoài, giống như một kẻ tan công không có kiến thức bên trong về hệ thống. Phương pháp này nhằm kiểm tra tính bảo mật của
hệ thống trong tình huống mà kẻ tân công không có sự biết thông tin trước đối với hệ thống. Ngoài ra còn có một phương pháp kiểm thử gần giống với black box testing là double-blind testing, trong đó cả người kiểm thử và nhóm hệ thống không biết về việc kiểm thử đang diễn ra. Người kiểm thử
sẽ tân công hệ thống mục tiêu mà không có thông tin trước về nó và không
có sự hỗ trợ từ nhóm hệ thống. Phương pháp này nhằm mô phỏng cách kẻ tấn công không biết về việc kiểm thử và tăng tính thực tế của quá trình kiểm
thử.
e Grey Box Testing (Kiểm thử hộp xám): Grey box testing là sự kết hợp giữa
white box testing và black box testing. Người kiểm thử chỉ có một phần
thông tin về hệ thống, nhưng không biết chỉ tiết về toàn bộ cấu trúc và mã
nguồn. Thông tin được cung cấp có thể là một sé tài liệu, giao diện người
dùng hoặc một phần mã nguồn. Phương pháp này cho phép người kiểm thử tận dụng thông tin có sẵn để tăng hiệu quả và phạm vi kiểm thử, đồng thời duy trì tính khách quan và giả định rằng kẻ tấn công có một số thông tin cơ bản về hệ thống.
Ngoài ra còn có một số khái niệm khác như:
¢ External Testing (Kiểm thử từ bên ngoài): External testing là phương pháp
kiểm thử bảo mật được tiền hành bởi một bên thứ ba hoặc một nhóm không thuộc tổ chức sở hữu hệ thống. Người kiểm thử sẽ đánh giá tính bảo mật
16
Chương 3. Cơ sở lý thuyết
của hệ thống từ một góc nhìn bên ngoài, mô phỏng các kỹ thuật tấn công
từ một kẻ tấn công bên ngoài. Phương pháp này giúp phát hiện các lỗ hổng bảo mật mà kẻ tân công có thể tận dụng từ bên ngoài hệ thống.
® Internal Testing (Kiểm thử từ bên trong): Internal testing là phương pháp
kiểm thử bảo mật được tiến hành bởi các nhân viên hoặc nhóm bảo mật thuộc tổ chức sở hữu hệ thống. Người kiểm thử có kiến thức và truy cập vào các thành phần nội bộ của hệ thống, như mã nguồn, cơ sở dữ liệu va cau hình. Phương pháp nay cho phép kiểm tra tinh bảo mật của hệ thống
từ một góc nhìn nội bộ và xác định các lỗ hổng tiềm ẩn có thể bị khai thác
từ bên trong tổ chức.
© Targeted Testing (Kiểm thử hướng đích): Targeted testing là phương pháp
kiểm thử bảo mật tập trung vào mục tiêu cụ thể, như một ứng dụng, một mô-đun hoặc một hệ thống con. Người kiểm thử sẽ tập trung vào việc kiểm tra và khai thác các lỗ hổng bảo mật trong mục tiêu được chỉ định. Phương pháp này cho phép đánh giá chỉ tiết và chính xác hơn về tính bảo mật của mục tiêu cụ thể và đưa ra các biện pháp bảo mật phù hợp.
Tuy các phương pháp kiểm thử bảo mật này có những ưu nhược điểm khác nhau, nhưng thường được kết hợp và áp dụng dựa trên tài nguyên, yêu cầu và mục tiêu của tổ chức để đảm bảo tính bảo mật toàn diện cho hệ thống.
Ở dé tai này, tác giả tập trung xây dung một công cụ tự động quá trình kiếm
thử với phương pháp black box testing.
3.1.3. Lý do cần phải thực hiện kiểm thử xâm nhập
Penetration Testing (kiểm thử xâm nhập)[7] là một quy trình quan trọng trong
lĩnh vực bảo mật thông tin. Có những lý do quan trọng kiến các tổ chức cần thực hiện kiểm thử xâm nhập bao gồm:
© Phát hiện lỗ hổng bảo mật: Kiểm thử xâm nhập giúp xác định va phát hiện
các lỗ hổng bảo mật tổn tại trong hệ thống. Nhờ đó, có thể phát hiện sớm các van dé an ninh, từ đó tổ chức có thể thực hiện các biện pháp bảo mật phù hợp để giảm thiểu rủi ro xâm nhập từ bên ngoài.
17
Chương 3. Cơ sở lý thuyết
® Đánh giá tính bảo mật toàn diện: Kiểm thử xâm nhập cho phép kiểm tra
tính bảo mật toàn điện của hệ thống. Bằng cách mô phỏng các kỹ thuật tan công và khai thác, các chuyên gia bảo mật có thể đánh giá hiệu quả của các biện pháp bảo mật hiện có và tìm ra các cách thức tan công tiềm năng mà
kẻ xâm nhập có thể sử dụng.
® Đảm bảo tuân thủ quy định và quy chế: Kiểm thử xâm nhập giúp kiểm tra
và đảm bảo rằng hệ thống tuân thủ các quy định và quy chế bảo mật liên quan. Điều này đặc biệt quan trọng đối với các tổ chức hoạt động trong các ngành nhạy cảm như tài chính, y tế hoặc chính phủ, nơi tuân thủ quy định
về bảo mật là một yêu cầu bắt buộc.
¢ Nâng cao nhận thức về bảo mật: Kiểm thử xâm nhập giúp tăng cường nhận
thức về bảo mật cho cả tổ chức và nhân viên. Khi thấy được các lỗ hổng và mối de dọa tiềm tàng, nhân viên có thể hiểu rõ hơn về tam quan trọng của việc thực hiện các biện pháp bảo mật và tuân thủ các quy tắc an toàn thông
tin.
© Nâng cấp nang lực phan ứng: Kiểm thử xâm nhập giúp tổ chức cải thiện
khả năng phản ứng và ứng phó với các cuộc tân công. Nhờ phát hiện sớm các lỗ hổng và mối đe dọa, tổ chức có thể đưa ra các biện pháp ngăn chặn
và phục hồi một cách nhanh chóng và hiệu quả khi xảy ra sự cô bảo mật.
3.1.4 Các giai đoạn của kiểm thử xâm nhập
Quá trình kiểm thử xâm nhập có thể được chia thành các giai đoạn (Hình:
sau:
18
Chương 3. Cơ sở lý thuyết
Tìm kiếm và phát
hiện lỗ hổng
Thu thập thụng tin ơ^ằe
’ y