1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp An toàn thông tin: Nghiên cứu xây dựng công cụ kiểm thử xâm nhập tự động sử dụng phương pháp học tăng cường

79 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên cứu xây dựng công cụ kiểm thử xâm nhập tự động sử dụng phương pháp học tăng cường
Tác giả Nguyen Xuan Nhu, Le Van Hoang
Người hướng dẫn THS. Phan The Duy
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành An toàn thông tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 79
Dung lượng 30,68 MB

Nội dung

Chính vì vậy, trong khóa luận này, chúng tôi hướng tới việc nghiên cứu, xây dựng một công cụ có thể thực hiện được công việc kiểm thử hệ thống một cách hoàn toàn tự động, kết hợp với phư

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA MẠNG MAY TÍNH VÀ TRUYEN THONG

NGUYEN XUAN NHƯ

LE VAN HOANG

KHOA LUAN TOT NGHIEP

NGHIÊN CỨU XÂY DUNG CONG CỤ KIEM THU’

THAM NHAP TU DONG SU DUNG PHUONG PHAP

HOC TANG CUONG

FULLY AUTOMATED PENETRATION TESTING TOOL USING

DEEP REINFORCEMENT LEARNING

KY SU NGANH AN TOAN THONG TIN

Trang 2

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA MẠNG MAY TÍNH VÀ TRUYEN THONG

NGUYEN XUAN NHƯ - 18521215

LE VAN HOANG - 18520780

KHOA LUAN TOT NGHIEP

NGHIEN CUU XAY DUNG CONG CU KIEM THU

THAM NHAP TU DONG SU DUNG PHUONG PHAP

HOC TANG CUONG

FULLY AUTOMATED PENETRATION TESTING TOOL USING

DEEP REINFORCEMENT LEARNING

KY SU NGANH AN TOAN THONG TIN

GIANG VIEN HUONG DAN

THS PHAN THE DUY

TP HO CHi MINH, 2022

Trang 3

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số

¬ eee eee eee eee een eeee ngây của Hiệu trưởng Trường Đại hoc Công

nghệ Thông tin.

Trang 4

Chúng tôi xin gửi lời tri ân và biết ơn đến ThS Phan Thế Duy đã trực tiếp quan tâm,

đồng hành và hướng dẫn tận tình trong suốt quá trình chúng tôi tìm hiểu và thực hiện đề

tài.

Bên cạnh đó, với tình cảm sâu sắc va chân thành, chúng tôi cũng xin cảm ơn các thầy

cô, anh chị đang công tác tại Phòng thí nghiệm An toàn thông tin - InSecLab vì đã luôn tạo

điều kiện về cơ sở vật chất với hệ thống máy chủ hiện đại Đặc biệt, chúng tôi cũng xin gửi lời cảm ơn chân thành đến anh Nghi Hoàng Khoa, anh đã luôn sẵn sàng nhiệt tình hỗ trợ chúng tôi về chuyên môn lẫn kinh nghiệm trong các hoạt động nghiên cứu và thực hiện

khoá luận.

Cuối cùng, do kiến thức chuyên môn còn hạn chế nên khóa luận chắc chắn không tránh khỏi những thiếu sót Rất mong nhận được nhận xét, ý kiến đóng góp, phê bình từ quý thầy cô trong hội đồng để khóa luận được hoàn thiện hơn.

Nhóm thực hiện.

Trang 5

[TÓM TẮT KHOÁ LUẬN

1_ TỔNG QUAN DE TÀI

1.1 Lý do chọn đề tài| ẶccẶcẶẶ.

1.2 Phương pháp nghiên

cứu| -1.3 Mục tiêu nghiên

cứu| [L4 Phạm vi và Đồi tượng nghiên cứu|

-1.5 Cấu trúc Khóa luận tốt nghiệp|

-2_ CƠ SỞ LÝ THUYÊỄT]| 2.1 Kiểm thửthâmnhập|

2.11 Tổng quan|

2.1.2 Phương pháp tiếp

cận| 2.13 Công cụhô trợi

2.2 _

ReinforcementLearning| -2.2.1 Tổng quan|L - c So [2.2.2 Các thành phan chính|

2.2.3 Các hình thức tiếp cận|

2.31 O-Learnmng]

2.3.2

DeepQ-Learning] -2.3.3 DeepQ-Network|[ ẶẶẶ ee eee 2.3.4 Asynchronous Advantage Actor-Critic|

2.4 Tình hình nghiên cứu và các công trình liên quan|

Trang 6

3.2 Phương pháp xây dựng| - 3

3.2.1 Luông hoạt động chính| 37

3.2.2 Ung dung Metasploit Framework| - 38

8.2.3 Tao mô hình hoc may] 39

{3.2.4 Luông hoạt động chi tiết| 43

4 HIỆN THỰC VÀ ĐÁNH GIÁ, THẢO LUẬN) 45 41 Hiện thực -.- - cc , 45

4.11 Xây dựng công cụ| - 45

[Thu thập thông tin mục tiêu|} 45

[Khai thác) 46

Mạng nơron| - 46

[Parameter 5erver| - 4

Woker Thread|] - 4

12 Môi trường thực nghiệm| 51

[42 Kết quả thực nghiệm và thảo luận| 52

4.21 Kichbản thựcnghiệm| 52

[4.2.2 Các kết quả thực nghiệm| 54

_T : 4@V / › ằôằẰ 60

5 KẾT LUẬN VÀ HUONG PHAT TRIỂN 62

5.1 Kếtluận| eee 62

5.2 Huong phattrién) 2 eee 63

vi

Trang 7

E1 Hình ảnh mô tả OWASP Top 10 năm 2017 và sự thay đổi trong năm

2.7 Hình ảnh mô tả vị trí của học tăng cường trong lĩnh vực hoc may| 15

2.8 Hình ảnh mô tả cho vi dụ chú chuột hoạt động trong mê cung] 15

2.9 Hình ảnh mô tả các thực thể chính của RI| 18

[210 Hình ảnh mô tả cho việc sử dung mạng nơ-ron đơn giản thay cho

bang giá trị trong Q-Learning] -. 26

2.13 Hình ảnh mô hình kiến trúc của công cụ trong nghiên cứu của

Trang 8

thâm nhập tự động| - 40 3.3 Hình anh mô tả mô hình học phân tán của công cụ| 42

Luong hoạt động của công cụ ở chế độ huan luyện| 44

B5 Luéng hoạt động của công cụ ở chế độ kiểm thử] Lee 44

