Để làm được điều đó, hệ thống web honeypot trong đề tài có ứng dụng mô hình ngôn ngữ và phương pháp học tăng cường - là một phân nhánh trong lĩnh vực học máy, kết hợp cùng một số thành p
Trang 1ĐẠ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
PHAM TRAN THANH QUANG - 20521810
KHOA LUAN TOT NGHIEP
MOT HUONG NGHIEN CUU VE HONEYPOT UNG
DUNG WEB TUONG TAC CAO CO KHA NANG THICH
UNG SU DUNG HOC MAY
ADAPTIVE HIGH-INTERACTION WEB APPLICATION
HONEYPOT LEVERAGING MACHINE LEARNING
CỬ NHÂN NGANH AN TOAN THONG TIN
GIANG VIEN HUONG DAN
THS DO HOANG HIEN THS TRAN THI DUNG
TP HO CHi MINH, 2024
Trang 2LỜI CẢM ƠN
Đề hoàn thành khóa luận tốt nghiệp này, tác giả xin bày tỏ lòng biết
ơn chân thành đến Ban giám hiệu Trường Đại học Công nghệ Thông tin —
Đại học Quốc Gia Thành Phố Hồ Chí Minh vi đã tạo ra môi trường học tập
và nghiên cứu thuận lợi nhất Tác giả cũng xin cảm ơn quý thầy cô giảng dạy tại trường nói chung và Khoa Mạng máy tính & Truyền thông nói riêng vì đã truyền đạt những kiến thức chuyên môn bổ ích và những kinh nghiệm thực tế quý báu trong suốt quá trình học tập và rèn luyện.
Tác giả xin gửi lời tri ân sâu sắc đến ThS Đỗ Hoàng Hiển và ThS.
Trần Thị Dung đã tận tình quan tâm, đồng hành và hướng dẫn tác giả trong
suốt quá trình nghiên cứu và thực hiện đề tài Việc nghiên cứu về hệ thống mạng va bảo mật web là niềm đam mê mà tác giả theo đuôi Nhờ sự hướng dẫn của thay, kiến thức của tác giả đã được nâng cao, giúp tác giả có thé
mở rộng các van đề và tiếp cận với các công nghệ mới trong lĩnh vực này.
Cuối cùng, do còn hạn chế về kiến thức chuyên môn, khóa luận chắc
chắn sẽ không tránh khỏi những thiếu sót Tác giả rất mong nhận được
những nhận xét, ý kiến đóng góp và phê bình từ quý thầy cô trong hội đồng dé khóa luận được hoàn thiện hơn.
Nhóm tác giả.
Trang 3Mục lục
TÓM TẮT KHOÁ LUẬN 1
1 TONG QUAN ĐỀ TÀI 2
"“H aa ga 2
AaáaÝỶ 4
7 '“ ME EB.'.'.'.' ' “#‹Íi 4
\ 4
1.5 Câu trúc Khóa luận tốtnphiệp| - 5
2_ CƠ SỞ LÝ THUYET 6 2.1 HloneypdHỦfV Gil Bim ‹gÐ\ 8 .J.< 6
21.1 Tổng quan| ẶẶ eee 6 LY s“f” 7
2.2 Mohinh BERII 9
2.2.1 Tổng quan về mô hình BERT va mô hình pre-trained 9 2.2.2 _ Kiến trúc mô hình BERTI 10
2.2.3 Cách hoạt động của mô hình BERI| 10
2.24 Masked Language Model| 13
2.3 ReinforcementLearnngl 13
2.3.1 Tổng quan} 2 ee eee 13 2.3.2 Các thành phan chính| - 14
¬ v vee ee eveteeee, 18 2.4 Deep Reinforcement Learningl - 19
24.1 Q-Learnng| ẶẶ eee 19 2.4.2 Deep Q-Network va Deep Q-Learning} 22
2.5 Tình hình nghiên cứu và các công trình liên quan} 24
Trang 43_ PHƯƠNG PHÁP ĐỀ XUẤT 28
3.1 Kiến trúc tổng quan| ee ee 283.2 Xây dựng lu6ng triển khai| 28
3.2.1 Tổng quan luồng hoạt động| 28
3.2.2 Xây dung mô hình BERT cho yêu cầu HTTH 31
4_ THỰC NGHIỆM, ĐÁNH GIÁ VÀ THẢO LUẬN 40
4.1 Thựcnghiệm| ẶẶ.Ặ Q Q QQ Q Q Q Q eee 40
4.11 Cài đặtmôhinh| 40
Xây dựng trang web mục tiêu va thu thập dư liệu| 40
Xử lý dữ liệu đầu vào cho mô hình máy học 43
lạo bộ dứữ liệu| 45
Khai báo tham số cho mô hình học máy| 46
4.1.2 Tài nguyên thực nghiệm| 49
4.2_ Kết quả thực nghiệm, nhận xét và thảo luận 49
Trang 5Danh sách hình ve
2.1 Sơ đồ luồng hoạt động của BERT| 11
2.2 Sơ đồ luồng hoạt động embedding của BERT| 12
2.3 Sơ đồ tương tác giữa tác nhân và môi trường trong bài toán quyết
wĩmAAa ee 15
2.4 Hình ảnh cách hoạt động của mô hình Q-learning| 20
Trang 6viii
Trang 7Danh sách bảng
Bang thông kê thu thập và phân bồ dtr liệu cho các bộ dữ liệu
Bảng thống kê tài nguyên phục vụ cho thực nghiệmBảng thông số loss của mô hình BERT khi huấn luyện với các phản
1X
Trang 9Ham gia tri Value function
Ham mat mat Loss functionLớp đầu vào Input layer
Lớp đầu ra Output layer
Lớp ẩn Hidden layer
Chính sách Policy Mạng nơ-ron Neural network Môi trường Environment
Phần thưởng Reward
Quy trình quyết định Markov Markov decision process
Tac nhan Agent Trang thai State
Trọng số mang Weight
Cổng mang Port
Độ tương đồng Similarity
xi
Trang 10TÓM TẮT KHOÁ LUẬN
Các ứng dụng web ngày càng trở nên phổ biến và không thể thiếu trong cuộcsống hiện đại Tuy nhiên, việc bảo mật web là vô cùng quan trọng để bảo vệ dữ
liệu nhạy cảm và duy trì hoạt động liên tục của doanh nghiệp Các biện pháp bảo
mật cần phải ngày càng tiên tiến để đối phó với các mối đe dọa ngày càng phứctạp Honeypot là một công cụ bảo mật quan trọng, được sử dụng để thu hút và
phát hiện các cuộc tấn công mạng bang cách tao ra các hệ thống giả mạo nhằm
lừa kẻ tan công, từ đây, có thể giúp bảo vệ hệ thống
Trong dé tài này, nhóm tác giả dé xuất một mô hình web honeypot có tính tương
tác cao dựa trên một tập dữ liệu sẵn có Web honeypot này sẽ nhận diện được
các yêu cầu HTTP đồng dạng mà nó đã gặp trước đây, đồng thời đưa ra phảnhồi một cách thông minh cho các yêu cầu HTTP mà hệ thống chưa biết đến, chưađược tiếp xúc từ trước Để làm được điều đó, hệ thống web honeypot trong đề tài
có ứng dụng mô hình ngôn ngữ và phương pháp học tăng cường - là một phân
nhánh trong lĩnh vực học máy, kết hợp cùng một số thành phần khác để hệ thốngtrở nên linh hoạt và thích nghi đối với các cuộc tấn công web
Kết quả của đề tài cho thây mô hình web honeypot đưa ra có tính linh hoạt trongviệc quyết định và phản hồi một cách thông minh dựa trên bộ đữ liệu có sẵn, hơn
nữa, hệ thống còn đảm bảo về hiệu suất và tiết kiệm chỉ phí vận hành
Trang 11Chương 1
TONG QUAN DE TÀI
Tom tat chuong
Trong chương nay, chúng tôi xin trình bày tóm tat về van dé tạo bay Web pot hỗ trợ cho việc phòng thủ chủ động hệ thống Website Đồng thời, chúng tôi
Honey-sẽ đư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 đề tài
Ứng dụng web là một phần không thể thiếu của cuộc sống hiện đại, với nhiều
lĩnh vực như giáo dục, giải trí, thương mại, y tế Ứng dụng web là một phần
quan trọng trong xã hội hiện nay vì nó giúp tăng cường sự liên kết và thông tin,
giúp các doanh nghiệp và người dân có thể truy cập và trao đổi thông tin nhanh chóng và hiệu quả Nó cũng giúp tạo ra các cơ hội mới cho việc làm việc, học tập
và tham gia vào các dịch vụ công cộng Ứng dụng web không chỉ làm việc làmphần tử mà còn là phần tử của cuộc sống hàng ngày của chúng ta, giúp tăng hiệu
suất, hướng dẫn và tạo ra những kết nối mới
Tuy nhiên, ứng dụng web cũng đối mặt với nhiều mối đe dọa về bảo mật,như tấn công SQL injection (SQLi), cross-site scripting (CSS), brute force, denial
of service (DoS) va một số tấn công nguy hiểm khác Các kẻ tấn công cô ý khaithác vào các lỗ hổng còn tồn đọng trong hệ thồng web nhằm khai thác thông tinnhạy cảm từ người dùng và tổ chức Do đó, những tấn công này có thể gây rathiệt hại nghiêm trọng về cả tài sản lẫn uy tín cho người dùng, nhà cung cấp dịch
vụ và rộng hơn là cả xã hội Do đó, việc phát hiện, ngăn chặn và phòng thủ trước
những tan công này là một van dé quan trọng và cap bách
2
Trang 12Chương 1 TỔNG QUAN ĐỀ TÀI
Một trong những nguyên tắc phòng thủ được quan tâm sử dụng hiện nay
trong thế giới số chính là phòng thủ chủ động Đây là phương pháp phòng thủ
sử dụng các biện pháp vừa đảm bảo ngăn chặn các cuộc tân công, vừa chủ độngtìm hiểu, thu thập thông tin về các mối đe dọa trên không gian mạng, từ đó,người phòng thủ có thể đưa ra biện pháp bảo mật có tính chuyên sâu cho các tancông mới nhất Trong các phương pháp phòng thủ chủ động, honeypot là giảipháp được biết đến rộng rãi, đây là một hệ thống giả mạo hệ thống thật, thu hútnhững cuộc tấn công vào honeypot và ghi lại hành vi của kẻ tan công Với những
ưu điểm của mình, honeypot trở thành công cụ mạnh mẽ và mang lại nhiều lợiích thiết thực Tuy nhiên, để xây dựng một honeypot thông minh để thích nghỉvới các tân công mới vẫn là vấn dé đáng quan tâm hiện nay
Bên cạnh đó, trí tuệ nhân tạo đang là xu thế công nghệ đột phá và có ảnh
hưởng đến nhiều lĩnh vực khác nhau Trong lĩnh vực này, máy học là một phương
pháp cho phép các hệ thống tự học từ dữ liệu đã có thông qua các thuật toán, từ
đó tối ưu hóa hành vi của mình để thực hiện một nhóm nhiệm vụ cụ thể Máyhọc ngày càng được ứng dụng nhiều trong các bài toán phân loại, gom nhóm,
dự đoán, và khám phá thông tin từ dữ liệu Trong những năm gan đây, các nhànghiên cứu bảo mật đã bắt đầu quan tâm hơn vào việc ứng dụng máy học trongxây dựng hệ thống honeypot [10], khiến honeypot ngày càng đáp ứng tốt hơncũng như tự học được cách tương tác với tân công thông qua những dit liệu được
cập nhật liên tục theo thời gian thực
Từ những lập luận trên, có thể thấy việc xây dựng một hệ thống web honeypot
để bay các cuộc tan công web trên không gian mạng là một vân đề cần thiết Hệthống web honeypot đòi hỏi phải có khả năng đáp ứng cao cũng như phản hồimột cách linh hoạt để đánh lừa kẻ tan công Trong dé tài, tác giả dé xuất một hệthống web honeypot tương tác cao có sử dụng máy học cho các ứng dụng web.Thông qua ứng dụng máy học, web honeypot sẽ giúp hệ thống có thể đưa ra cácphản hồi phù hợp đối với mỗi yêu cầu HTTP, đặc biệt là đối với một số yêu cầuđồng dạng nhau của các cuộc tan công web, ngoài ra, mô hình máy học còn giúp
hệ thống xử lý và đưa ra phản hồi linh hoạt đối với các mẫu tấn công chưa đượcbiết đến Điều này giúp honeypot che giấu bản thân một cách thông minh, đápứng những yêu cầu về phòng thủ chủ động trong bồi cảnh bảo mật thông tin hiện
nay.
Trang 13Chương 1 TỔNG QUAN ĐỀ TÀI
1.2 _ Phương pháp nghiên cứu
Tìm hiểu cách hoạt động của ứng dụng Web và mô hình Honeypot nói chung, từ
đó xây dựng ứng dụng web và một hệ thống web honeypot tương ứng cho ứngdụng web này Tìm hiểu về các mô hình xử lý ngôn ngữ và các thuật toán học
tăng cường, sau đó, chọn lọc ra các mô hình phù hợp với ngữ cảnh và ứng dụng
chúng vào mô hình web honeypot Bên cạnh đó, nhóm tác giả sẽ tiến hành triểnkhai thực nghiệm, từ đó đánh giá hiệu suất thực tế của hệ thống thông qua cáckết quả đạt được và cuối cùng là đưa ra hướng mở rộng cho đề tài trong tương
lai.
1.3 Muc tiêu nghiên cứu
Khóa luận hướng đến các mục tiêu chính như sau:
1 Hệ thống Web Honeypot có khả năng đưa ra phản hồi HTTP tương ứng,
cho các yêu cầu HTTP đồng dạng với các yêu cầu đã biết, và cho cả các yêucầu HTTP chưa được biết đến
2 Hệ thống Web Honeypot có ứng dụng các mô hình học máy, cụ thể là mô
hình ngôn ngữ và thuật toán học tăng cường Điều này nhằm khả năng
tương tác linh hoạt và phản ứng thông minh của honeypot, đồng thời, giúp
honeypot chỉ sử dụng ít tài nguyên trong quá trình vận hành.
1.4 Phạm vi và Đối tượng nghiên cứu
Hệ thống honeypot của đề tài tập trung vào hai đối tượng chính: thứ nhất, nhómtác giả tập trung vào xây dựng hệ thống web honeypot có khả năng nhận các yêucầu HTTP và đưa ra phản hồi một cách linh hoạt, thứ hai, nhóm tập trung vào
việc sử dụng mô hình ngôn ngữ và thuật toán học tăng cường để tích hợp vào
honeypot Cụ thể hơn, dé tài tập trung xây dựng một hệ thống web honeypot
tương tác cao, đảm bảo đáp ứng các yêu cầu về logic, triển khai, cho phép kết hợp
mô hình xử lý ngôn ngữ và giải pháp học tăng cường và yêu cầu các mô hình này
có tham gia vào quá trình phản hồi với kẻ tan công, đặc biệt là phải đưa ra phản
Trang 14Chương 1 TỔNG QUAN ĐỀ TÀI
hồi được cho là tốt nhất, giúp tao bay cho các cuộc tấn công web, dẫn dụ và thuhút kẻ tấn công
1.5 Cấu trúc Khóa luận tốt nghiệp
Khóa luận được tổ chức trong 6 chương như sau:
Chương|IÌ TONG QUAN ĐỀ TÀI
Trình bày cấu trúc cũng như khái quát nhất về nội dung khóa luận muốn
hướng tới.
Chương 2| CƠ SỞ LÝ THUYẾT
Trình bày các khái niệm, các kiến thức có liên quan đến việc thực hiệnnghiên cứu và triển khai thực nghiệm cho khóa luận Ngoài ra, trong chươngnày còn di qua một số nghiên cứu có liên quan đến dé tài mà tác giả đã tham
khảo.
Chuong|3} PHƯƠNG PHÁP DE XUẤT
Chương này sẽ nói chỉ tiết về mô hình, luồng hoạt động mà hệ thống của détài hướng đến, tổng hợp các phương pháp được thực hiện trong hệ thống,
phương pháp đánh giá cho mô hình.
Chuong|4} THUC NGHIEM, DANH GIÁ VÀ THẢO LUẬN
Trong chương này, các phương pháp với số liệu cụ thể, chỉ tiết sẽ được để
cập và câu hình rõ ràng Ở phần sau của chương bao gồm các kịch bản thử
nghiệm để đưa ra đánh giá cho hệ thống, từ đó thảo luận thêm về hệ thống
từ đề tài
Chương] KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Đưa ra kết luận về đề tài, nhận xét về ưu và nhược điểm của hệ thống, đểxuất một số hướng phát triển mở rộng cho các nghiên cứu liên quan trong
tương lai.
Trang 15Honeypot là một công cu bảo mật và phòng thủ thông minh, được thiết kế để
có những phản hồi hoặc biểu hiện giống như các tài nguyên hệ thống dễ bị tổn
thương Từ đó, honeypot có thể đánh lừa kẻ tấn công rằng đây chính là một hệ
thống thật đang được vận hành, khuyến khích kẻ tấn công thực hiện các câu lệnh
tấn công vào các lỗ hổng được xây dựng trong honeypot Ngoài nhiệm vụ giảmao, honeypot còn thu thập các mẫu tan công, chiến lược mà các phan mềm độc
hai hay kẻ tan công sử dụng trong thực tế Như vậy, có thể thay honeypot hoạt
động như một cái bay, thu hút các kẻ tan công hoặc phần mềm độc hại thực hiệnkhai thác, sau đó, các hoạt động độc hại này có thể được theo dõi và phân tích mà
không gây hại cho tài sản thật sự của tổ chức.
Trang 16Chương 2 COSO LY THUYẾT
Một trong những lợi ích chính của honeypot là khả năng phát hiện các cuộc tancông zero-day, những lỗ hổng bảo mật chưa được biết đến và do đó chưa có sẵn
bản vá Bằng cách giám sát hoạt động bat thường cũng như thu thập tan công,
honeypot có thể giúp các đội bảo mật của doanh nghiệp nhanh chóng phát hiện
ra các mối đe dọa mới để phản ứng kịp thời cũng như phân tích sớm để đưa ra
các bản vá bảo mật kịp thời.
Ngoài ra, honeypot còn có giá trị trong việc giáo dục và nghiên cứu Honeypot
cung cấp cho sinh viên và nhà nghiên cứu bảo mật cơ hội để hiểu rõ về cách xâydựng hệ thống thật, các chiến thuật được kẻ tan công sử dụng trong thực tế, từ
đó, phát triển các kỹ năng phòng thủ tiên tiên để chống lại chúng Có thể nói, giảipháp honeypot là một phần quan trọng của chiến lược phòng thủ chủ động, giúpcác tổ chức giữ được an toàn trong bồi cảnh an ninh mạng ngày càng phức tap
như hiện nay.
2.1.2 Phan loại
Có rất nhiều phương pháp để phân loại honeypot (3): phan loai dua vao muc
dich của honeypot (honeypot phục vu cho nghiên cứu hoặc san phẩm thương
mại), phân loại dựa vào vai trò, Để bám sát vào nội dung của khóa luận, tác giả
sẽ tập trung nói về phân loại honeypot dựa vào Mức độ tương tác của honeypot
[10]:
1 Honeypot tương tác mức độ THẤP: ở nhóm honeypots này, mức độ tương
tác giữa kẻ tấn công và hệ thống giả mạo sẽ rất thấp bởi môi trường của hệthống sẽ được cài đặt tĩnh Thông thường, các phản hồi mà honeypot đưa
ra cho kẻ tan công sẽ được lấy từ một bộ dữ liệu có sẵn và không được cập
nhật, honeypot sẽ tương tác với những thông tin chỉ có trong bộ dữ liệu tĩnh
này và do đó khả năng đáp ứng của honeypot thấp Hệ thống honeypot lúcnày cũng không được cài đặt hệ điều hành thực sự, các dịch vụ, các cổng
(port) mạng cũng sẽ được bắt chước sao cho khá giống với hệ thống thật,
chính vì thế, việc xây dựng honeypots thuộc loại này là khá dé dàng
2 Honeypot tương tác mức độ TRUNG BÌNH: các honeypots thuộc nhóm
này cũng không được cài đặt một hệ điều hành thực sự, tuy nhiên, một số
7
Trang 17Chương 2 COSO LY THUYẾT
dich vu của hệ điều hành sẽ được thiết kế chi tiết hơn hoặc được lay từ
mã nguồn gốc để tăng tính chân thật cho honeypot Ngoài ra, để xây dựngcác dịch vụ, người ta sẽ tạo ra các module ứng với dịch vụ đó để vận hànhcùng với honeypot Vì thế, honeypot thuộc nhóm này cần xây dựng phứctạp hơn và cũng thu hút nhiều tấn công hơn so với các honeypots tương tácmức độ thấp Vì honeypot tương tác mức độ trung bình không cần nhiều tàinguyên, việc xây dựng các module có phan tùy biến nên honeypots thuộc
nhóm này hiện đang được sử dụng rất rộng rãi.
3 Honeypot tương tác mức độ CAO: đây là hệ thống honeypot phức tạp nhất
trong việc xây dựng, triển khai và bảo trì, bởi vì chúng sẽ cần một hệ điềuhành thật sự với môi trường thao tác gần như không bị hạn chế Mọi dịch vụ
có trong honeypot thường sẽ đảm bảo đúng phiên bản từ nhà phát hành, hệ
thống phần cứng cũng phải đảm bảo day đủ về tài nguyên trong mọi thờiđiểm Có thể thấy honeypots loại này sẽ gây khó khăn cho kẻ tấn công để
phát hiện đây là một máy không thuộc hệ thống thật của tổ chức, nhưng
bản thân nó cũng mang lại nhiều rủi ro về bảo mật Nếu không được quản
lý đúng cách, honeypots có thể bị kẻ tan công sử dụng làm ban đạp để tiếptục tấn công vào các phần khác của mạng hoặc chiếm quyền của honeypot
để làm một nút (node) phục vụ cho một cuộc tấn công khác Do đó, việcthiết lập và duy trì honeypots nhóm này yêu cầu kiến thức chuyên sâu về
an ninh mạng và quản lý rủi ro.
Việc tao ra các phản hồi giống hệ thống thật chắc chắn là yếu t6 quan trọng nhất
khi xây dựng honeypot Tuy nhiên, nếu xây dựng honeypot chỉ tập trung vào yếu
tố này mà không mở rộng thêm về kiến trúc cũng như chức năng thì honeypot
sẽ không thích nghỉ được các hình thức tan công mới vào hệ thống hoặc sẽ dé bị
phát hiện với các kỹ thuật phát hiện honeypots hiện nay Do đó, một khái niệm
honeypot mới được sinh ra, gắn liền với sự mở rộng tính đáp ứng của honeypot,
đó chính là Honeypot tương tác thông minh (10] Khái niệm của honeypot tương
tác thông minh chính là việc tương tác với kẻ tan công nhằm tối đa hóa khả năng
bắt được các cuộc tấn công cụ thể mô phỏng chính xác hành vi của một dịch vụhay một cuộc tấn công cụ thể, nói cách khác, honeypot lúc này có khả năng đưa
Trang 18Chương 2 COSO LY THUYẾT
ra phản hồi dé dẫn dụ kẻ tấn công hướng đến thực hiện một tấn công đã được
xác định từ trước.
2.2_ Mô hình BERT
2.2.1 Tổng quan về mô hình BERT và mô hình pre-trained
BERT hay viết tắt của Bidirectional Encoder Representations from Transformers,
là một mô hình ngôn ngữ dựa trên kiến trúc transformer, nổi tiếng với sự cảithiện đáng kể so với các mô hình tiên tiến trước đó Nó được giới thiệu vào
tháng 10 năm 2018 bởi các nhà nghiên cứu tại Googld!] BERT ban đầu được triển
khai bằng tiếng Anh ở hai kích thước mô hình: BERTgase (110 triệu tham số) và
BERT arce (340 triệu tham số) (2) Cả hai mô hình đều được huấn luyện trước
trên tập dữ liệu Toronto BookCorpus và Wikipedia tiếng Anh [12] BERT da tro
thành một chuẩn phổ biến trong các thử nghiệm xử lý ngôn ngữ tự nhiên, với
hơn 150 công trình nghiên cứu phân tích và cải tiến mô hình [8] M6 hinh BERT
đã được triển khai trong hệ thống tìm kiếm của Google từ năm 2019 cho các truy
van bằng tiếng Anh va hơn 70 ngôn ngữ khác, bao gồm cả các đoạn văn đặc trưng
riêng của mỗi ngôn ngữ.
Mô hình BERT là một mô hình đã được huấn luyện trước (pre-trained), tức là nó
đã được đào tao với một lượng lớn dữ liệu hoặc sử dụng các phương pháp tiên
tiến để giảm công sức huấn luyện từ đầu Sau đó, mô hình có thể được tiếp tụchuấn luyện để phù hợp với dữ liệu thực tế hoặc được áp dụng trực tiếp trongcác bài toán học máy Mô hình BERT là một mô hình học sâu Mô hình này có thểđược sử dụng ngay sau khi được huấn luyện trước hoặc sẽ được điều chỉnh vàhuấn luyện thêm để phù hợp với yêu cầu cụ thể của ứng dụng Thay vì xây dựngmột mô hình trí tuệ nhân tạo từ đầu, các nhà phát triển có thể sử dụng các môhình đã được huấn luyện trước và tùy chỉnh chúng để đáp ứng nhu cầu của họ.Đối với những bài toán có dữ liệu đầu vào quá lớn và yêu cầu phân tích phức tạp,việc sử dụng các mô hình pre-trained có sẵn sẽ giúp tiết kiệm thời gian và nguồn
lực trong việc xây dựng mô hình cho các nhiệm vụ cụ thể.
Thttps: /
/research.google/blog/open-sourcing-bert-state-of-the-art-pre-training-for-natural-language-processing /
Trang 19Chương 2 COSO LY THUYẾT
2.2.2 Kiến trúc mô hình BERT
Mô hình BERT sử dụng một loại kiến trúc mã hóa Chuyển đổi (Transformer) haichiều Đây chính là một tính năng nổi bật giúp mô hình BERT tốt hơn so với các
mô hình directional - là các mô hình đọc dữ liệu ngữ cảnh theo một chiều duynhất, từ trái sáng phải hoặc từ phải sang trái một cách tuần tự, nói cách khác,khi đọc dự liệu theo cả hai chiều thì việc hiểu ngữ cảnh trở nên rõ ràng hơn Bảnthân bộ chuyển đổi là một kiến trúc mạng nơ-ron, trong đó, ta cần chú ý đến một
thành phần quan trọng chính là các lớp attention trong mạng này Được giới thiệu
trong nghiên cứu (9) vào năm 2017, về co bản, lớp attention sẽ yêu cầu mô hình
BERT chú ý đến một số từ nhất định có trong câu và có thể bỏ qua việc tập trung
vào một số từ khác khi xử lý biểu diễn số của từng từ, bằng cách đặt trọng số có
giá trị lớn cho những từ mà lớp attention cho là quan trọng đối với ngữ cảnh
2.2.3 Cách hoạt động của mô hình BERT
Bản thân mô hình BERT là một mô hình học máy, do đó nó cũng đòi hỏi đòi hỏi
đầu vào là các con s6, các ma trận số hay biểu diễn thành các véc-tơ Để tạo rađược các biéu diễn số nay từ tập dữ liệu là các từ ngữ-câu ở dạng ngôn ngữ tựnhiên, đầu tiên cần tiền xử lý các dữ liệu này để lọc ra được các thuộc tính quantrọng, thay đổi để dạng dữ liệu phù hợp với đầu vào mong muốn của mô hình
Bắt đầu từ day, BERT sẽ xử lý di liệu theo cách riêng của mình
10
Trang 20Chương 2 COSO LY THUYẾT
Transformer backbone =x L encoder units
HINH 2.1: Sơ đồ luéng hoạt động của BERT
Nói thêm về các tokens, trong mô hình BERT có một số token đặc biệt phổ biến
như sau:
[CLS] (Classification): Token này được thêm vào đầu mỗi chuỗi đầu vào Nó đại
điện cho toàn bộ câu hoặc đoạn van và được sử dụng trong các tác vụ phân loại [SEP] (Separator): Token này được sử dung để phân tách các câu hoặc đoạn văn
trong một chuỗi đầu vào Nó giúp mô hình hiểu rằng có sự ngắt quãng giữa các
phần của văn bản
[MASKT: Token này được sử dung trong quá trình huấn luyện để che giấu một số
từ trong văn ban, mô hình sẽ phải học cách dự đoán token bi che giấu bởi token
này dựa trên ngữ cảnh.
[PAD] (Padding): Chuỗi dau vào được mô hình đưa vào xử lý có thể có độ dài
ngắn khác nhau Để việc học diễn ra đồng nhất khi xử lý các chuỗi đều có độ dàibằng nhau, token này được thêm vào để làm day các chuỗi văn bản ngắn hơn đểđạt đến một độ dài nhất định
[UNK] (Unknown): Token này đại diện cho các từ không có trong từ điển của mô
hình, giúp mô hình xử lý các từ mới hoặc không phổ biến
Quay lại luồng hoạt động của BERT, dựa trên bộ từ điển của các tokens đã được
tạo ra, toàn bộ các dữ liệu sẽ được phân tích thành các tokens tương ứng, quá
11
Trang 21Chương 2 COSO LY THUYẾT
trình nay còn được gọi là Tokenization hay Wordpiece tokens Mỗi token này sau
đó sẽ được chuyển đổi thành các vec-tơ số tương ứng sau khi mỗi token sẽ được
xem xét ánh xạ dựa trên các đặc tính như phân loại token, phân đoạn câu, vị trí
của token, như mô tả ở Hình |2.2| được ghi nhận trong báo cáo [2], giai đoạn
này được gọi là giai đoạn Embeddings.
Input [CLS] my dog is cute | ise) | he | likes | play | ##ing | [SEP]
Token
Embeddings Eictsị EL Eụcg E., E uc EL see) EL likes play ¬ Ese]
+ + + + + + + + + + + Segment
Embeddings Ey E, Ea | Eạ E, ER | EB | EB | EB | Ea | EB
+ + + + + + + + + + +
Position
Embeddings E, E, E; E, E, E; ] E E; E, E, Eịo
HÌNH 2.2: Sơ đồ luồng hoạt động embedding của BERT
Các vec-tơ vừa được tạo ra sẽ làm đầu vào cho mô hình BERT Mô hình BERT sửdụng kiến trúc Bộ chuyển đổi hai chiều cùng thành phần attention sẽ học và đưa
ra kết quả Vì BERT là một mô hình đã được huấn luyện trước nhằm phục vụ cho
các ứng dụng chuyên sâu, do đó, đầu ra mong muốn của mô hình BERT chính là
hiểu rõ ngữ cảnh của bộ dữ liệu và đưa ra được biểu diễn bộ dữ liệu dưới dạng
vec-tơ số một cách chính xác nhất với ngữ cảnh Cụ thể hơn, mô hình BERT sẽcho đầu ra là các vec-tơ biểu diễn ngữ cảnh cho các tokens, mỗi vec-tơ tương ứng
với một token, do đó, đầu ra của mô hình này thường rất lớn, phụ thuộc vào số
lượng tokens có trong bộ từ điển token được phân tích riêng cho bộ dữ liệu, và
còn phụ thuộc vào chiều dài đoạn văn bản mà người huấn luyện mong muốn đưavào trong mỗi lần huấn luyện
Trong một số bài toán nhất định, các vec-tơ kết quả của mô hình BERT có thể cần
phải trải qua một bước là sentence embedding, trong đó, các vec-tơ của token
trong một câu sẽ được biểu diễn thành một vec-tơ duy nhất thông qua các thuật
toán khác nhau Vec-tơ này sẽ đại diện cho toàn bộ câu, giúp các mô hình sau hiểu
và xử lý ngữ nghĩa của câu đó.
12
Trang 22Chương 2 COSO LY THUYẾT
2.2.4 Masked Language Model
Một trong những ky thuật huấn luyện mô hình BERT được sử dụng phổ biến đó
chính là kỹ thuật MLM (Masked Language Model) Đây không phải là một thuật
toán riêng biệt, mà là một phan của quá trình huấn luyện BERT để giúp mô hìnhhọc cách hiểu ngữ cảnh của từ trong câu Cụ thể, trong quá trình huấn luyện vớiMLM, một tỷ lệ phần trăm các từ trong câu đầu vào (thường là 15%) được chegiấu ngẫu nhiên bởi token [MASK] Mô hình BERT sau đó được yêu cầu dự đoáncác từ bị che giấu nay dựa trên ngữ cảnh của các từ xung quanh Day cũng chính
là cách mà mô hình BERT tính ra độ đo loss trong quá trình Huấn luyện, bằng
cách so khớp giữa token được mô hình dự đoán và token chính xác trên thực tế
để điển vào trong câu, từ đó tìm ra mức độ sai số và mô hình sẽ cố gắng sự sai sót
này thấp nhất có thể trong tương lai Điều này giúp BERT học được các biểu diễnngữ nghĩa sâu sắc hơn và cải thiện khả năng hiểu nội dung từ bộ đữ liệu
2.3 Reinforcement Learning
2.3.1 Tong quan
Hoc tăng cường (Reinforcement Learning) là một lĩnh vực quan trọng trong máy
học, đặc biệt liên quan đến việc đào tạo các mô hình học máy để ra quyết địnhtrong môi trường động tối ưu theo thời gian Các ứng dụng của học tăng cườngrất đa dạng, bao gồm chơi trò chơi, điều khiển robot, quản lý danh mục đầu tư tàichính, và nhiều lĩnh vực khác đòi hỏi khả năng ra quyết định phức tạp và thích
nghỉ liên tục với sự thay đổi của môi trường.
Trong lĩnh vực máy học, còn hai hình thức học phổ biến khác, đó chính là: học có
giám sát và học không giám sát So với học có giám sát, nơi mà mô hình được đào
tạo dựa trên dữ liệu gắn nhãn và học cách dự đoán nhãn cho các dtr liệu mới, hoc
tăng cường có ưu điểm nổi bật ở khả năng tự điều chỉnh và tối ưu hóa trong môitrường thay đổi liên tục Điều này làm cho học tăng cường trở nên mạnh mẽ hontrong việc giải quyết các bài toán yêu cầu sự thích nghỉ liên tục và phản ứng linh
hoạt Trong khi đó, học có giám sát thường gặp khó khăn khi môi trường thay
đổi và yêu cầu phải cập nhật lại mô hình với dữ liệu mới
13
Trang 23Chương 2 COSO LY THUYẾT
Học bán giám sát, kết hop giữa dữ liệu có nhãn va không nhãn, cung cấp mộtgiải pháp tiết kiệm tài nguyên khi dữ liệu có nhãn khan hiếm Tuy nhiên, phương
pháp này vẫn dựa vào việc có một phần dữ liệu đã được gắn nhãn để hướng dẫn
quá trình hoc, do đó vẫn bị giới hạn bởi chất lượng va số lượng của dit liệu có
nhãn Ngược lại, học tăng cường không đòi hỏi dữ liệu có nhãn mà dựa vào phản
hồi từ môi trường để cải thiện hiệu suất, giúp nó trở thành một công cụ mạnh mẽ
và linh hoạt hơn trong nhiều ứng dụng
Nhìn chung, học tăng cường mang lại một phương pháp tiếp cận khác biệt và
mạnh mẽ trong việc phát triển các hệ thống trí tuệ nhân tạo có khả năng tự học
và tự thích nghỉ Sự khác biệt cơ bản về cách tiếp cận và tương tác với môi trườnggiúp học tăng cường vượt trội trong những tình huống mà các phương pháp họckhác gặp giới hạn, mở ra nhiều cơ hội mới cho việc ứng dụng trí tuệ nhân tạo
trong thực tiễn.
2.3.2 Các thành phần chính
Trong phần này, tác giả sẽ chỉ ra các khái niệm cơ bản nhất để mô hình hóa được
bài toán học tăng cường.
Bài toán quyết định Markov
Học tăng cường là phương pháp học máy để giải các bài toán quyết định Markov(hay Markov decision) Bài toán quyết định Markov là bài toán học từ các tác độngtrong quá khứ để đưa ra được tác động được cho là tốt nhất ở thời điểm hiện tại
Thứ học các tác động, đồng thời ra quyết định được gọi là các Tác nhân Các tác
nhân sẽ tương tác với mọi thứ bên ngoài nó, được gọi là Môi trường Tác nhân sẽ
thực hiện tác động liên lục đến môi trường, thông qua việc lựa chọn một Hành
động cụ thể, sau khi hành động được thực hiện xong, tác nhân sẽ nhận được
Trạng thái cụ thể tương ứng với hành động đó do môi trường trả về để tác nhân
biết được trạng thái hiện tại của mình Khi đạt được bat kỳ một trang thái nao,
môi trường cũng sẽ trả về một giá trị bằng số được gọi là Phần thưởng cho tác
nhân Phần thưởng chính là mục tiêu mà tác nhân sẽ cố gắng tích lũy theo thờigian để có được giá trị tốt nhất của tổng các phần thường, nói như vậy nghĩa là
không phải giá trị phần thưởng của trạng thái nào cũng bằng nhau và tác nhân
14
Trang 24Chương 2 COSO LY THUYẾT
phải cố gang tim ra chuỗi hành động hợp lí nhất để tối ưu hóa tổng số phan
thưởng Việc tác nhân tương tác với môi trường sẽ diễn ra theo thời gian thực vàphần thưởng, trạng thái sẽ được cập nhật liên tục
Như vậy, ta có thể mô hình hóa bài toán quyết định Markov lại như mô hìnhtương tác trong hinh[2.3}
Trạng thái
Hành động
HINH 2.3: So dé tương tác giữa tác nhân và môi trường trong bài
toán quyết định markov
Trong so dé Hinh 2.3} tác nhân sẽ tác động đến môi trường theo chuỗi các thời
điểm riêng lẻ nhau, tức là t nhận các giá trị 0, 1, 2, Tại mỗi thời điểm t xác định, tác nhân nhận được trạng thái cụ thể từ môi trường, cho là s¢ € S, với S
là tập hợp các trạng thái mà môi trường có thể trả ve Xét A (St) là tập hợp các
hành động mà tác nhân có thể thực hiện được đối với tran thái s¢ Nhiệm vụ củatác nhân chính là đưa ra một hành động a; € A(s¿) cụ thể để tác động đến môitrường và sau đó nhận lại phan thưởng là rt Việc thực hiện sẽ diễn ra vô hạn
hoặc một số bước hữu hạn tùy vào yêu cầu thực tế của bài toán Ứng với mỗi
bước, mỗi một trạng thái có thể có nhiều hành động, ta thực hiện phép Tr:(s, a)
là ánh xạ từ một trạng thái st = S đến một hành động ay = a tương ứng sao chophần thưởng r; nhận được là lớn nhất Nhu vậy, việc tìm ra được Mt để tối đa hóaphần thưởng r¢ chính là yêu cầu của bài toán quyết định Markov Đây chính làcách phát biểu của bài toán quyết định Markov Quy trình để lựa chọn ra hành
động phù hợp nhất cho một trạng thái cụ thể theo thời gian được gọi là quy trìnhquyết định Markov (hay Markov Decision Process).
Từ bài toán quyết định Markov cho đến mô hình học tăng cường
15
Trang 25Chương 2 COSO LY THUYẾT
Có thé nói, quy trình quyết định Markow (MDP) chính là tiêu chuẩn để mô hìnhhóa các van dé học tăng cường, bởi vì mô hình hoc tăng cường sinh ra để giải
quyết việc đưa ra quyết định cho bài toán quyết định Markov Từ đây, ta có các
khái niệm được xác định cho học tăng cường nói chung:
Tác nhân, là một người hoặc một cái gì đó, tương tác với môi trường cụ thể 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
tương ứng.
Môi trường, là những thứ bên ngoài tác nhân, cho phép tác nhân thực hiện các
hành động lên và sau đó phản hồi cho tác nhân về phần thưởng tương ứng củahành động trước đó cũng như trạng thái tiếp theo của môi trường
Phần thưởng, là những giá trị mà môi trường phản hồi về cho tác nhân sau khi
tác nhân thực hiện một hành động cho một trạng thái cụ thể Phần thưởng giúpđánh giá tính thành công hay thất bại khi tác nhân thực hiện hành động, thôngqua giá trị cụ thể của phần thưởng Ví dụ, trong trò chơi điện tử Mario, khi Mariochạm vào 1 đồng vàng thì lượng vàng sẽ tăng lên +1 đơn vị, điều đó cho thấyMario đang thực hiện hành động đúng Trong một số vấn đề học tăng cường, giátrị của phần thưởng có thể là số âm, điều này thường được biết với khái niệm
“Hình phạt” trong một số tài liệu Tuy nhiên để cho rõ ràng, tác giả sẽ sử dụngkhái niệm Phần thưởng cho moi giá trị đánh giá mà môi trường trả về
Giai đoạn tương tác (episode), là tập hợp tất cả các tương tác giữa tác nhân và
môi trường từ lúc bắt đầu cho đến khi kết thúc trong một lần được gọi là một giai
đoạn tương tác.
Hệ số chiết khấu (7) (ol, là một trong những khái niệm quan trong trong hoc
tăng cường Trong học tăng cường, tác nhân cô gắng tối da hóa phần thưởng chomỗi một episode, như vậy, tác nhân sẽ tính toán đối với các trạng thái có thể xảy
ra trong tương lai nhằm đưa ra dự đoán với mong muốn tìm ra được hành động
tốt nhất ứng với mỗi trạng thái nhằm đem lại phần thưởng tối đa Hệ số chiếtkhấu đảm bảo các hành động dự đoán trong tương lai càng xa thì sẽ càng bị giảmtác động đến việc quyết định hành động của tác nhân ở hiện tại, nói cách khác,nếu một hành động trong tương lai càng trải qua nhiều bước thì sẽ càng có ítảnh hưởng đến khả năng ra quyết định của tác nhân Giá trị của hệ số chiết khẩu
1ó
Trang 26Chương 2 COSO LY THUYẾT
y € (0; 1] Ví dụ, chọn y = 0.8 cho mô hình hoc tăng cường Nhu vậy, néu đến
4 bước nữa mới thực hiện hành động đ:-_4 và mô hình dự đoán nhận được phần
thưởng r+4 thì phần thưởng chiết khâu sẽ là 0.8.4.
Chính sách (7), là chiến lược mà tác nhân tuân theo để dự đoán được hành động
tiếp theo được thực hiện dựa vào trạng thái hiện tại của môi trường Bằng chiến
lược của mình, Chính sách sẽ kết nối trạng thái với hành động mà nó cho là manglại nhiều phần thưởng nhất Các chính sách có thể mang tính quyết định (tức là
luôn chọn cùng một hành động cho một trạng thái cụ thể) hoặc mang tính ngẫu
nhiên (hay chọn các hành động dựa trên xác suất)
Hàm giá trị (V) Có thể thấy, việc dự đoán trước được các trạng thái và hành độngtrong tương lai không phải lúc nào cũng day đủ và suôn sẻ Do đó, nếu tối đa hóaphần thưởng dựa trên phần thưởng chiết khấu như sau:
N
Gị = À_YÍ.Fị= Tạ + Vent Y.Fa + (2.1)
a
thì sẽ có thể gặp khó khan khi tính toán vì thiếu di kiện để ướt đạt được các giá
trị ro, r1, ra, Lúc này, hàm giá trị là giải pháp hợp lí để tính toán Hàm giá tri
V sẽ đánh giá được giá trị của trạng thái s dựa trên một chính sách 7 nhất định:
2
V”(s) = E[ro + Y.r1 + Y“.Fa + |St = S5, T (2.2)
Xét trạng thái s¿ tại một thời điểm t = to xác định nào đó, khi đó phương trình
|2.2| có thể được chuẩn hóa lại bằng cách sử dụng phương trình tối ưu Bellman
như sau:
VR(Sy) = rụạ + Y * 3 _Ps„,m(S”) * V"(s”) (2.3)
trong đó, Ps¿u ,„(S”) là xác suất từ trạng thái St, có thể đến được trạng thái s’ bangcách thực hiện các hành động dựa trên chính sách 7r Việc tối ưu hành động cho
một trạng thái dựa trên chính sách 1 chính là tìm maxV"(s) Ngoài ra, ký hiệu
T(d|s) còn được dùng dé thay thế cho V"(s) khi nói đến giá trị của cặp (hành
động a - trạng thái 5) tương ứng dựa trên chính sách 7.
17
Trang 27Chương 2 COSO LY THUYẾT
2.3.3 Các phương pháp tiếp cận
Có nhiều mô hình học tăng cường khác nhau, được sinh ra để giải quyết các vấn
đề khác nhau trong cuộc sống Điểm chung của các mô hình này chính là luôn
tối đa tổng phần thưởng R¡ sau mỗi episodes, nghĩa là chính sách phải được cậpnhật mới nhất, ngày càng bám sát và hiểu rõ được cách tương tác với môi trường,
từ đó đưa ra hành động mang lại càng nhiều phần thưởng có giá tri cao càng tốt
Nói đến đây, ta thấy rằng phải có các biện pháp để chọn ra được hành động tối
ưu dựa trên giá trị ước lượng đối với mỗi trạng thái tại một thời điểm nhất định
khi mô hình đang hoạt động Đối với việc này, học tăng cường dé xuất 2 phương
pháp sau làm cốt lõi cho các mô hình RL nói chung:
* Hoạt động khám phá (exploration): tác nhân sẽ có gắng thử các hành động
mới cho các trạng thái khác nhau để khám phá ảnh hưởng của các hành động này cũng như nhận được các phần thưởng tiểm năng có thể cao hơn
những phần thưởng đã biết trước đó với củng một trạng thái Mục đích củaviệc này là để mô hình có thêm nhiều đữ liệu, từ đây, mô hình càng hiểuhơn về môi trường và dần sẽ đưa ra các hành động tối ưu Ví dụ: khi mớivào mê cung, người chơi chưa có nhiều thông tin về đường di, do đó, họ
sẽ chấp nhận việc đi thử các đường dù cho nó có dẫn đến ngõ cụt (phầnthưởng bằng 0)
¢ Hoạt động khai thác (exploitation): tác nhân sẽ chọn hành động tốt ưu dựa
trên những kinh nghiệm và giá trị đã có thay vì cố gắng khám phá nhữnghành động mới Điều này đòi hỏi mô hình đã có một lượng thông tin đủ lớn
để có thể tương tác với môi trường Ví dụ: mô hình sẽ chọn đường đi ngắn
nhất mà nó biết khi chơi trò chơi tìm cờ trên bảng ô vuông
Việc cân bằng giữa khám phá và khai thác của tác nhân là điều hết sức quan trọngtrong khi huấn luyện mô hình Nếu mô hình chỉ tập trung khám phá thì sẽ khiếnviệc học dién ra chậm trễ, thời gian huấn luận sẽ mat nhiều hơn bình thường, néu
mô hình chỉ tập trung khai thác thì với số lượng thông tin ít ỏi từ môi trường, mô
hình sé dé đưa ra hành động với mức tối ưu thấp Một trong những thuật toánđơn giản nhất để cân bằng giữa 2 hoạt động trong việc đưa ra quyết định cho môhình, đó chính là £-greedy hay còn được gọi với cái tên thuật toán tham lam Để
18
Trang 28Chương 2 COSO LY THUYẾT
rõ rang hơn, thuật toán €-greedy hoạt động như sau: mô hình sẽ lựa chọn hành
động ngẫu nhiên với xác suất nhỏ hơn giá trị £ và lựa chọn hành động tốt nhất đã
biết với xác suất ngược lại, đây chính là hành động “tư lam” của thuật toán khi
nó sẽ chỉ lựa chọn hành động tốt nhất ngay tại thời điểm đó mà không xem xétcác hành động khác có thể mang lại tổng phần thưởng cao hơn trong tương lại
Có thể thấy, việc xác suất nhỏ hơn hoặc trường hợp ngược lại là sự ngẫu nhiên
với xác suất của 2 hoạt động đều bằng 50%
Ngoài thuật toán €-greedy, còn có một số thuật toán khác như Decay-€, UCB,
đều được dé xuất để cân bằng giữa khám phá và khai thác Các thuật toán học
tăng cường cũng được chia thành nhiều nhóm, có thể kể đến như các thuật toán
Value-based và Policy-based Các giải thuật value-based tập trung vào việc học các giá trị đã được dự đoán, tức là dự đoán giá trị kỳ vọng của các trạng thái hoặc
các cặp (trạng thái-hành động) Một ví dụ điển hình của giải thuật value-based là
Q-learning Ngược lại, các giải thuật policy-based tập trung vào việc học và trực
tiếp tối ưu hóa một chính sách cụ thể mà tác nhân sẽ tuân theo Thay vì dự đoángiá trị của các hành động, các thuật toán này học cách đưa ra các quyết định hànhđộng tối ưu dựa trên chính sách hiện tại Một ví dụ của giải thuật policy-based là
thuật toán REINFORCE.
Qua đây, ta có thể thấy có rất nhiều thuật toán học tăng cường Chính vì thế, cầnphải hiểu rõ ưu-nhược điểm của mỗi thuật toán, cũng như hiểu được ngữ cảnhứng dụng để từ đó lựa chọn thuật toán chính xác nhất cho nhu cầu và ứng dụng
2.4 Deep Reinforcement Learning
Q-learning thực hiện việc này thông qua việc tính toán giá trị Q-value tương ứng
giữa trang thái s và các hành động a có thể, ký hiệu là Q(s, a) Dựa vào giá trị
19
Trang 29Chương 2 COSO LY THUYẾT
Q(s, a), tac nhân sẽ xác định được đâu là hành động cần được thực hiện để cóthể có tổng phần thưởng nhiều nhất theo thời gian
HÌNH 2.4: Hình anh cách hoạt động của mô hình Q-learning
Trong quá trình huấn luyện mô hình, giá trị Q-value sẽ được cập nhật theo công
¢ Q(s, a): giá trị Q-value cho hành động a tương ứng với trạng thái s.
© a: là tốc độ học, đây là tỷ lệ xác định lượng thông tin mới sẽ ghi đè vào
thông tin cũ.
¢ r: là phần thưởng chính xác từ môi trường trả về sau khi thực hiện hành
động a đối với trạng thái s
© y: là phần thưởng từ chính môi trường trả về sau khi tác nhân thực hiện
hành động a tương ứng với trạng thái Ss của môi trường.
20
Trang 30Chương 2 COSO LY THUYẾT
« max Q(s’,a’): s” la trạng thái tiếp theo của môi trường ngay sau khi tác
nhân thực hiện hành động a đối với trạng thái s Trong các hành động a’
cho tương ứng với trạng thái s’, mô hình sẽ tính toán và dự đoán giá trị
Q(s/, a’) để tìm ra hành động a’ sao cho Q(s’, a’) đạt giá trị lớn nhất Sau
đó, mô hình sé sử dung giá trị lớn nhất này để cập nhật newQ(s, a), sau đó,
sẽ thực hiện hành động a’ cho trạng thái $’.
Quan sát công thức|2.4| có thể thấy các giá trị Q-value là các giá trị tính toán dài
hạn nên sẽ giúp mô hình đưa ra quyết định tốt hơn Khi triển khai thực tế môhình, người ta lưu Q-values của cặp trạng thái-hành đồng vào một bảng, bảngnày sẽ gồm nhiều cột và nhiều hang, chứa tương ứng các hành động và trạng thái
có thể Việc huấn luyện mô hình Q-learning trải qua các bước sau:
Bước 1: Khởi tạo giá trị bằng O cho tất cả các cặp Q-value (trạng thái, hành
động).
Bước 2: Tác nhân bắt đầu tương tác ở một trạng thái ngẫu nhiên, chọn hành
động sẽ thực hiện thông qua chính sách.
Bước 3: Mô hình quan sát trạng thái, hành động và phần thưởng tương ứng
Bước 4: Mô hình tính toán giá trị theo công thức |2.4| và cập nhật giá trị vào
bảng như Hình|2.4|
Bước 5: Khi các giá trị Q-value hội tụ thì dừng việc huấn luyện mô hình, nếu
chưa thì lặp lại các bước từ 2 đến 4
Mặc dù Q-learning là một thuật toán học tăng cường phổ biến và hiệu quả, tuynhiên nó cũng có một số bat lợi và mặt yếu kém cần được xem xét Một trongnhững hạn chế chính của Q-learning là khả năng mở rộng kém khi áp dụng cho
các môi trường có không gian trạng thái và hành động lớn Lúc này, bảng Q trở
nên quá cỡ và khó quản lý, điều này dẫn đến sự tiêu tốn tài nguyên đáng kể về
bộ nhớ và yêu cầu rất nhiều thời gian tính toán Thêm vào đó, Q-learning thường
gặp khó khăn trong việc hội tụ khi môi trường quá phức tạp hoặc thay đổi liên tục, gây ra tình trạng học không ổn định Hơn nữa, Q-learning phụ thuộc vào
chính sách khai thác và khám phá hợp lý để cân bằng giữa việc thử nghiệm hành
21
Trang 31Chương 2 COSO LY THUYẾT
động mới va khai thác các hành động đã biết là tốt, điều này có thể trở nên rấtkhó khăn trong thực tế Q-learning không có khả năng khái quát tốt, đặc biệt là
môi trường có quá nhiều trạng thái Mỗi cặp trạng thái-hành động cần được xem
xét qua nhiều lần để tìm hiểu các giá trị Q chính xác, do đó tác nhân có thể gặp
khó khăn trong việc thích ứng nhanh chóng.
2.4.2 Deep Q-Network va Deep Q-Learning
Deep Q-Learning (DQL) là một phương pháp mở rộng của Q-Learning truyềnthống, thay vì sử dụng một bảng tra cứu các giá trị Q như trong thuật toán Q-
learning, ta sẽ sử dụng mạng nơ-ron sâu (deep neural networks) để ước lượng
hàm giá trị Q Mạng nơ-ron sâu như Hình|2.5]là một tương quan dé hiểu nhất cho
mô hình DQL.
xo ¿6c eccees
Input Layer Hidden Layers Output Layer
HINH 2.5: Hình anh cách hoạt động của mô hình Deep-Q-Learning
Deep Q Network (DỌN) được phát triển bởi nhóm nghiên cứu của DeepMind, là
một ứng dụng cụ thể của DỌL Nó kết hợp học tăng cường với học sâu bằng cách
sử dụng mạng nơ-ron sâu để ước lượng hàm giá trị Q Mạng nơ-ron này được
đào tạo để dự đoán giá trị của từng hành động trong mỗi trạng thái, giúp tác
nhân chọn hành động tối ưu Một yếu tô quan trọng trong DỌN là việc sử dụng
bộ nhớ kinh nghiệm (experience replay) và một mạng được gọi là mạng mục tiêu
22
Trang 32Chương 2 COSO LY THUYẾT
(target network) để ổn định quá trình huấn luyện Đối với một số bài toán, cáchành động giống nhau có thể được thực thi liên tục, dẫn đến mô hình dé bị quá
khớp trong lúc được Huấn luyện (bộ dữ liệu bị trùng lặp) Do đó, khái niệm bộnhớ kinh nghiệm ra đời nhằm lưu trữ các dữ liệu về trạng thái, hành động, phan
thưởng và trạng thái tiếp theo Đến bước Huấn luyện mô hình, một bộ dt liệuđược lay một cách ngẫu nhiên từ trong bộ nhớ kinh nghiệm để cho phép tác nhânhọc từ nhiều kinh nghiệm đa dạng Mạng mục tiêu được cập nhật định kỳ mà
sẽ không được cập nhật liên tục theo tương tác với môi trường Nó giúp giảm sự
tương quan mạnh giữa các mẫu học, làm cho quá trình huấn luyện trở nên ổn
định hơn Khi nói đến DON, người ta chú ý đến 2 mạng thành phần, bao gồm:
1 Mạng nơ-ron trực tuyến (online network): Mạng nơ-ron này được sử dụng
để ước lượng hàm giá trị Q cho từng hành động trong một trạng thái nhất
định Khi tác nhân cần chọn một hành động, mạng nơ-ron trực tuyến sẽ dự
đoán giá trị Q của tất cả các hành động có thể và chọn hành động có giá trị
cao nhất
2 Mạng nơ-ron mục tiêu (target network): Mạng nơ-ron này có cùng kiến
trúc với mạng nơ-ron trực tuyến nhưng các trọng số của nó được cập nhậtđịnh kỳ (ví dụ: sau 6 episodes) từ mạng nơ-ron trực tuyến Mạng mục tiêugiúp cung cấp các giá trị mục tiêu ổn định hơn cho việc tính toán ham mat
Trang 33Chương 2 COSO LY THUYẾT
với Qmax(Si, 9) được tính bởi mang mục tiêu va yj = Rj néu hành động tiếp theo
là hành động kết thúc Chon ra giá trị Q tốt nhất:
2.5 Tình hình nghiên cứu và các công trình liên quan
Honeypot vẫn luôn là một dé tài hap dẫn đối với các nhà nghiên cứu lĩnh vực bảo
mật trên nhiều hình thức và nhiều thiết bị Tác giả Guan Chongdi [4] cùng các
cộng sự đã xây dựng một hệ thống honeypot có tính tương thích cao cho các thiết
bị IơI, hỗ trợ thu thập các HTTP requests từ các tan công thật Nghiên cứu tậptrung vào một số thiết bị IoT nhất định, quan sát va thu thập hành vi của chúngcũng như xem xét một số lỗ hỗng bảo mật đã biết có trên các thiết bị IoT tươngứng Honeypot lúc này nhận các yêu cầu HTTP trên IơT, đưa xuống hệ thống cácthiết bị IoT thật để nhận lấy phản hồi tốt nhất sau đó trả về cho kẻ tan công nhằm
che giấu hệ thống honeypot Ứng với các tan công, hệ thống lập ra một "cây truy
vết", thu thập chuỗi các lệnh được sử dụng trong một cuộc tấn công Nghiên cứucòn đưa ra một phương pháp mới, giúp đột biến các phản hồi HTTP tương ứngvới các yêu cầu HTTP để đánh lừa kẻ tân công Kết quả cho thấy khả năng đánhlừa tan công của HoneyloT cao hơn 2 Honeypot truyền thống (Snare va Tanner)
Tuy nhiên, nghiên cứu này cũng còn một vài nhược điểm, trong đó, việc sử dụng
các thiết bị thật ở hệ thống phía sau sẽ dẫn đến việc chính các thiết bị này bị lợidung và khai thác cho một cuộc tắn công khác Ngoài ra, mặc dù giao thức đượchướng đến là HTTP, tuy nhiên đối tượng mà nhóm nghiên cứu hướng đến lại làthiết bị IoT mà không phải ứng dụng web
Nói riêng về web honeypot, nhóm tác giả Matej Rabzelj [7] triển khai một hệ
thống web honeypot sử dụng kiến trúc microservices gồm 3 thành phần giaotiếp (có một Controller) thông qua REST APIs, hỗ trợ cả tương tác mức độ thấp
và tương tác mức độ cao (xem kiến trúc hệ thống tại Hình [2.6) Kha nang tuong
tac ở mức độ cao của Web Honeypot được đáp ứng bang cách gửi các yêu cầu
rộng khắp Internet và lấy dữ liệu phản hồi từ các thiết bị thật Nghiên cứu củatác giả còn tập trung vào phân tích các dữ liệu thu thập được từ honeypot để biếtđược đâu là dữ liệu của một cuộc tấn công và đâu là dữ liệu từ một người dùng
24
Trang 34Chương 2 COSO LY THUYẾT
thông thường gửi đến, từ đó, nhóm tác giả trực quan hóa thông tin tan công củacác bot mạng Dễ thấy, việc xây dựng Web Honeypot theo kiến trúc này sẽ mang
đến gánh nặng về tài nguyên và hiệu suất trong quá trình vận hành honeypot,
song song với đó là việc khó kiểm soát nếu chính hệ thống này bị kẻ tấn côngchiếm quyền và khai thác
Backend management logic Honeypots Data pipeline and analytics
Management web GUI
Local
cache
NoSQL cluster (Elasticsearch)
=
Í
Log collection / Message `, f
Log shipping (Filebeat) (Logstash) queue ⁄ Enrichment
workers
HINH 2.6: Hình ảnh mô tả kiến trúc web honeypot phân tán của
nhóm tác giả Matej Rabzelj
Một hệ thống web honeypot động hồi đáp nhanh và có tính tương thấp được
đề xuất bởi nhóm nghiên cứu của Rajat Gupta cùng đồng nghiệpj5] Web
honey-pot này gồm nhiều thành phần, bao gồm:
1 SNARE (Super Next-Generation Advanced Reactive Honeypot): tạo web
page front-end giả bằng cách sao chép một bản sau có nhiều ứng dụng web
để có thé thay thế nhau khi kẻ tan công truy cập SNARE có thé lay thông
tin các ứng dụng web theo cách bất đồng bộ, xử lý các đường dẫn URLs.SNARE sẽ giám sát các hoạt động HTTP diễn ra trên bề mặt của nó
2 TANNER (Remote Analysis Tool): phân tích yêu cầu HTTP mà SNARE nhận
được, tạo các phản hồi HTTP động gửi đến SNARE trở lại, sử dụng Redis
làm cơ sở dữ liệu và AIODocker cho bảo mật hệ thống, tạo và xóa các Docker
containers tự động.
3 Một công cụ mô phỏng: công cụ mô phỏng (GET, POST, COOKIE) để phân
tích các yêu cầu HTTP khác nhau, sử dụng Docker image và PHP Sandbox
để mô phỏng lại tan công
25
Trang 35Chương 2 COSO LY THUYẾT
Mô hình honeypot sẽ hoạt động như sau: SNARE sẽ lay các trang ứng dung web
và dựng lại để giống như các trang đó SNARE nhận và giám sát lưu lượng HTTP
và gửi đến cho TANNER, TANNER phân tích yêu cầu HTTP để xác định đây cóphải là lưu lượng tắn công hay không TANNER dùng công cụ mô phỏng để môphỏng lại cho giống với phản hồi HTTP chứa lỗ hổng của cuộc tấn công và gửilại cho SNARE để phản hồi lại kẻ tan công
HÌNH 2.7: Hình ảnh mô tả kiến trúc web honeypot hồi đáp nhanh
của nhóm nghiên cứu Rajat Gupta cùng đồng nghiệp
26
Trang 36Chương 2 COSO LY THUYẾT
Hệ thống web sử dung Redis làm co sở đữ liệu giúp hồi đáp và truy vấn diễn ranhanh chóng Web honeypot này đáp ứng tính nhanh nhạy, linh hoạt nhưng vẫn
dựa trên các dữ liệu thu thập và có sẵn, do đó vẫn được xem là một honeypot
tương tác mức độ trung bình.
Dựa vào Hình 2.7] ta thay honeypot có một công cụ mô phỏng hỗ trợ cả tần công
XXE, CMD Execution, cùng đầy đủ các tấn công quen thuộc khác, ngoài ra,honeypot còn thay đổi động theo luồng HTTP, tất cả điều này giúp phản hồi của
honeypot trở nên tương thích với cả trang web và cả mục tiêu, lỗ hổng mà kẻ tan
công nhắm đến Các thông tin mới sẽ được honeypot cập nhật liên tục để làm mớicông cụ mô phỏng, giúp honeypot có nhiều dữ liệu và bộ phân tích sẽ ngày càng
tốt hơn trong tương lai
Khi nhìn vào kiến trúc của honeypot này, ta nhận thấy nó được cấu tạo từ nhiềumô-đun khác nhau, tuy nhiên, để các mô-đun này hoạt động trơn tru với nhau,
yêu cầu việc cài đặt diễn ra khó khăn và cần nắm chắc cấu hình hệ thống Ngoài
ra, hệ thống còn phụ thuộc vào Docker và Redis, sẽ phải luôn đảm bảo hệ thống
phần cứng đủ vững chắc cũng như doi hỏi người quản trị phải có kinh nghiệm
quản lý tài nguyên tốt
Thông qua các nghiên cứu trên, hệ thống web honeypot được đề xuất trong khóaluận sẽ giải quyết yêu cầu bài toán về tài nguyên khi xây dựng web honeypot,
ngoài ra, tác giả sẽ có ứng dụng mô hình học máy như BERT và mô hình học tăng
cường vào thành phần của honeypot để giúp honeypot có cách phản hồi thôngminh hơn dựa trên các dữ liệu đã có về ứng dụng web mục tiêu Việc thu thập cácyêu cầu HTTP theo thời gian thực cũng được đảm bảo, các dữ liệu mới sẽ được
mô hình cập nhật bằng cách được tiếp tục huấn luyện trong tương lại
27