Giới thiệu vẫn đề Trong bối cảnh mã độc đang trở nên tỉnh vi hơn về tính năng và khả năng tránh né các công cụ phát hiện, các nhà nghiên cứu đang ứng dụng các kỹ thuật học máy để phát hi
Trang 1ĐẠI HỌC QUỐC GIA HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG
LÊ ANH HÀO
NGUYÊN DUY LÂN
A METHOD OF ASSEMBLY INSTRUCTIONS INSERTION
USING REINFORCEMENT LEARNING TO MUTATE
MALWARE
KY SU NGANH AN TOAN THONG TIN
TP Hồ Chí Minh, 2022
Trang 2ĐẠI HỌC QUỐC GIA HỒ CHÍ MINH
TRƯỜNG DAI HỌC CÔNG NGHỆ THONG TIN KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG
LÊ ANH HÀO - 18520047
NGUYÊN DUY LÂN - 18520976
A METHOD OF ASSEMBLY INSTRUCTIONS INSERTION
USING REINFORCEMENT LEARNING TO MUTATE
MALWARE
KY SU NGANH AN TOAN THONG TIN
GIANG VIEN HUGNG DAN:
TS Pham Van Hau
ThS Phan Thé Duy
TP.H6 Chi Minh - 2022
Trang 3Trong quá trình ng
LỜI CẢM ƠN
hiên cứu và hoàn thành khóa luận, nhóm đã nhận được sự
định hướng, giúp đỡ, các ý kiến đóng góp quý báu và những lời động viên của
các giáo viên hướng d
thầy Phan Thế Duy, t
đỡ trong quá trình ng
ẫn và giáo viên bộ môn Nhóm xin bày tỏ lời cảm ơn tới
hay Pham Văn Hậu đã tận tình trực tiếp hướng dẫn, giúp hiên cứu.
Nhóm xin gửi lời cảm ơn đến gia đình và bạn bè đã động viên, đóng góp ý
kiến trong quá trình làm khóa luận
Nhóm cũng chân thành cảm ơn các quý thầy cô trường Đại học Công nghệ Thông tin - ĐHQG TP.HCM, đặc biệt là các thầy cô khoa Mang 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.
L é Anh Hao Nguyén Duy Lan
Trang 4MỞ DAU 0 eee 1
CHƯƠNG 1 TONG QUAN 2
.2_ Giới thiệu những nghiên cứu liên quan 3
.2 Trình phát hiện mã độc 3 2.2 Mô hình học tăng cường 3
3 Tính ứng dụng 0Q HQ Hs 3
4 Những thách thức sa 4
5 Mục tiêu, đối tượng, và phạm vi nghiên cứu 4
5.1 Muc tiêu nghiên ctu ) ee 4
5.2 Dối tượng nghiên cứu 2 ee 4
5.3 Phạm vi nghiên đỨU Ặ ch 4
.ð.4 Cau trúc khóa luận tốt nghiệp - 5
CHƯƠNG 2 CƠ SỞ LÝ THUYET 6
2.1 TadOc oe 6
2.1.1 Cấu trúc tệp thực thi 0.20 0 0000 6
21.2 Hợp ngữ ee 9 2.2 Mô hình phát hiện mã ddc 2 2 ee ee 10
2.2.1 Phương pháp phan tích tĩnh - 11
Trang 52.2.2 Phương pháp phân tích dOng
2.2.3 Mô hình phát hiện mã độc dựa trên học mấy
2.3 Mô hình học tăng cường Ặ 2.3.1 Quy trình quyết định Markov (Markov Decision Process -0 Ta aÁẶ.< 2.3.2 Tổng quan mô hình học tăng cường
2.3.3 Q-Learning ee 2.3.4 6 hình học sâu tăng cường
2.3.5 6 hình gym-malware Ặ 2.4 Các công trình nghiên cứu liên quan
CHƯƠNG 3 MÔ HÌNH ĐỘT BIEN MÃ ĐỘC 3.1 Mô hình mối đe dọa và giả định
3.1.1 Mô hình mối đe dọa So 3.1.2 Giả định về ngữ cảnh tấn công
3.2 Mô hình phát sinh đột biến mã độc
3.2.1 Tổng quan mô hình đề xuất
3.2.2 Chỉ tiết mô hình đề xuất
3.2.3 Trình phát hiện mã độc
3.2.4 Trình xác thực khả năng thực thì
3.3 Luồng hoạt động mô hình đề xuất
CHƯƠNG 4 THÍ NGHIỆM VÀ ĐÁNH GIÁ 4.1 Thiết lập thí nghiệm he 41.1 Tập dữ liệu HQ ee 4.1.2 Trình phát hiện mã độc
4.1.3 Trình xác thực khả năng thực thỉ
4.1.4 Hệ thống tạo độtbiến
4.2 Kết quả thínghiệm CC eee eee
4.2.1 Tỉ lệ né tránh thành công không sử dụng trình xác thực
24
24 24 26 27 28 28 32
36
40
40 40 41 42 43 44
Trang 64.2.2 Tỉ lệ né tránh thành công có trình xác thuc 46 4.2.3 Mức độ đa dạng của các hành động 4ï 4.2.4 Hành động làm ảnh hưởng kha năng thực thỉ 51
CHƯƠNG 5 KET LUẬN 52
51 Kết luận ee 52
5.2 Hướng phát triển cv 53
TÀI LIỆU THAM KHẢO 54
Trang 7DANH MỤC CÁC KÝ HIỆU, CÁC CHU VIET TAT
5 Không gian các trạng thai mà tác tử
St Trạng thái môi trường tại lượt t
vr Chính sách tối đa hóa kì vọng
Q Hàm giá trị cho trạng thái - hành động
6 Trọng số cho mạng nơ-ron
L() Hàm mất mát
PE Portable Executable DLL Dynamic Link Library
MD5 Mmessage-Digest Algorithm SHA Secure Hashing Algorithm
CRC Cyclic Redundancy Check Algorithm
GBDT_ Gradient-base Boosting Decision Tree
MDP Markov Decision Process
Trang 8DANH MỤC CÁC HINH VE
Hình 2.1 Cấu trúc định dạng tap tinPE 7
Hình 2.2 Mô hình hoc tang cuw6ng 2 00 17
Hình 2.3 Mô hình của gym-maÌware cốc 19 Hình 3.1 Tong quan mô hình đề xuất 29
Hình 3.2 Ludng hoạt động của mô hình LGBM_ 34
Hình 3.3 Kiến trúc của mô hình MalConv 35
Hình 3.4 Luong hoạt động của mô hình - 37
Hình 4.1 Máy ảo VirtualBox với hệ điều hành Windows 7 đang được trình tạo đột biến nạp mẫu và thực thi 43
Hình 4.2 Ludng hoạt động của thư viện LIEF 44
Hình 4.3 Ti lệ của các hành động thực hiện bởi táctử 5l
Trang 9DANH MUC CAC BANG BIEU
Bang 3.1 Bảng so sánh tác tử của các nghiên cứu liên quan 32
Bảng 4.1 Bảng kết quả tỉ lệ né tránh của trình tao đột biến so với 3
mô hình khi không sử dụng trình phát hiện 42
Bang 4.2 Bảng tham số ngưỡng phát hiện của 3 mô hinh 42
Bang 4.3 Bảng các tham số được sử dụng trong mô hình học tăng
cƯờng dẾ 2⁄27 ee - 45
Bang 4.4 Bang kết quả tỉ lệ né tránh của trình tạo đột biến so với
hai mô hình LGBM và MalConv khikhông sử dụng trình phát hiện 46
Bảng 4.5 Bảng kết quả tỉ lệ né tránh của trình tạo đột biến so với
hai mô hình LGBM và MalConv 47
Bang 4.6 Bảng so sánh tỉ lệ né tránh với các nghiên cứu liên quan
khi sử dụng mô hình phát hiện LGBM 47
Bảng 4.7 Bảng so sánh tỉ lệ né tránh khi thay đổi thông số Max Turn0
trên đối tượng LGBM 2 Ốc 47Bảng 4.8 Bảng mô ta thông số của các mã độc được tao đột biến có
khả năng vượt mặt vathucthi 49
Bảng 4.9 Bảng mô tả thông số của các mã độc được tao đột biến có
khả năng vượt mặt cv 50
Trang 10TÓM TẮT KHÓA LUẬN
Tinh cấp thiết của dé 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 máy vào việc phát hiện và phân loại
các mẫu mã độc Tuy nhiên, đi kèm với những cải tiến này, thủ thuật tấn công
cũng trở nên tỉnh vi hơn Như nghiên cứu của Hu và Tan đã chỉ ra kẻ tấn công
hoàn toàn có thể cải tiến mẫu mã độc có sin để qua mặt trình phát hiện Đồng
thời nghiên cứu của nhóm Anderson cũng đã áp dụng thành công hệ thống học
tăng cường để tạo mẫu đột biến.
Sau khi nghiên cứu hướng sử dụng học tăng cường để né tránh trình phát
hiện mã độc, chúng tôi nhận thấy đây là một hướng có nhiều tiềm năng Nhóm
cũng nhận thấy hầu hết các công trình sử dụng học tăng cường đều không đảmbảo được mẫu tạo ra vẫn giữ được chức năng Vì vậy, trong nghiên cứu này
chúng tôi đề xuất một giải pháp, một hệ thống có chức năng kiểm tra mẫu Các
mẫu
Trang 11CHƯƠNG 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 Khóa luận.
1.1 Giới thiệu vẫn đề
Trong bối cảnh mã độc đang trở nên tỉnh vi hơn về tính năng và khả năng
tránh né các công cụ phát hiện, các nhà nghiên cứu đang ứng dụng các kỹ thuật
học máy để phát hiện và phân loại các đặc tính của mã độc [10] Nhờ áp dụng
linh hoạt các kỹ thuật chiết tách thuộc tính, các thuật toán, và đặc biệt nhờ vào
bộ dữ liệu đa dạng (ember) tỷ lệ phát hiện mã độc của các công cụ này đã đạt
hiệu quả lên tới 97% [5] từ phương pháp phân tích tinh.
Tuy vậy, nghiên cứu gần đây cũng chỉ ra các công cụ phân tích mã độc theothuộc tính tĩnh dễ bị qua mặt bởi mẫu đối kháng Những mẫu này được tạo ra
qua việc thay đổi các thông số, đặc tính của mẫu mà không làm ảnh hưởng tới chức năng Cụ thể về kỹ thuật thì có nghiên cứu của Hu và Tan [11], công trình này sử dụng hệ thống GAN để tạo mẫu (MalwareGAN) Theo hướng áp dụng
kỹ thuật học tăng cường thì có nghiên cứu tiên phong của Anderson với thư viện
gym-malware (Gym-malware), và sau đó là hệ thống DQEAF [7], AIMED-RL[14] Kết quả từ những nghiên cứu nay cho thấy khả năng né tránh trình phat
hiện có thể lên tới 44%
Sau khi thực nghiệm lại các nghiên cứu có học tăng cường nêu trên, nhóm
nhận thấy hầu hết các hệ thống có thể tạo thành công mẫu, nhưng chưa có khả
năng kiểm tra khả năng thực thi và tính năng của mẫu Các nghiên cứu chỉ đơn
thuần tạo các mẫu né tránh được trình phát hiện nhưng chưa tập trung vào việc
kiểm tra xem mẫu có thể hoạt động hay không Nhóm chúng tôi quyết định xây
Trang 12dựng thêm tính năng kiểm tra mẫu và thử nghiệm hệ thống mới với nhiều trình
phát hiện mã độc khác nhau Tw đó đánh giá lại khả năng thực của phương
pháp tạo mau đối kháng sử dụng kỹ thuật học tăng cường
1.2 Giới thiệu những nghiên cứu liên quan
1.2.1 Trinh phat hiện ma độc
Những trình phát hiện mã độc mà nhóm 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 được huấn luyện với tập dữ liệu
EMBER [1] Tập dữ liệu EMBER cung cấp các mẫu mã độc và 189 thuộc tính
và là tập đầy đủ nhất về mã độc
1.2.2 Mô hành học tăng cường
Học tăng cường là một phương pháp hoc máy Đặc trưng của phương phap
này là việc học được hiện hoàn toàn qua tương tác trực tiếp với môi trường Tùyvào thuật toán học tăng cường mà hệ thống có có cách tương tác và cập nhật
mô hình khác nhau.
1.3 Tính ứng dụng
Đề tài này đưa hệ thống tạo mẫu đối kháng áp dụng học tăng cường vào ngữ
cảnh thực tế hơn Các mẫu được tạo ra sẽ qua một bước kiểm tra tính năng Vì
vậy kết quả sau khi thực nghiệm sẽ nêu lên tính ứng dụng của hệ thống, khác
với các mô hình trước, chỉ dừng lại ở việc tạo mau đối kháng đơn thuần dựa vào
kết quả của trình phát hiện
Trang 131.4 Những thách thức
Dù có khả năng sửa đổi tệp thực thi ở nhiều vị trí, hệ thống cũng chỉ dừng
lại ở việc né tránh trình phát hiện với khả năng phân tích tĩnh Ngoài ra, bước
kiểm tra tính năng của đề tài chỉ kiểm tra khả năng khởi chạy của mẫu, chưa
phân tích sâu vào tính năng cụ thể Liệu những tính năng khác, như khả năng
kết nối, khả năng đặc trưng của mẫu có còn được nguyên vẹn hay không, điều
này nhóm chúng tôi chưa thể thực hiện được.
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
Ứng dụng học tăng cường để tạo mẫu thực thi nhằm vượt qua trình phát
hiện, đồng thời đảm bảo mẫu đối kháng có thể chạy được trên môi trường thực
tê.On
1.5.2 Đối tượng nghiên cứu
Đối tượng nghiên cứu:
e Mã độc
e Trinh phát hiện mã độc dựa trên học may
e Mô hình học tăng cường
e Các phương pháp đánh giá chức năng của tệp thực thi (mã độc)
1.5.3 Pham vi nghiên cứu
Trích xuất thuộc tinh của tệp thực thi ma độc, tao ra các mẫu bằng cách
thay đổi các thuộc tính của tệp, và đánh giá lại qua các trình phát hiện mã độc
và khởi chạy tệp qua môi trường máy ảo.
Trang 141.5.4 Cấu trúc khóa luận tốt nghiệp
Chúng tôi xin trình bày nội dung của Luận án theo cấu trúc như sau:
e Chương 1: Giới thiệu tổng quan về đề tài của Khóa luận và những nghiên
cứu liên quan.
e Chương 2: Trình bày cơ sở lý thuyết và kiến thức nền tảng liên quan đến
đề tài
e Chương 3: Trình bày mô hình tạo mẫu đột biến.
e Chương 4: Trình bày thực nghiệm và đánh giá.
e Chương 5: Kết luận và hướng phát triển của đề tài.
Trang 15CHƯƠ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, mô hình phát hiện mã độc, và mô hình học tăng
hành Windows (cho cả hai phiên bản x86 va x64) Dinh dang này là một cấu
trúc dữ liệu cung các thông tin cần thiết để bộ nạp của hệ điều hành Window có
thể quản lý và thực thi được các lệnh được định nghĩa trong tập tin Định dạng
này được phát triển dựa trên định dạng UNIX COFE Vào thời điểm hiện tại,
phan mở rộng của tập tin PE có các dạng như sau: EXE, DLL, SRC, BPL,
.DPL, CPL, OCX, ACM, AX Định dạng tập tin PE có các vai trò cơ bản
sau:
e Cung cấp dữ liệu để tải chương trình lên bộ nhớ: Dinh dang PE mô
tả đoạn mã cần được tải lên bộ nhớ và nơi chúng cần được lưu trữ, cáchthức khởi tạo và thư viện cần được tham chiếu tới
e Cung cấp tài nguyên mà chương trình có thé sử dụng trong quá
trình thực thi: Các tài nguyên bao gồm hình ảnh, đoạn phim, chuỗi ký
Trang 16e Cung cấp cơ chế bảo mật: Tập tin PE sử dụng các dữ liệu bảo mật như
là một chữ ký số để đảm bảo rằng hệ điều hành có khả năng xác thực nguồn
gốc của chương trình được nạp
Cấu trúc chung của định dạng tập tin PE thường sẽ có 2 phân đoạn, phân đoạnthứ nhất là cho đoạn mã và phân đoạn thứ hai là cho dữ liệu
<9
Data Directories
Hình 2.1: Cáu trúc định dang tập tin PE
2.1.1.1 Trường tiêu dé DOS (DOS Header)
Trường này được thực thi bất cứ khi nào tap tin chạy trong môi trường
MS-DOS, mục tiêu của nó là để thông báo tập tin này không thể hoạt động trong
môi trường trên Chi tiết hơn, trường tiêu đề DOS chiếm 64 bytes đầu tiêntrong tập tin chứa 2 giá trị quan trọng là e_ magic (0x5a4b) và e_ lfanew là mộtDWORD (4bytes), giá trị nằm trong 4 bytes này chứa khoảng cách (offset) đếnTrường tiêu đề tập tin PE
2.1.1.2 Trường tiêu đề PE (PE Header)
Trường tiêu đề PE bao gồm các thông tin cần thiết để tải chương trình lên
bộ nhớ Cấu trúc của phần này bao gồm 3 phần chính:
Trang 17e Signature: là 1 DWORD bắt đầu trường tiêu dé PE chứa chữ ky PE: 50h,
45h, 00h, 00h
e Trường tiêu đề tap tin: bao gồm 20 bytes tiếp theo của Trường tiêu đề
PE, phần này chứa thông tin về sơ đồ bố trí vật lý và các đặc tính của tập
tin Trong trường này chúng ta cần chú ý tới trường NumberOfScctions ,đây là trường chứa số section của file Nếu muốn thêm/xoá đoạn trong tap
tin PE, ta cần thay đổi tương ứng trường này.
e Trường tiêu đề tùy chon: bao gồm 224 bytes tiếp theo sau Trường tiêu
đề Tập tin Cau trúc này được định nghĩa trong windows.inc, đây là phầnchứa thông tin về sơ đồ luận lý trong tập tin PE
2.1.1.8 Phân đoạn bang (Section Table)
Section Table là thành phan kế tiếp ngay sau Trường tiêu dé PE, chứa mộtmang các cau trúc IMAGE SECTION HEADER, mỗi phần từ sẽ chứa thongtin về một phân đoạn trong tập tin PE Một số phân từ quan trọng như:
e Kích thước ảo (VirtualSize): Kích thước that của phân đoạn sau khi
được nạp vào bộ nhớ, được tính theo byte và giá trị này có thể nhỏ hơn kích thước trên ổ đĩa.
e Địa chỉ ảo (VirtualAddress): Giá trị để ánh xạ các phân đoạn khi được
tải lên bộ nhớ
e Kích thước của dữ liệu nguyên bản (SizeOfRawSection): Kích thước
phân đoạn dt liệu trên đĩa.
e Con trỏ của dữ liệu nguyên bản (PointerOfRawSection): là khoảng
cách từ vị trí đầu tập tin cho tới phân đoạn dữ liệu
e Dac tính (Characteristic): chứa các cờ như cờ thực thi (excutable code),
dữ liệu khởi tao (initialized data),
Trang 182.1.1.4 Phân đoạn tập tin PE (Section PE File)
La những phan đoạn chứa nội dung chính của tập tin, bao gồm các đoạn mã,
đữ liệu, tài nguyên và các thông tin khác của tập tin thực thi Mỗi phân đoạn
có một trường tiêu dé và một dữ liệu nguyên bản (dữ liệu chưa được xử lý).Những phân đoạn trường tiêu đề được chứa trong phân đoạn bảng Một chương
trình cơ bản trên hệ điều hành Windows sẽ bao gồm:
e Phân đoạn mã thực thi là các đoạn mã tập trung vào một phân đoạn đơn
lẻ text hoặc mã.
e Phân đoạn dữ liệu (.rdata) biểu diễn dữ liệu với quyền đọc là các chuỗi ,
giá trị hằng, thông tin, tất cả các biến khác ngoài biến tự động mà chỉxuất hiện trong ngă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 tài nguyên cho một mé-dun, 16
byte đầu tiên gồm một trường tiêu đề giống như các phân đoạn khác, nhưngdit liệu của phân đoạn này được cấu trúc vào trong một cây tài nguyên vàđược quna sat bằng trình biên soạn tài nguyên
e Phân đoạn xuất dữ liệu (.edata) chứa các thư mục xuất (Export Directory)
cho mọt chươn trình ứng dụng hoặc một tập tin DLL Khi biểu diễn, phân
đoạn này bao gồm các thông tin và địa chỉ của những hàm có chức năngxuất
e Phân đoạn nhập dữ liệu (.idata) chứa những thông tin khác nhau 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 họ bộ xử lý,
được sử dụng để tương tác gần 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ột lệnh chỉ dẫn của bộ xử lý Với ngôn ngữ này, ta có
Trang 19thể sử dụng các công cụ để dịch ngược mã độc thành hợp ngữ để dễ dàng hơn
trong việc phân tích và điều tra 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 để tương tác với hệ điều thông
qua việc gọi 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ử dung DLL để thực hiện các tác vụ như thay đổi thanh ghi của hệ thống, di chuyể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 kỹ thuật trên hợp ngữ được áp dụng nhằm làm
biến đổi hình dạng, trạng thái của mã độc như:
e Chèn mã chết (Dead-code insertion)
e Tái khai báo thanh ghi (Register Reassignment)
e Tái sắp xếp chương trình con (Subroutine Reordering)
e Thay thế lệnh (Instruction Subtitution)
e Chuyển vị mã (Code Transposition)
e Tích hợp mã (Code Integration)
Việc phân tích hợp ngữ giúp chúng tôi hiểu rõ hơn cơ chế phát hiện mã độc
của các trình phát hiện hiện tại Bởi ngoài thuộc tính liên quan đến tệp thực
thi, các trình phát hiện còn tập trung phân tích theo mẫu hợp ngữ.
2.2 Mô hình phát hiện mã độc
Mục đích của phát hiện mã độc là đưa ra những cảnh báo sớm để có cơ chế
ngăn chặn kịp thời trước khi các tập tin mã độc thực thi và gây ra các tổn hại
tới hệ thống Vì thế, vai trò của phát hiện mã độc là rất quan trọng trong việc
giảm thiểu thiệt hại hoặc ngăn chặn các tập tin này kịp thời.
Trang 2011 2.2.1 Phương pháp phân tích tĩnh
Kỹ thuật phát hiện mã độc dựa trên phương pháp phân tích tĩnh có đặc điểm
là phát hiện mã độc mà không cần phải chạy hay thực thi bất kỳ đoạn mã nào của nó gồm có 3 phường pháp chính là kỹ thuật dò quét, chuẩn đoán dựa trên kinh nghiệm và kiểm tra tính tóàn vẹn.
2.2.1.1 Kỹ thuật dò quét
Thông thường mỗi một mã độc được biểu diễn bởi một hay nhiều mẫu, hoặc
là các dấu hiệu, chuỗi tuần tự các byte là đặc trưng được coi là duy nhất của
mã độc Các dấu hiệu này có thể là chuỗi hoặc không cần bất kỳ ràng buộc về
chuỗi nào Một vài chương trình phát hiện mã độc hỗ trợ việc sử dụng các ký
tự đại điện cho mõi một byte tùy ý, một phần của byte, hoặc không hay nhiều
byte Cụ thể hơn, quá trình phát hiện được thụ hiện thông qua một dong các
mã byte, chúng có thể là toàn bộ nội dung của một khối khởi tạo, toàn bộ nội dung của tập tin, hoặc là một phần của tập tin được đọc hoặc ghi, hay cũng có thể là các gói tin mạng Với hàng trăm ngàn dấu hiệu để phát hiện, việc tìm kiếm chúng tại một thời điểm trở nên bất khả thi Một trong những thách thức
lớn nhất của kỹ thuật này là tìm ra các thuật toán có khả năng quét nhiều mẫu một cách hiệu quả và đồng thời có khả năng phân tích, đánh giá chúng.
2.2.1.2 Kỹ thuật Tìm kiếm tinh (Static Heuristic)
Với mục đích tận dụng khả năng và kinh nghiệm chuẩn đoán của các chuyên
gia mã độc, kỹ thuật này được áp dụng nhằm tăng khả năng tìm thấy các loại
mã độc đã biết hoặc các biến thể dựa trên những mẩu đặc điểm chung Kỹ thuật
này thực hiện 2 bước chính, thu thập dữ liệu và phân tích dữ liệu Kỹ thuật
Static Heuristic được ứng dụng để giảm tài nguyên cần có cho quá trình quét.
Dữ liệu về mã độc được lưu trong cơ sở dit liệu được chọn lựa và giảm thành tập dữ liệu nhỏ hơn và gần với mục tiêu hơn.
Trang 212.2.1.3 Kỹ thuật kiểm tra tính toàn ven
Ky thuật kiểm tra tính toàn vẹn được ứng dụng với mục đích khai thác các hành vi thay đổi nội dung tập tin thực thi Việc kiểm tra toàn vẹn được khởi tạo với việc tính và lưu chỉ số tổng kiểm tra (checksum) cho mỗi tập tin Sau khi tập tin được vận chuyển hoặc trao đổi giữa các máy hoặc người dùng, nó
tập tính lại chỉ số trên và so sánh với giá trị được lưu trữ Trong trường hợp
hai chỉ này khác nhau, trình kiểm tra có thể kết luận tập tin đã bị thay đổi và cảnh báo cho người dùng Kỹ thuật này được sử dụng phổ biến cùng với các hàm băm như MD5, SHA, CRC, để tính toán giá trị tổng kiểm tra thông
qua việc băm toàn bộ nội dung của tập tin.
2.2.2 Phương pháp phân tích động
Ky thuật phân tích động là một kỹ thuật phát hiện mã độc dựa trên các hành
vi của tập tin được thực thi trong thời gian thực Trình chống mã độc thực hiện
việc giám sát các hành động, khối lệnh của tập tin này Để thực hiện kỹ thuật này, hệ thống nên được thiết lập môi trường thử nghiệm để thực thi mã độc
va theo đõi hành vi của chúng trên môi trường này Các hành động đáng chú ý
như: hoạt động của các tiến trình, thông tin về thanh ghi, sự thay đổi của các
tập tin, thư mục, lưu lượng mạng và các kết nối Tất cả các hành vi của mã độc
sẽ được lưu dưới dạng các nhật ký phục vụ cộng việc phân tích và điều tra về
sau.
2.2.2.1 KG thuật Giám sát hành vi (Behavior Monitors)
Giám sát hành vi là kỹ thuật giám sát các hành vi thực thi của một chương
trình trong thời gian thực, theo dõi các hành động, khối lệnh khả nghỉ của nó Nếu những hành động này được tìm thấy, trình phát hiện mã độc có thể ngăn
chặn những hành động khả nghỉ thành công và chấm dứt các tiến trình của chúng hoặc cảnh báo cho người dùng Về bản chất, một trình giám sát hành vi
Trang 22xem xét hành động của các chương trình khả nghỉ có phải là bất thường hay
không, ví dụ như các hành vi liên quan tới mở, sửa đổi hay xóa tập tin, những thao tác định dạng ổ đĩa phân vùng, thay đổi thanh nhớ, kết nối mạng, mở cổng
đặc biệt, vân vân.
2.2.2.2 KG thuật giả lập (Emulation)
Kỹ thuật giả lập cho phép các chương trình thực thi và phân tích trong môi
trường mô phỏng được thiết lập sẵn Với mục tiêu rằng khi được thực thi như
thông thường thì mã độc sẽ để lộ các đặc tính và hành vi nguy hại, từ đó cho phép trình chống mã độc dễ dàng phát hiện Có 2 phương pháp chính để áp
dụng kỹ thuật này là:
e Tìm kiếm động (Dynamic Heuristic): Day là kỹ thuật có độ chính xác tương
tự kỹ thuật Tìm kiếm tĩnh Các dữ liệu mà kỹ thuật này thu thập chính là
các thông tin từ môi trường giả lập về các hành vi của chương trình khả
nghi.
e Giải mã chung (Generie Decryption): Với những mã độc đa hình, vòng giải
mã có thể là một yếu tố gây ra khó khăn cho các phần mềm diệt mã độc
để phát hiện được chúng Mã độc được thiết kế để thực thi các hành vi
tấn công trong trường hợp bình thường và được mã hóa, chính vì thế, trình chống mã độc có khả năng phát hiện được chúng Khi mã độc giải mã, phần
thân của chương trình có thể được phát hiện bằng các phương pháp dò quét
thông thường, điều này xác định chính xác khả năng nhận biết các mã độc
đa hình, kỹ thuật này sử dụng các kinh nghiệm để xác minh mỗi khi mã
độc mã hóa chính nó.
2.2.3 Mô hành phát hiện mã độc dựa trên hoc may
Trong hai kỹ thuật vừa nêu trên, kỹ thuật phân tích tĩnh và kỹ thuật phân
tích động, có thể nhận xét rằng hai kỹ thuật này đều dựa trên các mẫu mã độc
Trang 23đã xuất hiện hoặc các biến thể để đúc kết và đưa phát các phân tích, khuôn mẫu chung Chính vì thế, rất khó để một trình chống mã độc có thể nhận diện
được các loại mã độc mới chưa từng được ghi nhận, điều này dẫn tới hệ thống
có khả năng bị x4m nhập rat cao Không những thế, việc phân tích mã độc khi
chúng xuất hiện và đưa ra giải pháp để khắc tốn một khoảng thời gian không
ngắn, dẫn tới nguy cơ lây lan và xâm nhập của mã độc.
Hiện nay, với sự phát triển của các thuật toán và dữ liệu, học máy đã được
ứng dụng trong lĩnh vực phát hiện mã độc với mục đích dự báo được các loại
mã độc mới Mô hình phát hiện mã độc dựa học máy cung cấp khả năng khám phá các khuôn mẫu mã độc một cách tự động dựa trên các dữ liệu được trích xuất Các thuật toán học máy phổ biến được ứng dụng trong việc phát hiện mã độc có thể kể tới như: Cây quyết định, Máy véc-tơ hỗ trợ (SVM), Naive Bayes,
Rừng ngẫu nhiên (Random Forest), Mạng nơ-ron (Neural Networks), K hàng
xóm gần nhất (K-Nearest Neighbors), Trong phạm vi khóa luận này, chúng
tôi sẽ mô tả về hai mô hình học máy được áp dụng chính trong bài là Cây quyết định tăng cường tốc độ (Gradient booosting decision tree - GBDT) và Mạng
nơ-ron (Neural Networks).
2.2.3.1 Câu quyết định tăng cường tốc độ
Cây quyết định tăng cường tốc độ là một thuật toán học máy được ứng dụng rộng rãi do hiệu suất, tính chính xác và khả năng diễn giải của nó Thuật toán này đang tạo ra hiệu suất vượt trội trong một số bài toán học máy như là phân
loại nhiêu lớp, hay xếp hạng.
Về bản chất, GBDT là một mô hình tập hợp các cây quyết định, được đào tạo theo trình tự Trong mỗi lần lặp lại GBDT học các cây quyết định bằng cách điều chỉnh các trường vô hướng âm (còn được gọi là lỗi du) Chi phí chính trong
GBDT nằm ở việc học các cây quyết định và phần tốn thời gian nhất trong học
cây quyết định là tìm ra các điểm phân tách tốt nhất Một trong những thuật toán phỏ biến nhất để tìm sự phân chia điểm là thuật được được sắp xếp trước
Trang 24[8, 9], liệt kê tất cả các điểm phân tách có thé có trên các giá trị tính năng Thuật toán này đơn giản và có thể tìm ra các điểm phân tách tối ưu, tuy nhiên,
nó không hiệu quả cả về tốc độ đào tạo và mức tiêu thụ bộ nhớ Một thuật toán
phổ biến khác là biểu đồ thuật toán [10, 11, 12], thay vì tìm các điểm phân tách trên đối tượng địa lý đã sắp xếp giá trị, thuật toán dựa trên biểu đồ tập hợp các
giá trị đối tượng địa lý liên tục vào các phần riêng biệt và sử dụng các phần này
để xây dựng biểu đồ tính năng trong quá trình đào tạo Vì thuật toán dựa trên
biểu đồ nhiều hơn nên hiệu quả về cả mức tiêu thụ bộ nhớ và tốc độ đào tạo.
2.2.3.2 Mang no-ron
Mang nơ-ron là một chuỗi những thuật toán được đưa ra để hỗ trợ tìm kiếm
những mối quan hệ cơ bản cuảm ot tập hợp dữ liệu dựa vào việc bắt chước
cách thức hoạt động từ não bộ con người Phương phấp này có khả năng thích
ứng được với mọi thay đổi từ đầu vào, do vậy, nó có thể đưa ra được mọi kết
quả một cách tốt nhất mà không cần thiết kế lại những tiêu chí đầu ra Với ưu
điểm, mạng nơ-ron phù hợp để ứng dụng trong việc phát hiện các loại mã độc mới cũng như sự gia tăng đáng kể của các biến thể mã độc Cụ thể hơn, mạng nơ-ron là một kiến trúc nhiều tang, và thông thường có 3 kiểu tầng chính là:
e Tầng đầu vào: Là tầng thể hiện cho những đầu vào của mạng.
e Tang đầu ra: Là tầng thể hiện cho những đầu ra của mạng.
e Tầng ẩn: Nằm giữa tầng đầu vào và tầng đầu ra, phụ trách nhiệm vụ suy
luận luận lý của mạng.
Trong mạng nơ-ron, mỗi nút mạng là một sigmoid no-ron nhưng hàm kích hoạt
của chúng có thể khác nhau Tuy nhiên, trong thực tế, các mô hình được thường tùy chỉnh cho chúng cùng dạng với nhau để thuận tiện trong việc tính toán Ngoài ra, để gia tăng khả năng giải quyết các bài toán phức tạp, mạng nơ-ron
sẽ gia tăng số lượng lớp ẩn, tuy nhiên, càng nhiều số lượng lớp ẩn, thời gian
Trang 25thực hiện tính toán sẽ càng lâu hơn Nếu có nhiều lớp ẩn, số nút trong các lớp
đó thường được chọn bằng nhau.
2.3 Mô hình học tăng cường
2.3.1 Quy trinh quuết định Markov (Markov Decision Process
e A: Một tập các hành dong 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 trạng 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 Hàm 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.
Vi vậy, MDP thường được định nghĩa như sau: M =< S,A,P,R >
2.3.2 Tổng quan mô hành học tăng cường
Học tăng cường là một nhánh nghiên cứu của học máy, trong đó sẽ có một
tác tử đưa ra các hành động để tương tác với một môi trường Mục tiêu cuối là
tối ưu hóa phần thưởng tích lũy đạt được.
Dựa trên MDP, một hệ thống học tăng cường cơ bản sẽ có hai thành phần chính là Tác tử (Agent) và Môi trường (Environment) Kênh giao tiếp của hai
Trang 26thành phan này bao gồ
Hinh 2.2: Mô hình học tăng cường
Tác tử sẽ tương tác với môi trường qua mội chuỗi các lượt đi Với mỗi lượt ¢,
tác tử sẽ chọn một hành động a; € A, dựa vào một chính sách z(a|s;) và thu về
một vectơ trạng thái có thể quan sát được s; từ môi trường Môi trường cũng sẽ
xuất ra một phần thưởng r; € tương ứng với các hành động nhận vào, đồng
thời môi trường cũng thay đổi trạng thái của chính nó, tạo ra một trạng thái
mới s¿+¡ Phần thưởng
đó, tác tử sẽ xây dựng
r, và trạng thái s¿,¡ sẽ là đầu vào kế tiếp của tác tử Từ tiếp chính sách z(a|s¿;1) Tác tử sẽ học dan và tuần tự qua việc khám phá (exploration) và khai thác (exploitation), dần dan chọn ra
được hành động nhằm tạo ra trạng thái môi trường mong muốn.
Phần thưởng là yếu tố quan trọng trong việc học và mục tiêu cuối cùng của
mô hình học tăng cường là xây dựng được một chính sách để tối đa hóa kì vọng:
Trang 27Để lưu lại các thông tin mà tác tử tương tác với môi trường trong mỗi bước, hệ
thống hoc tăng cường sẽ có một bảng chứa: các giá trị của hàm Q, trạng thái và
hành động tương ứng Trong một bài toán nhỏ với môi trường không quá phức
tạp, ta có thể xây dựng một bảng ở dạng mảng hai chiều để lưu các giá trị này.
Phương pháp này gần giống với quy hoạch động.
2.3.4 Mô hinh học sâu tăng cường
Việc lưu trữ giá trị Q ở dạng bảng là một giải pháp đơn giản, nhưng đồng thời nó cũng gây hao tốn tài nguyên rất nhanh chóng, đặc biệt là đối với môi
trường sử dụng dữ liệu lớn như hình ảnh Vì vậy, mô hình học sâu được ứng
dụng vào mô hình học tăng cường để giảm thiểu hao tổn tài nguyên Mô hình
kết hợp này được gọi là mô hình học sâu tăng cường [15].
Thay vì trực tiếp tính tóan giá trị Q và lưu trữ ở dạng bảng thì một mạng
nơ ron với trọng số @ được dùng để tinh toán xấp xi các giá trị Mạng này được huấn luyện để tối thiểu hóa hàm mat mát L(0) qua các lượt với phương pháp
như SGD (stochastic gradient descent) Kích cỡ của đầu ra của mạng này phải bằng số lượng hành động của tác tử Hệ thống này tương tự như hệ thống học giám sát, và phần thưởng sẽ tương tự như các nhãn Mang nơ ron sẽ hoc các
giá trị như hành động, trạng thái của môi trường và phần thưởng, từ đó nó sẽ
dự đoán các phần thưởng cho các giá trị khác để giảm tối thiểu hàm mất mát.
Trang 2819 2.3.5 Mô hành gym-malware
Nghiên cứu của chúng tôi phần lớn dựa trên trình tạo đột biến trước đó Có thể nói, nhóm tác giả Anderson là đại diện tiên phong trong việc tích hợp học
tăng cường vào việc tạo mẫu đối kháng Nhóm này thiết kế một mô hình với tập
mười hành động nhằm thay đổi thuộc tính của tệp thực thi Theo thiết kế, các
hành động này sẽ không làm ảnh hưởng tới chức năng của tệp Tác tử trong mô
hình của nhóm được phép chèn tối đa mười hành động Điều kiện dừng sẽ xảy
ra khi chèn hết mười hành động, hoặc khi tệp đã né tránh được trình phát hiện
mã độc Môi trường trong công trình này được thực hiện dựa trên framework
OpenAT gym [3].
Hành 2.3: Mô hành của gym-malware
Cụ thể các thành phần của hệ thống gym-malware bao gồm:
2.3.5.1 Tác tử
Gym-malware được tạo ra để người dùng có thể linh hoạt chọn lựa các loại
thuật toán khác nhau, nhưng nhóm của Anderson lựa chọn thuật toán ACER
[19] ACER sử dụng một mạng nơ ron dé học chính sách z và hàm Q để đưa ra đánh giá về trạng thái-hành động Sẽ có một vec tơ để lưu các kinh nghiệm hoc
được (experience replay), giúp cho mô hình ACER tối ưu hóa khả năng đánh
giá trạng thái-hành động.
Trang 2920 2.3.5.2 Môi trường va trạng thái
Môi trường trong mô hình học tăng cường là mẫu mã độc ở dạng mã nhị
phân Tuy nhiên, để xác định chính sách trạng thái của môi trường (và cũng là
trạng thái của mẫu mã độc), mã độc dạng nhị phân được trích xuất thuộc tính
và lưu ở dạng các vec tơ Trong thực nghiệm, nhóm Anderson đã xây dựng môi
trường với vec tơ thuộc tính 2350 chiều gồm các thành phan của tệp thực thi
PE như sau:
e Tiêu đề tệp PE
e Tiêu đề của các đoạn: đoạn về tên, kích cỡ và tính chất của tệp
e Bảng nhập, xuất của các hàm
e Số lượng các chuỗi được lưu trong tệp
e Thống kê tần suất xuất hiện của các byte
e Bảng phân phối của các byte
Ngoài lưu tệp thực thi ở dạng vec tơ thuộc tính thì môi trường còn chứa một
trình phát hiện mã độc để kiểm tra mẫu đối kháng Cụ thể, gym-malware sẽ sử
dụng mô hình LGBM [12] được huấn luyện với tập dữ liệu EMBER.
2.3.5.3 Không gian hành động
Như đã nêu trên, tác tử trong mô hình sẽ thực hiện hành động chèn hoặc
thay đổi tính chất của tệp thực thi Số lượng hành động này được giới hạn để
tránh ảnh hưởng tới định dạng của tệp PE và khả năng thực thi của tệp Không
gian hành động bao gồm:
e mports_ append: Thêm cách hàm vào bảng nhập
e section_ rename: Thay doi tên của cách đoạn
Trang 30e section_ add: Tạo ra các đoạn mới
e section_ append: Thêm các byte rác vào sau các đoạn
e create_new_ entry: Tạo điểm đầu (entry point) để thay đổi luồng thực thi
e remove_ signature: Bỏ thông tin chữ ký trong tệp
e remove_ debug: Thay đổi thông tin mục sửa lỗi.
e upx_pack/upx_unpack: Nén hoặc giải nén tệp (sử dụng công cụ upx)
e break optional header_ checksum: Thay đổi thông tin mã băm
e overlay_append: Thêm các byte rác vào đoạn cuối của tệp
Các hành động này được cho là có tính chất ngẫu nhiên (stochastic) Ví dụ,
với hành động thay đổi tên các đoạn, tác tử sẽ lấy ngẫu nhiên tên từ danh sách
các tên thường xuất hiện trong tệp lành tính Tương tự, khi chèn cách byte rác,
tác tử sẽ chọn ngẫu nhiên các byte.
2.3.5.4 Phần thưởng
Sau khi tác tử chèn xong tệp, tạo được mẫu đối kháng, thì mẫu này sẽ được trình phát hiện LGBM của môi trường tiếp nhận Dựa vào kết quả của trình phát hiện mà phần thưởng sẽ được tính toán với giá trị như sau:
r€ {0, R}
er =0, khi trình phát hiện nhận thấy mẫu đối kháng là mã độc.
e r= ñ, khi trình phá hiện nhận thay mẫu lành tính (vượt mặt thành công) Trong thực nghiệm, nhóm Anderson cho R = 10.
Trang 312.4 Các công trình nghiên cứu liên quan
Theo kết quả của nhóm Anderson thì hệ thống có khả năng né tránh trình phát hiện mã độc lên tới 24 % Nghĩa là với 100 mã độc thì hệ thống sẽ tạo ra được 24 mẫu đối kháng né tránh thành công Ở bước đánh giá với 200 mẫu, khả
năng né tránh là 16.25% Mặc dù các hành động được cho là sẽ không làm ảnh hưởng tới chức năng của mã độc, công trình của nhóm chưa có bước kiểm tra
lại tính năng của mã được sinh ra.
Cũng dựa vào phương thức tương tự mà nhóm tác giả Fang đã xây dựng hệ
thống tạo mẫu đối kháng sử dụng học máy DQEAF [7] Nhóm này cho rằng với
di liệu đầu vào cỡ nhỏ thì hiệu quả tao mẫu sẽ tốt hơn Không gian hành động của công trình này được giảm xuống chỉ còn bốn hành động Tuy nhiên, như
nhóm tác giả Anderson, việc kiểm tra lại tính năng của mã vẫn chưa được thực
hiện Mặc khác, với mỗi mã độc, hệ thống của Fang chỉ có bốn hành động khác nhau, nhưng số lần thực hiện lại lên tới 80 lần Việc này vô tình tạo nên đặc
tính cho mã độc tạo bởi DQEAF, giúp trình phát hiện học lại đặc tính và cuối
cùng phát hiện được mẫu đối kháng.
Tiếp nối DQEAF là hệ thống AIMED-RL [14] do nhóm tác giả Raphael Labaca-Castro xây dựng Hệ thống này sử dụng lại mô hình của gym-malware; nhóm đã cải tiến nhiều hơn về mặc đảm bảo tính năng cho mã độc Cụ thể,
AIMED-RL sẽ đánh giá thêm mức độ tương đồng giữa mẫu đối kháng và mẫu góc Bởi họ xác định rằng nếu muốn giữ cho mẫu hoạt động được sau khi chèn thì phải đảm bảo mẫu không bị thay đổi nhiều Vì vậy, phần thưởng của hệ thống AIMED-RL sẽ tính toán cả mức độ tương đồng Hành động giữ được độ tương đồng với mẫu gốc càng cao thì phần thưởng sẽ càng cao Cải tiến này khích lệ tác tử lựa chọn những hành động để bảo toàn khả năng thực thi của
mẫu.
Tuy nhiên, các công trình kể trên chỉ đánh giá lại số lượng mẫu đột biến có
khả năng thực thi sau khi huấn luyện mô hình học tăng cường Vì vậy, mô hình
Trang 32học tăng cường không chú trọng vào việc tạo mẫu có khả năng thực thi mà chỉ
đơn thuần giúp mẫu vượt mặt trình phát hiện Nhận thấy được điều đấy, nhóm chúng tôi quyết định nghiên cứu và xây dựng một mô hình tạo đột biến có khả
năng thực thi.