Kiểm tra thâm nhập

Kiểm tra thâm nhập còn gọi là "kiểm thử thâm nhập" (tiếng Anh: "Penetration test", "pen test" hay "ethical hacking") là quá trình thực thiện mô phỏng tấn công an ninh mạng vào một hệ thống máy tính hoặc phần mềm định trước nhằm mục đích kiểm tra, đánh giá mức độ an toàn của hệ thống cũng như tìm các lỗ hổng bảo mật (nếu có).

== Lịch sử ==
Vào giữa những năm 1960, sự phổ biến ngày càng tăng của các hệ thống máy tính chia sẻ thời gian và tài nguyên dẫn đến các tài nguyên có thể truy cập dễ dàng qua đường truyền thông đã tạo ra những lo ngại mới về bảo mật. Như các học giả Deborah Russell và G. T. Gangemi Sr. đã nhận định, "Những năm 1960 đánh dấu sự khởi đầu thực sự của kỷ nguyên bảo mật máy tính."

Vào tháng 6 năm 1965, một số chuyên gia bảo mật máy tính hàng đầu của Hoa Kỳ đã tổ chức một trong những hội nghị lớn đầu tiên về bảo mật hệ thống - được tổ chức bởi nhà thầu chính phủ, "Công ty Phát triển Hệ thống" (SDC). Trong hội nghị, có người đã lưu ý rằng một nhân viên SDC có thể dễ dàng phá hoại các biện pháp bảo vệ hệ thống khác nhau được thêm vào hệ thống máy tính chia sẻ thời gian AN/FSQ-32 của SDC. Với hy vọng rằng việc nghiên cứu thêm về bảo mật hệ thống sẽ hữu ích, những người tham dự đã yêu cầu "... các nghiên cứu phải được thực hiện trong các lĩnh vực như phá vỡ bảo vệ an ninh trong hệ thống chia sẻ thời gian." Nói cách khác, những người tham gia hội nghị đã khởi xướng một trong những yêu cầu chính thức đầu tiên về việc sử dụng sự thâm nhập của máy tính như một công cụ để nghiên cứu bảo mật hệ thống.

Tại Hội nghị máy tính chung mùa xuân năm 1967, nhiều chuyên gia máy tính hàng đầu đã gặp lại nhau để thảo luận về những lo ngại về bảo mật hệ thống. Trong hội nghị này, các chuyên gia bảo mật máy tính Willis Ware, Harold Petersen và Rein Turn, tất cả thuộc Tập đoàn RAND và Bernard Peters của Cơ quan An ninh Quốc gia (NSA), đều sử dụng cụm từ "thâm nhập" để mô tả một cuộc tấn công nhằm vào hệ thống máy tính. Trong một bài báo, Ware đã đề cập đến các hệ thống chia sẻ thời gian có thể truy cập từ xa của quân đội, và cảnh báo rằng "Phải lường trước được những nỗ lực cố ý xâm nhập vào các hệ thống máy tính như vậy". Các đồng nghiệp của ông là Petersen và Turn cũng có cùng quan điểm, họ nhận thấy rằng các hệ thống liên lạc trực tuyến "... rất dễ bị đe dọa đối với quyền riêng tư", bao gồm cả "sự thâm nhập có chủ ý". Bernard Peters của NSA cũng đưa ra quan điểm này, nhấn mạnh rằng đầu vào và đầu ra của máy tính "... có thể cung cấp một lượng lớn thông tin cho một chương trình thâm nhập". Trong hội nghị này, việc xâm nhập vào hệ thống máy tính đã được chính thức xác định là một mối đe dọa lớn đối với các hệ thống máy tính trực tuyến.

== Quy trình thực hiện ==
Quy trình thực hiện kiểm tra đánh giá an toàn bảo mật thông tin bằng Kiểm tra thâm nhập thông thường có 5 bước chính:

