60Bảng 12: Điểm dự đoán trung bình trước Trình phát hiện hộp đen và điểm dương tính của VirusTotal Engine của các mẫu thử nghiệm khi đào tạo RL ở các ngưỡng giống nhau là 0.8 chỉ sử dung
Trang 1ĐẠI HỌC QUÓC GIA TP HÒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA MANG MAY TÍNH VÀ TRUYEN THONG
KHOA LUAN TOT NGHEP
Phuong pháp tao mã độc đột biến chống lại
trình phát hiện mã độc hộp đen sử dụng
GANs
Crafting mutation of malware against blackbox
malware detector using GANs
KY SU NGANH AN TOAN THONG TIN
TP HO CHI MINH, 2021
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA MANG MÁY TÍNH VÀ TRUYÈN THÔNG
KHOA LUAN TOT NGHEP
Phương pháp tao mã độc đột biến chống lại
trình phát hiện mã độc hộp đen sử dụng
GANs
Crafting mutation of malware against blackbox
malware detector using GANs
KY SU NGANH AN TOAN THONG TIN
GIANG VIEN HUONG DAN
TS PHAM VAN HAUTHS PHAN THE DUY
TP HO CHÍ MINH, 2021
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ố
"¬ eee e eae eeneeeeaeees ngày của Hiệu trưởng Trường Dai hoc
Công nghệ Thông tin.
Trang 4LỜI CẢM ƠN
Nhóm thực hiện khóa luận chân thành cảm ơn thầy TS Phạm Văn Hậu,
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 ich dé nhóm có thé hoàn thành dé tài khóa luận một cách
Xin chân thành cảm ơn!
TP.Hồ Chí Minh, ngày 31 tháng 12 năm 2021
Nhóm tác giả
Đỗ Trường An
Nguyễn Hoàng Quốc Án
Trang 5Mục lục
TOM TAT KHÓA LUAN 2- << se ©2s£se©ss£ss£zseeseezeessezscre 15
Chương 1: TONG QUANN << c<5sSseEseEseEsEseEseetsetsetserserssrsscse 16
n1 16INRG)oiii i0 iä 1 4 16 1.2 Các nghiên cứu liên quan - <5 << 33311 E +33 EE**EE+Esereeskeereeerereere 17
1.2.1 GANS — 17 50 17 1.2.3 Tính Ứng dụng - c1 k1 HH nh nưư 17
IZ S010 1 171.2 Mục tiêu, đối tượng và phạm vi nghiên cứu -«+++-ss>++ss+++ 18
1.2.1 Mục tIÊU - G c2 0011111 S ST SH TS ng kg kg kg và 181.2.2 Đối tượng và phạm vi nghiên cứu -¿¿22s+s+zs+zxzszee 181.2.3 Cau trúc Khóa luận tốt nghiệp -2- 2 2+2 x+E++£++£z+E+rxzzszxez 18
Chương 2: CƠ SỞ LÝ THUYET -.2- 5° 2£ ©s2©ss©seesse+ssesssessessee 19
Tóm tắt Ẩn X> @Z / 192.1 Tập tin thực tH1 - - - + c 3S 1231123113211 835111 111 11 91111 1H ng ng ng tr 19 2.2 Mô hình hoc tăng Cường - - << 11v 1 vn ngư 21
2.2.1 TAC tr (AQONL) ececcccccccecccceescceseceeeeseecesneeeeaeeceeaeecsacecssaeecseneeeseeeseneeeaes 21 2.2.2 Môi trường (ETVITOIN€TI{) 5 2 2 3332111335 ESEEEEsrsersrreerrrere 21
2.3.3 Không gian hành động (Action space) - 55s ++s sex 24
2.3.4 Phần thưởng (ÑeW@ïFd]) - - 5e +E‡EEEEEEEEEEEEEEEEEEEEEEEkerkerkerrree 27
Trang 6VInWE.s 00.20 nudtÕ45 29
2.3 Generative Adversarial NĐ€tWOTKS - Ă cv net 33
2.3.1 Giới thiệu tổng quan 2-2 2+ESE+SE£EE£E£EE£EESEEEEEEEErEerkerkrrrrei 332.3.2 Trình tạo sinh (Generator) 5c 13132 131111 1115555EEx2 34
2.3.3 Trinh phát hiện hộp đen (Black-box DetecfOr) -‹ -«« 35
2.3.4 Trình phân biệt (D1SCriminatfOT) -csss<sss+ssviseeererserrreere 35
“9-0001 36
"Co 36 2.4.2 MG inh 36 2.5 Các cơng trình nghiên cứu liên quan -. +5 55+ ++<£+++see++seee+zsss 38
Chương 3: MƠ HÌNH ĐỘT BIEN MÃ ĐỘC -s scsscssecsee 40
4.1.1 Trình phát hiện mã độc - - - 55c 2S *++EE+eEseeseesreeereeerss 47
4.1.2 ¿chu ho an 494.1.3 Hệ thống tạo đột biến - 2-2 + E+SE+EE+ESEEEEESEEEEEEEEEEErEerkrrkrree 534.2 Kết quả thí nghiệm 2 ¿- + sS£ SE E£+E£EE#EEEEEEEEEEEEEEEEEEEEEEEEErkrrkrrree 54
4.2.1 Hiệu năng của trình phát hiện hộp đen khi đào tạo với các khơng gian hành động khác nhau -. - c2 331132132 EEEEEEEErrerrsrerrrerrre 54
4.2.2 Quá trình đào tao RL cùng hiệu năng của mơ hình khi dao tạo RL với các tùy chọn khác nhau được đánh giá bởi các trình phát hiện hộp đen 56
4.2.3 Kết quả thực nghiệm của mơ hình với mẫu dữ liệu thực tế 61
Chương 5: KET LUẬN VA HƯỚNG PHÁT TRIEN - 64
¡0 Ữ:11ạ 64 5.1 Kết luận -¿ 22++t HH 64 5.2 Hướng phát triỂn -2- 22 2 £+EE+EE+EE£EEEEEEEEEEEEEEEEEE2E111 2xx crveeg 65
Trang 7Tài liệu tham khảo 5 s55 <5 s5 5595155 E555 sessssseseoe OO
Trang 8Danh sách hình vẽ
Hình 1: Các thành phần của tệp PE ¿- ¿©2222 ©++Ex£E++rxezrxerxrrresred 19Hình 2: Tổng quan của R 2-2 + +++E£+E£+EE+EE+EE£EEtEEEEEEEEEEEEExerkrrkervee 21
Hình 3: Tổng quan học sâu tăng cường cccscssesssesssessesssesseessecstsesesssessecsseeseesses 22
Hình 4: Cấu trúc mô hình DQEAE -2¿c++c+++errttErkkrrrtrrrrrrrrrre 24Hình 5: Định dạng tệp PE và các hành động dé sửa đổi nội dung 26Hình 6: Biéu đồ tính toán Phần thưởng - ¿5£ ©5£+££+££+£++£x+rxerxersee 28Hình 7: Sơ đồ mạng dao tạo DQEAIE - G12 112v S11 11111111 ri 31
Hình 8: Ví dụ của OpenAL ym - -<G SH HH HH nu 33
Hình 9: Sơ đồ cau trúc của MalGAN ¿- 2c 52+cxc2xvExerrrerkrrrerkeerxees 34 Hình 10: Sơ đồ cau trúc của MalCOnxv -¿- 2c 52©2+2x+£x2zvrxezrxerxeerxees 37
Hình 11: Phần trăm TPR (Ti lệ phát hiện) mẫu ban đầu và mẫu đối nghịch khi
MalGAN và Trinh phát hiện hộp đen được đào tạo cùng tap di liệu 39
Hình 12: Tổng quan mô hình dé xuất - 2 +¿++++++z++zx++zxerxezzxeex 4IHình 13: Các tùy chọn trích xuất tính năng - 2 + ©++cxz+zs+cxeezxees 46Hình 14: Tổng quan VirusTotal Engine -2 s:2 s+2s++cx++zx+rxezzxees 50Hình 15: Quá trình quét của VirusTotal Engine - «+ «se £++£eeeess 50Hình 16: Báo cáo tổng quan của VirusTotal Engine - 2 2 s+cs+czzsz 51Hình 17: Báo cáo chi tiết vủa VirusTotal Engine s- 2 2+secs+zs+zszez 52
Trang 9Danh sách công thức
Công thức 1: Xác định Phan thưởng tại một thời gian nhất định (4) 27Công thức 2: Phương thức xác định tông Phan thưởng trong suốt quá trình dao
tạo Reve cccccccccccccccccccccccccccccceccececceeesesesesessesesessessssesesesesesseseseeeeeeeeeeseeeeeeees 28
Công thức 3: Phuong thức xác định Loss function s55 «<++s+++ 29
Công thức 4: Dinh nghĩa smooth function I - ‹- - «+ +seeseeesseess 35Công thức 5: Công thức tính điểm dự đoán trung bình -5¿¿ 55Công thức 6: Công thức tính điểm trung bình của VirusTotal Engine 57
Trang 10Danh sách bảng:
Bang 1: Tập dữ liệu huấn luyện GANS và RL -.2 2¿©2¿©2s2cz2zxczzesred 46Bang 2: Tập dữ liệu của huấn luyện trình phát hiện hộp đen 47
Bang 3: Chi tiết các dit liệu kiểm thử và thực tẾ -¿ 2- s+cs+cs+zxcse+ 41
Bảng 4: Tỉ lệ phát hiện các mẫu độc hại ban đầu của các trình phát hiện hộp đen
¬— 49
Bảng 5: Chi tiết không gian hành động được sử dụng dé đào tạo RL 53Bang 6: Các trường hop kiêm thử khi đảo tạo RL .2 2¿©2255z55s=s2 55
Bang 7: Điểm dự đoán trung bình của các mẫu thực tế trước các Trình phát hiện
hộp đen khi dao tạo RL sử dung và không sử dụng thông tin từ GANs 56
Bảng 8: Số lượng các biến thé lân tránh được tìm thấy trong quá trình huấn
luyện, trong đó chúng tôi đã cung cấp cho đặc vụ ngân sách 50K đột biến 57Bang 9: Điểm dự đoán trung bình trước Trình phát hiện hộp đen và điểm dương
tính của VirusTotal Engine trên các mẫu thử nghiệm khi đào tạo RL ở các
ngưỡng khác nhau chỉ sử dụng 4 hành động với tập dữ liệu V'T 57Bảng 10: Điểm dự đoán trung bình trước Trình phát hiện hộp đen và điểm
dương tính của VirusTotal Engine của các mẫu thử nghiệm khi đào tạo RL ở
các ngưỡng giống nhau là 0.8 chỉ sử dụng 4 hành động với tập dữ liệu VT 59
Bảng 11: Điểm dự đoán trung bình trước Trình phát hiện hộp đen và điểm
dương tính của VirusTotal Engine của các mẫu thử nghiệm khi đào tạo RL ở
các ngưỡng khác nhau chỉ sử dụng 4 hành động với tập dữ liệu VS 60Bảng 12: Điểm dự đoán trung bình trước Trình phát hiện hộp đen và điểm
dương tính của VirusTotal Engine của các mẫu thử nghiệm khi đào tạo RL ở
các ngưỡng giống nhau là 0.8 chỉ sử dung 4 hành động với tập dữ liệu VS 61 Bảng 13: Tổng số mẫu thực tế được nhận dạng là mã độc với RL được đào chỉ
su dung 4 hamh dOng 5 17ẼẺ77 62
Bang 14: Điểm dự đoán trung bình mẫu thực tế trước và sau đột biến với RL
được đào chỉ sử dụng 4 hành động - ¿+ + E3 *Esseseeererseeree 63
10
Trang 11Danh sách biểu đồ
Biểu đồ 1: Điểm dự đoán trung bình của các mẫu độc hại trước trình phát hiện
hộp đen ở 2 không gian hành động khác nhau với tập dữ liệu kiêm thử 55
11
Trang 12Danh mục thuật toán
Thuật toán 1: Thao tác với Se€CfIOI - << 5 S212 11 vn 1x vrrrec 26 Thuật toán 2: Quá trình đào tạo GAT]Ns Q Q SH HS ng re, 43 Thuật toán 3: Thuật toán đào tạo ]RÌ ¿+ c2 +22 EEEkeeeezsseeeeeees 45
Thuật toán 4: Thuật toán kiêm thử RL sau khi đào tạo ¿-s5s+5ssss2 45
12
Trang 13Danh mục từ viết tắt:
RL Reinforcement Learning
GANs Generative adversarial network
DQEAF Deep Q-network anti-malware Engines Attacking Framework
SVM Support vector machine
Trang 15TOM TAT KHÓA LUẬN
Trong hai thập ky qua, nhiều nghiên cứu đã được tiễn hành về việc sử dung
AI dé phát hiện phần mềm độc hại bang cách trích xuất các tính năng và sau đóphân loại chúng băng các thuật toán học máy Như Hu và Tan đã chỉ ra [5], điều
này đã khiến một số tác giả phần mềm độc hại tập trung thời gian và nỗ lực của
họ dé tan công các kỹ thuật phát hiện phần mềm độc hại như vậy, nhóm của chúng tôi đặt mục tiêu đạt được điều tương tự Mục đích của khóa luận này là sử dụng
trí thông minh nhân tạo dé biến đổi một mẫu phần mềm độc hại nhằm vượt qua
các Anti-Virus (AV) trong khi vẫn giữ nguyên chức năng của nó Trong quá khứ,
công việc đáng chú ý đã được thực hiện trong lĩnh vực này với các nhà nghiên
cứu xem xét học tập tăng cường (RL) hoặc mạng đối thủ chung (GANs) như vũkhí lựa chọn của họ đề sửa đôi trạng thái của phần mềm độc hại có thể thực thinhằm đánh lừa các AV
Sau khi nghiên cứu về việc sử dung RL và GANs trong lĩnh vực nay, chúngtôi lưu ý một số hạn chế nay sinh khi cố gắng triên khai các giải pháp này mộtcách độc lập Giải pháp mà chúng tôi đề xuất trong tài liệu này nhăm mục đíchkhắc phục những hạn chế đó bằng cách triên khai một cách tiếp cận sáng tạo và
mới lạ đối với việc tạo ra phần mềm độc hại có khả năng lần tránh trước các trình
phát hiện mã độc sử dụng Machine Learning (ML) băng cách sử dụng kết hợp học tăng cường (RL) và mạng sinh đối kháng (GANS).
15
Trang 16Chương 1: TONG 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 tạo mã
độc đột biến chống lại trình phát hiện mã độc hộp den sử dụng GANs và RL cũng
như các nghiên cứu liên quan, các ứng dụng trong thực tế và các thách thức màbài toán đang gặp phải Đồng thời đưa ra mục tiêu 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.
1.1 Giới thiệu bài toán
Vào năm 2017, mã độc Ransomware đã làm cả thế giới khủng hoảng vì cuộc tấn
công mạng tầm vĩ mô gây ảnh hưởng tê liệt hàng triệu hệ thống trên toàn thế giới, bao gồm cả những công ty hàng đầu Từ thông tin cá nhân, bí mật doanh nghiệp,
đòi tiền chuộc, tống tiền v.v mã độc WannaCry đúng nghĩa đã làm nhiều doanhnghiệp tồn that rất lớn và nhà đầu tư phải phá sản vì nó
Trong bối cảnh đấy, nhiều nhà nghiên cứu đã ứng dụng ML vào bên trong công
việc phát hiện mã độc, sự khác biệt giữa việc sử dụng ML thay cho các mô hình
trước đó đã được đề xuất ở (1) Thông qua việc dao tạo với lượng dit liệu không
lồ cùng thuật toán và mô hình hợp lí thì phương pháp này đã đưa ra được tỉ lệphát hiện hiệu quả đến 97% (2), hoặc việc sử dụng trích xuất và dựa trên sự lựachọn các thuật toán hợp lí đề tìm ra các họ malware dùng cho việc phát hiện được
đề cập trong (3).
Như Hu và Tan đã chỉ ra (4), với các hệ thống phát hiện như vậy thì việc không cập nhật các mẫu mã độc mới nhất sẽ ảnh hưởng rất lớn đến các phán đoán của
Detector Điều này đã khiến một số tác giả phần mềm độc hại tập trung thời gian
và nỗ lực của họ dé tan công các kỹ thuật phát hiện phần mềm độc hại như vậy
thông qua các phương pháp như: Encryption, Oligomorphism, Polymorphism,
(5), hoặc tìm cách lần tránh mô hình phát hiện mã độc thông qua phương phápphân tích tĩnh tệp tin băng việc sử dung RL (6) và cũng như là việc áp dụng GANsvào mục đích lần tránh (4), nhóm của chúng tôi đặt mục tiêu đạt được điều tương
tự.
Sau khi tham khảo các bài báo và nghiên cứu liên quan đến việc lân tránh bộ trình phát hiện sử dụng ML thì nhóm của chúng tôi quyết định xây dựng một mô hình
16
Trang 17tăng cường tỉ lệ lân tránh của các tệp Portable Excutable (PE) độc hại với sự kếthợp giữa GANs và RL.
1.2 Các nghiên cứu liên quan
1.2.1 GANs
GAN&s thuộc nhóm mô hình sinh dữ liệu (generative model) Generative là tính
từ nghĩa là khả năng sinh ra, model nghĩa là mô hình Vậy hiểu đơn giản
generative model nghĩa là mô hình có khả năng sinh ra dữ liệu Hay nói cách khác, GANs là mô hình có khả năng sinh ra dữ liệu mới.
1.2.2 RL
Trong lĩnh vực trí tuệ nhân tạo nói chung và lĩnh vực học máy nói riêng thì RL là
một cách tiếp cận tập trung vào việc học hỏi dé hoàn thành được mục tiêu băng
việc tương tác trực tiếp với Moi trường (Enviroment)
1.2.3 Tính ứng dụng
Đề tài nghiên cứu này sẽ giúp xây dựng một giải pháp vượt qua được AV hiệu quả hơn phương pháp truyền thống nhờ vào sự phát triển mạnh mẽ của trí
tuệ nhân tạo ngày nay.
Đề tài tập trung vào xây dựng một mô hình cũng như phát triển tệp PE để
vượt qua được khả năng phát hiện của AV Tiềm năng và tính nổi trội khi ứngdụng phương pháp học sâu dé vượt qua được AV
Đa dang hóa các mẫu đối nghịch được tao ra thông qua đó gây khó khăn
đối với các trình phát hiện hộp đen và cải thiện tỉ lệ lần tránh của chúng khi chạmchán các AV.
17
Trang 181.2 Mục tiêu, đối tượng và phạm vi nghiên cứu
1.2.1 Mục tiêu
Ứng dụng GANs va RL dé phát triển file PE vượt qua AV, từ đó cải tiễn và phát
triên AV trong tương lai.
1.2.2 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu:
1.2.3 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 khóa luận tốt
nghiệp, tôi xin đưa ra nội dung của Khóa luận tốt nghiệp sẽ được tô chức như sau:
e_ Chương 1: Giới thiệu tông quan về khóa luận va các nghiên cứu liên quan
e 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
e Chương 5: Kết luận và hướng phát triển của khóa luận.
18
Trang 19Chương 2: CƠ SỞ LÝ THUYÉT
Tóm tắt
Trong chương này, nhóm chúng tôi sẽ trình bày các kiến thức nền tảng và cơ sở
lý thuyết có liên quan đến đề tài
2.1 Tập tin thực thi
Đối với phạm vi của khóa luận này, chúng tôi chỉ tập trung vào các tệp nhịphân (Portable Executable — PE files), tuy nhiên, chúng tôi suy đoán rằng mô hình
mà chúng tôi đã đề xuất có khả năng tạo ra kết quả tương tự trên các định dạng
thực thi khác như ELF, MachO và các định dang Android như OAT, DEX, VDEX
va ART Do đó, việc thực hiện trên các định dạng tệp khác nhau sé là hướng phát
triển tiếp theo của chúng tôi, tuy nhiên chúng tôi đặc biệt khuyến khích người đọc đọc qua cau trúc của tệp PE được thể hiện chi tiết ở Hình 1 dé hiểu rõ hơn về cách
các phần khác nhau của tệp nhị phân có thé được khai thác và ở mức độ nào (7)
Cũng cần lưu ý rằng trong khi có gắng sửa đổi vẫn phải giữ nguyên chức năng thực sự của phần mềm độc hại.
Trang 20Sau khi nghiên cứu về cau trúc và chức năng của các thành phần khác nhau
trong tệp PE và thảo luận với nhau, chúng tôi quyết định rằng chỉ thực hiện sửa đổi đối với bảng Sections (với tiêu đề Section) và các hàm Imports có trong các
ngăn của tệp nhi phân.
Bảng Sections bao gồm nhiều hàng tiêu đề Sections và chứa thông tin liên
quan đến các phần khác nhau có sẵn trong tệp thực thi, chăng hạn như Section
Name, Virtual Size, Virtual Address, kích thước của Raw Data, con trỏ đến Raw Data và đặc điểm của những phần khác (8) Trong quá trình thử nghiệm, một tập lệnh đã được chạy để thu thập tất cả các tên Sections và các hàm Imports duy nhất xuất hiện trong tập dữ liệu lành tính và phần mềm độc hại Quan sát thấy rằng có
một số phần thường xuyên xuất hiện trong các tệp nhị phân PE như text, data,
.rdata, idata, reloc, rsrc và debug Một số thao tác khác như là việc đồi tên các
Sections hiện có, thêm các bit ngẫu nhiên vào các phần hiện có và thêm các
Sections không sử dụng trong tệp PE không chỉ làm giảm tỷ lệ dương tính thực
của phần mềm độc hại mà còn giữ nguyên chức năng của nó Những thực nghiệm
này cũng đã được thực hiện bởi Anderson và cộng sự (6).
Một cách tiếp cận phô biến khác được nêu bởi Anderson và cộng sự dé
giảm tỉ lệ dương tính thực ( True Positive Rate - TPR) của phần mềm độc hại đã
thêm các chức năng không sử dụng bang Imports trong Section idata Mục đích
chính của bang Imports là làm cho module đơn giản hon Mặc dù việc sửa đôi các
bang Imports góp phan đáng ké vào việc giảm TPR, nhưng nó không làm quá tốt
trong việc g1ữ nguyên chức năng của tệp độc hai Dựa trên thử nghiệm của mình,
chúng tôi đã đi đến kết luận rằng phần mềm độc hại thực hiện hành động LEA
trên Bang địa chỉ nhập (IAT) không hoạt động tốt khi thêm các Imports bồ sung
Ngoài ra, có những hành động khác như thêm các byte ngẫu nhiên vào tệp
nhị phân, đóng gói và giải nén tệp PE, xóa chữ ký và tải đường dẫn cấu hình cóthê được thực hiện đề giảm TPR của phần mềm độc hại Những hành động này
cũng đã được nghiên cứu trong giải pháp của chúng tôi.
Trong giai đoạn thử nghiệm, khi dao tao Tac tr của RL (RL’s Agent),
chúng tôi nhận ra rằng trong số tất cả các hành động, 7ác tw (Agent) sẽ chọn một
trong các hành động sau đây bất kế đầu vào là gì, bao gồm thêm vào Sections, đổi tên Sections, thêm Imports và thêm byte ngẫu nhiên vào nhị phân Do đó, chúng tôi quyết định tiếp tục đào tạo lai Tac tur chỉ với 4 thao tác này, tuy nhiên chúng tôi cũng đưa ra các trường hợp sử dụng các hành động khác ở mục 4.2 Kết
quả thí nghiệm
20
Trang 212.2 Mô hình học tăng cường
Hoc tăng cường (Reinforcement Learning — RL) là một nhánh của ML nơi
các Tác f học cách đưa ra các hành động một cách tối ưu nhất bằng cách tích lũy
tối đa hóa Phần thưởng (Reward) Quá trình này cần sự tương tác của Môi trường
và Tac tw được thé hiện chỉ tiết ở Hình 2.
Trong RL có rất nhiều các thuật ngữ khác nhau (như hình trên) Sau đây
chúng tôi sẽ trình bày các thuật ngữ thông dụng và ý nghĩa của từng thuật ngữ
đó:
2.2.1 Tác tử (Agent)
Trong RL có một thuật ngữ gọi là Tac tw - được định nghĩa là máy quan sát Môi trường và sinh ra Hành động tương ứng.
2.2.2 Môi trường (Enviroment)
Môi trường là không gian xung quanh của Tác tr, nơi ma Tác tw tôn tại va
tương tác.
2.2.3 Hành động (Action)
Hanh động là phương thức của Tdc tu cho phép nó tương tác với Môi
trường và thay d6i Môi trường Dựa trên Trạng thái S(t) của Môi trường hiện tại
mà Tác tw sẽ đưa ra Hành động a(t).
2.2.4 Quan sát (Observation)
Sau khi nhận được sự tương tác từ Tác tu thì Môi trường có sự chuyên đôi
trạng thái đối với Tác tử.
2.2.5 Trạng thai (State)
Là trạng thái của Moi rường ma Tác tw nhận được hoặc có thể hiểu bằng cách khác là Trang thái sẽ mô tả tình hình hiện tại Ví dụ cụ thé như: Đối với
21
Trang 22robot dang tập di, Trang thái là vị trí của hai chân của nó Đôi với chương trình
cờ vây, Trang thái là vi trí của tat cả các quân cờ trên ban cờ.
2.2.6 Phần thưởng (Reward)
Ở mỗi Hành động, Môi trường gửi đến cho Tác tử một Phần thưởng xác
định Mục tiêu của Tac ti là tối đa hóa tổng Phan thưởng ma nó nhận được trong một thời gian dài Tín hiệu Phần thưởng (reward signal) giúp xác định đâu là sự
kiện tốt và xấu đối với Tác tv, đồng thời nó cũng là cơ sở chính dé thay đồi chínhsách Nếu một hành động được lựa chọn bởi chính sách mang đến Phần thưởng
thấp, thì chính sách đó có thể bị thay đôi Tác tử sẽ lựa chọn các Hành động khác
trong các tình huéng tương tự ở tương lai
2.3 Mô hình học sâu tăng cường
Mô hình học sâu tăng cường (Deep Reinforcement Learning) là sự kết hợp
của học tăng cường (reinforcement learning) va học sâu (deep learning) được
trình bày chỉ tiết ở Hình 3 và nó cũng là lĩnh vực học máy thịnh hành nhất tại thời điểm này bởi vì nó có thể giải quyết một loạt các nhiệm vụ ra quyết định phức
tạp ma trước đây máy móc không có khả năng giải quyết các vấn đề trong thế
giới thực giống như trí thông minh của con người.
Hình 3: Tổng quan học sâu tăng cường
22
Trang 232.3.1 Deep Q-network anti-malware Engines Attacking Framework
(DQEAF)
Chúng tôi ứng dung mô hình DQEAF (9) vào mô hình tạo đột biến mã độc
trong dé tài của mình Công dụng của Mồi rưởng trong DQEAF là quan sát và đánh giá Phan thưởng, cụ thé Trạng thái (mô tả về giai đoạn hiện tại) và Phan
thưởng (giá trị đánh giá hành động) cho Tac tir Tác tử bao gồm các tham số vàthuật toán dé xác định hành động cần thực hiện tiếp theo Vì vậy, đầu vào của RL
là Phân thưởng và Trạng thái khi quan sát Môi trường Đầu ra là chién lược lựa chọn hành động của Tac tw cho một SỐ trường hợp nhất định.
Trong khóa luận này, chúng tôi tập trung vào sự đơn giản hóa của DQEAF,
có thê phù hợp với lý thuyết phân tích đồng thời nắm bắt đầy đủ khía cạnh trên.
Cụ thê, chúng tôi đơn giản hóa kỹ thuật phat lại trải nghiệm (experience replay)với giả định độc lập (independence assumption) va tập trung vào các mạng thankinh sâu (deep neural networks) với đơn vi tuyến tính (ReLU) (10) và kích thước
lớn Với cài đặt này, mạng thần kinh DQEAF được giảm xuống và tính bằng thuật
toán Q-iteration (FQI) (11) và kỹ thuật nhăm đến mạng mục tiêu Q có thé đượctruyền dưới dạng lặp giá trị Quan trọng hơn, bằng cách điều chỉnh các kết quả
gần đúng đối với các mạng ReLU để phân tích toán tử Bellman, chúng tôi thiết
lập thuật toán và thống kê tỷ lệ hội tụ cho chuỗi chính sách lặp lại mà DQEAF
thu được.
Sử dụng RL để giải quyết các van dé chống AV, chúng ta cần có định nghĩa
phù hợp về Môi trường, Hành động, Phan thưởng và Tác tử trong DQEAF Chitiết toàn bộ kiến trúc của DQEAF được thé hiện ở Hình 4 và các mục bên dưới
23
Trang 24MODIFIER Q TARGET
PE FEATURE EXTRACTOR
BLACK-BOX DETECTOR
.———
MALWARE DATASET
Hình 4: Cau trúc mô hình DOEAF
2.3.2 Môi trường (Enviroment)
Trong DQEAF, Moi truvong được sử dụng dé quan sát biéu hiện và thành
phần của các mẫu phần mềm độc hại PE.
Quan sát càng toàn diện, kết quả đào tạo càng dé dàng đạt được tỷ lệ mong
đợi Do đặc thù của RL nên không cần xử lý trước các mau (Xử lí tiền dữ liệu).
Chúng tôi xác định tinh năng nhị phân thô (raw features) là Moi rường vì nó có
thể đại diện cho một cái nhìn tổng thể về các mẫu phần mềm độc hại và yếu tố để
có thé lựa chọn với từng Hanh động Chúng tôi đếm biểu đồ byte (byte histogram
normalized), được thực hiện băng cách đếm số lần xuất hiện của mỗi giá tri của
toàn bộ tệp nhị phân.
2.3.3 Không gian hành động (Action space)
Sau khi Tac tw quan sát Trang thái của Môi trường, nó phải chon một hành
Trang 25bảo răng việc sửa đôi tệp càng đơn giản càng tôt đê đảm bảo việc sửa đôi thành
công.
Chúng tôi phải chắc chăn rằng quá trình sửa đổi sẽ không dẫn đến những
kết quả không mong muốn, chang hạn như sự phá vỡ cau trúc sẵn có của phần mềm độc hại do sửa đổi trực tiếp (Hành động bắt buộc) Những thất bại trong quá trình sửa đổi được đề cập ở trên sẽ làm gián đoạn quá trình dao tao, vì vậy chúng tôi chọn các hành động đơn giản nhất như sau:
e© ARBE: Nối các byte ngẫu nhiên vào cuối tệp PE
e ARI Nối một thư viện được đặt tên ngẫu nhiên với tên hàm ngẫu nhiên
vào bang dia chi import của tệp PE.
e ARS Nối một phan được đặt tên ngẫu nhiên vào bảng phan của tệp PE
Các loại phần sau được đặt ngẫu nhiên dé có thêm dữ liệu.
a.
h.
ARS-BSS Đặt cho loại section BSS Phần BSS, đề cập đến "BlockStart with Symbol", lưu trữ bat kỳ biến tĩnh và biến toan cục chưa
được khởi tạo nào.
ARS-UNKNOWN Đặt cho loại section không xác định.
ARS-IDATA Đặt cho loại section thành IDATA Phần IDATA
chứa thông tin về các chức năng (và dữ liệu) mà mô-đun nhập từ cácDLL khác.
ARS-RELOCATION Đặt cho loại section thành RELOC Phần
RELOC chứa một bảng các vi tri cơ sở.
ARS-RESOURCE Đặt cho loại section thành RSRC Phan RSRC
chứa tất cả các tài nguyên cho mô-đun.
ARS-TEXT Đặt cho loại section thành TEXT Phần TEXT là phần
mặc định cho mã.
ARS-TLS Đặt cho loại section thành TLS Phần TLS, đề cập đến
"lưu trữ cục bộ chuỗi", có liên quan đến họ TIsAlloc của các hàmWin32.
RS Xóa chữ ký khỏi bảng chứng chỉ của thư mục dữ liệu.
Ban đầu, Tac / đọc nội dung của tệp PE nhị phân gốc, sau đó nối thêm
hoặc xóa nội dung tai vi trí được chỉ định va sửa đôi địa chỉ ảo (Virtual Address)
tương đối cho mẫu mà vẫn đảm bảo tính toàn vẹn của tệp Chỉ tiết quá trình thác
táo với Section sẽ được trình bày ở Thuật toán 1.
25
Trang 26Ngoài ra, cân phải đảm bảo răng chức năng gôc của tệp không bị hỏng sau các hành động sửa đôi đó Điêu cân thiệt là các hành động trên sẽ không có bât
ky tác động nào đên câu trúc va chức năng của tệp PE.
ARS-UNKNOWN rsrC
Section Table(Array of IMAGE_ Section_HEADERs)
Export Table Import Table Resource Table Exception Table Certificate_Table
Se 7 a a ee ey
vl
Data Directory
IMAGE_OPTIONAL_HEADER IMAGE_NT_HEADERs
IMAGE_FILE_HEADER
*PE\0\0" PE signature
= N MS-DOS Header
Hình 5: Dinh dạng tệp PE và các hành động dé sửa đồi nội dung!
Thuật toán 1: Thao tác với Section
1: Phân tích nội dung gốc tệp nhị phân gốc bin,
2: Tao | section mới chưa sử dụng Sectionney
3: Điền nội dung vào Sectionney
4: Sửa đổi địa chỉ RVA
RVAsectionnew = MAX RVApin, sections
5: Sectionnew + bin, = bins
6: return bin,,,
Thuật toán I: Thao tác với Section
! https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=867603 |
26
Trang 272.3.4 Phan thưởng (Reward)
Phan thưởng là một yêu tỗ giúp phan biệt RL với các loại học máy khác
Làm thé nào dé chọn Phẩn thưởng thích hợp cho một hành động nhất định là một van đề chưa được giải đáp trong RL truyền thống Chúng tôi mong muốn Tac tir
có thé chọn Phan fhưởng của riêng mình, thay vì yêu cầu một tác giả xác định
nó.
Trình phát hiện được sử dụng dé đánh giá quan sắt, đầu ra là một nhãn (độchại hoặc lành tính) được định nghĩa là Phân thưởng Sau khi một hành động a
được thực thi, Trình phát hiện sé trả về một nhãn theo Môi trưởng hiện tai Vì
mục đích là tránh bị phát hiện và thực hiện ít hành động nhất có thê, chúng tôixác định Phần thưởng cho mỗi khóa đào tạo “TURN” dựa trên nhãn từ Black-box Detector và số lượng hành động được thực hiện Phan thưởng là 0 nếu nhãn
là "độc hại" và được tính băng Công thức | khi nhãn là "lành tính" Xu hướng
của công thức này được thé hiện trong Hình 6, có nghĩa là “TURN” càng nhỏ,Phan thưởng càng lớn “MAXTURN” được xác định khi Tac tv yêu cầu khôngthành công nếu “MAXTURN” đã thực hiện các bước sửa đổi và Phan thưởngvẫn bằng 0 Bat cứ khi nào Phần thưởng > 0 được trả lại, có nghĩa là tệp độc hạitrốn tránh thành công, quá trình sẽ kết thúc và Tac ti có thé học hỏi từ đó
h= 2Q~(TURN—1)/MAXTURN * 100
Công thức 1: Xác định Phan thưởng tại một thoi gian nhất định (4)
27
Trang 28Hình 6: Biểu do tính toán Phan thưởng
Ngoài ra, do Môi trường có nhiều biến, chúng ta không bao giờ có thé chắc chắn liệu mình có thê nhận được Phan thưởng tương tự sau cùng một hành động
tiếp theo hay không Càng nhiều lần, sự khác biệt càng nhiều Do đó, chúng ta
nên sử dụng các chiết khấu ưu đãi tương lai (Discount Future Incentives) Gia tri
Phan thưởng được tinh theo Công thức 2 ở bước t Hệ số chiết khấu từ 0 đến 1
và càng xa thời điểm hiện tại, Phần thưởng càng it
Dễ dàng nhận thấy răng giá trị của chiết khấu phần thưởng tương lai(Discounted Future Reward) ở bước t có thé được thé hiện theo cách tương tự
như trong bước t + 1.
Trang 29các hành động giống nhau luôn dẫn đến cùng một Phần thirdng, thì chúng ta có
thé xác định hệ số chiết khấu là = 1.
2.3.5 Tác tử (Agent)
Tác tử có thé chứa thuật toán hoặc chi đơn giản là cung cấp sự phối hợp
cho thuật toán và Moi rường Trong trường hợp này, Téc / quyết định xem
DQEAF sẽ chọn con đường dao tạo nào Chúng tôi quan tâm đến giá trị của cácHành động khác nhau trong Trạng thái nhất định Nếu chúng ta biết giá trị củamỗi Hanh động, chúng ta có thể chọn hành động có giá tri cao nhất đề thực hiện
Chúng tôi đã sử dụng thiết kế một mạng Q tích chập (deep convolutional
Q-network) (12) đóng vai trò như một Tac ti, thực hiện các hành động hiệu quả
dé sửa đôi phần mềm độc hại nhằm tránh bị phát hiện bởi AV Mạng tích chập (convolutional network) là một loại mạng nơ-ron nhân tạo sâu, chuyên tiếp sử dụng biến thé của các perceptron (13) nhiều lớp được thiết kế dé xử lí yêu cầu.
Khi kích thước của dir liệu tăng lên, các tài nguyên cần thiết dé dao tạo và tính
toán sẽ tăng lên theo cấp số nhân Tuy nhiên, mạng nơ ron nhân tạo (articial neuralnetwork) có thê tong quát hóa từ dir liệu đầu vào
Mang sâu Q trong DQEAF là một phan mở rộng của mạng nơ-ron tíchchập, băng cách thêm một số tính năng mới với giá trị hành động Q (Qvalue) và
giá tri hành động mục tiêu ^ Q (Qtarget) anh xạ Trang (hái với các tiện ích hành
động (là giá trị của mỗi Hành động theo Trạng thái hoặc Quan sát) dé đượcthưởng lâu dài.
Hai mạng Q và mạng sâu Q đã sử dụng Qvalue và Qtarget riêng biệt trong
Computing Loss Function Loss function được định nghĩa trong Công thức 3.
1 (r¡ — Qvatue)? Ket thúc episode tại ¡ + 1
OSS; =
‘ (7, + VQtarget — Qvatue) Nguoc lai
Công thức 3: Phương thức xác định Loss function
Tại mỗi lần lặp lại Mạng sâu Q, một loạt nhỏ các Trạng thái, các Hành
động, Phan thưởng và Trạng thái tiếp theo được lay mau từ bộ nhớ phát lại dưới
dạng các Quan sát đề đào tạo Mạng Q, gần đúng với hàm giá trị hành động Trựcgiác sau lần huấn luyện lại là đạt được sự 6n định bằng cách phá vỡ sự phụ thuộc
về thời gian giữa các quan sát được sử dụng trong đào tao mạng noron sâu
29
Trang 30Ngoài mạng Q nói trên, mạng sâu Q sử dụng một mạng nơ-ron khác có tên
mạng mục tiêu Q để có được một ước lượng không chệch của lỗi Bellman (14) bình phương trung bình được sử dụng trong việc huấn luyện mạng Q Mạng mục tiêu Q được đồng bộ hóa với mạng Q sau mỗi khoảng thời gian lặp lại, dẫn đến
sự kết hợp giữa hai mạng.
Trong ngữ cảnh tránh phát hiện phần mềm độc hại, các mạng lấy các tính
năng được trích xuất từ luồng nhị phân thô (raw binary) của mẫu phần mềm độc hại làm đầu vảo, sau đó tạo ra hành động tiếp theo mà Tac tir sẽ thực hiện Đối với lớp đầu ra của mạng, chúng tôi quy định nó thành không gian hành động Trong bối cảnh này, thứ nguyên đầu ra bằng 4, đề cập đến tổng thứ nguyên của
không gian hành động.
Cu thé hon, các lớp an (hidden layers), các giá trị không được quan sát
trong tập huấn luyện, được thiết kế thành 2 lớp Lớp đầu tiên bao gồm một lớp tích chập (convolutional layer) với 256 bộ lọc sử dụng chức năng kích hoạt tuyến
tính (linear activation function,), một lớp chuẩn hóa hàng loạt normalization layer) và một ham đơn vi tuyén tính được chỉnh lưu (ReLU) Lớp
(batch-thứ hai bao gồm một lớp tích chập với số bộ lọc là 64, một lớp chuan hóa hàng
loạt (batch-normalization layer) và một hàm đơn vị tuyến tính lặp lại (ReLU) Ởđây, chúng tôi sử dụng chuẩn hóa hàng loạt (batch normalization) dé cải thiệntính tổng quát với việc chọn bỏ qua (Dropout) mạng và bắt đầu huấn luyện với
tốc độ cao dé tăng tốc quá trình đào tạo Hơn nữa, lợi thế của các hàm đơn vị
tuyến tính được chỉnh lưu là hội tụ nhanh hơn trong SGD (15), giảm bớt van đề
thiếu hụt trong độc dốc (16) và thực hiện đơn giản Các lớp này hợp tác thành
một mạng mạnh dé tính toán từ các tinh năng đầu vao của phần mềm độc hại đếnmục hành động đầu ra Sơ đồ mạng được thé hiện như Hình 7
30
Trang 31(1, 256), Roat32
(1, 256), Roat32
b: (64), float32 W: (64, 256), fluat32 (1, 256), foat32
Hình 7: Sơ đồ mang dao tao DQEAF.
Dropout là giải pháp tối ưu với việc có thé loại bỏ kha năng phục hồi cao
hơn đối với dir liệu không hoàn hảo hoặc dữ liệu ban (thường xảy ra khi trích xuất các tính năng từ phần mềm độc hại tương tự đã được biên dịch hoặc đóng gói
31
Trang 32băng phần mềm khác nhau) Các đơn vị tuyến tính được chỉnh lưu (ReLU) đã
được chứng minh là tăng tốc đáng kể việc đào tao mạng so với các chức năng
kích hoạt sigmoid (17) truyền thống
2.3.6 CartPole-vl
Cartpole - còn được gọi là Con lắc ngược là một con lắc có trọng tâm năm trên điểm trục của nó và được xây dựng bởi OpenAI Gym Nó không ổn định, nhưng
có thé được kiêm soát bằng cách di chuyên điểm trục dưới tâm khối lượng Mục
đích là để giữ cân bằng cho Cartpole bằng cách tác dụng các lực thích hợp lên
một điểm trục Từ trò chơi này chúng ta có thé thay được ứng dụng của RL một
cách thực tế nhất Với RL thì thường chúng ta sẽ quan tâm khá nhiều về Không
gian hành động của nó và ở đầy Không gian hành động của Cartpole có 2 giá trị
là L (trái) và R (phải) và Tác tr cùng Môi trường sẽ làm việc với nhau dé có thé dat được Phan thưởng tôi đa.
Cụ thể, Một cực được gan bang một khớp không truyền động vào một xe
đây, khớp này di chuyền đọc theo một đường ray không ma sát Hệ thống được điều khiến bằng cách tác dụng một lực +1 hoặc -1 vào cart Con lắc bắt đầu thang đứng, và mục dich là dé nó không bi đồ Phần thưởng +1 được cung cấp cho mỗi
bước thời gian ma cột van thăng đứng Tập kết thúc khi cột lệch hơn 15 độ so với
phương thăng đứng hoặc xe đây cách tâm hơn 2,4 đơn vị và chỉ tiết Hình 8.
32
Trang 33Hình 8: Ví dụ của OpenA] Gym?
2.3 Generative Adversarial Networks
2.3.1 Giới thiệu tong quan
Trong những năm gần đây, việc sử dụng ML đã được dé xuất dé phát hiệnphần mềm độc hại, những thuật toán ML này trích xuất các tính năng từ chươngtrình và sử dụng trình phát hiện hộp đen dé phân loại chương trình giữa chươngtrình lành tính và phần mềm độc hại Kiến trúc MalGAN (4) được đề xuất bởi Hu
và Tan (4) được thé hiện chỉ tiết trong Hình 9 có thể thực hiện khả năng vượt mặtcác trình phát hiện sử dụng ML trong thuật toán của họ.
Trình phát hiện hộp đen là một hệ thống bên ngoài sử dụng các thuật toánphát hiện phần mềm độc hại dựa trên ML Chúng tôi giả định rằng điều duy nhất
mà các tác giả phần mềm độc hại biết về trình phát hiện hộp đen là loại tính năng
mà nó sử dụng chứ không biết nó sử dụng thuật toán ML nào và không có quyền
truy cập vào các tham số của mô hình được đào tạo Toàn bộ mô hình củaMalGAN chứa một Trình tạo sinh (Generator) và một Trình phán biệt(Discriminator), cả hai đều là mạng nơ-ron có nguồn cấp dữ liệu chuyên tiếp
? https://gym.openai.com/envs/CartPole-v L/
33
Trang 34Trình tạo sinh và Trinh phân biệt làm việc cùng nhau dé tan công một trình pháthiện phần mềm độc hại sử dung ML.
BENIGN FEATURE
VECTOR
MALWARE FEATURE VECTOR
BENIGN &
ADVERSARIAL MALWARE EXAMPLES WITH LABELS
2.3.2 Trình tạo sinh (Generator)
Trình tạo sinh được sử dụng dé chuyén đôi vecto đặc điểm của phần mềm
độc hại thành phiên bản đối thủ của nó Nó là sự kết hợp của một vectơ đặc trưngcủa phần mềm độc hại m và một vectơ nhiễu z làm đầu vào m là một vectơ nhịphân M chiều Mỗi phần tử của m tương ứng với sự có mặt hoặc văng mặt của
một đối tượng đặc trưng z là vectơ Z chiều, trong đó Z là siêu tham số Mỗi phần
tử của z là một số ngẫu nhiên được lay mẫu từ một phân phối đều trong phạm vi
[0, 1) Tác dụng của z là cho phép Trinh tao sinh tạo ra các vi dụ đối nghịch đa dang từ một vectơ đặc điểm duy nhất của phần mềm độc hại.
Vectơ đầu vào được đưa vào mạng nơ-ron chuyền tiếp nhiều lớp với trọng
số 6 Lớp đầu ra (Output layer) của mang nay có M nơ-ron và hàm kích hoạt được sử dụng bởi lớp cuối cùng là sigmoid (17), và được giới hạn trong phạm vi
(0, 1) Đầu ra của mạng này được ký hiệu là o Vì các giá trị đặc trưng của phanmềm độc hại là nhị phân, nên phép biến đồi nhị phân được áp dụng cho ø tùy theo
phan tử có lớn hơn 0,5 hay không và quá trình nay tạo ra một vecto nhị phân o’.
Khi tạo các mẫu đối nghịch cho các tính năng phần mềm độc hại nhị phân, chúng tôi cũng xem xét thêm một số tính năng không liên quan vào phần mềm
độc hại hoặc xóa một tính năng không ảnh hưởng đến phần mềm độc hại Tuynhiên nếu việc chỉnh sửa vô tình ảnh hưởng đến tính năng của phần mềm độc hại
có thể làm hư hại nó Ví dụ nếu API “Write File” bị xóa khỏi chương trình,
34