[41 Hình ảnh kết qua khai thác của công cụ| - 55

[42 Hình ảnh kết quả khai thác của công cụ| 56

viii

Trang 9

[42 Bang thông tin cấu hình máy ảo cài đặt công cụ| 52

[43 Bảng danh sách cau hình mang no-ron thử nghiệm| 53

4.4 Bảng danh sách thread và số lần thử| - 54

[4.5 Bang kết qua dao tạo trường hợp 20 threads và 6000 lần thu] 57

[4.7 Bảng kết quả dao tạo trường hợp 20 threads và 10000 lần thử| 58

máy UbÑNfu| 6Ã Ae %Ạ 6⁄./ sees 59

ID 9 Bảng kết quả đào tạo trường hợp 10 threads và 10000 lần thử| 59

Trang 10

Danh mục từ viết tắt

DQN Deep Q-Network MDP Markov Decision Processes

RL Reinforcement Learning

Trang 11

Giá trị mat mát

Hành động Hành động tham lam Hàm giá trị

Học tăng cường sâu Kinh nghiệm

Lớp đầu vào Lớp đầu ra Lớp ẩn

Trạng thái

Loss value

Action Greedy action Value function

Activation function Loss function

Advantage Function Reinforcement learning

Supervised learning

Unsupervised learning Deep learning

Deep Reinforcement learning

Experience

Input layer Output layer Hidden layer

Trang 12

Trọng số mạng Weight

Van dé hồi quy Regression problem

xii

Trang 13

Khoa học - công nghệ ngày càng phát triển, việc sử dụng cơ sở hạ tầng hệ thống thông tin ngày càng trở nên phổ biến cho các cá nhân, tổ chức và doanh nghiệp.

Di cùng với đó là những nguy cơ tiềm ẩn vẻ việc trở thành mục tiêu của những cuộc tấn công mạng với những mục đích khác nhau.

Khi đó, một trong những biện pháp được áp dụng phổ biến để đánh giá tính bảo

mật, rủi ro an toàn thông tin của hệ thống là kiểm thử thâm nhập (Penetration

Testing) Mặc dù hiện nay đã có các công cụ hỗ trợ kiểm thử khác nhau và chúng

cũng đem lại hiệu quả to lớn cho lĩnh vực này, tuy nhiên các công cụ này vẫn còn

dua vào con người với yêu cầu trình độ năng lực nhất định Tuy nhiên nhân lực trình độ cao hiện nay về an toàn thông tin là chưa đủ, đồng thời con người thì

không thể tránh khỏi những sai sót Chính vì vậy, trong khóa luận này, chúng tôi hướng tới việc nghiên cứu, xây dựng một công cụ có thể thực hiện được công

việc kiểm thử hệ thống một cách hoàn toàn tự động, kết hợp với phương pháp

học tăng cường để tăng độ chính xác và tính hiệu quả Sau cùng là phần đánh giá

hiệu suất trên các môi trường thử nghiệm va dé xuất hướng mở rộng để có thể phát triển công cụ xa hơn trong tương lai.

Trang 14

Chương 1

TỔNG QUAN ĐỀ TÀI

Tóm tat chương

Trong chương này, chúng tôi xin trình bày tóm tắt vẻ bài toán tự động hóa kiểm

thử thâm nhập Đồng thời đưa ra mục tiêu, phạm vi nghiên cứu, cũng như cầu

trúc của khóa luận.

11 Lý do chọn dé tài

Ngày nay, với sự phát triển mạnh mẽ của khoa học và công nghệ, sự kết nối ngày càng tăng của thế giới kỹ thuật số thông qua việc sử dụng Internet đã thay đổi

cách thức hoạt động của các cá nhân, doanh nghiệp và chính phủ, tạo nên những

lợi ích về kinh tế và xã hội đáng kể Tuy nhiên, đi cùng với đó là sự tăng lên về

mặt cơ hội cho tội phạm mạng thực hiện các cuộc tấn công độc hại với hy vọng có được quyển truy cập vào dữ liệu nhạy cảm với những mục đích khác nhau [4].

Trong bối cảnh đó, một trong những phương pháp được áp dụng phổ biến nhất

để đánh giá tính bảo mật của hệ thống máy tính là Kiểm thử thâm nhập

(Penetra-tion Testing) 1Ì Các công cụ hỗ trợ kiểm thử thâm nhập bao gồm các máy quét

mạng và lỗ hổng bảo mật cũng như các thư viện về những lỗ hổng bảo mật đã

biết Chẳng hạn như Metasploit Framework — một công cụ mã nguồn mở được

phát triển từ năm 2003, nó chứa một thư viện phong phú về cách khai thác lỗ

hổng hệ thống đã biết cùng với các công cụ quét hữu ích khác nhằm thu thập

Những công cụ như thế này cho phép các Pentester làm thông tin về mục tiêu

việc nhanh hơn, bằng cách chủ yếu tập trung vào việc tìm kiếm lỗ hổng và lựa

Trang 15

chọn cách khai thác phù hợp (15) Mặc dù chắc chắn đã mang lại hiệu quả lớn cho

lĩnh vực an ninh mạng, tuy nhiên nhiên các công cụ này vẫn dựa vào con người,

những người dùng được đào tạo, có kiến thức và kỹ năng nhất định Ngoài ra khi các hệ thống ngày càng phức tạp, nhiệm vụ đánh giá bảo mật theo cách thủ công

sẽ trở nên khó thực hiện hơn rất nhiều, chưa kể đến rủi ro sai sót do con người.

Từ những điều trên, chúng tôi nhận thấy việc tự động hóa quá trình kiểm thử

thâm nhập là một nhu cầu cần thiết Vì vậy chúng tôi muốn xây dựng được một

công cụ có thể thực hiện quá trình này một cách hoàn toàn tự động, nhằm tiết kiệm thời gian mà vẫn đảm bảo được sự hiệu quả, đáp ứng được nhu cầu về nguôn nhân lực an toàn thông tin hiện nay.

12 Phương pháp nghiên cứu

Tìm hiểu quy trình kiểm thử xâm nhập, từ đó xây dựng thành công công cụ kiểm

thử thâm nhập hoàn toàn tự động, kết hợp ứng dụng phương pháp học tăng cường (Reinforcement Learning) với mô hình và thuật toán phù hợp để tăng tính

hiệu quả của việc khai thác như giảm thời gian khai thác, tăng tỉ lệ khai thác

thành công, tích lũy dữ liệu khai thác thành công cho những lần khai thác tiếp theo Bên cạnh đó, chúng tôi tiền hành triển khai, đánh giá thực tế hiệu suất của

công cụ và đưa ra hướng mở rộng phù hợp trong tương lai.

13 Mục tiêu nghiên cứu

Khóa luận gồm hai mục tiêu chính như sau:

1 Xây dựng công cụ kiểm thử thâm nhập tự động.

2 Ứng dụng học tăng cường sâu nhằm tăng hiệu quả khai thác.

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

Chúng tôi thực hiện tìm hiểu và xây dựng công cụ dựa trên công cụ DeepExploit

(Được công bồ tại hội nghị Black Hat USA 2018 Asernal) của tác giả Isao

Trang 16

Chương 1 TỔNG QUAN ĐỀ TÀI

Takaesu Công cụ của chúng tôi tập trung vào quá trình quét và khai thác lỗ hổng trực tiếp trên máy chủ mục tiêu thông qua Metasploit-Framework trong điều kiện

lý tưởng Trong đó, sử dụng phương pháp học tăng cường sâu với mô hình DON

kết hợp thuật toán A3C để tiến hành huấn luyện và lưu trữ dữ liệu khai thác Đồng thời, sau quá trình kiểm thử, công cụ sẽ hỗ trợ xuất báo cáo vẻ các lỗ hổng

đã khai thác được một cách trực quan, hỗ trợ người dùng có thể đễ dàng quan sát

và đánh giá Ngoài ra, nghiên cứu này còn tập trung vào những môi trường chứa

lỗ hổng, chẳng hạn như Metasploitable2.

1.5 Câu trúc Khóa luận tot nghiệp

Khóa luận được tổ chức trong 6 chương như sau:

* Chuong|i} TONG QUAN ĐỀ TÀI

Trình bay khái quát định hướng nghiên cứu của khóa luận mà chúng tôi

muốn hướng tới.

* Chương |D} CƠ 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 Dé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|| PHƯƠNG PHÁP THUC HIEN

Là phần trọng tâm của khoá luận, 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.

s Chuong|4} HIỆN THUC, ĐÁNH GIÁ VÀ THẢO LUẬN

n quá trình hiện thực hóa phương pháp dé cập ở Chương] Sau đó

trình bày phương pháp thực nghiệm, đánh giá kết quả và thảo luận chung.

iv] ®: ies 8,as) a Om»

