Bối cảnh và vấn đề nghiên cứu

Sự phát triển của hạ tầng công nghệ thông tin và Internet đã biến không gian mạng thành nền tảng vận hành cốt lõi cho các cá nhân, doanh nghiệp và tổ chức chính phủ. Đi kèm với tiện ích kinh tế - xã hội là nguy cơ gia tăng các cuộc tấn công mạng nhằm chiếm đoạt dữ liệu nhạy cảm. Để chủ động đánh giá độ an toàn và nhận diện lỗ hổng của hệ thống, phương pháp kiểm thử thâm nhập (Penetration Testing) được ứng dụng rộng rãi. Phương pháp này mô phỏng các kỹ thuật tấn công thực tế nhằm phát hiện sơ hở trước khi kẻ xấu lợi dụng.

Mặc dù các công cụ hỗ trợ như Metasploit Framework, Nmap, Nessus hay OpenVAS đã trợ giúp đáng kể cho chuyên viên an toàn thông tin, quá trình kiểm thử phần lớn vẫn phụ thuộc vào thao tác thủ công của con người. Người kiểm thử phải có kiến thức chuyên sâu để phân tích thông tin dịch vụ, lựa chọn module khai thác và cấu hình tham số tương ứng. Trong bối cảnh quy mô hệ thống mạng ngày càng mở rộng và nguồn nhân lực an toàn thông tin chất lượng cao còn thiếu hụt, quy trình thủ công dễ phát sinh sai sót và tiêu tốn nhiều thời gian. Xuất phát từ thực tế này, đề tài nghiên cứu giải pháp tự động hóa quy trình kiểm thử thâm nhập bằng cách tích hợp kỹ thuật học máy.

Mục tiêu nghiên cứu của khóa luận được xác định cụ thể gồm hai nội dung:

  1. Xây dựng công cụ kiểm thử thâm nhập tự động.
  2. Ứng dụng phương pháp học tăng cường sâu (Deep Reinforcement Learning) nhằm tăng hiệu quả khai thác (rút ngắn thời gian, tăng tỷ lệ khai thác thành công và tích lũy tri thức cho các lần kiểm thử tiếp theo).

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Quy trình kiểm thử thâm nhập tự động; các giải thuật học tăng cường sâu (DQN, A3C); khung khai thác Metasploit Framework.
  • Phạm vi nghiên cứu: Công cụ được kế thừa và phát triển dựa trên kiến trúc DeepExploit (của tác giả Isao Takaesu công bố tại Black Hat USA 2018 Arsenal); tập trung vào hai giai đoạn đầu của quy trình kiểm thử thâm nhập gồm quét thu thập thông tin và khai thác lỗ hổng trực tiếp trên máy chủ mục tiêu thông qua Metasploit trong điều kiện mạng lý tưởng; môi trường thực nghiệm tập trung vào hệ thống chứa lỗ hổng giả lập Metasploitable2.

Cơ sở lý thuyết và phương pháp

