1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp An toàn thông tin: Phát hiện lỗi hồi quy trong hệ thống học sâu bằng phương pháp Fuzzing

87 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phát Hiện Lỗi Hồi Quy Trong Hệ Thống Học Sâu Bằng Phương Pháp Fuzzing
Tác giả Phan Hoàng Nam, Trần Hoài Rin
Người hướng dẫn TS. Nguyễn Tấn Cầm, ThS. Nguyễn Công Danh
Trường học Đại Học Quốc Gia TP. Hồ Chí Minh
Chuyên ngành An Toàn Thông Tin
Thể loại khóa luận tốt nghiệp
Năm xuất bản 2024
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 87
Dung lượng 94,13 MB

Nội dung

Các công trình này đã tích hợp thành công mô hình học sâu vào việc phát hiện và phân loại các mẫu mã độc.. Mục tiêu là đảm bảo rằng các mẫu mới tạo ra vẫn giữ được tính năng và tính chất

Trang 1

ĐẠI HOC QUOC GIA TP HO CHÍ MINH

TRUONG DAI HOC CONG NGHE THONG TIN

KHOA MANG MAY TINH VA TRUYEN THONG

PHAN HOANG NAM - 20521635

TRAN HOÀI RIN - 20521830

KHOA LUAN TOT NGHIEP

PHAT HIEN LOI HOI QUY TRONG HE THONG HOC

SAU BANG PHUONG PHAP FUZZING

DETECTING REGRESSION FAULTS IN DEEP LEARNING

SYSTEMS USING FUZZING TECHNIQUE

KY SU NGANH AN TOAN THONG TIN

GIANG VIEN HUONG DAN

TS NGUYEN TAN CAM ThS NGUYEN CONG DANH

TP HO CHi MINH, 2024

Trang 2

LOI CAM ON

Trong quá trình nghiên cứu va hoàn thành khóa luận, chúng tôi đã nhận được su

định hướng, giúp đỡ, các ý kiến đóng góp quý báu và những lời động viên của cácgiáo viên hướng dẫn Nhóm chúng tôi xin bày tỏ lời cảm ơn tới thay Nguyễn TanCam, thay Nguyễn Công Danh đã tận tình trực tiếp hướng dẫn, giúp đỡ trong quá

trình nghiên cứu.

Nhóm chúng tôi xin gửi lời cảm ơn đến gia đình và bạn bè đã động viên, đóng góp

ý kiến trong quá trình làm khóa luận

Nhóm chúng tôi cũng chân thành cảm ơn các quý thầy cô trường Đại học Côngnghệ 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, các thầy cô thuộc bộ môn An toàn Thông tin đã giúp đỡ nhóm

Phan Hoàng Nam

Trân Hoài Rin

Trang 3

CHƯƠNG 1 TONG QUAN s« ss<2ceeeeCreeeerrkrettrkrtorrereorsree 2

1.1 Giới thiệu vấn đề -+cckthhhhnnHH nghệ 2

1.4 _ Giới thiệu những nghiên cứu liên quan 55-5 55+ ++s£eseeseeesees 3

1.4.2 Mô hình fuzzing phát hiện lỗi hồi quy -¿2¿ s©s+csze: 5

1.4.3 Mô hình hoc tăng CƯỜng «+ + + ng rưệt 6

1.5 Mục tiêu, đối tượng, và phạm vi nghiên cứu . -¿c5+csz+cs2 8

1.5.2 Đối tượng nghiên cứu + ++++£+EktEEEEEEEkeEErrkerkerrrerseee 8

CHƯƠNG 2 CƠ SỞ LÝ THUYÊTT -cs< ss<°vessessevvessesee 10

2.1.1 _ Cấu trúc tệp thực thi -¿- + ©2¿+++EktEESEEEEEEEEESEkerkrrreerkrree 10

2.1.1.1 Trường tiêu đề DOS (DOS Header) - - ccsccccrxzxerxsxee 11

2.1.1.2 Trường tiêu dé PE (PE Header) c cccscsscessessessessessssessesseseaees 11

2.1.1.3 Phan đoạn bang (Section Table) cc ceceeceeseeeeeeseeeeeeseeeeeeneeees 12

2.2 Phát hiện lỗi hồi quy (Regression fault) bằng kỹ thuật fuzz 15

2.2.1 Lỗi hồi quy (Regression fault) -¿- 5s 5s+cx+£eEeEeErrrrsrreres 15

2.2.2 FUZZIN nh e 16

Trang 4

2.2.3 Ứng dung fuzz dé phát hiện lỗi hồi quy trong mô hình học sâu 18

2.3.1 Kỹ thuật dO QUẾC - G1 ngàn nh, 22

2.3.2 Kỹ thuật Tìm kiếm tĩnh (Static Heuristic) ¿cz+cz+ce+sz 23

2.3.3 Ky thuật kiểm tra tính toàn i0 24

2.6 Mô hình học tang CƯỜN - s51 111v vn key 29

2.6.1 Quy trình quyết định Markov (Markov Decision Process - MDP) 29

2.6.2 Tổng quan mô hình hoc tăng cường - 2-2 + s+c+sz+zzzsz 30

2.6.4.1 TAC tử Ă HH crecrkerrei 33

2.6.4.4 Phần thưởng -¿©-+¿©2+t2EEtEEEtEEEEEErerkrerkrerkrsrei 36

CHUONG 3 MÔ HÌNH ĐỘT BIEN MÃ ĐỘC -s-se©-sccsecsee 37

3.1 Mô hình mối de doa và giả định - ¿+ 2+©2++2x+ezx+srxeerxrsrxrrrxee 37

3.1.1 Mô hình mối de doa ececccssesssessessssssessesssessessesssessessesssessessussseesesseeeseess 37

3.1.2 Ngữ cảnh tấn côÔng :- set E2 1211111111111 xe, 38

3.2 Mô hình phát sinh đột biến mã độc - 2-2 2 s2 ++£++x++£zzzxs+xez 38

3.2.1 Tổng quan mô hình dé xuất -2- + 2 2 + £+£++£++£zEzEzrzes 39

Trang 5

3.2.2 Chi tiết mô hình dé xuất - ¿+2 +t+E+ESESEEEEEEEE+EEEEEEEEErkrtrrerrrersrs 40

3.2.2.2 Tao phần thưởng - 2 + ++Ek+E++E++EEEEEEErErrrrrrrrerreee 42

3.2.3.1 MalConvPPlus Ăn SH HH HH nrkp 45

3.2.3.2 Attention GRU — CNN (AttnGRU-CNN) - 46

3.3 Luéng hoạt động mô hình đột biến mã độc đề xuất - - ss+szss 47

4.2 Phương pháp duy tri seed pool eee eeeeeeeseeeseeseceececeeseeeesesseesesaeeneens 56

5.3 Các chỉ số đánh giá thực nghiệm - ¿22 ©2++2+++£x++zx+zrxrzrxrsrxee 62

5.4 Tiến hành thực nghiệm ¿- 2° 2 ESE+EE+EE£EE£EE2EESEEEEEEEEEEEEEkrrrrrerree 65

5.4.1 Huấn luyện mô hình phát hiện mã độc - - -5+++-«+++s+ 65

5.4.2 _ Đột biến mau tạo dữ liệu đầu vào và fuzzing - s5 69

CHƯƠNG 6 KẾT LUẬẬN - 5c 5° 5< s°sSsSsSsEEseEseSseEsessessessessee 71

Trang 6

6.2.

Kết luận

Hướng phát triển

Trang 7

DANH MỤC HÌNH

Hình 1.1: Cấu trúc của mô hình MalConv -+-cs2++cccetrrrevtrtrecrrrrrererrrre 4Hình 1.2: Cấu trúc của mô hình AttnGRU .- eerrerrerierrrrrrerrer 4

Hình 1.3: Framework DIRFuzz [14] . «cs5ccssscveseeereereereetsttertersersetsrtsrsersrrsresrsee 6

Hình 1.4: Mô hình mô tả hoạt động của DQEAF [4] -c -ecee-ereee 7

Hình 2.1: Cấu trúc định dạng tập tin PE c«csccekirkkreriekrierrerirrriirrrrrrrrreriree 12

Hình 2.2: Phân đoạn tập tin PE -s<c++++c+ketsrirEEriiEirtkiiriieiiriiiieriee 13

Hình 2.3: Quá trình kiểm thử bằng fuzzing [10] -ccceerreeccccerrrreecerr 17Hình 2.4: Mô hình fuzzing đề xuất -:-ccsiicecSttrreertrrerertrrirrertrrrerrrrrrrrrre 20

Hình 2.5: Giải pháp phân tích mã độc OPSWAT -cccccrrerrrirrrrirrrrrrrrrrree 22

Hình 2.6: Các bước thực hiện kỹ thuật tìm kiếm tĩnh -.c-cccctrtrtteeeexevevee 23Hình 2.7: Kiểm tra mã băm của tệp thực thi bằng OSForensics - 24

Hình 2.8: Môi trường Windows tạo bởi VirtualBOX -e-ccceerereerrrrrrrrrree 25