* Chuong|5} KET LUẬN VÀ HƯỚNG PHÁT TRIỂN

Đư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 17

CƠ SỞ LÝ THUYET

Tóm tat chương

Trong chương này, chúng tôi sẽ trình bày cơ sở lý thuyết cần thiết của khóa luận Bao gồm cái nhìn chung vẻ kiểm thử thâm nhập và phương pháp tiếp cận Bên cạnh đó là cơ sở lý thuyết về học tăng cường, các hình thức, mô hình và ưu nhược điểm cho những bài toán khác nhau Đồng thời, chúng tôi 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 điểm khác của khóa luận này 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

Ngày nay, bao mật thông tin là vô cùng quan trọng Bởi, xã hội ngày nay được

gọi là xã hội thông tin, ngày càng có nhiều những thông tin bí mật được lưu trữ dưới dạng điện tử trên các hệ thống máy tính và các hệ thống đó thường được

kết nối với mang máy tính [3] Những thông tin này bao gồm rất nhiều lĩnh vực

khác nhau như kinh tế, tài chính, y tế, giáo dục, khoa học, thậm chí là quân sự Chính vì vậy giá trị của một số thông tin là không thể đo lường Điều này thể

hiện những thách thức mới đối với những người làm việc trong lĩnh vực công

nghệ thông tin Họ phải đảm bảo rằng các hệ thống đó càng an toàn càng tốt và thông tin bí mật sẽ không bị tiết lộ Nếu dữ liệu được lưu trữ trong một hệ thống

Trang 18

Chương 2 CƠSỞ LY THUYẾT

hành các bài kiểm tra thâm nhập thường xuyên, được gọi là kiểm thử thâm nhập,

ví dụ như mô phỏng lại hoạt động độc hại của một kẻ tấn công mạ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 là hoàn toàn an toàn và không thể bi hacker tấn công Kiểm thử thâm nhập có thể phát hiện các van dé bảo mật đã biết công khai, những lỗ hổng đã được tiết lộ và công.

bố trước đó [14].

Có rất 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ể lựa chọn một phương pháp phù hợp Người kiểm thử càng có nhiều kinh nghiệm, càng có nhiều kiến thức tốt hơn về môi trường được kiểm tra thì càng có thể đưa ra lựa chọn chính xác hơn về một phương pháp phù hợp,

chang hạn như Open Source Security Testing Methodology Manual do ISECOM

tạo và duy trì hoặc Open Web Application Security Project (OWASP) đối với các

ứng dụng web và phần mềm.

Đối với OWASP, đây là một dự án được tạo ra và duy trì bởi tổ chức OWASP Một tổ chức phi lợi nhuận gồm có nhiều thành viên là các chuyên gia từ ngành phát triển ứng dụng web hoặc các chuyên gia trong lĩnh vực phần mềm OWASP

-hướng tới phương pháp xây dựng những ứng dụng và dịch vụ web một cách an

toàn, bang cách mô tả những gì cần làm tại mỗi giai đoạn phát triển phan mềm

để có thể đạt được mục tiêu là sự an toàn nhất có thể cho sản phẩm Ngoài ra, OWASP cũng cung cấp một báo cáo được cập nhật thường xuyên 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.

Trang 19

2017

A02:2017-Broken Authentication

‘A03:2017-Sensitive Data Exposure

‘A05:2017-Broken Access Control

A06:2017-Security Misconfiguration

‘A09:2017-Using Components with Known Vulnerabilities

‘A10:2017-Insufficient Logging & Monitoring

A06:2021-Vulnerable and Outdated Components

‘A07:2021-Identification and Authentication Failures

Poona {New} AOB:2021-Software and Data Integrity Failures

.A09:2021-Security Logging and Monitoring Failures* (New) A10:2021-Server-Side Request Forgery (SSRF)*

* From the Survey

HINH 2.1: Hình ảnh mô tả OWASP Top 10 năm 2017 và sự thay đổi

trong năm 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ạn nà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 fig.

"ý / / Gathering /

Gathering of Launch remote |Gather relevant Attempt to Use compromised Erase all evidence

relevant information| |exploits in order to information about penetrate further |computer and |of penetration in

|about the target, compromise the successfully into compromised | |escalated privileges| |order to avoid

including IP target system |compromised computer using |to launch attacks detection.

system and order to gain network Repeating

thu thập thông tin, trong đó mục đích là tìm ra lỗ hổng (một 16 hổng trong hệ

thống) trong mạng Sau đó là tấn công và thâm nhập lỗ hổng được phát hiện sau khi bị khai thác Tiếp đến là sử dụng quyên truy cập mới có được để lặp lại qua trình này, cho đến khi đạt mục tiêu mong muốn và cuối cùng là xóa dau vết của quá trình thâm nhập để tránh bị phát hiện.

Trang 20

Chương 2 CƠSỞ LY THUYẾT

Hệ quả của cách tiếp cận như vậy là các giai đoạn khác nhau của bài kiểm tra sẽ

phù hợp với các loại công cụ hỗ trợ khác nhau Chẳng hạn tại bước thu thập thông

tin thường liên quan đến sử dụng các công cụ như giám sát lưu lượng, quét cổng

và phát hiện hệ điều hành để thu thập thông tin liên quan có thể được sử dụng

để xác định xem hệ thống có chứa lỗ hổng bảo mật có thể bị khai thác hay không Đối với giai đoạn tấn công và thâm nhập liên quan đến việc thực hiện một khai

thác đã biết, có thé là một chương trình hoặc dữ liệu nhất định nhằm tận dung lỗ

hổng đã phát hiện và gây ra hành vi không mong muốn trong hệ thống với mục đích cuối cùng là xâm phạm mục tiêu và giành được quyên truy cập đặc quyền vào nó Mặc dù các môi trường được kiểm tra có thể khác nhau khá nhiều, tuy nhiên trong mỗi trường hợp, các bước chung thường giống nhau và được thực hiện đầy đủ Chính vì vậy, đã có những công cụ và framework được phát triển để

hỗ trợ cho việc kiểm thử thâm nhập được hiệu quả hơn {16}.

2.1.3 Công cụ hỗ trợ

Ngành công nghiệp an ninh mạng là một ngành rat lớn và có tiém năng phát triển,

có rất nhiều công cụ khác nhau hỗ trợ cho quá trình kiểm thử thâm nhập Ở đây,

chúng tôi sẽ tập trung vào các công cụ được sử dụng phổ biến nhất, tương ứng với từng giai đoạn kiểm thử thâm nhập cho một môi trường mạng được kiểm tra như đã đề cập trong phần trước đó.

Đối với giai đoạn thu thập thông tin, mục đích là tìm thông tin hữu ích về mạng mục tiêu Điều này thường được thực hiện bằng cách sử dụng các máy quét mạng, với máy quét mạng tốt nhất mà chúng tôi biết đến là Nmap Nmap cung cấp cho người dùng các thông tin như hệ điều hành, các cổng đang mở và các dịch vụ hiện đang chạy trên hệ thống Sau đó, những thông tin này có thể được sử dụng

để kiểm tra bat kỳ lỗ hổng nào trong hệ thống bằng cách sử dung các trình quét

lỗ hổng như Nessus hoặc OpenVAS

thực sự tổn tại hay không thì cần phải sử dụng các biện pháp khai thác phù hợp.

Tuy nhiên, để xác định xem lỗ hổng có

Mặc dù vậy, rõ ràng quy trình quét và phân tích ban đầu tiết lộ rất nhiều thông tin có giá trị cho người kiểm thử, bao gồm các ý 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.

Trang 21

root@kali:~# nmap -PS 192.168.1.96/27 -O

