Là hình thức kiểm tra hệ thống CNTT
của bạn có thể bị tấn công hay không, bằng cách giả lập các vụ tấn
công thử nghiệm tạo ra. Có thể hiểu một cách đơn giản Penetration
Testing ( Pentest ) chính là đánh giá độ an toàn bằng cách tấn công
vào hệ thống . Vulnerability Assessment là quá trình xem xét lại các
dịch vụ và hệ thống để tìm ra các vấn đề an ninh tiềm tàng hoặc dò tìm
các dấu vết khi hệ thống bị tổn thương. Người thực hiện một thử
nghiệm xâm nhập được gọi là kiểm tra xâm nhập hoặc pentester.
Khi thâm nhập thử nghiệm cần phải có sự cho phép của người sở hữu hệ
thống. Nếu không, bạn sẽ là hacking hệ thống, và đó là bất hợp
pháp. Nói cách khác: Sự khác biệt giữa thử nghiệm thâm nhập và hack là
bạn có sự cho phép của chủ sở hữu hệ thống .
Để hiểu rõ hơn về Pentest, trước tiên cần phải biết các khái niệm bảo mật cơ bản sau:
Lỗ hổ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 góc tiềm 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.
Khai thác (exploits)
Để tận dụng lợi thế của một lỗ hổng, thường cần một sự khai thác, một
chương trình máy tính nhỏ và chuyên môn cao mà lý do duy nhất là để tận
dụng lợi thế của một lỗ hổng cụ thể và để cung cấp truy cập vào một hệ
thống máy tính. Khai thác thường cung cấp một tải trọng
(payloads) đến mục tiêu hệ thống và cung cấp cho kẻ tấn công truy cập
vào hệ thống.
Trọng tải (payloads)
Tải trọng (payloads) là các thành phần của phần mềm cho phép kiểm
soát một hệ thống máy tính sau khi nó đang được khai thác lỗ hổng
,thường gắn liền với vài giao khai thác (exploits).
Phương pháp sử dụng trong pentest.
Hộp đen (Black box)
Tấn công từ ngoài vào (black box Pen Test): các cuộc tấn công được
thực hiện mà không có bất kỳ thông tin nào, pentester sẽ đặt mình vào vị
trí của những tin tặc mũ đen và cố gắng bằng mọi cách để thâm nhập
vào được mạng nội, ngoại của khách hàng.
Pentester sẽ mô phỏng một cuộc tấn công thực sự vào ứng dụng ,quá
trình thử nghiệm bao gồm một loạt các lỗ hổng bảo mật ở cấp ứng dụng
được xác định bởi OWASP và WASC, nhắm mục tiêu các lỗ hổng bảo mật nguy
hiểm tiềm tàng trong ứng dụng của khách hàng . Quá trình thử nghiệm sẽ
tiết lộ các lỗ hổng, thiệt hại khai thác tiềm năng và mức độ nghiêm
trọng.
Hộp trắng (White box)
Tấn công từ trong ra (white box Pen Test): là các thông tin về mạng
nội bộ và ngoại sẽ được cung cấp bởi khách hàng và Pentester sẽ đánh giá
an ninh mạng dựa trên đó.
Điều quan trọng là cho các tổ chức để xác định rủi ro và mối đe dọa
của họ xuất phát từ đâu Nếu doanh nghiệp cảm nhận được nó đến từ các
nhân viên, khách hàng hoặc đối tác thương mại, nó có thể có lợi để tiến
hành một thử nghiệm hộp Penetration trắng. Nhân viên, khách hàng và
các đối tác thương mại có kiến thức về thông tin của doanh nghiệp. Họ
có thể biết rằng Doanh Nghiệp có một Intranet hoặc Extranet, trang
web, và họ cũng có thể có các thông tin cho phép họ để đăng nhập vào
hệ thống. Họ có thể biết nhân viên làm việc trong tổ chức, cơ cấu quản
lý, các ứng dụng chạy trong môi trường. Tất cả các thông tin này có
thể được sử dụng để khởi động các cuộc tấn công nhắm mục tiêu nhiều
hơn đối với một cơ sở hạ tầng, mà có thể không được xác định là một
phần của một sự tham gia thử nghiệm Black Box.
Hộp xám (Gray box)
Kiểm định hộp xám (Gray-box hay Crystal-box): Giả định như tin tặc
được cung cấp tài khoản một người dùng thông thường và tiến hành tấn
công vào hệ thống như một nhân viên của doanh nghiệp.
Những hạng mục trong PenTest
1. Đánh giá cơ sở hạ tầng mạng
- Đánh giá cấu trúc mạng.
- Đánh giá các biện pháp bảo mật được thiết lập.
- Đánh giá việc tuân thủ các tiêu chuẩn.
- Đánh giá các hệ thống như: firewall: Cấu hình, cấu trúc, quản trị, vá lỗi bảo mật, ghi nhật ký, chính sách, khả năng sẵn sàng…
- Đánh giá thiết bị phát hiện và phòng
chống xâm nhập IPS: Cấu hình, khả năng phát hiện xâm nhập, cấu trúc,
quản trị, vá lỗi bảo mật, ghi nhật ký, chính sách, khả năng sẵn sàng…
- Đánh giá thiết bị VPN: Cấu hình, quản trị, chính sách truy nhập, nhật ký…
- Đánh giá Router/ Switch: Cấu hình, xác thực, cấp quyền, kiểm soát truy nhập, nhật ký….
- ..
2. Đánh giá hệ thống máy chủ
- Máy chủ Windows và Linux:
- Đánh giá phiên bản, cập nhật, cấu hình
các dịch vụ, vá lỗi, chính sách tài khoản và mật khẩu, chính sách ghi
nhật ký, rà soát cấp quyền…
- Khả năng dự phòng, cân bằng tải, cơ sở dử liệu phân tán.
- ...
3. Đánh giá ứng dụng web
- Đánh giá từ bên ngoài: Dùng các công
cụ chuyên dụng tấn công thử nghiệm, từ đó phát hiện ra các lỗ hổng
như: Lỗi tràn bộ đệm, SQL injection, Xss, upload, Url bypass và các lổ
hổng ứng dụng khác
- Đánh giá từ bên trong: Kiểm tra mã
nguồn web nhằm xác định các vấn đề về xác thực, cấp quyền, xác minh dữ
liệu, quản lý phiên, mã hóa…
- ...
Tiêu chuẩn thực hiện Pentest
Pentest cần được thực hiện trên cơ sở tuân thủ các tiêu chuẩn quốc tế về đánh giá an ninh bảo mật cho hệ thống như sau:
Đánh giá ứng dụng Web – OWASP (Open-source Web Application Security
Project): OWASP là một chuẩn mở cho phép tổ chức/DN tiến hành xây dựng,
phát triển, duy trì hoạt động của các ứng dụng trên nền tảng web một
cách bảo mật nhất. Quá trình đánh giá dựa trên các tiêu chí đã được
cộng đồng bảo mật xác nhận. OWASP bao gồm 10 lỗ hổng được đánh giá một
cách chi tiết và cập nhật thường xuyên với thực tế các nguy cơ mà một
ứng dụng web thường gặp.
Đánh giá mạng và hệ thống – OSSTMM (Open Source Security Testing
Methodology Manual): OSSTMM là một chuẩn mở cung cấp phương pháp kiểm
tra bảo mật một hệ thống đang hoạt động của doanh nghiệp. Từ phiên bản
3.0, OSSTMM đưa ra phương pháp kiểm định cho hầu hết các thành tố trong
hệ thống như: con người, hạ tầng vật lý, mạng không dây, truyền thông
và các mạng sử dụng truyền dữ liệu.