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

Khóa luận tốt nghiệp Công nghệ thông tin: Bộ khung kiểm thử xâm nhập có tích lũy kinh nghiệm và tối ưu payload dựa trên học tăng cường

83 0 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 đề Bộ Khung Kiểm Thử Xâm Nhập Có Tích Lũy Kinh Nghiệm Và Tối Ưu Payload Dựa Trên Học Tăng Cường
Tác giả Nguyễn Văn Thọ, Lê Thành Đạt
Người hướng dẫn TS. Phạm Văn Hậu, ThS. Phan Thế Duy
Trường học Đại Học Quốc Gia Hồ Chí Minh
Chuyên ngành Công Nghệ Thông Tin
Thể loại khóa luận tốt nghiệp
Năm xuất bản 2024
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 83
Dung lượng 79,97 MB

Nội dung

Bên cạnh đó, sử dụng phương pháp lựa chọn mã khai thác một cách ngẫu nhiên, bộ khung nói trên gặp nhiều hạn chế và gây lãng phí tài nguyên và thời gian Từ những hạn chế đó, nhóm nghiên c

Trang 1

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

TRƯỜNG DAI HỌC CÔNG NGHỆ THONG TIN

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

NGUYÊN VĂN THỌ - 20521974

LÊ THÀNH ĐẠT - 20521168

KHÓA LUẬN TỐT NGHIỆP

BỘ KHUNG KIEM THU XÂM NHAP CÓ TÍCH LUY

KINH NGHIỆM VÀ TỐI ƯU PAYLOAD DỰA TRÊN

HỌC TĂNG CƯỜNG

A PENETRATION TESTING FRAMEWORK WITH EXPERIENCE ACCUMULATION AND PAYLOAD CUSTOMIZATION USING REINFORCEMENT LEARNING

GIANG VIEN HUGNG DAN:

TS Pham Van Hậu

ThS Phan Thế Duy

TP.H6 Chi Minh, 2024

Trang 2

LỜI CẢM ƠN

Trong quá trình nghiên cứu và hoàn thành khoá luận , nhóm đã nhận được

sự định hướng, giúp đỡ, các ý kiến đóng góp quý báu và những lời động viên của giáo viên hướng dẫn và giáo viên bộ môn Nhóm xin bày tỏ lời cảm ơn tới thầy Phạm Văn Hậu, thầy Phan Thế Duy đã tận tình trực tiếp hướng dẫn, giúp đỡ

trong quá trình nghiên cứu.

Nhóm xin gửi lời cảm ơn đến gia đình và bạn bè đã động viên, đóng góp ý

kiến trong quá trình hoàn thiện khoá luận.

Nhóm chân thành cam ơn các quý thay cô trường Dai học Công nghệ Thông tin - DHQG TP.HCM, đặc biệt là các thầy cô khoa Mạng máy tính và Truyền

thông, các thầy cô thuộc bộ môn An toàn Thông tin đã giúp đỡ nhóm.

Nguyễn Văn Thọ Lê Thành Đạt

Trang 3

CHƯƠNG 1 TONG QUAN 3

11 Giới thiéu van dé 2 v2 3

1.2 Phuong pháp nghiên cttu 2 2.2.22000.% 4

1.3 Mục tiêu, đối tượng, và phạm vi nghiên cứu 5

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

1.4 Cấu tric Khóa luận tốt nghiệp 6

CHƯƠNG 2 CƠ SỞ LÝ THUYET 8

2.2.4 Tổng quan mô hình học tăng cường 18

Trang 4

2.2.5 Q-Network 2 0.00000 000 eee eee eee 19

2.3 Học tăng cường sâu ee 20

2.3.1 Deep Q-Network 0 0.000 00004 21

2.3.2 Asynchronous Advantage Actor-Critic (A3C) 23

2.3.3 Proximal Policy Optimization (PPO) 25 2.3.4 Distributed Proximal Policy Optimization (DPPO) 27

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

CHƯƠNG 3 PHƯƠNG PHÁP THỰC HIỆN 35

3.1 Kién trúc tổng quất ca 35

3.2 Phuong phấp xây dựng 36

3.2.1 Ludng hoạt động chnh - 36

3.2.2 Metasploit FTamework co 39

3.2.3 Xây dung mô hình học máy của Reinforcement Learning 40

3.2.4 Luong hoạt động chi tiết 43

CHƯƠNG 4 HIEN THUC VÀ DANH GIA, THẢO LUẬN 48

41 Hienthuc Ư ƯA 48

4.1.1 Xây dựng c6ngcu 202.000.0008 48 4.1.2 Môi trường thực nghiệm 54

4.2 Kết quả thực nghiệm và thảo luận 57

Trang 5

TÀI LIỆU THAM KHẢO

lv

72

Trang 6

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIET TAT

5 Không gian các trạng thái

St Trang thái môi trường tại lượt t

Trang 7

DANH MỤC CÁC HÌNH VE

Hình 1.1 Xếp hạng rủi ro toàn cầu trong các lĩnh vực ở hai hạng mục

ngắn hạn và dài hạn 0 cee eee

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

Hình 2.2 Hình ảnh mô tả những bước chính của quá trình kiểm thử

tham nhập l2 x mm wis‘ —.c.

Hình 23 Hình ảnh mô tả thông tin trả về trong một ví dụ sử dung

Hình 2.5 Hình ảnh mô ta quá trình thiết lập kết nối giữa Metasploit

và máy chủ mục tiỀU co Hình 2.6 Vòng lặp tương tac giữa tác tử và môi trường

Hình 2.7 Mô hình học tăng cuw6ng 2 0 2.0040.

Hình 2.8 Hình ảnh mô tả việc sử dụng mạng nơ-ron đơn giản thay

Hình 2.9 Hình ảnh mô tả cấu trúc của A3C với 2 tác tử

Hình 3.1 Hình ảnh mô tả kiến trúc tổng quát của công cụ Shennina+

Hình 3.2 Hình anh mô tả mô hình học tăng cường của công cu

Hình 3.3 Luồng hoạt động của công cụ ở chế độ huấn luyén

Hình 3.4 Luồng hoạt động của Recon Agent ở chế độ kiểm thử

36 43

45

Hình 3.5 Luồng hoạt động day đủ của Exploit Agent ở chế độ kiểm thử 47

Hình 4.1 Mô hình huấn luyện của công cụ Shenninat+

Hình 4.2 Biểu đồ giá trị mất mát của thuật toán A3C_

Trang 8

Kết quả thử nghiệm trên môi trường G7

Mẫu báo cáo sau khi công cụ khai thác thành công 68

Trang 9

DANH MUC CAC BANG BIEU

Bang 2.1 Bảng so sánh các công trình nghiên cứu liên quan 33

Bang 2.2 Bảng so sánh các công trình nghiên cứu liên quan (tiếp theo) 34

Bảng 4.1 Bảng thông tin cấu hình máy cài đặt công cụ 54

Bang 4.2 Thong tin các lỗ hổng trên môi trường huấn luyện 55

Bảng 4.3 Thong tin các lỗ hong trên môi trường kiểm thử 56

Bang 4.4 Kha năng khai thác của công cu trên môi trường huấn luyện 59

Bang 4.5 Khả năng khai thác của công cụ trên môi trường kiểm thử 59Bảng 4.6 Số lần thử để khai thác thành công trên môi trường huấn

luyện ấ 7 M7 | / ộ 60

Bảng 4.7 Số lần thử để khai thác thành công trên môi trường kiểm thử 61

Bảng 4.8 Các thông tin thu thập được trên môi trường huấn luyện 62

Bảng 4.9 Các thông tin thu thập được trên môi trường kiểm thử 62

Bang 4.10 So sánh hiệu quả giữa các thuật toán trên 500 episodes 63

Bảng 4.11 Thông tin môi trường kiểm thử khả năng tích lũy kinh nghiệm 65