Starting Nmap 6.46 ( http://nmap.org )

Nmap scan report for 192.168.1.107

Host is up (@.9@010s latency).

Not shown: 995 closed ports

PORT STATE SERVICE

MAC Address: @@:0C:29:6F:41:69 (VMware)

Device type: general purpose

OS details: Microsoft Windows

2099 SP@ - SP4 or

Windows XP SP@ - SP1

Network Distance: 1 hop

HINH 2.3: Hình ảnh mô tả thông tin trả về trong một vi du sử dung

Nmap

Chính vi vậy, đây có thể cũng là một rủi ro trong trường hợp kẻ tan công lợi dung nhằm thu thập thông tin để chuẩn bị cho một cuộc tan công có chủ đích Bài báo của tác giả Kalia và Singh [7] đề cập đến việc giới thiệu các kỹ thuật quét mạng

Trang 22

Chương 2 CƠSỞ LY THUYẾT

và triển khai các biện pháp chống lại việc tiết lộ thông tin về hệ điều hành bằng

các kỹ thuật quét mạng này.

Sau khi thông tin về lỗ hổng trên hệ thống đã được thu thập, giai đoạn tiếp theo khi thực hiện kiểm thử thâ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 nhằm xâm phạm và thực thi những lệnh tùy ý trên hệ thống được kiểm tra Đây là một giai đoạn tốn nhiều

công sức và yêu cầu người kiểm thử phải có hiểu biết, kỹ năng cũng như kinh

nghiệm nhất định Tuy nhiên, Metasploit framework - một dự án mã nguồn mở được bắt đầu từ năm 2003 có thể giúp công việc này được thực hiện một cách dễ

đàng hơn Kể từ khi ra mắt, Metasploit phát triển nhanh chóng và được mua lại bởi Rapid7 vào năm 2009, sau đó được tài trợ và phát triển cho tới hiện tại 6].

Metasploit có kiến trúc được phát triển theo hướng mô-đun hóa và khả năng mở

rộng [3] Metasploit có một hệ thống mô-đun khai thác đa dang 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 hiện các tác vụ nhất định (ví dụ: tạo người dùng mới) trên nhiều môi

trường khác nhau.

10

Trang 23

HINH 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ể kiểm soát được hoạt động cốt lõi của Metasploit Chính vì thé, kết hợp với

việc các bộ công cụ khai thác thường xuyên được cập nhật của mình, Metasploit

framework giúp người dùng có thể sử 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é dang và hiệu quả, bằng cách chi cần tập trung vào hoạt động khởi chạy khai thác, thay vì nắm rõ kỹ thuật để tì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

Trang 24

Chương 2 CƠ SỞ LY THUYET

chí còn có GUI phù hợp cho nhưng người dùng không có nhiều kinh nghiệm về

dong lệnh, được gọi là Armitage.

Msfcli được sử dụng trực tiếp từ dòng lệnh Nó giúp người dùng hiểu cách hoạt

động bên trong của Metasploit, vì vậy nó phù hợp cho người mới bắt đầu và

những người mới làm quen với Metasploit.

Msfconsole là một giao diện khác có sẵn để tương tác với Metasploit So với

Msfcli, Msfconsole mạnh mẽ hơn, có khả năng mở rộng hơn Nó cho phép xác

định các biến toàn cục, thực hiện tra cứu trong cơ sở dữ liệu khai thác và cònrất nhiều thứ hữu ích khác Khi thực hiện khai thác thành công, các phiên Me-terpreter sẽ được duy trì trong một Msfconsole duy nhất Cách sử dụng củaMsfconsole được hướng dẫn chi tiết tại trang hướng dẫn mở của Metasploit

(https:/ /www.offensive-security.com/metasploit-unleashed /msfconsole /).

Khi sử dụng Metasploit, người dùng có thể quản lý các mô đun khai thác mộtcách hiệu quả (chẳng hạn tra cứu) hoặc có thể lựa chọn rất nhiều các payloadkhác nhau được xếp hạng nhất định, sao cho phù hợp với mục tiêu của mình

msf > search dcom

i = fb ưMatching Mo

_—

u

Disclosure Date: 2003-07-16 Rank: great

Description: MS@3-@26 Microsoft RPC DCOM

Interface Overflow

HINH 2.5: Hình ảnh mô tả kết qua tim kiếm mô-đun khai thác ứng

với từ khóa dcom

Khi thực thi một khai thác, trình tự các bước cần thiết được Metasploit xử lý để

thiết lập kênh giao tiếp hai chiều giữa người kiểm thử với hệ thống được kiểmthử để có thể điều khiển hệ thống từ xa được mô tả như sau:

12

Trang 25

Tester sends I*t stage payload

System connects back to Metasploit

2nd stage payload with DLL is sent

Connection is established

Phan quan trọng nhất của quá trình này là việc truyền thư viện DLL đặc biệt

với Meterpreter Shelf sử dụng kỹ thuật DLL Injectior?| Chúng tôi sẽ không mô

tả chỉ tiết quá trình này, kết quả khi tất cả các bước trên được hoàn thành là người dùng có quyền kiểm soát không giới hạn đối với hệ thống đích thông qua

Meterpreter Shell này Bao gồm các khả năng thao tác như: Liệt kê danh sách thư

mục, tải lên hoặc tải xuống các tệp, chỉnh sửa tệp, xóa nhật ký sự kiện và rất nhiều

thứ khác.

Sự tự động hóa ở mức độ kỹ thuật như vậy của Metasploit cho phép tăng hiệu

quả rất lớn trong quá trình kiểm thử thâm nhập Tuy nhiên, để thực hiện một lần thâm nhập thành công vẫn cần một lượng kiến thức chuyên môn và thời gian

không hé nhỏ Với nhu cầu ngày càng tăng đối với các chuyên gia bảo mật, các

Thttps:/ /www.sciencedirect.com/topics /computer-science /meterpreter-shell

2https: //sec.vnpt.vn/2019/01/dll-injection/

Trang 26

Chương 2 CƠSỞ LY THUYẾT

phương pháp tiếp cận mới là thực sự cần thiết để đảm bảo có thể đáp ứng các

nhu cầu đánh giá bảo mật.

2.2 Reinforcement Learning

2.2.1 Tổng quan

Hoc tăng cường là một lĩnh vực con của hoc máy, kết hợp một cách nguyên bản

một thứ nguyên bổ sung (thường là thời gian) vào các phương trình học tập nhằm giải quyết van dé tự động học các quyết định tối ưu theo thời gian Học tăng

cường là một hướng tiếp cận gan với nhận thức của con người về trí tuệ nhân tao

