Không có hệ thống an toàn tuyệt đối. Kiểm thử xâm nhập, hay penetration testing, viết tắt là pentesting, là một quy trình kiểm tra chuyên biệt bao gồm quét, đánh giá và tăng cường tất cả các phần của hệ thống thông tin trước các cuộc tấn công mạng tiềm ẩn. Vậy quá trình này diễn ra như thế nào?
1. Thu thập và theo dõi thông tin thụ động
Trong giai đoạn đầu tiên của kiểm thử xâm nhập, người kiểm tra (còn gọi là pentester) phải thu thập thông tin về hệ thống mục tiêu. Vì có khá nhiều phương pháp tấn công và thử nghiệm nên họ phải đặt thứ tự ưu tiên dựa trên thông tin thu thập được để xác định phương pháp thử nghiệm phù hợp nhất.
Bước này liên quan đến việc trích xuất các chi tiết có giá trị về cơ sở hạ tầng của hệ thống đích, chẳng hạn như tên miền, khối mạng (network block), bộ định tuyến và địa chỉ IP trong phạm vi của nó. Ngoài ra, mọi thông tin liên quan có thể tăng khả năng thành công của cuộc tấn công, chẳng hạn như dữ liệu nhân viên và số điện thoại, đều phải được thu thập.
Dữ liệu thu được từ các nguồn mở trong giai đoạn này có thể mang lại những chi tiết quan trọng. Để làm được điều này, hacker có đạo đức phải tận dụng nhiều nguồn khác nhau, đặc biệt chú trọng đến trang web và nền tảng mạng xã hội của tổ chức mục tiêu. Bằng cách thu thập tỉ mỉ thông tin này, người thử nghiệm sẽ đặt nền móng cho nỗ lực kiểm thử thành công.
Hầu hết các tổ chức đều áp đặt các quy tắc khác nhau đối với người kiểm thử xâm nhập. Để đảm bảo tính hợp pháp của hoạt động kiểm thử, pentester không được đi chệch khỏi các quy tắc này.
2. Chủ động thu thập và quét thông tin
Pentester sẽ phát hiện thiết bị chủ động và thụ động nào đang hoạt động trong phạm vi IP, thường được thực hiện bằng cách thu thập thụ động trong quá trình kiểm thử. Với sự trợ giúp của thông tin thu được trong quá trình thu thập thụ động này, pentester cần xác định đường đi—họ cần ưu tiên và xác định chính xác những thử nghiệm nào là cần thiết.
Trong giai đoạn này, họ sẽ lấy được thông tin về hệ điều hành, các cổng và dịch vụ đang mở cũng như thông tin phiên bản của chúng trên các hệ thống live.
Ngoài ra, nếu tổ chức cho phép người kiểm thử xâm nhập giám sát lưu lượng mạng một cách hợp pháp thì họ có thể thu thập những thông tin quan trọng về cơ sở hạ tầng hệ thống. Tuy nhiên, hầu hết các tổ chức không muốn cấp quyền này.
2. Bước phân tích và kiểm tra
Ở giai đoạn này, người kiểm thử xâm nhập, sau khi tìm ra cách ứng dụng mục tiêu phản ứng với các nỗ lực xâm nhập khác nhau, sẽ cố gắng thiết lập các kết nối với các hệ thống mà nó phát hiện là còn hoạt động và cố gắng thực hiện các yêu cầu (inquiry) trực tiếp. Nói cách khác, đây là giai đoạn mà pentester tương tác với hệ thống mục tiêu bằng cách sử dụng hiệu quả các dịch vụ như FTP, Netcat và Telnet.
Mục đích chính ở đây là kiểm tra dữ liệu thu được trong các bước thu thập thông tin và ghi chú lại.
4. Nỗ lực thao túng và khai thác
Pentester thu thập tất cả dữ liệu được thu thập trong các quy trình trước đó để phục vụ một mục tiêu: cố gắng giành quyền truy cập vào hệ thống mục tiêu giống như cách mà một tin tặc thực sự sẽ làm.
Ở giai đoạn này, pentester cố gắng xâm nhập vào hệ thống, sử dụng hệ điều hành chạy trên hệ thống đích, các cổng mở và các dịch vụ phục vụ trên các cổng này cũng như các phương thức khai thác có thể được áp dụng. Vì các cổng và ứng dụng dựa trên web bao gồm rất nhiều code và rất nhiều thư viện, nên tin tặc sẽ có phạm vi tiếp cận lớn hơn để tấn công. Do đó, người kiểm thử xâm nhập tốt nên xem xét tất cả các khả năng và triển khai tất cả các vectơ tấn công được cho phép trong các quy tắc.
Việc này đòi hỏi chuyên môn và kinh nghiệm để có thể sử dụng thành công và linh hoạt các phương thức khai thác hiện có, không làm hỏng hệ thống và không để lại bất kỳ dấu vết nào trong quá trình tiếp quản hệ thống. Do đó, giai đoạn kiểm thử xâm nhập này là bước quan trọng nhất.
5. Nỗ lực nâng cao đặc quyền
Một hệ thống chỉ mạnh bằng mắt xích yếu nhất của nó. Nếu một hacker có đạo đức truy cập được vào hệ thống, họ thường đăng nhập vào hệ thống với tư cách là người dùng có thẩm quyền thấp. Ở giai đoạn này, người kiểm thử xâm nhập cần có quyền cấp quản trị viên, khai thác các lỗ hổng trong hệ điều hành hoặc môi trường.
Sau đó, họ nên nhắm đến việc chiếm giữ các thiết bị khác trong môi trường mạng bằng các đặc quyền bổ sung mà họ đã đạt được, mục tiêu cuối cùng là các đặc quyền người dùng cấp cao nhất như Quản trị viên miền hoặc Quản trị viên cơ sở dữ liệu.
6. Báo cáo và trình bày
Khi quá trình kiểm thử xâm nhập được hoàn thành, pentester phải trình bày các lỗ hổng bảo mật mà họ đã phát hiện trong hệ thống đích, các bước tiếp theo và cách họ có thể khai thác các lỗ hổng này cho tổ chức bằng một báo cáo chi tiết. Điều này phải bao gồm các thông tin như ảnh chụp màn hình, code mẫu, giai đoạn tấn công và hậu quả mà lỗ hổng này có thể gây ra.
Báo cáo cuối cùng cũng phải bao gồm đề xuất giải pháp về cách thu hẹp từng lỗ hổng bảo mật.
Tại sao kiểm thử xâm nhập lại quan trọng?
Mục tiêu cuối cùng của kiểm thử xâm nhập là tiết lộ mức độ an toàn của cơ sở hạ tầng hệ thống từ góc nhìn của kẻ tấn công và đóng mọi lỗ hổng. Ngoài việc xác định các điểm yếu trong tình hình bảo mật của tổ chức, nó còn đo lường mức độ phù hợp của chính sách bảo mật, kiểm tra nhận thức của nhân viên về các vấn đề bảo mật và xác định mức độ tuân thủ của doanh nghiệp với các nguyên tắc an ninh mạng.
Tìm hiểu ngay chương trình học công nghệ thông tin trực tuyến tại FUNiX ở đây:
Vân Nguyễn
Dịch từ: https://www.makeuseof.com/stages-of-penetration-tests/
Bình luận (0
)