Nghiên cứu phương pháp phát sinh mẫu mã độc đối kháng chống lại trình Phát hiện mã độc tổng hợp ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG TÔ[.]
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG
TÔ TRỌNG NGHĨA
LÊ KIM DANH
KHÓA LUẬN TỐT NGHIỆP
NGHIÊN CỨU PHƯƠNG PHÁP PHÁT SINH MẪU MÃ ĐỘC ĐỐI KHÁNG CHỐNG LẠI TRÌNH PHÁT HIỆN
MÃ ĐỘC TỔNG HỢP
A method to generate adversarial samples against the ensemble
learning-based malware detector
KỸ SƯ NGÀNH AN TOÀN THÔNG TIN
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG
TÔ TRỌNG NGHĨA – 18521150
LÊ KIM DANH - 18520560
KHÓA LUẬN TỐT NGHIỆP
NGHIÊN CỨU PHƯƠNG PHÁP PHÁT SINH MẪU MÃ ĐỘC ĐỐI KHÁNG CHỐNG LẠI TRÌNH PHÁT HIỆN
MÃ ĐỘC TỔNG HỢP
A method to generate adversarial samples against the ensemble
learning-based malware detector
KỸ SƯ AN TOÀN THÔNG TIN
GIẢNG VIÊN HƯỚNG DẪN
TS NGUYỄN TẤN CẦM
THS PHAN THẾ DUY
Trang 3THÔNG TIN HỘI ĐỒNG CHẤM KHÓA LUẬN TỐT NGHIỆP
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số ……… ngày của Hiệu trưởng Trường Đại học Công nghệ Thông tin
Trang 4Nhóm thực hiện khóa luận chân thành cảm ơn TS Nguyễn Tấn Cầm cùng với ThS Phan Thế Duy đã theo sát quá trình thực hiện đề tài, đóng góp những ý kiến hữu ích để nhóm
có thể hoàn thành đề tài khóa luận một cách hoàn chỉnh nhất
Nhóm xin gửi lời cảm ơn đến gia đình và bạn bè đã động viên, khuyến khích nhóm hoàn thành khóa luận
Nhóm cũng xin cảm ơn đến tất cả quý thầy cô trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM, đặc biệt là thầy cô ở phòng thí nghiệm an toàn thông tin InSecLab và khoa Mạng Máy tính và Truyền thông đã giúp đỡ và hỗ trợ nhóm
Xin chân thành cảm ơn!
TP.Hồ Chí Minh, ngày 16 tháng 6 năm 2022
Nhóm tác giả
Tô Trọng Nghĩa
Lê Kim Danh
Trang 5TÓM TẮT KHOÁ LUẬN 1
1.1 Tóm tắt bài toán 2
1.2 Tính ứng dụng 4
1.3 Những thách thức 4
1.4 Mục tiêu, đối tượng và phạm vi nghiên cứu 5
1.4.1 Mục tiêu 5
1.4.2 Đối tượng nghiên cứu 5
1.4.3 Phạm vi nghiên cứu 5
1.5 Cấu trúc Khóa luận tốt nghiệp 6
2 CÁC NGHIÊN CỨU LIÊN QUAN VÀ CƠ SỞ LÝ THUYẾT 7 2.1 Các công trình liên quan 7
2.2 Cấu trúc của tệp PE và tệp PE độc hại 10
2.2.1 Cấu trúc của tệp PE 10
2.2.2 Phát hiện phần mềm PE độc hại 11
2.2.2.1 Thu thập dữ liệu 13
2.2.2.2 Trích xuất đặc trưng 14
2.2.2.3 Huấn luyện mô hình và dự đoán 17
2.3 Học tổng hợp 18
2.3.1 Tổng quan 18
2.3.2 Phương pháp Stacking 22
2.4 Mạng sinh đối kháng 23
2.4.1 Giới thiệu tổng quan 23
2.4.2 Mạng Tạo sinh 24
Trang 62.5.1 Giới thiệu tổng quan 27
2.5.2 Các thành phần của học tăng cường 28
2.5.2.1 Tác nhân 28
2.5.2.2 Môi trường 28
2.5.2.3 Hành động 28
2.5.2.4 Trạng thái 28
2.5.2.5 Phần thưởng 28
2.5.2.6 Chính sách 29
2.5.3 Quá trình quyết định Markov 29
2.5.4 Học tập Q 30
2.5.5 Học sâu tăng cường mạng Q 31
3 PHƯƠNG PHÁP PHÁT SINH MẪU MÃ ĐỘC ĐỐI KHÁNG CHỐNG LẠI TRÌNH PHÁT HIỆN MÃ ĐỘC TỔNG HỢP 32 3.1 Mô hình hóa mối đe dọa 32
3.2 Tổng quan phương pháp tạo mã độc đối kháng 34
3.3 Chi tiết phương pháp tạo mã độc đối kháng 35
3.3.1 Mô hình FeaGAN 36
3.3.1.1 Trình Tạo sinh 37
3.3.1.2 Trình Phát hiện thay thế 37
3.3.1.3 Trình Phát hiện mã độc 38
3.3.1.4 Quá trình huấn luyện 38
3.3.2 Mô hình học tăng cường 39
3.3.2.1 Môi trường 40
3.3.2.2 Không gian hành động 40
3.3.2.3 Phần thưởng 41
3.3.2.4 Tác nhân 42
3.3.2.5 Quá trình huấn luyện 43
3.4 Bộ phân tích động 45
4 THÍ NGHIỆM VÀ ĐÁNH GIÁ 47 4.1 Môi trường thí nghiệm 47
Trang 74.1.3 Xây dựng hệ thống phân tích động 48
4.2 Kịch bản thực nghiệm 51
4.3 Tập dữ liệu 51
4.4 Phân chia dữ liệu 51
4.4.1 Mô hình FeaGAN 51
4.4.2 Mô hình mục tiêu 52
4.5 Tiền xử lý dữ liệu 53
4.5.1 Mô hình FeaGAN 53
4.5.2 Mô hình mục tiêu 55
4.6 Tiêu chí đánh giá 56
4.7 Triển khai và đánh giá hiệu năng thuật toán tổng hợp 56
4.7.1 trình Phát hiện mã độc trong FeaGAN 56
4.7.2 Mô hình mục tiêu 58
4.8 Kết quả thực nghiệm 64
4.8.1 Mô hình FeaGAN 64
4.8.1.1 Mạng Tạo sinh 64
4.8.1.2 Mạng Phân biệt 64
4.8.1.3 Đánh giá kết quả mô hình FeaGAN 64
4.8.2 Hiệu quả mẫu đột biến 65
4.8.2.1 Triển khai 65
4.8.2.2 Trước khi đột biến 66
4.8.2.3 Sau khi đột biến 66
5 KẾT LUẬN 72 5.1 Kết luận 72
5.2 Hướng phát triển 73
Trang 82.1 Ba thách thức trong việc duy trì ngữ nghĩa của phần mềm PE độc
hại đối kháng 8
2.2 Cấu trúc tệp PE 11
2.3 Các phương pháp phát hiện mã độc 12
2.4 Tổng quan các bước trong phát hiện mã độc dựa trên học máy và học sâu 13
2.5 Sơ đồ phân chia mô hình máy học dựa trên cách nó kết hợp các thuật toán yếu và độ phức tạp 19
2.6 Kiến trúc mạng GAN cơ bản 24
2.7 Lan truyền ngược huấn luyện mạng Tạo sinh 25
2.8 Lan truyền ngược trong huấn luyện mạng Phân biệt 26
2.9 Tổng quan học tăng cường 27
3.1 Chiến lược trong hệ thống được đề xuất 34
3.2 Tổng quan về hệ thống tạo mẫu độc hại đối kháng 35
3.3 Sơ đồ cấu trúc của mô hình FeaGAN 36
3.4 Sơ đồ cấu trúc của mô hình DQEAF 40
4.1 Giao diện Cuckoo Sandbox 50
4.2 Thông tin hàm chức năng được trích xuất từ các mẫu dữ liệu 53
4.3 Thông tin phân đoạn được trích xuất từ các mẫu dữ liệu 54
4.4 Dạng dữ liệu đưa vào mô hình 54
4.5 Dữ liệu mẫu sau khi được tiền xử lý cho mô hình mục tiêu 55
4.6 Diện tích dưới đường cong thuật toán đơn 60
4.7 Đường AUC thuật toán tổng hợp đồng nhất và Voting 61
4.8 Đường AUC thuật toán tổng hợp Stacking 62
4.9 Đường AUC thuật toán Gradient Boosting trong các paper trước 63
Trang 9mẫu độc hại 694.12 Kiểm tra thách thức 1 70
Trang 102.1 Một số loại đặc trưng phổ biến trong tệp PE 14
2.2 Danh mục một số phương pháp học tổng hợp 22
4.1 Phân chia dữ liệu trong FeaGAN 52
4.2 Phân chia dữ liệu cho Mô hình mục tiêu 52
4.3 Công thức các chỉ số 56
4.4 Bảng kết quả thuật toán đơn trong FeaGAN 57
4.5 Bảng kết quả thuật toán tổng hợp đồng nhất trong FeaGAN 57
4.6 Bảng kết quả thuật toán không đồng nhất trong FeaGAN 58
4.7 Hiệu năng thuật toán đơn và tổng hợp đồng nhất của Mô hình mục tiêu 59
4.8 Hiệu năng thuật toán tổng hợp không đồng nhất của mô hình mục tiêu 61
4.9 Recall của trình Phát hiện mã độc trên các mẫu đặc trưng đối kháng 65 4.10 Khả năng nhận diện 2000 mẫu mã độc gốc 66
4.11 Kết quả khả năng lẩn tránh của mẫu đột biến đối với các mô hình mục tiêu và VirusTotal 67
4.12 Kết quả khả năng nhận diện mẫu đột biến khi thực hiện chuyển giao 68 4.13 Khả năng đảm bảo các thách thức của 100 mẫu đột biến mỗi thuật toán 71
Trang 11GANs G enerative Adversarial Networks
RL R einforcement Learning
DQEAF D eep Q-network anti-malware Engines Attacking Framework
API A pplication Programming Interface
ECOC E rror Correcting Output Codes
Trang 12Học máy Machine learning
Học sâu Deep learning
Không gian vấn đề Problem space
Không gian đặc trưng Feature space
Không gian đặc trưng Feature space
Hàm nhập Import
Phân đoạn Section
Trọng tải Payload
Dựa trên đặc trưng Signature-based
Dựa trên kinh nghiệm Heuristic-based
Chuỗi byte Byte sequence
Chuỗi đọc được Readable strings
Thông tin tiêu đề Header information
Thiên kiến quy nạp Inductive bias
Siêu học Meta learning
Bộ khung Framework
Mạng thần kinh truyền thẳng Feed-forward neural network
Ma trận nhầm lẫn Confusion Matrix
Trang 13Trong những năm qua, các nghiên cứu trong việc áp dụng máy học vào lĩnh vực
an toàn thông tin, đặc biệt là trong mảng phát hiện và phòng chống mã độc đượcchú trọng và quan tâm sâu sắc Rất nhiều ý tưởng và công trình nghiên cứu đãđược đề xuất và có những đóng góp to lớn cho việc nghiên cứu và ứng dụngtrong thực tế, trong đó các công trình sử dụng mô hình GANs hay sử dụng họctăng cường (Reinforcement Learning) được rất nhiều nhà nghiên cứu lựa chọn.Trong đề tài này, chúng tôi đề xuất hệ thống sử dụng kết hợp mô hình FeaGAN
và mô hình học tăng cường Mục đích của hệ thống mà chúng tôi đề xuất là tạo ramột giải pháp khắc phục hạn chế của mô hình MalGAN của Hu và Tan, mô hìnhchúng tôi dựa vào để phát triển mô hình FeaGAN, bằng việc sử dụng mô hìnhhọc tăng cường, cụ thể DQEAF do Fang và các cộng sự đề xuất Mô hình học tăngcường này là một mô hình được đánh giá cao trong việc đảm bảo cả ba thách thứctrong việc duy trì ngữ nghĩa của phần mềm PE độc hại đột biến đối với các cuộctấn công đối kháng trong thực tế chống lại sự phát hiện các phần mềm PE độc hại(bảo đảm định dạng, bảo đảm khả năng thực thi và bảo đảm tính độc hại) Trong
mô hình FeaGAN, chúng tôi sử dụng phương pháp học tổng hợp cho trình Pháthiện mã độc nhằm mục đích cải thiện khả năng lẩn tránh của các mẫu đối khángđược tạo ra Các phương pháp tổng hợp được coi là giải pháp hiện đại nhất chonhiều thách thức về học máy
Trang 14TỔNG QUAN
Tóm tắt
Trong chương này, nhóm chúng tôi xin trình bày tóm tắt về phương pháp nghiêncứu tạo mã độc đối kháng chống lại trình Phát hiện mã độc tổng hợp sử dụngkết hợp mô hình GANs và RL kèm theo các ứng dụng trong thực tế và các tháchthức mà bài toán đang gặp phải Đồng thời đưa ra mục tiêu, đối tượng và phạm
vi nghiên cứu cũng như cấu trúc của khóa luận tốt nghiệp
Với sự tiến bộ và phát triển nhanh chóng của công nghệ thông tin, hệ thống máytính đang đóng vai trò không thể thiếu và phổ biến trong cuộc sống hàng ngàycủa chúng ta Bên cạnh đó, các cuộc tấn công mạng luôn là mối đe dọa đối với anninh mạng đi kèm theo sự phát triển Phần mềm độc hại (Malware, viết tắt củaMalicious Software) là một trong những cuộc tấn công mạng mạnh mẽ nhất để kẻtấn công thực hiện các hoạt động độc hại trong hệ thống máy tính, chẳng hạn nhưđánh cắp thông tin bí mật mà không có sự cho phép, ảnh hưởng đến hệ thốngthông tin và yêu cầu một khoản tiền chuộc lớn Trong khi phần mềm độc hại trảirộng trên nhiều hệ điều hành (ví dụ: Windows, Linux, macOS, Android, ) với cácđịnh dạng tệp khác nhau (Portable Executable, Executable and Linkable Format,Mach-O, Android Application Package, ), nhóm của chúng tôi tập trung vàophần mềm độc hại với định dạng tệp Portable Executable (PE) trong hệ điều hành
Trang 15Windows, cụ thể là phần mềm Windows PE độc hại Vào năm 2018, Symantec báocáo rằng có 246.002.762 biến thể phần mềm độc hại mới xuất hiện [1] Theo thống
kê của Kaspersky Lab vào cuối năm 2020, trung bình có 360.000 phần mềm độchại được Kaspersky phát hiện mỗi ngày và hơn 90% trong số đó là phần mềm độchại Windows PE [2] Đây cũng là một trong những lí do chúng tôi đánh giá caotính hiện thực và chọn chúng Để giảm bớt tình trạng nghiêm trọng này, nhiều nhànghiên cứu đã ứng dụng máy học và học sâu trong việc phát hiện mã độc Chúngcung cấp cho các nhà nghiên cứu nhiều cách thông minh trong việc trích xuất đặctrưng và phân loại [3] Điều này cũng thúc đẩy phần nào đó trong việc phát triểncác trình nhận diện mã độc (đối với bên phòng thủ) cũng như các phương pháp
để lẩn tránh chúng (đối với bên tấn công) Tuy nhiên, các mô hình máy học và họcsâu lại rất dễ bị tấn công bởi các cuộc tấn công đối kháng [2], được tạo ra bằngcách xáo trộn một chút các đầu vào hợp pháp, dẫn đến các phán đoán sai lầm đốivới các mô hình được nhắm đến Để sinh ra các mẫu mã độc đối kháng như vậy,các mô hình mạng sinh đối kháng (Generative Adversarial Networks - GANs)chính là phương pháp được lựa chọn tiềm năng Goodfellow và cộng sự đã giớithiệu GANs, một khuôn khổ để huấn luyện các mô hình tạo sinh đối kháng [4]với ý tưởng sử dụng hai mạng thần kinh nhân tạo, mạng Tạo sinh (Generator) vàmạng Phân biệt (Discriminator) cho chúng đối chọi nhau trong trò chơi minimax
để hội tụ thành một giải pháp tối ưu [5] Không chỉ thể hiện ra được tiềm năngtrong việc tạo ra hình ảnh, âm thanh, văn bản, GANs còn được chú trọng tronglĩnh vực an toàn thông tin, cụ thể là malware, trong việc cải thiện khả năng pháthiện mã độc của các trình Phát hiện hay đơn thuần là việc ra các mẫu mã độc đốikháng Tuy nhiên, hiện nay, những nghiên cứu về GANs trong chế tạo mã độc đốikháng vẫn còn nhiều hạn chế
Song song với đó, những phương pháp tổng quát và mạnh mẽ hơn cũng khôngngừng phát triển và ra đời để giải quyết những cuộc tấn công này Phương pháphọc tổng hợp là một trong số những lựa chọn đó Đây là một kĩ thuật kết hợpmột số thuật toán học để tăng cường độ chính xác của dự đoán tổng thể [6] Việcnày cũng tạo ra hứng thú đối với các nhà nghiên cứu mã độc trong việc tạo ranhững hướng tiếp cận mới để cải thiện hiệu quả của các mẫu mã độc đối kháng
Có hai hướng tiếp cận chúng ta có thể nghĩ đến để cải thiện hiệu quả của các mẫuđối kháng [1] Hướng tiếp cận thứ nhất, sử dụng nhiều phương thức tấn công
Trang 16Tramèr và cộng sự đã đề xuất tấn công một bộ phân loại sử dụng nhiều loại thaotác [7] Nó đưa tới kết quả hiệu quả trong việc lẩn tránh bộ phân loại Đối vớihướng tiếp cận thứ hai, chúng ta sử dụng nhiều bộ phân loại, để các mẫu đốikháng tương tác càng nhiều càng tốt với chúng, làm tăng tính lẩn tránh của cácmẫu đối với chúng Liu và cộng sự đã đề nghị cải thiện tính chuyển giao của cácmẫu đối kháng bằng cách tấn công một nhóm các mô hình học sâu được kết hợpvới nhau, thay vì chỉ tấn công một mô hình đơn [8] Sau khi tham khảo các bàibáo và nghiên cứu liên quan, nhóm của chúng tôi đã quyết định xây dựng một
hệ thống tăng cường tỉ lệ lẩn tránh của các tệp Windows PE độc hại sử dụng môhình học máy GANs để tạo các mẫu đối kháng với tên gọi là FeaGAN, mô hìnhđược phát triển dựa trên mô hình MalGAN được đề xuất bởi Hu và Tan [9] Trong
đó, trình Phát hiện mã độc sử dụng phương pháp học tổng hợp để đào tạo Ngoài
ra, trong hệ thống, chúng tôi còn sử dụng học tăng cường để ghép những vec-tơđột biến được tạo ra từ FeaGAN vào phần mềm PE độc hại ban đầu, hành độngnày giúp tăng khả năng lẩn tránh của chúng cũng như đảm bảo hơn khả năngthực thi và duy trì tính độc hại của phần mềm độc hại
Thời gian huấn luyện và tạo mẫu đối kháng khá tốn thời gian, luôn xuất hiệnnhững vấn đề không như mong đợi
Vì khi sử dụng học tăng cường, số lượng hành động nhiều nên trong khi đào tạo,
có rất nhiều vấn đề xảy ra gây khó khăn cho công việc nghiên cứu
Trang 171.4 Mục tiêu, đối tượng và phạm vi nghiên cứu
1.4.1 Mục tiêu
Nghiên cứu hiệu quả của việc sử dụng các thuật toán học tổng hợp trong GANs
để tạo ra các mẫu đối kháng chống lại các trình Phát hiện tổng hợp
Ngoài ra, khắc phục nhược điểm của FeaGAN, MalGAN khi chỉ tạo ra các đặctrưng mà không phải một tệp hoàn chỉnh bằng cách sử dụng mô hình học tăngcường, tăng xác xuất tạo ra các tệp mã độc bảo đảm ba thách thức trong việc duytrì ngữ nghĩa của phần mềm PE độc hại đối kháng
1.4.2 Đối tượng nghiên cứu
Trong đề tài này, chúng tôi có 4 đối tượng nghiên cứu chính:
Trang 181.5 Cấu trúc Khóa luận tốt nghiệp
Qua những gì đã giới thiệu về tổng quan của đề tài thực hiện trong khoá luận tốtnghiệp, tôi xin đưa ra nội dung của Khoá luận tốt nghiệp sẽ được tổ chức nhưsau:
• Chương 1: Giới thiệu tổng quan về khóa luận
• Chương 2: Trình bày cơ sở lý thuyết, kiến thức nền tảng và các nghiên cứuliên quan tới đề tài
• Chương 3: Mô hình hóa mối đe dọa và trình bày tổng quan, chi tiết về hệthống đề xuất
• Chương 4: Trình bày môi trường thực nghiệm, tập dữ liệu, phương phápđánh giá và kết quả thực nghiệm
• Chương 5: Kết luận và hướng phát triển của khóa luận
Trang 19CÁC NGHIÊN CỨU LIÊN QUAN VÀ
CƠ SỞ LÝ THUYẾT
Tóm tắt chương
Trong chương này, nhóm chúng tôi sẽ trình bày các công trình liên quan và một
số kiến thức nền tảng, cơ sở có liên quan đến đề tài nghiên cứu
Có ba thách thức trong việc duy trì ngữ nghĩa của phần mềm PE độc hại đốikháng đối với các cuộc tấn công đối kháng trong thực tế chống lại sự phát hiệncác phần mềm PE độc hại mà những kẻ tấn công phải lưu ý: bảo toàn định dạng,bảo toàn khả năng thực thi và bảo toàn độc hại [2]
Trang 20HÌNH2.1: Ba thách thức trong việc duy trì ngữ nghĩa của phần mềm
PE độc hại đối kháng
Không giống như hình ảnh, âm thanh hoặc thậm chí văn bản, phần mềm PE độchại phải tuân theo các quy tắc định dạng nghiêm ngặt của tệp PE Do đó, đối vớicác tệp PE, các phép biến đổi trong không gian vấn đề của chúng nên được xácđịnh theo định dạng yêu cầu Tuy nhiên, ngay cả khi chúng ta đảm bảo định dạngcủa tệp , chúng ta cũng không thể đảm bảo rằng chúng ta có thể giữ khả năngthực thi cho tệp PE và tính độc hại ban đầu đối với phần mềm PE độc hại Hu
và Tan [9] đã giới thiệu mô hình MalGAN để tạo các mẫu phần mềm độc hại PE
có khả năng vượt qua trình Phát hiện dựa trên danh sách gọi API MalGAN giảđịnh rằng kẻ tấn công biết không gian tính năng hoàn chỉnh của trình Phát hiệnphần mềm độc hại mục tiêu MalGAN cố gắng xây dựng một trình Phát hiện thaythế sao cho giống với trình Phát hiện phần mềm độc hại hộp đen mục tiêu nhất
có thể và sau đó đào tạo một trình Tạo sinh để giảm thiểu xác suất độc hại củaphần mềm độc hại đối nghịch được tạo ra được dự đoán từ trình Phát hiện thaythế bằng cách thêm một số lệnh gọi API không liên quan vào mẫu phần mềmđộc hại ban đầu Trong một nghiên cứu khác, Kawai và cộng sự [10] đã tìm thấymột số vấn đề từ quan điểm thực tế và đề xuất một mô hình cải tiến từ MalGAN
có tên là Improved-MalGAN Ví dụ, Improved-MalGAN sử dụng các danh sáchgọi API khác nhau trong quá trình đào tạo MalGAN và trình Phát hiện mã độc,trong khi MalGAN ban đầu đào tạo với cùng một danh sách gọi API Họ cũngcho rằng việc tạo ra các mẫu đối kháng chỉ nên được thực hiện trên một phầnmềm độc hại, điều này sẽ hiệu quả hơn việc đào tạo về nhiều phần mềm độc hại
Trang 21Vào năm 2020, Yuan và cộng sự giới thiệu GAPGAN [11], một bộ khung mới tấncông đối kháng hộp đen dựa trên GAN được thực hiện ở cấp độ byte để chốnglại phát hiện phần mềm độc hại dựa trên học sâu, cụ thể là MalConv GAPGANđầu tiên đào tạo đồng thời trình Tạo sinh và trình Phân biệt, trong đó trình Tạosinh dự định tạo các trọng tải đối kháng được thêm vào cuối các mẫu phần mềmđộc hại ban đầu và trình Phân biệt cố gắng bắt chước trình Phát hiện phần mềmđộc hại PE hộp đen để nhận ra cả phần mềm PE tốt ban đầu và phần mềm PE độchại đối kháng đã tạo Sau đó, GAPGAN sử dụng trình Tạo sinh được đào tạo đểtạo ra các trọng tải đối kháng cho mỗi phần mềm PE độc hại đầu vào và sau đónối phần trọng tải đối kháng vào phần mềm PE độc hại đầu vào tương ứng, điềunày sẽ tạo ra phần mềm PE độc hại đối kháng trong khi vẫn bảo toàn các chứcnăng ban đầu của nó Các thử nghiệm cho thấy GAPGAN có thể đạt được tỷ lệtấn công thành công 100% chống lại MalConv chỉ với các trọng tải phụ thêm là2,5% tổng độ dài của các mẫu phần mềm độc hại đầu vào.
Những cách tiếp cận tấn công dựa trên GAN này hầu hết đã đạt được một sốthành công trong việc bảo toàn định dạng cũng như bảo toàn khả năng thực thi,nhưng những cách tiếp cận này không đảm bảo bảo toàn được tính độc hại Mộtphần mềm PE độc hại cho dù có thực thi được và có khả năng lẩn tránh sự pháthiện của các trình Phát hiện mã độc nhưng lại không thực thi được tính độc hạiban đầu của nó thì cũng không có ý nghĩa gì Trong bài báo này, chúng tôi đềxuất một hệ thống kết hợp FeaGAN và DQEAF Trong đó, FeaGAN được chúngtôi phát triển dựa trên mô hình MalGAN, còn DQEAF là một bộ khung sử dụnghọc tăng cường để lẩn tránh các công cụ chống phần mềm độc hại Bộ khungDQEAF là một trong những phương pháp được đánh giá cao trong việc đảm bảo
cả ba thách thức trong việc duy trì ngữ nghĩa của phần mềm PE độc hại đột biếnđối với các cuộc tấn công đối kháng trong thực tế chống lại sự phát hiện các phầnmềm PE độc hại [2, 12] Phương pháp được đã được nhóm tác giả chứng minhtính hiệu quả Ngoài ra, chúng tôi cũng cải thiện khả năng lẩn tránh bằng cách
sử dụng phương pháp tổng hợp cho trình Phát hiện mã độc, để các mẫu phầnmềm độc hại đối kháng tương tác nhiều nhất có thể, với hy vọng tăng khả nănglẩn tránh của các mẫu đối với trình Phát hiện mã độc sử dụng phương pháp tổnghợp Để chắc chắn, chúng tôi cũng cài đặt thêm hộp cát Cuckoo để kiểm tra khảnăng thực thi và tính độc hại của chúng
Trang 222.2 Cấu trúc của tệp PE và tệp PE độc hại
mô tả bổ sung cho tệp PE chi tiết hơn Phần cuối cùng thường là Section table,chứa thông tin về tất cả các phần trong tệp PE, bao gồm tên, kích thước, hiệu số vàcác thông tin khác Mỗi tệp PE cần ít nhất một phần để có thể thực thi [13].Trong phần phân đoạn, nó chứa danh sách các phần phân đoạn có trong tệp PE,mỗi phần sẽ chứa mã thực thi và thông tin cần thiết cho chương trình [13] Sốphần phân đoạn thường không cố định Các phần phổ biến được tìm thấy trongtệp PE:
– text: mã thực thi của chương trình
– data: dữ liệu khởi tạo của ứng dụng, chẳng hạn như chuỗi, số
– rdata và edata: các bảng đã nhập và xuất (Lệnh gọi API Windows)
Trang 23HÌNH2.2: Cấu trúc tệp PE
2.2.2 Phát hiện phần mềm PE độc hại
Trong phân tích phần mềm độc hại, việc phát hiện sớm trước khi phần mềm độchại được thực thi sẽ ngăn chặn sự phá hủy và lây nhiễm của chúng, hai phươngpháp chính được sử dụng trong phân tích phần mềm độc hại là dựa trên chữ ký
và dựa trên kinh nghiệm [14] Hình 2.3 biểu thị hai phương pháp phân tích chínhcủa mã độc:
– Phương pháp dựa trên chữ ký: phương pháp truyền thống được hầu hết cáctrình Phát hiện phần mềm độc hại hiện nay sử dụng Phương pháp này sửdụng các đặc điểm tệp duy nhất (chuỗi byte hoặc giá trị băm) để so sánh với
cơ sở dữ liệu lớn có sẵn về phần mềm độc hại đã biết [15] Do đó, phươngpháp này có tỷ lệ dương tính giả (FPR) nhỏ Tuy nhiên, phương pháp này
có một hạn chế nghiêm trọng, kẻ tấn công có thể dễ dàng sửa đổi chữ ký,đặc trưng của phần mềm độc hại để qua mặt phần mềm chống vi-rút (thay
Trang 24HÌNH2.3: Các phương pháp phát hiện mã độc
đổi thông tin không quan trọng hoặc sử dụng kỹ thuật làm nhiễu loạn [16]).Phương pháp dựa trên chữ ký được chứng minh là nhanh và hiệu quả trongviệc phát hiện phần mềm độc hại đã biết nhưng không có khả năng pháthiện phần mềm độc hại không nhìn thấy [17] Hình <number> cho thấyluồng hoạt động dựa trên đặc chữ ký
– Phương pháp dựa trên kinh nghiệm: phân tích các mẫu đáng ngờ dựa trêncác hành vi hoặc hoạt động của chúng Các hành động và truy cập bấtthường vào thông tin cấu hình của môi trường giả lập sẽ là độc hại hoặcđáng ngờ Chúng có thể cài đặt các chương trình lạ, bật tự động khởi động,tắt tính năng bảo vệ và cố gắng phát hiện hộp cát hoặc trình gỡ lỗi, đây
là những hành vi phổ biến đối với phần mềm độc hại [18] Tất cả các hoạtđộng của nó sẽ được ghi lại , sau đó phân tích và kết luận Phương phápdựa trên kinh nghiệm có thể phát hiện cả phần mềm độc hại không biết vàphần mềm độc hại bị làm xáo trộn [16] Tuy nhiên, có một số hạn chế khi
sử dụng phương pháp này Nếu phần mềm độc hại biết nó đang chạy tronghộp cát hoặc môi trường ảo, nó sẽ ẩn hoạt động thực tế và thay thế nó bằngmột hành động vô hại [18] Ngoài ra, phần mềm độc hại có thể cần thời gian
để kích hoạt tất cả các hoạt động độc hại của nó trong môi trường ảo dothời gian phân tích và tài nguyên có hạn Do đó, hệ thống phát hiện dựa
Trang 25trên kinh nghiệm sẽ có tỷ lệ dương tính giả (FPR) [19] đáng kể, dẫn đến kếtquả sai.
Trong các tài liệu nghiên cứu gần đây, lấy cảm hứng từ sự thành công của các môhình học máy, học sâu trong các lĩnh vực thị giác máy tính, xử lý ngôn ngữ tựnhiên Các phương pháp phát hiện phần mềm độc hại tận dụng học máy, học sâu
đã được đề xuất trong phát hiện phần mềm PE độc hại Do có khả năng tự họctốt nên những phương pháp dựa trên học máy, học sâu sẽ có khả năng tổng quáthóa tốt cho các dữ liệu không nhìn thấy được Hình 2.4 minh họa các bước cầnthiết để tạo dựa trên học máy, học sâu, bao gồm ba bước chính bao gồm thu thập
dữ liệu, trích xuất đặc trưng, huấn luyện mô hình và dự đoán
HÌNH2.4: Tổng quan các bước trong phát hiện mã độc dựa trên học
máy và học sâu
2.2.2.1 Thu thập dữ liệu
Như đã biết trước, chất lượng của dữ liệu sẽ xác định kết quả của mô hình họcmáy, học sâu [20] Nhưng đối với các dữ liệu về phần mềm PE độc hại, không cótiêu chuẩn cụ thể cho dữ liệu như đối với thị giác máy tính hay xử lí ngôn ngữ
tự nhiên, hầu hết các công ty an ninh mạng coi các mẫu PE là tài sản riêng của
họ và hiếm khi công khai chúng ra công chúng [2] Một số nhà nghiên cứu cũngcông khai nguồn tệp PE của họ [21, 22, 23], nhưng không có tiêu chuẩn cụ thể chochúng Việc ghi nhãn cho các mẫu được thu thập chủ yếu dựa trên VirusTotal sử
Trang 26dụng nhiều loại chống vi rút khác nhau để phân loại phần mềm độc hại và lànhtính Nhưng đối với cùng một mẫu, kết quả trả về từ các AV khác nhau khôngnhất quán, vì vậy một số phương pháp đã được đề xuất [24, 25, 26, 27] để thốngnhất việc gắn nhãn dựa trên việc bỏ phiếu hoặc sử dụng các phần mềm chốngvi-rút đáng tin cậy nhất Thông thường, nhãn cho các tệp lành tính là 0 và phầnmềm độc hại là 1.
2.2.2.2 Trích xuất đặc trưng
Khi các mẫu PE có nhãn thích hợp, cần thực hiện việc trích xuất các đặc trưng
có trong tệp, sau đó chuyển chúng thành số vì các mô hình học máy, học sâu chỉchấp nhận đầu vào là số Các đặc trưng này giúp mô hình học cách nhận ra phầnmềm độc hại và phần mềm lành tính Mẫu PE chứa nhiều thuộc tính đặc trưng,
có thể được chia thành ba loại chính: tĩnh, động và kết hợp [28, 29, 30] được tómtắt trong Hình 2.1
Tĩnh Động
Thông tin về tài nguyên hệ thống x
Trang 27Các đặc trưng tĩnh được lấy trực tiếp từ các mẫu PE mà không cần chạychúng, sử dụng các thư viện hỗ trợ xử lý như lief [31] Ví dụ: chuỗi byte,chuỗi có thể đọc được và thông tin tiêu đề.
+ Chuỗi byte (Byte Sequence): một mẫu PE là một tệp nhị phân - mộtchuỗi các byte Vì vậy, đây là một cách đơn giản để biểu diễn một tệp
PE Nó có thể được đưa trực tiếp vào mô hình học sâu [32, 33, 34] hoặcchuyển đổi sang định dạng trung gian như n-gram hoặc entropy củachuỗi byte [35, 36, 37, 38, 39]
+ Chuỗi đọc được (Readable String): thông tin có lợi về việc liệu có mối
đe dọa độc hại nào có thể tiết lộ ý định và mục tiêu của kẻ tấn công nhưtên tệp, địa chỉ IP, miền, thông tin chữ ký, [2] hay không Các chuỗinày có thể là một tập hợp các thuộc tính nhị phân (tồn tại hoặc không),tần suất hoặc các tính năng biểu đồ 2D [40, 37, 38, 41]
+ Thông tin tiêu đề (Header Information): đây là mô tả tổng quan về mẫu
PE, chứa các thông tin như kích thước tệp, số phân đoạn, kích thướccủa phân đoạn, số lượng các hàm được nhập và xuất [2], thường được
sử dụng trong phần mềm phát hiện PE độc hại [42, 37, 43]
– Đặc trưng động:
Các đặc trưng được trích xuất trong quá trình chạy mẫu trong môi trường
cô lập hộp cát, máy ảo và tất cả các hành vi của mẫu làm ảnh hưởng đếnmôi trường sẽ được lưu lại
+ Thông tin về tài nguyên hệ thống (System Resource Information): Phầnmềm thực thi độc hại, đặc biệt là ransomware sẽ tiêu tốn một số lượnglớn tài nguyên hệ thống, một số phần mềm độc hại trong một họ cụ thể
có thể đi theo tài nguyên hệ thống cố định trong quá trình thực thi Cụthể, việc sử dụng CPU, sử dụng bộ nhớ và các yêu cầu I/O thường sẽ
là các đặc trưng động [44, 45, 46]
+ Thông tin tệp (File Information): phần mềm độc hại - đặc biệt là somware - cần phải tương tác với các tệp trên hệ thống để đạt đượcmục tiêu của kẻ tấn công Do đó, việc ghi và đếm số lượng tệp được
Trang 28ran-truy cập, tạo, sửa đổi hoặc xóa thường xuyên được sử dụng làm cáctính năng động [47, 45, 46, 48].
+ Thông tin thanh ghi (Registry Information): Các thanh ghi lưu trữthông tin cấu hình của hệ thống, ứng dụng trong hệ điều hành Win-dows Phần mềm độc hại có thể hoạt động dựa trên đó để khởi động,
vô hiệu hóa các cấu hình như tắt tường lửa, phần mềm độc hại tự khởiđộng và vô hiệu hóa trình bảo vệ Giống như trạng thái của tệp, sốlượng thanh ghi được tạo, sửa đổi hoặc xóa cũng là một tính năngđộng [47, 45, 46]
+ Thông tin mạng (Network Information): phần mềm độc hại như trojan
và ransomware sử dụng mạng để phát tán Đặc biệt là trojan, chúng sẽđược điều khiển từ xa nên chắc chắn sẽ có nhiều thông tin liên quanđến mạng như các số IP duy nhất, cổng, số lượng yêu cầu HTTP (GET,POST, ) [44, 47, 45, 46, 48]
– Đặc trưng hỗn hợp:
Cuối cùng, đặc trưng hỗn hợp được trích xuất từ tệp thực thi bằng cách tiếpcận tĩnh hoặc động Các đặc trưng phổ biến là opcode, System Calls/ API,Control Flow Graph (CFG) và Function Call Graph Ví dụ: mã opcodes vàlệnh gọi hệ thống, API có thể được trích xuất bằng trình tháo gỡ hoặc lấy từ
bộ nhớ trong quá trình thực thi
+ Opcode: bất kỳ tệp thực thi nào cũng là một tập hợp các lệnh được thựchiện theo một thứ tự nhất định Trong hợp ngữ, một lệnh bao gồm mộtopcode và một vài đối số theo sau Trong đó opcode đại diện cho câulệnh mà chúng ta muốn thực thi và tham số đề cập đến dữ liệu hoặc
vị trí bộ nhớ tương ứng Phần mềm độc hại thường sử dụng kỹ thuậtlàm xáo trộn, lệnh NOP, để làm xáo trộn mã [49] Đặc trưng này có thểđược biểu thị dưới dạng tần suất, chuỗi hoặc hình ảnh mã hóa [50, 51,
52, 53]
+ Lệnh gọi hệ thống, API (System Calls/API): một tệp thực thi trên hệđiều hành Windows phải tương tác với thư viện hệ thống hoặc thư
Trang 29viện ứng dụng Biểu diễn của đặc trưng này giống với opcode, tần suấtxuất hiện và n-grams của chuỗi AP,lệnh gọi hệ thống [54, 46, 38, 41, 55].+ Đồ thị luồng điều khiển (Control Flow Graph): đây là biểu đồ hiển thịluồng điều khiển của tệp thực thi [56, 57] Mỗi khối trong CFG đại diệncho một chuỗi lệnh và mỗi cạnh biểu thị luồng thực thi giữa hai khối[58].
+ Biểu đồ gọi hàm (Function Call Graph)[59]: hiển thị mối quan hệ giữacác hàm khác nhau và callee (hàm được gọi), caller (người gọi) (baogồm lệnh gọi hệ thống, API tích hợp sẵn hoặc các hàm do người dùngxác định)
2.2.2.3 Huấn luyện mô hình và dự đoán
Sau khi trích xuất và chuyển đổi các giá trị đặc trưng thành số từ các mẫu, cầnphải chọn một mô hình học máy, học sâu phù hợp để phân loại phần mềm độchại và lành tính Nhiều mô hình học máy, học sâu đã được đề xuất như De-cisionTree, RandomForest, MultiLayer Perceptron, Naive Bayes, Support VectorMachine, CNN, GNN, RNN hoặc LSTM, đã đạt được thành công lớn trong lĩnhvực thị giác máy tính, NLP, và thậm chí cả phát hiện lỗ hổng trong mã [60, 61].Cho dù các đặc trưng của tệp PE có đa dạng đến đâu, hầu hết các mô hình họcmáy, học sâu được đề cập ở trên đều đã được nghiên cứu để sử dụng trong việcphát hiện phần mềm độc hại PE, miễn là đầu vào phù hợp với yêu cầu của môhình Các mô hình sẽ học cách nhận ra phần mềm độc hại dựa trên một số lượnglớn các mẫu đào tạo, mô hình sẽ tìm kiếm các mối quan hệ giữa các đặc trưng vànhãn nhị phân của chúng Để dự đoán xem một mẫu là phần mềm độc hại haylành tính, mô hình được đào tạo sẽ nhanh chóng tính toán xác suất của mẫu đóđược gắn nhãn phần mềm độc hại hoặc lành tính Để tìm ra mô hình phù hợpnhất cho việc phát hiện phần mềm PE độc hại, chúng ta phải thử nghiệm trênnhiều mô hình học máy, học sâu
Trang 302.3 Học tổng hợp
Người xưa nói rằng: "Hai cái đầu tốt hơn một" Khi các mô hình quá yếu hoặcnhận được kết quả hơi khác trên một tập dữ liệu (một số mô hình tốt, một số môhình khác không rõ ràng), việc đặt chúng lại với nhau có thể giúp kết quả tốt hơnđáng kể so với bất kỳ mô hình nào (nếu kết hợp và đặt chúng cùng nhau tốt) Một trong những ý tưởng đơn giản mà chúng ta có thể nghĩ đến là chúng ta cóthể kết hợp các kết quả bằng cách sử dụng biểu quyết đa số Đây có thể coi là mộthình thức tổng hợp đơn giản
2.3.1 Tổng quan
Học tổng hợp là một kỹ thuật học máy kết hợp một số mô hình cơ sở để tạo ramột mô hình dự đoán tối ưu Hầu hết trong các trường hợp, cấu trúc học tổnghợp sử dụng một thuật toán học cơ sở duy nhất với cùng một kiểu, điều này đượcgọi là tổng hợp đồng nhất Mặt khác, việc sử dụng các thuật toán học tập khácnhau được gọi là tổng hợp không đồng nhất [62] Có nhiều ý kiến về sự thất bạicủa thuật toán học đơn lẻ dẫn đến sự phát triển của các phương pháp tổng hợp
Có ba lý do cho điều đó: thống kê (statistical), tính toán (computational) và đạidiện (representational) [63] Thuật toán học tập cố gắng để có được giả thuyết tốtnhất trong không gian Do dữ liệu huấn luyện nhỏ so với kích thước của khônggian giả thuyết nên vấn đề thống kê nảy sinh Điều này dẫn đến một thuật toánhọc tập nhận được các giả thuyết khác nhau trong không gian nhưng mang lại
độ chính xác như nhau Phương pháp tổng hợp giúp giải quyết tình huống nàybằng cách lấy trung bình các phiếu bầu của họ và sau đó giảm việc chọn bộ phânloại không chính xác, do đó có được độ chính xác tốt trên dữ liệu đào tạo Bêncạnh đó, đôi khi, các thuật toán học tập bị mắc kẹt trong trạng thái tối ưu cục bộ(local optima) ngay cả khi chúng ta có đủ dữ liệu đào tạo Sử dụng phương pháptổng hợp và sau đó chạy, tìm kiếm cục bộ từ các điểm gốc khác nhau có thể dẫnđến sự tương đồng tốt hơn với hàm chưa biết chính xác so với các phương pháp
cơ sở đơn lẻ Trong các trường hợp lớn của học máy, thật khó để tìm ra một hàmthực sự cho không gian giả thuyết Bằng cách áp dụng số lượng khác nhau củagiả thuyết có trọng số, không gian của các hàm có thể biểu diễn có thể được mở
Trang 31rộng Một lý do nữa cần đề cập đến, các phương thức tổng hợp cũng rất tốt khi
có rất ít dữ liệu cũng như khi có quá nhiều [64]
Có nhiều cách để phân chia các phương pháp tổng hợp Chúng ta có thể căn cứvào nhiều yếu tố để phân loại Từ quan điểm của kẻ tấn công và người phòng thủ,Dequiang và Qianmu đề xuất chia thành hai loại: tấn công tổng hợp và phòng thủtheo nhóm [1] Chúng tôi dựa vào quan điểm của họ để cải thiện hiệu quả của cácmẫu đối kháng Chúng tôi để nó tương tác nhiều nhất có thể với nhiều bộ phânloại để tăng khả năng tránh các mẫu đối kháng với chúng Đối với Marsland, anh
ấy tổng hợp nó thành ba loại: boosting (AdaBoost và stumping), bagging (baogồm cả subbagging) và hỗn hợp phương pháp của các chuyên gia (the mixture ofexpects method) [64] Với những người khác, họ nghĩ rằng các phương thức tổnghợp thường được phân loại thành bốn loại sau đây tùy thuộc vào cách chúngđược xây dựng: theo dữ liệu (data level), theo đặc trưng (feature level), theo bộphân loại (classifier level) và theo độ kết hợp (combination level) [65]
Theo chúng tôi, chúng tôi có hai cách phân chia Cách đầu tiên, chúng tôi dựatrên cách nó kết hợp các thuật toán yếu và độ phức tạp, chúng tôi chia nó thànhhai loại chính: mô hình đơn và mô hình tổng hợp Trong đó mô hình tổng hợpđược chia thành hai loại là tổng hợp cơ bản và tổng hợp nâng cao Chúng tôi đã
vẽ một sơ đồ chi tiết về điều này trong 2.5 Trong 2.5, chúng tôi cũng đã thêm mộtcột về mô hình đơn song song với mô hình tổng hợp để bao quát hơn các mô hìnhhọc máy
HÌNH 2.5: Sơ đồ phân chia mô hình máy học dựa trên cách nó kết
hợp các thuật toán yếu và độ phức tạp
Trang 32Khi xây dựng mô hình học tổng hợp, có rất nhiều yếu tố mà chúng ta cần quantâm và lựa chọn để tạo ra một mô hình hợp lý với hiệu suất tốt Từ cách suy nghĩnày, có ba cách tiếp cận mà chúng ta có thể tham khảo [66]:
– Huấn luyện mô hình:
Một mô hình tổng hợp phải xem xét hai nguyên tắc: tính đa dạng và hiệusuất dự đoán Mặc dù sự đa dạng mong đợi các bộ cảm ứng tham gia phải
đủ đa dạng để đạt được hiệu suất dự đoán mong muốn thông qua việc
sử dụng các thiên kiến quy nạp (inductive biases) khác nhau, hiệu suất dựđoán của mỗi bộ cảm ứng phải càng cao càng tốt và ít nhất phải tốt như một
mô hình ngẫu nhiên
Mô hình cần có một số thiên kiến quy nạp vì mô hình có thể hữu ích hơnvới nhiều dữ liệu hơn với nó Mục tiêu của mô hình là phù hợp với nhiều dữliệu nhất, không chỉ trong dữ liệu mẫu Vì vậy, thiên kiến quy nạp rất quantrọng Hơn nữa, các mô hình tổng hợp với các bộ cảm ứng đa dạng khôngphải lúc nào cũng cải thiện hiệu suất dự đoán [67]
+ Thao tác đầu vào: Trong trường hợp này, mỗi mô hình cơ sở được huấnluyện với một tập huấn luyện con khác nhau để các đầu vào khác nhauđược sử dụng cho các mô hình cơ sở khác nhau Nó có hiệu quả đối vớinhững trường hợp thay đổi nhỏ trong tập huấn luyện có thể dẫn đếnmột mô hình hoàn toàn khác
+ Thao tác thuật toán học tập: Trong cách tiếp cận này, việc sử dụng mỗi
mô hình cơ sở được thay đổi Chúng ta có thể làm điều này bằng cáchthao tác với cách mà mô hình cơ sở đi qua không gian giả thuyết.+ Phân vùng: Có thể đạt được sự đa dạng bằng cách tách tập dữ liệu gốcthành các tập con nhỏ hơn và sau đó sử dụng từng tập con để huấnluyện các bộ cảm ứng khác nhau
+ Thao tác đầu ra: Cách tiếp cận này thảo luận về các kỹ thuật kết hợpnhiều bộ phân loại nhị phân thành một bộ phân loại nhiều lớp duynhất ECOC là một ví dụ thành công của cách này
Trang 33+ Lai ghép nhóm: Ý tưởng là kết hợp ít nhất hai chiến lược khi xây dựng
mô hình tổng hợp Thuật toán Random Forest có lẽ là biểu hiện nổitiếng nhất của phương pháp lai ghép nhóm Nó không chỉ thao tácthuật toán học bằng cách chọn ngẫu nhiên một tập hợp con các tínhnăng tại mỗi nút, mà còn thao tác các thể hiện khi xây dựng mỗi cây
– Kết hợp đầu ra:
Kết hợp đầu ra thảo luận về quá trình tích hợp các đầu ra của mô hình cơ
sở thành một kết quả duy nhất Có hai loại chính mà chúng ta có thể thamkhảo:
+ Các phương pháp dùng trọng số: Chúng ta có thể kết hợp các đầu racủa mô hình cơ sở bằng cách gán trọng số cho từng mô hình cơ sở Cáchtiếp cận theo trọng số phù hợp nhất cho các trường hợp mà hiệu suấtcủa các mô hình cơ sở có thể so sánh được Majority voting là phươngpháp tính trọng số đơn giản nhất cho các bài toán phân loại Một cáchtiếp cận trọng số khác là ấn định trọng lượng tỷ lệ với cường độ củachất cảm ứng
+ Các phương pháp siêu học: Mô hình siêu học khác với mô hình họcmáy tiêu chuẩn vì chúng bao gồm nhiều hơn một giai đoạn học tập.Trong mô hình siêu học, các đầu ra của bộ cảm ứng riêng lẻ đóng vaitrò là đầu vào cho lớp cuối (meta-learner) để tạo ra đầu ra cuối cùng.Phương pháp siêu học hoạt động tốt trong trường hợp một số mô hình
cơ sở nhất định có các hiệu suất khác nhau trên các không gian conkhác nhau Stacking có lẽ là kỹ thuật siêu học phổ biến nhất
Trang 34bộ khung độc lập, mỗi bộ cảm ứng được xây dựng độc lập với các bộ cảmứng khác.
Bảng 2.2 hiển thị một số phương thức tổng hợp dựa trên các phương pháp tiếpcận ở trên
Tên phương thức Phương pháp kết hợp đầu ra Sự phụ thuộc Cách huấn luyện
Stacking Siêu học Độc lập Thao tác thuật toán học AdaBoost Dùng trọng số Phụ thuộc Thao tác đầu vào Gradient boosting machines Dùng trọng số Phụ thuộc Thao tác đầu ra Random Forest Dùng trọng số Độc lập Lai ghép nhóm Bagging Dùng trọng số Độc lập Thao tác đầu vào
BẢNG2.2: Danh mục một số phương pháp học tổng hợp
2.3.2 Phương pháp Stacking
Phương pháp Stacking được giới thiệu bởi Wolpert vào năm 1992 [68], đây là một
kỹ thuật kết hợp nhiều mô hình Phương pháp Stacking có hai giai đoạn Giaiđoạn đầu là một tập hợp nhiều mô hình được gọi là mô hình cơ sở, trong đó các
mô hình này thường sử dụng các thuật toán khác nhau Chúng được đào tạo đểtạo tập dữ liệu mới lưu trữ dự đoán của từng mô hình cơ sở Và sau đó, ở giaiđoạn cuối, chúng ta sử dụng một thuật toán (được gọi là meta-learner) để đào tạotrong tập dữ liệu mới Nó sẽ dựa trên những dữ liệu này để đưa ra dự đoán tổngthể cuối cùng Mặc dù là một ý tưởng hấp dẫn, nhưng nó ít được sử dụng rộngrãi hơn so với Bagging và Boosting Thuật toán học theo nhóm được tóm tắt dướidạng thuật toán trong 1
Trang 35Thuật toán 1Mã giả của thuật toán Stacking
Đầu vào: Bộ dữ liệu huấn luyện D ={(1, y1),(2, y2), ,( n , y n)}
Các bộ phân loại cơ sở C1, C2, , Ck
Bộ phân loại giai đoạn cuối ˆC
Đầu ra:Bộ phân loại tổng hợp đã được huấn luyện ˆS
2.4.1 Giới thiệu tổng quan
Mạng sinh đối kháng (Generative Adversarial Networks - GANs) là một kỹ thuậtmới nổi cho cả học tập bán giám sát và học không giám sát Chúng đạt đượcđiều này thông qua việc mô hình hóa các phân phối dữ liệu nhiều lớp Được
đề xuất năm 2014 [4], chúng có thể được biểu thị đặc trưng thông qua một cặpmạng cạnh tranh với nhau Ví dụ vào thực tế trong việc nhận diện tranh nghệthuật, một mạng là một máy chuyên làm tranh giả và cái còn lại là một chuyêngia nghệ thuật Bộ phần tạo dữ liệu giả, trong kiến trúc GAN được gọi là mạngsinh (Generator), G, tạo ra dữ liệu giả mạo với mục đích làm cho nó giống với
Trang 36thực tế Chuyên gia, trong kiến trúc GAN gọi là mạng Phân biệt (Discriminator),
D, nhận cả hình ảnh giả mạo và thật nhằm mục đích phân biệt chúng và trả vềgiá trị mất mát cho mỗi loại (mô tả trong Hình 2.6).Cả hai mạng được huấn luyệnđồng thời và cạnh tranh với nhau
HÌNH2.6: Kiến trúc mạng GAN cơ bản
– Đầu vào ngẫu nhiên
– Mạng lưới G chuyển đầu vào ngẫu nhiên thành một mẫu dữ liệu
– Mạng lưới D dùng để phần loại dữ liệu được sinh ra
– Đầu ra của D
– Giá trị mất mát của G, nhận được phần thưởng khi đánh lừa được D vàngược lại sẽ bị phạt
Trang 37HÌNH2.7: Lan truyền ngược huấn luyện mạng Tạo sinh
Để huấn luyện một mạng nơ-ron, cần phải thay đổi trọng số của mạng để giảm
độ sai hoặc mất mát cho đầu ra của nó Trong mạng GAN, G không trực tiếp kếtnối với hàm mất mát mà chúng ta mong muốn tác động đến G đưa vào mạng D,
và D cung cấp đầu ra mà chúng ta mong muốn tác động Phần thêm của kiến trúcnày phải bao gồm thêm sư lan truyền ngược Lan truyền ngược điều chỉnh từngtrong số theo đúng hướng bằng cách tính toán tác động của trong số đó với đầu
ra - đầu ra của D thay đổi như thế nào khi trong số thay đổi Lan truyền ngượcbắt đầu ở đầu ra của D và trả ngược trở lại thông qua D tới G
Trong quá trình huấn luyện G, cần phải giữ cho D cố định, nếu D bị thay đổi sẽlàm khó khăn hơn trong việc làm G trở nên tốt hơn
Quá trình huấn luyện mạng sinh gồm các bước:
– Mẫu nhiễu ngẫu nhiên
– Tạo đầu ra của G từ mẫu nhiễu ngẫu nhiên
– Nhận được kết quả của D là "Thật" hoặc "Giả" cho dữ liệu của G
– Tính toán giá trị mất mát từ phân loại D
– Lan truyền ngược thông qua D và G để đạt được sự thay đổi mong muốn.– Sử dụng sự thay đổi đó để cập nhật trọng số cho G
Các bước ở trên đại diện cho một vòng huấn luyện G
Trang 382.4.3 Mạng Phân biệt
Mạng Phân biệt (D) là phần còn lại của kiến trúc mạng GAN, đóng vai trò là một
bộ phân loại Nó cố gắng phân biệt dữ liệu thật từ dữ liệu được tạo bởi G D có thể
sử dụng bất kỳ kiến trúc mạng nào phù hợp với loại dữ liệu mà nó đang phân loại
Dữ liệu huấn luyện của D đến từ hai nguồn:
– Mẫu dữ liệu thật như ảnh người thật D sử dụng những mẫu này như là
mẫu dương tính trong suốt quá trình huấn luyện
– Mẫu dữ liệu giả được tạo ra bởi G, D sử dụng những mẫu này như là mẫu
âm tính trong quá trình huấn luyện
Trong Hình 2.8, hai khung "Mẫu" đại diện cho hai nguồn dữ liệu đưa vào D.Trong quá trình huấn luyện D, G sẽ không được huấn luyện Các trọng số của Gkhông đổi trong khi nó tạo ra các mẫu cho việc huấn luyện D
HÌNH2.8: Lan truyền ngược trong huấn luyện mạng Phân biệt
D kết nối đến hai hàm mất mát Trong suốt quá trình huấn luyện D, D bỏ quamất mát của G và chỉ sử dụng mất mát của D Quá trình huấn luyện G sẽ sử dụngmất mát của G
Quá trình huấn luyện D:
Trang 39– D phân loại của dữ liệu thật và giả nhận được từ G.
– Mất mát của D phạt D khi phân loại sai dữ liệu thật là giải hoặc giả là thật.– D cập nhật trọng số của nó thông qua lan truyền ngược từ mất mát D thôngqua mạng D
2.5.1 Giới thiệu tổng quan
Trong lĩnh vực học máy, bên cạnh học giám sát và học không giám sát thì họctăng cường (Reinforcement Learning) cũng là một nhánh trong đó Phương pháp
này dựa vào việc một tác nhân (agent) sẽ quyết định thực hiện một hành động (action) phù hợp sau đó tương tác với môi trường (environment) để nhận được
phần thưởng (reward) tốt nhất trong một tình huống cụ thể và nhận lại được trạng
thái mới (state) Không giống như học giám sát khi mà dữ liệu đào tạo sẽ có sẵnnhãn trong đó để mô hình được huấn luyện với câu trả lời đúng, bản chất củahọc tăng cường là thử nghiệm và mắc lỗi, nghĩa là thử đi thử lại và rút ra kinhnghiệm sau mỗi lần thử Hình 2.9 mô tả tổng quan quá trình huấn luyện học tăngcường
HÌNH2.9: Tổng quan học tăng cường
Trang 402.5.2 Các thành phần của học tăng cường
2.5.2.1 Tác nhân
Tác nhân là chủ thể đưa quyết định về hành động sẽ thực hiện dựa trên reward và hình phạt Mục tiêu chính của tác nhân là cải thiệu hiệu suất bằng cách nhận được reward càng lớn càng tốt.Tác nhân học theo cách chọn và thử nghiệm, và dựa vào
kinh nghiệm, nó học cách thực hiện yêu cầu theo cách tốt nhất Ví dụ "con người"
là một tác nhân.
2.5.2.2 Môi trường
Môi trường là nơi mà tác nhân tồn tại và tương tác trong đó Tác nhân có thể tương tác trong môi trường bằng cách thực hiện một số hành động nhưng không làm ảnh hưởng đến khả năng hoạt động của môi trường bởi những hành động đó Nếu "con người" là tác nhân thì "môi trường trái đất" chính là môi trường, Chúng ta có thể dùng hành động tương tác với môi trường nhưng sẽ bị hạn chế bởi luật pháp để ngăn sự ảnh hưởng không tốt đến môi trường.
2.5.2.3 Hành động
Hành động là cách tác nhân cho phép nó tương tác và thay đổi môi trường của
nó Môi hành động được thực hiện bởi tác nhân đều mang lại phần thưởng từ môi
trường Hành động nào được chọn để thực hiện do chính sách quyết định Ví dụ robot dò đường trong mê cung sẽ thực hiện hành động đi lên, xuống, trái hoặc
Sau khi thực hiện một hành động, môi trường phản hồi cho tác nhân một phần thưởng
để đánh giá hành động của tác nhân Mục tiêu của tác nhân là tối đa hóa phần thưởng