Hơn nữa, các cuộc tấn công hiệu quả sẽ bộc lộ các lỗ hồngtrong mô hình mục tiêu, điều này có thể dẫn đến việc tạo ra các thuật toán nâng cao.Tuy nhiên, việc cải thiện khả năng phục hồi c
Trang 1ĐẠI HOC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA MANG MAY TINH VA TRUYEN THONG
LE VIET TÀI MAN - 20521593
LÊ TRONG NHÂN - 20521695
KHÓA LUẬN TÓT NGHIỆP
PHƯƠNG PHÁP TẠO BIEN THE MA ĐỘC WINDOWS
DUA TREN HỌC TANG CƯỜNG CÓ KIEM CHUNG
CHUC NANG BANG PHAN TICH DONG
A method of Windows malware mutation using
Reinforcement learning with dynamic analysis-based
functionality validation
CU NHAN NGANH AN TOAN THONG TIN
GIANG VIEN HUONG DAN
ThS Tran Thi DungThS Đỗ Thi Thu Hiền
TP HÒ CHÍ MINH, 2024
Trang 2Với sự hướng dẫn của cô Hiền và cô Dung, chúng em có thể hiểu nội
dung Khoá Luận của mình tốt hơn, kịp thời phát hiện ra những lỗ hồng kiến
thức của mình và từ đó, đưa ra một đê xuât đê có thê đóng góp vào nội dung của khoá luận.
Chúng em cũng xin gởi lời cảm ơn đến các thầy cô, các anh chị trong
Phòng thí nghiệm An Toàn Thông Tin đã cho chúng em cơ hội có thể học
hỏi, giao lưu và trau dồi kinh nghiệm
il
Trang 3/9/V.v04:9.000/)001017 7 |Chương 1 TONG QUAN -:- 2525k EEE1EE1E21717121 11111111 ty 2
1.1 Lý do chọn đề tài :- 5 s5 Sx£SEeEEeEEEEEEEEEEEEE1 2111 1111111111 11111 21.2 Tính cấp thiết của đề tài - :- ¿+ xxx EEE2121217121 211111111 3
1.3 Phương pháp nghiÊn CỨU - - G225 S1 32113211231 E91 19111 1 1111 111 vn grưy 4
1.4 Đối tượng, phạm vi nghiên CỨU - ¿2s x+©E£EE+EE+EE+EEeEEeExerkerxerxerxers 5
1.5 Cầu trúc khóa luận -.: +++2++tt2E+++tttEEEvrtttkttrtttttrrrtrtrrrrrrtrrrrrrrrrrre 6Chương 2 CO SỞ LÝ THUYÊTT -¿- 2 ESE+EE9EE£EE£EEEEEEEEEEEEEEEEEerkerkerkers 7
2.1 Mã độc 5 55 z72277- sognE 7T À GGLQ- LH HH re 7 2.2 Định dạng tập tin PE (Portable Executable Format) -s+++s<+-s>+s 8
2.3 Phạm vi nghiên cứu trong tạo biến thé mã độc -:- se: 10
2.3.1 Tan công không gian đặc trưng (Feature space attack) 102.3.2 Tan công không gian vấn đề (Problem space attack) . I12.3.3 Những giới hạn của tan công không gian đặc trưng . 11
2.3.4 Những giới han của tan công không gian van đề - 11
2.4 Áp dụng học tăng cường vào việc tạo biến thé mã độc - 12
2.4.1 Các thành phan chính trong học tăng cường -sc 5252 12
ZALL State 13
"5 vốằŠ ae 13
“ha e 14 2.4.1.4 Penalty LH HH TH TH Hệ 14
2.4.2 Thuật toán huấn luyện Agent: Q-learning và Deep Q learning 142.5 Các nghiên cứu liên quan trong việc tạo biến thé mã độc 15
lil
Trang 4Chương3 MÔ HÌNH TAO BIEN THE MA ĐỘC DUA TREN HỌC TANGCUONG 19
3.2.1 Ý tưởng: Tạo mẫu đối kháng ở dạng byte -zs5cs+¿ 20
3.2.2 Tổng quan mô hình tạo biến thé mã độc - ¿22222 213.2.3 Cac thành phan của mô hìnhh - << + ++++kk+* 2 kE+EkkEseseersreeeree 22
3.2.3.1 Bộ trích xuất đặc trưng (Feature ExfraCtOT) - « -« 22
3.2.3.2 - A Tổ hình Nilea smmm= É SẠ LẠ SH 23 3.2.3.3 Trinh phát hiện mã độc (malware detector) - - 29
3.2.3.4 Mô-đun kiểm chứng chức năng -2- 5+ z+cs+cxezxe+red 313.2.4 Phương pháp kiểm chứng chức nang dựa trên phân tích động 31
3.2.4.1 Phan tích động với Hộp cát (SandboX) -« - «<< s++ 32
3.2.4.2 Một số phương pháp xử lý chuỗi API - 252552 33
3.2.4.3 _ Tính toán độ tương đông ©22- +c2E2EeEEczErerkerrrrred 35
3.2.4.4 Quy đổi điểm thành phan trong reward tổng - 37
3.2.5 Cách thức hoạt động của mô hình tạo biến thé dựa trên RL 39Chương 4 HIEN THUC VÀ THỰC NGHIỆM 2-2: 5225s>x2zz+cxd 41
4.1 Hiện thực mô hình tao biến thé mã độc dựa trên RL - - 41
iv
Trang 54.1.1 Môi trường hiện thực - - S513 1S 3 kisereesrsrsrerke 4I
4.1.2 Cau hình hệ thống ¿2+ +k£+E£EESEEEEEEEEEEE2121 11211 tre 41
4.1.3 Mô hình mục tiÊU . - c1 1311222111111 221111 kg vn set 42
4.2 Tap dtr Gu eee A ,ÔỎ 42
4.3 Các thông số đánh gid ceccecccccccsecsessessessessessessessessessessessessessessessecsesseeseeseeseess 43
4.4 Các kịch bản đánh gia - - n3 19 119911191119 11 11g HH ng kg ry 44
4.4.1 _ Kịch bản 1: So sánh các phương pháp kiểm chứng chức năng 44
4.4.2 Kịch bản 2: Đánh giá các công thức tinh reward trong tạo biến thé mã
độc 45
4.4.3 Kịch bản 3: Đánh giá thêm các phương pháp so sánh tương đồng
4.4.4 Kịch bản 4: Kha năng chuyền giao của các biến thé mã độc 454.5 Kết quả thực nghiệm - -2- 2 SE S9SE£EESEEEEEEEEEEEEEEEEEEEEEEEEEEErkerkerkrree 46
4.5.1 _ Kịch bản 1: So sánh các phương pháp kiểm chứng chức năng 46
4.5.2 Kịch ban 2: Đánh giá các công thức tinh reward trong tạo biến thé mã
độc 50
4.5.3 Kịch bản 3: Đánh giá thêm các phương pháp so sánh tương đồng
trong tạo biến thể mã độc - ¿+ tk ‡E£EE+EEEEEEEEEEEEEEEEEEEEEEEEEEEEEkrkrrkrkrei 54
4.5.4 Kịch ban 4: Khả năng chuyên giao của các biến thé mã độc 55Chương 5 KẾT LUẬN VÀ HƯỚNG PHAT TRIỀN -2¿ ¿55s =s2 57
5.1 Kết luận ¿2-5221 2E 2 2E1E211271711211 2712111111121 11 211.111 11g 575.2 Hướng phát triỂn ¿- ¿22 £+E+E£+EEEEEEEEEEEE12121712171111E 711111 re 58TÀI LIEU THAM KHẢO -2- ©2222 SE2E2EE£EEE£EEEEEEEEEE2EE2EE22EE2E2EEerkrrrrrred 60
Trang 6Mô hình tạo mẫu đối kháng dựa trên học tăng cường . - 21Thông tin PE được trích xuất từ thư viện LIEE - «+ ecxerx+e+ 23
Sự tương tác của Tác tử và Môi trường trong học tăng cường 23
Mô hình kiến trúc MalCOnv 2¿-+ct+vc+++tetExverrrrkrrrrrrkrrrrrrrred 30Module kiểm chứng chức năng ¿5555 S2Ec£Ee£Ee£Eezxerxerxerxeei 32
Ví dụ minh hoạ kết quả căn chỉnh API -. 5 5< <+++seseeeeereeeesee 35Kết quả so sánh độ tương đồng bằng Mô-đun l . -5:©5+¿ 47Kết quả so sánh độ tương đồng bằng Mô-đun 2 -5: 55+: 48Kết quả so sánh độ tương đồng bằng Mô-đun 3 - 48Kết quả so sánh độ tương đồng bằng Mô-đun 4 -2-52 5+: 49Kết quả so sánh độ tương đồng bằng Mô-đun 5 - :-5¿5¿ 49
VI
Trang 7DANH MỤC BANG
Bảng 3.1 Thơng tin trích xuất đặc trưng . ¿- 2¿¿2+++x++£xtzrxezrxrzrxerred 24Bảng 3.2 Danh sách các phép biến đơi trong khơng gian hành động 25Bảng 3.3 Anh xạ những hành động ảnh hưởng đến đặc trưng của tập tỉn 26Bảng 3.4 Trọng số các điểm thành phần 2-2 5£ ©£+E£2E£+£++£EzEEerxezrerred 29Bang 4.1 Độ chính xác của các mơ-đun so sánh tương đồng trên 378 mau 50Bảng 4.2 Hiệu suất tạo biến thé mã độc trên 300 mẫu mã độc đầu vào 50Bảng 4.3 Tỉ lệ qua mặt của các mẫu biến thể khi cĩ và khơng cĩ kiểm chứng chức
"5 .ẻ.e 51
Bảng 4.4 Số lần hành động gây sự mat chức năng của mã độc -. 52
Bảng 4.5 Tỉ lệ làm hong mẫu của một hành dOng .ceceeccccssessessssesseseesessesseseeseeeees 52
Bảng 4.6 Số hành động được thực hiện mà khơng làm mat chức năng của mã độc
Bảng 4.7 Hiệu suất tạo biến thé mã độc trên 300 mẫu mã độc đầu vào 55
Bảng 4.8 Điêm đánh giá mã độc trước và sau biên đơi của RL cùng các Mơ-đun với
Light Gradient Boosting và MaÏCOnV s- c n1 9 9 H gnHgng rưệp 56
VI
Trang 8Reinforcement learning
Vill
Trang 9TÓM TẮT KHOÁ LUẬN
Trong những năm gần đây, các nhà nghiên cứu về an toàn thông tin đã áp dụngnhững mô hình học máy/học sâu dé phát hiện những lỗ hồng hoặc tan công xâm
nhập Những mô hình này cho phép khái quát hóa các tính năng tinh của các
chương trình thực thi của Windows Hiện tại, có những giải pháp ứng dụng các mô
hình học máy để phát hiện mã độc đem đến kết quả cao trong việc phân loại mã
độc Mặc dù vậy, những giải pháp này vẫn ton tại và bộc lộ những điểm yếu có thé
bị khai thác bằng cách áp dung các phép biến đổi khôn khéo cho đối tượng đầu vào,
dễ bị vượt mặt bởi những mẫu đối kháng được điều chỉnh một cách tinh vi Do vậy,
để đánh giá toàn diện khả năng của các giải pháp phát hiện mã độc, cần có thêmngữ cảnh đánh giá khi chúng đối mặt với các biến thể mã độc Mặt khác, việc xuấthiện các biến thê từ các mã độc gốc đã biết là một thực tế luôn xảy ra Vì thế, việctạo biến thé mã độc cũng là một hướng tiếp cận dé có thé bám sát với những ngữcảnh trong thực tế
Trong bài toán tạo biến thể mã độc cũng có những yêu cầu nhất định, đặc biệt là
việc bảo toàn được khả năng thực thi cũng như chức năng độc hại Do khi thực hiện
những phép biến đổi có thé dẫn đến những rủi ro khiến tệp thực thi bi hong và thậmchí mắt đi chức năng ban đầu Khi đó, các mẫu biến thể được tạo ra sẽ trở nên vônghĩa và không thể sử dụng được Do đó, vấn đề bảo toàn tính toàn vẹn về chứcnăng là một điều rất quan trọng trong bài toán tạo những biến đổi trên những tập tin
mã độc đê tạo ra các biên thê đa dạng.
Từ những động lực trên, trong khóa luận này, chúng tôi đề xuất một mô hình tạo
biến thể mã độc Windows dựa trên học tăng cường Trong đó, bên cạnh việc biếnđổi các tệp malware gốc với đa dạng các hành động dé tạo biến thé mới, chúng tôicũng giới thiệu cơ chế kiểm tra việc bảo toàn chức năng của các biến thể sau khi
được biến đổi dựa trên cơ sở phân tích động Các kết quả thực nghiệm cho thấy hiệu
quả của phương pháp được đề xuất trong việc tạo ra các biến thể có khả năng qua
mặt một số bộ phát hiện mã độc cũng như bảo toàn được chức năng ban đầu
Trang 10Chương 1 TÔNG QUAN
Chương này giới thiệu vê vân đê và các nghiên cứu liên quan Đông thời, trong chương này chúng tôi cũng trình bay phạm vi va câu trúc cua Khoá luận.
1.1 Ly do chọn đề tài
Mặc dù nỗ lực cải thiện những kết quả hiệu suất đã tạo ra các mô hình có độ chínhxác cao nhưng thuật toán học máy vẫn có thé thé hiện những hành vi không mongmuốn khiến chúng dự đoán các đối tượng đầu vào với nhãn sai Nói cách khác, các
mô hình mục tiêu có thê đưa ra quyết định sai lầm khi đối mặt với các đối tượng
mau đôi kháng.
Trong số tất cả các lĩnh vực, bảo mật được coi là đặc biệt thú vị, vì kẻ tấn công
khám phá các phương tiện tối đa hóa lợi nhuận bằng các chiến lược khác nhau, baogồm cả việc phát tán phần mềm độc hại và các cơ hội trên chợ đen Mặc dù lĩnh vực
an ninh mạng vốn được dành riêng để bảo vệ chống lại những kẻ thù như vậy,nhưng bản thân các cuộc tan công đối kháng lại bao gồm một số van đề khác Công
nghệ mạnh mẽ nhăm mục đích cải thiện dự đoán của các mô hình cũng là thứ khiến
chúng có nguy cơ bị tấn công Vấn đề này có ý nghĩa rõ ràng, đặc biệt là trong bối
cảnh phần mềm độc hại, trong đó phần mềm độc hại có thé được sử dụng dé thựchiện các cuộc tan công nhắm mục tiêu không chỉ vào người dùng truyền thống màcòn nhắm vào các mục tiêu lớn hơn, chăng hạn như cơ sở làm giàu uranium hoặc bộgen dữ liệu Trong bối cảnh này, kẻ thù có thé thiết kế một tập hợp các phép biến
đôi được chế tạo cần thận dưới dạng hộp công cụ dé đưa chúng vào các đối tượng
đã được phát hiện trước đó Nếu thành công, kẻ độc hại có thể buộc các mô hình
ML phân loại sai đối tượng đối kháng là lành tính
Tuy nhiên, có một vấn đề khác trong bối cảnh phần mềm độc hại vẫn cần được giảiquyết Nghĩa là, các tệp nhị phân có thé bi hỏng nếu các phép biến đổi thay đổi
nhiều cấu trúc của chúng để thuyết phục các mô hình lật nhãn Mặc dù các cuộc tấn
công đối kháng thiếu các hạn chế như vậy trong các miền khác nhau, chắng hạn
Trang 11như trong xử lý hình ảnh, các tệp nhị phân phần mềm, cụ thể là các tệp WindowsPortable Executable (PE), có thể cần được xem xét thêm bằng cách sử dụng giaiđoạn xác minh để đảm bảo rằng tính hợp lý của đối tượng được duy trì.
Việc tìm cách giải quyết những thiếu sót đã nói ở trên của AML (AdversarialMachine Learning) trong bối cảnh phần mềm độc hại có tệp PE Tuy nhiên, để hiểu
rõ hơn cách các mô hình hoạt động với đầu vào đối kháng, điều quan trọng là phảixác định cách tiếp cận mang tính hệ thống cho phép đánh giá các cuộc tấn công đốikháng chống lại các bộ phân loại phần mềm độc hại thông qua một quy trình tự
động Một khía cạnh quan trọng khác là tạo ra các ví dụ đối kháng hợp lệ một cách
hiệu quả trong bối cảnh phần mềm độc hại Như đã thảo luận trước đây, các cuộctan công cần phải sửa đổi các đối tượng đầu vào dé tạo ra phần mềm độc hại đối
kháng hiệu quả trong khi vẫn giữ được tính toàn vẹn của đối tượng Do đó, việc xác
định các chiến lược hiệu quả để tạo ra các đối tượng đối kháng có thé thực hiện
được là điều cần thiết Hơn nữa, các cuộc tấn công hiệu quả sẽ bộc lộ các lỗ hồngtrong mô hình mục tiêu, điều này có thể dẫn đến việc tạo ra các thuật toán nâng cao.Tuy nhiên, việc cải thiện khả năng phục hồi của bộ phân loại mà không ảnh hưởng
đến việc phát hiện các đối tượng thực sự là một nhiệm vụ đầy thách thức dựa trên
bản chất của phần mềm độc hại PE
1.2 Tinh cấp thiết của đề tài
Chúng tôi tập trung tìm hiéu các nghiên cứu thuộc không gian van đề trên nền tảngWindows Anderson và cộng sự [1] là một trong những người đầu tiên cho thấyrằng học tăng cường có thể được sử dụng thành công để tạo ra các mẫu đối khángtrong cho Windows PE Tuy nhiên, việc sử dụng biến đổi bảo tồn ngữ nghĩa vẫn cóthé dẫn đến các mẫu đối kháng bị hỏng Do đó, việc xác minh tính toàn vẹn là cầnthiết dé đảm bảo chức năng Labaca-Castro và cộng sự [2] đã đề xuất AIMED-RL:Các biến đổi Phần mềm độc hại thông minh tự động dé trốn tránh phát hiện sử dụngphương pháp Học tăng cường Phương pháp này kết hợp phân tích tính toàn vẹn vớicác kỹ thuật học tăng cường cải tiến Tác giả giả định rằng kẻ tấn công sử dụng một
Trang 12bộ công cụ với một tập hợp các biến đồi, có thé được chèn vào một tệp malware gốc
và ngăn chặn một mô hình dựa trên ML phân loại nó đúng là độc hại Phương pháp
này cho thấy rằng Học tăng cường có thê được triển khai để tăng tỷ lệ thành công
của các cuộc tấn công như vậy vào các bộ phân loại mã độc và có khả năng vượt trội
so với nghiên cứu trước đây trong lĩnh vực này bang cách giảm đáng kể công sức.Nắm bắt sự vượt trội này, nhóm nghiên cứu của chúng tôi đề xuất thêm một hành
động mới, dựa trên tập hành động của AIMED-RL.
1.3 Phuong pháp nghiên cứu
e Nội dung 1: Tìm hiéu mã độc Windows, kỹ thuật phân tích mã độc va học tăng
cường Ở nội dung đầu tiên, chúng tôi đặt ra những mục tiêu như sau: Namđược định dạng PE, cơ chế hoạt động, đặc điểm đặc trưng của các loại mã độcWindows ; Hiểu và ứng dụng được các kỹ thuật phân tích mã độc bao gồm phântích tĩnh và phân tích động; Hiéu được cơ chế hoạt động của học tăng cường, ápdụng được vào ngữ cảnh của tạo biến thể mã độc Windows
Phương pháp: Đọc các công trình về phân tích và phát hiện mã độc Windows ở cảhướng động và tĩnh, nắm được các phương pháp và các thông tin thường được sửdụng dé phát hiện mã độc Doc các công trình về áp dụng học tăng cường, đặc biệt
là trong việc phát hiện mã độc (Windows hoặc các loại khác).
e Nội dung 2: Xây dựng hệ thông tạo biến thể mã độc Windows dựa trên học
tăng cường có kiểm chứng chức năng Ở phần này chúng tôi đặt những mục tiêu
cụ thể như sau: Định nghĩa được không gian hành động phù hợp Thiết kế đun kiểm chứng chức năng dựa trên phân tích động Xây dựng mô hình tạo biếnthé mã độc Windows
mô-Phương pháp: Tham khảo các công trình về áp dụng RL vào tạo biến thể mã độc,
các công cụ hỗ trợ hiện thực các phương pháp biến đổi mã độc Nghiên cứu phương
pháp phân tích động: phân tích và thu thập báo cáo về API calls từ Sandbox Nghiêncứu và đánh giá một số phương pháp so sánh API:Chuyén đổi danh sách API thànhdang vector, và tính độ tương đồng bang cosine similarity, so sánh chuỗi API
Trang 13e Nội dung 3: Thực nghiệm và đánh giá kết quả Mục tiêu: Triển khai mô hình,
Đánh giá hiệu qua hệ thống đề xuất
Phương pháp: Triển khai và thực nghiệm Thu thập di liệu đầu vào cho toàn bộ
mô hình là mẫu chương trình thực thi malware (dưới dạng file PE) Đánh giá khả
năng kiêm chứng chức năng của mô-đun đã phát triển Thực nghiệm so sánh hiệuquả của mô hình RL và một số phương pháp tạo biến thể mã độc khác như việc
chọn ngẫu nhiên action Tiêu chí đánh giá: khả năng qua mặt bộ phát hiện, tỷ lệ mã độc bảo toàn chức năng,
1.4 Đối tượng, phạm vi nghiên cứu
Đề xuất hệ thống tạo biến thể mã độc Windows thông minh bằng phương phápHọc tăng cường kết hợp phân tích động nhằm kiêm chứng tính toàn vẹn của chứcnăng mã độc Chúng tôi giả định rằng kẻ tan công sử dụng một tập hợp các biến đồi,
có thé được áp dụng trên phần mềm độc hại gốc và ngăn mô hình dựa trên học máy
phân loại chính xác nó là độc hại Thêm vào đó, phương pháp dé xuất có cơ chế
kiểm tra được chức năng của mẫu mã độc đối kháng vẫn nguyên vẹn so với mẫu mã
độc gốc ban đầu
Đối tượng nghiên cứu:
e Các mô hình học sâu/học máy dé phát hiện mã độc như LightGBM, CNN
(MalConv), RNN, Bi-LSTM.
e Các mã độc Windows dưới dạng tệp PE được thu thập từ nhiều nguồn
dataset khác nhau gồm có các tập tin lành tính và độc hại
e Các kỹ thuật thu thập so sánh hành vi.
Pham vi nghiên cứu:
Ở nghiên cứu này, phương pháp so sánh chức năng và kiểm chứng chức năng sẽ tập
trung dựa trên kết quả phân tích động Cụ thể các tập API mà tập tin PE đã sử dụngđược trả về từ sandbox sẽ được so sánh với nhau để xác định việc bảo toàn chức
năng.
Trang 141.5 Cấu trúc khóa luận
Chúng tôi xin trình bày cấu trúc của khoá luận như sau:
Chương 1: Tổng quan về đề 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ốnhướng tới Sơ lược một số công trình liên quan có cùng hướng nghiên cứu mà đề tài
có tham khảo.
Chương 2: Cơ sở lý thuyết
Trình bày các định nghĩa, khái niệm cũng như những kiến thức nền tang dé có thé
thực hiện được nghiên cứu.
Chương 3: Mô hình tạo biến thể mã độc dựa trên học tăng cường
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ương pháp
thực hiện và mô hình được sử dụng.
Chương 4: Hiện thực và thực nghiệm
Đề cập đến quá trình thực nghiệm cùng với kết quả thu được Đưa ra nhận xét cho
những công việc đã thực hiện ở Chương 3.
Chương 5: Kết luận và và hướng phát triển
Ở chương này chúng tôi đưa ra những đánh giá và nhận xét từ những thực nghiệm
từ Chương 4 Từ đó đề xuất một số hướng phát triển để cải thiện mô hình theohướng tốt hơn nữa
Trang 15Chương 2 CƠ SỞ LÝ THUYET
2.1 Mã độc
Chương trình độc hại hay con được gọi là mã độc là những đoạn mã chương
trình được thiết kế dé thực hiện tối thiểu những công việc sau:
1) Tự xen vào tiến trình hiện hành của máy tính một cách bắt hợp lệ, dé thực hiện tự
nhân bản và những công việc theo chủ ý của kẻ tắn công Sau khi kết thúc thực thi
mã mã độc thì điều khiển được trả cho trình đang thực thi mà máy không bi "treo",trừ trường hợp mã độc có ý treo máy
2) Tự sao chép chính nó (tự nhân bản), một cách bất hợp lệ và lây nhiễm vào
những tập tin (file) hay các vùng xác định (boot, FAT sector) ở các thiết bị lưu trữnhư đĩa cứng, đĩa mềm, thiết bị nhớ flash (phổ biến là USB) thậm chí cả EPROM
chính của máy.
Trước đây, mã độc thường được viết bởi một số người am hiểu về lập trình muốn
chứng tỏ khả năng của mình nên thường mã độc có các hành động như: cho
1 chương trình không hoạt động đúng, xóa dir liệu, làm hỏng 6 cứng hoặc gây ranhững trò đùa khó chịu Những mã độc mới được viết trong thời gian gần đâykhông còn thực hiện các trò đùa hay sự phá hoại đối với máy tính của nạn nhân bịlây nhiễm nữa, mà đa phần hướng đến việc lấy cắp các thông tin cá nhân nhạy cảm(các mã số thẻ tín dụng) mở cửa sau (backdoor) cho tin tặc đột nhập chiếm quyềnđiều khiển hoặc các hành động khác nhằm có lợi cho người phát tán mã độc Hơn90% số mã độc đã được phát hiện là nhắm vào hệ thống sử dụng hệ điều hành họWindows chỉ đơn giản bởi hệ điều hành này được sử dụng nhiều nhất trên thế giới
Do tính thông dụng của Windows nên các tin tặc thường tập trung hướng vào chúng
nhiều hơn là các hệ điều hành khác Cũng có quan điểm cho rang Windows cótính bảo mật không tốt bang các hệ điều hành khác (như Linux) nên có nhiều mãđộc hơn, tuy nhiên nếu các hệ điều hành khác cũng thông dụng như Windows hoặcthị phần các hệ điều hành ngang bằng nhau thì cũng lượng mã độc xuất hiện có lẽcũng tương đương nhau Ngoài ra hiện nay mã độc máy tính không chỉ xuất hiện
7
Trang 16trên các máy tính hệ điều hành Windows nói riêng và toàn bộ các máy tính thuộc tất
cả các hệ điều hành nói chung mà nó còn xuất hiện trên cả các điện thoại diđộng thuộc các hệ điều hành Android và IOS (với tỷ lệ thấp hơn vì IOS có độ bảo
mật cao hơn).
Mặc dù phần mềm độc hại có thể được tạo cho hầu hết mọi Hệ điều hành nhưngtrong khoá luận này, phần mềm PE được tập trung chủ yếu vào, vì MicrosoftWindows là hệ điều hành được sử dụng nhiều nhất
2.2 Dinh dạng tập tin PE (Portable Executable Format)
Dinh dang PE là định dang dùng chung cho các ứng dụng trên toàn bộ hệ điều hànhWindows nhằm lưu trữ thông tin cần thiết dé thực thi phần mềm trên các kiến trúcđược hỗ trợ Định dạng này có thể tìm thấy ở các tập tin thực thi (.exe), thư việnliên kết động (.dll) với sự khác biệt duy nhất ở 1 bit biéu diễn loại tập tin trong
phần Định dạng tệp đối tượng chung (Common Object File Format).
Như minh họa ở Hình 2.1, định dạng PE gồm các phần sau:
- Phan thông tin tiêu đề (header): trong đó các trường đầu tiên Tiêu dé DOS
va DOS stub là các phần kế thừa được sử dụng dé tương thích ngược giữacác phiên bản hệ điều hành Bên cạnh đó, các trường trong tiêu đề PE (PEheader) cung cấp thông tin cho hệ điều hành, về cách ánh xạ tệp vào bộ nhớ,
vì không phải tất cả PE đều được ánh xạ Ví dụ: các vị trí tái định vị(relocation) có thé được đọc nhưng không được ánh xạ, trong khi các phần 0cuối tập tin thậm chí có thé không được ánh xạ Tiêu dé tùy chon PE
(optional header) cung cấp thông tin bổ sung về tập tin, chang hạn như kích
thước và vi trí entry-point (vi trí lệnh đầu tiên) của tập tin Ở cuối tiêu đề, cómột Section table ở dạng cấu trúc mảng, bao gồm thông tin về từng sectionđược định nghĩa trong PE Số mục có trong bảng phải khớp với số section
trong tập tin.
Trang 17fsre section
Section
Overlay
Hình 2.1: Dinh dang tập tin PE.
- Cac section: Theo sau thông tin tiêu dé là các section của tập tin, chứa các
thông tin như mã nguồn hoặc dữ liệu cần thiết dé thực thi Section đầu tiênla.text, trong đó chứa các đoạn mã thực thi Phần data chứa dữ liệu chỉ chophép đọc (ví dụ: hằng và chuỗi ký tự), không thay đổi trong quá trình thựcthi Phần idata lưu trữ thông tin về các hàm thư viện được tập tin sử dụng
(imported functions), bao gồm Import Address Table và thư mục nhập
(import directory), trong khi phần edata phân bổ thư mục xuất (exportdirectory), bao gồm tên và địa chỉ của các hàm đã xuất Đây chỉ là một sốsection phô biến thường thấy trong tập tin PE, một số tập tin có thé chứa các
section khác, ví dụ rsrc bao gồm thông tin tài nguyên Bên cạnh đó, cuối tập
tin PE còn có thé có một số dữ liệu chưa được ánh xạ, chang hạn như thông
tin gỡ lỗi.
Có một số phương pháp có thé thực hiện dé biến đổi các tập tin PE Tuy nhiên, việc
tạo ra các phương pháp tiếp cận đa mục đích hiệu quả là một nhiệm vụ phức tạp, đó
là lý do tại sao nhiều nghiên cứu chọn phương pháp triển khai các trình phân tích cú
9
Trang 18pháp của riêng họ được gắn chặt với một ngôn ngữ và ngữ cảnh cụ thé, khiến việctái sử dụng lại các công cụ đó khó khăn hơn Đề giải quyết vấn đề này, một thư viện
đa nén tang đã được tạo ra, được gọi là LIEF nhằm mục đích phân tích cú pháp vàcung cấp giao diện dé thao tác với các tệp thực thi, bao gồm ca PE
2.3 Phạm vi nghiên cứu trong tạo biến thé mã độc
Trong bài toán tạo mẫu đối kháng mới từ việc biến đổi một mẫu đầu vào ban đầu,mau đối tượng đầu vào có thể được chia thành hai loại: không gian đặc trưng vakhông gian vấn đề, dẫn đến hai phạm vi khác nhau của các nghiên cứu tạo mẫu đốikháng Cụ thể, không gian đặc trưng liên quan đến việc xử lý mẫu đầu vào thôngqua các biểu diễn nhúng của chúng, trong khi không gian vấn đề hướng tới xử lýtrên các đối tượng thực (tức là các tập tin nhị phân phần mềm)
Các không gian đặc trưng và nhãn tương ứng được ký hiệu là X, Y, trong khi không
gian van đề được biéu thị bằng Z Đối với mỗi đối tượng đầu vào z € Z sẽ có mỗi
một nhãn tương ứng với y € Y Trình phát hiện mã độc sẽ thực hiện phép ánh xạ g :
X — Y dự đoán nhãn y^=g(x) cho đối tượng đầu vào đã cho và hàm ánh xạ đặctrưng @ : Z —> X € R" được bộ phân loại yêu cầu để xử lý đối tượng đầu vào Mộthàm như vậy không thê đảo ngược, điều này không cho phép ánh xạ các đặc trưngngược lại về không gian vấn đề, tức là ánh xạ lại với mẫu tập tin thực tế
2.3.1 Tấn công không gian đặc trưng (Feature space attack)
Đề đánh giá các trình phân loại phần mềm độc hại, chúng tôi tạo ra một kịch bản
trong đó kẻ tấn công tiềm năng tạo ra các cuộc tấn công bằng cách sửa đổi đốitượng đầu vào (tức là tệp phần mềm độc hạn) cho đến khi mô hình không còn pháthiện được nó nữa Điều này có nghĩa là kẻ tan công nhằm mục đích chuyên đổi mộtđối tượng x € X thành x’ € X, trong đó g(x’) =t € Y trong đó t # y, do đó buộc môhình gán sai nhãn t cho một đối tượng x' Trong không gian đặc trưng, mục tiêu là
đánh lừa mô hình gan nhãn lành tính cho đối tượng độc hại được biểu diễn qua các
đặc trưng.
10
Trang 192.3.2 Tấn công không gian vấn đề (Problem space attack)
Trong không gian van dé, các cuộc tan công phải được xây dựng can thận dé tạo racác đối tượng thực, tức là các tập tin nhị phân thực Mục đích của kẻ tấn công là tạo
ra một chuỗi T:TneTn-Ie e Tl mà mọi phép biến đổi T : Z > Z đều chuyên zthành một đối tượng z' € Z sao cho g(T(z)) =t € Y trong đó t # y, trong đó tất cảcác ràng buộc về không gian bài toán đều được thỏa mãn chính xác Quá trình nàydẫn đến việc tạo ra các mẫu phần mềm độc hại đối kháng khiến các mô hình pháthiện nhằm chúng là lành tính
2.3.3 Những giới han của tan công không gian đặc trưng
Mặc dù các cuộc tấn công vào không gian đặc trưng không tạo ra các mẫu thực tếnhưng chúng vẫn cần đáp ứng ở một số yêu cầu nào đó dé được xem là giống vớicác mẫu thực Do đó, một tập hợp các ràng buộc Q chỉ định các phép biến đổi xảy
ra trong không gian đặc trưng, có thé bao gồm các giới han Ib đưới (lower bound)
và giới han ub trên (upper bound) chăng hạn như 6 < & < ồu› Chúng cũng có thégiới hạn số lượng đặc trưng từ đối tượng đầu vào sẽ bị ảnh hưởng bởi các phép biếnđổi
2.3.4 Những giới hạn của tan công không gian vấn đề
Vì các cuộc tấn công cần phải được thực hiện can thận trong không gian van đề déđảm bảo tính toàn vẹn của đối tượng được bảo toàn nên cần có các ràng buộc bốsung Nói chung, sự biến đồi của phần mềm độc hại, đặc biệt là trong bối cảnh tệp
PE, chủ yếu dựa vào việc thêm hoặc chỉnh sửa thông tin, vì việc xóa hoàn toàn dữliệu có thể ảnh hưởng đến tính toàn vẹn của đối tượng Ví dụ, việc thêm các hàmvào Import Address Table và thay đổi thông tin chữ ký hoặc thông tin gỡ lỗi của tập
tin nhị phân là những ví dụ về biến đổi hợp lệ Bên cạnh đó, một số cơ chế xác minh
tính toàn vẹn hay bảo toàn chức năng, được định nghĩa là v:Z—>Z, cũng cần đượcđưa vào dé đảm bảo rang các phép biến đổi được dé cập không làm ảnh hưởng đến
tính toàn vẹn của các mâu đôi kháng được tạo ra.
I1
Trang 202.4 Áp dụng học tăng cường vào việc tạo biến thé mã độc
Từ yêu cầu của chiến lược tạo mẫu đối kháng của phần mềm độc hại trong không
gian vấn đề, chúng tôi nhận thấy tiềm năng của học tăng cường (RL) trong việc xác
định chuỗi biến đối tối ưu, có thé được xem là mục tiêu để thực hiện việc huấnluyện tác nhân (agent) RL Khi đó, các đối tượng đầu vào va các phép biến đồi cần
được xác định chính xác Ngoài ra, các siêu tham số cũng cần được sử dụng hiệu
quả dé tính hàm phan thưởng, cung cấp thông tin phản hồi hữu ích cho quá trìnhhuấn luyện agent
Tuy nhiên, các nghiên cứu trước đó chỉ ra rằng các tác nhân RL có xu hướng tối ưuhóa các biến đổi ưu tiên hơn (đóng gói UPX) với các chuỗi rất lớn, có thé dé dang
bị phát hiện hơn Do đó, mục tiêu của chúng tôi là tìm ra các tác nhân hiệu quả có
thé phù hợp với hiệu suất của các phương pháp liên quan với các cuộc tấn công
ngắn hơn.
Thao tác thông minh tự động dé tránh bị phát hiện bang RL (AIMED-RL) là một
mô hình tập trung vào việc nhận dang tự động các mẫu đối kháng mới bang cách sử
Hình 2.2: Các khái niệm chính trong Học tăng cường.
Ý tưởng của học tăng cường là giải quyết vấn đề tối ưu hóa bằng cách sử dụng cáctác nhân RL, được huấn luyện thông qua việc tương tác với một môi trường
12
Trang 21(envionment) thông qua một số hành động (Hình 2.2) Trong đó, với một trạng tháiđầu vào nhất định, một tập hợp các hành động nhằm tối đa hóa hàm phần thưởng sẽ
được xác định Quá trình này có thé được định nghĩa là Quá trình quyết định
Markov (Markov Decision Process) gồm bốn bộ dữ liệu (S, A, Ps, a, Rs,a) Trong
do, S (state) là viết tắt cua không gian trang thái, là một thông tin đại diện cho đốitượng đầu vào, có thể là một số đặc trưng A (action) đề cập đến một tập hợp cáchành động có thể xảy ra, còn được gọi là không gian hành động P (probabilitydistribuition) (s,a) biểu thị phân bố xác suất ở các trạng thái tiếp theo Cuối cùng,
R(s,a) (reward) là hàm thưởng thu được từ việc thực hiện các hành động trên môi
trường dẫn đến việc chuyên đôi giữa các trạng thái
2.4.1.1 State
Một trạng thái nhất định (state) bao gồm các đặc trưng được trích xuất từ đối tượngđầu vào Đối với mọi thay đôi trong môi trường, cụ thê là hành động được thực hiệntrong trạng thái, trang thái sẽ được thay đổi thành một trạng thái mới Trong ngữcảnh bài toán tạo biến thé mã độc, state có thé bao gồm các đặc trưng được tríchxuất từ tập tin thực thi, đại diện cho tập tin tại một thời điểm nhất định, có thê tạithời điểm ban đầu hoặc sau một số phép biến đồi Bên cạnh đó, hành động tiếp theocũng được agent xác định trên cơ sở state hiện tại được trích xuất từ đối tượng đầuvào ở mỗi lần lặp
2.4.1.2 Action
Mỗi hành động là một hành động có thé được thực hiện trên đối tượng, từ đó có thé
ánh xạ các phép biến đổi dang byte có thé thực hiện trên tập tin PE trong ngữ cảnhtạo biến thê mã độc Trong trường hợp này, tác nhân có thể chọn hành động từ một
tập hợp đã xác định và áp dụng các phép biến đổi vào mẫu đối kháng, từ đó thay đổi
các đặc trưng hay state của tập tin tương ứng.
13
Trang 222.4.1.3 Reward
Mô hình phần thưởng được sử dụng để mô tả giá trị phần thưởng mà tác tử nhậnđược từ môi trường sau khi lựa chọn hành động a € A nhất định dẫn đến việcchuyên từ trạng thái s € S sang trạng thái mới s’ € S Dựa trên thông tin phản hồinày, agent có thể học cách lựa chọn các hành động hiệu quả hơn nhằm tối ưu hóaphần thưởng nhận được
2.4.1.4 Penalty
Đôi khi, agent có xu hướng đi vào các vòng lặp lặp lại dé tim kiếm giải pháp tối ưu,nếu việc lặp lại các hành động giống nhau có thê tối đa hóa hàm phần thưởng Tuynhiên, từ góc độ phần mềm độc hại, việc thêm cùng một biến đổi lặp đi lặp lại cóthể tạo ra các cuộc tấn công yếu hơn, vì các cuộc tấn công như vậy có thể tồn tạimột số đặc điểm đặc biệt khiến chúng dé bị phát hiện hơn Do đó, khi tạo biến thé
mã độc có thể sử dụng thêm cơ chế xử phạt đề khuyên khích tác nhân tìm ra các
trình tự không trùng lặp hơn.
2.4.2 Thuật toán huấn luyện Agent: Q-learning và Deep Q learning
Mỗi trạng thái khác nhau có giá trị riêng được xác định bởi phần thưởng hiện tại và
phan thưởng tương lai có thé đạt được bởi các trạng thái tiếp theo Ham gan giá trinày cho trạng thái được gọi là hàm giá trị V (s) Tuy nhiên, vì lý do thực tế, việc xemxét các hành động liên quan đến các chuyên tiếp trạng thái là đơn giản hơn Mối
quan hệ này được xác định bởi hàm Q:
Q(s,a) = r(s,a) + y max Q(s”,4') (2.1)
a€A
Hệ số chiết khâu y điều khién mức độ mà tác tử đặt mục tiêu vào phần thưởng daihạn (giá trị cao cho y), hoặc chỉ xem xét tham lam (greedily) phần thưởng hiện tại(giá trị thấp cho y) Điều này có nghĩa rang giá trị Q là phần thưởng chiết khâu kỳ
vọng cho việc thực hiện hành động a tại trạng thái s và tuân theo chính sách 7 sau
đó Để theo dõi và cập nhật giá trị Q, chúng phải được lưu trữ cùng với cặp trạngthái và hành động tương ứng Trong trường hợp đơn giản, với chỉ một số trạng thái
14
Trang 23và hành động có sẵn, một bảng 2D có thé được sử dụng để hoàn thành nhiệm vụ.Tiếp cận này có thể được coi là tương tự với lập trình động Tuy nhiên, ngay cả khichỉ lưu trữ các trạng thái đã được biết đến, độ phức tạp và giới hạn lưu trữ sẽ vượtquá rất nhanh Việc áp dụng mạng nơ-ron sâu cho phép xử lý vấn đề này Thay vìtính toán trực tiếp giá trị Q và lưu trữ chúng, một mạng nơ-ron sâu với trọng số 0 có
thê được sử dụng như một bộ xấp xỉ hàm phi tuyến Mạng có thể được huấn luyện
bang cách giảm thiểu hàm mat mát L(0) trong quá trình các tập huấn luyện bằng
gradient descent ngẫu nhiên Kích thước lớp đầu ra của mạng phải phù hợp với số
lượng hành động có thé có Nó mô phỏng quá trình học giám sát, trong đó phanthưởng định nghĩa dữ liệu được gán nhãn cho một trạng thái Mạng phải học dé dựđoán chính xác các phần thưởng nay dé giảm thiểu hàm mat mát Từ những dự đoán
này, cuối cùng có thé suy ra các hành động tối ưu dé đạt được phan thưởng cao nhất
[3].
2.5 Cac nghiên cứu liên quan trong việc tao biến thé mã độc
Đã có nhiều nghiên cứu đề xuất các phương pháp khác nhau trong việc tạo biến thể
mã độc, cụ thé là mã độc Windows, trong đó chúng tôi phân nhóm các cách tiếp cậnnổi bật nhất theo các nhóm theo một số hướng tiếp cận dựa trên tối ưu hóa độ dốc(gradient optimization), mạng sinh đối kháng (Generative Neural Network), họctăng cường (Reinforcement Learning), giải thuật di truyền (Genetic programming)
Goodfellow va cộng sự [4] đã giới thiệu một phương pháp tao mẫu đối kháng dựatrên gradient (độ dốc) sử dụng phương pháp Fast Gradient Sign Method (FGSM)
FGSM khai thác việc tính toán gradient descent của Neural Network dé tạo mẫu đối
kháng, trong đó hướng đến tìm giá tri cực đại của ham mất mát của các mô hình dự
đoán dé tạo mẫu đối kháng Ý nghĩa của việc này là hàm mắt mát (loss function)
giữa True Label và Predicted Label càng lớn thì mô hình phân loại sẽ gán nhãn mã
độc bị nhằm lẫn thành tệp lành tính Phương pháp này tạo mẫu đối kháng được thực nghiệm trên mô hình mục tiêu MalConv với tỷ lệ trốn tránh lên tới 99,21% trong
trường hợp tốt nhất Bên cạnh đó, theo các tác giả, chức năng của các tập tin có thé
15
Trang 24được bảo toàn bằng cách giới hạn các phép biến đổi ở một số lượng byte nhỏ khôngđược sử dụng hoặc được thêm vào cuối tập tin dưới dạng một section mới Tác giảcũng tính toán biểu đồ hành vi để xác minh nhận định này Nhìn chung, các cuộctan công đối kháng dựa trên gradient tận dụng hau hết các kịch bản thay đổi mộtphần nhỏ của tập tin PE, trong đó kẻ tấn công có toàn quyền truy cập vào mô hìnhcũng như các siêu tham số và đặc trưng của nó, dẫn đến tỷ lệ trốn tránh chủ yếu là
cao Một lý do khác cho hiệu suất cao là việc duy trì tính toàn vẹn của các đối tượng
trong không gian đặc trưng ít phức tạp hơn đáng kể so với trong thế giới thực Do
không có đối tượng tập tin đầu ra nào được tạo ra nên việc xác minh tính toàn vẹn
thường được thực hiện bằng cách hạn chế giá tri của các đặc trưng được sua đôi,
đây là một kỹ thuật ảnh hưởng hơn so với việc thêm nhiễu cấp byte trong không
gian vân đê.
Weiwei Hu và những cộng sự [5] đã có một sỐ công trình nghiên cứu sử dụng môhình sinh mẫu đối kháng (Generative Adversarial Networks) là MalGAN Mục tiêucủa GAN là triển khai hai mạng thần kinh cộng tác với nhau: một mạng được gọi làtrình tạo (generator), chịu trách nhiệm tạo ra các mẫu đối kháng và mạng còn lại
được gọi là bộ phân biệt (discriminator) hoc cách phát hiện các mẫu đối kháng được
tạo bởi mạng sinh Trong quá trình thực hiện, Hu và các cộng sự đã làm cho bộ
phân biệt hoạt động tương tự như một bộ phân loại hộp đen Tuy nhiên, mặc dù các
tác giả đưa ra kết quả hiệu suất cao trong việc tạo mẫu đối kháng, nhưng mẫu này
chỉ được tạo ra trong không gian đặc trưng, không có đối tượng thực nao được tao
ra Tóm lại, tương tự như các cuộc tấn công gradient, các phương pháp tiếp cận dựatrên GAN tận dụng không gian đặc trưng bằng các kịch bản hộp trắng, trong đó đốithủ có thể truy xuất dữ liệu nội bộ từ mô hình, dẫn đến tỷ lệ né tránh đạt được
thường rất cao (100%).
Năm 2018, Anderson và cộng sự [1] đã giới thiệu phương pháp đầu tiên tạo ra cácmẫu phần mềm độc hại đối kháng băng cách sử dụng Học tăng cường (RL) cho cáctập tin Windows PE Cách tiếp cận này dựa trên môi trường OpenAI gym, trong đótác nhân (Agent) được dao tạo với chính sách (policy) nhằm tối đa hóa phần thưởng
16
Trang 25(reward) đơn giản, trả về 0 nếu phần mềm độc hại đã sửa đổi vẫn bị phát hiện và 10khi tìm thay mẫu đối kháng Trong kịch ban này, với mỗi vòng huấn luyện, tác nhânnhận được giới hạn tối đa 10 hành động, là số lượng phép biến đổi có thể áp dụngtrên tập tin PE cho đến khi bắt đầu vòng lặp kế tiếp Tuy nhiên, mặc dù các tác giả
đã chứng minh tỷ lệ trốn tránh đạt tới 24% đối với các tình huống cụ thê (tức là tùythuộc vào loại phần mềm độc hai), nhưng tác giả lại không xác minh tính toàn ven,
vì họ lập luận rằng các phép biến đổi bảo toàn tính năng đã được xem xét trong
phương pháp Tuy nhiên, sau đó họ thừa nhận rằng nhiều tập tin có vấn đề về tính
toàn vẹn.
Fang và cộng sự [6] đã triển khai mạng deep-Q-learning dựa trên giá trị ban dau dégiải quyết tình trạng đánh giá quá cao các giá trị hành động do thuật toán Q-learning
cơ bản gây ra Với cách tiếp cận này, các tác giả đạt được tỷ lệ trốn tránh là 46,56%
Đề đạt được tỷ lệ trồn tránh như vậy, họ đã giới hạn không gian đặc trưng từ 2.351còn 513 chiều, chiếm khoảng 20% không gian đầu vào Ngoài ra, không gian hành
động cũng được giảm xuống chỉ còn bốn phép biến đổi Không giống như công
trình trước đó, các tác giả đã triển khai xác minh tính toàn vẹn bằng cách sử dụng cả
môi trường được kiểm soát và phân tích tĩnh Tuy nhiên, để đạt được hiệu suất nhưtrên, cần thực hiện một chuỗi gồm 80 phép biến đổi dé sửa đổi tập tin PE và do đó,làm tăng khả năng xảy ra các mẫu đối kháng không còn chức năng
Ngoài các chiến lược RL, Giải thuật di truyền (Genetic Programming) đã được triểnkhai để tạo ra các mẫu đối kháng trên nhiều ngữ cảnh khác nhau Các thuật toán ditruyền được lấy cảm hứng từ các quá trình chọn lọc tự nhiên giống như quá trìnhtiễn hóa của Darwin Cụ thé hơn, mục tiêu của nó là điều khiển một quần thé cácđối tượng sử dụng các hoạt động giống như di truyền, chăng hạn như đột biến, laighép và thích nghi với các thế hệ tiếp theo cho đến khi nó hội tụ thành một giảipháp Trong một nghiên cứu khác, Yuste và cộng sự [7] đề xuất tạo mẫu đối khángdựa trên Genetic Algorithm (Thuật toán di truyền) Phương pháp này vượt mặt trình
phát hiện mã độc bằng cách chèn nhiễu vào những khoảng trống (code cavity) giữa
17
Trang 26header với section và giữa sections với sections khác Phương pháp hứa hen qua mặt được trình phát hiện MalConv.
Demetrio và cộng sự [8] đề xuất một phương pháp khác để biến đổi các tập tin PE
Họ đã thực hiện hai chuyên đổi: tạo một phần (PE section) mới và nối thêm các
byte vào cuối tệp, một phần được gọi là lớp phủ (overlay) Họ đã đánh giá cách tiếp
cận của mình bằng cách nhắm mục tiêu vào hai mô hình là MalConv và Light
Gradient Boosting Machine đã được huấn luyện trước (LightGBM) [9] với bộ dữ
liệu EMBER [10] Tuy nhiên, mặc dù các kết quả được báo cáo cho thấy sự né
tránh thành công vượt mặt các bộ phân loại, phần lớn chỉ dựa vào hai phép biến đồi,
có thé làm hiệu quả của cuộc tan công Hơn nữa, mô hình MalConv [11] không xử
lý thông tin vị trí chính xác từ các đặc trưng đầu vào và do đó dễ bị tắn công phụ
thuộc vào việc thêm dữ liệu.
Trong AIMED-RL [2| tác giả đề xuất phương pháp tạo mẫu đối kháng dựa trên một
loạt những hành động dé biến đổi tệp mã độc ban đầu Không gian hành động mà
tác giả đề xuất có thê kê đến như: Thêm byte ngẫu nhiên vào cuối tệp thực thi, thayđổi tên section, thêm section, sử dụng UPX-Pack, UPX-Unpack Kết quả thựcnghiệm của tác giả đã cho thấy sự vượt trội của phương pháp này trong việc thành
công tạo ra các mau đôi khang.
Nhìn chung, các nghiên cứu tạo biến thé mã độc Windows, với nhiều hướng tiếp
cận khác nhau, hầu hết đều chưa có cơ chế kiểm chứng chức năng của biến thé một
cach đầy đủ Do vậy, trong đề tai nay, chúng tôi hướng tới đề xuất một cơ chế kiểm
chứng dựa trên phân tích động, theo dõi và so sánh các chức năng được thực thi của
chương trình mã độc ban đầu và biến thé mã độc đã biến đồi, dựa trên trích xuất cáctập API và so sánh các tập API với nhau Cơ chế kiểm chứng này có thể được tíchhợp vào mô hình Học tăng cường như một mô-đun hỗ trợ quá trình huấn luyện dé
tôi ưu hóa việc lựa chọn các phép biên đôi mã độc hiệu quả.
18
Trang 27Chương 3 MÔ HÌNH TẠO BIEN THẺ MÃ ĐỘC DỰA TREN HỌC
TĂNG CƯỜNG
3.1 Mô hình de doa
Trong phân này, chúng tôi xác định mô hình môi đe dọa và xem xét nhiêu khía cạnh
từ quan diém của kẻ tân công trong các cuộc tân công đôi kháng, trong đó những kẻ
tấn công nhằm mục đích qua mặt các mô hình phát hiện trong thời gian thử nghiệm
3.1.1 Mục tiêu của kẻ tan công
Nhìn chung, mục tiêu của kẻ tấn công là tăng FNR (False Negative Rate) của môhình phát hiện bằng cách xác định các chuỗi phép biến đổi tối ưu mà khi được ápdụng trên đối tượng đầu vào là các tập tin PE, sẽ khiến mô hình phát hiện dự đoánnhãn lành tính (0) cho một mẫu phần mềm độc hại (vốn có nhãn 1) nhất định
3.1.2 Kiến thức của ké tan công về mô hình
Kha năng hiểu biết của kẻ tan công về trình phát hiện mã độc có thể được chia làmhai cấp độ: toàn bộ mô hình (PK: perfect knowledge), cung cấp cho đối thủ toànquyền truy cập vào mô hình (tức là hộp trắng) và những cài đặt, và một phan của
mô hình (LK: limited knowledge) chỉ cung cấp thông tin hạn chế từ bộ phân loại,chang hạn như nhãn
3.1.2.1 Toàn bộ kién thức (PK:perfect knowledge)
Ở ngữ cảnh này, kẻ tan công có kiến thức day đủ về mô hình hoc máy và các siêu
tham số của nó Mặt khác, mô hình mục tiêu có thé được truy vấn vô điều kiện dé
lay nhãn Ngữ cảnh này tao điều kiện cho các cuộc tấn công mạnh mẽ thực hiện tối
ưu hóa gradient dé tao ra các mẫu đối kháng tối ưu
3.1.2.2 Một phan kiến thức (LK: limited knowledge)
Trong ngữ cảnh LK, kẻ tấn công có thể gửi các truy vấn mô hình và nhận lại cácnhãn được dự đoán Trong kịch bản này, cuộc tấn công tối ưu được tính toán bằng
cách tôi đa hóa các hàm tôi ưu hóa bao gôm nhiêu tham sô, chăng hạn như độ tương
19
Trang 28tự, khoảng cách từ giá trị ban đầu và lớp được dự đoán Đối với các cuộc tấn côngđối kháng phé biến, mô hình sẽ trả về nhãn cho mọi truy van Do đó, việc phân phối
dữ liệu đầu vào có thể được tính gần đúng dé chọn chuỗi biến đổi hiệu quả nhất dé
áp dụng trong cuộc tan công Trong trường hợp đối thủ có kiến thức bồ sung về tậpđặc trưng và thuật toán học 0x = {Dˆ,Xˆ,gˆ,w'ˆ }, thì có thể truy vấn một mô hìnhthay thé (tức là một mô hình thay thế được huấn luyện dé phù hợp với bộ phân loại
mục tiêu).
3.1.2.3 Khả năng của kẻ tan công
Do phần mềm độc hại Windows hầu hết là mã nguồn đóng, nên để có kịch bản tấncông thực tế nhất có thể, chúng tôi giả định rang kẻ tan công không có quyền truycập vào mã nguồn của đối tượng đầu vào là các tập tin PE mà chỉ có tập tin thực thi
đã được biên dịch.
Mặt khác, vì quyền truy cập vào mô hình không bị hạn chế đối với kẻ tan công, nên
họ không bị giới hạn về mặt thời gian dé tạo ra các dữ liệu nhiễu cấp byte dành
riêng cho miền không gian van dé, hay cho các tập tin PE
3.2 Mô hình tạo biến thé được đề xuất
3.2.1 Ý tưởng: Tạo mẫu đối kháng ở dạng byte
Dé tạo ra các mau phân mém độc hại đôi kháng hiệu quả và có thê thực thi được được, chúng tôi dựa trên việc biên đôi một sô mẫu phân mêm độc hại sẵn có với
chuỗi các phép biến đổi được truy van từ một tập hợp các phép biến đổi dang byte
Với một danh sách nhiều phép biến đổi khác nhau được định nghĩa trước, biến thể
sẽ được tạo ra bằng cách lựa chọn và áp dụng một hoặc nhiều phép biến đổi trên tậptin PE ban đầu Những phép biến đổi này hoạt động như nhiễu nhằm mục dich thay
đổi các tập tin PE đầu vào dé tạo ra các tập tin PE mới Các tập tin PE mới sẽ đượcxem là mẫu đối kháng nếu có thể qua mặt được bộ phát hiện mã độc, ngược lại sẽ
tiếp tục được biến đôi đến khi trở thành mẫu đối kháng Tuy nhiên, để đảm bảo cáctập tin PE sau mỗi lần biến đổi vẫn còn khả năng thực thi, đặc biệt là còn giữ được
20
Trang 29các chức năng ban đâu, cơ chê kiêm chứng chức năng sẽ được thực hiện đê hạn chê
việc lãng phí thời gian biên đôi trên các tập tin đã hỏng.
3.2.2 Tông quan mô hình tạo biến thé mã độc
Hình 3.1: Mô hình tạo mẫu đối kháng dựa trên học tăng cường.
Như ở Hình 3.1, mô hình tạo biến thể dựa trên học tăng cường bao gồm một sốthành phần chính như sau: Agent (tác tử), Actions (không gian hành động), Reward(phần thưởng), State (trạng thái), Môi trường (Environment) Ở phần môi trường cómột số thành phần con như bộ trích xuất đặc trưng, trình phát hiện mã độc, trình
kiêm tra chức năng của mã độc.
Ở góc nhìn đơn giản, đầu vào của mô hình là một tập tin thực thi Windows với địnhdạng PE Tập tin này đầu tiên đi qua bộ trích xuất đặc trưng dé thu được một số đặctrưng đại diện cho tập tin PE đó, cũng được xem là trạng thái (state) nhất định củatập tin đó tại một thời điểm nhất định Dựa trên những trạng thái này, tác tử chọnlọc tiếp hành động trong tập hành động vốn có dé tạo những biến đổi mong muốntrên những trạng thái này Sau khi biến đổi, tập tin mã độc được đi qua bộ trình phát
hiện mã độc và bộ kiểm chứng chức năng dé đảm bảo tính ngữ nghĩa của biến thé,
từ đó có thé tính được điểm (Reward) và thưởng hoặc phạt thành phan tác tử
21
Trang 303.2.3 Các thành phần của mô hình
3.2.3.1 Bộ trích xuất đặc trưng (Feature Extractor)
Trích xuất đặc trưng là quá trình chuyền đổi dit liệu thô thành các đặc trưng có théđược tính toán trong việc huấn luyện học máy, và việc trích xuất còn đảm bảo được
việc thể hiện đầy đủ thông tin trong tập dữ liệu sốc Trích xuất đặc trưng mang lại
kết quả tốt hơn so với việc áp dụng học máy trực tiếp vào dữ liệu thô
Giai đoạn quan trọng đầu tiên của cơ chế phát hiện phần mềm độc hại là xác địnhđặc trưng thể hiện của các tập phần mềm độc hại Khi có nhiều dữ liệu thô đầu vào
dé phân loại, có những đặc trưng không trong tâm hoặc không liên quan thì sẽ được
bỏ qua và việc trích xuất thông tin sẽ được chọn lọc Cần phải đo lường kĩ lưỡngcác đặc trưng ảnh hưởng đến việc phân loại đầu vào là lành tính hay độc hại Vì quátrình trích xuất đặc trưng sẽ chuyên đổi từ tập tin thô thành thành một tập hợp thôngtin có tổ chức, đễ quản lý hơn Hơn nữa, nó cũng làm giảm số lượng dữ liệu để xử
lý va từ đó dẫn đến chi phí tính toán thấp Kết quả của giai đoạn trích xuất là một
vectơ chứa các đặc trưng (feature vector).
Ở khóa luận này, thư viện LIEF [12] được sử dụng để trích xuất đặc trưng LIEFnhận đầu vào là tập tin PE, cho phép trích xuất các thuộc tính và cũng như tận dụng
dé thực hiện các hành động biến đổi tập tin PE LIEF phân tích cú pháp tập tin PE
và trả về kết quả một số thông tin như Hình 3.2
22
Trang 31Export table Global_ptr
Import table TLS_table Resource table Load_config_table Exception table Bound_import
Header: Sections: Import table:
Dos Header text user32.dll
Rich Header data kernel32.dll
Bài toán học tăng cường có thể hiểu theo nghĩa một cách đơn giản là học từ việc
tương tác để đạt được mục tiêu cuối cùng Thành phần học, đưa ra những quyết
định và tương tac gọi là tác tử (Agent) Tác tử tương tac với môi trường (Environment) Quá trình này xảy ra một cách liên tục, tác tử chọn hành động từ
không gian hành động, gây những biến đổi đến trạng thái (state) của tập tin đầu vào
và môi trường phản hồi kết quả cho tác tử Từ những thông tin có được, tác tử tối
ưu hoá trong việc lựa chọn những hoạt động dé có thé đạt được những phần thưởng
cao nhât.
23
Trang 32Trong khóa luận nay, agent được hiện thực với thuật toán Distributional DQN
(DiDQN), được cho là mang đến hiệu quả tốt hơn so với một số thuật toán khác như
Actor Critic with Experience Replay (ACER) dựa trên chính sách hay Deep
Q-Network (DQN) DQN phan phối (distributional DQN) tập trung vào việc tìm hiểucách phân phối phần thưởng thay vì đi tìm giá trị phần thưởng mong đợi Mạng nơ-ron sử dụng Adam làm bộ tối ưu hóa Mặt khác, dé tối ưu hóa việc agent thực hiện
tính năng khám phá, phương pháp Noisy Net [13] được sử dụng vì nó cho phép
khám phá không gian hành động tốt hơn và các vectơ biến đôi đa dang hơn
b) Trạng thái — State
Đầu vào trạng thái cho tác tử do môi trường bao gồm những đặc trưng trích xuất từtập tin PE Đặc trưng được trích xuất chia thành 2 loại (Bảng 3.1): đặc trưng lấy trực
tiếp từ định dạng tập tin PE và các đặc trưng thống kê dựa trên byte Với nhóm đầu
tiên, các đặc trưng là các thông tin được lây trực tiếp từ định dạng PE như thông tin
trong header, thông tin các section, import table Trong khi đó nhóm thứ hai có một
số đặc trưng được xác định dựa trên thực hiện thêm một số bước thống kê, tính toáncác byte trong tập tin, không quan tâm đến định dạng, bao gồm byte histogram và
byte entropy.
Kết quả là vector đặc trưng gồm 2.350 chiều
Bảng 3.1 Thông tin trích xuất đặc trưng
e PE-specific features: e Structure-independent features:
- _ Thông tin PE header - Byte historgram
- Thong tin PE section - Byte Entropy
- Thong tin Import table
- Thong tin Export table
- Đếm chuỗi
- Thong tin chung
24
Trang 33c) Không gian hành động — Action space
Không gian hành động trong mô hình định nghĩa các phép biến đổi ở mức độ byte
có thể thực hiện trên các tập tin PE Dựa trên tác động của các phép biến đổi, chúng
có thé được phân loại thành ba nhóm:
o Nhóm 1 - Thêm dữ liệu: các phép biến đổi thêm byte hoặc thêm thông
tin/chức năng mới vào tệp.
o Nhóm 2 - Sửa đổi: các phép biến đổi chỉnh sửa các thông tin sẵn có trong
phan header hoặc đôi tên các section.
o Nhóm 3 - Nén/Giải nén: các phép biến đồi thực hiện nén hoặc giải nén tập tin
PE băng một sô công cụ với mức độ nén được xác định ngẫu nhiên.
Cụ thể, không gian hành động gồm 10 hành động hay 10 phép biến đổi được mô tả
như trong Bảng 3.2.
Bảng 3.2 Danh sách các phép biến đổi trong không gian hành độngSTT | Phép biến đối Mô tả Nhóm
1 I d Chèn thêm một chuỗi byte ngẫu nhiên vào 1
overiay_appen phan cuối cùng của tệp PE.
Lay ngau nhiên một hàm từ danh sách DLL
2 | imports_append cho trước và thêm vào Import Address Table 1
trong tap tin PE
3 | section_rename Thay đổi tên của một section bất kỳ 2
Thêm một section mới vào Section table chứa
; thông tin của các section trong tập tin PE.
4 |section_add ~ soa - wade, 1
Những section này lúc thực thi sẽ không được
Trang 34Loại bỏ (gán bằng 0) thông tin chữ kí
8 | remove_signature | (signature) ở trong bảng chứng chi (certificate 2
table) cua thu mục dir liệu (data directory)
Bỏ thông tin Debug (gán băng 0) nam trong
9 | Remove_debug phần Optional header của thư mục dữ liệu 2
(data directory)
break_optional_ | Thay đổi phần checksum trong phan Optional
10
header_checksum | header thanh 0
Các hành động hay phép biến đổi trên được kế thừa từ nghiên cứu [2] Nhìn chung,
dé có thể tự động hóa việc biến đổi tập tin PE từ danh sách các phép biến đổi chotrước, cần phải thực hiện kiểm tra thủ công cần thận để tránh sai sót làm hỏng tậptin PE Do vậy, các biến đổi ở trên chủ yếu chỉ thêm hoặc thay đổi thông tin trong
các trường cụ thể ở phần tiêu đề của tập tin PE, nhưng không loại bỏ hoàn toàn để
tránh khả năng làm hỏng taapn tin Mặc dù vậy, thông qua thực nghiệm kiểmchứng, chúng tôi vẫn nhận thay một số hành động vẫn có khả năng làm hỏng tập tin.Bảng 3.3 mô tả tác động của từng hành động hay phép biến đổi đến các dạng đặctrưng được trích xuất từ tập tin PE
Bảng 3.3 Ánh xạ những hành động ảnh hưởng đến đặc trưng của tập tin
Thông tin tập tin
PE bị biến đổi Mô ta
Hành động
Chèn một byte vào tập tin ảnh hưởng
đến thông tin số lượng byte (PE size)
trong thông tin chung (General File
General File Information, byte
Thêm thư viện và ham anh hưởng đến
b t hi t > ^ L 7yie tustogram thuộc tinh Import Info của chương