Các công trình này đã tích hợp thành công mô hình học máy vào việc phát hiện và phân loại các mẫu mã độc.. TỔNG QUAN ĐỀ TÀIkhông đủ để mô hình học máy có thể nhận diện được những bộ nén
Trang 1TRUONG THI HOANG HAO - 20520191
NGUYEN THAI DUONG - 20520463
KHOA LUAN TOT NGHIEP
NGHIEN CUU MO HINH TIN CAY VA BEN VUNG TRONG
PHAT HIEN MA DOC DA HINH
A STUDY ON TRUSTWORTHY AND ROBUST MODEL FOR
POLYMORPHIC MALWARE DETECTION
CU NHAN NGANH AN TOAN THONG TIN
GIANG VIEN HUONG DAN:
TS Pham Van Hau
ThS Nghi Hoang Khoa
TP.H6 Chi Minh - 2024
Trang 2LỜI CẢM ƠN
Trong quá trình nghiên cứu và hoàn thành khóa luận, nhóm đã nhận được sự
định hướng, giúp đỡ, các ý kiến đóng góp quý báu và những lời động viên của
các giáo viên hướng dẫn và giáo viên bộ môn Nhóm xin bày tỏ lời cảm ơn tới thầyNghi Hoàng Khoa, thầy Phạm Văn Hậu đã tận tình trực tiếp hướng dẫn, giúp đỡ
trong quá trình nghiên cứu.
Chúng tôi xin gửi lời tri ân và biết ơn đến ThS Phan Thế Duy đã trực tiếp quantâm, đồng hành và hướng dẫn tận tình trong suốt quá trình chúng tôi tìm hiểu vàthực hiện dé tài Nhóm xin gửi lời cảm ơn đến gia đình và bạn bè đã động viên,đóng góp ý kiến trong quá trình làm khóa luận
Nhóm cũng chân thành cảm ơn các quý thầy cô trường Đại học Công nghệ Thông
tin - ĐHỌG TP.HCM, đặc biệt là các thầy cô khoa Mạng máy tính và Truyềnthông, các thầy cô thuộc bộ môn An toàn Thông tin đã giúp đỡ nhóm
Cuối cùng, do kiến thức chuyên môn còn hạn chế nên khóa luận chắc chắn không
tránh khỏi những thiếu sót Rất mong nhận được nhận xét, ý kiến đóng góp, phêbình từ quý thay cô trong hội đồng để khóa luận được hoàn thiện hon
Trương Thị Hoàng Hảo Nguyễn Thái Dương
ii
Trang 3Mục lục
THONG TIN HỘI DONG CHAM KHÓA LUẬN TỐT NGHIỆP ¡
LỜI CẢMƠN Q2 Q2 nho ii TOM TAT KHOA LUAN 1 1 TONG QUAN DETAI 2 11 Lydochon dé tai 0 ee eee 2 1.2 Phuong pháp nghiên cứu 4
13 Mục tiêu nghiên cứu ẶẶẶ 4 1.4 Phạm vi và Đối tượng nghiên cứu 4
15 Cấu trúc Khóa luận tốtnghiệp 5
2 CƠ SỞ LÝ THUYẾT 6 21 Tệp thực thì PE 3» ( .ố.ˆ” Ặ.Ặ 6 2.11 Cấu trúc tệp thựcthi 6
Trường tiêu dé DOS (DOS Header) 7
Trường DOSSTUB 9
Trường tiêu dé PE (PE Header) 9
Phan đoạn bang (Section Table) 10
Phân đoạn tập tin PE (Section PEEile) 10
212 Hợpngữ Ha 11 22_ Mô hình phát hiện mã độc 13
2.21 Phương pháp phân tíchtính 14
2.2.2 Phương pháp phân tchđộng 15
Kỹ thuật Giám sáthànhvIi 15
Kỹ thuật giả lap (Emulation) 15
2.2.3 Mô hình phát hiện mã độc dựa trên học máy 16
Thuật toán cây quyết định - 17
11
Trang 42.24 Thuật toán rừng ngẫu nhiên 19
2.2.5 Thuật toán tăng cường độ dốc (Gradient Boosting) 19
2.2.6 Thuậttoán AdaBoost 22
2.27 Mạng nơron tchchập 24
2.3 Mô hình khả diễn giải-XAI 25
2.3.1 XAI với SHAP (SHapley Additive exPlanations) 26
2.3.2 Giá trịSHAP (SHAPValues) 26
2.3.3 TreeSHAP Q Q Q Q Q Q Q ee 29 2.34 AMM 0.0 cee eee 29 2.3.5 Ung dung SHAP vào phát hiện mã độc dựa theo phương pháp phân tích nh 29
2.3.6 Deep Learning Important FeaTures -DeepLIFT 29
2.3.7 DeepLIFTSHAP (DeepLIFT + Giá triSHAP) 30
2.3.8 Shapley Additive Global importancE (SAGE) 31
2.4 Tình hình nghiên cứu và các công trình liên quan 31
PHƯƠNG PHÁP THỰC HIỆN 34 3.1 Kiến trúctổng quát nho 34 32 ChitiétmOhinh ẶẶcc So 35 3.2.1 Luông hoạtđộng chính - 35
3.2.2 Lựa chọn đặc trưng hướng dẫn bởi XAI 36
3.2.3 Phat sinh mẫu đối kháng với XAI-GAN 40
3.24 Huẩn luyện đối kháng - 44
THỰC NGHIỆM VÀ ĐÁNH GIÁ 46 41 Hiệnthực ẶẶ ee 47 411 Tậpdữliệu Ặ.Ặ 47 Thông tin chung về tập dữ liệu 47
Wild Dataset 47
Lab Dataset ẶẶẶ So 48 Thuộc tính Ặ ee 48 Môi trường thực nghiệm 49
Xử lý dữ liệu c2 51 4.1.2 Các têu chíđánhgiá 52
1V
Trang 54.1.3 Thông tin về cau hình của các mô hình được sử dụng trong
4.1.4 Độ tin cậy của những mẫu mã độc sau khi được thực hiện
tạo mẫu đối kháng - 55
4.2.1 Cáccâuhỏinghiêncứu 56
4.2.2 Các kết quathucnghiém 56
Kịch bản 1a: Kiểm tra khả năng phát hiện mã độc đa hình
của mô hình cơsở 56
Kịch bản 1b: Kiểm tra khả năng chống lại mẫu đối kháng
của mô hình cơ sở trước và sau khi thực hiện huấnluyện đối kháng 59
Kịch bản 2a: Kiểm tra khả năng phát hiện mã độc da hình
của mô hình đã được cập nhật thuộc tinh 63
Kịch bản 2b: Kiểm tra khả năng chống lại mẫu đối kháng
của mô hình đã cập nhật thuộc tính trước và saukhi thực hiện huấn luyện đối kháng 66
43 Thaoluamy W Ae GÀ fl ee 69
5 KET LUẬN VÀ HƯỚNG PHAT TRIEN 70
51 KếtluG Ố 705.2 Hướng phát ;¡/ 1mm 71
Trang 6Danh sách hình ve
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12
3.1
3.2
3.3
3.4
3.5
3.6
3.7
4.1
4.2
4.3
4.4
4.5
4.6
Cấu trúc định dang tập tinPE - 8
Ví dụ về hợp ngữ Q Q Q eee 11 Ví dụ về thuật toán cây quyết định 18
Ví dụ về thuật toán rừng ngẫu nhiên 20
Ví dụ về thuật toán Gradient Boosting 21
Ví dụ về thuật toán AdaBoost 23
Ví dụ về thuật mạng nơ-ron tích chập 24
Ví dụ về bước nhảy trong mạng CNN 25
Tổng quan về bộ công cụ SHAP 27
Tính toán phân phối cận biên cho một thuộc tính 28
Tính toán giá trị SHAP một thuộc tính 28
Mô hình xAI-GAN[I5] 33
Kiến trúc tổng quát mô hình mà nhóm dé xuất 34
Luéng hoạt động của giai đoạn chon lọc thuộc tinh 36
Thuật toán chọn lọc không gian đặc trưng dựa trên AMM [19] 38
Cách tnhAMM es 39 Luông hoạt động của giai đoạn phát sinh mẫu đối kháng 41
Kiến trúc mô hình xAI-GAN Ặ co 43 Luéng hoạt động của giai đoạn huấn luyện đối kháng 45
Kiến trúc mạng nơ ron tích chập -CNN - 53
Kết quả giá tri SAGE để giải thích cho mô hình 55
Luéng thực nghiệm chung cho kịch bản la 57
Luéng thực nghiệm chung cho kịch ban 1b giai đoạn đầu 59
Luéng thực nghiệm chung cho kịch ban 1b giai đoạn sau 61
Luông thực nghiệm chung cho kịch bản2a 63
VI
Trang 74.7 Kết quả của các mô hình khi thay đổi giá trim 4.8 Luông thực nghiệm chung cho kịch bản 2b giai đoạn đầu
4.9 Luông thực nghiệm chung cho kịch bản 2b giai đoạn sau
vii
Trang 8Danh sách bảng
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
Thông tin tổng quát về nguồn dit liéu của dé tài 46
Chi tiết dữ liệu của tập train và tập test 51
Kết quả phát hiện mã độc trên các mô hình khác nhau 57
Kết quả tan công đối kháng trên các mô hình khác nhau 60
Kết quả mô hình sau khi được huấn luyện đối kháng 62
Kết quả mô hình sau khi được giảm 100 thuộc tính 65
Kết quả tân công đối kháng trên những mô hình sau khi lược bỏ 100 thuộc tính ẶẶ eee 67 Kết quả của mô hình phát hiện mã độc đáng tin cậy 68
Vili
Trang 9Danh mục từ viết tắt
AMM Accrued Malicious Magnitude
SAGE Shapley Additive Global importancE
XAI eXplainable Artificial Intelligence
GAN Generative Adversarial Network
SHAP SHapley Addictive exPlanations
TreeSHAP Tree-based SHapley Addictive exPlanations
CNN Convolutional Neural Network
DNN Deep Neural Network
DeepLIFT Deep Learning Important FeaTures
DeepLIFTSHAP Deep Learning Important FeaTures SHapley Addictive exPlanations
ix
Trang 10Danh mục tư tạm dịch
Biên độ độc hại tích lũy
Mô hình khả diễn giải
Tập train Tập test
Tổng cộng
Đặc trưng dé bị ảnh hưởng nhưng ít đóng góp
Đặc trưng /Thuộc tính Lành tính
Độc hại Hàm kích hoạt
Ham mat mát
Hoc có giám sát Học không giám sát
Học sâu
Học máy
Mô hình cơ sở
Rừng ngẫu nhiên Tăng cường độc dốc
Kinh nghiệm
Lớp đầu vàoLớp đầu ra
Lớp an
Lớp tích chập
Lop gop
AMM XAI
Train set Test set Total
Fragile feature feature
Benign
Malicious Activation function Loss function
Supervised learning
Unsupervised learning
Deep learning
Machine learning Baseline model
Random Forest
Gradient Boosting
Experience Input layer
Output layer Hidden layer
Convolution Layer
Pooling layer
Trang 11Không gian đặc trưng
Không gian van dé
Precision
Recall
Feature-space
Problem-space
Trang 12TÓM TẮT KHOÁ LUẬN
Trong những năm gan đây, các nhà nghiên cứu về an toàn thông tin, cụ thể là mãđộc đã không ngừng cải tiến các hệ thống phát hiện mẫu Các công trình này đã
tích hợp thành công mô hình học máy vào việc phát hiện và phân loại các mẫu
mã độc Tuy nhiên, đi kèm với những cải tiến này, thủ thuật tấn công cũng trở
nên tinh vi hơn.
Để chống lại các hình thức tấn công đối kháng đang không ngừng phát triển, rấtnhiều nghiên cứu đã được dé xuất và thực hiện Adversarial training - huấn luyện
đối kháng là một trong những chiến lược phòng thủ phổ biến nhất để chống lại
tấn công đối kháng và tuân theo một quy trình như sau: các mẫu đối kháng sẽ
được tạo và mô hình học máy được huấn luyện lại trên các mẫu đối kháng đó.
Phương pháp này đã được chứng minh trong thực nghiệm rằng nó có thể giảm
thiểu một hoặc một số tân công đối kháng xuống một mức độ nào đó nhưng nó
vẫn chưa cung cấp được sự đáng tin cậy cho người dùng.
Để giải quyết những van dé trên, nhóm chúng tôi quyết định tiến hành nghiêncứu về việc xây dựng một mô hình bền vững và đáng tin cậy trong việc nhận diện
mã độc, kể cả những mã độc đột biến chẳng hạn như mã độc nén hoặc mã độc
đối kháng bằng cách áp dụng mô hình học máy khả diễn giải - Explainable AI
(XA]) và bộ sinh đối kháng GAN kết hợp với kĩ thuật huấn luyện đối kháng.
Kết quả đạt được cho toàn bộ các mô hình là 90% ở chỉ số độ chính xác cho thấykhả năng phát hiện mã độc nén va mã độc đối kháng đã đạt được bước tiền vượtbật sau khi áp dụng mô hình mà nhóm đề xuất
Trang 13Chương 1
TONG QUAN DE TÀI
Tom tat chuong
Chương nay giới thiệu về van dé và các nghiên cứu liên quan Đồng thời, trongchương này chúng tôi cũng trình bày phạm vi và câu trúc của Khóa luận
11 Lý do chọn đề tài
Trong bối cảnh số lượng các loại mã độc đang tăng lên với một tốc độ chóng mặt,rất nhiều nghiên cứu về ứng dụng các kỹ thuật học máy để phát hiện và phân loại
mã độc đã được ra đời Việc áp dụng các mô hình học máy giúp cho quá trình
tự động hóa và phát hiện mã độc trở nên dé dàng hơn, một số nghiên cứu về mô
hình nhận diện mã độc xoay quanh bộ dữ liệu EMBER [3] có tỷ lệ phát hiện mãđộc rat cao, chang hạn như mô hình DeepMalNet [21] có kết quả phát hiện ma
độc với độ chính xác lên đến 98% Tuy nhiên, để qua mặt các công cụ phân tích
mã độc tĩnh, các phần mềm độc hại có thể sử dụng các phương pháp đột biến
khác nhau để né tránh Một trong những phương pháp có tỉ lệ né tránh sự phát
hiện của các mô hình học máy thành công cao chính là phương pháp nén.
Công trình nghiên cứu trong bai bao "When Malware is Packin’ Heat" [2] của
nhóm Aghakhani đã chỉ ra rằng những bộ nén lưu giữ những thông tin "hữu ích"
cho việc nhận diện mã độc, tuy nhiên những thông tin này không thực sự hữu
ích trong việc phân tích hành vi của mã độc Công trình này nghiên cứu về nhữnghạn chế của việc sử dụng học máy trong việc phân tích thuộc tính tĩnh Kết quả
từ những nghiên cứu này chỉ ra rằng, việc trích xuất thuộc tính từ các tệp nén là
Trang 14Chương 1 TỔNG QUAN ĐỀ TÀI
không đủ để mô hình học máy có thể nhận diện được những bộ nén mới, chưa
từng xuất hiện trước đây, áp dụng học máy một cách "ngây thơ" sẽ làm tăng đáng
kể các kết quả dương tính giả, từ đó việc nhận diện những file mã độc đã đượcnén trong thực tế sẽ không chính xác
Thông qua các nghiên cứu về việc áp dụng các mô hình học máy để nhận diện
mã độc đột biến gần đây, nhóm chúng tôi nhận thấy rằng những bộ nén khác
nhau sẽ có cách trích xuất đặc trưng khác nhau Trong đó, những thuộc tính như
kích thước của file (file size) khá quan trọng trong việc nhận dạng những mẫu đã
được nén Ngoài ra, nghiên cứu của [2] cũng đã chỉ ra rằng những mô hình học
máy chỉ có kha năng nhận điện được những bộ nén đã được học hoặc những bộ
nén có chức năng gần giống
Việc áp dụng học máy trong việc phát hiện mã độc đã giúp cho quá trình phát
hiện được tự động hóa và trở nên nhanh chóng hơn Tuy nhiên, những mô hìnhnày rất dé bị đánh lừa bởi các cuộc tấn công đối kháng, khiến cho việc phát hiện
mã độc trở nên khó khăn [6] Chính vì thế, độ tin cậy và hiệu quả của chúng đã
bị đặt một dấu hỏi lớn Ví dụ về cách tạo mẫu đối kháng được thể hiện ở Hình 1
Trong những năm gan đây, để chống lại các hình thức tấn công đối kháng đangkhông ngừng phát triển, rất nhiều nghiên cứu đã được đề xuất và thực hiện Dựatheo khảo sát của [11], adversarial training - huấn luyện đối kháng là một trongnhững chiến lược phòng thủ phổ biến nhất để chống lại tan công đối kháng Cácnghiên cứu dựa trên chiến lược phòng thủ này như [22] và [23] đều tuân theo
một quy trình tương tự nhau: các mẫu đối kháng sẽ được tạo và mô hình học
máy được huấn luyện lại trên các mẫu đối kháng đó Phương pháp này đã đượcchứng minh trong thực nghiệm rằng nó có thể giảm thiểu một hoặc một số tancông đối kháng xuống một mức độ nào đó nhưng nó vẫn chưa cung cấp được sự
đáng tin cậy cho người dùng.
Để giải quyết những vấn dé trên, nhóm chúng tôi quyết định tiến hành nghiêncứu về việc xây dựng một mô hình bền vững và đáng tin cậy trong việc nhận điện
mã độc, kể cả những mã độc đột biến chẳng hạn như mã độc nén hoặc mã độc
đối kháng bang cách áp dung Explainable AI (XAI) và bộ sinh đối kháng GAN
kết hợp với kĩ thuật huấn luyện đối kháng.
Trang 15Chươ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 mã độc, đặc biệt là mã độc nén, từ đó phát triển
mô hình phát hiện mã độc bằng phương pháp học máy, ngoài ra triển khai thêm
XAI kết hợp với GAN để tăng độ hiệu quả và mạnh mẽ cho mô hình, trở thànhmột mô hình phát hiện mã độc đáng tin cậy, có khả năng chống lại mã độc độtbiến và cả tấn công đối kháng Ngoài ra nhóm chúng tôi còn thực hiện đánh giá,kiểm thử tính mạnh mẽ của mô hình đối với phương pháp tấn công đối kháng vàđưa ra hướng mở rộng để có thể triển khai mô hình trong thực tế
1.3 Mục tiêu nghiên cứu
Khóa luận gồm bốn mục tiêu chính như sau:
1 Mã độc đột biên (mã độc nén)
2 Xây dựng hệ thống phát hiện mã độc đột biến bằng cách kết hợp mô hình
học máy khả diễn giải và mạng sinh đối kháng
3 Xây dựng tính bền vững và tin cậy cho hệ thống phát hiện mã độc đột biến
chống lại các mẫu đối kháng
4 Đánh giá độ hiệu quả của mô hình đề xuất trên các tập dữ liệu.
1.4 Phạm vi va Đối tượng nghiên cứu
Nhóm chúng tôi thực hiện phát triển mô hình phát hiện mã độc bằng phươngpháp học máy, trong đó phần xử lý đặc trưng bằng công cụ AMM được dựa trên
công trình nghiên cứu "Mate! Are You Really Aware?" [19] của Ruoxi Sun và cộng
sự kết hợp với SAGE [5] Sau đó nhóm chúng tôi kết hợp triển khai thêm mô hìnhXAI kết hợp với GAN dua dựa theo mô hình xAI-GAN [15] để có thể tạo ra nhữngmẫu mã độc đối kháng tốt nhất để có thể huấn luyện đối kháng cho mô hình, trởthành một mô hình phát hiện mã độc đáng tin cậy, có khả năng chống lại mã độcđột biến và cả tan công đối kháng
Trang 16Chương 1 TỔNG QUAN ĐỀ TÀI
1.5 Cau 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 1: TONG QUAN DE TÀI
Trình bày khái quát định hướng nghiên cứu của khóa luận mà chúng tôi
muốn hướng tới
Chương 2: CƠ SỞ LÝ THUYET
Trình bày các định nghĩa, khái niệm cũng như những kiến thức nền tảng để
có thể thực hiện được nghiên cứu Đồng thời trình bày sơ lược một số công
trình liên quan có cùng hướng nghiên cứu.
Chương 3: PHƯƠNG PHÁP THỰC HIỆN
Là phần trọng tâm của khoá luận, trình bày những nội dung chính về phươngpháp thực hiện và mô hình được sử dụng.
Chương 4: HIỆN THỰC, ĐÁNH GIÁ VÀ THẢO LUẬN
Đề cập đến quá trình hiện thực hóa phương pháp dé cập ở Chương 3 Sau đótrình bày phương pháp thực nghiệm, đánh giá kết quả và thảo luận chung
Chương 5: KET LUẬN VÀ HƯỚNG PHÁT TRIỂN
Dua ra kết luận về đề tài, dé xuất một số hướng phát triển mở rộng cho các
nghiên cứu trong tương lai.
Trang 17cách kết hợp giữa XAI va GAN để lọc ra những thuộc tính, những mẫu đối kháng
tốt nhất nhằm phục vụ cho việc huấn luyện đối kháng
2.1 Tệp thực thi PE
2.1.1 Cấu trúc tệp thực thi
Trong nghiên cứu này chúng tôi chỉ sử dụng những tệp thực thi có định dạng PE
làm đối tượng nghiên cứu
Định dạng tệp PE, là một loại tệp thực thi tiêu chuẩn trên hệ hiệu hành Windows,
tên đầy đủ là Portable Executable (PE), định dạng tệp tin PE là định dạng của tệp
thực thi executables(.exe) và dynamic link library(.dll), được sử dụng cho cả 2
phiên bản hệ điều hành 32 bit và 64 bit Định dạng này là một cấu trúc đóng gói
đữ liệu cho trình tải hệ điều hành Windows(Windows OS loader) để quản lý và
thực thi những mã lệnh Những chức năng cơ bản của định dạng tệp tin PE:
¢ Mô tả Dinh dang PE: Dinh dang PE (Portable Executable) cung cấp một bản
đồ chi tiết về cách chương trình được tải vào bộ nhớ Nó xác định vị trí vàcách mã và dữ liệu được lưu trữ trong bộ nhớ, cũng như các thư viện cần
6
Trang 18Chương 2 COSO LY THUYẾT
thiết và cách chúng được liên kết Bằng cách này, nó quy định cách chính
xác để hệ điều hành tải chương trình và đảm bảo tính đồng nhất trong quá
trình thực thi.
© Tài nguyên sử dụng trong quá trình thực thi: Chương trình cung cấp các
tài nguyên như hình ảnh, video, và chuỗi ký tự mà nó có thể sử dụng trong
suốt quá trình thực thi Các tài nguyên này đóng vai trò quan trọng trongviệc cung cấp trải nghiệm người dùng hoàn chỉnh và đa dạng, bổ sung chochức năng chính của chương trình.
e Cơ chế bảo mật: tập tin PE thường sử dung chữ ký số và các phương tiện
khác để hệ điều hành có thể xác thực nguồn gốc của chương trình được nạp.Qua đó, hệ điều hành có khả năng đảm bảo tính toàn vẹn và nguồn gốc của
mã, giúp ngăn chặn các cuộc tân công độc hại và đảm bảo tính ổn định của
hệ thống.
Cấu trúc chung của định dạng tệp tin PE sẽ có 2 phần là header và section, phầnheader dùng để lưu các giá trị định dang va offset của các section trong phan
section.
Trường tiêu dé DOS (DOS Header)
Trường tiêu dé DOS có mục dich để thông báo tệp tin không thé hoạt động Trong
môi trường MS-DOS, trường này được thực thi mỗi khi tệp tin chạy trong môi
trường MS-DOS Cụ thể, Trường tiêu dé DOS chiếm 64 bytes đầu tiên trong tệp
và bao gồm hai giá trị quan trọng: e magic (0x5a4b) và e_lfanew, một DWORD
4 bytes Giá trị trong e_lfanew chứa khoảng cách (offset) đến Trường tiêu dé tập
tin PE, xác định cách thức tập tin sẽ được thực thi Để đảm bảo khả năng thực thi
trong môi trường MS-DOS, 64 bytes đầu tiên của tệp thực thi PE được chiếm bởi
trường tiêu dé DOS Trong trường này, e_magic là chữ ký của tệp thực thi PE vae_là một DWORD chứa offset của PE Header so với vị trí đầu tệp Thông qua việcnày, tệp tin được xác định và chuẩn bi để thực thi, giúp tăng tính linh hoạt của nó
trong các môi trường khác nhau.
Trang 19Chương 2 COSO LY THUYẾT
6x000
6x0008 6x0010
6x0018 6x0020 0x0028 0x0030 0x0038
0x0040
0x0048 9x0050 0x0058
@xa060 0x0068
Windows Specific Fields
Data Directories
Section Table
Optional Header
Trang 20Chương 2 COSO LY THUYẾT
Trường DOS STUB
Trường này là một chương trình DOS EXE dùng để thông báo lỗi: “This is
pro-gram cannot be run in DOS mode” khi chương trình không tương thích.
Trường tiêu dé PE (PE Header)
Truong PE header bao gom cac thong tin can thiét dé tai chương trình lên bộ nhớ.Câu trúc này gồm 3 phần được định nghĩa trong windows.inc:
¢ Signature: là 1 DWORD bắt đầu của PE Header chứa chữ ký : 50h, 45h, 00h,
00h.
se IMAGE FILE HEADER: Trường nay bao gồm 20 bytes tiếp theo của PE
Header, phan này chứa thông tin về sơ dé bố trí vật lý và các đặc tính của
tệp tin.
e® IMAGE_OPTIONAL_HEADER: Gồm 224 bytes tiếp theo sau
FILE_HEADER Chứa thông tin về sơ đồ logic trong tệp tin PE Trường naychứa một số thông tin quan trọng giành cho việc chỉnh sửa tệp tin
Magic (2 bytes): Xác định là tệp tin 32 bit (OB 01) hay 64 bit (OB 20)
AddressOfEntryPoint (4bytes): Chứa dia chi ảo tương đối (RVA) củacâu lệnh đầu tiên sé được thực thi khi chương trình PE loader san sàng
để chạy tệp thực thi PE (.text) Nếu muốn chương trình bắt đầu từ một
địa chỉ khác (để thực thi câu lệnh với mục đích khác) thì cần thay đổiđịa chỉ này về địa chỉ tương đối của câu lệnh muốn thực thi
ImageBase: địa chỉ nạp được ưu tiên cho tệp tin PE.
Section Alignment: Phần liên kết của các Section trong bộ nhớ
File Alignment: Phan liên kết của các Section trong tệp tin Tương tự
như SectionAlignment nhưng áp dụng với tệp tin.
SizeOfImage: Toàn bộ kích thước của Pe image trong bộ nhớ, là tổng
của tất cả các headers và sections được liên kết tới Section Alignment
SizeOfHeaders: Kích thước của tất cả các headers + section table =
kích thước tệp tin trừ đi tổng kích thước của các section trong tệp tin.
9
Trang 21Chương 2 COSO LY THUYẾT
— Data Directory: là một mảng gồm 16 phan tử, trong đó mỗi phần liên
quan đến một cấu trúc di liệu quan trọng trong tệp tin PE
Phân đoạn bảng (Section Table)
Section Table là thành phần tiếp theo ngay sau Trường tiêu để PE, Section ble bao gồm một mảng những câu trúc IMAGE_SECTION_HEADER, Mỗi thànhphần trong đó đều chứa thông tin về một phân đoạn cụ thể trong tệp tin PE:
Ta-¢ Kích thước ảo (VirtualSize): Kích thước thật của dữ liệu sau khi được tải
lên bộ nhớ.
¢ Dia chỉ ao (VirtualAddress): Giá trị ánh xạ của các section sau khi được tải
lên bộ nhớ.
* SizeOfRawSection: Kích thước của section data có trên 6 đĩa
* PointerOfRawSection: là offset từ đầu tệp tin cho tới section data
¢ Đặc tinh (Characteristic): Chia đặc tính của section: thực thi, dữ liệu khởi
tạo
Phân đoạn tập tin PE (Section PE File)
Phan sections của một tệp tin PE chứa dữ liệu cần thiết dé có thể thực thi đượctệp tin Mỗi phan của PE section đều có chứa tiêu dé riêng (Section Header) được
lưu trữ trong Section Table Section gồm có:
© text: Phần text là phân đoạn chứa mã thực thi của tệp tin PE
e data: Chua dữ liệu, các biến được khởi tao trong mã lệnh
© rdata: Chứa những dữ liệu chỉ đọc, các biến const
* idata: Chứa bảng nhập (Import Tables) Phan này được trình tai sử dụng để
xác định sẽ tải những DLL nào va các chức năng được sử dụng từ mỗi DLL.
© edata: Chứa những thư mục xuất (Export Directory) Phan nay bao gồm
những hàm có chức năng xuất
10
Trang 22Chương 2 COSO LY THUYẾT
© rsrc: Chứa tai nguyên mà một chương trình sử dung Bao gồm hình ảnh,
biểu tượng,
2.1.2 Hop ngữ
Hop ngữ hay còn được gọi là Assembly code, là một loại ngôn ngữ bac thấp va
có khả năng tương tác trực tiếp với vi xử lý Hợp ngữ có thể được dịch sang ngôn
ngữ khác thông qua trình biên dịch assembly (assembler) và trình dịch ngược
(disassembler) [1] Dịch mã độc sang hợp ngữ giúp việc phân tích và điều tra trở
nên dé dàng hơn nhờ tính tương thích với hoạt động của máy tính.
Malware Author Malware Analyst
High-level Language Low-Level Language
này được nạp vào bộ nhớ khi chương trình chạy Các loại mã độc thường lợi dụng
DLL để thay đổi thanh ghi hệ thống, sao chép tập tin,
11
Trang 23Chương 2 COSO LY THUYẾT
Nghiên cứu của Moskovitch [14] cũng chi ra rằng việc sử dung hợp ngữ sé có hiệu
quả cao hơn trong việc phân tích mã độc so với mã máy, ngoài ra mã độc nén và
mã độc đa hình có thể bị phân tích bằng cách sử dụng những trình disassembler
như IDA.
Các kỹ thuật biến đổi hình dạng mã độc trên hợp ngữ như chèn mã chết, tái khaibáo thanh ghi, tái sắp xếp chương trình con, thay thế lệnh, chuyển vị mã và tíchhợp mã nhằm mục đích tránh được phát hiện bởi các trình phát hiện mã độc.Điều này làm nảy sinh nhu cầu phân tích mã hợp ngữ của các nhà khoa học đểhiểu rõ cơ chế phát hiện mã độc của các công cụ phát hiện hiện tại
Một số vai trò của hợp ngữ trong việc phát hiện và phân tích mã độc:
s® Phân tích chuyên sâu và chi tiết: Mã độc thường được viết hoặc dịch sang
hợp ngữ để tăng độ khó trong việc phát hiện và phân tích Khả năng đọc
hiểu hợp ngữ giúp các chuyên gia an ninh mạng tiếp cận mã độc từ gốc rễ,
phân tích các hành vi bat thường hoặc độc hai ma các công cu tự động có
thể bỏ sót Nghiên cứu của Gu và cộng sự [4] đã nhấn mạnh tầm quan trọng
của việc sử dụng hợp ngữ trong việc phát hiện mã độc thông qua phân tích
tính và học máy.
© Phat hiện kỹ thuật xáo trộn (Obfuscation): Kỹ thuật xáo trộn mã nhằm che
giấu mục đích thực sự của mã độc bang cách thay đổi cấu trúc mà không
làm thay đổi hành vi của nó Các nhà phân tích, nhờ vào kiến thức về hợpngữ, có thể giải mã các đoạn mã xáo trộn này, từ đó phát hiện và hiểu rõhơn về cách thức hoạt động của mã độc Nghiên cứu của Gibert và cộng sự
[8] đã đề cập đến các thách thức trong việc phân tích mã độc khi phải đối
mặt với kỹ thuật xáo trộn và cách hợp ngữ có thể hỗ trợ trong việc này
¢ Tạo chữ ký mã độc (Malware Signature): Hợp ngữ giúp tao ra các chữ ký
mã độc cụ thể, dựa trên các mẫu hành vi hoặc các đoạn mã độc hại đã biết.Những chữ ký này sau đó được sử dụng trong các hệ thống phát hiện mãđộc để so sánh và phát hiện các mối đe dọa tiềm ẩn Theo nghiên cứu trong
"EURASIP Journal on Information Security" [7], việc sử dụng hợp ngữ để
tạo chữ ký mã độc giúp nâng cao hiệu quả phát hiện và đối phó với các mối
đe dọa mới.
12
Trang 24Chương 2 COSO LY THUYẾT
2.2 Mô hinh phat hiện mã độc
Trong bối cảnh an ninh mạng ngày càng trở nên phức tạp và khó lường, mã độc
là một mối đe dọa đáng sợ đối với cả người dùng cá nhân và doanh nghiệp.Những cuộc tan công ransomware gần đây đã gây ra những thiệt hại nghiêmtrọng, không chỉ về tài chính mà còn ảnh hưởng lớn đến uy tín và sự hoạt độngliên tục của các tổ chức Điều này đã nhắn mạnh sự cần thiết của việc phát triểncác phương pháp phát hiện mã độc hiệu quả Việc phát hiện và phòng chống mãđộc không chỉ là một thách thức kỹ thuật mà còn là một yếu tố then chốt trongviệc bảo vệ hệ thống khỏi các cuộc tấn công nguy hiểm
Để đối phó với các mối đe dọa ngày càng tinh vi, các nhà nghiên cứu đã phát
triển hai phương pháp chính để phát hiện mã độc: phân tích tĩnh và phân tích
động Phân tích tĩnh là quá trình nghiên cứu mã nguồn hoặc mã biên dịch của
một chương trình mà không cần thực thi nó Phương pháp này tập trung vào việc
kiểm tra các đặc điểm cố định của mã, chang hạn như cấu trúc, chuỗi ký tự, và
các mẫu lệnh Phân tích tĩnh có thể phát hiện mã độc thông qua việc so sánh với
các chữ ký mã độc đã biết hoặc thông qua các kỹ thuật học máy để nhận diện các
mẫu mã độc mới.
Ngược lại, phân tích động liên quan đến việc theo dõi hành vi của chương trìnhtrong khi nó đang thực thi Phương pháp này giúp nhận diện các hành vi bat
thường hoặc đáng ngờ mà mã độc có thể thực hiện, chẳng hạn như truy cập trái
phép vào các tài nguyên hệ thống, ghi lại thao tác bàn phím, hoặc mã hóa dữ liệu
để tống tiền Phân tích động thường được thực hiện trong một môi trường kiểm
soát, chẳng hạn như máy ảo hoặc sandbox, để đảm bảo rằng mã độc không gây
hại đến hệ thống thực tế
Sự kết hợp giữa phân tích tĩnh và phân tích động cung cấp một cách tiếp cận toàn
điện hơn để phát hiện mã độc Phân tích tĩnh giúp nhanh chóng lọc ra các mẫu
mã có khả năng là mã độc, trong khi phân tích động cung cấp thông tin chỉ tiết
về hành vi thực tế của chúng Bằng cách sử dụng cả hai phương pháp này, cácchuyên gia an ninh mạng có thể nâng cao khả năng phát hiện và phản ứng kịpthời với các mối đe dọa, giảm thiểu thiệt hại và bảo vệ tốt hơn cho hệ thống và dữ
liệu quan trọng.
13
Trang 25Chương 2 COSO LY THUYẾT
2.2.1 Phương pháp phân tích tinh
Kỹ thuật phát hiện mã độc dựa trên phương pháp phân tích tĩnh giúp hệ thốngphát hiện được mã độc mà không cần phải thực thi chương trình, giúp giảm nguy
cơ mã độc gây hại trong quá trình phân tích mà thay vào đó những thuộc tính của
tệp thực thi được trích xuất ra bằng một số kỹ thuật chuyên sâu chẳng hạn như
trích xuất từ trường Header, trích xuất từ các đoạn mã được tải lên
Ngoài ra, phân tích tĩnh còn cho phép kiểm tra toàn bộ mã nguồn và cấu trúc của
chương trình, giúp nhận diện các đặc điểm đặc trưng của mã độc Ví dụ, các đặc điểm như chuỗi ký tự đặc biệt, những đoạm đáng ngờ, việc sử dụng các đặc điểm này trong mô hình học máy có thể nâng cao độ chính xác trong việc phát hiện mã
độc.
Những nhóm thuộc tính của tệp thực thi PE có thể trích xuât được là: DOS, PE,
Optional and Sections Table đối với trường header, còn với trường sections sẽ là
những nhóm thuộc tính như Code, Imports và Data [10] Những thuộc tính trong
những trường này sẽ được trích xuât nhằm mục đích huấn luyện cho mô hình
phát hiện mã độc dựa trên học máy.
Để có thể trích xuất được những thuộc tính nhằm huấn luyện mô hình trong
phương pháp phân tích tĩnh, một số trình dịch ngược, trình gỡ lỗi được sử dụng
để phân tích tệp tin mã độc như IDA Pro và OllyDbg [20], những công cụ này
cung cấp cho những nhà nghiên cứu những thông tin chuyên sâu về cơ chế hoạtđộng của phần mềm độc hại Ngoài ra một số công cụ trích xuất bộ nhớ LordPE
và OllyDump [20] có thể được sử dụng để lấy mã được bảo vệ (protected code)nằm trong bộ nhớ của hệ thống nhằm phát hiện được những mẫu mã độc nén
Việc phát hiện mã độc bằng phương pháp phân tích tĩnh sẽ có kết quả rất tốt tuynhiên, đối với những loại mã độc đột biến khi này, những nhóm thuộc tính sẽkhông còn như ban đầu vì vậy phương pháp phân tích tĩnh sẽ trở nên mắt lợi thế
khi phải nhận diện những mẫu mã độc đột biến.
14
Trang 26Chương 2 COSO LY THUYẾT
2.2.2 Phương pháp phan tích động
Phân tích động là một phương pháp hiệu quả để phát hiện và phân tích mã độc
bằng cách thực thi mã trong một môi trường kiểm soát và giám sát các hành vi
của nó Khi mã độc được thực thi, các nhà nghiên cứu có thể quan sát các hành
động và thay đổi mà mã độc thực hiện trên hệ thống, từ đó xác định được những
hoạt động bat thường hoặc nguy hiểm
Để áp dụng phương pháp này, mã độc thường được thực thi trong các môi trường
cách ly như máy ảo hoặc sandbox Các môi trường này mô phỏng hệ thống thật
nhưng tách biệt hoàn toàn, giúp ngăn chặn mã độc lan rộng và gây hại Quá trình
giám sát có thể được thực hiện bằng các công cụ như Process Monitor và ProcessHacker, cho phép theo dõi chỉ tiết các tiến trình và thay đổi trong hệ thống Bên
cạnh đó, Wireshark được sử dụng để giám sát lưu lượng mạng, giúp phát hiện
các kết nối bat thường Công cụ như Regshot có thể theo dõi sự thay đổi trongregistry, cung cấp thông tin quan trọng về các thay đổi trên hệ thống mà mã độc
thực hiện.
Kỹ thuật Giám sát hành vi
Giám sát hành vi là một kỹ thuật quan trọng trong phân tích động, giúp theo đõi
và phân tích các hành vi thực thi của chương trình trong thời gian thực Kỹ thuật
này cho phép phát hiện các hành động đáng ngờ, chẳng hạn như việc mở, sửa
đổi, hoặc xóa các tập tin, thay đổi cấu trúc hệ thống như định dạng ổ đĩa hoặcthay đổi registry và các hoạt động mạng như mở các cổng đặc biệt hoặc kết nối
tới các địa chỉ IP không đáng tin cậy Từ đó đánh giá trong cả quá trình chạy, mới
có thể kết luận được những hành vi này có bat thường và khả nghỉ hay không vacòn để kết luận xem liệu tệp thực thi này có phải mã độc hay không
Kỹ thuật giả lập (Emulation)
Giả lập là một kỹ thuật cho phép các chương trình được thực thi và phân tích
trong một môi trường mô phỏng Mục tiêu của kỹ thuật này là để lộ các đặc tính
và hành vi nguy hại của mã độc khi nó được thực thi như thông thường Giả lập
cung cấp một môi trường an toàn và kiểm soát, nơi mà mã độc có thể được phân
15
Trang 27Chương 2 COSO LY THUYẾT
tích ma không gây hai cho hệ thống thực tế Những môi trường phổ biến để ápdụng kỹ thuật này có thể kể đến như sandbox, máy ảo, vân vân Có 2 phươngpháp chính để áp dụng kỹ thuật này là:
© Tìm kiếm động (Dynamic Heuristic): Tìm kiếm động là một phương pháp
trong giả lập giúp thu thập và phân tích các hành vi của chương trình trong môi trường mô phỏng Khi mã độc được thực thi trong môi trường này, các
hành vi như truy cập tập tin, thay đổi câu trúc hệ thống, và kết nỗi mạng
được giám sát và ghi nhận Phương pháp này cho phép phát hiện các mẫu
hành vi đáng ngờ, giúp tăng độ chính xác trong việc phát hiện mã độc.trình khả nghỉ.
¢ Giải mã chung (Generic Decryption): Giải mã chung là một kỹ thuật đặc biệt
hữu ích trong việc đối phó với các mã độc đa hình (polymorphic malware).Các mã độc này thường sử dụng các phương pháp mã hóa phức tạp để chegiấu bản chất thực sự của chúng, khiến cho việc phát hiện trở nên khó khăn.Khi mã độc được giải mã trong môi trường giả lập, các phần tử nguy hại
của nó có thể được phát hiện bằng các phương pháp dò quét thông thường
Quá trình giải mã chung thường bao gồm việc cho phép mã độc tự giải mãtrong môi trường kiểm soát Khi quá trình giải mã diễn ra, phần thân của
mã độc trở nên rõ ràng và có thể được phân tích Điều này giúp các công cụchống mã độc nhận diện và ngăn chặn các hành vi nguy hại một cách hiệuquả.
2.2.3 Mô hình phát hiện mã độc dựa trên học máy
Trong hai kỹ thuật vừa nêu, phân tích tĩnh và phân tích động, có thể thấy rằng cảhai đều dựa trên việc nhận diện các mẫu mã độc đã được ghi nhận hoặc các biếnthể của chúng Các phương pháp này dựa trên sự đúc kết và phát triển các khuônmẫu từ những dữ liệu mã độc đã biết Do đó, khi gặp phải các loại mã độc hoàntoàn mới mà chưa từng xuất hiện, hệ thống chống mã độc có thể gặp khó khăntrong việc nhận diện và ngăn chặn Điều này dẫn đến một rủi ro cao là hệ thống
có thể bị xâm nhập và gây thiệt hại đáng kể
Hơn nữa, việc phân tích mã độc sau khi chúng xuất hiện và triển khai các biệnpháp đối phó thường đòi hỏi một khoảng thời gian không nhỏ Trong khoảng
1ó
Trang 28Chương 2 COSO LY THUYẾT
thời gian nay, mã độc có thể lây lan và xâm nhập sâu hơn vào hệ thống, gây ra
những hậu quả nghiêm trong Sự chậm trễ trong việc phát hiện va phan ứng có
thể tạo cơ hội cho mã độc khai thác các lỗ hổng và gây ra thiệt hại lan rộng
Hiện nay, với sự phát triển mạnh mẽ của các thuật toán và khối lượng dữ liệu
lớn, học máy đã được áp dụng rộng rãi trong lĩnh vực phát hiện mã độc, nhằm
mục đích dự đoán và nhận diện các loại mã độc mới Các mô hình học máy có
khả năng tự động khám phá và học hỏi từ các dữ liệu được trích xuất, từ đó nhận
điện các khuôn mẫu mã độc một cách hiệu quả.
Các thuật toán học máy phổ biến được sử dụng trong việc phát hiện mã độc baogồm: Cây quyết định, Máy véc-tơ hỗ trợ (SVM), Naive Bayes, Rừng ngẫu nhiên(Random Forest), Mạng nơ-ron (Neural Networks), và K hàng xóm gần nhất (K-
Nearest Neighbors) Những thuật toán này không chỉ giúp phát hiện các mẫu mã
độc đã biết mà còn có khả năng dự đoán và nhận diện các mã độc mới xuất hiện,
nhờ vào khả năng học và phân tích dữ liệu phức tạp iệHn nay, với sự phát triển
của các thuật toán và dữ liệu, học máy đã được ứng dụng trong lĩnh vực phát hiện mã độc với mục đích dự báo được các loại mã độc mới Mô hình phát hiện
mã độc dựa học máy cung cấp khả năng khám phá các khuôn mẫu mã độc mộtcách tự động dựa trên các dữ liệu được trích xuất Các thuật toán học máy phổbiến được ứng dụng trong việc phát hiện mã độc có thể kể tới như: Cây quyết
định, Máy véc-tơ hỗ trợ (SVM), Naive Bayes, Rừng ngẫu nhiên (Random Forest),
Mạng no-ron (Neural Networks), K hàng xóm gan nhất (K-Nearest Neighbors), Trong phạm vi khóa luận này, chúng tôi sẽ mô tả về các mô hình học máy được
áp dụng chính trong bài là Cây quyết định tăng cường tốc độ (Gradient booosting
decision tree - GBDT) và Mạng no-ron (Neural Networks) Trong phạm vi khóa
luận này, chúng tôi sẽ tập trung mô tả hai mô hình học máy chính được áp dụng
là Tăng cường tốc độ (Gradient Boosting), Cây quyết định (Decision Tree), Rừngngẫu nhiên (Random Forest), mạng nơ-ron thần kinh tích chập (Convolutional
neural network) và
Thuật toán cây quyết định
Decision Tree là một thuật toán supervised learning (học có giám sát) Thuật toán
cây quyết định là một trong những công cụ mạnh mẽ được áp dụng trong việc
17
Trang 29Chương 2 COSO LY THUYẾT
phát hiện mã độc nhờ vào khả năng phân loại và dự đoán dựa trên các đặc điểm
cụ thể của dữ liệu Thuật toán này hoạt động bang cách chia nhỏ dữ liệu thành
các tập con dựa trên các điều kiện xác định, giúp tối ưu hóa quá trình nhận diện
các mẫu mã độc.
Một trong những ưu điểm nổi bật của cây quyết định là khả năng xử lý và phân
tích dữ liệu một cách nhanh chóng và hiệu quả Thuật toán này không chỉ dễ hiểu
và dễ triển khai mà còn cung cấp một cách trực quan để diễn giải các quyết định
được đưa ra Đặc biệt, cây quyết định có thể xử lý cả dữ liệu phân loại và dữ liệu
liên tục, giúp mở rộng phạm vi ứng dụng trong các tình huống khác nhau
Play (Y) or Not (N)
Hình 2.3 là một ví dụ 1 về cây quyết định Giả sử dựa theo thời tiết mà một gia
đình có quyết định đi chơi hay không ? Dựa theo mô hình trên, nếu trời nắng, độ
ẩm bình thường thì khả năng gia đình này đi chơi cao Còn nếu trời nắng, độ ẩm
cao thì khả năng sẽ không đi.
18
Trang 30Chương 2 COSO LY THUYẾT
2.2.4 Thuật toán rừng ngẫu nhiên
Nếu như thuật toán cây quyết định tượng trưng cho sự quyết định bởi một cây
thì Random Forest sẽ gộp nhiều cây quyết định lại với nhau, mỗi quyết định của
mỗi cây sẽ được tổng hợp lại và đưa ra quyết định cuối cùng
Rừng ngẫu nhiên mang lại nhiều lợi ích trong việc phát hiện mã độc Một trong
những ưu điểm chính là khả năng giảm thiểu hiện tượng overfitting, vốn là một
van dé phổ biến ở các mô hình cây quyết định đơn lẻ Bằng cách sử dung một
tập hợp lớn các cây quyết định được huấn luyện trên các tập dữ liệu ngẫu nhiênkhác nhau, rừng ngẫu nhiên có thể tổng hợp các dự đoán từ nhiều mô hình khác
nhau để cải thiện độ chính xác tổng thể và tính ổn định của dự đoán Nhờ vào
sự kết hợp của nhiều cây quyết định, rừng ngẫu nhiên có thể nắm bắt được các
mối quan hệ phức tạp trong đữ liệu Giả sử như có 2 cây quyết định đưa ra quyết
định là táo, cây cuối cùng lại đưa ra chuối thì kết quả cuối cùng sẽ được tổng hợp
lại đưa ra quyết định đó là táo
2.2.5 Thuật toán tăng cường độ đốc (Gradient Boosting)
Gradient Boosting là một thuật toán tang cường mạnh mẽ, kết hợp những môhình học yêu thành mô hình học mạnh mẽ, trong đó mỗi mô hình mới được huấnluyện để giảm thiểu ham mat mát (loss function) của mô hình trước đó bằng cách
sử dụng phương pháp descent Trong mỗi lần lặp, thuật toán tính toán độ dốccủa hàm mat mát theo các dự đoán hiện tại và sau đó huấn luyện một mô hình
mới để giảm thiểu độ đốc này Các dự đoán của mô hình mới sau đó được thêm
vào tập hợp và quá trình này được lặp lại cho đến khi đáp ứng tiêu chí dừng
Gradient Boosting có khả năng tự động hóa việc chọn lựa các đặc điểm quan
trọng, giúp tối ưu hóa quá trình phát hiện mã độc Thuật toán này sử dụng mộtcách tiếp cận lặp đi lặp lại để xây dựng các cây quyết định mới dựa trên lỗi củacác cây trước đó, từ đó cải thiện hiệu suất của mô hình một cách liên tục Điều
này đặc biệt quan trọng trong lĩnh vực phát hiện mã độc, nơi mà các mẫu mã độc
mới và biến thể có thể xuất hiện liên tục
19
Trang 31Chương 2 COSO LY THUYẾT
Instance
HÌNH 2.4: Ví dụ về thuật toán rừng ngẫu nhiên
20
Trang 32Chương 2 COSO LY THUYẾT
HÌNH 2.5: Ví dụ về thuật toán Gradient Boosting
Thuật toán Gradient Boosting nhằm để giải quyết bài toán tối ưu sau:
minc,,w„L(y, Wn_—1 + CnWn)
Trước tiên cần phải nói về công thức cập nhật tham số mô hình theo hướng giảm
của đạo hàm (Gradient Descent):
Nếu coi các mô hình boosting là một hàm số W thì mỗi hàm learner có thể coi là
một tham số w Đến đây, để cực tiểu hóa hàm mat mát L(y, W) sẽ có công thức:
Trang 33Chương 2 COSO LY THUYẾT
Với mỗi wn là mô hình tiếp theo được thêm vào thuật toán Mô hình sẽ cần học
để phù hợp với giá trị —7 sxL(Wn~1) Giá trị này có tên gọi là pseudo-residuals
và được sử dụng làm nhãn cho mô hình tiếp theo
2.2.6 Thuật toán AdaBoost
AdaBoost (được coi là 1 trường hợp đặc biệt của Gradient Boosting) là thuật toán
với ý tưởng đơn giản là sử dụng các cây quyết định(1 gốc, 2 lá) để đánh trọng sốcho các điểm dữ liệu, từ đó cải thiện hiệu suất của các mô hình yếu để tạo ra một
mô hình mạnh.
Một trong những ưu điểm chính của AdaBoost là khả năng nâng cao hiệu suấtcủa các mô hình học máy yếu Bằng cách tập trung vào các mẫu khó phân loại,AdaBoost có thể cải thiện độ chính xác của mô hình tổng thể một cách đáng kể.Thuật toán này cũng rat linh hoạt và có thể kết hợp với nhiều loại mô hình yếu
khác nhau, chẳng hạn như cây quyết định, để tạo ra một mô hình mạnh mẽ hơn
Trong lĩnh vực phát hiện mã độc, AdaBoost có thể được sử dụng để phân loại và
nhận diện các mẫu mã độc mới bằng cách học từ các đặc điểm của dữ liệu đã biết.Điều này đặc biệt hữu ích khi đối phó với các biến thể mới của mã độc, giúp nângcao khả năng bảo vệ hệ thống trước các mối đe dọa chưa từng gặp Các bước triểnkhai thuật toán AdaBoost dựa theo hình 2.6 được triển khai như sau:
Đối với giải thuật AdaBoost bước đầu cần khởi tạo trọng lượng cho từng input,
thuật toán trên nhằm để khởi tạo trọng lượng ban đầu là bằng nhau và bằng 4
cho mỗi điểm dữ liệu:
11, 1
W, = Als {1,2, ,n} — Liw; = 1
Với mỗi vòng lặp sé huấn luyện mô hình học yếu moi w; mới được thêm vào.Tính giá trị mat mát và từ đó tính ra được giá trị điểm tự tin Cj của mô hình vừa
mới huấn luyện Cập nhật lại mô hình chính W = W + c¡w¡ Bước cuối cùng sẽ
đánh giá lại trọng số cho các điểm dữ liệu và tiếp tục tiến tới mô hình mới i+ 1
22
Trang 34Chương 2 COSO LY THUYẾT
Weigh each data points
equally with weight,
Trang 35Chương 2 COSO LY THUYẾT
2.2.7 Mạng nơ-ron tích chập
Trong những mô hình nơ-ron, mạng nơ-ron tích chập(CNN) được dùng cho việc
nhận dạng và phân loại hình ảnh Mạng nơ-ron tích chập phân loại bằng cách laymột đữ liệu đầu vào, xử ly và phân loại nó thành 1 nhãn nhất định (ví dụ: nam,nữ, ).Sau khi mô hình được huấn luyện, mỗi dữ liệu đầu vào sẽ được chuyểnqua những lớp tích chập (convolutional layer) với các bộ lọc (Kernals), tổng hợplại các lớp được kết nối đầy đủ (Full Connected) và áp dụng hàm Softmax để
phân loại đối tượng.
Trong mạng CNN có những thành phần chính sau đây:
¢ Lớp đầu vào: Là Lớp thể hiện cho những đầu vào của mạng
© Lớp tích chập: Tích chập là lớp đầu tiên để trích xuất các tính năng từ dữ
liệu đầu vào Lớp này duy trì mối quan hệ giữa các pixel bằng cách tìm hiểu
các thuộc tính của dữ liệu.
* Bước nhảy (Stride): Stride là số pixel thay đổi trên ma trận đầu vào Khi
stride là 1 thì ta di chuyển các kernel 1 pixel Khi stride là 2 thì ta di chuyểncác kernel đi 2 pixel và tiếp tục như vậy
* Đường viễn (Padding): Trong trường hop kernal không phù hợp thì lớp
padding sẽ được sử dụng để thêm các trọng số vào đường biên của dữ liệu
24
Trang 36Chương 2 COSO LY THUYẾT
HINH 2.8: Ví du về bước nhảy trong mang CNN
¢ Lớp gộp (Pooling Layer): Lớp gộp thường được sử dung dé giảm bớt số
lượng khi dữ liệu qúa lớn Có 3 loại lớp gộp là Max Pooling, Average Pooling
và Sum Pooling:
- Max Pooling: Lay phan tử lớn nhất từ ma trận đối tượng
— Average Pooling: Lay trung bình tổng các ma trận đối tượng
— Sum Pooling: Tổng tat cả các phan tử trong ma trận
Mạng nơ-ron tích chập có những ưu điểm sau so với mạng nơ-ron truyền thống:Lượng tham số ít hơn nhiều so với mạng kết nối đầy đủ Các lớp tích chập(CONV), các lớp gộp giúp trích xuất đặc trưng của ảnh khiến ma trận ảnh điqua mỗi lớp nhỏ dan di, vì thế lượng tham số cần học cũng giảm theo Ngoài ra
vì loại đi những dữ liệu thừa có ảnh hưởng đến vị trí của đối tượng nên mạng
nhận diện chính xác một đối tượng nằm ở các vị trí khác nhau trong một ảnh
2.3 Mô hình khả diễn giải - XAI
Mô hình khả diễn giải, hay còn gọi là Explainable AI (XA]), là một lĩnh vực trong
trí tuệ nhân tạo tập trung vào việc phát triển các mô hình học máy mà con người
có thể hiểu được Mục tiêu chính của XAI là làm cho các quyết định và dự đoán
của mô hình trở nên minh bạch, dé hiểu va dé giải thích đối với người dùng cuối
25
Trang 37Chương 2 COSO LY THUYẾT
Điều này đặc biệt quan trong trong các lĩnh vực nhạy cảm nói chung và lĩnh vực
an toàn thông tin nói riêng nơi mà các quyết định dựa trên AI có thể có mang sức
ảnh hưởng lớn đối với các hệ thống, hạ tang công nghệ thông tin
Khi các mô hình AI trở nên phức tạp và mạnh mẽ hơn, việc giải thích cách chúng
đưa ra quyết định trở nên khó khăn hơn Điều này có thể dẫn đến sự không tintưởng và lo ngại từ phía người dùng, đặc biệt khi các quyết định đó có tác độngtrực tiếp đến họ XAI giúp làm rõ quá trình ra quyết định của AI, từ đó ngườidùng có thể hiểu và tin tưởng vào các kết quả mà mô hình đưa ra
Khả năng diễn giải một mô hình có thể được chia thành hai loại: khả năng diễn
giả toàn cục (global interpretability) và khả năng diễn giải cục bộ (local
inter-pretability) Khả năng diễn giải toàn cục có nghĩa là người dùng có thể hiểu môhình trực tiếp từ cầu trúc tổng thể của nó còn khả năng diễn giải cục bộ chỉ kiểmtra một đầu vào và tìm hiểu tại sao mô hình lại đưa ra quyết định cụ thể cho đầu
vào đó.
2.3.1 XAI với SHAP (SHapley Additive exPlanations)
SHAP là một phương pháp được sử dung bởi những người làm việc với các mô
hình học máy hoặc những nhà phát triển AI để giải thích các dự đoán của mô hình Điểm mạnh của SHAP so với các giải pháp XAI khác đó là có thể được sử
dụng để giải thích các dự đoán của bất kỳ mô hình nào SHAP được phát triển
và tổng hợp từ nhiều công cụ XAI khác như LIME, DeepLift, Ý tưởng chính củaSHAP là tính toán các giá trị SHAP (SHAP values) cho từng thuộc tính của tập
dữ liệu được sử dụng để huấn luyện và kiểm tra mô hình học máy Những thuộc
tính này sẽ được diễn giải với giá trị SHAP thể hiện tác động của tính năng đó
trong việc tao ra dự đoán do mô hình đưa ra.
2.3.2 Giá trị SHAP (SHAP Values)
Giá trị Shapley được lấy khái niệm từ lý thuyết của trò chơi hợp tác Mục tiêu
của giá trị Shapley là đo lường sự đóng góp của mỗi người chơi cho trò chơi.
Khái niệm việc tính toán các giá trị Shapley dựa theo một trò chươi trong đó ’n’
người chơi tham gia vào trò chơi với mục đích đạt được phần thưởng ’a’ và phan
26
Trang 38Chương 2 COSO LY THUYẾT
Base rate = 0.1 ‘ Base rate = 0.1
HINH 2.9: Tổng quan về bộ công cu SHAP
thưởng này được phân bổ công bằng cho mỗi người chơi theo đóng góp của từng
cá nhân Hãy tưởng tượng một nhóm người (A, B, C, D, E) đang thực hiện một dự
án nhằm thu được lợi nhuận (P) cho công ty Để phân chia lợi nhuận của công ty
một cách đồng đều cho 5 người dựa trên nỗ lực của họ để đạt được lợi nhuận đó,chúng ta cần tính toán phần đóng góp của từng cá nhân để đạt được lợi nhuận
(P) Đóng góp này là chính là giá trị Shapley cho mỗi người trong nhóm hoặc trong trường hợp học máy sẽ là từng thuộc tính Để tính giá trị Shapley của một
người ‘A’ trong nhóm, chênh lệch giữa lợi nhuận được tạo ra khi có thành viên đó
và khi vắng mặt thành viên đó sẽ được tính Sự khác biệt này được gọi là “đóng
góp cận biên của thành viên ‘A’ cho nhóm hiện tại Tat cả các nhóm khác nhau
mà thành viên ‘A’ có mặt tượng trưng cho sự liên kết của dữ liệu Do đó, để tínhtoán tất cả các khoản đóng góp cận biên cho thành viên nay (‘A’), dựa trên tat cảcác liên kết có thể có của họ Giá trị trung bình của tất cả các phân phối cận biên
là “Giá trị Shapley’ cho thành viên ‘A’ này.
27
Trang 39Chương 2 COSO LY THUYẾT
Cae
Profit generated by |= generated by
coalition of members coalition of members
Trang 40Chương 2 COSO LY THUYẾT
2.3.3 TreeSHAP
TreeSHAP, hay còn gọi là Tree-based SHAP [13], là một phiên ban mở rộng của
SHAP được thiết kế để giải thích các mô hình học máy dựa trên cây quyết định.Chính vì thế, nó đặc biệt phù hợp để giải thích cho các mô hình học máy dựatrên cây quyết định như Random Forest (RF), Decision Trees (DT) va Gradient
Boosting (GB).
2.3.4 AMM
AMM [19] được định nghĩa là tích của độ lớn của các giá trị SHAP trong mỗi đặc
trưng và số lượng mẫu có giá trị hướng độc hại (tức là các giá trị nghiêng về phía
dương, vì 1 biểu thị độc hại) trong đặc trưng tương ứng Theo tác gia, AMM được
dùng để xác định những đặc trưng của phần mềm độc hại có thể bị thao túng để
đạt được khả năng né tránh phát hiện cao nhất
2.3.5 Ứng dụng SHAP vào phát hiện mã độc dựa theo phương
pháp phân tích tính
Trong ngữ cảnh phát hiện mã độc, Phương pháp XAI có khả năng cung cấp chocác nhà phân tích mã độc một số giải thích vẻ lý do tại sao một mẫu nhất địnhđược phân loại là độc hại hoặc lành tính Hơn nữa đối với phương pháp phântích tĩnh, những thuộc tính được trích xuất ra từ mẫu mã độc, qua quá trình huấnluyện sẽ là những nhân tố quyết định tại sao mô hình đưa ra kết quả như vậy Vìthế bộ công cụ SHAP được sử dung tai đây để giải quyết van dé về những thuộc
tính nào sẽ quyết định một mẫu là độc hại hay lành tính và từ đó giúp chúng ta
có cái nhìn khái quát hơn về ngữ cảnh áp dụng học máy vào mã độc nén
2.3.6 Deep Learning Important FeaTures -DeepLIFT
DeepLIFT được tác giả Avanti Shrikumar và cộng sự công bố vào năm 2017 [18]
DeepLIFT là một thuật toán hoạt động dựa trên nguyên lý so sánh sự khác biệt
trong đầu ra của mô hình khi đầu vào thay đổi từ giá trị tham chiếu đến giá trịthực tế Thay vì chỉ tính toán sự thay đổi tuyệt đối trong đầu ra, DeepLIFT phân
29