1. Lập kế hoạch và trinh sát: đây là bước ngưởi thử nghiệm thu thập các thông tin hệ thống mục tiêu và lập các kịch bản tấn công. Tùy thuộc vào nhu cầu kiểm thử và loại hệ thống, bước này có thể là một thủ tục đơn giản hoặc phức tạp. Nếu chưa xác định chính xác loại lỗ hổng nào cần đánh giá thì người thử nghiệm sẽ phải dành một lượng thời gian và nguồn lực đáng kể để thu thập thông tin và lập các kịch bản có thể.
2. Quét, rà soát hệ thống: bước này là người thử nghiệm sẽ tìm hiểu cách ứng dụng mục tiêu sẽ phản ứng với các yếu tố xâm nhập khác nhau. Giai đoạn này người thử nghiệm thường sẽ kết hợp sử dụng các công cụ quét lỗ hổng bảo mật, đồng thời sẽ tiến hành thử nghiệm thăm dò một phản ứng phản tại các điểm tấn công theo kịch bản. Nếu đây là quá trình kiểm thử hộp trắng, người thử nghiệm cũng tiến hành rà soát code tĩnh để đánh giá những lỗi có thể dẫn đến lỗ hổng bị khai thác, và thử nghiệm phản ứng tại các vị trí này.
3. Chiếm quyền truy nhập: đây là bước khai thác các lỗ hổng tìm được để chiếm quyền truy nhập hệ thống ở các cấp độ khác nhau hoặc có thể thực hiện leo thang đặc quyền từ các quyền người dùng cấp thấp được cung cấp (kiểm thử gray box, white box) lên các cấp quản trị cao hơn.
4. Khai thác quyền truy nhập: bước này được thực hiện nhằm đánh giá xem liệu lỗ hổng có thể được sử dụng để khai thác lâu dài trong hệ thống bị xâm nhập hay không, các quyền chiếm được hoặc các lỗ hổng khai thác được có thể giúp hacker truy cập được tối đa đến các dữ liệu nào trong hệ thống nhằm đánh giá thiệt hại tối đa có thể sảy ra nếu hacker khai thác triệt để lỗ hổng bảo mật này.
5. Phân tích đánh giá: tổng hợp báo cáo đánh giá bao gồm các lỗ hổng bảo mật, mức độ nguy hiểm, các dữ liệu, thông tin hay thao tác quản trị mà hacker có thể truy cập hay thực hiện được nhờ khai thác các lỗ hổng này, khuyến nghị một số phương thức vá lỗi hoặc khắc phục.
Khi một kẻ tấn công đã khai thác được một lỗ hổng, chúng có thể tiếp tục chiếm quyền quyền truy cập vào các máy khác và quá trình này lại lặp lại, tức là chúng tìm kiếm các lỗ hổng mới và cố gắng khai thác chúng.

== Phân loại ==
=== Theo phạm vi ===
- Black box (kiểm thử hộp đen): đây là phương thức kiểm tra "đóng" nhất. Ở loại kiểm thử này, người thử nghiệm không được cung cấp trước bất kỳ thông tin nào. Trong trường hợp người kiểm thử sẽ tiếp cận thâm nhập như một kẻ tấn công không có đặc quyền, truy cập từ ngoài hệ thống và thực thi tấn công cho đến khai thác được lỗ hổng bảo mật. Kịch bản dạng này có thể được coi là xác thực nhất, chứng minh kẻ tấn công không có kiến thức bên trong vẫn có thể thâm nhập được vào hệ thống.
- White box (kiểm thử hộp trắng): đây là phương thức kiểm tra "mở" nhất. Ở kiểm thử thâm nhập hộp trắng, người thử nghiệm sẽ được cung cấp trước các thông tin về hệ thống, bao gồm việc chia sẻ thông tin mạng và hệ thống đầy đủ như bản đồ mạng, thông tin đăng nhập, thậm chí cả mã nguồn hệ thống. Điều này giúp tiết kiệm thời gian và giảm chi phí tổng thể cho các bước lập kế hoạch và trinh sát. Thử nghiệm thâm nhập hộp trắng rất hữu ích để mô phỏng một cuộc tấn công có chủ đích vào một hệ thống cụ thể bằng cách sử dụng càng nhiều phương thức tấn công càng tốt.
- Gray box (kiểm thử hộp xám): đây là phương thức tấn công kết hợp, lai giữa hộp đen và hộp trắng. Ở loại kiểm thử này người thử nghiệm được cung cấp trước một số thông tin về hệ thống nhưng không đầy đủ. Thông thường, người thử nghiệm sẽ được cung cấp các thông tin giả định như là một tin tặc (hacker) đượ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 dưới vai trò như một nhân viên của doanh nghiệp.