và đây cũng là một phương pháp phổ biến được nghiên cứu trong nhiều lĩnh vực khoa học và kỹ thuật khác nhau (9.

Đối với hoc có giám sát - một ky thuật học máy được biết và nghiên cứu rộng rãi,

câu hỏi cơ bản của nó là làm thế nào để tự động xây dựng một hàm ánh xạ từ dữ liệu huấn luyện Dữ liệu huấn luyện bao gồm các cặp gồm đối tượng dau vào và đầu ra mong muốn Đầu ra của hàm có thể là một giá trị liên tục hoặc có thể là

dự đoán nhãn phân loại cho một đối tượng đầu vào Nhiệm vụ của chương trình học có giám sát là dự đoán giá trị của hàm cho một đối tượng bat kì là đầu vào

hợp lệ sau khi đã xem xét một số ví dụ huấn luyện (nghĩa là các cặp đầu vào và

đầu ra tương ứng) Để đạt được điều này, chương trình học phải tổng quát hóa

từ các dir liệu sẵn có để dự đoán được những tình huống chưa gặp phải theo một

cách "hợp ly".

Ở một khía cạnh khác, chúng ta có một kỹ thuật khác gọi là học không giám sát.

Học không giám sát không có bat kỳ nhãn nào được gan cho dit liệu, mục tiêu là tìm hiểu một số cầu trúc ẩn của tập di liệu hiện có, điển hình là bài toán phân cụm dữ liệu Học không giám sát khác với học có giám sát ở chỗ đầu ra đúng tương ứng cho mỗi đầu vào là không biết trước Chúng ta sẽ xem các đối tượng đầu vào như một tập các biến ngẫu nhiên, sau đó tìm cách xây dựng một mô hình mật độ kết hợp cho tập dữ liệu đó Một phương pháp học tập không giám sát khác đang ngày càng trở nên phổ biến là mạng sinh đối kháng (GANs).

14

Trang 27

Hoc tăng cường của chúng ta là một phương pháp nằm ở đâu đó giữa học có

giám sát và học không giám sát Nó có thể sử dụng nhiều phương pháp học có

giám sát đã được thiết lập tốt chẳng hạn như mạng nơ-ron sâu để học cách biểu

diễn dữ liệu hoặc áp dụng chúng theo những cách khác nhau (91.

Reinforcement

npervised Learning

HÌNH 2.7: Hình ảnh mô tả vị trí của học tăng cường trong lĩnh vực

học máy

Hãy tưởng tượng rằng chúng ta đang có một tác nhân hoạt động trong một môi

trường cụ thể nào đó, chẳng hạn chú chuột robot trong một mê cung.

HÌNH 2.8: Hình ảnh mô tả cho ví dụ chú chuột hoạt động trong mê

cung

Trang 28

Chương 2 CƠ SỞ LY THUYET

Môi trường của nó là một mê cung với thức ăn và tia điện ở một vài vị trí khác

nhau Tác nhân của chúng ta - chuột robot, có thể thực hiện các hành động như

rẽ trái, rẽ phải hoặc di chuyển về phía trước Cuối cùng, tại mọi thời điểm, nó có

thể quan sát toàn bộ trạng thái của mê cung này và đưa ra quyết định về các hànhđộng mà nó có thể thực hiện

Mục tiêu của chuột robot là tìm được càng nhiều thức ăn càng tốt, đồng thời tránh

bị điện giật bat cứ khi nào có thể Các tín hiệu về tia điện và thức ăn được xem

như phần thưởng tích cực hoặc tiêu cực do môi trường trao cho chuột robot dướidang phản hồi về các hành động của nó Phan thưởng là một khái niệm rất quan

trong trong học tăng cường, chúng tôi sẽ dé cập sau Tuy nhiên, hiện tại đủ đểhiểu rằng, mục tiêu của tác nhân là đạt được càng nhiều phần thưởng càng tốt

Đồng thời, trong ví dụ này, chuột robot dĩ nhiên có thể bị điện giật một chút để

đến được nơi có nhiều thức ăn, như vậy sẽ tốt hơn là đứng yên một chỗ mà không

thu được gì.

Câu hỏi đặt ra là làm sao để chuột robot có thể thực hiện tốt nhiệm vụ của mình.Chúng ta không thể lập trình sẵn cho nó hiểu về toàn bộ môi trường và tất cảnhững hành động tốt nhất cần thực hiện tại mọi vị trí khác nhau Điều này tốn rấtnhiều công sức và sẽ trở nên vô nghĩa néu như có sự thay đổi của môi trường Thứchúng ta cần là một phương pháp giúp chuột robot tự học được cách di chuyển

thông minh trong mê cung này.

Hoc tăng cường chính là phương pháp có thể giải quyết van dé này Khác với các

phương pháp học máy có giám sát khác, chúng ta không thể gán nhãn cho mỗi

quan sát của về môi trường tại các mốc thời gian khác nhau là tốt hay xấu để chuột

robot có thể đưa ra hành vi di chuyển của mình Thay vào đó, học tăng cường hoạt

động theo cách thử và sửa, dựa trên một hệ thống phan thưởng nhất định Phan

thưởng sẽ đạt được sau mỗi lần chuột robot thực hiện hành động di chuyển, có

thể là tích cực khi đạt được thức ăn, tiêu cực khi trúng tia điện hoặc trung tính khikhông có gì đặc biệt xảy ra Qua việc quan sát hệ thống phần thưởng đạt được và

liên hệ với các hành động đã thực hiện, chuột robot sẽ học cách thực hiện hành vi

tốt hơn để thu thập nhiều thức ăn hơn, đồng thời ít bị trúng tia điện hơn

Nhìn chung, học tăng cường hướng đến phương pháp nghiên cứu cách thức một

tác nhân hoạt động trong một môi trường nên chọn thực hiện những hành động

16

Trang 29

nào tại các thời điểm khác nhau để tối đa hóa một khoản phần thưởng nào đó về

lâu dài, bằng cách cô gắng xây dựng một chiến lược ánh xạ các trạng thái của môi

trường với các hành động mà tác nhân nên chọn đồi với trạng thái đó [18].

Chính vi sự tổng quát và linh hoạt này nên hoc tăng cường cũng di kèm với một

mức giá nhất định Nó có những thách thức lớn hơn nhiều so với các hình thứchọc tập có giám sát hoặc không giám sát trong cách tiếp cận và triển khai để đạt

được hiệu quả nhất định [9].

Thứ nhất, sự quan sát trạng thái của môi trường trong học tăng cường phụ thuộcvào hành vi của tác nhân và ở một mức độ nào đó, nó chính là kết quả của hành

vi này Nếu tác nhân quyết định thực hiện một hành vi không hiệu quả thì những

quan sát sẽ không cho chúng ta biết gì về những gì tác nhân đã làm sai và những

gì nên lam để cải thiện kết quả Đồng thời, nêu tác nhân ngoan có và liên tục mắcsai lầm, thì những quan sát có thể tạo ra những kinh nghiệm sai lầm, rằng không

có cách nào để nhận được phần thưởng lớn hơn

Điều thứ hai làm cho việc đạt hiệu quả đối với học tăng cường trở nên khó khănhơn là các tác nhân không chỉ cần khai thác những hành động mà nó học được,

mà còn phải tích cực khám phá môi trường Bởi vì, biết đâu bằng một chút thayđổi, tác nhân có thể đạt được kết quả thậm chí tốt hơn Vấn đề là việc thăm dòquá nhiều cũng có thể làm giảm phần thưởng một cách nghiêm trọng (chưa kể

tác nhân có thể bị mat kinh nghiệm về những thứ đã học được trước đó), vì thé

bằng cách nào đó, chúng ta cần tìm sự cân bằng giữa hai hoạt động này để đạtđược hiệu quả tốt nhất

Yếu tô phức tạp thứ ba là việc phần thưởng thực tế có thể bi trì hoãn so với thời

điểm thực hiện các hành động Chẳng hạn một nước di sai trong một ván cờ vua

có thể thay đổi hoàn toàn cục điện về sau Trong quá trình học, để tối đa hóa đượcphần thưởng của mình, tác nhân cần phát hiện ra những điều như vậy và thựchiện những hành động đúng dan

Mặc dù có những khó khăn và thách thức như vậy, trong những năm gần đây, học

tăng cường đã có những cải tiến to lớn và ngày càng trở nên tích cực hơn trong

các lĩnh vực nghiên cứu và ứng dụng thực tế

Trang 30

1;jÌ-Chương 2 CƠ SỞ LY THUYET

2.2.2 Các thành phan chính

Mọi lĩnh vực khoa học và kỹ thuật đều có những giả định và hạn chế riêng Chúngtôi không muốn nói việc học có giám sát là tốt hay không tốt, tuy nhiên có nhữngvan dé mà học giám sát không thể giải quyết hiệu quả, thay vào đó là học tăng

cường.

Trong học tăng cường, không có các cặp đữ liệu đầu vào và đầu ra đúng, các hành

động tối ưu cũng không được đánh giá đúng sai một cách tường mình, thay vào

đó là hệ thống phần thưởng nhất định [9] Hoạt động trực tiếp của tác nhân là

thứ được quan tâm Các van dé của học tăng cường liên quan đến việc học những

gì cần làm thông qua việc ánh xa tình huống thành hành động để tối đa hóa phanthưởng bằng SỐ, trong đó có việc tìm kiếm sự cân bằng giữa khám phá (nhữngkiến thức mới chưa được học) và khai thác (những kiến thức đã được học) Nhìnchung, học tăng cường bao gồm 2 thực thể chính là Tác nhân và Môi trường,

tương tác với nhau thông qua các kênh giao tiếp của chúng là Hành động, Phần

thưởng và Quan sát.

ENVIRONMENT AGENT

STATE

|]

transition i ACTION : decide } |

