Khóa luận này tập trung vào việc phát triển các công cụ có thể tự động hóatrải nghiệm thử nghiệm thâm nhập đã tích lũy bằng cách sử dụng phương pháp học tăng cường trong môi trường phân
Trang 1TRƯỜNG DAI HỌC CÔNG NGHỆ THONG TIN KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG
NGUYEN NGOC HOÀI - 19521523
LÊ ĐỨC THẮNG - 19522198
KHÓA LUẬN TỐT NGHIỆP
MÔ HÌNH TỰ DONG HÓA TÍCH LUY KINH
NGHIEM CHO KIEM THU XÂM NHAP DUA TREN
PHƯƠNG PHAP HOC TANG CƯỜNG TRONG MOI
TRUONG PHAN TAN
AUTOMATIC EXPERIENCE ACCUMULATION APPROACH
FOR EXPLOITATION FRAMEWORK USING REINFORCEMENT LEARNING IN DISTRIBUTED
ENVIRONMENTS
GIANG VIEN HUGNG DAN:
ThS Phan Thé DuyThS D6 Thi Thu Hién
TP.H6 Chi Minh, 2023
Trang 2Khóa luận tốt nghiệp là cột mốc quan trọng cũng như là cột mốc cuối cùngtrong quãng thời gian Đại học của sinh viên, nó đánh giá toàn điện những kiến
thức mà sinh viên tích lũy được qua trình học tập và nghiên cứu Vậy nên khóa.
luận có tầm quan trọng cực lớn đi kèm với đó là sức nặng vô hình Dé gánh vác
được sức nặng đó thì chỉ với sức lực chúng em là chưa đủ Ở cuối chặng đường
hoàn thành khóa luận tốt nghiệp, khi nhìn lại chúng em không khỏi biết ơn, vàchúng em xin gửi lời cảm ơn chân thành tới những người đã đồng hành và giúp
đỡ chúng em trong khoảng thời gian qua.
Về phía nhà trường, chúng em xin gửi lời cảm ơn đến thầy Phan Thế Duy và
cô Đỗ Thị Thu Hiền, người đã cho chúng em định hướng và dẫn dắt chúng emnhững ngày đầu nghiên cứu, cảm ơn hai thầy cd đã luôn bên cạnh theo dõi sát
sao và có những góp ý kịp thời để chúng em có hướng đi chính xác và tập trung
nghiên cứu Trong quá trình nghiên cứu việc tiếp cận và có đôi phần bỡ ngỡ với
những kiến thức mới lạ, để đẩy nhanh, hiểu sâu và nắm chắc được kiến thức
đấy chúng em không khỏi cẩm ơn các anh nghiên cứu sinh tại InsecLab, xin gửi
lời cảm ơn đến anh Nghi Hoàng Khoa, anh Ngô Khánh Khoa, anh Nguyễn Hữu
Quyền Dồng thời xin cảm ơn dén tất cả thầy cô tại trường Công nghệ thông tin
- Dại học Quốc gia Thành phố Hồ Chí Minh đã giảng dạy và truyền đạt giúp
chúng em có những kiến thức cơ sở làm nền tảng phát triển sau này
Về phía gia đình và bạn bè, xin cảm ơn gia đình luôn ở bên cạnh sẽ chia, tao
động lực Cảm ơn bạn bè đã đồng hành
Nguyễn Ngọc Hoài Lê Đức Thắng
Trang 3MUC LUC
MỤC LUC 0.0 Sốc ii
DANH MỤC CAC KÝ HIỆU, CÁC CHU VIET TAT v
DANH MỤC CÁC HÌNH VẼ vi
DANH MUC CAC BANG BIEU vii
MỞ DAU 0 eee 1 CHUGNG 1 TONG QUAN 2 11 Giới thiệu van đỀ ee 2 1.2 Phương pháp nghiên cỨu 4
1.3 Mục tiêu, đối tượng, và phạm vi nghiên cứu 4
1.3.1 Mục tiêu nghiên cứu 4
1.3.2 Phạm vi và Đối tượng nghiên cứu 4
1.4 Cấu trúc Khóa luận tốt nghiệp 5
CHƯƠNG 2 CƠ SỞ LÝ THUYET 7 2.1 Kiểm thử thâm nhập 2.0.2.0 0.000000 005 7 21.1 Tong quan ee 7 2.1.2 Phương pháp tiếp cận 2 ee ee 7 2.1.3 Công cụ hỗ trợ ee 9 2.2 Học tăng cường ee 13 2.2.1 Các khái niệm và thuật ngữ 13
2.2.2 States and Observations Ốc 14 2.2.3 Quy trình quyết định Markov (Markov Decision Process -MDP) ee 14 2.2.4 Tổng quan mô hình học tăng cường 15
Trang 42.2.6 DeepQ-Network Q Q Q Q Q Q s 17 2.3 Học tăng cường sâu ee 19
2.3.1 Asynchronous Advantage Actor-Critic (A3G) 20
2.3.2 Distributed Proximal Policy Optimization (DPPO) 22
2.4 Học liên KẾ ee 24 24.1 Tổng quan c2 ee ee 24 2.4.2 Kiến trÚC 0 ng va 28 2.4.3 Thuật toán tổng hợp của học liên kết 30
2.5 Học tăng cường liên két 2 sa 33 2.6 Lí do chọn thuật toán cv 35 2.7 Các công cụ liên quan cv 36 2.8 Tình hình nghiên cứu và các công trình liên quan 37
CHƯƠNG 3 PHƯƠNG PHÁP THỰC HIỆN 41 3.1 Kiến trúc tổng quất cv 41 3.1.1 Cong cụ kiểm thử tự động 41
3.1.2 Mô hình học liên kết - 43
3.2 Phương pháp xây dung 1.2 0.2 eee ee 43 3.2.1 Luông hoạt động chính 43
3.2.2 Luồng hoạt động chỉ tiết 48
CHƯƠNG 4 HIỆN THỰC VÀ ĐÁNH GIÁ, THẢO LUẬN 50 41 Hiện thực 2000000000020 ee ee 50 4.1.1 Xây dựng céngcu 2 ee 50 4.1.2 Môi trường thực nghiệm 56
4.2 Kết quả thực nghiệm và thảo luận - 58
4.2.1 Kịch bản thực nghiệm 58
4.2.2 Các kết quả thực nghiệm 59
43 Thảo luận ri 61
Trang 5CHƯƠNG 5 KET LUẬN
5.2 Hướng phát triển ee
TÀI LIỆU THAM KHẢO
Trang 6S Khong gian các trạng thái
St Trang thái môi trường tại lượt t
L(0) Ham mat mat
A38C Asynchronous Advantage Actor Critic
DPPO Distributed Proximal Policy Optimization MDP Markov Decision Process
Trang 7Hình 2.4 Hình ảnh mô tả cấu trúc tổng quát của Metasploit 1
Hình 2.5 Hình ảnh mô tả quá trình thiết lập kết nối giữa Metasploit
và máy chủ mục tiÊU ca 2 Hình 2.6 Vòng lặp tương tác giữa tác tử và môi trường 3 Hình 2.7 Mô hình học tăng cường 6
Hình 2.8 Hình ảnh mô tả việc sử ung mạng no-ron đơn giản thay cho
bang giá trị trong Q-Network cv 8Hình 2.9 Hình anh mô tả cấu trúc của A3C với 2 tac th 2 23Hình 2.10 Hình ảnh mô tả kiến trúc học liên kết: mô hình client-server 29Hình 2.11 Hình ảnh mô tả kiến trúc học liên kết: mô hình peer-to-peer 31
Hình 2.12 Hình ảnh bang tỉ lệ chính xác giữa phương phấp tập trung
và phương pháp học liên kết dựa trên dit liệu thực 33 Hình 2.13 Hình ảnh mô hình kiến trúc của công cụ trong nghiên cứu
Hin!
của nhóm tác giả Zhenguo ee 38
h 2.14 Hình an mô tả kiến trúc tổng quát của công cu DeepExploit 39
Trang 8h 3.1 Hình ảnh mô tả kiến trúc tổng quát của công cu
DeepEx-ploit, cũng là kiến trúc của Shennina
h 3.2 Agent trong Reinforcement Learning tương tác với máy chủ
mục tiêu thông qua các công cụ kiểm thử
h 3.3 Hình ảnh mô tả tổng quát các thực thể RL trong bài toán
kiểm thử thâm nhập tự động
h3.4 Kiến trúc học phân tán sử dụng Federated Learning để tổng
hợp các mô hình Reinforcement Learning
h 3.5 Luông hoạt động của công cu ở chế độ huấn luyện
h 3.6 Luồng hoạt động của công cụ ở chế độ kiểm thử
h 4.1 Mô hình huấn luyện phân tán của công cụ FedRL-Exploit
h 4.2 Mô hình khai thác của công cụ FedRL-Exploit và Shennina
n 4.3 Mẫu báo cáo sau khi công cụ khai thác thành công
Trang 9DANH MUC CAC BANG BIEU
Bảng 2.1 Bảng so sánh các thuật toán tổng hợp học liên
Bảng 4.1 Bảng thông tin cấu hình máy cài đặt công cụ
Bảng 4.2 Bảng danh sách các máy mục tiêu chứa các
phục kiểm thử
Bảng 4.3 Bang so sánh hiệu quả khai thác công cụ
trường dữ liệu phân tán và tập trung trên cùng 500
Bang 4.4 Bảng so sánh hiệu quả khai thác công cụ
Trang 10Khóa luận này tập trung vào việc phát triển các công cụ có thể tự động hóa
trải nghiệm thử nghiệm thâm nhập đã tích lũy bằng cách sử dụng phương pháp
học tăng cường trong môi trường phân tán Chúng tôi sẽ tập trung vào hai chủ
đề chính: xây dựng một công cụ tự động hóa thử nghiệm áp dụng học tăng
cường và triển khai nó trong môi trường phân tán Nhiệm vụ tạo công cụ kiểm
tra tự động áp dụng kỹ thuật học tăng cường (RL) RL là một lĩnh vực họcmáy với khả năng tương tác với môi trường, đưa ra quyết định dựa trên trạngthái của môi trường và nhận phần thưởng dựa trên trạng thái tiếp theo Điềunày được gọi là học bằng cách "thử và sai", nhưng nói đại khái, nó có nghĩa là
"thử và tiếp tục ngay cả khi ban thất bại" lặp đi lặp lại Hoc tăng cường giúpthử nghiệm các công cụ tự động hóa và tích lũy kinh nghiệm Điều này là do
học tăng cường yêu cầu một môi trường đủ lớn để mô hình học máy học tăngcường đào tạo đủ để đạt được hiệu suất mong muốn Vấn đề thứ hai liên quan
én môi trường phân tán Các mô hình học máy áp dụng học tăng cường, do
ó, một lượng lớn dữ liệu phải được đào tạo để tạo ra một mô hình học may
Dữ liệu ở đây là môi trường đích, bao gồm ca lỗ hong Ngoài ra, phải dam bao
quyền riêng tư về dữ liệu của các bên tham gia đào tạo người mẫu Học liên kết
(FL) là một giải pháp thay thé tốt để giải quyết vấn đề này FL là một khung học máy được sử dụng để lập mô hình với dữ liệu phân tán Ngoài ra, FL đảm
bảo bảo vệ dữ liệu cho những người tham gia vào quá trình đào tạo mô hình.Trong nghiên cứu này, chúng tôi kết hợp hai ý tưởng trên để giải quyết vấn đề
tự động hóa thu thập trải nghiệm thử nghiệm thâm nhập bằng cách áp dụng
học tăng cường trong môi trường phân tán Chúng tôi gọi công cụ mà chúng tôi đang xây dựng là FedRL-Exploit.
Trang 11Chương này mô tả nền tảng và su 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, tôi 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
: Failure to mitigate climate change
Erosion of ‘ohesion and societal
polarization
Large-scale environmental damage
° incidents
: failure of climate change adaptation
FE Widespread oybererime and cyber insecurity
›° Large-scale involuntary migration
Risk categories |: J ervrcnmentat Íses=e |=-«« | technica
ooo
Large-scale involuntary migration
FB Noturat resource crises
Erosion of social cohesion and societal
polarization
Widesi cybercrime and cyber insecurity
‘Geoeconomic confrontation
° 10
Hình 1.1: Xếp hang rủi ro toàn cầu trong các lĩnh vuc 6 hai hạng mục ngắn
hạn va dai hạn
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 đã thúc đẩy việc áp dụng công nghệ Tuy nhiên, sự phổ biến
và sử dụng nhiều công nghệ mới, cùng với các giao thức hạn chế quản lý việc
Trang 12áp dụng các công nghệ, mang lại những rủi ro riêng Do sự kết hợp ngày càngtăng giữa vai trò quan trọng của công nghệ và các hoạt động xã hội, các mối
nguy hiểm, bao gồm cả những mối nguy hiểm nhằm phá hủy các cộng đồng,
đang trở nên rõ ràng trực tiếp trong nước Khi an ninh mạng phát triển, các nỗ
lực nhằm phá hoại các công nghệ dữ liệu và thông tin quan trọng đang trở nên
phổ biến hơn, với các cuộc tấn công vào cơ sở hạ tầng an nỉnh và tài chính, co
sở hạ tầng liên lạc quốc gia, giao thông, năng lượng, đất liền, hàng không và
đường biển Rủi ro kỹ thuật không giới hạn ở gian lận Việc phân tích tỉnh vi
các tệp lớn như vậy cho phép các hệ thống sử dụng sai thông tin cá nhân một
cách bất hợp pháp và xâm phạm quyền riêng tư và chủ quyền kỹ thuật số của
một cá nhân, ngay cả khi được kiểm soát cứng Vì vậy, cần có biện pháp hạnchế và ngăn chặn Kiểm tra thâm nhập là một cách để hạn chế việc bộc lộ các
lỗ hổng dé khai thác
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 ratrong mỗi quá trình triển khai hoặc vận hành hệ thống hoặc ứng dụng Quantrọ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ếtnà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
Trang 13Tìm hiểu quy trình kiểm thử xâm nhập, từ các mục tiêu trong quy trình tiến
hành xây dựng công cụ tự động hóa các quy trình, kết hợp với học tăng cường
- Reinforcement Learning để tăng hiệu quả trong quy trình khai thác, sử dungcác thuật toán học tăng cường khác nhau để thấy sự biệt về hiệu quả với các
tiêu chí về thời gian, tỉ lệ thành công, khả năng tích lũy kinh nghiệm Đồng thời
tìm hiểu cách thức huấn luyện trong ngữ cảnh dữ liệu phân tán sử dụng họcliên kết - Federated Learning để đa dạng môi trường huấn luyện, tăng khả năngtích lũy kinh nghiệm để khai thác
1.3 Mục tiêu, đối tượng, và phạm vi nghiên cứu
1.3.1 Mục tiêu nghiên cứu
Khóa luận tốt nghiệp gồm hai mục tiêu chính sau:
e Nghiên cứu và áp dụng các mô hình học tăng cường sâu.
e Xây dựng mô hình học học phân tán dựa trên Federated Learning.
e Ung dụng dụng các mô hình khác nhau xây dựng công cu kiểm thử tự động
trên môi trường phan tấn.
e Thực nghiệm và đánh giá
1.3.2 Phạm vi va Đối tượng nghiên cứu
Chúng tôi thực hiện nghiên cứu và xây dựng framework FedRLExploit dựatrên các công cụ như Shennina [10], DeepExploit [19] kết hợp với các thuật toántổng hợp mô hình trong học liên kết như FedAvg [1] Shennina được xây dựngbởi Mazin Ahmed và Khalid Farah trong khuôn khổ cuộc thi HITB CyberWeek
2019 AT challenge, công cụ phát triển dựa trên kiến trúc DeepExploit của Isao
Trang 14Takaesu [19] (Được công bồ tại hội nghị Black Hat USA 2018 Asernal), hai công
cu 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 FedRL-Exploit Bên cạnh đó, thuật toán FedAvg sẽ
là thuật toán tổng hợp mô hình chính trong học liên kết của chúng tôi.
Shennina [10] là một khung khai thác máy chủ tự động Nhiệm vụ của chính
công cụ là tự động hóa hoàn toàn việc quét, quét/phan tích lỗ hong và khai thácbằng trí tuệ nhân tạo Shennina được tích hợp với Metasploit và Nmap để thực
hiện các cuộc tấn công, cũng như được tích hợp với máy chủ chỉ huy và điều
khiển nội bộ để tự dong lấy dữ liệu từ các máy bị xâm nhập Ngoài ra, chúng tôi sử dụng các container được dựng lỗ hổng để xây dựng nên các máy chứa lỗ
hổng phục vụ cho giai đoạn huấn luyện và khai thác
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:
« Chương 1: TONG QUAN ĐỀ 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
« Chương 2: CO SỞ LY THUYẾT.
Trinh bày các định nghĩa, khái niệm cũng như những kiến thức nền tang
để 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.
« 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.
e Chương 4: HIỆN THUC, DÁNH GIÁ VÀ THẢO LUẬN.
Trang 15Đề 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.
« 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 16Co sở lý thuyết cần thiết của khóa luận sẽ được trình bày ở chương 2 Cái nhìn
chung về kiểm thử thâm nhập tự động và phương pháp tích lũy kinh nghiệm
khai thác trong môi trường phân tán Bên cạnh đó là cơ sở lý thuyết về học
tăng cường Reinforcement Learning, học liên kết Federated Learning, các hình
thức, mô hình và ưu nhược điểm đối với đề tài của khóa luận Đồng thời, chúngtôi trình bày về những nghiên cứu có cùng lĩnh vực với tự động hóa kiểm thửthâm nhập và những điểm khác của khóa luận này với những nghiên cứu đã có
2.1 Kiểm thử thâm nhập
2.1.1 Tổng quan
Kiểm thử thâm nhập là dd quét những lỗ hổng 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ỗ hong 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ác
ác vấn đề bảo mật khác.Việc tiến hành kiểm thử thâm
cảnh báo bảo mật
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
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
Trang 17là hoàn toàn an toàn và không thể bị hacker tấn cong 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 đó
C6 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áttriển và duy trì hoặc Open Web Application Security Project (OWASP) cho các
ứng dụng web và di động.
Đố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 2031
A01:2017-injecdon A01:2021-8:oken Access Control
‘802:2017-Broken Authentication ‘A02:2021-Cryptographic Failures
‘803:2017-Sensitive Data Exposure > A03:2021-Injection
_A04:2017-XML External Entities (XE) Sw) A04:2021-Insecure Design
‘A0S:2017-Broken Access Control 9 ‘A05:2021-Security Misconfiguration
‘A06:2017-Security Misconfiguration ‘A06:2021-Vulnerable and Outdated Components
‘A07:2021-Identifcation and Authentication Failures
eae (New? A08:2021-Software and Data Integrity Failures 409:2017-Using Components with Known Vulnerabilities —“"_—> A08:2021-Securty Logging and Monitoring Fallures*
‘A10:2017-Insufficient Logging & Monitoring (New) A10:2021-Server-Side Request Forgery (SSRF)*
* From the survey
Hình 2.1: Hinh ảnh mô té OWASP Top 10 năm 2017 va sự thay đổi trong
nam 2021
Những phương pháp tiếp can vừa được chúng tôi dé cập thường dua 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
Trang 18đ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 logie
&
Coupling exploit with backdoor
into deliverable payload
®
Exploiting a vulnerability to execute
code on victim's system
2.
Command channel for remote manipulation of victim
hệ thống được kiểm tra (hình 2.2)
Harvesting email addresses, conference information, etc.
Delivering weaponized bundle to the victim via email, web, USB, etc,
Hình 2.2: Hinh ảnh mô tả những bước chính của quá trình kiểm thử thâm nhập
2.1.3 Công cụ hỗ trợ
Đối với thu thập tìm kiếm thông tin, mục đích là tìm kiếm thông tin có ích
về mạng mục tiêu Và 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
Trang 19cổ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 [16] để 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.
starting Nmap 7.86 ( https://nmap.org ) at 2023-02-12 15:34 +07
Nmap scan report for 192.168.56.120
Host is up (0.000098s Latency).
Not shown: 65526 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3ubuntuô.1 (Ubuntu Linux; protocol 2.0)
25/tcp open smtp Postfix smtpd
80/tcp open http nginx 1.48.0 (Ubuntu)
389/tcp open ldap OpenLDAP 2.2.X - 2.3.X
Service Info: Host: clientsnort.localdomains 0S: Linux; CPE: cpe:/o:linux:linux_kernel
Hình 2.3: Hinh ảnh mô tả thông tin trả vé trong một vi dụ sử dung Nmap
Do sức mạnh của những kỹ thuật như vậy, nên nó có thể bị lạm dụng và trởnên công cụ hữu hiệu đối với các ké tin tặc Giúp chúng dé chuẩn bị cho một
cuộc tấn công có chủ dich Bài báo của tác giả Kalia và Singh [7] đề cập đến
những kỹ thuật quét mạng và triển khai những phương pháp chống lại sự rò rỉ
thông tin trên mạng nhờ những kỹ thuật quét mạng.
Sau giai đoạn thu thập thông tin các lỗ hong trên hệ thống thì giai đoạn kếtiếp khi tiến hành kiểm thử xâm nhập là cố gắng 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ụctiêu và thực thi lệnh tuỳ ý trên hệ thống được kiểm thử Đây là một giai đoạntốn nhiều thời gian và yêu cầu người kiểm thử có nhiều hiểu biết và kinh nghiệmkiểm thử Tuy nhiên, Metasploit Framework [4] là một công cụ mã nguồn mở
Trang 20được sử dụng trong quá trình khai thác lỗ hổng bảo mật Nó được phát triển
bởi những chuyên gia an ninh mạng và tester an toàn thông tin nhằm giúp họ
phát hiện và khai thác những lỗ hong trong hệ thống an ninh mang và bảo mật
web Ra mắt vào năm 2003 giúp việc khai thác đơn giản hơn
Metasploit |4] có khả năng mở rộng bởi kiến trúc được mô đun hóa Metasploit
có một hệ thống mô-đun khai thác đa dạng với rất nhiều những payload (các tác
vụ được thực hiện sau khi khai thác thành công hệ thống đích) thực thi nhiềuchức năng (ví dụ: tạo người dùng mới) trên nhiều môi trường khác nhau
Hình 2.4: Hình ảnh mô tả cấu trúc tong 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 của minh, Metasploit framework
giúp người dùng tận dụng thông tin thu thập được để tìm kiếm và khởi chạy
các module khai thác một cách dé dàng và nhanh chóng hơn bằng việc chỉ cần
tập trung vào việc khởi chạy khai thác, thay vì hiểu rõ kỹ thuật để tìm kiếm vàphát triển 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ề
đồng lệnh và con gọi là Armitage.
Msfeli đượ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
Trang 21cá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 để giao tiếp với Metasploit So với msfcli,
msfconsole mạnh hơn và có thể mở rộng hơn Điều này cho phép bạn truy cập các
biến toàn cầu, 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 lưu trong một Msfconsole
Cách sử dụng Msfconsole được trình bày chỉ tiết trong hướng dẫn công khai của
Metasploit https: //www offensive-ecurity com/metasploit-un1eashed/msfconsole
Metasploit cho phép người dùng dé dang 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 để cho
phép truy cập hệ thống từ xa có thể được tóm tắt như sau (hình 2.5):
Tester sends 1‘ 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á trình thiết lập kết nối giữa Metasploit va may
chủ mục tiêu
Trang 222.2 Học tăng cường
2.2.1 Các khái niém va thuật ngữ
Học tăng cường - Reinforcement Learning (RL) là một nhánh của học máynhằm tích hợp một cách nguyên bản một thứ nguyên bổ sung (thông thường làthời gian) vào các phương trình học tập để giải quyết bài toán tự động hoá và
các quyết định tối wu theo thời gian Học tăng cường là một hướng tiếp cận gần
với hiểu biết của con người về trí tuệ nhân tạo và đây cũng là một phương pháp
đang được ứng dung trong nhiều lĩnh vực khoa học và kỹ thuật khác nhau [8]
Trong Reinforcement Learning, agent (tác tử ) học cách hoàn thành mục tiêubằng cách tương tác với environment (môi trường) qua mỗi action (hành động)
và dua trên reward (phần thưởng) của mỗi action (hành động) để đưa ra quyết
định tối ưu Cách vận hành của thuật toán này tương đối giống với cách mà conngười đã học được thông qua thất bại và thành công
e Environment (Môi trường): là không gian mà tác tử tương tác
e Agent (tác tử ): tương tác với môi trường qua hành động
e Policy (Chính sách): là chính sách mà tác tử sử dụng để đưa ra hành động
e State (Trạng thái): mô tả trạng thái hiện tại của môi trường.
Trang 23e Reward (Phần thưởng): phần thưởng từ môi trường tương ứng với hành
động tác tử thực hiện
e Action (Hành động): là những gì tác tử có thể thực hiện
2.2.2 States and Observations
States s mô tả toàn bộ trạng thái của environment ở một thời điểm cụ thể
trong giai đoạn tương tác của agent và enviroment và không có dữ liệu nào về
environment bị an trong states
Observation o là một thông tin do 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, nó
không bắt buộc phải bao gồm toàn bộ thông tin cần thiết Trong một vài trường
hợp, o có thể là một phép đo hoặc một phản hồi từ enviroment, tuy nhiên nókhông đại diện cho toàn thể states
2.2.3 Quy trành quyét định Markov (Markov Decision Process
-MDP)
Trước tiên, chúng ta sẽ bắt đầu với Quy trình Markov, thường được gọi là
Chuỗi Markov Ta biết rằng tất cả các trạng thái có thể có đối với một hệ thống
tạo nên một tập hợp được gọi là không gian trạng thái Trong quy trình Markov,chúng tôi yêu cầu tất cả những trạng thái đều là hữu hạn Các quan sát về chúngtạo nên một chuỗi các trạng thái Dồng thời, nếu gọi một hệ thống như là chuỗi
Markov thì nó cần thoả mãn thuộc tính Markov, có nghĩa là chuyển động của
hệ thống trong tương lai ở bất cứ trạng thái nào cũng phải tuỳ thuộc vào trạng
thái đó Điểm chủ yếu của thuộc tính Markov là làm sao mà mọi trạng thái cóthể quan sát được khép kín nhằm miêu tả tương lai của hệ thống, hay nói một
cách đơn giản là mỗi trạng thái của hệ thống phải được phân biệt với nhau và
là duy nhất.
Quy trình quyết định Markov là một phần mở rộng của chuỗi Markov, sự
Trang 24khác biệt nằm ở thứ tự hành động va các quyết định khen thưởng [20] O mỗigiai đoạn, quá trình ra quyết định chọn một trạng thái s và người ra quyết định
có thể chọn một hành động có sẵn trong trạng thái s Quá trình quyết địnhphản hồi bước trước đó bằng cách chuyển đổi ngẫu nhiên sang trạng thái mới
s và trả lại phần thưởng bằng R,(s,s’) cho quá trình quyết định Hành vi được
chọn xác định xác suất quá trình chuyển đổi sang trạng thái quy trình mới Cụthể, nó được tạo bằng cách sử dung phân phối xác suất chuyển tiếp P,(s, s') Vì
vậy, trạng thái mới của quy trình phụ thuộc vào trạng thái hiện tại s và hành động a.
Hầu hết các bài toán trong học tăng cường được xây dựng trên MDP MDP
gồm bốn thành phần:
e S: Không gian các trạng thái mà tác tử quan sát được khi tương tac với môi trường.
e A: Không gian các hành động mà tác tử có thể thực hiện với môi trường.
e P: Hàm chuyển Hàm này đưa ra xác suất dự đoán một trạng thái có thể
xảy ra, đầu vào của nó là trạng thái hiện tại của môi trường và một hành
động.
e R: Một hàm đưa ra phần thưởng Hàm này sẽ xác định phần thưởng khimôi trường chuyển từ trạng thái này sang trạng thái kế tiếp, dưới tác động
của một hành động.
Vi vậy, MDP thường được định nghĩa như sau: M =< $,A,P,R >
2.2.4 Tổng quan mô hành học tăng cường
Học tăng cường là một nhánh nghiên cứu của học máy, trong đó sẽ có một
tác tử đưa ra các hành động để tương tác với một môi trường Mục tiêu cuối là
tối ưu hóa phần thưởng tích lity đạt được
Trang 25Dựa trên MDP, một hệ thống học tăng cường cơ bản sẽ có hai thành phầnchính là tác tử (Agent) và Môi trường (Environment) Kênh giao tiếp của haithành phần này bao gồm: Hành động (Action), Phần thưởng (Reward), và Trạng
thái (STATE).
Hinh 2.7: Mô hình học tăng cường
tác tử sẽ tương tác với môi trường thông qua các hành động ` Với mỗi lượt í,tác 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 vectơ 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 thá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(a|s,¿¡) tác tử sẽ học dan và tuần
tự qua việc khám phá (exploration) và khai thác (exploitation), dan dan 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ì vọng:
V"(st) = Ea,[Q" (se, &)|5:]
với Q"(s;,a;) là giá trị ước tinh của action a tại thời điểm t tuân theo chính sách
7
Q7(s¡, a4) = B5441:00,a141:00 [Rt] $4, 4]
Trang 26và R; là tổng reward ước tính từ action a
là, = Xin, +i,7 € |0, 1]
¿>1
+ là giá tri chiết khấu cho phần thưởng Giá trị 7 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ả V7
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 No 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) + ymazQ(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ạngthá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ầnnhất của môi trường , y là hệ số chiết khấu bồi thường trong tương lai (thường
được thực hiện với giá trị 0,99) để đảm bảo rằng các trạng thái trong tương lai
có giá trị Q nhỏ.
Chúng ta có thể thấy rằng giá trị Q của hành động a ở trạng thái s bằng với
phần thưởng nhận được cộng với giá trị Q lớn nhất của các trạng thái s gần nhất Vì vậy, cách tiếp cận đơn giản nhất cho Q-Network là tạo một bảng giá trị Từ đó, đối với mỗi trạng thái riêng lẻ, tác nhân chỉ cần xác định hành động nào có giá trị Q cao nhất và thực hiện chúng.
2.2.6 Deep Q-Network
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
Trang 27như quãng đường, vận tốc làm giảm độ chính xác và hội tụ của mô hình Van đềthứ 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á trị.Trong học máy, đây được gọi là "bài toán hồi quy"
Co 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 Dâ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ừ bang giá trị sang mạng nơ-ron đối với Q-Network, mọi thứ
trở nên dé dang hơn rất nhiều
Hình 2.8: Hình ảnh mô tả tiệc sử ung mạng 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
Trang 28Mạ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
gồ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 ẩn đả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à 6 (cũng thường được biết đếnnhư 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á trị Q(s,a) được mô tả trước đó khi sử dụng QNetwork bang giá trị.
Tức là Q(s, a,Ø) Q(s, a) Có thể được giải quyết bằng việc giảm giá trị của
Hàm mất mát ở mỗi bước:
La(B = Esu,sx([( + ymaraQ(s', a"; 6;-1)] — Q(s, a; 6;)° (2.1)
2.3 Học tang 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" đượcnhắ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, mặc dù đều sử dụng mạng 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 học máy sử dụng 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 hàm xấp xỉ 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 no-ron mục
Trang 29tiê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ínhsá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á
trị 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ậttoán DQN cơ bản gồm những bước sau [9]:
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 Lua chọn hành động a (qua thăm dò hoặc khai thác).
e Thực thi hành động đã chon.
e Quan sát phần thưởng r và trạng thái tiếp theo s’.
e Lưu 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.
e Tính toán giá trị mất mát.
e Gradient descent cập nhật trọng số mạng để giảm thiểu giá trị mất
mat.
2.3.1 Asynchronous Advantage Actor-Critic (A3C)
Khi xây dựng tác tử DQN, chúng ta sử dung mang nơ-ron để tính xấp xi 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
Trang 30a 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ố Ø bay giờ sẽ nhân một trạng thái slàm đầu vào và xuất ra một phân phối xác suất hành động z theo 6 Đó gọi là
policy gradient [16].
A3C [12] là một thuật toán gradient duy trì độ dốc của chính sách x (a¢ | 54; 4)
và ước tinh giá trị của hàm giá trị V (s¿;Ø„) Giả sử xác định một hàm 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ọ
J() = Ep(S6)[V (so)] (2.2)
Chính sách và ham giá trị được cập nhật sau mỗi tax 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;,a;;Ø,0,) và
Vw log x (az | s¿;8) 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.
V0) Jn = Es ma xLA(s,@).V(ø) log x(a | 5)] (2.3)
Cả hai điều này đều nằm trong một ky 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ạngthá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ôngthức trên để tìm một xấp xỉ của gradient V(yjJ„ 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 tap của A3C gan giống với DQN, nhưng nó có ba cải tiếnnhư sau [12]:
1 Advantage
Trang 312 Actor-Crite
3 Asynchronous
Trong đó:
e Advantage là một đặc điểm mà thay vì sử dụng 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ụnggiá 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, a) - 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á tri
V cũng như chính sách tối uu z(s) (6 đây là phân phối xác suất của khong
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
trường Các tác tử này tương tac 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ệmhơ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ư
sau |9]:
2.3.2 Distributed Proximal Policy Optimization (DPPO)
Bên cạnh A3C, thuật toán DPPO (Distributed Proximal Policy Optimization)
cũng là một thuật toán hoc tăng cường dựa trên chính sách Tuy hai thuật toán
A3C và DPPO có chung mục tiêu chính là tối ưu hóa chính sách để đạt đượchiệu suất trong môi trường, nhưng chúng có những điểm khác biệt đáng chú ý:
Trang 321 Tính phân tán (Distributed):
e DPPO: DPPO là một thuật toán học tăng cường phân tán, trong đó
nhiều môi trường hoặc tác tử có thể huấn luyện song song Mỗi tác tử
tương tác với một môi trường riêng biệt và cập nhật chính sách dựa trên dữ liệu thu thập của nó.
e A3C: A3C cũng là một thuật toán học tăng cường phân tán, nhưng các tác tử trong A3C chia sẻ trạng thái môi trường chung Các tác tử hoạt động độc lập và cập nhật mạng nơ-ron chính sách riêng của mình, nhưng trạng thái và thưởng được chia sẻ giữa các tác nhân.
2 Cập nhật chính sách:
e DPPO: DPPO sử dụng phương pháp tối ưu hóa mạnh mẽ gọi là imal policy optimization" để cập nhật chính sách Nó sử dụng mộtphương thức tối ưu hóa có ràng buộc để đảm bảo việc cập nhật chính
"prox-sách không quá xa so với chính "prox-sách hiện tại.
e A3C: A3C sử dụng phương pháp tối ưu hóa gradient thông qua "policygradient theorem" để cập nhật chính sách Nó sử dụng hàm loss trungbình của chính sách và giá trị để tính toán gradient và cập nhật thông
qua hàm loss.
3 Đồng bộ hóa:
Trang 33e DPPO: DPPO sử dụng một cơ chế đồng bộ hóa rất mạnh, đảm bảorằng các tác tử không cập nhật chính sách của mình quá nhanh, đồngthời tránh tình trạng xung đột và phiên bản cũ trong quá trình cập
nhật.
e A3C: A3C sử dụng một cơ chế đồng bộ hóa đơn giản hơn, trong đó các
tác tử gửi gradient cho một máster tác tử (master agent) và cập nhậtchính sách từ master tác tử Diéu này đòi hỏi đồng bộ hóa nhanh hơn
tính toán gradient được sử dụng phổ biến nhất của hàm L với đường cơ sở được
viết dưới dạng sau:
Wok = fuls) | Yamlals)As.a) = EIVulsxamlals)A(s.e)] (24)
8 A
trong đó S là không gian trạng thái va A là không gian hành động tương ứng.
u(s) là một phân phối theo chính sách dựa trên trạng thái 7 là một chính sáchngẫu nhiên ánh xạ trạng thái s € 9 thành hành dong a € A và A là một hàm lợithé
2.4 Hoc lién két
2.4.1 Téng quan
Học liên kết [14] là một framework thuật toán học máy, cho phép nhiều tổ
chức cùng tham gia huấn luyện mô hình học máy với yêu cầu đảm bảo về bảo
vệ quyền riêng tư, bảo mật dữ liệu và quy định của các bên Trong kiến trúc
Trang 34học liên kết, mô hình được xây dựng bao gồm hai quá trình: đào tạo mô hình
và tổng hợp mô hình Trong suốt quá trình huấn luyện, các bên có thể chia sẻ
thông tin mô hình lần nhau nhưng không chia sẻ dữ liệu riêng của mình, do đó
quyền riêng tư sẽ được đảm bảo Để hướng đến mục tiêu là xây dựng mô hình
học máy mà không cần chia sẻ dữ liệu cục bộ, học liên kết cần đến các kĩ thuật nghiên cứu khác như hệ thống phân tán, truyền thông thông tin, học máy và
mã hóa Từ những kĩ thuật đó, học liên kết mang trong mình nhưng đặc điểm:
e Distribution Có nhiều hơn hai tổ chức có thể tham gia xây dựng mô hình
để giải quyết các vấn đề tương tự nhau Mỗi tổ chức nắm giữ dit liệu của
họ một cách độc lập và dùng nó để huấn luyện mô hình.
e Dataprotection Dữ liệu huấn luyện mô hình của các tổ chức không cầnphải gửi đến tổ chức khác trong suốt quá trình huấn luyện Kinh nghiệm và
tham số khi huấn luyện mô hình không liên quan đến quyền riêng tư của
mỗi tổ chức
e Secure communication Mô hình sẽ được truyền đi giữa các bên với sự
hỗ trợ của cơ chế mã hóa Dù cho bị nghe lén trong quá trình truyền tải mô
hình thì dữ liệu gốc cũng không thể bị đọc được
e Generality Hoàn toàn có thể áp dụng học tăng cường vào nhiều cấu trúcdit liệu khác nhau hoặc môi trường mà không có sự liên quan với nhau.
e Guaranteed performance Hiệu năng của mô hình cuối cùng rất gần vớihiệu năng của môi trường lý tưởng được thiết lập với tất cả dữ liệu được
chuyển đến một bên tập trung
e Status equality Dể đảm bảo công bằng cho các bên tham gia Mô hình
chia sẻ có thể được sử dụng bởi bất kì bên tham gia nào để cải thiện mô
hình cục bộ của họ khi cần
Công thức định nghĩa học tăng cường được trình bày như sau Giả sử ta có N
tổ chức FN, tham gia xây d ung và huấn luyện mô hình học máy Mỗi bên sẽ
Trang 35có dữ liệu huấn luyện của riêng họ gọi là D; Thông thường, phương pháp họcmáy sẽ thu thập toàn bộ dữ liệu trong Dx ¡ thành một tap dit liệu R ở tại máychủ Mặt khác, học liên kết là một cải tiến của quy trình học máy, trong đó,
những người tham gia F; với dữ liệu riêng của họ D; tham gia huấn luyện mô hình chung Mpgp mà không can tập hợp dữ liệu của họ lại Thước đo hiệu suất cho mô hình học liên kết Mrgp là Veep, bao gồm accuracy, recall, F1-score, ,
đây sẽ là thước đo gần đúng về hiệu suất của mô hình dự kiến Mgyyy tức là
Vsum Gọi 6 là số thực không âm xác định mô hình học liên kết có ổ giảm hiệu suất nếu
\Vsum — VrEp| <6
Dặc biệt, mô hình học liên kết được giữ bởi mỗi bên là giống nhau về mô hình
hoc máy và bộ tham số w; mà đã được học dựa trên bộ dit liệu huấn luyện Dj.Một mẫu huấn luyện j chứa cả đầu vào và đầu ra Quá trình học tập được tạođiều kiện thuận lợi bằng cách xác định ham mat mác trên vectơ tham số w cho
mọi mẫu dữ liệu j Hàm mất mát biểu thị lỗi của mô hình liên quan đến dữ liệu
đào tạo Đối với mỗi tập dit liệu D; tại #; hàm mất mát trên tập hợp các mẫuhuấn luyện được định nghĩa như sau:
Fi(w) =o » fi(w) (2.5)
j€D¡
trong đó f;(w) đại điện cho hàm mat mát của mẫu j với bộ tham số vecto w đã
có và |.| là kích thước của tập hợp Trong học liên kết, điều quan trọng là phảixác định hàm mất mất toàn cục vì nhiều bên cùng đào tạo một mô hình màkhông chia sẽ dữ liệu Hàm mất mát toàn cục trên tất cả bộ dữ liệu phân tan
được định nghĩa như sau:
)= SOR imiB(0) (2.6)
với n; biểu thị tác động tương đối của mỗi bên tham gia với mô hình toàn cục.Ngoài ra nj > 0 và S2 ,m¿ Với n có thể linh hoạt điều chỉnh để nâng cao hiệu
Trang 36quả đào tạo Cài đặt tự nhiên là n = 1/N Mục đích của quá trình học tập làtìm ra bộ tham số tối ưu mà tối thiểu được hàm mat mát toàn cục F,(w) Nóđược biểu diễn bằng công thức sau:
sử dụng rộng rãi trong các hệ thống học liên kết Nói chung, một điều phối viên
có mô hình học liên kết ban đầu và chịu trách nhiệm tổng hợp Những ngườitham gia được phân phối các cài đặt của trình tối ưu hóa và có thể tải lên mà
không ảnh hưởng đến quyền riêng tư Mỗi người tham gia sẽ sử dụng dữ liệu
cục bộ để thực hiện một bước (hoặc nhiều bước) giảm dan độ dốc trên tham số
mô hình hiện tại w®(t) theo cong thức sau:
Vi, wi(t + 1) = w(t) — yVFi(wi(t)) (2.8)
với + là learning rate Sau khi nhận tham số cục bộ từ người tham gia, ngườiđiều phối ở trung tâm sẽ cập nhật mô hình toàn cục bằng cách sử dụng phươngpháp trung bình trọng số,
N
W(t + 1) = » Swill +1) (2.9)
i=l
với n; biểu diễn số mẫu huấn luyện của người tham gia i và n biểu diễn tổng số
mẫu huấn luyện trong tập dữ liệu Cuối cùng, điều phối viên gửi trọng số của
mô hình đã tổng hợp „(+ 1) về lại cho người tham gia Quá trình tổng hợp
được thực hiện tại một khoảng thời gian xác định trước hoặc vòng lặp Ngoài
ra, học liên kết còn áp dụng các kĩ thuật bảo vệ quyền riêng tư để ngăn rò rỉ
độ dốc hoặc trọng số mô hình Ví dụ, FedAvg được thêm vào các thuật toán mã
Trang 37hóa để cung cấp mô hình học liên kết an toàn,
2.4.2 Kiến trúc
Với những đặc điểm ứng dụng trên, kiến trúc của học liên kết được chia thành
hai loại: mô hình client-server và mô hình peer-to-peer.
Client-server có hai thành phần chính là người tham gia (participants) vàđiều phối viên (coordinator) Người tham gia sỡ hữu dit liệu của riêng họ, thựchiện huấn luyện và cập nhật mô hình Bởi vì người tham gia huấn luyện môhình dựa trên dữ liệu cục bộ của họ và chia sẻ kinh nghiệm thông qua điều phối
viên bằng cơ chế tổng hợp mô hình, sẽ giúp cho hiệu năng của việc huấn luyện
tăng lên và cả hiệu suất của mô hình Luồng hoạt động cơ bản của mô hìnhclient-server được tóm gon trong 5 bước sau Tiến trình được lặp lại từ bước 2đến ước 5, kết thúc khi đạt điều kiện dừng
Bước 1: Diều phối viên khởi tạo mô hình và gửi đến người tham gia Những
người tham gia sau có thể truy cập vào mô hình toàn cục mới nhất
Bước 2: Mỗi người tham gia huấn luyện mô hình cục bộ dựa trên dữ liệu
của họ.
Bước 3: Người tham gia cập nhật mô hình và gửi đến điều phối viên
Bước 4: Diều phối viên kết hợp các mô hình bằng thuật toán tổng hợp
Bước 5: Mô hình sau khi tổng hợp được gửi về cho người tham gia
Peer-to-peer, trái với client-server, mô hình peer-to-peer không yêu cầu điều
phối viên Người tham gia có thể trực tiếp giao tiếp với nhau mà không cần dựavào bên thứ ba Vì vậy, mỗi người tham gia là như nhau, có thể khởi tạo, traođổi mô hình với bất kì người tham gia khác.Cách thức để gửi mô hình cơ bản
là tuần hoàn và ngẫu nhiên Mô hình peer-to-peer rất phù hợp và quan trọng
trong một số ngữ cảnh Ví dụ, nhiều ngân hàng cùng tham gia phát triển một
Trang 38Local _ A Local Model B TỊ Model C |
Hành 2.10: Hình ảnh mô tả kiến trúc học liên kết: mô hành client-server