Khóa luận xây dựng hệ thống dựa trên các nền tảng lý thuyết an toàn thông tin và học máy chuyên sâu:

  • Khung tiêu chuẩn và quy trình kiểm thử thâm nhập: Nghiên cứu tham chiếu các tiêu chuẩn như Open Source Security Testing Methodology Manual (OSSTMM) do ISECOM ban hành và các tài liệu của Open Web Application Security Project (OWASP), đặc biệt là báo cáo rủi ro an ninh ứng dụng web OWASP Top 10 (so sánh các hạng mục thay đổi giữa năm 2017 và 2021 như Injection, Broken Access Control, Cryptographic Failures, SSRF). Quy trình kiểm thử chuẩn được chia làm các bước kế tiếp nhau: Thu thập thông tin (Information Gathering) $\rightarrow$ Khai thác lỗ hổng (Exploitation) $\rightarrow$ Leo thang đặc quyền/hậu khai thác (Post-exploitation) $\rightarrow$ Xóa dấu vết (Erasing evidence).
  • Công cụ hỗ trợ khai thác: Hệ thống sử dụng Nmap để quét cổng, phát hiện hệ điều hành và dịch vụ mạng; Metasploit Framework đóng vai trò môi trường thực thi khai thác với cấu trúc dạng module, sử dụng kỹ thuật DLL Injection để triển khai Meterpreter Shell trên hệ thống đích nhằm chiếm quyền kiểm soát.
  • Lý thuyết học tăng cường (Reinforcement Learning - RL): Bài toán ra quyết định được mô hình hóa theo Quy trình quyết định Markov (Markov Decision Process - MDP) biểu diễn bởi bộ 4 thuộc tính $(S, A, P, R)$, trong đó $S$ là không gian trạng thái, $A$ là không gian hành động, $P$ là xác suất chuyển trạng thái và $R$ là hàm phần thưởng. Tác nhân (Agent) tối ưu hóa hàm giá trị trạng thái $V(s)$ và hàm giá trị hành động $Q(s, a)$ thông qua phương trình Bellman, đồng thời cân bằng giữa khai phá (exploration) và khai thác (exploitation) bằng chiến lược $\epsilon$-greedy.
  • Học tăng cường sâu (Deep Reinforcement Learning - DRL): Để khắc phục hạn chế bùng nổ không gian trạng thái của Q-Learning dạng bảng (Tabular Q-Learning), tác giả ứng dụng Deep Q-Network (DQN) kết hợp mạng nơ-ron xấp xỉ hàm, kỹ thuật bộ nhớ phát lại kinh nghiệm (Experience Replay) và mạng mục tiêu cố định (Fixed Target Q-Network). Nâng cao hơn, nghiên cứu triển khai giải thuật Asynchronous Advantage Actor-Critic (A3C) với ba đặc tính:
    • Asynchronous: Huấn luyện song song nhiều tác nhân trên các bản sao môi trường độc lập, cập nhật bất đồng bộ về mạng trung tâm (Global Network) giúp tăng tốc độ hội tụ.
    • Advantage: Sử dụng hàm lợi thế $A(s, a) = Q(s, a) - V(s)$ để đánh giá mức độ vượt trội của hành động so với giá trị trung bình.
    • Actor-Critic: Tách biệt mạng Actor (dự đoán phân phối chính sách hành động $\pi$) và mạng Critic (ước lượng hàm giá trị trạng thái $V$).

Phương pháp nghiên cứu thực nghiệm được triển khai thông qua việc kết nối mô hình học sâu viết bằng Python (sử dụng Keras/TensorFlow) với Metasploit Framework qua giao thức điều khiển từ xa. Nguồn dữ liệu huấn luyện và kiểm thử được trích xuất trực tiếp từ các phiên quét thông tin dịch vụ và phản hồi thực thi khai thác trên máy ảo Metasploitable2.


Thiết kế và triển khai hệ thống

Hệ thống được thiết kế theo kiến trúc module hóa với ba khối chức năng hoạt động hoàn toàn tự động:

Khối chức năng Công nghệ / Giao diện triển khai Nhiệm vụ chính trong hệ thống
Thu thập thông tin Nmap tích hợp qua Metasploit Framework Quét các cổng mở, xác định tên dịch vụ, phiên bản ứng dụng và hệ điều hành mục tiêu để chuyển hóa thành vector trạng thái cho RL.
Khai thác lỗ hổng Module A3C kết nối Metasploit RPC API Dựa trên trạng thái dịch vụ, mạng nơ-ron lựa chọn module khai thác, payload và target phù hợp; tự động thực thi tấn công qua Metasploit.
Tạo báo cáo Trình sinh tài liệu tự động Xuất kết quả kiểm thử ra tệp định dạng HTML trực quan, tổng hợp danh sách các lỗ hổng và phiên Meterpreter chiếm quyền thành công.