Trang 10

TÓM TẮT KHÓA LUẬN

Trong bối cảnh xã hội hiện đại, sự phụ thuộc vào các hệ thống thông tin và

mạng máy tính ngày càng gia tăng Các tổ chức, từ doanh nghiệp nhỏ đến các

tập đoàn lớn, đều dựa vào công nghệ để duy trì hoạt động kinh doanh, quản

ly dit liệu và cung cấp dịch vụ cho khách hàng Điều nay đồng nghĩa với việc

an ninh mạng trở thành một yếu tố sống còn, khi mà các cuộc tấn công mạng

ngày càng tỉnh vi và phức tạp Kiểm thử xâm nhập (penetration testing) là mộttrong những phương pháp quan trọng để đánh giá và cải thiện an ninh của hệ

thống Tuy nhiên, phương pháp này đang phải đối mặt với những thách thức

lớn khi thực hiện bằng phương pháp truyền thống.

1 Sự gia tăng của các mối đe dọa mạng: Các cuộc tấn công mang không

chỉ gia tăng về số lượng mà còn trở nên tỉnh vi hơn, bao gồm tấn công từ chối dịch vụ (DDoS), ransomware, phishing và nhiều loại tấn công khác.

Các tác nhân đe dọa có thé là các nhóm hacker có tổ chức, tội phạm mạng,

hoặc thậm chí là các quốc gia thù địch.

2 Sự phức tap của hệ thống công nghệ thông tin: Các hệ thống mang

hiện đại ngày càng phức tạp với sự kết hợp của nhiều công nghệ khác nhau

như điện toán đám mây, IoT (Internet of Things), và các ứng dụng di động.

Việc kiểm thử và bảo mật cho các hệ thống này trở nên khó khăn hơn bao

giờ hết.

3 Thiếu hụt nhân lực và kỹ năng: Có một sự thiếu hụt đáng kể về các

chuyên gia an ninh mạng có kỹ năng và kinh nghiệm để thực hiện kiểm thử

xâm nhập thủ công Diều này dẫn đến sự chậm trễ và kém hiệu quả trong

việc phát hiện và khắc phục các lỗ hong bao mật

Trang 11

4 Tính cấp thiết của phản ứng nhanh chóng: Trong môi trường kinh

doanh cạnh tranh hiện nay, khả năng phan ứng nhanh chóng với các mối

de dọa an ninh là vô cùng quan trọng Các lỗ hong bảo mật cần được pháthiện và khắc phục kịp thời để tránh những thiệt hại nghiêm trọng

Trước những thách thức này, kiểm thử xâm nhập tự động hóa trở thành mộtgiải pháp thiết yếu Bằng cách sử dụng các công cụ và kỹ thuật tự động, các tổchức có thể tiến hành kiểm thử xâm nhập một cách nhanh chóng, hiệu quả và

toàn diện hơn Kiểm thử tự động hóa giúp giảm tải công việc cho các chuyên

gia an ninh, nâng cao độ chính xác và nhất quán trong việc phát hiện lỗ hồng,

đồng thời cải thiện khả năng phòng thủ của hệ thống trước các cuộc tấn công

khai thác Bên cạnh đó, sử dụng phương pháp lựa chọn mã khai thác một cách

ngẫu nhiên, bộ khung nói trên gặp nhiều hạn chế và gây lãng phí tài nguyên và

thời gian

Từ những hạn chế đó, nhóm nghiên cứu mong muốn xây dựng một framework với sự hỗ trợ từ mô hình học máy nhằm giúp tự động khai thác toàn diện thông

qua cải thiện hiệu suất thu thập thông tin mục tiêu, tích hợp thêm các công cụ

dd quét phát hiện 16 hong và nâng cao chất lượng các mẫu khai thác tự sinh

Trang 12

CHƯƠNG 1 TONG QUAN

Chương này mô ta nền tang va sự cần thiết của việc tiến hành nghiên cứu va

phát triển các công cụ Ngoài ra, nhóm sẽ giới thiệu các nghiên cứu trước đây

và chỉ ra những vấn đề còn tồn tại Mục đích chính của khóa luận là đề xuất

các giải pháp để giải quyết những vấn đề này

1.1 Giới thiệu van dé

2 years 10 years

Cost-ofliving crisis Failure to mitigate climate change

Natural disasters and extreme weather events

Failure of climate-change adaptation

Geoeconomic confrontation Natural disasters and extreme weather

vents Failure to mitigate climate change Biodiversity loss and ecosystem collapse

Erosion of social cohesion and societal polarization

Large-scale involuntary migration

Large-scale environmental damage Natural resource crises

incidents

Erosion of social cohesion and societal polarization

Failure of climate change adaptation

Widespread cybercrime and cyber insecurity Widespread cybercrime and cyber insecurity

Natural resource crises Geoeconomic confrontation

-Risk categories i Economic i Environmental | Geopolitical I Societal | Technological

Hình 1.1: Xếp hạng rủi ro toàn cau trong các lĩnh vuc ở hai hạng muc ngắn

han va dai han

Theo Báo cáo Rui ro Toàn cầu năm 2023 của Diễn đàn Kinh tế Thế giới [2],

đại dịch COVID-19 đã bắt buộc các quốc gia cần phải thúc đẩy việc áp dụng

công nghệ vào mọi lĩnh vực của đời sống Trong kỷ nguyên số hiện tại, sự phát

Trang 13

triển nhanh chóng của công nghệ thông tin và mang máy tính đã mang lại nhiều

lợi ích nhưng cũng đặt ra không ít thách thức về an ninh mạng Các tổ chức,

từ doanh nghiệp đến các cơ quan chính phủ đều phải đối mặt với nguy cơ bị tấn công mạng, mất mát dữ liệu, và các thiệt hại nghiêm trọng khác Trong

bối cảnh này, kiểm thử xâm nhập (Penetration Testing) trở thành một công cụkhông thể thiếu để đảm bảo an ninh và bảo mật hệ thống

Kiểm thử thâm nhập là một loại kiểm tra bảo mật được thực hiện nhằm xác

minh liệu một ứng dụng có được cài đặt bảo mật hay không thông qua việc phát

hiện những lỗ hồng trong hệ thống Các lỗ hồng có thể được kiểm tra và tìm ra

trong mỗi quá trình triển khai hoặc vận hành hệ thống hoặc ứng dụng Quan

trọng nhất, kiểm thử thâm nhập tiến hành ở chế độ mũ trắng, trong điều kiện

có sự đồng ý của chủ sở hữu hệ thống nhằm giả lập xâm nhập Trong bài viết

này, một cuộc trình diễn thử thâm nhập sẽ được tiến hành cùng với các dụng

cụ và kỹ thuật [17].

Với tốc độ phát triển vượt bậc của công nghệ thì phương pháp kiểm thử thâm

nhập truyền thống đã không còn phù hợp trong thời đại ngày nay Chính vì thế, chúng tôi nhận thấy việc ứng dụng tự động hoá vào quá trình kiểm thử xâm nhập là một nhu cầu cấp thiết và cần phải xây dựng một công cụ có khả năng thực hiện quá trình này một cách tự động nhằm tiết kiệm tối đa chi phí về thời gian và tài nguyên, đáp ứng nhu cầu về nguồn nhân lực an toàn thông tin đang thiếu hụt hiện nay.

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

Tìm hiểu quy trình kiểm thử xâm nhâp nhằm xây dựng công cụ kiểm thử thâm nhập hoàn toàn tự động kết hợp phương pháp học tăng cường Thực hiện

thử nghiệm với các mô hình và thuật toán khác nhau để tìm ra được phương

pháp tối ưu nhằm giảm thời gian khai thác, tăng tỉ lệ khai thác thành công đồng thời tích luỹ dữ liệu khai thác cho những lần sử dụng tiếp theo Ngoài ra,