Hình 2.9: Markov Decision Process -c-7c<srcsrrrrrrrrtrtrrrrirrrirrrrrrrrrrrrrrrrrrree 30

Hình 2.10: Mô hình học tăng cường dựa trên MIDP -e-5cccersrrrerererrrree 30

Hình 2.11: Cau trúc của Deep Q-Network - cesreeeerreeerrreerrrrerrrrerre 32

Hình 2.12: Mô hình của gym-malware [ [9 |] -« -«+se+xeerxerrerrerrerteerkerrkeee 33

Hình 3.1: Mô hình mối đe dọa của nhóm Rosenberg [20] -. -«e-‹««¿ 37Hình 3.2: Tổng quan mô hình học tăng cường đề xuắt -s-. ss++ 42Hình 3.3: Cấu trúc mô hình MalConv :++ecettrreevttreeeEttrrerrrrrrrrrrrrerre 45Hình 3.4: Cấu trúc mô hình AttnGRU eerreererreriererirrre 46Hình 3.5: Luồng hoạt động của mô hình đột biến mã độc - 47Hình 4.1: Mô hình fuzzing cải tiến -2-css+recetrreettrerrtrrrvrrrrrrrrrrrrrrerre 52Hình 4.2: Quản lý seed và tạo mẫu đột biến cccccc2v2222222222221 xxxkrkrrrrrrrr 53

in 684g 17 56

Hình 4.4: Duy tri S€€C HH nà nà hàn Hà nhà ngà tHritttetrritrvee 56

Hình 5.1: Tập dữ liệu DikeDataset [6 ] -5-©c«++ccrxeerkerrerrrrrrrrrrrrrrrkrrrreee 58

Hình 5.2: Trích xuất byte từ file header và chuẩn hóa [7] - 60

Trang 8

Hình 5.3: Trích xuất byte từ file header và chuẩn hóa -.-.cccerrcccccv+ 60Hình 5.4: Vector đặc trưng sau khi trích xuất -+-ecss++rcceetrrererrrrererrre 61Hình 5.5: Các chỉ số của hai phiên bản mô hình MalConvPlus - 65

Hình 5.6: Các chỉ số của hai phiên ban mô hình AttnGRU — CNN 66Hình 5.7: BCE loss của mô hình MalConvPlus version 2 . « -‹«e e«+ 67

Hình 5.8: BCE loss của mô hình MalConvPlus version 1 -se-.«e-s«« 67

Hình 5.9: BCE loss của mô hình AttnGRU — CNN version 2 -‹ - 68 Hình 5.10: BCE loss của mô hình AttnGRU — CNN version 1 68

Hình 5.11: Ty 16 CáC aCtIOH e « + s2 HH Hà Hường ghen 70

Trang 9

DANH MỤC BANGBang 2.1: So sánh fuzzing và các kỹ thuật kiểm thử khác .-s+ 18Bang 5.1: Số lượng mau và loại mẫu trong DikeDataset -cs+ 59

Bang 5.2: Đánh giá mô hình MalConvPlus và AttnGRU — CNN 66

Bang 5.3: Bảng tham số ngưỡng phát hiện của hai mô hình - 67Bang 5.4: Bảng kết quả tỷ lệ né tránh của trình tạo đột biến đối với hai mô hình 69Bảng 5.5: Số lỗi hồi quy đã phát hiện -22.+cc52reecSetrrrrvrrrrrrerrrrerrrre 69

Bảng 5.6: Lượng lỗi phân loại mà hai mô hình phát hiện sau một quy trình fuzz 70

Trang 10

DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIET TAT

Hàm chuyên

Hàm phần thưởng

Chính sách của Mô hình học tăng cường

Trọng số cho phần thưởng

Chiết khâu cho phần thưởng

Chính sách tối đa hóa kỳ vọng

Hàm giá trị cho trạng thái - hành động

Secure Hashing Algorithm

Cyclic Redundancy Check Algorithm Markov Decision Process

Deep learning Object Linking and Embedding Gated Recurrent Unit

Trang 11

CNN Convolutional Neural Network

Attn Attention

API Application programing interface

BCE loss Binary Cross-Entropy loss

Trang 12

TÓM TÁT KHÓA LUẬN

Tính cấp thiết của đề tài nghiên cứu:

Trong những năm gần đây, các nhà nghiên cứu về an toàn thông tin, cụ thể là mãđộc đã không ngừng cải tiến các hệ thống phát hiện mẫu Các công trình này đã tích

hợp thành công mô hình học sâu vào việc phát hiện và phân loại các mẫu mã độc.

Tuy nhiên, sự nâng cấp liên tục của các mô hình học máy đã dẫn đến việc lỗi hồiquy xuất hiện trong các hệ thống ứng dụng những mô hình này Phương pháp đượcchúng tôi đề xuất sử dụng một mô hình học tăng cường nhằm tìm kiếm các thay đổinhỏ nhất trong quá trình nâng cấp các mô hình học sâu dé có thé kích hoạt lỗi hồiquy Cụ thể, việc nâng cấp các mô hình học sâu trong ngữ cảnh trong nghiên cứucủa chúng tôi đến từ việc thay đổi các trọng số của mô hình trong mỗi lần huấnluyện với giả định rằng các thay đổi đó chính là những bản vá của mô hình Quátrình fuzzing được thực hiện theo một chuỗi các bước: tạo mẫu từ seed ban đầu,kiểm tra chất lượng mẫu, kiêm thử trên mô hình, thu thập kết quả, cập nhật seed

Mô hình kiểm tra học tăng cường được huấn luyện thông qua việc sử dụng mẫu mãđộc ban đầu và các mẫu được tạo ra để đánh giá tính chính xác của chúng Mục tiêu

là đảm bảo rằng các mẫu mới tạo ra vẫn giữ được tính năng và tính chất của mẫu

ban đầu, trong khi vẫn đạt được hiệu quả trong việc kích hoạt lỗi hồi quy ẩn trongcác hệ thống phát hiện mã độc

Các kết quả thực nghiệm cho thấy phương pháp đề xuất đạt được hiệu suất caotrong việc tạo ra các mẫu độc đột biến có khả năng kích hoạt lỗi hồi quy mà vẫn giữđược tính chính xác và tính năng của mẫu ban đầu Điều này đóng góp vào việckiểm thử hệ thống phòng chống mã độc, đồng thời tạo ra một hệ thống có khả năng

kiểm tra dé đảm bảo tính chính xác và hiệu quả của các mẫu tao ra.

Trang 13

CHUONG 1 TONG QUAN

Chương này giới thiệu vê van đê 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 bày phạm vi và câu trúc của luận văn.

1.1 Giới thiệu van đề

Trong một thời đại khi mã độc trở nên ngày cảng tinh vi hơn trong việc tránh phát

hiện và bao gồm nhiều tính năng phức tạp, các nhà phân tích đã chuyền đổi sang sửdụng các kỹ thuật học máy để xác định và phân loại các đặc tính của mã độc Cácphương pháp này kết hợp linh hoạt các thuật toán và kỹ thuật trích xuất thuộc tính,

và đặc biệt là sử dụng bộ dữ liệu đa dạng (như ember) Kết quả từ thực nghiệm cho

thấy, sự kết hợp này đã mang lại hiệu quả phát hiện mã độc lên đến 97% [1] khi sử

dụng các kỹ thuật phân tích tĩnh.

Tuy nhiên, các nghiên cứu gần đây đã chứng minh rằng các hệ thống ứng dụng họcmáy nêu trên có khả năng mắc lỗi hồi quy thường chỉ xuất hiện trên những ứngdụng truyền thống khi chúng được nâng cấp Điều này tạo ra lỗ hồng trong việc bảo

vệ hệ thống, đòi hỏi các nhà nghiên cứu và chuyên gia an ninh phải kiểm thử cho hệ

thông học sâu của mình sau nâng câp, việc rât thách thức và tiêu tôn nhiêu nhân lực.

Trước thách thức này, một hướng tiếp cận hứa hẹn là sử dụng học tang cường(reinforcement learning) [2] két hop với kỹ thuật fuzzing [3] dé phat hién 16i hoiquy tôn tại trong hệ thống Việc kết hợp học tăng cường vào quá trình fuzz nhằmkhắc phục van dé mà nghiên cứu của nhóm Anh Nguyen đưa ra: Việc tạo ra đầu vàokiểm thử một cách không kiểm soát sẽ làm hỏng mô hình học sâu [4, 5] Điều này

đã làm cho việc kiểm thử trở nên không hiệu quả và khó khăn hơn

Chính vì vậy, trong nghiên cứu này, chúng tôi đề xuất một giải pháp mới là một hệthống học tăng cường có chức năng kiêm tra mẫu (adversarial sample checker) Ýtưởng là kết hợp quá trình tạo ra các mẫu đột biến với một bước kiểm tra tính chínhxác và tính thực thi của mẫu trước khi triển khai vào hệ thống Như vậy, chúng ta có

Trang 14

thé đảm bảo rang các mẫu đột biến vẫn giữ được tính chức năng va khả năng gây

hại cho hệ thống mục tiêu.

1.2 Tính ứng dụng

Đề tài này mang đến một cách tiếp cận thực tế hơn trong việc áp dụng học tăngcường vào hệ thống tạo mẫu đối kháng phục vụ cho fuzzing Điểm đặc biệt củaphương pháp này là sau khi tạo ra các mẫu, chúng sẽ trải qua một quy trình kiểm tratính năng trước khi được đưa vào quy trình fuzz Nhờ vậy, kết quả của thử nghiệm

sẽ đánh giá được ứng dụng thực tế của hệ thống, thay vì chỉ tập trung vào việc tạomẫu đối kháng dựa trên kết quả của trình phát hiện một cách đơn thuần

Tổng quan, quá trình fuzzing đóng vai trò quan trọng trong việc phát hiện lỗi hồiquy ẩn trong hệ thống phát sinh sau khi nâng cấp hệ thống deep learning giúp tiếtkiệm nhân lực trong quá trình kiểm thử và phát hiện sớm lỗ hồng trong hệ thống

1.3 Những thách thức

Mặc dù hệ thống có khả năng thay đôi tệp thực thi ở nhiều phân đoạn khác nhau détao mẫu đột biến phục vụ cho quá trình fuzz, tuy nhiên nó chỉ giới hạn trong việc

tránh bị phát hiện bởi các công cụ phân tích tĩnh Đồng thời, bước kiểm tra tính

năng trong đề tài chỉ tập trung vào khả năng khởi chạy của các mẫu, chưa đi sâu vàoviệc phân tích các tính năng cụ thé Việc xem xét các yếu tố khác như khả năng kết

nối hay tính đặc trưng của các mẫu vẫn còn là một thách thức chưa được nhóm

chúng tôi khám phá.

1.4 Giới thiệu những nghiên cứu liên quan

1.4.1 Trình phát hiện mã độc

Những trình phát hiện mã độc mà chúng tôi sử dụng và trình bày đều áp dụng

phương pháp phân tích tĩnh và có mô hình học máy được huấn luyện bằng tập dữliệu DikeDataset [6] và EMBER [7] có thể được sử dụng để huấn luyện các thuậttoán trí tuệ nhân tạo đề dự đoán tính độc hại và thuộc tính vào một gia đình mã độc

Trang 15

cho một tập tin PE hoặc OLE Các phương pháp trí tuệ nhân tạo có thé thay đổi từ

học máy (với các thuật toán như bộ phân loại hồi quy và bộ phân loại đa nhãn mềm)đên học sâu, tùy thuộc vào yêu câu cụ thê.

MalConvPlus là một mô hình mạng nơ-ron sâu được huấn luyện dé phát hiện phầnmềm độc hai (malware) thông qua việc phân tích các tập tin nhị phân Mô hình nay

là một bản nâng cấp từ mô hình MalConv, mang đến nhiều cải tiến về hiệu suất pháthiện và độ chính xác MalConvPlus có thể sử dụng các kỹ thuật học sâu hiện đạihơn như Attention Mechanism để cải thiện khả năng tập trung vào các phần quan

trọng của tập tin nhị phân.

= Binary Convolution | hà BF Temporal 3 LI? sponse

2a = 33 \ Embedding } Layer j Hỗ) (Max Pooling j bị E 0/1

Hình 1.1: Cầu trúc của mô hình MalConv

AttnGRU-CNN là một mô hình kết hợp giữa Gated Recurrent Unit (GRU),

Convolutional Neural Network (CNN), va co chế Attention (sự chú ý) Mô hình nàyđược thiết kế dé tận dụng ưu điểm của cả ba thành phan: khả năng xử lý thông tintuần tự của GRU, khả năng trích xuất đặc trưng không gian của CNN, và khả năngtập trung vào các phần quan trọng của dữ liệu của cơ chế Attention

GRU layers Attention layer Output

a=

Hình 1.2: Cấu trúc của mô hình AttnGRU

4 Hình 1.1: https://www.researchgate.net/figure/ARMDs-Architecture-vs-MalConv-

Architecture_fig2 364814341

Hinh 1.2:

https://www.researchgate.net/figure/Architecture-of-the-proposed-attention-based-GRU-model-for-performance-degradation_fig2_ 365189772

Trang 16

1.4.2 Mô hình fuzzing phát hiện lỗi hồi quy

Trước khi đối mặt với lỗi hồi quy, các mô hình phát hiện mã độc ứng dụng học máy

đã từng phải đối mặt với rất nhiều nghiên cứu nhăm giúp mã độc vượt qua chúng.Năm 2017, nhóm cua Anderson [8] đã sử dụng hoc tăng cường dé tan công vào môhình phân loại mã độc Trong những nghiên cứu trước kia, kỹ thuật thay đổi cáchàm trong mã độc đã được chứng minh là rất hứa hẹn Chính vì thế, họ đã thực hiệnmột số phương pháp thay đổi cấu trúc mã độc như chèn thêm hàm vào bảng nhậphàm, đổi tên các danh mục và thêm một danh mục mới Mặt khác, nhóm của

Kolosnjaji [9] lại thực hiện tan công vào mô hình phát hiện thông qua việc sử dụng

byte sốc như các thuộc tính (ví dụ như mô hình MalConv) Họ mang đến mộtphương pháp tan công thêm vào file thực thi từng byte từng byte bang cách tinhtoán độ biến động của một hàm khi byte thay đổi Phương pháp của họ có khả năngduy trì được chức năng ban đầu của mã độc và giúp nó có khả năng qua mặt trình

phát hiện.

Dé có thé phát hiện lỗi trong các mô hình phát hiện trước khi chúng bị khai thác dé

gây hại, MalFuzz [10] đã được nhóm tác gia Liu giới thiệu vào năm 2022 với khả

năng thực hiện fuzzing phát hiện lỗi trên mô hình học sâu Thực nghiệm của nhóm

tác giả đã chứng minh MalFuzz có khả năng kích hoạt lỗi trong nhiều ngữ cảnh củamột số mô hình như Convnet, MalConv, CNN 2-d

Bên cạnh đó, trong quá khứ đã có những nghiên cứu về phương pháp fuzzing đểphát hiện lỗi hồi quy trong các hệ thống học sâu như Deep Hunter [11, 12] vaDiffChaser [13] Tuy nhiên hai phương pháp nêu trên vẫn tồn tại nhiều bất cập.Deep Hunter chỉ có thể phát hiện lỗi tập trung vào một phiên bản của hệ thống thay

vì tìm ra lỗi hồi quy giữa hai phiên bản Về DiffChaser, tuy mục đích là tìm ra lỗigiữa phiên bản gốc và phiên bản đã nâng cấp nhưng nó chỉ xem xét đầu vào đượctạo ra có nằm trong vùng lỗi của một phiên bản có định hay không chứ không quan

tâm tới ảnh hưởng của nó tới cả hai phiên bản.

Trang 17

I

be apes oy) LT gegen : se Q |