HINH 2.9: Hình anh mô tả các thực thể chính của RL

Tác nhân, là một ai đó hoặc một cái gì đó, tương tác với môi trường thông qua

việc thực hiện những hành động nhất định, quan sát và nhận về phần thưởng

cuối cùng cho việc này

Môi trường, là những thứ bên ngoài tác nhân hay nói cách khác là phạm vi hoạt động của tác nhân.

18

Trang 31

Hành động, là những điều mà tác nhân có thể thực hiện bên trong môi trường.

Quan sát, là những mẩu thông tin về môi trường mà tác nhân có thể nhận được.Đôi khi chúng có thể trùng nhau, tuy nhiên chúng ta cần phân biệt giữa Quansát và Trạng thái của môi trường Lý thuyết về học tăng cường được dựa trênquy trình quyết định Markov đưa ra một định nghĩa chính thức về trang thái Đó

là trạng thái phải có thuộc tính Markov Điều này có nghĩa là, đối với học tăngcường hoạt động theo lý thuyết, khi biết trạng thái, tương đương với việc biếtmọi thứ có thể để xác định phản hồi của môi trường đối với một hành động Mọi

thứ còn lại là hoàn toàn ngẫu nhiên và không biết về nguyên tắc cho đến khi kết

thúc hành động.

Các hệ thống như hệ thống xác định, các trò chơi theo hướng xác suất hoặc những

mô phỏng do máy tính điều khiển có thể được thiết kế để có các trạng thái dễquan sát có thuộc tính nay Chang hạn đồi với môi trường Inverted Pendulum,một bài toán cổ điển để sử dụng học tăng cường Một con lắc ngược thực sự sẽhoạt động khác nhau tùy thuộc vào nhiệt độ của nó, tùy thuộc vào các khớp nối

và bộ truyền động hoặc sự thay đổi về lực ma sát, Tuy nhiên, tác nhân học tăng

cường thường chỉ xem xét chuyển động và vị trí hiện tại của xe đẩy và con lắc.

Trong trường hợp này, việc quan sát 4 đặc điểm là đủ tốt và trạng thái dựa trên 4đặc điểm này gần như có thuộc tính Markov

Bên cạnh đó, có các quan sát không đủ để tạo dữ liệu trạng thái có thể sử dụng cho

hệ thống học tăng cường Chẳng hạn một khung hình bị mắt dữ liệu về chuyểnđộng Điều này có thể được giải quyết bằng cách lấy bốn khung hình liên tiếp vàkết hợp chúng để tạo thành một trạng thái duy nhất Lúc này, ta có thể hiểu rằng

mỗi khung hình là một quan sát, và bón quan sát phải được kết hợp để tạo ra một

trạng thái có ích.

Phần thưởng, là thành phần quan trọng của học tăng cường, nó là một giá trị vô

hướng mà tác nhân có thể nhận được từ môi trường bằng cách duy nhất là thông

qua những hành động của nó Có thể là âm hoặc dương, lớn hoặc nhỏ, chỉ là một

con số Mục đích của phần thưởng là giúp tác nhân biết nó đã thực hiện những

hành vi tốt hay không tốt Tác nhân có thể nhận được phần thưởng sau mỗi lầntương tác với môi trường hoặc sau một mốc thời gian cố định, tùy vào định nghĩa

Trang 32

Chương 2 CƠ SỞ LY THUYET

của người lập trình sao cho phù hợp với ngữ cảnh của bài toán Phần thưởng chỉmang tính chất cục bộ, nó phản ánh sự thành công sau những hành động gần đây

của tác nhân, chứ không phải tất cả những thành công mà tác nhân đạt được từ

trước đến nay hoặc sau này Việc tác nhân có thể nhận được nhiều phần thưởngsau một vài hành động không có nghĩa là ngay sau đó nó sẽ không phải đối mặt

với những hậu quả nghiêm trọng từ những quyết định trước đó (9] Chang han

việc ăn được một quân của đối thủ trong một ván cờ vua, nhưng biết đâu điều đódẫn đến một thế cờ chiếu bí mà đối thủ dành cho bạn

Ngoài ra, tín hiệu về phần thưởng cũng là cơ sở chính để thay đổi chính sách Nếu

một hành động được chính sách chọn mà kết quả theo sau là phần thưởng thấp,

thì chính sách có thể được thay đổi để chọn một số hành động khác trong tìnhhuống đó trong tương lai Mặt khác, nếu phan thưởng chỉ mang tính chất cục bộ,

tức thời, thì Ham giá trị sé chỉ định điều gi là tốt về lâu dai Giá trị của một trạng

thái là tổng số phần thưởng mà một tác nhân có thể mong doi tích lũy trong tươnglai Thay vì xác định ngay lập tức kết quả của các trạng thái môi trường như phần

thưởng, các hàm giá trị sẽ xác định những khả năng tích lũy phần thưởng lâu dài

trong tương lai sau khi tính đến những trạng thái có khả năng sẽ tuân theo mộtchuỗi lặp lại và phần thưởng có sẵn trong những trạng thái đó Mặc dù vậy, phầnthưởng vẫn mang một ý nghĩa nhất định và được xem là thành phần chính trong

hệ thống học tăng cường Không có phần thưởng sẽ không có giá trị và mục đíchduy nhất của việc ước tính giá trị là để đạt được nhiều phần thưởng hơn

Về cơ bản, các thành phần trên là những van đề tồn tại trong một vòng lặp kín bởi

vì các hành động của tác nhân sẽ ảnh hưởng đến các đầu vào sau này của nó Hơn

nữa, tác nhân không được cho biết phải thực hiện hành động như thế nào, thayvào đó, nó phải khám phá ra hành động nào mang lại nhiều phần thưởng nhất

bằng cách thử chúng Trong một số trường hợp, các hành động có thể ảnh hưởngkhông chỉ đến phần thưởng trước mắt mà còn ảnh hưởng đến các tình huống tiếp

theo và theo sau đó là tat cả phần thưởng tiếp theo như chúng tôi đã dé cập trước

đó Bên cạnh đó, tùy thuộc vào bài toán sử dụng mà có thể áp dụng những mô

hình học tăng cường khác nhau, có thể là đơn tác nhân hoặc đa tác nhân nhưng

nhìn chung, các tác nhân trong học tăng cường sẽ phải cải thiện được hành vi của

mình dựa vào phần thưởng mà nó đạt được Một tác nhân hoạt động tốt trong

20

Trang 33

học tăng cường sẽ đạt được một lượng phần thưởng tích lũy lớn sau một chuỗi