Trang 14

chúng tôi tiến hành đánh giá năng lực thực tế của hệ thống và đưa ra hướng

phát triển cho tương lai

1.3 Mục tiêu, đối tượng, và phạm vi nghiên cứu

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

Khóa luận tốt nghiệp gồm bốn mục tiêu chính sau:

e Nghiên cứu xây dựng công cụ kiểm thử bảo mật có khả năng tự động hoạt

động độc lập với con người.

e Mỏ rộng khả năng khai thác các 16 hong phức tạp, yêu cầu nhiều bước khai

thác hơn so với các công cụ đã có bằng mô hình riêng biệt dùng để do thám

thu thập thông tin.

e Mở rộng khả năng tích lũy kinh nghiệm khai thác cho công cụ sau mỗi lần

huấn luyện.

e Thử nghiệm nhiều thuật toán học tăng cường, với nhiều môi trường khác

nhau, so sánh kết quả để thấy được hiệu suất và đưa ra đề xuất

1.3.2 Pham vi va Đối tượng nghiên cứu

1.8.2.1 Pham vi nghiên cứu

Chúng tôi thực hiện nghiên cứu và xây dung framework Shennina+ dựa trên

các công cụ như Shennina [12], DeepExploit [18|.

Shennina được xây dựng bởi Mazin Ahmed và Khalid Farah trong khuôn khổcuộc thi HITB CyberWeek 2019 AI challenge, công cụ phát triển dựa trên kiến

trúc DeepExploit của Isao Takaesu [18] (Được công bố tại hội nghị Black Hat

USA 2018 Asernal), hai công cụ này sẽ là cơ sở cho chúng tôi xây dựng mô hình

học máy tự động kiểm thử thâm nhập cho framework Shennina+ Bên cạnh đó,

Trang 15

chúng tôi sẽ sử dụng phương pháp học tăng cường sâu với mô hình thuật toán

A3C để huấn luyện và lưu trữ dữ liệu khai thác

1.3.2.2 Doi tượng nghiên cứu

e Các công cụ hỗ trợ thu thập thông tin, kiểm thử lỗ hong bảo mật (Nmap,

Metasploit).

e Môi trường chứa lỗ hồng bảo mật tồn tại ở dạng các dịch vụ, ứng dụng hệ

thống (như Metasploitable2).

e Phương pháp hoc tăng cường, học tăng cường sâu.

e Thư viện hỗ trợ máy học như TensorFlow, Keras,

1.4 Cau trúc Khóa luận tốt nghiệp

Chúng tôi xin trình bày nội dung của Khóa luận tốt nghiệp theo cấu trúc

như sau:

e Chương 1: TONG QUAN DE TÀI.

Trình bày khái quát định hướng nghiên cứu của Khóa luận tốt nghiệp mà

chúng tôi muốn hướng tới.

e Chương 2: CO SỞ LÝ THUYET.

Trình bày các định nghĩa, khái niệm cũng như những kiến thức nền tảng

để có thể thực hiện được nghiên cứu Đồng thời trình bày sơ lược một số

công trình liên quan có cùng hướng nghiên cứu.

e Chương 3: PHƯƠNG PHÁP THỰC HIỆN.

Là phần trọng tâm của Khóa luận tốt nghiệp, trình bày những nội dung chính về phương pháp thực hiện và mô hình được sử dụng.

Trang 16

e Chương 4: HIEN THUC, ĐÁNH GIA VÀ THẢO LUẬN.

Đề cập đến quá trình hiện thực hóa phương pháp đề cập ở Chương 3 Sau đó trình bày phương pháp thực nghiệm, đánh giá kết quả và thảo luận chung.

e Chương 5: KẾT LUẬN VÀ HUONG PHÁT TRIEN.

Đưa ra kết luận về đề tài, đề xuất một số hướng phát triển mở rộng cho

các nghiên cứu trong tương lai.

Trang 17

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

Chương 2 sẽ trình bày cơ sở lý thuyết của khóa luận, bao gồm cái nhìn tổngquan về kiểm thử thâm nhập và học tăng cường Bên cạnh đó, chúng tôi cũng

trình bày tóm tắt về những công trình nghiên cứu liên quan đến tự động hóa

kiểm thử thâm nhập và những ưu, nhược điểm cũng như sự cải tiến của khóa

luận này so với những nghiên cứu trước đây.

2.1 Kiểm thử thâm nhập

2.1.1 Tổng quan

Kiểm thử thâm nhập là dò quét những 16 hong bảo mật trong hệ thống hoặc

phần mềm nhằm bảo đảm rằng nó không bị khai thác bởi những nhóm hoặc cá

nhân xấu Kiểm thử thâm nhập bao gồm việc dò quét những lỗ hổng về bảo

mật trong SQL injection, cross-site scripting (XSS), cross-site request forgery

(CSRF), và những lỗ hổng bảo mat khác Nó cũng bao gồm việc đánh giá cáccảnh báo bảo mật và các vấn đề bảo mật khác Việc tiến hành kiểm thử thâm

nhập đều đặn và thường xuyên là rất cần thiết để đảm bảo độ tin cậy đối với phần mềm và ứng dụng trong môi trường khoa hoc - kĩ thuật - công nghệ ngày

càng phát triển và các vấn đề an ninh mạng không ngừng gia tăng

Quá trình kiểm thử thâm nhập gồm 5 bước cơ bản:

1 Lập kế hoạch và thu thập thông tin

2 Quét lỗ hồng

3 Xâm nhập - Khai thác lỗ hổng (bằng mã khai thác hoặc kỹ thuật xã hội)

4 Duy trì truy cập

Trang 18

5 Phân tích kết quả khai thác lỗ hong và tạo báo cáo chỉ tiết

Kiểm thử thâm nhập có thể được thực hiện theo nhiều phương pháp khác

nhau, bao gồm:

1 Black Box Testing: Người kiểm thử không có bất kỳ thông tin nào về hệ

thống trước khi bắt đầu kiểm thử

2 White Box Testing: Người kiểm thử có đầy đủ thông tin về hệ thống,

bao gồm mã nguồn, cấu trúc, và các biện pháp bảo mật.

3 Gray Box Testing: Người kiểm thử có một phần thông tin về hệ thống,

như sơ đồ mạng hoặc tài liệu thiết kế.

Kiểm thử thâm nhập là một phần quan trọng trong quá trình bảo mật hệ

thống, giúp các tổ chức phòng ngừa và đối phó với các mối đe dọa an ninh một

cách hiệu quả.

2.1.2 Phương pháp tiếp cận

Mặc dù kiểm thử thâm nhập là một cách tiếp cận để tăng cường và củng cố

an ninh hệ thống thông tin, nhưng nó chắc chắn không nói lên rằng hệ thống

là hoàn toàn an toàn và không thể bị hacker tấn công Kiểm thử thâm nhập có

thể phát hiện các vấn đề bảo mật đã biết công khai, những lỗ hồng đã được tiết

lộ và công bố trước đó.

Có quá nhiều phương pháp hỗ trợ kiểm thử thâm nhập nên đôi khi có thể

sẽ khó khăn để có thể đưa ra một giải pháp phù hợp Người kiểm thử càng có

nhiều kinh nghiệm và càng có nhiều kiến thức sâu hơn về môi trường cần kiểm

thử thì sẽ có thể đưa ra quyết định đúng đắn hơn cho một giải pháp phù hợp, ví

dụ như Open Source Security Testing Methodology Manual do ISECOM phát

triển và duy trì hoặc Open Web Application Security Project (OWASP) cho các

ứng dụng web và di động.

Trang 19

Đối với OWASP, đây là một dự được tạo ra và phát triển bởi tổ chức OWASP

- Một tổ chức phi lợi nhuận và có nhiều thành viên là những chuyên gia thuộc lĩnh vực phát triển ứng dụng web hoặc những chuyên gia trong ngành phần mềm OWASP hướng tới việc phát triển các ứng dụng và dịch vụ web một cách

an toàn, bằng cách liệt kê các việc phải thực hiện trong mỗi giai đoạn phát triểnphần mềm để có thể đạt tới mục đích là sự an toàn nhất có thể đối với phần

mềm Ngoài ra, OWASP cũng cung cấp một báo về các nguy cơ bảo mật đối với

bảo mật ứng dụng web, tập trung vào 10 rủi ro, lỗ hổng quan trọng và phổ biến

nhất, được gọi là OWASP TOP 10 (hình 2.1).

2017 2021

A01:2017-Injection A01:2021-Broken Access Control

A02:2017-Broken Authentication A02:2021-Cryptographic Failures A03:2017-Sensitive Data Exposure ~» A03:2021-Injection

‘A04:2017-XML External Entities (XXE) = se (N€w} A04:2021-Insecure Design A05:2017-Broken Access Control —— A05:2021-Security Misconfiguration

A06:2017-Security Misconfiguration ” A06:2021-Vulnerable and Outdated Components

s-Site Scripting (XSS) of /@§” A07:2021-Identification and Authentication Failures

Deserialization” ” @ 7” ~ - {New} A08:2021-Software and Data Integrity Failures

A09:2017-Using Components with Known Vulnerabilities eee ony Logging and Monitoring Failures*

A10:2017-Insufficient Logging & Monitoring (New) A10:2021-Server-Side Request Forgery (SSRF)*

* From the Survey

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

nam 2021

Những phương pháp tiếp cận vừa được chúng tôi đề cập thường đưa ra gợi ý

về một quy trình hoặc cấu trúc của một bài kiểm tra thâm nhập, thường chia

làm nhiều giai đoạn, trong đó mỗi đầu ra từ giai đoạn này sẽ là đầu vào cho giai

đoạn tiếp theo Tuy nhiên, khi áp dụng cho một mạng cụ thể, những giai đoạnnày sẽ được chia làm một chuỗi các bước khác nhau để đánh giá một cách logic

hệ thống được kiểm tra (hình 2.2)

2.1.3 Công cụ hỗ trợ

Thu thập thông tin về mạng mục tiêu là bước đầu tiên và quan trọng trong

quy trình kiểm thử thâm nhập Mục đích của giai đoạn này là thu thập càngnhiều thông tin càng tốt về mục tiêu để hỗ trợ cho các giai đoạn tấn công sau

này Có hai loại thu thập thông tin chính: thu thập thông tin chủ động (active)

và thu thập thông tin thu động (passive) Khoá luận này chỉ bao gồm phương

Trang 20

Penetration Tests

Planning and Scanning and

Preparation Enumeration ` Reporting

8

v12 đà

© </>

Reconnaiccance Vulnerability Post- Remediation

Assessment Exploitation and Follow-up

STATIONX

Hình 2.2: Hình ảnh mô tả những bước chính của quá trinh kiểm thử thâm nhập

Trang 21

thức thu thập thông tin chủ động, Nmap là một trong các công cụ hiệu quả nhất

thực hiện điều này Nmap cung cấp cho người dùng những thông tin về hệ điều

hành, các cổng đang mở và những dịch vụ đang hoạt động trên những cổng đó

(hình 2.3) Tuy nhiên, để xác định được lỗ hổng thì ta cần chọn những cách khai

thác phù hợp Như là, từ những thông tin của công cụ nmap quét được ta có

thể dùng các trình quét lỗ hồng như Nessus hoặc OpenVAS [Schwartz2019] đểkiểm tra Mặc dù vậy, quy trình quét và phân tích ban đầu đã cho người kiểm

thử rất nhiều thông tin có giá trị về mục tiêu bao gồm ý tưởng cơ bản về mô hình mạng hoặc các dịch vụ (có thể là cả phiên bản của chúng) được sử dụng

trong mạng.

scanme.nmap.o

Starting Nmap 7.92 ( https:/ p.org ) at 2022-09-10 01:29 IST

Warning: 45.33.32.156 giving up on port because retransmission cap hit (6).

Nmap scan report for scanme.nmap.org (45.33.32.156)

Host is up (0.076s latency).

Other addresses for scanme.nmap.org (not scanned): 2680:3c01: :f03c :91ff:fe18:bb2f

Not shown: 976 closed tcp ports (reset)

PORT STATE SERVICE \

22/tcp open ssh = 13 (Ubuntu Linux;

protocol 2.0)

ssh-hostk

1024 ac:00:a@:1a:82:ff:cc:55:99:dc:67 :34:97:6b:75 (DSA)

2048 20:3d:2d :2a: : :85:14:c2:a6:b2 (RSA)

256 96:02:bb:5e vic 745 : :b2:57 (ECDSA)

256 33:fa:91:0 ):e1:7b: : TTL: 1:56 (ED25519)

open ache httpd 2.4.7 ((Ubuntu))

|_http-title: Go ahead and *

| http-favicon: Nmap Project

|_http-server-header: Apache/2.4.7 (Ubuntu)

100/tcp filtered newacct

139/tcp filtered netbios-ssn

366/tcp filtered odmr

eee Ee, re

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

Bởi mức độ hiệu quả của những kỹ thuật nói trên, tin tặc thường xuyên lạm

dụng điều này để thu thập thông tin nhằm chuẩn bị cho các cuộc tấn công có

chủ đích Bài báo của tác giả Kalia và Singh [6] đề cập đến những kỹ thuật quét

mạng và triển khai những phương pháp hạn chế lộ thông tin bí mật bằng các

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

Với thông tin thu thập được từ giai đoạn đò tìm thông tin, quy trình kiểm

Trang 22

thử xâm nhập tiếp tục với giai đoạn khai thác các lỗ hồng Mục đích của giai

đoạn này là thực thi những đoạn mã khai thác xâm phạm mục tiêu và thực thi

lệnh tuỳ ý trên hệ thống được kiểm thử Đây là giai đoạn yêu cầu nhiều tài

nguyên cả về thời gian lẫn kỹ năng chuyên môn của người kiểm thử Để hỗ trợ

quá trình này, Metasploit Framework đã được tạo ra vào năm 2003 và được sử

dụng rộng rãi dưới dạng công cụ mã nguồn mở Kể từ khi ra mắt, Metasploit

luôn phát triển và cải tiến bởi các chuyên gia hàng đầu trong lĩnh vực an ninh

mạng và được mua lại bởi Rapid7 vào năm 2009.

Metasploit [5] được phát triển theo kiến trúc mô-đun hoá do đó có khả năng

mở rộng mạnh mẽ Cùng với hệ thống mô-đun khai thác đa dạng gồm nhiều

payload, có thể ứng dụng rộng rãi ở nhiều loại môi trường

tay cnn

Hình 2.4: Hình ảnh mô tả cấu trúc tổng quát của Metasploit

Các tác vụ thông thường như giao tiếp qua mạng hoặc giữa các tệp sẽ được

lập trình sẵn trong các thư viện Thông qua các giao diện sử dụng, người dùng

có thể chủ động kiểm soát hoạt động của Metasploit Chính vì thế, với việc các

module khai thác thường xuyên được cập nhật, Metasploit framework chỉ yêu

cầu người dùng cung cấp thông tin thu thập được và chọn module phù hợp để

có thể khai thác hiệu quả Bằng cách này, người kiểm thử có thể tập trung vào

các vấn đề quan trọng hơn, không cần phải nắm rõ kĩ thuật của mã khai thác.

Một số giao diện của Metasploit có thể kể đến như Msfcli, Msfconsole, hoặc

thậm chí là có GUI dành cho những người sử dụng không có đủ kiến thức về

Trang 23

dòng lệnh và còn gọi là Armitage.

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

cách thức vận hành bên trong của Metasploit, do đó nó thích hợp cho người mới

sử dụng và những người mới bắt đầu với Metasploit.

Msfconsole là một giao diện khác để tương tác với Metasploit So với msfcli,msfconsole mạnh hơn và có thể tuỳ biến sâu hơn, cho phép truy cập các biến

toàn cục, thực hiện tìm kiếm trong cơ sở dữ liệu khai thác, v.v Sau khi sử dụng thành công, tất cả các phiên Meterpreter được duy trì trong một Msfconsole

duy nhất Cách sử dụng Msfconsole được trình bày chi tiết trong hướng dẫn

công khai của Metasploit.

Metasploit cho phép người dùng dễ dàng quản lý các mô-đun khai thác (như

tra cứu) và chọn từ các loại tải trọng khác nhau được phân loại cụ thể cho mục

đích sử dụng của họ.

Khi chạy khai thác, trình tự các bước Metasploit phải sử dụng để thiết lập

kênh giao tiếp hai chiều giữa người kiểm tra và hệ thống được kiểm tra để chophép truy cập hệ thống từ xa có thể được tóm tắt như sau (hình 2.5):

2.2 Học tăng cường

2.2.1 Tổng quan

Học tăng cường (Reinforcement Learning - RL) là một nhánh của hoc may (machine learning) tập trung vào cách các tác nhân (agents) học cách hành động

trong một môi trường để đạt được mục tiêu cụ thể RL khác với các phương

pháp hoc máy khác như học có giấm sát (supervised learning) và học không

giám sát (unsupervised learning) ở chỗ nó không yêu cầu dữ liệu huấn luyện gắn

nhãn trước mà học từ các tương tác với môi trường [7].

Trong Reinforcement Learning, agent (tác tử ) học cách thực hiện các hành

động trong một môi trường (environment) để tối đa hóa một phần thưởng tích

Trang 24

Tester sends IŠ! stage payload

System connects back to Metasploit

2.4 stage payload with DLL is sent

Connection is established

Hình 2.5: Hình ảnh mô tả quá trinh thiết lập kết nối giữa Metasploit va may

chủ muc tiêu

Trang 25

lũy nào đó (cumulative reward) Quá trình học này dựa trên nguyên tắc thử và

sai (trial and error) và sử dụng phản hồi (feedback) từ môi trường để điều chỉnh

hành vi của tác nhãn.

Học tăng cường là một lĩnh vực quan trọng và đầy thách thức của học máy,

với tiềm năng ứng dụng rộng rãi trong nhiều lĩnh vực Bang cách hoc từ phan

hồi của môi trường, các tác nhân học tăng cường có thể phát triển các chiếnlược tối ưu để đạt được mục tiêu đề ra, từ đó mang lại hiệu suất cao hơn và khả

năng tự động hóa nhiều nhiệm vụ phức tạp.

2.2.2 Các thành phan chính

Một bài toán sử dụng học tăng cường cơ bản sẽ bao gồm các thành phần sau

đây:

e Environment (Môi trường): La nơi tác nhân tương tác và nhận phan hồi.

Môi trường có thể là thực tế (như một con robot di chuyển trong phòng)

hoặc ảo (như một trò chơi máy tính).

e Agent (tác tử ): Là thực thể đưa ra quyết định, thực hiện các hành động

trong môi trường, tương tác với môi trường qua hành động

e Policy (Chính sách): Là chiến lược hoặc quy tắc mà tác nhân sử dụng để

chọn hành động dựa trên trạng thái hiện tại Chính sách có thể là xác định

hoặc ngẫu nhiên.

e State (Trạng thái): Biểu diễn tình trạng hiện tại của môi trường Trạng

thái cung cấp thông tin cần thiết để tác nhân quyết định hành động tiếp

theo.

e Reward (Phần thưởng): Là tín hiệu phản hồi từ môi trường cho biết mức

độ tốt hay xấu của hành động mà tác nhân đã thực hiện Phần thưởng giúp tác nhân đánh giá và điều chỉnh hành vi.

Trang 26

e Action (Hành động): là những gì tác tử có thể thực hiện tại mỗi trạng thái

để ảnh hưởng đến môi trường

e States s mô tả toàn bộ trạng thái của environment có thể xảy ra ở một

thời điểm cụ thể trong giai đoạn tương tác của agent và enviroment

e Observation o là thông tin agent nhận được từ môi trường sau mỗi action.

o thường được dùng để xác nhận tình trạng hiện tại của môi trường

2.2.3 Quy trành quyét định Markov (Markov Decision Process

-MDP)

Quy trình quyết định Markov (MDP) là một mô hình toán hoc được sử dung

trong lý thuyết điều khiển và trí tuệ nhân tạo để mô phỏng quyết định trong

một môi trường có sự không chắc chan MDP thường được áp dụng trong nhiều lĩnh vực, bao gồm robot học, quản lý tài nguyên, và mô phỏng quyết định trong

hệ thống phức tạp.

Quy trình MDP bao gồm một tập trạng thái (State S), một tập hành động

(Action A), một hàm chuyển trạng thái (Transition Probability P), một

hàm thưởng (Reward Policy R), và một hàm chiết khấu (Discount factor).

Trạng thái biểu diễn tình hình của môi trường, hành động là những hành động

mà tác nhân (agent) có thể thực hiện, hàm chuyển trạng thái xác định xác suấtchuyển từ một trạng thái sang trạng thái khác sau khi thực hiện một hành động,

hàm thưởng xác định giá trị thưởng nhận được sau mỗi bước, và hàm chiết khấu

giảm giá trị của các thưởng ở các bước tương lai.

Quy trình quyết định Markov cung cấp một cách linh hoạt để mô hình hóa

và giải quyết vấn đề quyết định trong môi trường không chắc chắn, giúp tối ưu

hóa hiệu suất của tác nhân trong việc đưa ra quyết định.

e State S: Không gian các trạng thái của môi trường.

e Action A: Không gian các hành động có thể thực hiện trong môi trường

Trang 27

e Transition Probability P: Hàm chuyển tiếp, đưa ra xác suất dự đoán

một trạng thái có thể xảy ra với đầu vào là một hành động được thực hiện

và trạng thái hiện tại của môi trường.

e Reward R: Hàm tính phần thường, xác định phần thưởng khi môi trường

chuyển tiếp từ một trạng thái sang trạng thái kế tiếp, dưới tác động của

một hành động.

2.2.4 Tổng quan mô hinh học tăng cường

Học tăng cường (Reinforcement Learning - RL) là một lĩnh vực trong trí tuệ

nhân tạo mà máy tính hoặc tác nhân học từ trải nghiệm để thực hiện các nhiệm

vụ và đưa ra quyết định trong môi trường không chắc chắn Trong học tăng cường, một tác nhân tương tác với môi trường và học từ việc thử nghiệm để tối

ưu hóa một hàm mục tiêu.

Dựa trên MDP, một hệ thống học tăng cường cơ bản sẽ có hai thành phần

chính là tác tử (Agent) và Môi trường (Environment) Kênh giao tiếp của hai thành phan này bao gồm: Hành động (Action), Phần thưởng (Reward), và Trang

thai (State).

Action State

Reward

Hinh 2.7: Mô hình học tăng cường

Tac tử sẽ tương tác với môi trường thông qua một chuỗi các lượt thử Với mỗi

lượt t, tac tử sẽ chọn một hành động a; € A, dựa vào một chính sách z(a|s¿) và

thu về một vector trạng thái có thể quan sát được s¿ từ môi trường Môi trường

cũng sẽ xuất ra một phần thưởng r; € R tương ứng với các hành động nhận vào,

đồng thời môi trường cũng thay đổi trạng thái của chính nó, tạo ra một trạng

Trang 28

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(ø|s;¿;1) tác tử sẽ học dan và tuần tự qua việc khám phá (exploration) và khai thác (exploitation), dần dần chọn ra được hành động nhằm tạo ra trạng thái môi trường mong muốn.

Phần thưởng là yếu tố quan trọng trong việc học và mục tiêu cuối cùng của

mô hình học tăng cường là xây dựng được một chính sách để tối đa hóa kì vong:

+ là giá tri chiết khấu cho phần thưởng Giá trị + kiểm soát hành động mới sao

cho chúng không được phép tác động nhiều đến phần thưởng hiện tại nhưng lại quan trọng đối với kết quả V”.

2.2.5 Q-Network

Q-Network - Thuật toán học tăng cường phi mô hình nhằm tìm kiếm giá trị của một hành động trong một trạng thái nhất định của môi trường Ñó sử

dụng giá trị được gọi là giá trị Q và được tính theo công thức sau:

Q(s,a) = r(s,a) + ymarQ(s‘,a’)

trong đó Q(s, a) là giá trị của hệ số Q khi hành động a được thực hiện ở trạng thái s, r(s, a) là phần thưởng nhận được cho hành động a và s’ là trạng thái gần nhất của môi trường , 7 là hệ số chiết khấu bồi thường trong tương lai (thường

Trang 29

2.3 Học tăng cường sâu

Học tăng cường sâu là sự kết hợp của học tăng cường và học sâu Trong

đó, học sâu là tổng hợp những kỹ thuật và phương pháp học máy khác nhau

như cây quyết định Tuy nhiên, đối với học tăng cường sâu, phần "sâu" được

nhắc đến ở đây là dùng một mạng nơ-ron trong mô hình học máy, ví dụ như mô

hình Deep Q-Network (DQN).

Có một điều cần lưu ý rằng, mac dù đều sử dung mang nơ-ron, Q-Network

sử dụng mạng nơ-ron thay cho bảng giá trị chúng tôi trình bày ở trên chưa được

xem là học tăng cường sâu Thực tế, DQN cho phép tác tử học tăng cường học

tập ổn định thông qua một vài kỹ thuật:

Experience Replay - Khi một mô hình hoc máy sử dung mạng nơ-ron, có

một vấn đề là tương quan thời gian Chính vì thế, việc học từng bước một theo

các chuỗi nơ-ron là chưa hiệu quả Để khắc phục vấn đề này, thay vì học tuần

tự theo ham xấp xi Q, chúng ta sẽ lưu trữ nhiều bộ (s,a,r,s’) trong bộ nhớ và

có thể sử dụng chúng để học lại một cách ngẫu nhiên Phương pháp này gọi là

Experience Replay.

Fixed Target Q-Network - Thay vì chỉ sử dụng một mang nơ-ron mục

tiêu, chúng ta sẽ sử dụng thêm một mạng nơ-ron riêng biệt, gọi là mạng chính

sách với trọng số mạng cố định Sau một số bước thời gian nhất định, Gradient

Descent sẽ cập nhật trọng số mạng trên mạng mục tiêu để làm giảm thiểu giá

Trang 30

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ật toán DQN cơ bản gồm những bước sau [10]:

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

2 Khởi tạo mạng chính sách với trọng số mạng ngẫu nhiên.

3 Sao chép mạng chính sách và gọi nó là mạng mục tiêu.

4 Với mỗi episode:

(a) Khởi tạo trạng thái bắt đầu s.

(b) Khởi tạo vòng lặp cho mỗi step.

e Lựa chọn hành động a (qua thăm dò hoặc khai thác).

e Thực thi hành động đã chọn.

e Quan sát phần thưởng r va trạng thái tiếp theo s’.

e Luu trữ kinh nghiệm (s,a,r,s’) trong bộ nhớ phát lại.

e Lấy mẫu ngẫu nhiên từ bộ nhớ phát lại.

e Tiền xử lý các trạng thái, sau đó chuyển vào mạng chính sách.

Deep Q-Network là giải pháp cho 2 van đề tồn tại trong Q-Network Van đề

thứ nhất là thông tin trạng thái đầu vào phải được rời rạc hóa để có thể triển

khai một ma trận bảng dẫn đến việc khó khăn đối với dữ liệu có giá trị liên tục

như quãng đường, vận tốc làm giảm độ chính xác và hội tụ của mô hình Vấn đề

Trang 31

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á tri.Trong học máy, đây được gọi là "bai toán hồi quy".

Có nhiều cách khác nhau để làm điều này thành công Tuy nhiên, để học tăng

cường, hãy cân nhắc sử dụng mạng lưới thần kinh Đây cũng là một lựa chọn

phổ biến, đó là lý do tại sao chúng tôi đưa vào nghiên cứu của mình một khái

niệm khác gọi là học tăng cường sâu.

Khi thay đổi từ bảng giá trị sang mạng nơ-ron đối với Q-Network, mọi thứ

trở nên dễ dàng hơn rất nhiều.

Hình 2.8: Hình ảnh mô tả viéc sử dung mang no-ron đơn giản thay cho bang

giá trị trong Q-Network

Một mạng nơ-ron đơn giản sẽ gồm một lớp đầu vào, một lớp đầu ra và các lớp

an khác nhau Số lượng nút ở mỗi lớp là không cố định Trong hoc tăng cường,

chúng ta chọn ra các hành động tối ưu tại các trạng thái môi trường khác nhau.

Mạng nơ-ron hoàn toàn phù hợp để có thể giải quyết vấn đề này với lớp input

Trang 32

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 an đảm

nhiệm vai trò tính toán với số nút tùy chỉnh.

Trong mạng nơ-ron này, có một tham số gọi là Ø (cũng thường được biết đến

như trọng số - weight của mạng nơ-ron), nhằm ước tính các Q value sao cho xấp xỉ với giá tri Q(s,a) được mô tả trước đó khi sử dụng QNetwork bảng giá

trị Tức là Q(s, a, 9) Q(s, a) Có thể được giải quyết bằng việc giảm giá trị của

Ham mat mát ở mỗi bước:

l¡(0 = Esa,s'r([(r + ymaxeQ(s', a’; —1)| — Q(s, a, 6)” (2.1)

2.3.2 Asynchronous Advantage Actor-Critic (A3C)

Khi xây dung tác tử DQN, chúng ta sử dung mang nơ-ron để tinh xấp xỉ hàm

Q(s, a), tuy nhiên, chúng ta có một cách tiếp cận khác trong A3C Chính sách

z chỉ là một hàm của trạng thái s, vì vậy chúng ta có thé tính xấp xỉ trực tiếp

nó Mạng nơ-ron của chúng ta với trọng số Ø bây giờ sẽ nhân một trạng thái s

làm đầu vào và xuất ra một phân phối xác suất hành động z theo 0 Đó gọi là

Policy Gradient [lỗ].

A3C [13] là một thuật toán gradient duy tri độ dốc của chính sách 7 (az | s¿; 4)

và ước tính giá trị của hàm giá trị V (s¿;Ø,) Giả sử xác định một ham J(z) như

một phần thưởng chiết khấu cho chính sánh z trung bình trên tất cả các tác tử bắt đầu có trạng thái đầu tiên sọ.

Z() = Ep(So)[V (so)] (2.2)

Chính sách và hàm giá trị được cập nhật sau mỗi tmax hành động Để tối

ưu hóa con số này, ta cần tính độ dốc J, với hàm lợi thế A(s¿,ø;;Ø,0„) và

Vo log 7 (az | 51436’) cho ta biết một hướng trong đó xác suất ghi lại của hành

động đang tăng lên.

V(ø)J„ = Es xa x[A(s, @).V (6) log x(a | 5)| (2.3)

Trang 33

Cả hai điều này đều nằm trong một kỳ vọng về phân phối trạng thái và hành

động của z Tuy nhiên, chúng ta không thể tính toán chính xác nó qua mọi trạng

thái và mọi hành động Thay vào đó, chúng ta có thể sử dụng tính chất trung

bình của các mẫu với các phân phối xác suất Chính vì thế, chúng ta chỉ cần để

tác tử chạy trong môi trường và ghi lại các mẫu (s,a,r,s’) Sau đó sử dụng công

thức trên để tìm một xấp xỉ của gradient V(øjJ„~ và cập nhật nhật lại chính sách

Bản chất của học tăng cường dựa trên nguyên tắc hệ thống khen thưởng, tức

là sai và sửa, chính vì vậy, dù DQN đã thực hiện tốt được nhiệm vụ của mình, tuy nhiên nó vẫn sẽ mất rất nhiều thời gian để học tập.

Phương pháp học tập của A3C gần giống với DQN, nhưng nó có ba cải tiến

e Advantage là một đặc điểm mà thay vì sử dung giá trị phần thưởng chiết

khấu + để đại lý biết hành động nào là tốt về lâu dài, chúng ta sẽ sử dụng

giá trị của một hàm "lợi thế" Điều này giúp cho tác tử RL tìm hiểu phần

thưởng tốt hơn nhiều so với mong đợi Giá trị advantage được đưa ra bởi

biểu thức: A = Q(s,ø) - V(s)

e Actor-Critic là đặc điểm mà A3C kết hợp việc dự đoán các hàm giá trị

V cũng như chính sách tối ưu z(s) (ở đây là phân phối xác suất của không

gian hành động) tác tử học tập sử dụng giá trị của hàm giá trị (Critic) để

cập nhật hàm chính sách (Actor).

e Asynchronous, nghĩa là không đồng bộ A3C sử dụng nhiều tác tử, với

mỗi tác tử có các thông số mạng nơ-ron riêng và một bản sao của môi

Trang 34

trường Các tác tử này tương tác với môi trường tương ứng của chúng một

cách không đồng bộ, học hỏi với mỗi tương tác Các tác tử sẽ được kiểm

soát bởi một Global Network Mỗi tác tử khi có được nhiều kinh nghiệm hơn sẽ đóng góp vào toàn bộ "kiến thức" của Global Network Điều này rõ ràng làm tăng tốc độ học của mô hình lên rất nhiều.

Cuối cùng, mô hình tổng quát của A3C với 2 tác tử hoạt động song song sẽ như

Hình 2.9: Hình ảnh mô tả cấu trúc của A3C với 2 tác tử

2.3.3 Proximal Policy Optimization (PPO)

Proximal Policy Optimization (PPO) [14] là một trong những thuật toán

hoc tăng cường sau (Deep Reinforcement Learning) phổ biến và hiệu quả nhất

Được giới thiệu bởi nhóm nghiên cứu OpenAI, PPO cải thiện và đơn giản hóa các

phương pháp trước đó như Trust Region Policy Optimization (TRPO), mang

lại sự ổn định và hiệu quả cao so với các phương pháp truyền thống sử dụng tối

ưu dựa theo chính sách.

Đầu tiên, PPO được thiết kế với mục đích chính là tăng sự ổn định khi huấnluyện các mô hình phức tạp Thuật toán PPO sử dung cơ chế kẹp (clipping) đểgiới hạn tỷ lệ thay đổi của hàm chính sách, đảm bảo rằng các cập nhật chính

sách không vượt quá một ngưỡng cho phép trong quá trình tối ưu hóa Điều này

Trang 35

giúp hạn chế và ngăn ngừa xảy ra tình trạng chính sách thay đổi quá đột ngộtdẫn đến kết quả của hoạt động huấn luyện không ổn định

Các cập nhật có kiểm soát trong PPO tăng cường tính ổn định của thuật toán

va làm cho nó ít nhạy cam hơn với các lựa chọn siêu tham số (hyper-parameter).

Thứ hai, PPO tận dụng kinh nghiệm thu thập được để cập nhật chính sách.Bằng cách sử dụng lại dữ liệu mẫu nhiều lần trong một lần lặp, PPO giảm thiểu

phương sai của các cập nhật, tối ưu hóa việc sử dụng kinh nghiệm đã tích luỹ.

Tính hiệu quả này đặc biệt quan trọng trong các ứng dụng thực tiễn, đặc biệt

là trong các tình huống thu thập dữ liệu đòi hỏi nhiều tài nguyên hoặc tốn thời

gian Thứ ba, PPO rất linh hoạt và có thể được sử dụng với nhiều kiến trúc

mạng nơ-ron khác nhau, chang hạn như mạng lan truyền (feedforward) hoặc

mạng hồi quy (recurrent) Khả năng tương thích này cho phép người dùng điều chỉnh thuật toán phù hợp với các lĩnh vực cu thể va tận dụng các cấu trúc mạng

phù hợp với công việc Hơn nữa, PPO có thể xử lý cả không gian hành động liên

tục (continuous) và rời rạc (discrete), làm cho thuật toán này phù hợp với nhiều loại nhiệm vụ Tính linh hoạt này đặc biệt có lợi trong các lĩnh vực mà tính chất

của hành động (action) thay đổi Trong nghiên cứu này, chúng tôi sẽ lấy kết quả

thực nghiệm sử dụng phiên bản cơ ban của thuật toán PPO-Clip Chúng tôi

xem xét phiên bản cơ bản của PPO-Clip, tối ưu surrogate objective tại mỗi

Trang 36

A;”* là giá trị lợi thé (advantage value)

‹ là một hệ số nhỏ để kẹp tỷ lệ xác suất

2.3.4 Distributed Proximal Policy Optimization (DPPO)

DPPO (Distributed Proximal Policy Optimization) là một biến thể phan tan

của thuật toán Proximal Policy Optimization (PPO) Thuật toán nay tận dụng

các lợi ích của PPO và mở rộng nó để hoạt động trong môi trường phân tán, cho

phép huấn luyện trên nhiều máy hoặc nhiều nhân xử lý cùng một lúc Điều này giúp tăng tốc quá trình huấn luyện và làm cho nó khả thi hơn cho các bài toán lớn

hoặc phức tạp DPPO sử dụng nhiều worker để thu thập dữ liệu từ môi trường

đồng thời Các worker này sau đó gửi dữ liệu về một trung tâm (centralizedserver) để cập nhật chính sách một cách đồng bộ Quá trình này tiếp tục lặp

lại cho đến khi chính sách hội tụ hoặc đạt được số lượng tập (episodes) tối đa.

Quy trình thuật toán DPPO

1 Khởi tạo chính sách và giá trị mạng: Khởi tạo các tham số cho chính

sách (actor) và giá trị mang (critic).

2 Phân tán workes: Triển khai nhiều worker trên các máy hoặc nhân xử lý

khác nhau.

3 Thu thập dữ liệu: Các worker chạy chính sách hiện tai trong môi trường

để thu thập dữ liệu (trạng thái, hành động, phần thưởng, trạng thái tiếp

theo).

4 Gửi dữ liệu về trung tâm: Các worker đồng bộ việc gửi dữ liệu thu thập

được về trung tâm để tổng hợp

5 Tính toán giá trị lợi thế: Sử dụng giá trị mạng để tính toán giá trị lợi

thé Aj’

6 Cap nhật chính sách va giá trị mang: Trung tâm sử dung di liệu từ

các worker để cập nhật các tham số của chính sách và giá trị mạng.

Trang 37

7 Phân phối chính sách mới: Trung tâm gửi chính sách mới cập nhật đến

các worker để bắt đầu chu kỳ tiếp theo

§ Lặp lại: Lặp lại các bước trên cho đến khi chính sách hội tụ hoặc đạt được

số lượng tập (episodes) tối đa.

2.4 Các công cụ liên quan

1 Nmap

Nmap [16] là một công cụ quét và phân tích hệ thống mạng nguồn mở được

sử dụng rộng rãi giúp người dùng đánh giá bảo mật hệ thống và phát hiện

các 16 hong bảo mật, được tạo ra bởi Gordon Lyon (còn được gọi là Fyodor

Vaskovich) Công cụ này cung cấp cho người dùng nhiều tính năng như quét cổng, dò tìm host, quét địa chỉ IP, phân tích phần mềm, quét lỗ hổng bảo

mật, v.v.

Tinh năng chính

e Quét các cong (Port Scanning): Nmap có khả năng quét các cổng để

xác định cổng nào đang mở, đóng hoặc lọc Điều này giúp xác định các

dịch vụ đang chạy trên một thiết bị mạng.

e Phát hiện hệ điều hành (OS Detection): Nmap có thể xác định hệ điều

hành của mục tiêu thông qua các đặc điểm của gói tin mạng

e Phát hiện phiên ban dịch vụ (Service Version Detection): Nmap không

chỉ xác định các dịch vụ đang chạy mà còn phát hiện phiên bản của các

dịch vụ đó.

e Quét mạng lớn: Nmap có thể quét các mạng lớn với hàng ngàn thiết bị

mà không gặp vấn đề về hiệu suất.

e Hỗ trợ kịch bản (Nmap Scripting Engine - NSE): NSE cho phép người

dùng viết kịch bản để tự động hóa các nhiệm vụ quét và phát hiện lỗhồng

Trang 38

Nmap sẽ được dùng để thu thập thông tin mục tiêu, làm thông tin đầu vào

cho quá trình huấn luyện và khai thác.

Metasploit

Metasploit [5] là một công cu bảo mat được sử dung dé phat hiện và khaithác các lỗ hổng trong hệ thống máy tính, giúp người dùng đánh giá mức

độ bảo mật của hệ thống và tìm kiếm các lỗ hong Những lỗ hong cần khắc

phục Công cụ này cung cấp cho người dùng nhiều tính năng như phát hiện

lỗ hồng, kiểm tra bảo mật hệ thống bằng cách phát hiện và khai thác các

lỗ hồng này, cung cấp các mô-đun để thực hiện các cuộc tấn công, kiểm tra

bảo mật hệ thống và ứng dụng, v.v.

Được phát triển bởi Rapid7, Metasploit là một trong những công cụ bảo

mật phổ biến nhất trong ngành bảo mật mạng và hệ thống.

Tính năng chính

e Framework khai thác (Exploit Framework): Metasploit cung cấp hang

ngàn module khai thác cho nhiều loại lỗ hong bảo mật khác nhau

e Khả năng mở rộng: Người dùng có thể viết và thêm các module khai

thác riêng của họ vào Metasploit.

e Khả năng tự động hóa: Metasploit hỗ trợ tự động hóa các quy trình

kiểm thử xâm nhập, giúp tiết kiệm thời gian và công sức

e Công cụ hậu khai thác (Post-Exploitation): Metasploit cung cấp các

module hậu khai thác để thực hiện các hành động sau khi đã khai thác

thành công, như thu thập thông tin hệ thống, tạo cửa hậu (backdoor),

và nhiều hành động khác.

e Hỗ trợ cho các giao diện đồ họa (GUI) và dòng lệnh (CLI): Người dùng

có thể sử dung Metasploit thông qua giao diện dòng lệnh hoặc giao diện

đồ họa như Armitage.

Trang 39

challenge với ý tưởng lấy từ công cụ DeepExploit của Isao Takaesu Shennina hoạt động với nmap thu thập thông tin mục tiêu, sau đó kết hợp với các

module exploit từ metasploit framework để xây dựng thành cây tấn công,

không gian hành động, không gian trạng thái của môi trường O chế độ

huấn luyện, shennina sẽ khởi tạo 2 lép mạng, 1 lớp mạng chính và 1 lớp

mạng phụ cho từng worker, các worker hoạt động phân tấn với nhau, sau

mỗi episode, trọng số tính toán từ worker sẽ được cập nhật lên mạng chính,

sau đó worker khởi tạo lại trọng số từ mạng chính Ở chế độ khai thác, các

worker sẽ khởi tạo trọng số từ mô hình đã lưu sau khi huấn luyện, từ đó chọn ra các module exploit để khai thác mục tiêu.

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

Nghiên cứu của nhóm tác giả Zennaro [20] đã chỉ ra rằng các mô hình học máy

tăng cường cơ bản đã có thể giải quyết tốt các bài toán đơn giản về kiểm thử

xâm nhập dưới dang các thử thách Capture-The-Flag (CTF) Các thử thách

CTF được sử dụng trong thí nghiệm đều có mối quan hệ rõ ràng giữa state

(trạng thái) và action (hành động) trong môi trường Bên cạnh đó, để khắc

phục vấn đề overfit của mô hình hoc tăng cường sâu khi tập dữ liệu quá ít,

nghiên cứu của tác giả Valea [19] đã ứng dụng cây quyết định (Decision Tree)

và mang lại kết quả khả quan Tuy nhiên, đối với các bài toán phức tạp hơn thì

công trình của cả hai nhóm tác giả đều chưa mang lại hiệu quả cao.

Nghiên cứu của Cody va cộng sự [1] cung cấp một framework hoạt động dựa

Trang 40

trên đồ thị tấn công (attack graph) giúp tao môi trường hoc lí tưởng cho tác

vụ kiểm thử trên mô hình học tăng cường Đồ thị được thiết kế từ nghiên cứu này có khả năng giải quyết ba vấn đề: Cách agent RL tương tác với một mô

hình mạng thật trong thời gian thực, Cách agent RL mô phỏng môi trường đối

kháng, Cách agent RL xử lý môi trường mạng không ổn định (ví dụ: môi trường

được vá lỗi liên tục).

Công cụ kiểm thử tự động sử dụng học tăng cường sâu của Guo và cộng sự

[3] đã ứng dụng phương pháp thu gọn va chia nhỏ không gian hành động (action

space) Bằng cách này, nghiên cứu đã mang lại kết quả khả quan khi thử nghiệm

với việc có được số lượng step trung bình để đạt được mục tiêu đề ra thấp hơncác agent khác Bên cạnh đó, nhóm tác giả sẽ phát triển thêm tính năng chocông cụ để hoạt động trên các môi trường có ứng dụng cơ chế phòng thủ

Công cụ EPPTA [11] kết hợp học tăng cường cùng các module đặc biệt được

gọi là "module tin tưởng" (belief module) Belief module được hiểu là các đun hoặc thành phần của mô hình học tăng cường, được thiết kế để cập nhật và

mô-quản lý trạng thái tin tưởng của hệ thống một cách hiệu quả, đặc biệt là trong

các môi trường không thể quan sát toàn bộ trạng thái (POMDP) Với sự kết

hợp này, EPPTA có thể dự đoán các trạng thái của môi trường dựa trên phân

bổ xác suất, từ đó mang lại ưu thế như có thời gian huấn luyện ngắn hơn so với

các mô hình khác trong thí nghiệm.

Li và cộng sự [8] sử dụng cơ chế da mô hình để xử lý vấn đề về không gian

hành động (action space) trong các mô hình mạng có quy mô lớn Đồng thời,

thay vì để agent khám phá (explore) môi trường một cách ngẫu nhiên, mô hìnhhọc máy được cung cấp kiến thức từ con người (Expert prior knowledge) để rútngắn thời gian học Phát triển từ ý tưởng này, trong năm 2024, nhóm nghiêncứu đã công bố phương pháp kiểm thử kết hợp phản hồi từ phía con người

(chuyên viên pentest) [9] Trong công trình nghiên cứu này, phản hồi từ con

người (Human feedback) đã được chứng minh (thông qua môi trường giả lập) có

khả năng tối ưu hiệu suất huấn luyện mô hình và cải thiện độ chính xác trong

Ngày đăng: 24/11/2024, 15:57

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

TÀI LIỆU LIÊN QUAN

w