Bên cạnh đó, sử dụng phương pháp lựa chọn mã khai thác một cách ngẫu nhiên, bộ khung nói trên gặp nhiều hạn chế và gây lãng phí tài nguyên và thời gian Từ những hạn chế đó, nhóm nghiên c
Trang 1ĐẠI HỌC QUOC GIA HO CHÍ MINH
TRƯỜNG DAI HỌC CÔNG NGHỆ THONG TIN
KHOA MẠNG MAY TÍNH VÀ TRUYEN THONG
NGUYÊN VĂN THỌ - 20521974
LÊ THÀNH ĐẠT - 20521168
KHÓA LUẬN TỐT NGHIỆP
BỘ KHUNG KIEM THU XÂM NHAP CÓ TÍCH LUY
KINH NGHIỆM VÀ TỐI ƯU PAYLOAD DỰA TRÊN
HỌC TĂNG CƯỜNG
A PENETRATION TESTING FRAMEWORK WITH EXPERIENCE ACCUMULATION AND PAYLOAD CUSTOMIZATION USING REINFORCEMENT LEARNING
GIANG VIEN HUGNG DAN:
TS Pham Van Hậu
ThS Phan Thế Duy
TP.H6 Chi Minh, 2024
Trang 2LỜI CẢM ƠN
Trong quá trình nghiên cứu và hoàn thành khoá luận , nhóm đã nhận được
sự định hướng, giúp đỡ, các ý kiến đóng góp quý báu và những lời động viên của giáo viên hướng dẫn và giáo viên bộ môn Nhóm xin bày tỏ lời cảm ơn tới thầy Phạm Văn Hậu, thầy Phan Thế Duy đã tận tình trực tiếp hướng dẫn, giúp đỡ
trong quá trình nghiên cứu.
Nhóm xin gửi lời cảm ơn đến gia đình và bạn bè đã động viên, đóng góp ý
kiến trong quá trình hoàn thiện khoá luận.
Nhóm chân thành cam ơn các quý thay cô trường Dai học Công nghệ Thông tin - DHQG TP.HCM, đặc biệt là các thầy cô khoa Mạng máy tính và Truyền
thông, các thầy cô thuộc bộ môn An toàn Thông tin đã giúp đỡ nhóm.
Nguyễn Văn Thọ Lê Thành Đạt
Trang 3CHƯƠNG 1 TONG QUAN 3
11 Giới thiéu van dé 2 v2 3
1.2 Phuong pháp nghiên cttu 2 2.2.22000.% 4
1.3 Mục tiêu, đối tượng, và phạm vi nghiên cứu 5
1.3.2 Phạm vi và Đối tượng nghiên cứu 5
1.4 Cấu tric Khóa luận tốt nghiệp 6
CHƯƠNG 2 CƠ SỞ LÝ THUYET 8
2.2.4 Tổng quan mô hình học tăng cường 18
Trang 42.2.5 Q-Network 2 0.00000 000 eee eee eee 19
2.3 Học tăng cường sâu ee 20
2.3.1 Deep Q-Network 0 0.000 00004 21
2.3.2 Asynchronous Advantage Actor-Critic (A3C) 23
2.3.3 Proximal Policy Optimization (PPO) 25 2.3.4 Distributed Proximal Policy Optimization (DPPO) 27
2.5 Tình hình nghiên cứu và các công trình liên quan 30
CHƯƠNG 3 PHƯƠNG PHÁP THỰC HIỆN 35
3.1 Kién trúc tổng quất ca 35
3.2 Phuong phấp xây dựng 36
3.2.1 Ludng hoạt động chnh - 36
3.2.2 Metasploit FTamework co 39
3.2.3 Xây dung mô hình học máy của Reinforcement Learning 40
3.2.4 Luong hoạt động chi tiết 43
CHƯƠNG 4 HIEN THUC VÀ DANH GIA, THẢO LUẬN 48
41 Hienthuc Ư ƯA 48
4.1.1 Xây dựng c6ngcu 202.000.0008 48 4.1.2 Môi trường thực nghiệm 54
4.2 Kết quả thực nghiệm và thảo luận 57
Trang 5TÀI LIỆU THAM KHẢO
lv
72
Trang 6DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIET TAT
5 Không gian các trạng thái
St Trang thái môi trường tại lượt t
Trang 7DANH MỤC CÁC HÌNH VE
Hình 1.1 Xếp hạng rủi ro toàn cầu trong các lĩnh vực ở hai hạng mục
ngắn hạn và dài hạn 0 cee eee
Hình 2.1 Hình ảnh mô tả OWASP Top 10 năm 2017 và sự thay đổi
Hình 2.2 Hình ảnh mô tả những bước chính của quá trình kiểm thử
tham nhập l2 x mm wis‘ —.c.
Hình 23 Hình ảnh mô tả thông tin trả về trong một ví dụ sử dung
Hình 2.5 Hình ảnh mô ta quá trình thiết lập kết nối giữa Metasploit
và máy chủ mục tiỀU co Hình 2.6 Vòng lặp tương tac giữa tác tử và môi trường
Hình 2.7 Mô hình học tăng cuw6ng 2 0 2.0040.
Hình 2.8 Hình ảnh mô tả việc sử dụng mạng nơ-ron đơn giản thay
Hình 2.9 Hình ảnh mô tả cấu trúc của A3C với 2 tác tử
Hình 3.1 Hình ảnh mô tả kiến trúc tổng quát của công cụ Shennina+
Hình 3.2 Hình anh mô tả mô hình học tăng cường của công cu
Hình 3.3 Luồng hoạt động của công cụ ở chế độ huấn luyén
Hình 3.4 Luồng hoạt động của Recon Agent ở chế độ kiểm thử
36 43
45
Hình 3.5 Luồng hoạt động day đủ của Exploit Agent ở chế độ kiểm thử 47
Hình 4.1 Mô hình huấn luyện của công cụ Shenninat+
Hình 4.2 Biểu đồ giá trị mất mát của thuật toán A3C_
Trang 8Kết quả thử nghiệm trên môi trường G7
Mẫu báo cáo sau khi công cụ khai thác thành công 68
Trang 9DANH MUC CAC BANG BIEU
Bang 2.1 Bảng so sánh các công trình nghiên cứu liên quan 33
Bang 2.2 Bảng so sánh các công trình nghiên cứu liên quan (tiếp theo) 34
Bảng 4.1 Bảng thông tin cấu hình máy cài đặt công cụ 54
Bang 4.2 Thong tin các lỗ hổng trên môi trường huấn luyện 55
Bảng 4.3 Thong tin các lỗ hong trên môi trường kiểm thử 56
Bang 4.4 Kha năng khai thác của công cu trên môi trường huấn luyện 59
Bang 4.5 Khả năng khai thác của công cụ trên môi trường kiểm thử 59Bảng 4.6 Số lần thử để khai thác thành công trên môi trường huấn
luyện ấ 7 M7 | / ộ 60
Bảng 4.7 Số lần thử để khai thác thành công trên môi trường kiểm thử 61
Bảng 4.8 Các thông tin thu thập được trên môi trường huấn luyện 62
Bảng 4.9 Các thông tin thu thập được trên môi trường kiểm thử 62
Bang 4.10 So sánh hiệu quả giữa các thuật toán trên 500 episodes 63
Bảng 4.11 Thông tin môi trường kiểm thử khả năng tích lũy kinh nghiệm 65
Trang 10TÓM TẮT KHÓA LUẬN
Trong bối cảnh xã hội hiện đại, sự phụ thuộc vào các hệ thống thông tin và
mạng máy tính ngày càng gia tăng Các tổ chức, từ doanh nghiệp nhỏ đến các
tập đoàn lớn, đều dựa vào công nghệ để duy trì hoạt động kinh doanh, quản
ly dit liệu và cung cấp dịch vụ cho khách hàng Điều nay đồng nghĩa với việc
an ninh mạng trở thành một yếu tố sống còn, khi mà các cuộc tấn công mạng
ngày càng tỉnh vi và phức tạp Kiểm thử xâm nhập (penetration testing) là mộttrong những phương pháp quan trọng để đánh giá và cải thiện an ninh của hệ
thống Tuy nhiên, phương pháp này đang phải đối mặt với những thách thức
lớn khi thực hiện bằng phương pháp truyền thống.
1 Sự gia tăng của các mối đe dọa mạng: Các cuộc tấn công mang không
chỉ gia tăng về số lượng mà còn trở nên tỉnh vi hơn, bao gồm tấn công từ chối dịch vụ (DDoS), ransomware, phishing và nhiều loại tấn công khác.
Các tác nhân đe dọa có thé là các nhóm hacker có tổ chức, tội phạm mạng,
hoặc thậm chí là các quốc gia thù địch.
2 Sự phức tap của hệ thống công nghệ thông tin: Các hệ thống mang
hiện đại ngày càng phức tạp với sự kết hợp của nhiều công nghệ khác nhau
như điện toán đám mây, IoT (Internet of Things), và các ứng dụng di động.
Việc kiểm thử và bảo mật cho các hệ thống này trở nên khó khăn hơn bao
giờ hết.
3 Thiếu hụt nhân lực và kỹ năng: Có một sự thiếu hụt đáng kể về các
chuyên gia an ninh mạng có kỹ năng và kinh nghiệm để thực hiện kiểm thử
xâm nhập thủ công Diều này dẫn đến sự chậm trễ và kém hiệu quả trong
việc phát hiện và khắc phục các lỗ hong bao mật
Trang 114 Tính cấp thiết của phản ứng nhanh chóng: Trong môi trường kinh
doanh cạnh tranh hiện nay, khả năng phan ứng nhanh chóng với các mối
de dọa an ninh là vô cùng quan trọng Các lỗ hong bảo mật cần được pháthiện và khắc phục kịp thời để tránh những thiệt hại nghiêm trọng
Trước những thách thức này, kiểm thử xâm nhập tự động hóa trở thành mộtgiải pháp thiết yếu Bằng cách sử dụng các công cụ và kỹ thuật tự động, các tổchức có thể tiến hành kiểm thử xâm nhập một cách nhanh chóng, hiệu quả và
toàn diện hơn Kiểm thử tự động hóa giúp giảm tải công việc cho các chuyên
gia an ninh, nâng cao độ chính xác và nhất quán trong việc phát hiện lỗ hồng,
đồng thời cải thiện khả năng phòng thủ của hệ thống trước các cuộc tấn công
khai thác Bên cạnh đó, sử dụng phương pháp lựa chọn mã khai thác một cách
ngẫu nhiên, bộ khung nói trên gặp nhiều hạn chế và gây lãng phí tài nguyên và
thời gian
Từ những hạn chế đó, nhóm nghiên cứu mong muốn xây dựng một framework với sự hỗ trợ từ mô hình học máy nhằm giúp tự động khai thác toàn diện thông
qua cải thiện hiệu suất thu thập thông tin mục tiêu, tích hợp thêm các công cụ
dd quét phát hiện 16 hong và nâng cao chất lượng các mẫu khai thác tự sinh
Trang 12CHƯƠNG 1 TONG QUAN
Chương này mô ta nền tang va sự cần thiết của việc tiến hành nghiên cứu va
phát triển các công cụ Ngoài ra, nhóm sẽ giới thiệu các nghiên cứu trước đây
và chỉ ra những vấn đề còn tồn tại Mục đích chính của khóa luận là đề xuất
các giải pháp để giải quyết những vấn đề này
1.1 Giới thiệu van dé
2 years 10 years
Cost-ofliving crisis Failure to mitigate climate change
Natural disasters and extreme weather events
Failure of climate-change adaptation
Geoeconomic confrontation Natural disasters and extreme weather
vents Failure to mitigate climate change Biodiversity loss and ecosystem collapse
Erosion of social cohesion and societal polarization
Large-scale involuntary migration
Large-scale environmental damage Natural resource crises
incidents
Erosion of social cohesion and societal polarization
Failure of climate change adaptation
Widespread cybercrime and cyber insecurity Widespread cybercrime and cyber insecurity
Natural resource crises Geoeconomic confrontation
-Risk categories i Economic i Environmental | Geopolitical I Societal | Technological
Hình 1.1: Xếp hạng rủi ro toàn cau trong các lĩnh vuc ở hai hạng muc ngắn
han va dai han
Theo Báo cáo Rui ro Toàn cầu năm 2023 của Diễn đàn Kinh tế Thế giới [2],
đại dịch COVID-19 đã bắt buộc các quốc gia cần phải thúc đẩy việc áp dụng
công nghệ vào mọi lĩnh vực của đời sống Trong kỷ nguyên số hiện tại, sự phát
Trang 13triển nhanh chóng của công nghệ thông tin và mang máy tính đã mang lại nhiều
lợi ích nhưng cũng đặt ra không ít thách thức về an ninh mạng Các tổ chức,
từ doanh nghiệp đến các cơ quan chính phủ đều phải đối mặt với nguy cơ bị tấn công mạng, mất mát dữ liệu, và các thiệt hại nghiêm trọng khác Trong
bối cảnh này, kiểm thử xâm nhập (Penetration Testing) trở thành một công cụkhông thể thiếu để đảm bảo an ninh và bảo mật hệ thống
Kiểm thử thâm nhập là một loại kiểm tra bảo mật được thực hiện nhằm xác
minh liệu một ứng dụng có được cài đặt bảo mật hay không thông qua việc phát
hiện những lỗ hồng trong hệ thống Các lỗ hồng có thể được kiểm tra và tìm ra
trong mỗi quá trình triển khai hoặc vận hành hệ thống hoặc ứng dụng Quan
trọng nhất, kiểm thử thâm nhập tiến hành ở chế độ mũ trắng, trong điều kiện
có sự đồng ý của chủ sở hữu hệ thống nhằm giả lập xâm nhập Trong bài viết
này, một cuộc trình diễn thử thâm nhập sẽ được tiến hành cùng với các dụng
cụ và kỹ thuật [17].
Với tốc độ phát triển vượt bậc của công nghệ thì phương pháp kiểm thử thâm
nhập truyền thống đã không còn phù hợp trong thời đại ngày nay Chính vì thế, chúng tôi nhận thấy việc ứng dụng tự động hoá vào quá trình kiểm thử xâm nhập là một nhu cầu cấp thiết và cần phải xây dựng một công cụ có khả năng thực hiện quá trình này một cách tự động nhằm tiết kiệm tối đa chi phí về thời gian và tài nguyên, đáp ứng nhu cầu về nguồn nhân lực an toàn thông tin đang thiếu hụt hiện nay.
1.2 Phương pháp nghiên cứu
Tìm hiểu quy trình kiểm thử xâm nhâp nhằm xây dựng công cụ kiểm thử thâm nhập hoàn toàn tự động kết hợp phương pháp học tăng cường Thực hiện
thử nghiệm với các mô hình và thuật toán khác nhau để tìm ra được phương
pháp tối ưu nhằm giảm thời gian khai thác, tăng tỉ lệ khai thác thành công đồng thời tích luỹ dữ liệu khai thác cho những lần sử dụng tiếp theo Ngoài ra,
Trang 14chúng tôi tiến hành đánh giá năng lực thực tế của hệ thống và đưa ra hướng
phát triển cho tương lai
1.3 Mục tiêu, đối tượng, và phạm vi nghiên cứu
1.2.1 Mục tiêu nghiên cứu
Khóa luận tốt nghiệp gồm bốn mục tiêu chính sau:
e Nghiên cứu xây dựng công cụ kiểm thử bảo mật có khả năng tự động hoạt
động độc lập với con người.
e Mỏ rộng khả năng khai thác các 16 hong phức tạp, yêu cầu nhiều bước khai
thác hơn so với các công cụ đã có bằng mô hình riêng biệt dùng để do thám
thu thập thông tin.
e Mở rộng khả năng tích lũy kinh nghiệm khai thác cho công cụ sau mỗi lần
huấn luyện.
e Thử nghiệm nhiều thuật toán học tăng cường, với nhiều môi trường khác
nhau, so sánh kết quả để thấy được hiệu suất và đưa ra đề xuất
1.3.2 Pham vi va Đối tượng nghiên cứu
1.8.2.1 Pham vi nghiên cứu
Chúng tôi thực hiện nghiên cứu và xây dung framework Shennina+ dựa trên
các công cụ như Shennina [12], DeepExploit [18|.
Shennina được xây dựng bởi Mazin Ahmed và Khalid Farah trong khuôn khổcuộc thi HITB CyberWeek 2019 AI challenge, công cụ phát triển dựa trên kiến
trúc DeepExploit của Isao Takaesu [18] (Được công bố tại hội nghị Black Hat
USA 2018 Asernal), hai công cụ này sẽ là cơ sở cho chúng tôi xây dựng mô hình
học máy tự động kiểm thử thâm nhập cho framework Shennina+ Bên cạnh đó,
Trang 15chúng tôi sẽ sử dụng phương pháp học tăng cường sâu với mô hình thuật toán
A3C để huấn luyện và lưu trữ dữ liệu khai thác
1.3.2.2 Doi tượng nghiên cứu
e Các công cụ hỗ trợ thu thập thông tin, kiểm thử lỗ hong bảo mật (Nmap,
Metasploit).
e Môi trường chứa lỗ hồng bảo mật tồn tại ở dạng các dịch vụ, ứng dụng hệ
thống (như Metasploitable2).
e Phương pháp hoc tăng cường, học tăng cường sâu.
e Thư viện hỗ trợ máy học như TensorFlow, Keras,
1.4 Cau trúc Khóa luận tốt nghiệp
Chúng tôi xin trình bày nội dung của Khóa luận tốt nghiệp theo cấu trúc
như sau:
e Chương 1: TONG QUAN DE TÀI.
Trình bày khái quát định hướng nghiên cứu của Khóa luận tốt nghiệp mà
chúng tôi muốn hướng tới.
e Chương 2: CO SỞ LÝ THUYET.
Trình bày các định nghĩa, khái niệm cũng như những kiến thức nền tảng
để có thể thực hiện được nghiên cứu Đồng thời trình bày sơ lược một số
công trình liên quan có cùng hướng nghiên cứu.
e Chương 3: PHƯƠNG PHÁP THỰC HIỆN.
Là phần trọng tâm của Khóa luận tốt nghiệp, trình bày những nội dung chính về phương pháp thực hiện và mô hình được sử dụng.
Trang 16e Chương 4: HIEN THUC, ĐÁNH GIA VÀ THẢO LUẬN.
Đề cập đến quá trình hiện thực hóa phương pháp đề cập ở Chương 3 Sau đó trình bày phương pháp thực nghiệm, đánh giá kết quả và thảo luận chung.
e Chương 5: KẾT LUẬN VÀ HUONG PHÁT TRIEN.
Đưa ra kết luận về đề tài, đề xuất một số hướng phát triển mở rộng cho
các nghiên cứu trong tương lai.
Trang 17CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
Chương 2 sẽ trình bày cơ sở lý thuyết của khóa luận, bao gồm cái nhìn tổngquan về kiểm thử thâm nhập và học tăng cường Bên cạnh đó, chúng tôi cũng
trình bày tóm tắt về những công trình nghiên cứu liên quan đến tự động hóa
kiểm thử thâm nhập và những ưu, nhược điểm cũng như sự cải tiến của khóa
luận này so với những nghiên cứu trước đây.
2.1 Kiểm thử thâm nhập
2.1.1 Tổng quan
Kiểm thử thâm nhập là dò quét những 16 hong bảo mật trong hệ thống hoặc
phần mềm nhằm bảo đảm rằng nó không bị khai thác bởi những nhóm hoặc cá
nhân xấu Kiểm thử thâm nhập bao gồm việc dò quét những lỗ hổng về bảo
mật trong SQL injection, cross-site scripting (XSS), cross-site request forgery
(CSRF), và những lỗ hổng bảo mat khác Nó cũng bao gồm việc đánh giá cáccảnh báo bảo mật và các vấn đề bảo mật khác Việc tiến hành kiểm thử thâm
nhập đều đặn và thường xuyên là rất cần thiết để đảm bảo độ tin cậy đối với phần mềm và ứng dụng trong môi trường khoa hoc - kĩ thuật - công nghệ ngày
càng phát triển và các vấn đề an ninh mạng không ngừng gia tăng
Quá trình kiểm thử thâm nhập gồm 5 bước cơ bản:
1 Lập kế hoạch và thu thập thông tin
2 Quét lỗ hồng
3 Xâm nhập - Khai thác lỗ hổng (bằng mã khai thác hoặc kỹ thuật xã hội)
4 Duy trì truy cập
Trang 185 Phân tích kết quả khai thác lỗ hong và tạo báo cáo chỉ tiết
Kiểm thử thâm nhập có thể được thực hiện theo nhiều phương pháp khác
nhau, bao gồm:
1 Black Box Testing: Người kiểm thử không có bất kỳ thông tin nào về hệ
thống trước khi bắt đầu kiểm thử
2 White Box Testing: Người kiểm thử có đầy đủ thông tin về hệ thống,
bao gồm mã nguồn, cấu trúc, và các biện pháp bảo mật.
3 Gray Box Testing: Người kiểm thử có một phần thông tin về hệ thống,
như sơ đồ mạng hoặc tài liệu thiết kế.
Kiểm thử thâm nhập là một phần quan trọng trong quá trình bảo mật hệ
thống, giúp các tổ chức phòng ngừa và đối phó với các mối đe dọa an ninh một
cách hiệu quả.
2.1.2 Phương pháp tiếp cận
Mặc dù kiểm thử thâm nhập là một cách tiếp cận để tăng cường và củng cố
an ninh hệ thống thông tin, nhưng nó chắc chắn không nói lên rằng hệ thống
là hoàn toàn an toàn và không thể bị hacker tấn công Kiểm thử thâm nhập có
thể phát hiện các vấn đề bảo mật đã biết công khai, những lỗ hồng đã được tiết
lộ và công bố trước đó.
Có quá nhiều phương pháp hỗ trợ kiểm thử thâm nhập nên đôi khi có thể
sẽ khó khăn để có thể đưa ra một giải pháp phù hợp Người kiểm thử càng có
nhiều kinh nghiệm và càng có nhiều kiến thức sâu hơn về môi trường cần kiểm
thử thì sẽ có thể đưa ra quyết định đúng đắn hơn cho một giải pháp phù hợp, ví
dụ như Open Source Security Testing Methodology Manual do ISECOM phát
triển và duy trì hoặc Open Web Application Security Project (OWASP) cho các
ứng dụng web và di động.
Trang 19Đối với OWASP, đây là một dự được tạo ra và phát triển bởi tổ chức OWASP
- Một tổ chức phi lợi nhuận và có nhiều thành viên là những chuyên gia thuộc lĩnh vực phát triển ứng dụng web hoặc những chuyên gia trong ngành phần mềm OWASP hướng tới việc phát triển các ứng dụng và dịch vụ web một cách
an toàn, bằng cách liệt kê các việc phải thực hiện trong mỗi giai đoạn phát triểnphần mềm để có thể đạt tới mục đích là sự an toàn nhất có thể đối với phần
mềm Ngoài ra, OWASP cũng cung cấp một báo về các nguy cơ bảo mật đối với
bảo mật ứng dụng web, tập trung vào 10 rủi ro, lỗ hổng quan trọng và phổ biến
nhất, được gọi là OWASP TOP 10 (hình 2.1).
2017 2021
A01:2017-Injection A01:2021-Broken Access Control
A02:2017-Broken Authentication A02:2021-Cryptographic Failures A03:2017-Sensitive Data Exposure ~» A03:2021-Injection
‘A04:2017-XML External Entities (XXE) = se (N€w} A04:2021-Insecure Design A05:2017-Broken Access Control —— A05:2021-Security Misconfiguration
A06:2017-Security Misconfiguration ” A06:2021-Vulnerable and Outdated Components
s-Site Scripting (XSS) of /@§” A07:2021-Identification and Authentication Failures
Deserialization” ” @ 7” ~ - {New} A08:2021-Software and Data Integrity Failures
A09:2017-Using Components with Known Vulnerabilities eee ony Logging and Monitoring Failures*
A10:2017-Insufficient Logging & Monitoring (New) A10:2021-Server-Side Request Forgery (SSRF)*
* From the Survey
Hình 2.1: Hình ảnh mô tả OWASP Top 10 năm 2017 va sự thay đổi trong
nam 2021
Những phương pháp tiếp cận vừa được chúng tôi đề cập thường đưa ra gợi ý
về một quy trình hoặc cấu trúc của một bài kiểm tra thâm nhập, thường chia
làm nhiều giai đoạn, trong đó mỗi đầu ra từ giai đoạn này sẽ là đầu vào cho giai
đoạn tiếp theo Tuy nhiên, khi áp dụng cho một mạng cụ thể, những giai đoạnnày sẽ được chia làm một chuỗi các bước khác nhau để đánh giá một cách logic
hệ thống được kiểm tra (hình 2.2)
2.1.3 Công cụ hỗ trợ
Thu thập thông tin về mạng mục tiêu là bước đầu tiên và quan trọng trong
quy trình kiểm thử thâm nhập Mục đích của giai đoạn này là thu thập càngnhiều thông tin càng tốt về mục tiêu để hỗ trợ cho các giai đoạn tấn công sau
này Có hai loại thu thập thông tin chính: thu thập thông tin chủ động (active)
và thu thập thông tin thu động (passive) Khoá luận này chỉ bao gồm phương
Trang 20Penetration Tests
Planning and Scanning and
Preparation Enumeration ` Reporting
8
v12 đà
© </>
Reconnaiccance Vulnerability Post- Remediation
Assessment Exploitation and Follow-up
STATIONX
Hình 2.2: Hình ảnh mô tả những bước chính của quá trinh kiểm thử thâm nhập
Trang 21thức thu thập thông tin chủ động, Nmap là một trong các công cụ hiệu quả nhất
thực hiện điều này Nmap cung cấp cho người dùng những thông tin về hệ điều
hành, các cổng đang mở và những dịch vụ đang hoạt động trên những cổng đó
(hình 2.3) Tuy nhiên, để xác định được lỗ hổng thì ta cần chọn những cách khai
thác phù hợp Như là, từ những thông tin của công cụ nmap quét được ta có
thể dùng các trình quét lỗ hồng như Nessus hoặc OpenVAS [Schwartz2019] đểkiểm tra Mặc dù vậy, quy trình quét và phân tích ban đầu đã cho người kiểm
thử rất nhiều thông tin có giá trị về mục tiêu bao gồm ý tưởng cơ bản về mô hình mạng hoặc các dịch vụ (có thể là cả phiên bản của chúng) được sử dụng
trong mạng.
scanme.nmap.o
Starting Nmap 7.92 ( https:/ p.org ) at 2022-09-10 01:29 IST
Warning: 45.33.32.156 giving up on port because retransmission cap hit (6).
Nmap scan report for scanme.nmap.org (45.33.32.156)
Host is up (0.076s latency).
Other addresses for scanme.nmap.org (not scanned): 2680:3c01: :f03c :91ff:fe18:bb2f
Not shown: 976 closed tcp ports (reset)
PORT STATE SERVICE \
22/tcp open ssh = 13 (Ubuntu Linux;
protocol 2.0)
ssh-hostk
1024 ac:00:a@:1a:82:ff:cc:55:99:dc:67 :34:97:6b:75 (DSA)
2048 20:3d:2d :2a: : :85:14:c2:a6:b2 (RSA)
256 96:02:bb:5e vic 745 : :b2:57 (ECDSA)
256 33:fa:91:0 ):e1:7b: : TTL: 1:56 (ED25519)
open ache httpd 2.4.7 ((Ubuntu))
|_http-title: Go ahead and *
| http-favicon: Nmap Project
|_http-server-header: Apache/2.4.7 (Ubuntu)
100/tcp filtered newacct
139/tcp filtered netbios-ssn
366/tcp filtered odmr
eee Ee, re
Hình 2.3: Hình ảnh mô tả thông tin trả vé trong một vi du sử dung Nmap
Bởi mức độ hiệu quả của những kỹ thuật nói trên, tin tặc thường xuyên lạm
dụng điều này để thu thập thông tin nhằm chuẩn bị cho các cuộc tấn công có
chủ đích Bài báo của tác giả Kalia và Singh [6] đề cập đến những kỹ thuật quét
mạng và triển khai những phương pháp hạn chế lộ thông tin bí mật bằng các
kỹ thuật quét mạng này.
Với thông tin thu thập được từ giai đoạn đò tìm thông tin, quy trình kiểm
Trang 22thử xâm nhập tiếp tục với giai đoạn khai thác các lỗ hồng Mục đích của giai
đoạn này là thực thi những đoạn mã khai thác xâm phạm mục tiêu và thực thi
lệnh tuỳ ý trên hệ thống được kiểm thử Đây là giai đoạn yêu cầu nhiều tài
nguyên cả về thời gian lẫn kỹ năng chuyên môn của người kiểm thử Để hỗ trợ
quá trình này, Metasploit Framework đã được tạo ra vào năm 2003 và được sử
dụng rộng rãi dưới dạng công cụ mã nguồn mở Kể từ khi ra mắt, Metasploit
luôn phát triển và cải tiến bởi các chuyên gia hàng đầu trong lĩnh vực an ninh
mạng và được mua lại bởi Rapid7 vào năm 2009.
Metasploit [5] được phát triển theo kiến trúc mô-đun hoá do đó có khả năng
mở rộng mạnh mẽ Cùng với hệ thống mô-đun khai thác đa dạng gồm nhiều
payload, có thể ứng dụng rộng rãi ở nhiều loại môi trường
tay cnn
Hình 2.4: Hình ảnh mô tả cấu trúc tổng quát của Metasploit
Các tác vụ thông thường như giao tiếp qua mạng hoặc giữa các tệp sẽ được
lập trình sẵn trong các thư viện Thông qua các giao diện sử dụng, người dùng
có thể chủ động kiểm soát hoạt động của Metasploit Chính vì thế, với việc các
module khai thác thường xuyên được cập nhật, Metasploit framework chỉ yêu
cầu người dùng cung cấp thông tin thu thập được và chọn module phù hợp để
có thể khai thác hiệu quả Bằng cách này, người kiểm thử có thể tập trung vào
các vấn đề quan trọng hơn, không cần phải nắm rõ kĩ thuật của mã khai thác.
Một số giao diện của Metasploit có thể kể đến như Msfcli, Msfconsole, hoặc
thậm chí là có GUI dành cho những người sử dụng không có đủ kiến thức về
Trang 23dòng lệnh và còn gọi là Armitage.
Msfcli được sử dụng trực tiếp từ dòng lệnh Nó giúp người sử dụng tìm hiểu
cách thức vận hành bên trong của Metasploit, do đó nó thích hợp cho người mới
sử dụng và những người mới bắt đầu với Metasploit.
Msfconsole là một giao diện khác để tương tác với Metasploit So với msfcli,msfconsole mạnh hơn và có thể tuỳ biến sâu hơn, cho phép truy cập các biến
toàn cục, thực hiện tìm kiếm trong cơ sở dữ liệu khai thác, v.v Sau khi sử dụng thành công, tất cả các phiên Meterpreter được duy trì trong một Msfconsole
duy nhất Cách sử dụng Msfconsole được trình bày chi tiết trong hướng dẫn
công khai của Metasploit.
Metasploit cho phép người dùng dễ dàng quản lý các mô-đun khai thác (như
tra cứu) và chọn từ các loại tải trọng khác nhau được phân loại cụ thể cho mục
đích sử dụng của họ.
Khi chạy khai thác, trình tự các bước Metasploit phải sử dụng để thiết lập
kênh giao tiếp hai chiều giữa người kiểm tra và hệ thống được kiểm tra để chophép truy cập hệ thống từ xa có thể được tóm tắt như sau (hình 2.5):
2.2 Học tăng cường
2.2.1 Tổng quan
Học tăng cường (Reinforcement Learning - RL) là một nhánh của hoc may (machine learning) tập trung vào cách các tác nhân (agents) học cách hành động
trong một môi trường để đạt được mục tiêu cụ thể RL khác với các phương
pháp hoc máy khác như học có giấm sát (supervised learning) và học không
giám sát (unsupervised learning) ở chỗ nó không yêu cầu dữ liệu huấn luyện gắn
nhãn trước mà học từ các tương tác với môi trường [7].
Trong Reinforcement Learning, agent (tác tử ) học cách thực hiện các hành
động trong một môi trường (environment) để tối đa hóa một phần thưởng tích
Trang 24Tester sends IŠ! stage payload
System connects back to Metasploit
2.4 stage payload with DLL is sent
Connection is established
Hình 2.5: Hình ảnh mô tả quá trinh thiết lập kết nối giữa Metasploit va may
chủ muc tiêu
Trang 25lũy nào đó (cumulative reward) Quá trình học này dựa trên nguyên tắc thử và
sai (trial and error) và sử dụng phản hồi (feedback) từ môi trường để điều chỉnh
hành vi của tác nhãn.
Học tăng cường là một lĩnh vực quan trọng và đầy thách thức của học máy,
với tiềm năng ứng dụng rộng rãi trong nhiều lĩnh vực Bang cách hoc từ phan
hồi của môi trường, các tác nhân học tăng cường có thể phát triển các chiếnlược tối ưu để đạt được mục tiêu đề ra, từ đó mang lại hiệu suất cao hơn và khả
năng tự động hóa nhiều nhiệm vụ phức tạp.
2.2.2 Các thành phan chính
Một bài toán sử dụng học tăng cường cơ bản sẽ bao gồm các thành phần sau
đây:
e Environment (Môi trường): La nơi tác nhân tương tác và nhận phan hồi.
Môi trường có thể là thực tế (như một con robot di chuyển trong phòng)
hoặc ảo (như một trò chơi máy tính).
e Agent (tác tử ): Là thực thể đưa ra quyết định, thực hiện các hành động
trong môi trường, tương tác với môi trường qua hành động
e Policy (Chính sách): Là chiến lược hoặc quy tắc mà tác nhân sử dụng để
chọn hành động dựa trên trạng thái hiện tại Chính sách có thể là xác định
hoặc ngẫu nhiên.
e State (Trạng thái): Biểu diễn tình trạng hiện tại của môi trường Trạng
thái cung cấp thông tin cần thiết để tác nhân quyết định hành động tiếp
theo.
e Reward (Phần thưởng): Là tín hiệu phản hồi từ môi trường cho biết mức
độ tốt hay xấu của hành động mà tác nhân đã thực hiện Phần thưởng giúp tác nhân đánh giá và điều chỉnh hành vi.
Trang 26e Action (Hành động): là những gì tác tử có thể thực hiện tại mỗi trạng thái
để ảnh hưởng đến môi trường
e States s mô tả toàn bộ trạng thái của environment có thể xảy ra ở một
thời điểm cụ thể trong giai đoạn tương tác của agent và enviroment
e Observation o là thông tin agent nhận được từ môi trường sau mỗi action.
o thường được dùng để xác nhận tình trạng hiện tại của môi trường
2.2.3 Quy trành quyét định Markov (Markov Decision Process
-MDP)
Quy trình quyết định Markov (MDP) là một mô hình toán hoc được sử dung
trong lý thuyết điều khiển và trí tuệ nhân tạo để mô phỏng quyết định trong
một môi trường có sự không chắc chan MDP thường được áp dụng trong nhiều lĩnh vực, bao gồm robot học, quản lý tài nguyên, và mô phỏng quyết định trong
hệ thống phức tạp.
Quy trình MDP bao gồm một tập trạng thái (State S), một tập hành động
(Action A), một hàm chuyển trạng thái (Transition Probability P), một
hàm thưởng (Reward Policy R), và một hàm chiết khấu (Discount factor).
Trạng thái biểu diễn tình hình của môi trường, hành động là những hành động
mà tác nhân (agent) có thể thực hiện, hàm chuyển trạng thái xác định xác suấtchuyển từ một trạng thái sang trạng thái khác sau khi thực hiện một hành động,
hàm thưởng xác định giá trị thưởng nhận được sau mỗi bước, và hàm chiết khấu
giảm giá trị của các thưởng ở các bước tương lai.
Quy trình quyết định Markov cung cấp một cách linh hoạt để mô hình hóa
và giải quyết vấn đề quyết định trong môi trường không chắc chắn, giúp tối ưu
hóa hiệu suất của tác nhân trong việc đưa ra quyết định.
e State S: Không gian các trạng thái của môi trường.
e Action A: Không gian các hành động có thể thực hiện trong môi trường
Trang 27e Transition Probability P: Hàm chuyển tiếp, đưa ra xác suất dự đoán
một trạng thái có thể xảy ra với đầu vào là một hành động được thực hiện
và trạng thái hiện tại của môi trường.
e Reward R: Hàm tính phần thường, xác định phần thưởng khi môi trường
chuyển tiếp từ một trạng thái sang trạng thái kế tiếp, dưới tác động của
một hành động.
2.2.4 Tổng quan mô hinh học tăng cường
Học tăng cường (Reinforcement Learning - RL) là một lĩnh vực trong trí tuệ
nhân tạo mà máy tính hoặc tác nhân học từ trải nghiệm để thực hiện các nhiệm
vụ và đưa ra quyết định trong môi trường không chắc chắn Trong học tăng cường, một tác nhân tương tác với môi trường và học từ việc thử nghiệm để tối
ưu hóa một hàm mục tiêu.
Dựa trên MDP, một hệ thống học tăng cường cơ bản sẽ có hai thành phần
chính là tác tử (Agent) và Môi trường (Environment) Kênh giao tiếp của hai thành phan này bao gồm: Hành động (Action), Phần thưởng (Reward), và Trang
thai (State).
Action State
Reward
Hinh 2.7: Mô hình học tăng cường
Tac tử sẽ tương tác với môi trường thông qua một chuỗi các lượt thử Với mỗi
lượt t, tac tử sẽ chọn một hành động a; € A, dựa vào một chính sách z(a|s¿) và
thu về một vector trạng thái có thể quan sát được s¿ từ môi trường Môi trường
cũng sẽ xuất ra một phần thưởng r; € R tương ứng với các hành động nhận vào,
đồng thời môi trường cũng thay đổi trạng thái của chính nó, tạo ra một trạng
Trang 28thái mới s;¿¡¡ Phần thưởng r; và trạng thái s¿¿¡ sẽ là đầu vào kế tiếp của tác nhân Từ đó, tác tử sẽ xây dựng tiếp chính sách z(ø|s;¿;1) tác tử sẽ học dan và tuần tự qua việc khám phá (exploration) và khai thác (exploitation), dần dần chọn ra được hành động nhằm tạo ra trạng thái môi trường mong muốn.
Phần thưởng là yếu tố quan trọng trong việc học và mục tiêu cuối cùng của
mô hình học tăng cường là xây dựng được một chính sách để tối đa hóa kì vong:
+ là giá tri chiết khấu cho phần thưởng Giá trị + kiểm soát hành động mới sao
cho chúng không được phép tác động nhiều đến phần thưởng hiện tại nhưng lại quan trọng đối với kết quả V”.
2.2.5 Q-Network
Q-Network - Thuật toán học tăng cường phi mô hình nhằm tìm kiếm giá trị của một hành động trong một trạng thái nhất định của môi trường Ñó sử
dụng giá trị được gọi là giá trị Q và được tính theo công thức sau:
Q(s,a) = r(s,a) + ymarQ(s‘,a’)
trong đó Q(s, a) là giá trị của hệ số Q khi hành động a được thực hiện ở trạng thái s, r(s, a) là phần thưởng nhận được cho hành động a và s’ là trạng thái gần nhất của môi trường , 7 là hệ số chiết khấu bồi thường trong tương lai (thường
Trang 292.3 Học tăng cường sâu
Học tăng cường sâu là sự kết hợp của học tăng cường và học sâu Trong
đó, học sâu là tổng hợp những kỹ thuật và phương pháp học máy khác nhau
như cây quyết định Tuy nhiên, đối với học tăng cường sâu, phần "sâu" được
nhắc đến ở đây là dùng một mạng nơ-ron trong mô hình học máy, ví dụ như mô
hình Deep Q-Network (DQN).
Có một điều cần lưu ý rằng, mac dù đều sử dung mang nơ-ron, Q-Network
sử dụng mạng nơ-ron thay cho bảng giá trị chúng tôi trình bày ở trên chưa được
xem là học tăng cường sâu Thực tế, DQN cho phép tác tử học tăng cường học
tập ổn định thông qua một vài kỹ thuật:
Experience Replay - Khi một mô hình hoc máy sử dung mạng nơ-ron, có
một vấn đề là tương quan thời gian Chính vì thế, việc học từng bước một theo
các chuỗi nơ-ron là chưa hiệu quả Để khắc phục vấn đề này, thay vì học tuần
tự theo ham xấp xi Q, chúng ta sẽ lưu trữ nhiều bộ (s,a,r,s’) trong bộ nhớ và
có thể sử dụng chúng để học lại một cách ngẫu nhiên Phương pháp này gọi là
Experience Replay.
Fixed Target Q-Network - Thay vì chỉ sử dụng một mang nơ-ron mục
tiêu, chúng ta sẽ sử dụng thêm một mạng nơ-ron riêng biệt, gọi là mạng chính
sách với trọng số mạng cố định Sau một số bước thời gian nhất định, Gradient
Descent sẽ cập nhật trọng số mạng trên mạng mục tiêu để làm giảm thiểu giá
Trang 30trị mất mát, sau đó trọng số mạng này được cập nhật lên mạng chính sách.
Chính vì những điều này, DQN đạt được một hiệu quả học tập vượt trội hơn
so với các phương pháp tiếp cận học tăng cường thông thường Cuối cùng, thuật toán DQN cơ bản gồm những bước sau [10]:
1 Khởi tạo dung lượng bộ nhớ phát lại.
2 Khởi tạo mạng chính sách với trọng số mạng ngẫu nhiên.
3 Sao chép mạng chính sách và gọi nó là mạng mục tiêu.
4 Với mỗi episode:
(a) Khởi tạo trạng thái bắt đầu s.
(b) Khởi tạo vòng lặp cho mỗi step.
e Lựa chọn hành động a (qua thăm dò hoặc khai thác).
e Thực thi hành động đã chọn.
e Quan sát phần thưởng r va trạng thái tiếp theo s’.
e Luu trữ kinh nghiệm (s,a,r,s’) trong bộ nhớ phát lại.
e Lấy mẫu ngẫu nhiên từ bộ nhớ phát lại.
e Tiền xử lý các trạng thái, sau đó chuyển vào mạng chính sách.
Deep Q-Network là giải pháp cho 2 van đề tồn tại trong Q-Network Van đề
thứ nhất là thông tin trạng thái đầu vào phải được rời rạc hóa để có thể triển
khai một ma trận bảng dẫn đến việc khó khăn đối với dữ liệu có giá trị liên tục
như quãng đường, vận tốc làm giảm độ chính xác và hội tụ của mô hình Vấn đề
Trang 31thứ hai, giả sử một bài toán có không gian trạng thái và hành động cực kỳ lớn,
chắc chắn sẽ tiêu tốn lớn lượng tài nguyên để xây dựng một bảng Q-value Do
đó, Deep Q-Network sử dụng một biểu diễn phi tuyến ánh xạ cả trạng thái và
hành động vào một giá tri.Trong học máy, đây được gọi là "bai toán hồi quy".
Có nhiều cách khác nhau để làm điều này thành công Tuy nhiên, để học tăng
cường, hãy cân nhắc sử dụng mạng lưới thần kinh Đây cũng là một lựa chọn
phổ biến, đó là lý do tại sao chúng tôi đưa vào nghiên cứu của mình một khái
niệm khác gọi là học tăng cường sâu.
Khi thay đổi từ bảng giá trị sang mạng nơ-ron đối với Q-Network, mọi thứ
trở nên dễ dàng hơn rất nhiều.
Hình 2.8: Hình ảnh mô tả viéc sử dung mang no-ron đơn giản thay cho bang
giá trị trong Q-Network
Một mạng nơ-ron đơn giản sẽ gồm một lớp đầu vào, một lớp đầu ra và các lớp
an khác nhau Số lượng nút ở mỗi lớp là không cố định Trong hoc tăng cường,
chúng ta chọn ra các hành động tối ưu tại các trạng thái môi trường khác nhau.
Mạng nơ-ron hoàn toàn phù hợp để có thể giải quyết vấn đề này với lớp input
Trang 32gồm các nút chứa thông tin của trạng thái, lớp output gồm các nút tương ứng với những hành động cố định mà tác tử có thể thực hiện và các lớp an đảm
nhiệm vai trò tính toán với số nút tùy chỉnh.
Trong mạng nơ-ron này, có một tham số gọi là Ø (cũng thường được biết đến
như trọng số - weight của mạng nơ-ron), nhằm ước tính các Q value sao cho xấp xỉ với giá tri Q(s,a) được mô tả trước đó khi sử dụng QNetwork bảng giá
trị Tức là Q(s, a, 9) Q(s, a) Có thể được giải quyết bằng việc giảm giá trị của
Ham mat mát ở mỗi bước:
l¡(0 = Esa,s'r([(r + ymaxeQ(s', a’; —1)| — Q(s, a, 6)” (2.1)
2.3.2 Asynchronous Advantage Actor-Critic (A3C)
Khi xây dung tác tử DQN, chúng ta sử dung mang nơ-ron để tinh xấp xỉ hàm
Q(s, a), tuy nhiên, chúng ta có một cách tiếp cận khác trong A3C Chính sách
z chỉ là một hàm của trạng thái s, vì vậy chúng ta có thé tính xấp xỉ trực tiếp
nó Mạng nơ-ron của chúng ta với trọng số Ø bây giờ sẽ nhân một trạng thái s
làm đầu vào và xuất ra một phân phối xác suất hành động z theo 0 Đó gọi là
Policy Gradient [lỗ].
A3C [13] là một thuật toán gradient duy tri độ dốc của chính sách 7 (az | s¿; 4)
và ước tính giá trị của hàm giá trị V (s¿;Ø,) Giả sử xác định một ham J(z) như
một phần thưởng chiết khấu cho chính sánh z trung bình trên tất cả các tác tử bắt đầu có trạng thái đầu tiên sọ.
Z() = Ep(So)[V (so)] (2.2)
Chính sách và hàm giá trị được cập nhật sau mỗi tmax hành động Để tối
ưu hóa con số này, ta cần tính độ dốc J, với hàm lợi thế A(s¿,ø;;Ø,0„) và
Vo log 7 (az | 51436’) cho ta biết một hướng trong đó xác suất ghi lại của hành
động đang tăng lên.
V(ø)J„ = Es xa x[A(s, @).V (6) log x(a | 5)| (2.3)
Trang 33Cả hai điều này đều nằm trong một kỳ vọng về phân phối trạng thái và hành
động của z Tuy nhiên, chúng ta không thể tính toán chính xác nó qua mọi trạng
thái và mọi hành động Thay vào đó, chúng ta có thể sử dụng tính chất trung
bình của các mẫu với các phân phối xác suất Chính vì thế, chúng ta chỉ cần để
tác tử chạy trong môi trường và ghi lại các mẫu (s,a,r,s’) Sau đó sử dụng công
thức trên để tìm một xấp xỉ của gradient V(øjJ„~ và cập nhật nhật lại chính sách
Bản chất của học tăng cường dựa trên nguyên tắc hệ thống khen thưởng, tức
là sai và sửa, chính vì vậy, dù DQN đã thực hiện tốt được nhiệm vụ của mình, tuy nhiên nó vẫn sẽ mất rất nhiều thời gian để học tập.
Phương pháp học tập của A3C gần giống với DQN, nhưng nó có ba cải tiến
e Advantage là một đặc điểm mà thay vì sử dung giá trị phần thưởng chiết
khấu + để đại lý biết hành động nào là tốt về lâu dài, chúng ta sẽ sử dụng
giá trị của một hàm "lợi thế" Điều này giúp cho tác tử RL tìm hiểu phần
thưởng tốt hơn nhiều so với mong đợi Giá trị advantage được đưa ra bởi
biểu thức: A = Q(s,ø) - V(s)
e Actor-Critic là đặc điểm mà A3C kết hợp việc dự đoán các hàm giá trị
V cũng như chính sách tối ưu z(s) (ở đây là phân phối xác suất của không
gian hành động) tác tử học tập sử dụng giá trị của hàm giá trị (Critic) để
cập nhật hàm chính sách (Actor).
e Asynchronous, nghĩa là không đồng bộ A3C sử dụng nhiều tác tử, với
mỗi tác tử có các thông số mạng nơ-ron riêng và một bản sao của môi
Trang 34trường Các tác tử này tương tác với môi trường tương ứng của chúng một
cách không đồng bộ, học hỏi với mỗi tương tác Các tác tử sẽ được kiểm
soát bởi một Global Network Mỗi tác tử khi có được nhiều kinh nghiệm hơn sẽ đóng góp vào toàn bộ "kiến thức" của Global Network Điều này rõ ràng làm tăng tốc độ học của mô hình lên rất nhiều.
Cuối cùng, mô hình tổng quát của A3C với 2 tác tử hoạt động song song sẽ như
Hình 2.9: Hình ảnh mô tả cấu trúc của A3C với 2 tác tử
2.3.3 Proximal Policy Optimization (PPO)
Proximal Policy Optimization (PPO) [14] là một trong những thuật toán
hoc tăng cường sau (Deep Reinforcement Learning) phổ biến và hiệu quả nhất
Được giới thiệu bởi nhóm nghiên cứu OpenAI, PPO cải thiện và đơn giản hóa các
phương pháp trước đó như Trust Region Policy Optimization (TRPO), mang
lại sự ổn định và hiệu quả cao so với các phương pháp truyền thống sử dụng tối
ưu dựa theo chính sách.
Đầu tiên, PPO được thiết kế với mục đích chính là tăng sự ổn định khi huấnluyện các mô hình phức tạp Thuật toán PPO sử dung cơ chế kẹp (clipping) đểgiới hạn tỷ lệ thay đổi của hàm chính sách, đảm bảo rằng các cập nhật chính
sách không vượt quá một ngưỡng cho phép trong quá trình tối ưu hóa Điều này
Trang 35giúp hạn chế và ngăn ngừa xảy ra tình trạng chính sách thay đổi quá đột ngộtdẫn đến kết quả của hoạt động huấn luyện không ổn định
Các cập nhật có kiểm soát trong PPO tăng cường tính ổn định của thuật toán
va làm cho nó ít nhạy cam hơn với các lựa chọn siêu tham số (hyper-parameter).
Thứ hai, PPO tận dụng kinh nghiệm thu thập được để cập nhật chính sách.Bằng cách sử dụng lại dữ liệu mẫu nhiều lần trong một lần lặp, PPO giảm thiểu
phương sai của các cập nhật, tối ưu hóa việc sử dụng kinh nghiệm đã tích luỹ.
Tính hiệu quả này đặc biệt quan trọng trong các ứng dụng thực tiễn, đặc biệt
là trong các tình huống thu thập dữ liệu đòi hỏi nhiều tài nguyên hoặc tốn thời
gian Thứ ba, PPO rất linh hoạt và có thể được sử dụng với nhiều kiến trúc
mạng nơ-ron khác nhau, chang hạn như mạng lan truyền (feedforward) hoặc
mạng hồi quy (recurrent) Khả năng tương thích này cho phép người dùng điều chỉnh thuật toán phù hợp với các lĩnh vực cu thể va tận dụng các cấu trúc mạng
phù hợp với công việc Hơn nữa, PPO có thể xử lý cả không gian hành động liên
tục (continuous) và rời rạc (discrete), làm cho thuật toán này phù hợp với nhiều loại nhiệm vụ Tính linh hoạt này đặc biệt có lợi trong các lĩnh vực mà tính chất
của hành động (action) thay đổi Trong nghiên cứu này, chúng tôi sẽ lấy kết quả
thực nghiệm sử dụng phiên bản cơ ban của thuật toán PPO-Clip Chúng tôi
xem xét phiên bản cơ bản của PPO-Clip, tối ưu surrogate objective tại mỗi
Trang 36A;”* là giá trị lợi thé (advantage value)
‹ là một hệ số nhỏ để kẹp tỷ lệ xác suất
2.3.4 Distributed Proximal Policy Optimization (DPPO)
DPPO (Distributed Proximal Policy Optimization) là một biến thể phan tan
của thuật toán Proximal Policy Optimization (PPO) Thuật toán nay tận dụng
các lợi ích của PPO và mở rộng nó để hoạt động trong môi trường phân tán, cho
phép huấn luyện trên nhiều máy hoặc nhiều nhân xử lý cùng một lúc Điều này giúp tăng tốc quá trình huấn luyện và làm cho nó khả thi hơn cho các bài toán lớn
hoặc phức tạp DPPO sử dụng nhiều worker để thu thập dữ liệu từ môi trường
đồng thời Các worker này sau đó gửi dữ liệu về một trung tâm (centralizedserver) để cập nhật chính sách một cách đồng bộ Quá trình này tiếp tục lặp
lại cho đến khi chính sách hội tụ hoặc đạt được số lượng tập (episodes) tối đa.
Quy trình thuật toán DPPO
1 Khởi tạo chính sách và giá trị mạng: Khởi tạo các tham số cho chính
sách (actor) và giá trị mang (critic).
2 Phân tán workes: Triển khai nhiều worker trên các máy hoặc nhân xử lý
khác nhau.
3 Thu thập dữ liệu: Các worker chạy chính sách hiện tai trong môi trường
để thu thập dữ liệu (trạng thái, hành động, phần thưởng, trạng thái tiếp
theo).
4 Gửi dữ liệu về trung tâm: Các worker đồng bộ việc gửi dữ liệu thu thập
được về trung tâm để tổng hợp
5 Tính toán giá trị lợi thế: Sử dụng giá trị mạng để tính toán giá trị lợi
thé Aj’
6 Cap nhật chính sách va giá trị mang: Trung tâm sử dung di liệu từ
các worker để cập nhật các tham số của chính sách và giá trị mạng.
Trang 377 Phân phối chính sách mới: Trung tâm gửi chính sách mới cập nhật đến
các worker để bắt đầu chu kỳ tiếp theo
§ Lặp lại: Lặp lại các bước trên cho đến khi chính sách hội tụ hoặc đạt được
số lượng tập (episodes) tối đa.
2.4 Các công cụ liên quan
1 Nmap
Nmap [16] là một công cụ quét và phân tích hệ thống mạng nguồn mở được
sử dụng rộng rãi giúp người dùng đánh giá bảo mật hệ thống và phát hiện
các 16 hong bảo mật, được tạo ra bởi Gordon Lyon (còn được gọi là Fyodor
Vaskovich) Công cụ này cung cấp cho người dùng nhiều tính năng như quét cổng, dò tìm host, quét địa chỉ IP, phân tích phần mềm, quét lỗ hổng bảo
mật, v.v.
Tinh năng chính
e Quét các cong (Port Scanning): Nmap có khả năng quét các cổng để
xác định cổng nào đang mở, đóng hoặc lọc Điều này giúp xác định các
dịch vụ đang chạy trên một thiết bị mạng.
e Phát hiện hệ điều hành (OS Detection): Nmap có thể xác định hệ điều
hành của mục tiêu thông qua các đặc điểm của gói tin mạng
e Phát hiện phiên ban dịch vụ (Service Version Detection): Nmap không
chỉ xác định các dịch vụ đang chạy mà còn phát hiện phiên bản của các
dịch vụ đó.
e Quét mạng lớn: Nmap có thể quét các mạng lớn với hàng ngàn thiết bị
mà không gặp vấn đề về hiệu suất.
e Hỗ trợ kịch bản (Nmap Scripting Engine - NSE): NSE cho phép người
dùng viết kịch bản để tự động hóa các nhiệm vụ quét và phát hiện lỗhồng
Trang 38Nmap sẽ được dùng để thu thập thông tin mục tiêu, làm thông tin đầu vào
cho quá trình huấn luyện và khai thác.
Metasploit
Metasploit [5] là một công cu bảo mat được sử dung dé phat hiện và khaithác các lỗ hổng trong hệ thống máy tính, giúp người dùng đánh giá mức
độ bảo mật của hệ thống và tìm kiếm các lỗ hong Những lỗ hong cần khắc
phục Công cụ này cung cấp cho người dùng nhiều tính năng như phát hiện
lỗ hồng, kiểm tra bảo mật hệ thống bằng cách phát hiện và khai thác các
lỗ hồng này, cung cấp các mô-đun để thực hiện các cuộc tấn công, kiểm tra
bảo mật hệ thống và ứng dụng, v.v.
Được phát triển bởi Rapid7, Metasploit là một trong những công cụ bảo
mật phổ biến nhất trong ngành bảo mật mạng và hệ thống.
Tính năng chính
e Framework khai thác (Exploit Framework): Metasploit cung cấp hang
ngàn module khai thác cho nhiều loại lỗ hong bảo mật khác nhau
e Khả năng mở rộng: Người dùng có thể viết và thêm các module khai
thác riêng của họ vào Metasploit.
e Khả năng tự động hóa: Metasploit hỗ trợ tự động hóa các quy trình
kiểm thử xâm nhập, giúp tiết kiệm thời gian và công sức
e Công cụ hậu khai thác (Post-Exploitation): Metasploit cung cấp các
module hậu khai thác để thực hiện các hành động sau khi đã khai thác
thành công, như thu thập thông tin hệ thống, tạo cửa hậu (backdoor),
và nhiều hành động khác.
e Hỗ trợ cho các giao diện đồ họa (GUI) và dòng lệnh (CLI): Người dùng
có thể sử dung Metasploit thông qua giao diện dòng lệnh hoặc giao diện
đồ họa như Armitage.
Trang 39challenge với ý tưởng lấy từ công cụ DeepExploit của Isao Takaesu Shennina hoạt động với nmap thu thập thông tin mục tiêu, sau đó kết hợp với các
module exploit từ metasploit framework để xây dựng thành cây tấn công,
không gian hành động, không gian trạng thái của môi trường O chế độ
huấn luyện, shennina sẽ khởi tạo 2 lép mạng, 1 lớp mạng chính và 1 lớp
mạng phụ cho từng worker, các worker hoạt động phân tấn với nhau, sau
mỗi episode, trọng số tính toán từ worker sẽ được cập nhật lên mạng chính,
sau đó worker khởi tạo lại trọng số từ mạng chính Ở chế độ khai thác, các
worker sẽ khởi tạo trọng số từ mô hình đã lưu sau khi huấn luyện, từ đó chọn ra các module exploit để khai thác mục tiêu.
2.5 Tình hình nghiên cứu và các công trình liên quan
Nghiên cứu của nhóm tác giả Zennaro [20] đã chỉ ra rằng các mô hình học máy
tăng cường cơ bản đã có thể giải quyết tốt các bài toán đơn giản về kiểm thử
xâm nhập dưới dang các thử thách Capture-The-Flag (CTF) Các thử thách
CTF được sử dụng trong thí nghiệm đều có mối quan hệ rõ ràng giữa state
(trạng thái) và action (hành động) trong môi trường Bên cạnh đó, để khắc
phục vấn đề overfit của mô hình hoc tăng cường sâu khi tập dữ liệu quá ít,
nghiên cứu của tác giả Valea [19] đã ứng dụng cây quyết định (Decision Tree)
và mang lại kết quả khả quan Tuy nhiên, đối với các bài toán phức tạp hơn thì
công trình của cả hai nhóm tác giả đều chưa mang lại hiệu quả cao.
Nghiên cứu của Cody va cộng sự [1] cung cấp một framework hoạt động dựa
Trang 40trên đồ thị tấn công (attack graph) giúp tao môi trường hoc lí tưởng cho tác
vụ kiểm thử trên mô hình học tăng cường Đồ thị được thiết kế từ nghiên cứu này có khả năng giải quyết ba vấn đề: Cách agent RL tương tác với một mô
hình mạng thật trong thời gian thực, Cách agent RL mô phỏng môi trường đối
kháng, Cách agent RL xử lý môi trường mạng không ổn định (ví dụ: môi trường
được vá lỗi liên tục).
Công cụ kiểm thử tự động sử dụng học tăng cường sâu của Guo và cộng sự
[3] đã ứng dụng phương pháp thu gọn va chia nhỏ không gian hành động (action
space) Bằng cách này, nghiên cứu đã mang lại kết quả khả quan khi thử nghiệm
với việc có được số lượng step trung bình để đạt được mục tiêu đề ra thấp hơncác agent khác Bên cạnh đó, nhóm tác giả sẽ phát triển thêm tính năng chocông cụ để hoạt động trên các môi trường có ứng dụng cơ chế phòng thủ
Công cụ EPPTA [11] kết hợp học tăng cường cùng các module đặc biệt được
gọi là "module tin tưởng" (belief module) Belief module được hiểu là các đun hoặc thành phần của mô hình học tăng cường, được thiết kế để cập nhật và
mô-quản lý trạng thái tin tưởng của hệ thống một cách hiệu quả, đặc biệt là trong
các môi trường không thể quan sát toàn bộ trạng thái (POMDP) Với sự kết
hợp này, EPPTA có thể dự đoán các trạng thái của môi trường dựa trên phân
bổ xác suất, từ đó mang lại ưu thế như có thời gian huấn luyện ngắn hơn so với
các mô hình khác trong thí nghiệm.
Li và cộng sự [8] sử dụng cơ chế da mô hình để xử lý vấn đề về không gian
hành động (action space) trong các mô hình mạng có quy mô lớn Đồng thời,
thay vì để agent khám phá (explore) môi trường một cách ngẫu nhiên, mô hìnhhọc máy được cung cấp kiến thức từ con người (Expert prior knowledge) để rútngắn thời gian học Phát triển từ ý tưởng này, trong năm 2024, nhóm nghiêncứu đã công bố phương pháp kiểm thử kết hợp phản hồi từ phía con người
(chuyên viên pentest) [9] Trong công trình nghiên cứu này, phản hồi từ con
người (Human feedback) đã được chứng minh (thông qua môi trường giả lập) có
khả năng tối ưu hiệu suất huấn luyện mô hình và cải thiện độ chính xác trong