Cơ chế liên kết và điều khiển giữa mô hình học máy và Metasploit Framework được thiết lập qua giao diện RPC (Remote Procedure Call). Tác giả kích hoạt plugin msgrpc trên giao diện điều khiển msfconsole thông qua cú pháp:

load msgrpc ServerHost=[HostIP] ServerPort=[Port] User=[username] Pass=[password]

Sau khi plugin được nạp, mô hình học máy đóng vai trò máy khách gửi các yêu cầu API chuẩn tới Metasploit, bao gồm:

  • auth.login: Xác thực phiên làm việc với dịch vụ RPC.
  • console.create: Tạo mới một phiên điều khiển ảo msfconsole.
  • console.write: Đẩy chuỗi lệnh khai thác, cấu hình RHOST, RPORT, PAYLOAD vào console.
  • console.read: Đọc dữ liệu phản hồi, kiểm tra xem phiên Meterpreter đã được tạo thành công hay chưa để phản hồi phần thưởng (Reward) về cho tác nhân học tăng cường.

Quy trình vận hành chia làm hai chế độ rõ rệt:

  1. Chế độ huấn luyện (Training Mode): Hệ thống khởi tạo nhiều luồng (threads) tương ứng với các tác nhân phụ chạy bất đồng bộ. Mỗi tác nhân tự động quét, gửi lệnh khai thác thử nghiệm lên máy chủ mục tiêu, nhận phần thưởng từ môi trường để tính toán hàm mất mát và cập nhật trọng số cho Global Network.
  2. Chế độ kiểm thử (Testing Mode): Tác nhân sử dụng trọng số mạng nơ-ron tối ưu đã huấn luyện để quét và chọn ra hành động khai thác chính xác nhất đối với mục tiêu cụ thể, không thực hiện cập nhật trọng số mà chỉ ghi nhận kết quả để xuất báo cáo.

Nội dung chính theo từng chương

Chương 1: Tổng quan đề tài

Chương mở đầu phân tích sự cần thiết của kiểm thử thâm nhập trong bảo mật hiện đại và chỉ ra các rào cản của phương thức kiểm thử thủ công như áp lực về thời gian, trình độ nhân sự và rủi ro bỏ sót lỗ hổng. Tác giả đặt ra bài toán tự động hóa kiểm thử thâm nhập bằng học tăng cường sâu, xác định rõ hai mục tiêu nghiên cứu và giới hạn phạm vi đề tài vào việc khai thác tự động máy chủ mục tiêu thông qua Metasploit trong môi trường giả lập. Cấu trúc toàn khóa luận gồm 5 chương được phác thảo chi tiết.

Chương 2: Cơ sở lý thuyết

Chương này cung cấp hệ thống lý thuyết nền tảng và khảo cứu các công trình liên quan:

  • Trình bày toàn diện về kiểm thử thâm nhập, quy trình chuẩn, các chuẩn bảo mật như OWASP Top 10 (2017 và 2021), cùng các công cụ phổ biến như Nmap và Metasploit Framework.
  • Phân tích nguyên lý học tăng cường từ bài toán Quy trình quyết định Markov (MDP), các phương pháp cơ bản như Q-Learning, hạn chế của việc xấp xỉ dạng bảng đối với không gian trạng thái lớn, quá trình chuyển đổi sang Deep Q-Network (DQN) với kỹ thuật Experience Replay và Target Network.
  • Trình bày chi tiết giải thuật Asynchronous Advantage Actor-Critic (A3C), cấu trúc toán học của Policy Gradient, Actor-Critic và việc cập nhật bất đồng bộ giữa các luồng.
  • Đánh giá các công trình nghiên cứu tiền nhiệm:
    • Nghiên cứu của Zhenguo Hu và cộng sự: Kết hợp Shodan, MulVAL, thuật toán DFS và DQN trên 2000 kịch bản huấn luyện, 1000 kịch bản kiểm thử, đạt độ chính xác 0,86 trong việc tìm đường tấn công tối ưu. Tác giả chỉ ra hạn chế của công trình này là chỉ tập trung phân tích đường đi trên sơ đồ mạng chứ không thực hiện khai thác trực tiếp mục tiêu.
    • Nghiên cứu của Ryusei Maeda và cộng sự: Tập trung vào giai đoạn hậu khai thác với 204 module PowerShell Empire, so sánh thuật toán A2C với Q-Learning và SARSA. Tác giả nhận định việc gán phần thưởng riêng rẽ cho từng module của nghiên cứu này thiếu tính khách quan và khó mở rộng quy mô.
    • Công cụ DeepExploit của Isao Takaesu (Black Hat USA 2018 Arsenal): Ứng dụng A3C kết hợp Metasploit. Tác giả khóa luận nhận thấy mã nguồn DeepExploit gốc tại thời điểm nghiên cứu đã phát sinh lỗi vận hành, đồng thời chưa có các công bố khoa học đánh giá định lượng hiệu suất thực tế trên mô hình máy học hiện hành.