hành động mà nó thực hiện.

Quy trình quyết định Markov

Trước tiên, chúng ta hãy bắt đầu với Quy trình Markov, còn được gọi là Chuỗi

Markov Ta biết, tat cả các trạng thái có thể có đối với một hệ thống tạo thành 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ập hợp các trạng thái này là hữu hạn Các quan sát về chúng tạo thành một

chuỗi các trạng thái Đồng thời, để gọi một hệ thống như vậy là chuỗi Markov,

nó cần đáp ứng thuộc tính Markov, có nghĩa là chuyển động của hệ thống trong

tương lai từ bất kỳ trạng thái nào cũng chỉ phụ thuộc vào trạng thái đó Điểm

chính của thuộc tinh Markov là làm cho mọi trạng thái có thể quan sát được khép

kín để mô tả tương lai của hệ thống, hay nói cách khác là các 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 phan mở rộng của chuỗi Markov, sự khác

biệt nằm ở việc bổ sung các lựa chọn hành động, phần thưởng [20] Tại mỗi bước,

quá trình này ở một trang thái s, người ra quyết định có thể chọn bat kỳ hành

động a nào có sẵn trong trạng thái s Quá trình này phản hồi ở bước tiếp theo

bằng cách di chuyển ngẫu nhiên vào trạng thái mới s’, trao cho người quyết địnhmột phan thưởng tương ứng Ra(s, 5”) Xác suất mà quá trình di chuyển vào trạngthái mới s’ của nó bị ảnh hưởng bởi hành động đã chọn Cụ thể, nó được đưa rabởi phân phối xác suất chuyển đổi trang thái Pa(s, s7) Do đó, trạng thái tiếp theo

của quá trình phụ thuộc vào tình trạng hiện tại s và hành động a.

2.2.3 Các hình thức tiếp cận

Về mặt hình thức, một mô hình học tăng cường sẽ bao gồm các thành phần sau:

e Tập các trạng thái của môi trường: S

e Tập các hành động: A

© Tập phan thưởng tích lũy: R

Trang 34

Chương 2 CƠ SỞ LY THUYET

Tác nhân RL tương tác với môi trường theo thời gian Tại mỗi thời điểm í, tác

nhân thấy được trạng thái của môi trường là s¿ € S và tập các hành động mà tácnhân có thể thực hiện là A(s¿) Nó chọn và thực hiện một hành động a € A(S¢)

tuân theo chính sách 7r(đ:|st) và nhận được từ môi trường trang thái mới St+1

theo xác suất chuyển đổi trang thái P(S¿+1|St, at), đồng thời nhận một khoản

thưởng r:;1 Dựa trên các tương tác này, chính sách 1: S > A có tác dung tối

đa hóa lượng R = rọ + rị + +rn với các quy trình quyết định Markov có một

trang thái kết thúc, hoặc lượng R = X¿ŸÏ: với các quy trình quyết định Markovkhông có trạng thái kết thúc Trong đó Y là một hệ số chiết khấu "phần thưởng

trong tương lai" nào đó, với giá trị € (0, 1] [18].

Dựa vào đây, ta thấy rõ ràng để triển khai một hệ thống học tăng cường đạt hiệuquả thì điều đầu tiên là cần xác định tốt chính sách hành vi 7r, tức là cách lựa chọnhành vi tại mỗi trạng thái môi trường khác nhau, đồng thời cân bằng giữa việc

khai thác và khám phá - một thách thức trong RL [9], nhằm giúp tác nhân học

tăng cường tránh việc liên tục lựa chọn lại những hành động đã đạt được phần

thưởng mà không tích cực khám phá môi trường.

Trước tiên, chúng tôi ký hiệu giá trị thực tế của hành động a là q(a) và giá trị ước

tính của nó ở bước thời gian £ là Q¢(a) Bên cạnh đó, một hành động tham lam là một

hành động được đưa ra dựa vào những kinh nghiệm đã được học của tác nhân,

tức là nó đang khai thác kiến thức hiện tại Và hành động khám phá, là một hành

động có mục đích khám phá môi trường Trong học tăng cường, phương pháp

đơn giản nhất để xác định hành vi cho tác nhân đó là lựa chọn hành vi có giá trị

ước tinh cao nhất Điều này gây nên sự mắt cân bằng giữa việc khai thác và khám

phá Khi đó, giải pháp thay thế đơn giản đó là lựa chọn những hành động thamlam ở hầu hết các mốc thời gian, nhưng đôi khi sẽ lựa chọn ngẫu nhiên những

hành động có xác suất tương đương nhau Phương pháp này gọi là €— greedy

Hiểu một cách đơn giản, mỗi hành động tác nhân có thể thực hiện tại thời điểm

t có thể được dự đoán với một xác suất chuyển đổi trạng thái nhất định Phươngpháp £— greedy cho phép chúng ta khai báo một giá trị €, nếu xác suất hành

động được chọn nhỏ hơn giá trị £, chúng ta sẽ chọn một hành động ngẫu nhiên

thay vì hành động trước đó Ngược lại ta tiếp tục chọn hành động tham lam

22

Trang 35

Ham giá trị, như chúng tôi da dé cập trước đó, là một dự đoán về phần thưởng

dự kiến, tích lũy, chiết khẩu trong tương lai, đo lường mức độ tốt của mỗi trạng

thái hoặc cặp hành động - trạng thái.

Giá trị trang thái V„(S) là giá trị kỳ vọng cho việc tuân theo chính sách 7 từ trạng

thái s Nó có thể được thể hiện bằng phương trình Bellman như sau:

Vn(S) = 5aTt(d|s)>s⁄,rp(s”, r|s, g)[r + YVn(5°)]

Khi đó, giá trị trạng thái tối ưu V+ (S) =max„V„(S) là giá trị trạng thái lớn nhất

có thể đạt được từ bất kỳ chính sách nào đối với trạng thái s, được thể hiện qua

phương trình Bellman:

Vx(s) = maxa3s:,rp(s/, r|s, g)|[r + YVx (S”)]

Giá trị hành động q„(s, g) là giá trị kỳ vọng cho hành động a ở trang thái s va

tuân theo chính sách 1 Được thể hiện qua phương trình Bellman:

qx(s, g) = >s⁄,rp(s/, r|s, a)|r -++ y5œTr(a“|s”)q„(s/, a’)|

Ham giá trị hành động tối ưu qx (Ss, a) là giá trị hành động lớn nhất có thể đạt

được bằng bất kỳ chính sách nào cho trạng thái s và hành động a, được thể hiện

qua phương trình Bellman:

qx(s,g) = >s⁄,rp(s”, rls, a)[r + ymaxa„/qx (S/, q°)]

Từ đó, tùy vào mục đích học tập khác nhau mà sẽ có những phương pháp tương

ứng khác nhau, có thể là đơn tác nhân hoặc đa tác nhân Chẳng han TemporalDifference - TD, SARSA hay Q-Learning Những phương pháp này có cách tiếpcận đơn giản nhất là dưới dạng những bảng giá trị (tức là một hàm giá trị hoặc

một chính sách sẽ được lưu dưới dạng bảng để thực hiện việc dò tìm) Không

những thế, chúng cũng có nhiều biến thể khác nhau nhằm tối đa hóa hệ thốngphần thưởng ở nhiều bước trong tương lai bằng cách sử dụng phương pháp tiếp

cận Monte-Carlo 8l Trong đó đặc biệt được sử dụng phổ biến là SARSA và

Q-Learning bởi tính hiệu quả và dé dàng triển khai Ngoài ra, thay vì sử dung

những bảng giá trị như vậy, vẫn còn một hướng tiếp cận khác, đó là sử dụng