Sem —- | G Mutation Rule fi gpk GAN Filtering — SO

= 1} Selection | ||! *## -— 7 _ High-Fidelity Inputs |

Seed |! TT ee Nese a eee =

ĐI TTT TT a me me mmm nnn ee #é`Ằ- "

& Wi h

| 9 — ge! se So input |

{Mutation Rules Mutated Inputs | Original Model Regression Model Execution

ÂN Giác em Già LG ncaa Sa ema | 0 eg oe Neh Nn Mi re OR Ea ESOS DGC RT NRO ET i

pura Seed Maintenance ts i |

ie Le a ae spensnreseeee ee aes ae H

i | : Phi Tree-based Trimming | ! > Potential | | 3

— Test Input | ¡

` it See 1 H > 5 ty Regression

Seed Foot ‘tlh Seed Probability Update; | Evaluation } | Faults

Hinh 1.3: Framework DRFuzz [14]

Đồng thoi những dau vào tạo ra từ DiffChaser không được đảm bảo về tính trungthực dé không làm hư hại mô hình học sâu được kiểm thử gây ảnh hưởng đến tính

thực tiễn của DiffChaser.

Bên cạnh những bất cập trên, thì DREuzz [14] ban đầu này chỉ thực hiện fuzz trên

mô hình nhận diện hình ảnh và chưa tiễn hành trên các mô hình phát hiện mã độc

1.4.3 Mô hình học tăng cường

Học tăng cường là một phương pháp học máy độc đáo, trong đó khả năng học được

xảy ra thông qua tương tác trực tiếp với môi trường Điểm đặc biệt của phươngpháp học này là hệ thống có khả năng tương tác và điều chỉnh mô hình theo các

thuật toán đa dạng Thông qua quá trình này, học tăng cường mang lại khả năng học

mạnh mẽ và linh hoạt, đồng thời đáp ứng được nhiều yêu cầu và trang thái của môi

trường.

Theo nhóm Anderson, hệ thống được phát triển có khả năng tránh phát hiện mã độclên đến 24% Điều nay có nghĩa là trong 100 mẫu mã độc, hệ thong đã tạo ra thànhcông 24 mẫu đối kháng có khả năng qua mặt hệ thống phát hiện Tuy nhiên, trongquá trình đánh giá với 200 mẫu, tỷ lệ tránh phát hiện giảm xuống còn 16.25% Mặc

dù các hành động được thực hiện không ảnh hưởng đến chức năng của mã độc,

Trang 18

nhưng công trình của nhóm Anderson chưa kiêm tra lại tính năng của các mau mã

được tạo ra Do đó, hiệu quả thực tê của các mâu đôi kháng vẫn còn khá không chắc

chan Dé dam bao tính khả thi và an toàn, nghiên cứu tiếp theo là cần thiết

Nhóm tác giả Fang đã phát triển một hệ thống tạo mẫu đối kháng sử dụng học máyDQEAF Họ cho rằng hiệu quả tạo mẫu sẽ tốt hon với dữ liệu đầu vào nhỏ Hệthống này giảm không gian hành động xuống còn bốn hành động Tuy nhiên, tương

tự như nhóm tác giả Anderson, tính năng của các mẫu mã vẫn chưa được kiểm tra

lại Hơn nữa, với mỗi mã độc, hệ thống DQEAF thực hiện lại các hành động tới 80

lần, tạo ra đặc tính đặc biệt cho các mẫu độc Điều này có thé giúp trình phát hiện

học lại đặc tính của mau mới và phát hiện được các mau đôi kháng cuôi cùng [15]

Hệ thống AIMED-RL, được xây dựng bởi nhóm tác giả Raphael Labaca- Castro, là

một phát triển tiếp theo của DQEAF Hệ thống này sử dụng lai mô hình

gym-malware và tập trung vào đảm bảo tính năng của mã độc AIMED-RL đánh giá mức

độ tương đồng giữa mẫu đối kháng và mẫu gốc, nhằm đảm bảo rằng mẫu vẫn hoạtđộng sau khi được chèn Phần thưởng của AIMED-RL được tính toán dựa trên mức

độ tương đồng, với hành động giữ được độ tương đồng cao nhận được phần thưởngcao Cải tiến này khuyến khích tác tử lựa chọn các hành động dé bảo vệ khả năng

thực thi của mẫu độc [16]

Trang 19

Các công trình nghiên cứu trước đây chỉ tập trung vào việc đánh giá số lượng mẫuđột biến có khả năng vượt qua trình phát hiện sau khi huấn luyện mô hình học tăng

cường Do đó, mô hình học tăng cường không đặt nặng vào việc tạo ra các mẫu có

khả năng thực thi, mà chỉ đơn giản giúp mẫu vượt qua trình phát hiện Nhận thấyđiều này, chúng tôi đã quyết định tiến hành nghiên cứu và xây dựng một mô hìnhtạo ra các mẫu đột biến có khả năng thực thi

1.5 Mục tiêu, đối tượng, và phạm vi nghiên cứu

1.5.1 Mục tiêu nghiên cứu

Đề tài này tập trung vào việc ứng dụng học tăng cường dé tạo ra các mẫu đối khángđảm bảo đủ các tính chất của mẫu ban đầu dé quá trình fuzz không làm hại cho hệthống ban đầu Phương pháp học tăng cường cho phép hệ thống tương tác trực tiếpvới môi trường và học hỏi thông qua các phản hồi và kết quả trực tiếp từ môi trường

đó Nhờ tính linh hoạt và khả năng tương tác này, các mẫu thực thi được tạo ra vừa

có khả năng kích hoạt lỗi hồi quy, vừa đảm bảo rằng nó không làm hư hại hệ thống

Mục tiêu của đề tài là phát triển một mô hình ứng dụng kỹ thuật DRFuzz [14] và

học tăng cường để thực hiện kiểm thử những hệ thống Deep learning nhằm pháthiện lỗi hồi quy (Regression faults) giữa những phiên bản của hệ thống mục tiêu

Sử dụng học tăng cường như một phương pháp đảm bảo về tính trung thực của đầu

vào do mô hình tạo ra trong quá trình fuzz nhằm tránh trường hợp DRFuzz làm

hỏng hệ thống Deep Learning do các đầu vào không phù hợp trong quá trình fuzz

1.5.2 Đối tượng nghiên cứu

Đối tượng nghiên cứu:

Trang 20

1.5.3 Phạm vi nghiên cứu

Nghiên cứu của chúng tôi tập trung vào việc trích xuất các thuộc tính của tệp thựcthi mã độc, sau đó tạo ra các mẫu mới bang cách thay đổi những thuộc tính này.Mục tiêu là đánh giá lại hiệu suất của các trình phát hiện mã độc và khả năng thực

thi của tệp thông qua việc sử dụng môi trường máy ảo.

Trang 21

CHƯƠNG 2 CƠ SỞ LÝ THUYET

Chương này trình bày cơ sở lý thuyết của nghiên cứu: Bao gồm mã độc, các kỹ

thuật phân tích mã độc, các mô hình phát hiện mã độc, và mô hình học tăng cường.

nghĩa trong tập tin.

Định dạng PE được phát triển dựa trên định dạng COFF (Common Object FileFormat), một định dang tương tự duoc sử dung trong hệ điều hành UNIX Tuynhiên, định dạng PE đã được mở rộng và cải tiễn để đáp ứng các yêu cầu đặc thù

của môi trường Windows.

Phần mở rộng của tập tin PE có thé đa dạng và phụ thuộc vào loại tệp tin cụ thể

Các phần mở rộng thông dụng bao gồm EXE (tệp tin thực thi), DLL (thư việnđộng), SRC (nguồn), BPL (gói liên kết biên dịch), DPL (gói liên kết động), CPL(Control Panel applet), OCX (ActiveX Control), ACM (Audio Compression

Manager) va AX (DirectShow filter).

Từ việc sử dụng định dang PE, hệ điều hành Windows có khả năng hiểu và thực thi

các tệp tin chương trình và thư viện một cách hiệu quả, đóng góp vào việc chạy các

ứng dụng và dịch vụ trên nền tảng Windows một cách đáng tin cậy và nhất quán

e Tải chương trình lên bộ nhớ: Định dang PE cung cấp thông tin về các đoạn

mã cân được tải lên bộ nhớ và cách thức lưu trữ chúng Nó mô tả vi trí và cau

10

Trang 22

trúc của các phân đoạn mã, cũng như cách thức khởi tạo và tham chiếu đếncác thư viện cần thiết.

e _ Cung cấp tài nguyên cho chương trình: Dinh dang PE cũng chứa thông tin

của các tài nguyên mà chương trình có thé sử dụng trong quá trình thực thi.Điều này bao gồm hình ảnh, đoạn phim, âm thanh, chuỗi ky tự, biểu tượng

và các tài nguyên khác.

e_ Bảo mật chương trình: Tập tin PE sử dụng các cơ chế bảo mật như chữ ký

số dé đảm bảo tính xác thực và nguồn gốc của chương trình được nạp Các

chữ ký số này giúp đảm bảo rang hệ điều hành có thé xác định và xác thựcnguồn gốc của chương trình trước khi thực thi nó

Dinh dạng tập tin PE đóng vai trò quan trọng trong việc dam bảo tính linh hoạt và

an toàn cho các chương trình thực thi trên Windows Cấu trúc chung của định dạngtập tin PE thường sẽ có 2 phân đoạn, phân đoạn thứ nhất là cho đoạn mã và phân

đoạn thứ hai là cho dữ liệu.

Phan tiếp theo là mô tả chi tiết về thành phan quan trọng của định dạng tập tin PE:

2.1.1.1 Trường tiêu đề DOS (DOS Header)

Trường tiêu dé DOS trong tập tin PE chứa thông tin đặc biệt được sử dung khi tậptin chạy trong môi trường MS-DOS Mục đích chính của nó là thông báo rằng tậptin này không thé hoạt động trong môi trường đó Trường tiêu đề DOS chiếm 64byte đầu tiên trong tập tin và bao gồm hai giá trị quan trọng: e_magic (0x5a4b) va

e_lfanew, một DWORD (4 byte) Giá tri trong e lfanew chỉ định khoảng cách

(offset) đến Trường tiêu đề PE trong tập tin

2.1.1.2 Trường tiêu đề PE (PE Header)

Trường tiêu đề PE chứa các thông tin cần thiết dé tải chương trình lên bộ nhớ Cautrúc của trường này bao gồm ba phần chính:

e Signature: Một DWORD đầu tiên trong trường tiêu dé PE, chứa chữ ky PE:

50h, 45h, 00h, 00h.

11

Trang 23

e Trường tiêu đề tập tin: Gồm 20 byte tiếp theo của trường tiêu đề PE, chứa

thơng tin về sơ đồ bé trí vật lý va các đặc tính của tập tin Trong trường này,

ta cần chú ý đến trường NumberOfSections, chứa số lượng phân đoạn trongtập tin Đề thêm hoặc xố phân đoạn trong tập tin PE, ta cần điều chỉnh

trường nay tương ứng.

e_ Trường tiêu đề tùy chọn: Gồm 224 byte tiếp theo sau trường tiêu đề tập tin

Cấu trúc này được định nghĩa trong windows.inc và chứa thơng tin về sơ đồ

nhập xuất trong tập tin PE.

PORTABLE EXECUTABLE MEJEEEMS:

FIELDS VALUES

D:\>mini.exe DOS HEADER e_magic MZ

IT'S ABIN lf 0x40 + PE Head

D:\>echo %errorlevel% lN = ITSA BINARY eee : Ti, 5 = l sel

42 \ ⁄ PE HEADER Signature PE\O\O

T'S A HOGER ay Machine 0x14C [intel 386]

“ S A "ODERN BINA isti

6123456789 AOB COE F A N6 2 [executable]

988: H Z Magic 0x108 [32b]

AddressofEntryPọnt 0x140

ng, Serre 4È ði 49.98 90 99 TmageBase 0x400000

SP Ê 4 <e eat SectionAlignment x

958: 82 89:9B 91 OPTIONAL HEADER FileAlignment 1

868: 48 81 88 88 EXECUTABLE INFORMATION MajorSubsystemversion 4 [NT 4 or later]

2.1.1.3 Phân đoạn bảng (Section Table)

Phân đoạn bảng là thành phần ngay sau trường tiêu đề PE và chứa một mảng cáccấu trúc IMAGE_SECTION_HEADER Mỗi phan tử trong mang chứa thơng tin vềmột phân đoạn trong tập tin PE Một số trường quan trọng trong mỗi phần tử là:

e Kích thước ảo (VirtualSize): Kích thước thực tế của phân đoạn khi được

nạp vào bộ nhớ, tính bằng byte Giá trị này cĩ thể nhỏ hơn kích thước trên

Trang 24

e Kích thước dữ liệu gốc (SizeOfRawSection): Kích thước phân đoạn dữ liệu

trên đĩa.

e Con trỏ dữ liệu gốc (PointerOfRawSection): Khoảng cách từ vi trí đầu tập

tin đến phân đoạn dữ liệu

e Thuộc tinh (Characteristics): Chứa các cờ đặc điểm của phân đoạn, ví dụ:

cờ thực thi mã (executable code), dữ liệu khởi tao (initialized data),

2.1.1.4 Phan đoạn tập tin PE (Section PE File)

Phân đoạn tập tin PE chứa nội dung chính của tập tin, bao gồm mã máy, dữ liệu, tài

nguyên và những thông tin liên quan đến chương trình thực thi Mỗi phân đoạn có

một tiêu đề và dữ liệu sốc (dữ liệu chưa được xử lý) Các phân đoạn tiêu đề được

chứa trong phân đoạn bảng.

Code View Debug Information

COFF Symb ols

Trang 25

e Phân đoạn mã thực thi (executable code): Chitra mã máy của chương trình,

thường được tập trung trong một phân đoạn duy nhất có tên ".text" hoặc

"code".

e Phân đoạn dữ liệu (.rdata): Biểu diễn dữ liệu chi dé đọc như chuỗi, giá trị

hằng, thông tin, v.v Tất cả các biến ngoại trừ biến tự động xuất hiện trongngăn xếp (stack) cũng được lưu trữ trong phân đoạn này

e Phân đoạn tài nguyên (.rsrc): Chứa thông tin về tài nguyên của một

module 16 byte đầu tiên của phân đoạn này chứa một tiêu đề giống như cácphân đoạn khác, nhưng dữ liệu tại phân đoạn này được cấu trúc thành một

cây tài nguyên và được biên dịch bằng trình biên dịch tài nguyên

e Phân đoạn xuất dữ liệu (.edata): Chita thư mục xuất (Export Directory)

cho một ứng dụng hoặc tập tin DLL Khi được biểu diễn, phân đoạn này baogồm thông tin và địa chỉ của các ham được xuất

e Phân đoạn nhập dữ liệu (.idata): Chứa thông tin về thư mục nhập (Import

Directory) và bảng địa chỉ nhập (Import Address Table).

2.1.2 Hợp ngữ

Hợp ngữ thuộc loại ngôn ngữ bậc thấp được thiết kế cho từng bộ xử lý tương tácgan nhất với máy tính Mỗi dòng lệnh của hợp ngữ gần như tương đương với mộtlệnh chỉ dẫn của bộ xử lý Với ngôn ngữ này, ta có thê sử dụng các công cụ để dịchngược mã độc thành hợp ngữ đề giúp việc phân tích và điều tra trở nên dé dàng hơn

Thông thường, khi được biên dịch thành hợp ngữ, các chương trình độc hại sử dụng

các lệnh dé tương tác với hệ điều thông qua việc gọi đến các thư viện liên kết động(DLL), những thứ được tải lên bộ nhớ tại thời điểm hoạt động Mã độc thường sửdụng DLL để thực hiện những tác vụ như thay đổi thanh ghi của hệ thống, dichuyên hoặc sao chép tập tin, tạo liên kết hoặc kết nối với máy chủ, vùng mạng

khác thông qua các giao thức mạng khác nhau, vân vân.

Các trình phát hiện mã độc thường dựa vào các đặc điêm vé câu trúc tập tin hoặc

hành vi khi thực thi để xác định tập tin độc hại Để vượt mặt các trình này, một vài

14

Trang 26

kỹ thuật trên hợp ngữ được áp dụng nhằm làm biến đổi hình dang, trạng thái của mã

độc như:

Sửa đổi cấu trúc lệnh: Mã độc có thé thay đổi cau trúc của lệnh hợp ngữ dé

làm cho nó khó nhận biết và phân tích.

Mã hóa: Mã độc có thể mã hóa phần của chương trình bằng các thuật toán

mã hóa và ân đi mục đích và hành vi thực sự

Điểm đích dịch ngược: Mã độc có thể tạo ra các lệnh hợp ngữ khác nhau

thông qua dịch ngược từ cùng một mã nguồn

Gắn kết động: Mã độc có thé thông qua các kỹ thuật gắn kết động dé trìhoãn thời điểm thực thi của mã độc và thực hiện các hành động không mong

muôn sau khi tránh qua các công cụ phân tích sơ bộ.

Việc các kỹ thuật nêu trên được sử dụng trên hợp ngữ giúp mã độc tránh được phát

hiện và phân tích sâu hơn.

Chèn mã chết (Dead-code insertion)

Tái khai báo thanh ghi (Register Reassignment)

Tái sắp xếp chương trình con (Subroutine Reordering)Thay thế lệnh (Instruction Substitution)

Chuyên vị mã (Code Transposition)

Tích hợp mã (Code Integration)

Phân tích hợp ngữ cho chúng ta cái nhìn rõ ràng hơn về cơ chế phát hiện mã độc

của các công cụ hiện tại Bên cạnh các thuộc tính liên quan đên tệp thực thi, các

công cụ phát hiện cũng tập trung phân tích theo mẫu hợp ngữ.

2.2. Phát hiện lỗi hồi quy (Regression fault) bằng kỹ thuật fuzz

2.2.1 Lỗi hồi quy (Regression fault)

Lỗi hồi quy là những lỗi xuất hiện lại lần nữa trong một ứng dụng sau khi nó đãđược nâng cấp hoặc cập nhật bản vá Các lỗi này đã từng được khắc phục hoặc ứngdụng này từng không gặp phải lỗi này trước đó, nhưng lại xuất hiện sau khi có

15

Trang 27

những thay đổi, cập nhật trong mã nguồn, cấu hình của ứng dụng hoặc bổ sung những tính năng mới sau khi nâng cấp.

Những nguyên nhân gây ra lỗi hồi quy thường là do những biến đổi trong quá trìnhchỉnh sửa, cập nhật mã nguồn có thê đã thay đổi hoặc làm hư hại các chức năng banđầu hoạt động ồn định

Khi sửa một lỗi trong một module hay một phần trong mã nguồn, song song vớiviệc vá lỗi lập trình viên có thể gây ra ảnh hưởng tiêu cực đến các module kháctrong hệ thống mà họ không nhận ra Bên cạnh đó, khi thêm mới hay thay đổi tínhnăng hiện có trong hệ thống có thể dẫn đến xung đột giữa các module làm cho hệthống phát sinh lỗi Những thay đổi từ phía các thư viện được sử dụng trong lập

trình nên hệ thống, các thư viện bên ngoài hay các API cũng có thể gây ra lỗi do sự

thay đổi trong logic hoặc giao diện của chúng

Lỗi hồi quy thông thường chỉ xuất hiện trong phần mềm truyền thống, tuy nhiên cácnghiên cứu cũng như những sự kiện thực tế đã chỉ ra răng các phần mềm ứng dụng

học sâu vẫn có khả năng mắc phải những lỗi hồi quy gây hại nghiêm trọng cho các

cá nhân và tô chức.

Một ví dụ thực tế là vào năm 2021, sau khi phần mềm nhận diện gương mặt củaSamsung Galaxy S10 5G được nâng cấp lên phiên bản mới, người dùng đã khôngthé nào mở khóa bằng cách quét gương mặt minh bat ké họ đang ở điều kiện ánhsáng như thế nào Đó chính là một lỗi hồi quy trong mô hình học sâu đã gây ra thiệt

hại lớn cho uy tín và doanh thu của tập đoàn Samsung [17]

bằng cách đưa tất cả đầu vào đó cho chương trình sau đó giám sát quá trình thực thi

của nó Hình 2.2 là miêu tả một quy trình fuzzing một phần mềm

16

Trang 28

Khi so sánh fuzzing với những phương pháp kiểm thử khác, fuzzing dễ dàng triển

khai hơn và đa dung hơn bởi vi dù có biết hay không biết gì về mã nguồn Bên cạnh

đó, kiểm thử bằng fuzzing thực thi cả chương trình trong thời gian thực, việc nàymang lại độ chuẩn xác cao Hơn nữa, fuzzing không đòi hỏi người kiểm thử phải cóthông tin về chương trình mục tiêu và có thể dễ dàng điều chỉnh cho cả phần mềm

đơn giản cho tới những hệ thống lớn và phức tạp.

testcase generation

programexecution

Violation?

Hình 2.3: Quá trình kiểm thir bang fuzzing [10]

Mặc dù fuzzing đối mặt với nhiều bat cập như hiệu suất thấp và không bao phủ hếttất cả các ngữ cảnh của chương trình, tuy nhiên nhiêu đó không đủ để phủ định đi

những giá trị mà kỹ fuzzing mang lại Chính vì thé mà fuzzing trở thành kỹ thuậtphát hiện lỗ hồng hiệu quả và hiện đại nhất hiện nay

17

Trang 29

Bảng 2.1 phía dưới đây cho chúng ta thấy những điểm vượt trội và điểm yếu của

fuzzing so với các kỹ thuật khác như phân tích động, phân tích tinh, symbolic execution.

Ky thuat Trién khai D6 chinh xac D6 linh hoat

Phan tich tinh Dé Thap Kha tot

Phan tich dong Khó Cao Không xác định

Symbolic execution Kho Cao Thap

Fuzzing Dé Cao Cao

Bang 2.1: So sánh fuzzing và các kỹ thuật kiểm thử khác

Fuzzer — phần mà tao ra đầu vào cho quá trình fuzzing được chia làm hai loạiphương pháp chính là tạo ra đầu vào mới và biến đổi đầu vào có sẵn thành một đầuvào mới Fuzzer kiểu tạo ra đầu vào mới cần một mức độ thông hiểu về chươngtrình mục tiêu ở một mức nhất định Fuzzer tạo mẫu đột biến thì cần một tập đầuvào khởi điểm hợp lệ, từ đây các mẫu kiêm thử sẽ được tạo ra dựa theo những đầuvào này trong suốt quá trình fuzzing Dựa theo mức độ phụ thuộc vào mã nguồn và

khả năng phân tích chương trình, fuzzer cũng có thé được chia làm ba loại như kiểm

thử thông thường là hộp đen, hộp trắng và hộp xám

2.2.3 Ứng dụng fuzz dé phát hiện lỗi hồi quy trong mô hình học sâu

Hệ thống học sâu (DL) được ứng dụng trong nhiều lĩnh vực khác nhau, những cũng

như phần mềm truyền thống, chúng cũng có thể gặp phải các lỗi hồi quy trong quá

trình nâng cấp hệ thống Nghiên cứu lần này giới thiệu DRFuzz [14], một kỹ thuậtfuzzing hồi quy mới được phát triển dé xác định lỗi hồi quy giữa các phiên bản củacác hệ thống DL DRFuzz nhằm tạo ra các đầu vào trigger các lỗi hồi quy đa dạngvới độ chính xác cao Đề đạt được mục tiêu này, nó sử dụng một tiêu chí kiểm thử

đa dạng dé phát hiện một loạt các hành vi lỗi Ngoài ra, DRFuzz tích hop các mô

hình học tăng cường đê bảo đảm tính chính xác của các đâu vào kiêm thử được tạo

18

Trang 30

ra Hiệu quả của DRFuzz được đánh giá thông qua một nghiên cứu mở rộng với bốn

mô hình trong bốn kịch bản hồi quy của các hệ thống DL Kết quả thử nghiệm cho

thấy rằng DRFuzz vượt trội hơn hai phương pháp đã từng được phát triển trước đó

là DeepHunter [11] và DiffChaser [13], với sự tăng cường dang kế về số lượng lỗi hồi quy phát hiện được.

Cu thé, thực nghiệm của nhóm You Hanmo [14] đã chỉ ra DRFuzz cho ra số lượngđầu vào kiểm thử kích hoạt lỗi hồi quy và số lỗi hồi quy được phát hiện bởi các đầuvào đó đều vượt xa DeepHunter và DiffChaser Với DeepHunter, tỷ lệ đầu vào kích

hoạt lỗi của DRFuzz cao hơn 1130% và tỷ lệ số lỗi hồi quy phát hiện được cao hơn

539% còn đối với DiffChaser, tỷ lệ này của DRFuzz vượt mặt DiffChaser lần lượt

là 204% và 1177%.

Tìm kiếm những lỗi liên quan đến Regression faults được hiểu là tìm kiếm những

test input được các mô hình deep learning đưa ra kết quả sai với phiên bản hiện tại

nhưng đưa ra kết quả đúng với phiên bản trước đó Nghiên cứu đề xuất một kĩ thuậtfuzzing mới có thể đáp ứng được 3 tiêu chí:

e Fault-triggering: Các đầu vào kiêm thử cần phát hiện càng nhiều lỗi càng

tốt Đây là tiêu chí cốt lõi Dé đạt được mục tiêu này, DRFuzz sử dụng sự

khác biệt trong dự đoán được đưa ra giữa các phiên bản, thay vì sự thay đổicủa neuron dé năm bắt sự ảnh hưởng mang lại bởi việc nâng cấp hệ thống.Thông tin như vậy làm cho việc kích hoạt các lỗi trở nên trực tiếp hơn vàkhông phụ thuộc vào cấu trúc hay mã nguồn của mô hình, giúp cho quá trìnhfuzz hiệu quả hơn Băng cách tích hợp phản hồi từ các đầu vào đã được tạo

ra và thiết kế một loạt các quy tắc biến đổi, DRFuzz hướng dẫn quá trình tạo

ra các đầu vào kiểm thử mới theo hướng tăng cường sự khác biệt trong dự

đoán của các phiên bản.

e Tính đa dạng: Phát hiện được nhiều dạng lỗi hồi quy thông qua kiểm thử sẽ

giúp gia tăng hiệu quả của mô hình học sâu sau này.

19

Trang 31

e Fidelity (tính trung thực): Việc đảm bảo tính trung thực cho đầu vào mà

DRFuzz tạo ra cũng rat quan trọng (đầu vào phải duy trì ngữ nghĩa như banđầu) Bởi vì đầu vào kiểm thử thiếu đi tính chất này rất dễ làm hỏng đi môhình học sâu Để tao ra được những đầu vào chất lượng, DRFuzz tạo ra mộtphương pháp bảo đảm dựa trên GAN, thứ mà đầu tiên sẽ học khả năng phânbiệt thông qua GAN dé có thể biết đâu là đầu vào tự nhiên và đâu là đầu vàođược tạo ra, sau đó sử dụng nó để đảm bảo đầu vào kiểm thử sẽ giống VỚIđầu vào tự nhiên [14]

Từ mô hình của DRFuzz mà nhóm You Hanmo đề xuất để fuzz các mô hình nhận

diện hình ảnh, nhóm chúng tôi đã cải tiến mô hình này dé có thé thực hiện kiểm thử

trên các mô hình học sâu chuyên dùng đề phát hiện mã độc

2 z | eet

Quan li Seeds Fuzzing

— A — So > @ ~~ Thực thiÀ và

ấ I Phiên bản — Phiên bản trước =

Mẫu mã độc đột biến I kiếm thử đó của mô hình

Bộ mẫu mã độc khởi đầu I

I I

Thêm vào seed pool dé làm mẫu khởi |

hoạt lỗi hồi quy

đầu cho lần kiểm thử tiếp theo đ Mẫu đã kích

Hình 2.4: Mô hình fuzzing đề xuất

Mô hình nhóm chúng tôi đê xuât sẽ lây mã độc từ tập dữ liệu được chuân bi đê làm

seed khởi điểm Sử dụng seed này, mô hình học tăng cường sẽ tiễn hành đột biến để

tạo ra mẫu mới Các mẫu đột biến này sau đó được xử lý và tải vào mô hình cần

kiêm thử hồi quy (ở đây là mô hình phiên bản mới) dé tiến hành phân loại Khi mẫu

20

Trang 32

đã thành công vượt qua mô hình này, nó sẽ được đưa vào phiên bản cũ của mô hình

đó dé phân loại một lần nữa Nếu nó không bị mô hình này phát hiện thì mẫu đó đã

thành công kích hoạt một lỗi hồi quy và mẫu này sẽ được đưa vào seed pool dé làm

seed cho lân fuzzing sau.

2.3 Phương pháp phân tích tĩnh

Phân tích tĩnh trong phát hiện mã độc là một quy trình sử dụng các kỹ thuật và công

cụ dé kiểm tra mã nguồn hoặc tệp thực thi của chương trình mà không thực tế thựcthi nó Mục đích chính của phân tích tĩnh là xác định các dấu hiệu, mẫu mã độc và

các hành vi không mong muốn trong mã nguồn hoặc tệp thực thi mà có thé gây hại

cho hệ thống

Trong quá trình phân tích tĩnh, các công cụ sẽ quét và phân tích cấu trúc của chươngtrình như các hàm, lớp, biến, lệnh, và thực hiện việc kiểm tra các quy tắc và mẫu mãđộc đã biết Các công cụ này sử dụng các phương pháp tĩnh như phân tích luồngđiều khiến, phân tích cấu trúc, phân tích dữ liệu, và phân tích tương tác giữa cácthành phần đề tìm kiếm các điểm nỗi bật và đánh giá tính độc hại

Phân tích tĩnh giúp phát hiện các biểu hiện của mã độc như đoạn mã gọi hàm nguy

hiểm, việc thay đổi trạng thái của hệ thống, tương tác với các tài nguyên nhạy cảm,hoặc tạo ra các đoạn mã không mong muốn Kết quả của phân tích tĩnh thường làcung cấp thông tin chỉ tiết về cấu tạo và hành vi của chương trình, giúp người dùng

hoặc các công cụ phát hiện mã độc xác định xem chương trình có phải là một mã độc hay có chứa mã độc hại bên trong hay không.

Tuy phân tích tĩnh mang lại những thông tin quan trọng, nhưng nó cũng có hạn chế.

Một số mã độc có thé được che giấu hoặc mã hóa dé tránh bị phát hiện bằng phân

tích tĩnh truyền thống Vì vậy, phân tích tĩnh thường được kết hợp với phân tíchđộng và các kỹ thuật khác dé tăng cường khả năng phát hiện mã độc

21

Trang 33

2.3.1 Kỹ thuật dò quét

Ky thuật dò quét trong phát hiện mã độc thường sử dụng các mẫu hoặc dấu hiệu đặctrưng để nhận diện mã độc Các dấu hiệu này có thể là chuỗi byte hoặc không yêucầu một cấu trúc chuỗi cụ thể Các công cụ phát hiện mã độc thường hỗ trợ sử dụng

các ký tự được quy ước để đại diện cho một phần của byte, một byte hoàn chỉnh

hoặc cho nhiều byte Quá trình phát hiện mã độc được thực hiện bằng cách quét qua

nhiều khối byte, có thể là toàn bộ một tệp, một phần của tệp được đọc hoặc ghi,hoặc các gói tin mạng.

Với số lượng dấu hiệu lên đến cả trăm nghìn, việc kiểm tra chúng cùng một lúc trở

nên không khả thi Tìm ra các thuật toán có khả năng quét đồng thời nhiều mẫu mộtcách hiệu quả sau đó đánh giá chúng làm một trong những thách thức lớn nhất của

kỹ thuật dò quét.

Đối với các mã độc phức tạp, kỹ thuật dò quét dựa trên mẫu có thê không đủ Do

đó, các phương pháp phát hiện mã độc khác như phân tích động, kiểm tra hành vi,hoặc phân tích tác nhân có thé được áp dung dé tăng cường kha năng phát hiện và

e-configured Scripts

Anti-Malware Engines Emulation environment

Signature Based Detection Live Infection Environment

Maching Learning Detection Cyber Threat Intelligence

Heuristic Based Detection URL Reputation Check

Content Disarm Red Zero-day Malware Detection

Hình 2.5: Giải pháp phân tích mã độc OPSWAT

22

Hình 2.5: https://vietnamese.opswat.com/solutions/malware-analysis

Trang 34

Kỹ thuật dò quét đóng vai trò quan trọng trong quá trình phát hiện mã độc, giúp xác

định các mẫu đặc trưng của mã độc và cung cấp cảnh báo sớm để ngăn chặn và

giảm thiểu các hậu quả tiềm năng của chúng đối với hệ thống

2.3.2 Kỹ thuật Tìm kiếm tĩnh (Static Heuristic)

Static Heuristic là một kỹ thuật phân tích tĩnh trong việc phát hiện mã độc Nó được

sử dụng dé đánh giá các tệp tin mã nguồn hoặc tệp tin thực thi mà không cần phải

thực sự khởi chạy chúng Mục đích chính của Static Heuristic là tìm ra các đặc

diém, mẫu hoặc dâu hiệu có thé chỉ ra sự tôn tại của các đoạn mã độc hại trong tệp

Trang 35

Kỹ thuật Static Heuristic có thể áp dụng các quy tắc, công thức hoặc thuật toán để

phân tích hành vi và cấu trúc của mã nguồn hoặc tệp tin thực thi Nó tìm kiếm các

dấu hiệu, như chuỗi byte đặc trưng, cấu trúc lệnh đáng ngờ hoặc các hàm gọi hệ

thống không an toàn Dựa trên các đặc điểm này, Static Heuristic có thể đưa ra cảnh

báo cho sự có mặt của mã độc.

Mục đích chính của Static Heuristic là phát hiện dé có cảnh báo sớm về sự có mặt

của mã độc trong tệp tin, giúp ngăn chặn hoặc giảm thiểu các tôn hại tiềm năng gây

ra bởi mã độc Nó là một yếu tố quan trọng trong quá trình phát hiện mã độc và hỗ

trợ các chuyên gia an ninh máy tính trong việc phân tích và đối phó với các mã độcgây đe dọa đến hệ thống

2.3.3 Kỹ thuật kiểm tra tính toàn vẹn

Kiểm tra tính toàn vẹn trong mã độc là một phương pháp dé xác minh tính toàn vẹncủa một tệp tin mã độc Mục đích chính của kỹ thuật này là kiểm tra xem tệp tin đã

bị sửa đối hay bị tác động bởi các quá trình ngoại lệ nào đó sau khi nó được tạo rahoặc phân phối ban đầu

II) Verify / Create Hash REE

@ File C3 Vnlume O Text

File [Drive-C:\Pragram Files\OSForensics\osf64.exe = Calculate

Hash Function MDS5 vy) Secondary Hash Function SHA-255 ~ Upper case output |]

Comparison Hash |534D8514E834DE3BIFF2335FB17E83D2 ở)

Hashes (primary) are equal Add Result to Case

Selected Hash Function Description

MD5 [Message-Digest algorithm 5] is an internet standard cryptographic hash function MD5 has been found

to not be collision resistant and therefore not suitable for many security applications.

Due to its popularity, MD65 is still used in many situations where security is not of high importance or for legacy

Trang 36

Kỹ thuật kiểm tra tính toàn vẹn của tệp có thể sử dụng các thuật toán mã hóa, băm(hashing) hoặc chữ ký số dé tạo ra một giá trị đặc trưng duy nhất đại diện cho nội

dung của tệp tin gốc Sau đó, giá trị này về sau sẽ được so sánh với giá trị được tínhtoán trên tệp tin đang được kiểm tra Nếu hai giá trị khớp nhau, thì tệp tin được xem

là toàn vẹn Ngược lại, nếu có bất ky điểm khác biệt nào giữa hai giá trị tính toán,tệp tin có thé đã bị sửa đổi hoặc bị tác động bởi mã độc

Kỹ thuật kiểm tra tính toàn vẹn trong mã là một kỹ thuật quan trọng trong việc bảo

đảm tinh tin cậy và an toàn của tệp tin Nó có thể được sử dụng dé phát hiện các tác

động không mong muốn hoặc các thay đồi bất thường trong mã độc, giúp ngăn chặn

sự lây lan và ton hại từ mã độc trong hệ thống.

2.4 Phương pháp phân tích động

Phương pháp phân tích động là một kỹ thuật trong việc phân tích mã độc, được thực

hiện bang cách quan sát và theo dõi hành vi của mã độc trong quá trình thực thi

Khác với phân tích tĩnh, kỹ thuật phân tích động không yêu cầu truy cập đến mã

nguôn hay câu trúc tĩnh của chương trình, mà tập trung vào việc hiéu cách mã độc

Hình 2.8: Môi trường Windows tạo bởi VirtualBox

25

Trang 37

Trong phân tích động, một môi trường thực thi được tạo ra dé chạy mã độc ma

không gây nguy hiểm cho hệ thống chủ Các công cụ hỗ trợ phân tích động có vai

trò giám sát những hành vi của mã độc, ghi lại các hoạt động, gọi hệ thống, truy cập

tài nguyên và tương tác mạng Thông qua việc phân tích các hành động và dữ liệu

mà mã độc tạo ra trong quá trình thực thi, phân tích động cung cấp những thông tin

về cách mã độc hoạt động và quá trình mà nó tiến hành những hành vi không mong

muôn.

Phân tích động cho phép phát hiện các hoạt động độc hại, như thay đôi hệ thống, tạo

tệp tin mới, gửi dữ liệu qua mạng, can thiệp hoặc tương tác với tiến trình và hành vibất thường khác Kỹ thuật này cũng có thể giúp xác định các điểm yếu trong mã

độc, như lỗ hong bảo mật, dé ngăn chặn và loại bỏ kịp thời các mối de dọa tiềm ẩn.

Phân tích động đóng vai trò quan trọng trong nghiên cứu và đối phó với mã độc,giúp các nhà phân tích hiểu về cách hoạt động của mã độc và phát hiện sớm cáchành vi độc hại Tuy nhiên, phân tích động cũng có thể gặp khó khăn khi mã độc có

khả năng phát hiện và tránh các môi trường phân tích động, hoặc khi gặp phải các

mã độc tiên tiến sử dụng các kỹ thuật ân danh và che dấu

2.4.1 Kỹ thuật Giám sát hành vi (Behavior Monitors)

Kỹ thuật Giám sát hành vi (Behavior Monitors) là một phương pháp quan trọng dé

phát hiện kịp thời và ngăn chặn các hành vi đáng nghi của chương trình Nó hoạt

động băng cách giám sát hoạt động thực thi của chương trình và kiểm tra xem có sự

vi phạm các quy tắc an toàn hay không Khi phát hiện biểu hiện đáng ngờ, kỹ thuậtnày có thể cảnh báo người dùng hoặc thi hành các biện pháp ngăn chặn như chặnquyên truy cập, cắt kết nối mạng, hoặc ngừng thực thi chương trình Việc sử dụng

kỹ thuật này giúp ngăn chặn hệ thống bị tan công bởi các mã độc và giảm thiểu rủi

ro từ hành vi độc hại của chúng.

26

Trang 38

2.4.2 Kỹ thuật giả lập (Emulation)

Kỹ thuật giả lập (Emulation) là một phương pháp phân tích mã độc bằng cách môphỏng một môi trường thực thi để xem hành vi của mã độc khi nó thực thi Thay vì

chạy trực tiếp trên hệ thống, mã độc được chạy trên một môi trường ảo được tạo ra

bởi trình giả lập Trong quá trình này, trình giả lập ghi lại các hoạt động của mã độc

như giao tiếp mạng, tương tác với tập tin, thay đồi thanh ghi hệ thống và các hoạt

động khác Việc giả lập cho phép chúng ta nắm bắt và phân tích chỉ tiết hành vi của

mã độc mà không cần chạy trực tiếp trên hệ thống thật, giúp đảm bảo an toàn vàtránh các rủi ro tiềm ân Giả lập là một kỹ thuật hữu ích trong việc phát hiện, phân

tích và ngăn chặn mã độc.

Có 2 phương pháp chính để áp dụng kỹ thuật này là:

Phân tích động (Dynamic Analysis): Đây là một kỹ thuật mạnh mẽ trong phân tích mã độc Kỹ thuật này tập trung vào việc giám sát và thu thập

những hành vi của chương trình khi nó được thực thi trong môi trường giả

lập Thông qua việc giám sát các hoạt động của chương trình, như giao tiếpmạng, tương tác với tệp tin, thay đối trạng thái hệ thong, kỹ thuật phân tíchđộng mang đến một cái nhìn rõ ràng về cách mã độc hoạt động và tương tácvới hệ thống Kết quả mang lại của kỹ thuật phân tích động có thé giúp pháthiện các hành vi độc hại, xác định sự tồn tại của mã độc và đưa ra các cảnh

báo kip thời.

Giải mã chung (Generic Decryption): Đây là một kỹ thuật phân tích các

loại mã độc có thuật toán mã hóa để che dấu hành vi của chúng Phươngpháp này tập trung vào các chuỗi ký tự không rõ nghĩa hoặc các khối đữ liệu

lớn được mã độc thao tác trong quá trình phân tích, từ đó sử dụng các khóa hoặc các thuật toán giải mã phô biên đê giải mã đoạn mã độc hại.

e Phan tích giải mã tổng quát (Generic Decryption Analysis): Trong trường

hợp các mã độc sử dung kỹ thuật đa dạng hóa, việc giải mã có thé gây khó khăncho những công cụ phát hiện mã độc Mã độc được tạo ra dé thực hiện các hành

27

Trang 39

vi tan công trong trạng thái mã hóa, làm cho chúng khó bị phát hiện Tuy nhiên,khi đoạn mã độc được thuật toán giải mã trở lại thành mã thông thường, phầnthân của chương trình có thể trở nên dễ dàng phát hiện bằng các phương phápquét thông thường Điều này cho phép công cụ phát hiện mã độc có khả năngnhận biết các mã độc đa dạng hóa Kỹ thuật phân tích giải mã tổng quát sử dụng

kinh nghiệm dé xác minh mỗi khi mã độc giải mã chính nó, giúp xác định sự tồn

tại của các mã độc đa dạng hơn.

2.5 Mô hình phát hiện mã độc dựa trên học máy

Trong hai kỹ thuật phân tích tĩnh và phân tích động mà chúng tôi đã đề cập, hoàn

toàn có thé nhận thấy chúng dựa trên việc phân tích những mẫu mã độc đã được biết

đến hoặc các biến thể của chúng để tạo ra các mô hình và khuôn mẫu chung Tuy

nhiên, điều này làm cho việc nhận diện các loại mã độc mới chưa được biết đến trởnên khó khăn, và hệ thống trở nên dễ bị xâm nhập Ngoài ra, quá trình phân tích mãđộc khi chúng xuất hiện và tìm ra giải pháp có thé mat nhiều thời gian, tạo ra nguy

cơ lây lan và xâm nhập của mã độc.

Hiện nay, học máy đã được áp dụng rộng rãi trong lĩnh vực phát hiện mã độc dé dự

báo các loại mã độc mới Mô hình phát hiện mã độc dựa trên học máy có khả năng

tự động khám phá các khuôn mẫu mã độc từ dữ liệu trích xuất Các thuật toán họcmáy phổ biến như Cây quyết định (Decision Tree), Máy véc-tơ hỗ trợ (SVM),

Naive Bayes, Rừng ngau nhién (Random Forest), Mang no-ron (Neural Networks),

K hàng xóm gần nhất (K-Nearest Neighbors) đã được áp dung trong việc phát hiện

mã độc Bên cạnh những thuật toán học máy nêu trên, các mô hình học sâu cũng

đang dần được ứng dụng rộng rãi trong lĩnh vực phát hiện mã độc

Song song với những ứng dụng của học máy vào lĩnh vực phát hiện mã độc, nhiều

nỗ lực phát triển kỹ thuật để qua mặt các trình phát hiện này đã được nghiên cứu vàphát triển Năm 2017, nhóm của Anderson [8] đã sử dụng học tang cường dé tan

công vào mô hình phân loại mã độc Trong những nghiên cứu trước kia, kỹ thuật

thay đôi các ham trong mã độc đã được chứng minh là rất hứa hẹn Chính vì thế, họ

28

Trang 40

đã thực hiện một số phương pháp thay đổi cấu trúc mã độc như chèn thêm hàm vào

bảng nhập hàm, đổi tên các danh mục và thêm một danh mục mới Mặt khác, nhóm

của Kolosnjaji [9] lại thực hiện tấn công vào mô hình phát hiện thông qua việc sửdụng byte sốc như các thuộc tính (ví dụ như mô hình MalConv) Họ mang đến một

phương pháp tan công thêm vào file thực thi từng byte từng byte bằng cách tínhtoán độ biến động của một hàm khi byte thay đổi Phương pháp của họ có khả năngduy trì được chức năng ban đầu của mã độc và giúp nó có khả năng qua mặt trình

phát hiện.

Tuy nhiên, cách làm nêu trên tốn quá nhiều thời gian tính toán Mô hình MalConvphân biệt mã độc và tập tin lành tính thông qua file header của chúng Đề đột biến

mã độc, họ phải thay đổi byte trong file header Demetrio [18] sử dụng phương

pháp tính toán tương tự như Kolosnjaji nhưng phương pháp chỉ thay đổi file headercủa họ có hiệu suất cao hơn vì chỉ cần thao tác trên một số byte của tập tin thực thi

Trong khóa luận này, chúng tôi sẽ tập trung mô tả hai mô hình học sâu chính là MalConvPlus và AttentionRNN.

2.6 Mô hình học tăng cường

2.6.1 Quy trình quyết định Markov (Markov Decision Process - MDP)

Hầu hết các bài toán trong học tăng cường được xây dựng trên MDP MDP gồmbốn thành phần:

e S: Không gian các trang thái mà tác tử quan sát được khi tương tác với môi

trường.

e A: Một tập các hành động mà tác tử có thể thực hiện với môi trường

e P: Hàm chuyên Hàm này đưa ra xác suất dự đoán một trang thái có thé xảy

ra, đầu vào của nó là trạng thái hiện tại của môi trường và một hành động

e R: Một hàm đưa ra phần thưởng Ham này sẽ xác định phần thưởng khi môi

trường chuyền từ một trạng thái sang trạng thái kế tiếp, dưới tác động của

một hành động.

29

Ngày đăng: 08/12/2024, 15:13

TỪ KHÓA LIÊN QUAN