Chương 3: Phương pháp thực hiện

Chương 3 đi sâu vào thiết kế kỹ thuật của công cụ:

  • Xây dựng mô hình kiến trúc tổng thể dựa trên việc kết nối giữa tác nhân A3C và máy chủ Metasploit qua RPC API.
  • Định nghĩa chi tiết luồng xử lý 3 giai đoạn: thu thập thông tin dịch vụ bằng Nmap, chuyển đổi dữ liệu thu thập thành không gian trạng thái (State), thực thi khai thác tự động và tạo báo cáo HTML.
  • Mô tả quy trình lập trình giao tiếp Metasploit qua plugin msgrpc, định dạng dữ liệu gửi qua API và cách bóc tách kết quả từ các phiên điều khiển ảo để trả về trạng thái môi trường.
  • Thiết lập chi tiết hai luồng hoạt động riêng biệt: luồng huấn luyện đa luồng (A3C Training Workflow) và luồng khai thác thực tế (Testing Workflow).

Chương 4: Hiện thực, đánh giá và thảo luận

Chương thực nghiệm trình bày chi tiết các thông số triển khai kỹ thuật và phân tích dữ liệu:

  • Trình bày cấu hình môi trường máy ảo phục vụ kiểm thử và cài đặt công cụ.
  • Thiết lập các cấu hình thử nghiệm mạng nơ-ron khác nhau đối với mô hình A3C.
  • Phân tích kết quả đào tạo qua việc thay đổi số lượng luồng thực thi song song (threads) và số lần thử (episodes), cụ thể đối chiếu giữa các kịch bản:
    • Trường hợp 20 threads và 6000 lần thử.
    • Trường hợp 20 threads và 10000 lần thử.
    • Trường hợp 10 threads và 10000 lần thử.
  • Đánh giá khả năng khai thác thực tế trên máy ảo mục tiêu Metasploitable2, phân tích tốc độ hội tụ hàm mất mát, thời gian hoàn thành phiên kiểm thử và mức độ chính xác khi lựa chọn payload khai thác.

Chương 5: Kết luận và hướng phát triển

Tổng kết toàn bộ nội dung đã thực hiện được của khóa luận về mặt xây dựng phần mềm và ứng dụng giải thuật học tăng cường. Khẳng định mức độ khả thi của việc tự động hóa kiểm thử thâm nhập. Đồng thời, tác giả nêu ra những điểm còn tồn tại và đề xuất các phương hướng mở rộng hệ thống cho các giai đoạn tiếp theo.


Kết quả và đóng góp