phương pháp xấp xỉ hàm Xấp xỉ hàm là một cách để tổng quát hóa khi trạng tháihoặc không gian hành động là rất lớn hoặc liên tục (Đây là điểm yếu khi sử dụng

Trang 36

Chương 2 CƠ SỞ LY THUYET

phương pháp tiếp cẩn theo dạng bảng giá trị, sẽ rất tiêu tốn tài nguyên) Mục đíchcủa xấp xỉ hàm là tổng quát hóa từ các ví dụ của một hàm để xây dựng một giá

trị gần đúng của toàn bộ hàm đó Mặc dù vậy, trong học tăng cường, xấp xi hàm

thường gặp phải các van dé dẫn đến sự không ổn định

2.3 Từ Reinforcement Learning đến Deep

Reinforce-ment Learning

Trong học tăng cường, khi một vấn dé thỏa mãn thuộc tinh Markov, nó có thểđược biểu diễn bởi bộ 4 thuộc tính (S, A, P, R) Trong đó, S là tập các trạng thái, A

là tập các hành động, R là phần thưởng nhận được mỗi khi trạng thái chuyển đổi

và P là xác suất chuyển đổi trạng thái

2.3.1 Q-Learning

Q-Learning - một thuật toán học tăng cường không có mô hình, nhằm mục đích

tìm giá trị của một hành động trong một trạng thái cụ thể của môi trường Bằngcách sử dụng một giá trị gọi là Q-Value, được tính bằng công thức:

Q(s,a) =r(s,a) +ymaxQ(s’, a’)

Trong đó Q(s, a) là gia trị cua Q-Value khi thực hiện hành động a ở trạng thai s,

r(s, a) là phần thưởng nhận được đối với hành động a, s’ là trạng thái tiếp theo

của môi trường và Y là một hệ số chiết khâu phần thưởng trong tương lai (thường

được triển khai với giá trị 0,99) nhằm đảm bảo đối với những trạng thái càng xa

trong tương lai, Q-value càng nhỏ.

Ta thay, Q-value của hành động a tại trạng thái s sẽ bang phần thưởng nhận đượccộng thêm Q-value lớn nhất của các trạng thái s’ tiếp theo Chính vì vậy, phươngpháp tiếp cận đơn giản nhất của Q-Learning là xây dựng một bảng giá trị Từ đó,tại mỗi trạng thái khác nhau, tác nhân chỉ cần dò tìm những hành động nào cóQ-value lớn nhất và thực hiện chúng Quá trình cập nhật giá trị Q-value này được

thể hiện như sau:

1 Bắt đầu với một bảng trống, gồm 2 cột trạng thái và hành động ánh xạ với

nhau.

24

Trang 37

2 Bang cách tương tác với môi trường, nhận được (s, a, r, s) tương ứng.

3 Cập nhật giá trị Q-value sử dụng xấp xi Bellman, đồng thời kết hợp thêm

hệ số học tập ơ để tăng tính ổn định:

Q(s,a) — (1—ø)Q(s, a) + a(r + ymaxQ(s’,a’)

4 Kiểm tra điều kiện hội tụ, nếu chưa đạt, lặp lại từ bước 2

Mặc dù vậy, Q-learning khi sử dụng bang giá tri vẫn có những van dé nhất định.Thứ nhất, thông tin trạng thái đầu vào cần phải được rời rạc hóa để có thể triển

khai một ma trận bảng Tuy nhiên với những thuộc tính có giá trị liên tục chẳng

hạn như quãng đường hoặc vận tốc, việc chia khoảng như vậy là chưa thật sựhiệu quả Điều này có thể làm giảm độ chính xác và tốc độ hội tụ của mô hình

Bởi, rõ ràng việc chia càng nhỏ những khoảng giá trị khác nhau càng có lợi, và

bạn không biết phải chia nhỏ đến mức nào Thứ hai, đối với những dix liệu trạngthái đầu vào khó biểu diễn, chẳng hạn như hình ảnh, chúng ta sẽ không thể nhậpđược Cuối cùng, giả sử với 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 lượng tài nguyên tiêu tốn để có thể xây dựng nên một bảng

giá trị đạt điều kiện hội tụ là rất lớn Ví dụ đối với CartPole trong môi trường

AlGym chỉ có 4 thuộc tính trạng thái và 2 hành động cho tác nhân Tùy thuộc

vào việc chia nhỏ thuộc tính của trạng thái, tuy nhiên tối thiểu để tác nhân có thểhọc hiệu quả, bảng giá trị của chúng tôi đã có kích thước [1296x2] Như vậy, đối

với bài toán hiện tại của chúng tôi, đó là tự động hóa kiểm thử thâm nhập, sự đa

dạng của môi trường và payload khai thác cho thay việc sử dụng Q-Learning như

vậy là chưa hợp lý.

2.3.2 Deep Q-Learning

Một giải pháp cho van dé trên của Q-Learning đó sử dung một biểu diễn phituyến ánh xạ cả trạng thái và hành động vào một giá trị Trong học máy, điều nàyđược gọi la “van dé hồi quy” Có thể có nhiều cách khác nhau để thực hiện đượcđiều này, tuy nhiên, đối với học tăng cường, chúng tôi muốn dé cập đến việc sử

dụng một mạng nơ-ron Đây cũng là một sự lựa chọn phổ biến, đồng thời, cũng

là cơ sở để chúng tôi đề cập đến một khái niệm khác là Học tăng cường sâu trong

nghiên cứu của mình.

Trang 38

Chương 2 CƠ SỞ LY THUYET

Khi thay đổi từ bang giá trị sang mạng nơ-ron đối với Q-Learning, mọi thứ trởnên đơn giản hơn rất nhiều

State-Action

HINH 2.10: Hình ảnh mô tả cho việc sử dung mang no-ron đơn giản

thay cho bảng giá trị trong Q-Learning

Một mạng nơ-ron đơn giản sẽ gồm một lớp input, một lớp output và các lớp ẩnkhác nhau Số lượng nút ở mỗi lớp là không cé định Trong hoc tăng cường, rõràng mục tiêu của chúng ta là 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 dé

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ácnút tương ứng với những hành động cô định mà tác nhân có thể thực hiện va cáclớ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à Ø (cũng thường được biết đến như

trọng số Weight của mạng nơ-ron), nhằm ước tinh 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 Q-Learning bảng giá trị Tức là

Q(s,d,6) Q(s,g) Điều này có thể được thực hiện bang cách giảm thiểu giátrị của Hàm mắt mát ở mỗi bước:

L¡(6¡) = Es,a,s,r([(r + ymaxạ/Q(s/, a’; Bi-1)| — Q(s, a; 6;))?

26

Trang 39

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 hoc tăng cường sâu, phần “sâu” được dé cập đến ở đây đó là sử dung mộtmạng nơ-ron trong mô hình học máy, chẳng hạn như mô hình Deep Q-Network

(DQN).

Có một điều cần lưu ý rằng, mặc dù đều sử dung mạng no-ron, Q-Learning 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ế, DỌN cho phép tác nhân học tăng cường học tập

6n đị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

van dé 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 van dé này, thay vì học tuần tự theo

hàm 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ử dung một mạng 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à mang 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 mang muc tiêu để làm giảm thiểu giá trị mất mát, sau đótrọng số mang này được cập nhật lên mang chính sách

Chính vì những điều này, DỌN đạt được một hiệu quả học tập vượt trội hơn sovớ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 DỌN cơ bản gồm những bước sau [13}:

1 Khởi tạo dung lượng bộ nhớ phat lại.

Ngày đăng: 03/11/2024, 19:03

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN