Trước sự gia tăng đáng ké của các mối nguy hiểm trên không gian mạng hiện nay và sự tiễn triển không ngừng của phần mềm độc hại, việc đối mặt với thách thức phát hiện và phân tích malwar
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA MẠNG MÁY TÍNH VÀ TRUYÈN THÔNG
LÊ THANH DUAN - 19521370
KHÓA LUẬN TÓT NGHIỆP
PHÁT HIỆN PHAN MEM DOC HAI PE
BANG CACH SU DUNG MANG THAN KINH DO THI
VA PHAP CHUNG BO NHO
PE MALWARE DETECTION BY USING GNN
AND MEMORY FORENSICS
KY SU NGHANH AN TOAN THONG TIN
GIANG VIEN HUONG DAN:
TS Nguyễn Tan Cam
ThS Nghi Hoang Khoa
TP HO CHÍ MINH, 2024
Trang 2THONG TIN HOI DONG CHAM KHÓA LUẬN TOT NGHIỆP
Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số
TigầYy của Hiệu trưởng Trường Dai học Công nghệ Thông tin.
Trang 3LỜI CẢM ƠN
Trong hành trình thực hiện và nghiên cứu khóa luận của em, em rất
may mắn được hưởng sự hướng dẫn và sự quý báu từ những ý kiến đóng
góp của các thầy cô giáo viên hướng dẫn và giáo viên bộ môn Em muon
bày tỏ lòng biết ơn sâu sắc đối với sự tận tâm của thay Nguyễn Tan Cam
và thầy Nghi Hoàng Khoa, những người đã dành thời gian và năng lượng
dé trực tiếp hỗ trợ và chỉ bảo em trong quá trình nghiên cứu và thực hiện
khóa luận này.
Ngoài ra, em muốn gửi lời cảm ơn chân thành đến gia đình, những
người thân yêu, và những người bạn đã ân cần hỗ trợ và động viên em
trong suốt chặng đường dài làm khóa luận này Sự ủng hộ của họ không
chỉ là nguồn động viên mà còn là động lực lớn giúp em vượt qua những
thách thức khó khăn.
Em cũng xin bay tỏ lòng biết ơn đặc biệt đến đội ngũ giáo viên tại
trường Đại học Công nghệ Thông tin - ĐHQG TP.HCM, đặc biệt là các
thầy cô ở khoa Mạng máy tính và Truyền thông Những bậc thầy và cô
giáo thuộc bộ môn An toàn Thông tin cùng với các chuyên gia tại Phòng
thí nghiệm An toàn thông tin đã hỗ trợ em không ngừng, đóng góp kiến
thức và kinh nghiệm quý báu, giúp em phát trién ý tưởng và triển khai nội
dung khóa luận một cách chặt chẽ và khoa học.
Với tất cả lòng biết ơn này, em hy vọng rằng công trình nghiên cứu của mình có thé góp phần nhỏ vào sự phát triển của cộng đồng học thuật
và mang lại giá tri tích cực cho lĩnh vực chuyên ngành của mình.
Lê Thanh Duẫn
Trang 4MỤC LỤC
Chương 1 Tổng Qua1 -c«c<5eeSesceexseEeEsersersersersersrksrksrrsrrsrrsrrsee 12
1.1 Giới thiệu đề tài ccccccEEeeEEEEEEEEEEEEELEEEEHEEEEErririrkrrrriree 12
1.2 Mục tiêu nghiÊn CUU oe ecesssesssecsessecstecstesseestesseessecstesseeaeeseesueeaseeseecseeatesseesseeseeseesaes 13
1.3 Phạm vi nghiÊn CỨU -s «+ ty HH Hư Hà Hàng nhàng rhnhykt 13
1.4 Phương pháp thực hiện -ccs<csreeerrrketrrkrtrrkerrrrrrrrierrrrerrrrierrrrree 13 1.5 Tinh hình mã độc hiện nay -5cc<scxersrsrrrtrrirtrirtrrrrrirrrrrrree 15 1.6 Giới thiệu các nghiên cứu liên quan . -e<+cxeterxesrrrkererrerrerkerrrrree 17
1.7 Tính mới và tính khoa học của để tài ccccccccnrtrirreeetrrrrrrrrrrreerrrrrrrrrre 20
Chương 2 Cơ sở lý thuyẾT -«c«ss-csecsekrskerskeriirerirrirrerree 21
2.1 Portable executable (PE) s-cccsccxterrrrsrttrrersttsrtirrtsrtrrsrrsrtsrsrrsrkrrkrrsrree 21
2.1.1 PE file là gì? He, 21
2.1.2 Cau trúc cơ bản của PE e-eierierrerrerre 22
2.1.2.1 DOS MZ Header c-ccccskiitEkirEiriiiiiiie 22 2.1.2.2 DOS Stub HH He, 23
2.1.2.3 PE file header -ccesersrrrrrsrrrtrrrrrrrrirrrrrrrrrirrrrrrrrre 25 2.1.2.4 Section Header .‹ ccceretrrtrrirtkirtriirriiririiriirirree 30 2.1.2.5 DOS S€CHON «ri get 30 2.1.2.6 PE Section Header «-scxceretkkrirkiitkirirriiiriiriirriirriirirree 31 2.2 Graph Neural NetWOTKS HH Hàn Hành Hy 32
2.2.1 Neural NetWOrK ve rey 32 2.2.2 Neural Network trong Malware Detection 34 2.2.3 Graph Neural Network là gì? «chu 36
2.2.4 — Đồ tb ceessssssscsessecssssesssssssssssssessssssssssssssssssssessesenseeeeeeeeeeceeeeeesssestsesisituasasasetsesssesesee 37
Trang 52.2.5 Bit co na ẽỒ 41
2.2.6 Lý thuyết đồ thị trong GNN ecssreeeerrererrrererrreee 51
2.2.7 Tính toán trên đồ thị rierieririririrree 59
2.3 Memory FOT€TISICS -c«-c+tEEtsErEEktEEktEritEkiEkirtriikkririrrrkikrirrrrrkrrrkrrrke 61
2.3.1 Memory Forensics là Si sseesssecssssesssecssscssestecssesnsesseesseensesseeaseenseateeaseeneensees 61 2.3.2 Volatile đafa -ccccckrirrrirtkiitriirtriiiriiiiiiririirrririe 61 2.3.3 Memory Dump là gì? «-cscrskkiEkirtritkiikiiirrrierrree 62 2.3.4 Dafa structures va ATaCfS cccrieriieritrirtireriiiirerirrrree 63
2.3.5 PrOC€ss AnalySis v cessssessessssessesseessessessssessessssessiessesssieseesssessiessesesseesneess 63
2.3.6 Memaory ACQUISIIOH cccccec-ceeeSeiEkEEktEEiEEkHriiieriee 65
2.3.7 Wolatility fOOIÏ c- sex skEEkHYHHHHHHHHHYHHÌ nHà HànHàghHu 66
Chương 3 Phương pháp thực hiỆn -« eseseeerseisesreirrresrrre 68
3.1 Hướng tiếp cận đầu tiên e -.eceerreeetrtererrirrtrrrrrrrirrrrrrree 68
3.1.1 _ Xây dựng công cụ trích xuất tiến trình từ Memory Dump 68
3.1.1.1 Plugin wIndOWS.DSSCAH -c ccsrkexrekiikrrtkirtirriirrrike 68
3.1.1.2 Biểu đồ psscan từ Volatility 2 e eeeerreecerreeerrreeerre 70
3.1.1.3 Sử dụng Volatility 3 như thư viện dé xây dựng công cụ 713.1.2 Sử dụng Virustotal dé phát hiện malware -ccccerrecse 723.2 Hướng tiếp cận thứ 2 .cceetrecetrrevErrrrrtrtrrrrrirrtrrrrrrrrrrrrrrrre 73
3.2.1 Bi 73
3.2.2 Mô hình sử dụng -.-.ke.H HH re, 75
Chương 4 Hiện thực và thực nghiỆIm -. +c<-<xexsxsrsrsrsrsrrsssrrrxr 76
4.1 Hướng tiếp cận thứ I ecs+ecetrrevetrrertrterrrrrrrtrrrrrrrrrrerrre 76
4.1.1 Công cụ trích xuất tiễn trình từ Memory Dump - 76
Trang 64.1.2 Trích xuất tiến trình từ Memory Dump -. -cssse 824.1.3 Tìm kiếm mã độc từ các tiến trình - c-e-rcccerrrreccrrre 834.2 Hướng tiếp cận thứ 2 -ccs.eeeerreeetrtrrvtrirrtrtirrrtrtrrtrrrrrtrrrrerrre 84
4.2.1 _ Kiến trúc tông quát .eccccccrieeeceererrireeeeerrrrrrseeerrrrred 84
4.2.2 Xử lí dữ liệu cho mô hình GNN ccsecrccccerrreceerrre 854.2.3 Xây dựng, huấn luyện và đánh giá mô hình GNN 894.2.4 Kết quả huấn luyện -+ceeccverrrrreererrrrrireerrerrrrrrrrrrrrrrre 92
Chương 5 Kết luận -. -e<+esxkkstkstrtrtrtkrkrrsrrrrsrsrarsie 95
` ‹ nh 955.2 Hướng phát triỂn «e «-eceeeceerrecerrrererreretrtrrrtrirrtrrrrrrrirrrrrrrerte 96
References 97
Trang 7DANH MỤC HÌNH
Hình 1 Tóm tắt các phương pháp phát hiện phần mềm độc hại trên windows sử
dung Graph Representation L€arn1ng se ©secreEkketkkkiEkkeEkkirieieikiierie 19 Hình 2 Model Network Flow Graph Neural NÑetWOTrks -c ccexeexeeerrere 19
Hình 3 Cấu trúc cơ bản của PE -e.ckceriiieriiriiririrrre 22
Hình 4 DOS MZ Header -5scccc+rttrirtrrrtErittrirriiriiiiiiiiriirrirrree 23 Hình 5 DOS S'TU, 5- chi HH HH rrrreg 24
Hình 6 Các thành phan trong Portable Executable -. ss.+-cstrccstree 24
Hình 7 S1Øð'14EUTC ss- 5s + HH THẾ Hà Hà Hàn HH HH TH HH HH HH H11 nntrkg 25 Hình 8 File Heaer s cs<ccx+erkstrkrtErittrkirtrittrirtrirtrirriiriiriirrriirrirrkrrree 26 Hình 9 Optional Header (1) - << sc+c<+x*+kxt+kkE+ksEkkttrrtkkrtkitrrrkkrrrrrrrrkrrrrrriee 27 Hình 10 Optional Header ((2) -<s-cs+reErkktkrirtrirtrrirtiriiiiiiiiiriirirrree 28 Hình 11 Optional Header (3) « xsxxctrkersrittrrtrrirtirtriiriiriiirirrirrree 29
Hình 12 Khái quát về Back-propagation sssssscssssssssssssscsssssecsssssesssssseessssssessssseeessssssess 33
Hình 13 Complete Graph cccssssssssssseessssessneessnesesseeessnessssteessneessseeessneeesaneersneeenneessntessaness 38
s00 6-0607 38Hình 15 Kết quả của in ra của plugin windows.psscan - ccccecrrreeceeerrrree 69
Hình 16 Dot file <55ccccxckrkrrtrirtrirtkiittrirtriiiiiiriiiiiiiiriiriiiirirree 71
Hình 17 Các tiến trình được trích xuất -.ecreieririirierririrrrirrrie 83
Hình 18 Tiến trình chứa mã độc Trojan -ce-+++cceetrrevevrrrervvrrrrererrrrre 83 Hình 19 Mô hình kiến trúc GNN -++ceeccvertrrrevvvvEtrrrrrrrrrrrrrrrrrrrrrrrre 84
Hình 20 Kết quả huấn luyện GNN 22+ccccstirreevErrrerrvrrrrrrrrrrrrrrrrrree 93
Trang 8DANH MỤC BANG
Bảng 1 Top 10 field mức độ ảnh hưởng trong PE header của các tập tin PE theo
I0 R¡e0i0seis1s10ii10aii077777 6 18
Bảng 2 So sánh Volatility 2 và Volatility 3 e-ccceekikireieiiriirike 67
Bảng 3 Số lượng mẫu loại phần mềm độc hại i-cicccccccsvvvvvvvvvvvvvvvvrrrrrrrrrrrrre 73Bảng 4 Số lượng mẫu loại tập tin lây nhiễm 22.++ce2trceetrrcrztrre 74Bảng 5 Thông số Google Colab -s-+ccsstrevetttevvtrrrvtrrrrvtrtrrvrrrrrtrirrrerrre 90
Bảng 6 Kết quả huấn luyện GNN 22-.cc2t+rev2trrevErrerrrrtrrrrrirrrtrrrrrrrre 92
Trang 9DANH MỤC TỪ VIET TAT
GNN Graph Neural Network
CFG Control Flow Graph
PE Portal Executable
COFF Common Object File Format
CNN Convolutional Neural Network
RNN Recurrent Neural Networks DDoS Distributed Denial-of-Service
loT Internet of Things LSTM Long Short-Term Memory
GCN Graph Convolutional Network ReLU Rectified Linear Unit
GraphSAGE Graph Sample and Aggregated
RAM Random Access Memory GAT Graph Attention Network
FCG Function Call Graph
API Application Programming
Interface
Trang 10TÓM TẮT KHÓA LUẬN
Nghiên cứu tập trung vào phương pháp phát hiện phần mềm độc hại PE thôngqua việc sử dụng mang thần kinh đồ thị từ đữ liệu pháp chứng bộ nhớ Mạng thankinh đồ thị là một công nghệ tiên tiến giúp mô hình hóa mối quan hệ giữa các thànhphan trong phần mềm, tạo ra một biéu đồ độ thị phức tạp Kết hợp với pháp chứng
bộ nhớ, ta có thể nắm bắt được những thay đổi động trong bộ nhớ của hệ thống khi
có sự tương tác của phân mêm độc hại.
Quan trọng nhất, nghiên cứu này sẽ trình bày một phương pháp hiệu qua déphát hiện mã độc PE bang cách theo dõi các biến đổi trong mang thần kinh đồ thị khiphần mềm chạy Việc này giúp chúng ta xác định những đặc điểm độc hại mà PE cóthể tạo ra và từ đó xác định được sự xuất hiện của phần mềm gây hại
Đồng thời, sử dụng pháp chứng bộ nhớ, chúng ta có thể kiểm tra sự thay đổitrong bộ nhớ khi PE thực hiện các hoạt động độc hại Điều này không chỉ giúp xácđịnh phần mềm độc hại mà còn cung cấp bằng chứng hữu ích cho quá trình phân tích
và đôi phó với môi đe dọa.
Ngoài ra, nghiên cứu này cũng đề xuất việc tích hợp các kỹ thuật máy hoc dé
cải thiện khả năng phát hiện và phân loại phần mềm độc hại PE Sự kết hợp này mang
lại khả năng tự động hóa quá trình phát hiện, giúp hệ thống ngày càng nhanh chóng
và chính xác hơn trong việc đôi phó với các môi đe dọa mới và phức tạp.
Cuối cùng, kết quả của nghiên cứu này không chỉ có ý nghĩa lý thuyết mà cònmang lại ứng dụng thực tẾ cao, giúp cải thiện việc phát hiện, xử lí sớm mã độc trongcác tình huống tấn công an ninh mạng, khả năng bảo vệ và giảm thiêu thiệt hại dophan mềm độc hai PE gây ra
11
Trang 11Chương 1 Tổng quan
Chương này đưa ra sự giới thiệu về những vấn đề chính tôi tập trung nghiêncứu, cùng với các bài nghiên cứu về mã độc và GNN liên quan đã được thực hiện từ
trước đó Cùng với đó, tôi sẽ nêu rõ hơn về phạm vi và cấu trúc của Khóa luận
1.1 Giới thiệu đề tài
Trước sự gia tăng đáng ké của các mối nguy hiểm trên không gian mạng hiện
nay và sự tiễn triển không ngừng của phần mềm độc hại, việc đối mặt với thách
thức phát hiện và phân tích malware trở thành một yếu tố đặc biệt quan trọng tronglĩnh vực bảo mật mạng và an ninh thông tin Nghiên cứu này đặc trọng điểm vào
mục tiêu phát triển một phương pháp tiên tiến, kết hợp Mạng thần kinh đồ thị
(GNN) và Pháp chứng bộ nhớ (Memory Forensics), nhằm xác định và nhận biết
phần mềm độc hại PE trong bối cảnh cuộc tấn công, nhằm giúp quản trị viên có khảnăng phát hiện, xử lí, và loại bỏ mã độc nguy cơ ngay từ khi nó tắn công vào máy
tính.
Đối với loại phần mềm độc hại PE (Portable Executable) - một dạng tập tinthực thi chủ yếu chạy trên hệ điều hành Windows, bao gồm các định dạng tệp như
.exe, dll, sys, - thì nó thường lan truyền thông qua các phương tiện như email
với tệp đính kèm, tải xuống từ internet, hoặc tir chính các lỗ hồng bảo mật Điều
này làm tăng nguy cơ nhiễm phải malware PE, và vì vậy, nghiên cứu này hướng
đến mục tiêu là phát triển một hệ thống có khả năng phát hiện và xử lí các mối nguy
hiêm này nhanh chóng và hiệu quả.
Kĩ thuật Pháp chứng bộ nhớ (Memory Forensics) được tích hợp dé thực hiện tríchxuất ra các tiễn trình PE đang chạy trên hệ thống và trong đó có chứa tiến trình độchại Pháp chứng bộ nhớ không chỉ đơn thuần trích xuất thông tin tiến trình từ bộ
nhớ hệ thống mà còn làm nổi bật các tiến trình PE liên quan, cung cấp một cái nhìnchỉ tiết và đầy đủ về sự hoạt động của chúng Bằng cách này, nó giúp xác định cáctiễn trình có thé đang làm việc nhưng mang theo mối đe dọa độc hại
12
Trang 12Mạng thần kinh đồ thị (GNN) đóng một vai trò vô cùng quan trọng trong việcphát hiện phần mềm độc hại này Bang cách sử dụng GNN, chúng ta có thé xây
dựng biểu đồ đại điện cho mối quan hệ phức tạp giữa các thành phan của tập tin PE
Từ những biểu đồ này, chúng ta có thé nhận diện các tương tác và phụ thuộc quan
trọng, làm nôi bật các mẫu độc hại tiềm ấn Điều này tạo nền tảng dé phat hién va
ngăn chặn các cuộc tân công từ phan mêm độc hai PE.
1.2 Mục tiêu nghiên cứu
Mục tiêu chính của đề tài là: Xây dựng một hệ thống phát hiện phần mềm độc,
tìm kiếm các dấu vết độc hại trong hệ thống đang hoạt động bằng Mạng thần kinh
đồ thị (GNN) dựa trên dữ liệu từ pháp chứng bộ nhớ từ một cuộc tấn công an ninh
mang, Việc phát hiện nhanh chóng góp phan giảm thiểu thiệt hại, xử lí nhanh và
loại bỏ mã độc ra khỏi máy bị nhiễm mã độc.
1.3 Phạm vi nghiên cứu
Phạm vi của đề tài này sẽ bao gồm:
- Phát triển một mô hình Mạng thần kinh đồ thị dé phát hiện phần mềm độc haidựa trên tập dữ liệu pháp chứng bộ nhớ xác định mã độc và các dấu hiệu của mã
Bước 1: Thu thập Memory Dump:
- Sử dụng các công cụ hoặc phần mềm dé thu thập memory dump từ hệ
thông bị tân công, hoặc có dâu hiệu bị tân công.
13
Trang 13- Lên lịch và thực hiện việc thu thập memory dump trong các thời điểm quan
trọng, như khi phát hiện hoạt động bất thường hoặc sau khi phát hiện các mối đe
đọa.
- Tự tạo các cuộc tấn công mã độc đề thu thập memory dump làm dữ liệu
Bước 2: Trích xuất tiễn trình từ Memory Dump:
- Sử dụng công cụ pháp chứng bộ nhớ đề phân tích memory dump và trích
xuất thông tin về các tiến trình đang hoạt động trong hệ thống
- Lay danh sách các tiên trình, mã máy, va các môi quan hệ gitra chúng từ dữ liệu memory dump.
Bước 3: Chuẩn bị dữ liệu cho GNN:
- Chuyển đổi thông tin về tiến trình và mối quan hệ giữa chúng thành địnhdang phù hợp dé làm dữ liệu đầu vào cho mô hình GNN
- Tạo biêu đô đô thị với các đỉnh đại diện cho các tiên trình và cạnh đại diện
cho mối quan hệ giữa chúng
Bước 4: Xây dựng và huấn luyện mô hình GNN:
- Sử dung dif liệu biéu đồ từ memory dump dé xây dựng mô hình GNN
- Tiến hành quá trình huấn luyện mô hình GNN bang cách sử dụng các mẫu
dữ liệu đã được đánh giá và gán nhãn, bao gồm cả các tiến trình độc hại và không
độc hại.
Bước 5: Đánh giá và tinh chỉnh mô hình:
- Đánh giá hiệu suất của mô hình GNN trên bộ dữ liệu kiểm tra, sử dụng các
độ đo như độ nhạy, độ chính xác, và độ đặc hiệu.
- Tinh chỉnh tham số mô hình và cập nhật mô hình dựa trên kết quả đánh giá
dé tối ưu hóa khả năng phát hiện
Bước 6: Triển khai và theo dõi:
14
Trang 14- Triển khai mô hình GNN vào hệ thống thực tế dé theo dõi và phát hiện mẫuđộc hại từ memory dump mới.
- Liên tục theo dõi hoạt động của mô hình và cập nhật dữ liệu dao tạo đề đối
mặt với các thách thức mới xuất hiện
Qua quá trình này, kết hợp giữa thu thập memory dump, phân tích bộ nhớ, và sử
dụng GNN, hệ thống có khả năng nhanh chóng và chính xác phát hiện các tiến trình
độc hại trong môi trường máy tính.
1.5 Tình hình mã độc hiện nay.
Trong thời gian gần đây, sự tập trung và đầu tư vào vấn đề an toàn thông tin, đặc
biệt là đối mặt với nguy cơ tan công mã độc PE trong môi trường doanh nghiệp, đã
trở thành mối quan tâm hàng đầu Điều này trở nên ngày càng quan trọng sau những
vụ tấn công mạng gần đây, khiến cho các doanh nghiệp vừa và nhỏ cần phải nắm
vững các biện pháp bảo vệ dé đối mặt với rủi ro tấn công vào ha tang của họ
Mã độc PE có thê gây ra nhiều tác hại cho hệ thống máy tính, bao gồm:
- Mã hóa dữ liệu và đòi tiền chuộc (ransomware): Mã độc tống tiền
(ransomware) là loại mã độc PE pho bién nhat hién nay Mã độc này sẽ mã hóa dữliệu trên hệ thống máy tính của nạn nhân và yêu cầu nạn nhân trả tiền chuộc dé
quyền điều khiến hệ thống
- Gây rối hoạt động của hệ thông: Mã độc PE malware có thé gây rối hoạtđộng của hệ thống máy tính, khiến hệ thống bị chậm chạp, treo máy, hoặc thậm chíkhông thé khởi động
15
Trang 15Theo các báo cáo thống kê, tình hình tan công mã độc PE malware trên thế giới
đang có những xu hướng đáng chú ý sau:
- Sự gia tăng đáng ké của mã độc tống tiền: Hiện nay, mã độc tống tiền đãtrở thành loại malware PE phô biến nhất và trong năm 2023, số lượng các vụ tan
công này trên toàn cầu đã tăng hơn 10% so với năm 2022
- Sự tinh vi hóa không ngừng của mã độc: Mã độc PE ngày càng phức tạp và
khó déo bám hơn Kẻ tan công thường sử dụng các kỹ thuật như mã hóa đa tang và
an giấu mã độc trong những tập tin hợp pháp, tạo ra thách thức lớn cho các giải
pháp an ninh mạng trong việc phát hiện và ngăn chặn chúng.
- Sự tập trung chính xác của cuộc tấn công: Các cuộc tấn công từ mã độc PE
ngày càng chú trọng vào tổ chức và doanh nghiệp Kẻ tan công thông thường sử
dụng thông tin thu thập được từ các cuộc tấn công mạng trước dé chọn lựa mục tiêu,đặc biệt là nhăm vào những tô chức có giá tri cao.
Ban báo cáo mang tên "The State of Ransomware in 2023" [1] của Sophos đã
đưa ra cái nhìn sâu sắc về sự gia tăng đáng kể trong cảnh quan toàn cầu của các
cuộc tan công ransomware, thé hiện một tăng trưởng đáng ké lên đến 10% trong
suốt năm vừa qua Đặc biệt, bản báo cáo tiết lộ răng, trung bình mỗi tổ chức trở
thành mục tiêu của cuộc tấn công này sẽ phải đối mặt với một con số chuộc lớn lênđến 170.000 USD Hơn nữa, báo cáo chỉ tiết hơn về cảnh báo đối mặt với sự biến
đổi không ngừng trong cảnh quan đe dọa, nhắn mạnh vào xu hướng lo ngại khi các
cuộc tan công ransomware ngày càng chú trọng vào doanh nghiệp nhỏ và vừa Dang
lo ngại hơn, thống kê năm 2023 cho thấy có đến 43% các tổ chức thuộc nhóm này
đã trở thành nạn nhân của những cuộc tấn công ransomware, đặt ra những thách
thức đầy nghiêm trọng đối với cộng đồng an ninh mạng Những thông tin chỉ tiết từbản báo cáo làm nổi bật những thách thức đa chiều mà các tổ chức phải đối mặt
trong việc bảo vệ tài sản số của họ trước những chiến thuật tinh vi và liên tục được
sử dụng bởi các thủ phạm ransomware Khi những tên tội phạm mạng ngày càng
hoàn thiện phương pháp của họ, sử dụng mã hóa đa tầng và kỹ thuật ân giấu đề che
16
Trang 16giấu mã độc trong các tập tin hợp pháp, nhu cầu về biện pháp an ninh mạng mạnh
mẽ trở nên càng cấp thiết hơn bao giờ hết
Báo cáo "Global Threat Landscape Report" [2] của Fortinet là một báo cáo
hàng năm cung cấp cái nhìn tổng quan về tình hình đe dọa an ninh mạng toàn cầu.Báo cáo được phát hành vào tháng 9 năm 2023 và dựa trên dữ liệu thu thập được từcác giải pháp bảo mật của Fortinet Theo báo cáo, tình hình tấn công mã độc PE
malware trên thế giới đang có những xu hướng đáng chú ý sau như sự gia tăng củaBotnet (Botnet là một mạng máy tính bị xâm nhập và bị điều khiển bởi một kẻ tấncông) Botnet có thể được sử dụng dé thực hiện nhiều loại tan công, bao gồm tấn
công từ chối dịch vụ (DoS), tan công phân tán từ chối dịch vụ (DDoS), và tan công
mã độc tống tiền Báo cáo cho thấy, số lượng botnet hoạt động đã tăng 27% trong
năm 2023 Nguyên nhân chủ yếu của sự gia tăng này là do sự phô biến của các thiết
bi Internet of Things (IoT) IoT là một mạng lưới các thiết bị kết nối Internet, bao
gồm các thiết bị gia dụng, thiết bị công nghiệp, và thiết bi đeo Các thiết bị IoT
thường có bảo mật kém, khiến chúng dé bị tan công và sử dung trong các botnet.
Báo cáo còn cho thấy, mã độc PE malware ngày càng sử dụng các kỹ thuật như sau
để tránh bị phát hiện: Mã hóa đa tầng: Mã độc được mã hóa nhiều lần bằng các
thuật toán khác nhau, khiến việc giải mã trở nên khó khăn hơn An giấu mã độc
trong các tập tin hợp pháp: Mã độc được ân giấu trong các tập tin hợp pháp, changhạn như tập tin tài liệu, tập tin hình ảnh, hoặc tập tin âm thanh Thay đổi liên tục:
Kẻ tan công thường xuyên thay đổi mã độc dé tránh bị phát hiện bởi các giải pháp
an ninh mạng.
1.6 Giới thiệu các nghiên cứu liên quan.
Hiện nay, có đa dạng hướng tiếp cận trong việc phân loại và phát hiện malware,
sử dụng nhiều kỹ thuật khác nhau Trong số các phương pháp truyền thống dé phát
hiện mã độc PE, chú trọng chu yếu vào việc phân tích cau trúc PE header của các
tập tin PE.
17
Trang 17Nghiên cứu [3] của Nguyễn Kim Tuấn và Nguyễn Hoàng Hà là một ví dụ tiêu
biểu Trong nghiên cứu này, họ dựa vào cấu trúc PE header đề đề xuất một hướng
tiếp cận sử dụng Machine Learning dé phân loại tập tin là mã độc hay lành tính Dé
đánh giá hiệu suất, họ áp dụng nhiều thuật toán khác nhau như AdaBoost,
GradientBoosting, DecisionTree, ExtraTree, RandomForest cho việc đánh giá tác
động của các trường dữ liệu trong PE Header trên tập dữ liệu chứa 140.297 mẫu PE
header Kết quả thu được cho thấy độ chính xác dat 99.71%
TT Trường trong PE header Mức độ ảnh hưởng
Bang 1 Top 10 field mức độ anh hưởng trong PE header của các tập tin PE theo
thuậ toán Randome Forest
[4] Bài nghiên cứu chú ý đến sự ngày càng phức tap của malware trên ba nền
tang quan trọng: Windows, Android va Web Dé tập trung vào việc phát hiện
malware trên hệ điều hành Windows, nghiên cứu đã triển khai Graph
Representation Learning dé mô hình hóa các tệp nhị phân Windows dưới dạng đồ
thị Các phương pháp tiếp cận trong nghiên cứu này dựa trên các biểu diễn đồ thị
như CFG (Control Flow Graph), FCG (Function Call Graph), và PDG (Program
Dependence Graph) Đặc biệt, các kỹ thuật cụ thê đã được áp dụng, bao gồm
MAGIC sử dung DGCNN, HawkEye sử dụng GNN và word2vec Ngoài ra, còn có
18
Trang 18các phương pháp khác như SDGNet, MalGraph, DLGraph, DMalNet, MatchGNet,
MalSage và FewM-HGCL Những kết quả và đánh giá của các phương pháp này đãđược thực hiện trên nhiều bộ dữ liệu, tạo ra một bức tranh chỉ tiết về hiệu suất của
Graph Representation Learning trong phát hiện malware.
Data Analysis Graph type Classification Learning Models Year Paper
CFG Static Attributed Graph Supervised DGCNN 2019 MAGIC [51]
Hybrid Attributed Graph Supervised GNN, word2vec 2021 HawkEye [52]
Static Attributed Graph Supervised GAT, Random Walk, BERT 2021 Wang et al [53]
CFG+FCG 3
Static Attributed Graph Supervised GraphSAGE 2022 MalGraph [54]
Static Attributed Graph Supervised node2vec, SDA 2019 DLGraph [55]
DGCNN 2019 Oliveira et al [56]
FCG GCN 2021 SDGNet [57
Dynamic Attributed Graph Supervised HN
GCN, Markov chain 2021 Liet al [58]
GAT, GIN, Word2vec 2022 DMalNet [59]
Dynamic Attributed Graph Supervised GCN 2019 MeQDFG [60]
re Dynamic Heterogeneous Graph Semi- Heterogeneous GNN, Meta-path, 2019 MatchGNet [61]
ad supervised Attention, Siamese Network
Dynamic Heterogeneous, Node Supervised GraphSAGE, Meta-path 2021 MalSage [85]
Attributed
Dynamic Heterogeneous Graph Self- GAT, Meta-path, Contrastive learn- 2022 FewM-HGCL[62]
supervised ing
Hình 1 Tóm tắt các phương pháp phát hiện phần mềm độc hai trên windows sử
dụng Graph Representation Learning.
Sử dụng Network Flow Graph Neural Networks dé phát hiện mã độc là mộttrong những phương pháp mạnh mẽ được giới thiệu trong [5], Mô hình đồ thị neural
network mới của họ dựa trên đặc trưng cạnh mới, học các biểu diễn phù hợp từ các
đồ thị dòng mạng đã được trích xuất Bên cạnh một mô hình cơ bản dé học biểu
diễn đồ thi, họ đề xuất ba biến thé mô hình tao ra: một bộ phân loại đồ thị, một
autoencoder đồ thị và một mạng neural one-class đồ thị, có khả năng thực hiện phát
hiện và phân loại malware theo cách giám sát và không giám sát.
— : Ei 8 E (7) normal
4 § 5 |] anomaly
5
(a) Node Update (b) Edge Update (e) Model Variants
Hinh 2 Model Network Flow Graph Neural Networks
19
Trang 191.7 Tính mới và tính khoa học của đề tài.
Tính mới:
- Hop Nhất Memory Forensics và GNN: Tận dụng sức mạnh cua Memory
Forensics và GNN, đề xuất một hướng tiếp cận độc đáo trong việc phát hiện
mã độc Memory Forensics cung câp thông tin chỉ tiết từ bộ nhớ hệ thống,
trong khi GNN giúp phân tích mỗi quan hệ phức tap giữa các tiến trình, tạo ra
một phương pháp toàn diện và mạnh mẽ.
- _ Sử Dụng Công Nghệ Học Máy: Không chỉ dựa vào quy tắc cụ thé, mà còn tích
hợp công nghệ học máy đề tự động hóa quá trình phân loại và phát hiện Điều
này đảm bảo khả năng học và thích ứng với các mô hình độc hại mới và ngày càng phức tạp.
Tính khoa học:
- _ Nghiên Cứu Sâu Về Memory Forensics: Tập trung chuyên sâu vào lĩnh vực
Memory Forensics, yêu cầu sự hiểu biết chặt chẽ về cách hệ thống hoạt
động và cơ chế lưu trữ thông tin trong bộ nhớ Điều này cung cấp nền tang vững chắc cho phương pháp nghiên cứu.
- _ Kết Hop Lí Thuyết và Thực Tiễn: Dé tài không chỉ tập trung vào lý thuyết
mà còn tích hợp với ứng dụng thực tế Việc thu thập memory dump từ cáccuộc tấn công thực tế và trích xuất dữ liệu cho GNN giúp dé tài có tính ứng
dụng cao và đáp ứng nhanh chóng với các tình huống thực tế
- Tiém Năng Áp Dụng Rộng Rai: Phương pháp này có tiềm năng được áp
dụng rộng rãi trong lĩnh vực bảo mật mạng và an ninh thông tin, từ doanh
nghiệp đến tô chức chính phủ Điều này làm nổi bật tính khoa học và giá
trị thực tế của đề tài.
Tóm lại, nghiên cứu về việc sử dung Memory Forensics và GNN dé phát hiện
mã độc không chỉ mang tính độc đáo trong việc kết hợp các phương pháp này mà
còn là một nghiên cứu sâu sắc và ứng dụng trong lĩnh vực an ninh mạng, góp phầnvào sự phát triển của ngành bảo mật thông tin
20
Trang 20Chương 2 Cơ sở lý thuyết
2.1 Portable executable (PE)
2.1.1 PE file là gì?
Định dạng tệp tin Portable Executable (PE) là một định dạng tệp tin được sử dụng
bởi hệ điều hành Windows 32-bit và 64-bit cho các tệp tin thực thi, thư viện động
(DLL), tệp tin COM, tệp tin thực thi NET, mã đối tượng, tệp Font FON, và cả cáctrình điều khiển chế độ kernel của NT, v.v Định dạng tệp tin PE chứa thông tin quantrọng mà bộ tải hệ điều hành Windows cần dé quản lý mã thực thi được bọc bên trong
Trước khi sử dụng định dạng PE, hệ thống Windows NT sử dụng định dạng tệp
tin Common Object File Format (COFF) COFF hay Common Object File Format là
một bộ quy ước tiêu chuân dé biéu diễn các binary instruction COFF giúp duy trì sựtương thích chéo nén tang vì tất cả các định dạng tệp tin COFF đều tuân theo cùngmột bộ quy tắc và quy ước dé tô chức mã và dữ liệu Mặc dù COFF ban đầu đượcphát triển dé sử dụng trên hệ thống *NIX, nhưng hiện nay nó trở nên phô biến trênmọi nền tảng Định dạng tệp tin Windows Portable Executable (PE) là một sửa đôicủa COFF và đã được phát triển dé chi sử đụng độc quyên trên hệ thống Windows32-bit và 64-bit Khác với COFF, cung cấp một định dạng tiêu chuẩn cho các tệp tinđối tượng, định dang PE đã thay thé COFF và trở thành tiêu chuẩn cho việc biéu diễn
tệp tin thực thi và thư viện động trong môi trường Windows.
Các loại tệp tin nhất định mà định dạng PE được sử dụng dé nhận diện bao gồmcác phần mở rộng sau: ocx, scr, và sys, cpl, dll, drv, ef, exe, Mỗi loại tệp tinnày có mục dich va chức năng riêng, ví dụ như exe cho tệp tin thực thị, dll cho thư
viện động, sys cho trình điều khiến hệ thống, và những loại khác nữa.
Tổng quan về định dạng PE cho phép hệ điều hành Windows tải và thực thi các
chương trình một cách hiệu quả, và đồng thời cung cấp thông tin quan trọng cho
quá trình quản lý bộ nhớ và tài nguyên của hệ thống
21
Trang 212.1.2 Cấu trúc cơ bản của PE.
Cấu trúc của một file thực thi PE (Portable Executable) bao gồm nhiều phần quan
trọng
| DOS MZ header *Executable Code Section,
named text (Microsoft) or CODE
“Resources Section, named rsrc
*Export Data Section, named
edata
Section 2
Section
Sect *Debug Information Section,
.eciuon n named debug
kiểm tra cơ bản trước khi thực thi tập tin PE Vùng DOS MZ header này chiếm giữ
64 bytes đầu tiên của file Nó bao gồm 19 thành phần, trong đó có 2 thành phần đángchú ý nhất là e magic và e_lfanew
Trong DOS header, thành phần e_magic chứa hai giá trị là 4Dh và 5Ah, tươngứng với hai ký tự "M" và "Z2" Đây là đóng góp của Mark Zbikowsky, một trong nhữngngười sáng tạo chính của MS-DOS Khi bạn mở bắt kỳ file PE nào, MZ là hai bytesdau tiên mà ban sẽ nhìn thay.
22
Trang 22Năm ở vị trí cuối cùng của DOS Header và đồng thời là vị trí bắt đầu của DOS
Stub, thành phan e_lfanew là một giá trị DWORD (tức là 4 bytes), lưu trữ offset của
PE Header.
+00 WORD e magic Magic Number MZ ($5A4D)
+02 WORD e_cblp Bytes on last page of file
+04 WORD e cp Pages in file
+06 WORD e cric Relocations
+08 WORD e_cparhdr Size of header in paragraphs
+0A (10) | WORD e_minalloc Minimum extra paragraphs needed
+0C (12) | WORD e maxalloc Maximum extra paragraphs needed
+0E (14) | WORD ess Initial (relative) SS value
+10 (16) | WORD e sp Initial SP value
+12 (18) | WORD 46ZZ= | Checksum
+14 (20) | WORD e ip Initial IP value
+16 (22) WORD e CS Initial (relative) CS value
+18 (24) | WORD e_lfarle File address of relocation table
+1A (26) | WORD e_ovno Overlay number
+1C (28) | Array[4]of WORD |e res Reserved words
+24 (36) WORD e_oemid OEM identifier (for e_oeminfo)
+26 (28) | WORD ~ |e oeminfo - OEM information: e_oemid specific
+28 (40) Array[10] of WORD |e res2 Reserved words
+3C (60) | DWORD e lfanew File address of new exe header
Hinh 4 DOS MZ Header
2.1.2.2 DOS Stub
Phan DOS Stub trong một tệp tin Portable Executable (PE) chứa một chuỗithông điệp cụ thé, thường là "This program cannot be run in DOS mode" (Chươngtrình này không thể chạy trong chế độ DOS) Day là một cảnh báo thông báo rangchương trình không thê được chạy trên hệ điều hành DOS
Phần DOS Stub bắt đầu ngay sau một địa chỉ dự trữ 4 byte được gọi là
"e Ifanew" (entry point to the PE header) Kích thước chuẩn của phan DOS Stub
23
Trang 23thường là 128 byte, tuy nhiên, có thê có sự biến đổi trong kích thước này dựa trên cầu
hình cụ thé của tệp thực thi
Mặc dù PE là định dạng chủ yếu được sử dụng trên hệ điều hành Windows,nhưng van bảo toàn một phần nhỏ của định dang DOS dé hỗ trợ quá trình khởi động
ngược từ môi trường DOS Điều này giúp hỗ trợ cho việc chạy chương trình trên hệ
điều hành DOS hoặc các môi trường tương thích với DOS, nhưng thông điệp trong
DOS Stub nói rõ rằng chương trình không thể chạy hiệu quả trong chế độ DOS và yêu
câu một hệ điêu hành Windows.
Trang 24e PE file Header, cung cấp thông tin về cấu trúc tổng thé và yêu cầu của tệp tin.
e Section Header, mô tả bố cục và đặc điểm của mỗi phan của tệp tin Các phần
này chứa mã thực thi, dữ liệu và tài nguyên.
e DOS Header, bao gom một chương trình nhỏ chạy khi tệp tin được thực thi
trên hệ thống DOS
e PE Section Header mô tả vị trí và thuộc tính của mỗi phan trong tệp tin
2.1.2.3 PE file header
Phần PE Header, hay còn được biết đến là IMAGE_NT_HEADER, đóng vai
trò quan trọng trong định dạng tệp Portable Executable (PE) được sử dụng bởi hệ điều
hành Windows cho các tệp thực thi, thư viện động và các tệp nhị phân khác PEHeader chứa thông tin quan trọng về cấu trúc và thuộc tính của tệp thực thi Hãy phân
rã chỉ tiết các thành phần chính được mô tả trong mô tả của bạn:
ii File Header:
Ngay sau chit ky, 20 byte tiép theo tao thanh File Header
Các thành phan của File Header bao gồm:
Machine (Kiểu máy): Xác định loại kiến trúc máy (ví dụ: Intel, AMD)
NumberOfSections (Số lượng Sections): Chỉ định số lượng các phan trong
tệp PE.
TimeDateStamp (Dau thời gian): Biểu thị thời gian khi trình liên kết hoặc
trình biên dịch tạo ra tệp này.
25
Trang 25PointerToSymbolTable, NumberOfSymbols (Con trỏ bảng ký hiệu, Số
lượng ký hiệu): Sử dụng cho thông tin gỡ lỗi biểu tượng
SizeOfOptionalHeader (Kích thước Optional Header): Xác định kích thước
của header tùy chon, được đặt là 0 cho các tệp đối tượng
Characteristics (Đặc điểm): Chứa các cờ chỉ định các thuộc tính của tệp, như
iii Optional Header:
Optional Header ngay lập tức theo sau File Header và gồm 224 byte tiếp theo
Các thành phan quan trọng của Optional Header bao gồm:
Magic (Phép màu): Một số nguyên không dấu xác định trạng thái của tệp hìnhảnh Exhibit 3 chỉ ra rằng giá tri được đặt thành 0x10b cho các tệp thực thi 32 bit
AddressOfEntryPoint (Địa chỉ của Điểm bat đầu thực thi): Chỉ định địa chỉ nơithực thi của tệp bắt đầu
SectionAlignment (Căn chỉnh Section): Xác định sự căn chỉnh của các phần
khi chúng được nạp vào bộ nhớ.
SizeOflmage (Kích thước Anh): Đại diện cho kích thước tông cộng của tat cả
các phân của tệp.
26
Trang 26FileAlignment (Căn chỉnh File): Miêu tả sự căn chỉnh của các phần trong tệp
khi tệp không được nạp vao bộ nhớ.
DataDirectories (Thư mục Dữ liệu): 228 byte cuối cùng đại diện cho
DataDirectory, một mang 16 cau trúc IMAGE_DATA_DIRECTORY Mỗi cau trúcliên quan đến các cấu trúc dữ liệu quan trọng trong tệp PE, chang hạn như bảng
Import, bang Export, v.v.
27
Trang 28thực thi, giúp bộ tải hệ điều hành Windows quản lý tệp trong quá trình thực thi.
29
Trang 292.1.2.4 Section Header
Bang Section xuất hiện ngay sau Optional Header và đóng vai trò quan trọng
trong việc cung cấp thông tin về các Phần (Sections) có trong tệp PE Số lượng phần
có thể được xem trực tiếp trong File Header ở phần NumberOfSections Nếu một tệp
PE có năm phan, thì sẽ có chính xác năm cấu trúc IMAGE_SECTION_HEADER
xuất hiện ngay sau PE file header
Các Trường Quan trọng trong Mỗi IMAGE SECTION HEADER:
Name1: Một chuỗi UTF8 được mã hóa và có thêm byte null dé đảm bảo chiềudai là 8 byte Trường này có thé là null, tùy thuộc vào từng trường hop
VirtualSize: Đây là kích thước thực tế của dit liệu trong phan, được do bằng
byte Kích thước này có thé nhỏ hơn so với kích thước của phần trên đĩa
SizeOfRawData: Đại diện cho kích thước của dữ liệu trong phan trên dia
PointerToRawData: Thông tin quan trọng vì nó biểu thị sự lệch từ đầu tệp đến
dữ liệu của phan
Characteristics: Một cờ mô tả những đặc điểm cụ thé của phan.
Bang Section đóng vai tro quan trong trong việc mô tả cau trúc tổ chức và lưutrữ của các phần trong tệp PE Thông tin này giúp hệ điều hành và các ứng dụng kháchiểu cách truy cập và sử dung đữ liệu trong từng phần khác nhau của tệp PE trong quátrình thực thi Điều này giúp tối ưu hóa quá trình thực thi và tương tác của tệp PE trên
hệ thống
2.1.2.5 DOS Section
DOS Header là một phan quan trong ở đầu tệp tin và chứa thông tin liên quan đến hệđiều hành DOS Mặc dù hệ điều hành DOS không thực sự sử dụng thông tin này nếutệp tin PE được thực thi trên nền tảng Windows, nhưng DOS Header vẫn được giữ lạinhư một phần của tệp tin PE cho sự tương thích ngược
Dưới đây là một số trường thông tin quan trọng trong DOS Header:
30
Trang 30e© e_magic: Là một số thần kỳ (magic number) (thường là 0x5A4D) dé xác định
định dang cua DOS executable file.
e_cblp: Số byte cuối cùng của mỗi trang khi tệp tin được làm phang
e_cp: Số trang trong file
e_crlc: Số lượng các đối tượng tái cấu trúc (relocation) trong file
e_cparhdr: Số lượng đoạn (paragraphs) trong đầu file
e_minalloc: Số đoạn tối thiểu được yêu cầu khi chương trình thực hiện
e_maxalloc: Số đoạn tối đa được yêu cầu khi chương trình thực hiện
© SS,© Sp,€© csum,e Ip,e cs,e lfarlc, e ovno: Các trường khác chứa thôngtin thêm về việc chạy chương trình DOS
DOS Header có thé được bỏ qua khi tệp tin PE được thực thi trên hệ điều hànhWindows, nhưng nó vẫn đóng vai trò quan trong trong việc hiểu cau trúc của một file
PE và giữ lại tính tương thích với các hệ điều hành cũ hơn
2.1.2.6 PE Section Header
Phan PE File chứa nội dung chính của tệp, bao gồm mã lệnh, đữ liệu, tai
nguyên và các tệp thực thi khác Mỗi phần có một phần đầu và một phần thân
text - Phan Ma (CODE): Phan này, con được gọi là CODE, là nơi mà tất cả
các chi thi (instructions) đặt chỗ Những chỉ thị này sau đó được CPU thực thi Đây
là nơi chứa "Entry Point," như đã đề cập trước đó
data - Phan Dữ liệu chỉ đọc: Thông tin nhập và xuất được đại diện bởi phannày Phần này lưu trữ các dữ liệu chỉ đọc khác được sử dụng bởi chương trình nhưliterals, chuỗi hằng sé, v.v
.data - Phần Dữ liệu (.data): Phần data bao gồm dữ liệu toàn cục của chươngtrình, mà có thể truy cập từ bất kỳ đâu trong chương trình
rsrc - Phan Tài nguyên (.rsrc): Phần rsrc chứa các tài nguyên như hình ảnh, biểutượng, menu, v.v được sử dụng bởi chương trình thực thi ResHacker là một công cụ
chỉnh sửa tài nguyên hiên thị phân này dưới dạng cây câu trúc có tô chức.
31
Trang 312.2 Graph Neural Networks.
2.2.1 Neural Network.
Mang no-ron (Neural Network) là một mô hình tính toán được lay camhứng từ cách hoạt động của hệ than kinh sinh hoc Cơ sở lý thuyết của mang
nơ-ron là dựa trên các đơn vị tính toán cơ bản được gọi là nơ-ron (với mỗi
nơ-ron là 1 hàm), giống như các tế bào thần kinh trong não Nó là một loại
mô hình máy học trong lĩnh vực trí tuệ nhân tạo (Artificial Intelligence) và
được sử dụng rộng rãi trong nhiều lĩnh vực, bao gồm xử lý ngôn ngữ tự
nhiên, phân loại ảnh, dự đoán chuỗi thời gian, va nhiều hơn nữa
Neural network bao gồm một tập hợp các đơn vị tính toán gọi là "nơ-ron"
(neuron), được tổ chức thành các lớp (layers) Các nơ-ron trong mỗi lớp
được kết nối với các nơ-ron trong các lớp trước và sau đó Các kết nối này cótrọng số, cho phép neural network học và điều chỉnh các trọng số này dựa
trên dữ liệu đầu vào và đầu ra
Thường có ít nhất ba loại lớp chính:
1 Lớp đầu vào (Input layer): Là lớp nhận dữ liệu đầu vào và thực hiênviệc chuyển dữ liệu qua đến lớp tiếp theo
2 Các lớp ân (Hidden layers): Là các lớp năm giữa lớp dau vào và lớp
đầu ra Mỗi lớp an có nhiêu nơ-ron và các kết nối có trọng sô Các lớp
ân giúp neural network học và tìm hiệu các đặc trưng phức tap của dữ
liệu.
3 Lớp đầu ra (Output layer): Là lớp cuối cùng của mạng, cho ra kếtquả đầu ra sau quá trình tính toán thông qua network Số nơ-ron tronglớp này thường phụ thuộc vào bài toán cụ thé ma neural network được
sử dụng dé giải quyết
Quá trình huấn luyện neural network bao gồm hai giai đoạn chính: lantruyền thuận (forward propagation) và lan truyền ngược (back propagation).Trong quá trình lan truyền thuận, dữ liệu đầu vào được đưa qua mô hình
mạng để tính toán kết quả đầu ra Sau đó, thông qua quá trình lan truyền
ngược, mô hình mạng điều chỉnh các trọng số của các kết nối đề giảm sai sốgiữa kết quả dự đoán và kết quả thực tế Quá trình này được lặp lại nhiều lần
cho đến khi đạt được hiệu suất tốt nhất
32
Trang 32Hinh 12 Khai quat vé Back-propagation
Neural network có khả năng học và hiểu các môi quan hệ phức tap trong dữliệu, từ đó có thé áp dụng vào việc phân loại, dự đoán, và xử lý các tác vụ
phức tạp Mô hình này đã đạt được thành công đáng kể trong nhiều lĩnh vực
và tiếp tục được nghiên cứu và phát triên dé cải thiện hiệu suất và kha năng
áp dụng.
Trong lĩnh vực An toàn Thông tin, neural network được sử dụng đề giúp pháthiện và ngăn chặn các hoạt động độc hại và tấn công network Dưới đây là
một số ứng dụng cụ thể của neural network trong an toàn thông tin:
1 Phát hiện lỗ hồng phần mềm (Software Vulnerability Detection):
Neural network có khả năng học các mẫu đặc trưng của phần mềm độc hại từ
dữ liệu huấn luyện và có thé phát hiện những biéu hiện tương tự trong dữ
liệu mới Bằng cách xây dựng mô hình neural network và huấn luyện trên tập
dữ liệu chứa các mẫu phần mềm độc hại, có thể xác định các tệp tin hay hành
vi gây nghi ngờ.
2 Phát hiện xâm nhập (Intrusion Detection): Neural network có thể
được sử dụng dé xây dựng các hệ thống phát hiện xâm nhập, giúp phát hiện
và phản ứng đối với các hành vi xâm nhập vào mạng Mô hình neural
network có thê học các mẫu tấn công từ dữ liệu huấn luyện và phát hiện cáchành vi bat thường hoặc tan công tương tự trong network thực tế
3 Phân loại thư rác(Email Spam Classification): Neural network có
thé được áp dung dé phân loại thư rác điện tử từ hộp thư đến, dựa trên các
33
Trang 33đặc trưng của email như tiêu đề, nội dung và đính kèm Bằng cách huấn
luyện neural network trên các tập dữ liệu chứa các email đã được gán nhãn,
có thé xác định xem một email có phải là thư rác hay không
4 Phân tích và phát hiện các đối tượng đáng ngờ (AnomalyDetection): Neural network có thê sử dụng đề phân tích và phát hiện các
hành vi hoặc dữ liệu không bình thường trong network Băng cách huấn
luyện neural network trên dữ liệu bình thường và theo dõi các mẫu hành vi
thông thường, có thê xác định những hành vi không thường xuyên hoặc tấn
công network.
2.2.2 Neural Network trong Malware Detection
Đề sử dung neural network trong phát hiện mã độc, quá trình thường bao
gồm các bước sau:
1 Tiền xử lý dữ liệu: Dữ liệu tệp nhị phân ban đầu cần được tiền xử lý détrích xuất các đặc trưng hữu ích Điều này có thé bao gồm việc chuyền đổi dữliệu sang định dạng phù hợp cho neural network và trích xuất các thông tinquan trọng như các thành phan PE (Portable Executable), các chuỗi ASCII,
các ký tự đặc biệt, các hàm API được gọi, v.v.
2 Chuẩn bị dữ liệu huấn luyện: Dữ liệu từ các tệp nhị phân độc hại vàkhông độc hại cần được chuẩn bị để huấn luyện mô hình Điều này có thé baogồm việc tạo các tập dữ liệu huấn luyện, xác thực và kiểm tra, cũng như quá
trình mã hóa va gan nhãn dir liệu.
3 Xây dựng mô hình network neural: Các mô hình neural network đượcxây dựng dé phan loại các tệp nhị phân là độc hai hoặc không độc hai Cáckiến trúc neural network phổ biến bao gồm mạng nơ-ron truyền
thắng(Feedforward Neural Network), mạng nơ-ron hồi quy (Recurrent Neural
Network) như LSTM hoặc GRU, và mạng nơ-ron tích chập (ConvolutionalNeural Network) Một số phương pháp kết hợp các mô hình khác nhau dé tăng
cường khả năng phát hiện mã độc.
34
Trang 344 Huấn luyện mô hình: Sử dụng dữ liệu huấn luyện để học các đặc trưng
và mẫu của mã độc Quá trình huấn luyện liên quan đến tối ưu hóa các thông
số mô hình thông qua việc tối thiểu hóa hàm mắt mát (loss function)
5 Đánh giá hiệu suất: Mô hình được đánh giá về hiệu suất phát hiện mãđộc bằng cách sử dụng các tập dữ liệu xác thực và kiểm tra Các hiệu suất như
độ chính xác, độ nhạy và độ tảo được sử dụng dé đánh giá khả năng phát hiện
và phân loại của mô hình.
Neural network trong phát hiện mã độc có thê học các đặc trưng phức tạp và
mẫu của các tệp nhị phân độc hại, từ đó giúp xác định và phân loại chúng một
cách tự động Khi áp dụng neural network cho phát hiện phần mềm độc hại, cómột số khía cạnh cơ sở lý thuyết cần xem xét:
6 Biéu diễn dữ liệu: Trước khi đưa dữ liệu vào network neural, cần chuyển
đổi dữ liệu đầu vào thành một định dạng phù hợp Đối với phân loại tệp nhịphân, có thể sử dụng các kỹ thuật như trích xuất đặc trưng tĩnh từ phần PE-
header của tệp, biểu diễn các byte thành vectơ đặc trưng, hoặc sử dụng cácphương pháp biểu diễn dữ liệu động thông qua phân tích động trong môi
trường mô phỏng.
7 Kiến trúc network neural: Cần chọn kiến trúc neural network phù hợp
dé xử lý dữ liệu phần mềm độc hại Các kiến trúc phổ biến bao gồm neural
network tích chập (CNN), neural network hồi quy (RNN), neural network tái
phat hién (Autoencoder), hay neural network hỗn hợp (hybrid neural network).
Mỗi kiến trúc có ưu điểm va hạn chế riêng, và cần được xem xét dựa trên bài
toán cụ thể và loại dữ liệu đầu vào
8 Huấn luyện và tối ưu hóa: Quá trình huấn luyện neural network đòi hỏitập dit liệu dao tao đủ lớn và đa dang, bao gồm cả mẫu phần mềm độc hai vàtệp hợp lệ Can chú ý đến việc xử lý mat cân bang dữ liệu giữa các lớp dé đảm
bảo mô hình không phân loại sai lệch Đồng thời, các thuật toán tối ưu hóa
gradient descent như Adam, RMSprop hoặc SGD (Stochastic Gradient
35
Trang 35Descent) được áp dụng để điều chỉnh trọng số neural network và tối ưu hóa
mô hình.
9 Đánh giá hiệu suất: Đề đánh giá hiệu suất của mô, ta cần sử dụng cácphép đo như độ chính xác (accuracy), độ nhạy (recall), độ chính xác (precision),Fl-score, hay các phép đo khác Đồng thời, cần sử dụng các tập dữ liệu kiểm trađộc lập đề đánh giá khả năng tổng quát hóa và ứng dụng của mô hình
10 Kỹ thuật mở rộng và cải tiến: Neural network cho phát hiện phầnmềm độc hại có thể được cải tiến thông qua việc kết hợp các kiến trúc network
khác nhau, tăng cường dữ liệu huấn luyện, sử dụng kỹ thuật chống quá khớp(overfitting), hay kết hợp với các phương pháp khác như phân tích động (dynamic
analysis), phân tích dựa trên hành vi, hay phân tích thuộc tính đặc trưng Các kỹ
thuật mới như neural network tái phát hiện (Autoencoder), neural network biến
thé (Variational Autoencoder) cũng có thé được khai thác dé cải thiện hiệu suất
và khả năng của mô hình.
2.2.3 Graph Neural Network là gì?
Graph Neural Network (GNN) là một loại mô hình máy học thuộc lĩnh vực
Deep Learning, được thiết kế đặc biệt để xử lý và suy luận trên dữ liệu được biểu
diễn dưới dạng đồ thị Đồ thị này bao gồm các nút (nodes) và các cạnh (edges), mỗi
nút đại diện cho một đối tượng và mỗi cạnh đại diện cho mối quan hệ giữa các đối
tượng.
GNN giải quyết các vẫn đề liên quan đến việc áp dụng các mô hình máy họctruyền thống lên dữ liệu đồ thị Chúng có kha năng tự động học cách tích hợp thông
tin từ các đỉnh láng giềng của mỗi nút trong dé thị, cho phép chúng thực hiện các
nhiệm vụ như phân loại, dự đoán, hay tìm kiếm cộng tác trong môi trường đồ thị
Điểm mạnh của GNN là khả năng xử lý cấu trúc phi cấp và linh hoạt trongviệc áp dụng cho nhiều lĩnh vực, bao gồm xử lý ngôn ngữ tự nhiên, dự đoán hóa
học, phân loại đồ thị, và các ứng dụng trong mạng xã hội Các thuật toán GNN
36
Trang 36thường bao gồm các bước lặp, trong đó thông tin được lấy từ các đỉnh láng giềng và
trạng thái của các nút được cập nhật theo thời gian Qua mỗi bước lặp, biểu diễn đồthị trở nên phong phú và có ý nghĩa, giúp mô hình hiểu rõ hơn về cấu trúc và mối
quan hệ trong dữ liệu
2.2.4 Đồ thị
a Đặc điểm cơ bản:
Đỉnh (Node/Vertex): Đại diện cho các thực thể hoặc điểm trong hệthống Là người, sản pham, hoặc bat kỳ thực thể nào khác Mỗi đỉnh mangtheo một hoặc nhiều thuộc tính, mô tả đặc điểm của thực thé mà nó đại diện
Cạnh (Edge): Kết nối giữa các đỉnh, biểu thị mối quan hệ hoặc tương
tác giữa chúng Có thể có hướng (cạnh có thứ tự) hoặc không hướng (cạnh
không có thứ tự) Cạnh không hướng thích hợp dé mô tả mối quan hệ tương
đồng giữa hai đỉnh, trong khi cạnh có hướng thường được sử dụng dé biểu
thị mối quan hệ hướng từ một đỉnh đến đỉnh khác.
b Loại đồ thị:
Đồ thị có hướng (Directed Graph): Các cạnh có hướng từ một đỉnh
đến một đỉnh khác, thường biéu diễn mối quan hệ có chiều hướng.
Đồ thị vô hướng (Undirected Graph): Các cạnh không có hướng cụ
thé, tức là mối quan hệ giữa các đỉnh là đối xứng
c Ma Trận Đồ Thị:
Ma trận kề (Adjacency Matrix): Ma trận vuông A với Aij bang 1 nếu
có cạnh giữa vi và vj, và bằng 0 nếu không có cạnh giữa chúng Ma trận
kề được sử dụng dé mô tả cau trúc topological (liên kết) của đồ thị Trongquá trình lan truyền thông tin, thông tin từ các đỉnh lân cận được tích hợp
vào biéu diễn của đỉnh đang xét dựa trên ma trận kê.
37
Trang 37Ma trận trọng số (Weight Matrix): Nếu đồ thị có trọng số trên cáccạnh, ma trận này chứa giá tri trọng số Ma trận trọng số mở rộng khả
năng của GNN dé xử lý các đồ thị có trọng số Trong quá trình lan truyền
thông tin, thông tin từ đỉnh lân cận được tích hợp không chỉ dựa trên có
hay không có cạnh, mà còn dựa trên giá trị trọng số của cạnh Điều này
có thể quan trọng trong việc mô hình hóa mức độ mạnh mẽ của liên kết
Trang 38e Bac vào (In-degree): Số lượng cạnh đi vào đỉnh.
e Bac ra (Out-degree): Số lượng cạnh đi ra từ đỉnh
‹« Bac tong (Total degree): Tổng số cạnh kết nối với đỉnh
Bậc của một đồ thị là bậc lớn nhất của một đỉnh trong đồ thị Nó là giá
trị lớn nhất của bậc của các đỉnh trong đồ thị
cạnh Điều này có thể biéu diễn một quá trình di chuyên từ một đỉnh đến một
đỉnh khác trong đồ thị theo một quy luật nhất định Đường đi không yêu cầucác đỉnh hoặc cạnh phải duy nhất
Chu trình (Cycle): Một chu trình trong đồ thị là một đường di đóng
Điều này có nghĩa là đỉnh xuất hiện ít nhất hai lần trên đường đi và đỉnh cuối
cùng phải kết nối với đỉnh đầu tiên, tạo thành một vòng tròn Chu trình là
trường hợp đặc biệt của đường đi, và nó thường được xem xét trong việc
phân tích đồ thị để xác định tính liên kết và chu kỳ
39
Trang 39g Đồ Thị Liên Thông & Thanh Phần Liên Thông:
Đồ Thị Liên Thông:
« M6 Tả: Một đồ thị được gọi là liên thông nêu có một đường đi
giữa mọi cặp đỉnh trong đồ thị Điều này có nghĩa là không cóđỉnh nào bị cô lập, và mọi đỉnh đều có thé được kết nối với bat
kỳ đỉnh nào khác trong đồ thị thông qua một chuỗi các cạnh
« C62 loại:
¢ D6 Thị Liên Thông Không Hướng (Connected
Undirected Graph): Trong đồ thị này, có đường đi giữa
mọi cặp đỉnh mà không cần quan tâm đến hướng của
cạnh.
¢ D6 Thị Liên Thông Có Hướng (Connected Directed
Graph): Có một đường đi hướng từ mọi đỉnh đến mọi
đỉnh khác.
e - Ví dụ:
¢ _ Trong đồ thị liên thông không hướng, nếu bạn có thé đi
từ một đỉnh bat kỳ đến bat kỳ đỉnh khác, thì đồ thị được
coi là liên thông.
Thành Phần Liên Thông:
« M6 Tả: Một thành phần liên thông của một đồ thị là một tập
hợp các đỉnh trong đó mọi đỉnh đều có đường đi đến mọi đỉnhkhác trong tập hợp đó Các thành phần liên thông của một đồ
thị có thể không có liên kết với nhau, nghĩa là mỗi thành phần
là một đồ thị liên thông riêng biệt.
40
Trang 40e Loai:
« Téng Cộng (Giant Component): Là thành phan liên
thông lớn nhất trong đồ thị
e Vidu:
« _ Nếu có một đồ thị được chia thành hai thành phan liên
thông không kết nối với nhau, mỗi thành phần đều làmột đồ thị liên thông riêng biệt
Mối liên hệ:
e Mỗi đồ thị liên thông chỉ chứa một thành phan liên thông
e Một đồ thị có thé chứa nhiều thành phan liên thông, và mỗi
thành phần liên thông là một đồ thị liên thông
h Đồ Thị Đặc Biệt Khác:
Đồ thị hai phía (Bipartite Graph): Có thê chia thành hai tập đỉnh saocho mọi cạnh kết nối một đỉnh từ mỗi tập với một đỉnh từ tập còn lại
Đồ thị đa phần (Multigraph): Có thé có nhiều cạnh giữa hai đỉnh,
thậm chí có thê có cạnh xoăn lên chính nó (vòng).