Nghiên cứu đạt được các kết quả kỹ thuật và đóng góp học thuật cụ thể:

  1. Xây dựng hoàn chỉnh công cụ kiểm thử thâm nhập tự động: Hiện thực hóa thành công phần mềm có khả năng tự động thực thi chu trình từ quét cổng, nhận diện dịch vụ, tự chọn module/payload khai thác qua Metasploit Framework đến tự động xuất báo cáo kết quả ở dạng HTML.
  2. Triển khai thành công mô hình học tăng cường sâu phân tán (A3C): Ứng dụng giải thuật A3C để giải quyết bài toán ra quyết định trong không gian hành động lớn của Metasploit; tận dụng cơ chế đa luồng bất đồng bộ nhằm rút ngắn thời gian huấn luyện mô hình so với các phương pháp Q-Learning truyền thống.
  3. Thực nghiệm và đánh giá định lượng: Thực hiện kiểm thử trên môi trường máy ảo mục tiêu Metasploitable2 với các thông số cấu hình cụ thể về số luồng (10 threads, 20 threads) và số tập huấn luyện (6000 lần thử, 10000 lần thử), kiểm chứng sự khác biệt về hiệu quả đào tạo giữa các cấu hình mạng.
  4. Khắc phục hạn chế của các nghiên cứu trước:
    • Khác với công trình của Zhenguo Hu (chỉ dừng ở mức tìm đường tấn công trên lý thuyết), công cụ của đề tài trực tiếp tương tác và chiếm quyền điều khiển hệ thống qua phiên Meterpreter thật.
    • Khắc phục nhược điểm của Ryusei Maeda (chỉ tập trung vào hậu khai thác với module cấu hình thủ công) bằng cách tự động hóa từ giai đoạn đầu dựa trên thông tin dịch vụ thực tế.
    • Sửa chữa các lỗi vận hành của mã nguồn DeepExploit nguyên bản, bổ sung số liệu đánh giá thực nghiệm cho mô hình học máy.

Hạn chế và hướng nghiên cứu tiếp

Các hạn chế được văn bản khóa luận chỉ ra:

  • Môi trường thử nghiệm còn giới hạn trong điều kiện lý tưởng nội bộ, tập trung vào máy ảo Metasploitable2 với các dịch vụ đã biết, chưa đánh giá trên các hệ thống thực tế có cấu trúc liên kết mạng phức tạp.
  • Khả năng khai thác phụ thuộc hoàn toàn vào cơ sở dữ liệu module có sẵn của Metasploit Framework; chưa hỗ trợ phát hiện hoặc khai thác các lỗ hổng zero-day chưa được công bố.
  • Chưa tích hợp đầy đủ các kỹ thuật vượt tường lửa (firewall), hệ thống phát hiện/ngăn chặn xâm nhập (IDS/IPS) hoặc cơ chế xóa dấu vết tấn công nâng cao.

Hướng nghiên cứu tiếp:

  • Mở rộng phạm vi thử nghiệm sang các môi trường mục tiêu đa dạng hơn (nhiều hệ điều hành và phiên bản dịch vụ hiện đại).
  • Tối ưu hóa sâu hơn kiến trúc mạng nơ-ron và hàm phần thưởng để tăng tốc độ hội tụ trong các kịch bản mạng quy mô lớn.
  • Bổ sung và hoàn thiện giai đoạn hậu khai thác (post-exploitation) tự động sau khi đã có được phiên Meterpreter.

Giá trị tham khảo

Khóa luận là tài liệu tham khảo phù hợp cho sinh viên, học viên cao học và kỹ sư thuộc chuyên ngành An toàn thông tin, Mạng máy tính và Truyền thông, cũng như Khoa học máy tính chuyên định hướng Trí tuệ nhân tạo ứng dụng.

Các nội dung có giá trị tham khảo chuyên môn cao bao gồm:

  • Phương pháp luận chuyển đổi bài toán an ninh mạng (kiểm thử thâm nhập) thành bài toán học máy dạng Quy trình quyết định Markov (MDP).
  • Hướng dẫn kỹ thuật chi tiết về việc kết nối và điều khiển Metasploit Framework thông qua giao diện lập trình msgrpc (Metasploit RPC API).
  • Mô hình kiến trúc và kinh nghiệm thực nghiệm khi triển khai giải thuật Asynchronous Advantage Actor-Critic (A3C) đa luồng để tự động hóa các tác vụ bảo mật.