=== Theo loại hệ thống mục tiêu ===
- Kiểm thử hệ thống trong/ngoài mạng
- Kiểm thử hệ thống dùng mạng không dây
- Kiểm thử hệ thống ứng dụng Web
- Kiểm thử hệ thống ứng dụng mobile
- Đánh giá phiên bản và cấu hình hệ thống

== Công cụ ==
Có rất nhiều công cụ đánh giá bảo mật có sẵn để hỗ trợ kiểm tra thâm nhập, bao gồm cả các phần mềm miễn phí và phần mềm thương mại. Một số nền tảng phần mềm phổ biến phải kể đến như:

- Nmap
- Nessus
- BackBox
- Metasploit

Ngoài ra một số bản phân phối hệ điều hành hướng tới thử nghiệm thâm nhập có sẵn nhiều công cụ đặc biệt như:

- Kali Linux (được thay thế bằng BackTrack vào tháng 12 năm 2012) phát triển dựa trên Debian
- Parrot Security OS phát triển dựa trên Debian
- Pentoo phát triển dựa trên Gentoo
Sự xuất hiện của trí tuệ nhân tạo (AI) đã làm tăng đồng thời năng lực tấn công mạng của các hacker và khả năng phòng thủ và bảo mật của các nhà quản trị mạng lên đáng kể. Nhờ vào khả năng tự động hóa các công việc lặp đi lặp lại và tránh được các điểm mù về nhận thức con người hay gặp phải, các thuật toán học máy có khả năng phân tích một lượng thông tin khổng lồ để tìm ra các lỗ hổng bảo mật mà trước đây không thể phát hiện được, dẫn đến sự ra đời của nhiều công cụ kiểm thử ứng dụng công nghệ AI.

== Dịch vụ kiểm tra thâm nhập ==
Dịch vụ kiểm tra thâm nhập là một trong các dịch vụ kiểm tra, đánh giá an toàn thông tin là được các cá nhân, nhóm an ninh mạng hoặc một số công ty chuyên về bảo mật và an ninh mạng cung cấp. Ở nhiều nước trên thế giới, dịch vụ này đã được tiêu chuẩn hoá và quy định chị tiết.

Tại Mỹ, Cơ quan Quản lý Dịch vụ Tổng hợp (GSA) đã tiêu chuẩn hóa dịch vụ "kiểm tra thâm nhập" như một dịch vụ hỗ trợ kiểm tra trước, để nhanh chóng giải quyết các lỗ hổng tiềm ẩn và ngăn chặn tấn công trước khi chúng tác động đến hệ thống của chính quyền liên bang, tiểu bang và địa phương. Các dịch vụ này thường được gọi là Dịch vụ an ninh mạng thích ứng cao (HACS) và được liệt kê tại trang web GSA Advantage của Hoa Kỳ.

Tại Vương quốc Anh, các dịch vụ kiểm tra khả năng thâm nhập được tiêu chuẩn hóa thông qua các cơ quan chuyên môn phối hợp với Trung tâm An ninh mạng Quốc gia (NCSC).

Tại Việt Nam, dịch vụ Kiểm tra thâm nhập cũng như các dịch vụ bảo mật và an toàn thông tin khác chưa được chuẩn hoá và quy định rõ ràng. Ngày 8 tháng 12 năm 2021, vấn đề về "quy định về điều kiện kinh doanh sản phẩm dịch vụ an ninh mạng" mới được đưa ra bàn thảo ở quốc hội để xem xét.

== Xem thêm ==
- Hacker
- An ninh mạng

== Đọc thêm ==
- Long, Johnny (2011). "Google Hacking for Penetration Testers", Elsevier.
- The Definitive Guide to Penetration Testing