Câu hỏi thường gặp

1. Cơ chế nào giúp mô hình học tăng cường ra lệnh và nhận phản hồi trực tiếp từ Metasploit Framework?

Mô hình kết nối với Metasploit thông qua giao diện lập trình ứng dụng từ xa Metasploit RPC API. Để kích hoạt, tác giả sử dụng lệnh load msgrpc trên giao diện điều khiển msfconsole. Mô hình học sâu sẽ gửi các gói tin điều khiển (gọi các hàm như auth.login, console.create, console.write) để đưa lệnh khai thác vào console ảo, sau đó gọi hàm console.read để bóc tách thông báo phản hồi và kiểm tra trạng thái khởi tạo thành công của phiên Meterpreter.

2. Điểm khác biệt mấu chốt giữa khóa luận này và nghiên cứu của nhóm tác giả Zhenguo Hu là gì?

Nghiên cứu của Zhenguo Hu và cộng sự tập trung vào việc tìm đường tấn công tối ưu (optimal attack path) trên một cấu trúc tô-pô mạng dựa vào dữ liệu Shodan, MulVAL và thuật toán tìm kiếm theo chiều sâu (DFS) kết hợp DQN. Công trình đó chỉ đưa ra giải pháp đường dẫn trên lý thuyết, trong khi khóa luận này tập trung xây dựng công cụ thực thi tấn công trực tiếp, tương tác với các cổng và dịch vụ trên máy chủ mục tiêu để giành quyền điều khiển thông qua Meterpreter.

3. Tại sao giải thuật A3C được lựa chọn thay thế cho Q-Learning truyền thống?

Q-Learning truyền thống sử dụng bảng tra cứu giá trị (Q-table), dễ gặp hiện tượng bùng nổ không gian trạng thái khi số lượng dịch vụ, cổng và module khai thác của hệ thống mạng rất lớn. A3C khắc phục nhược điểm này bằng cách sử dụng mạng nơ-ron sâu xấp xỉ hàm, đồng thời chạy nhiều tác nhân song song bất đồng bộ (Asynchronous) trên các bản sao môi trường, kết hợp hàm lợi thế (Advantage) giúp mô hình học nhanh hơn và ổn định hơn.

4. Môi trường nào được sử dụng làm mục tiêu thử nghiệm khai thác trong nghiên cứu?

Nghiên cứu tập trung đánh giá thực nghiệm trên môi trường máy ảo chứa các lỗ hổng bảo mật giả lập có sẵn mang tên Metasploitable2, vận hành trong điều kiện mạng nội bộ lý tưởng.

5. Công cụ tự động sinh báo cáo sau quá trình kiểm thử như thế nào?

Sau khi hoàn tất quá trình quét và thực thi các module khai thác trên máy chủ mục tiêu, công cụ tự động tổng hợp danh sách các dịch vụ bị ảnh hưởng và các phiên tấn công thành công để xuất ra một tệp báo cáo dạng HTML trực quan, hỗ trợ người kiểm thử quan sát và thẩm định lỗ hổng.


Kết luận

Khóa luận tốt nghiệp của sinh viên Nguyễn Xuân Như và Lê Văn Hoàng đã giải quyết thành công bài toán tự động hóa kiểm thử thâm nhập máy chủ mục tiêu bằng cách kết hợp khung Metasploit Framework với mô hình học tăng cường sâu Asynchronous Advantage Actor-Critic (A3C). Đề tài đã xây dựng hoàn chỉnh công cụ có khả năng tự động quét dịch vụ, lựa chọn module tấn công, điều khiển Metasploit qua RPC API và kết xuất báo cáo HTML trực quan. Các kết quả đánh giá thực nghiệm trên môi trường Metasploitable2 chứng minh tính khả thi của việc tích hợp học máy vào lĩnh vực an toàn thông tin, đặt nền móng cho các hướng phát triển công cụ đánh giá an ninh mạng tự động trong tương lai.