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ương pháp chèn lệnh hợp ngữ dựa trên học tăng cường cho việc tạo đột biến mã độc

65 0 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ương pháp chèn lệnh hợp ngữ dựa trên học tăng cường cho việc tạo đột biến mã độc
Tác giả Lê Anh Hao, Nguyên Duy Lân
Người hướng dẫn TS. Pham Van Hau, ThS. Phan Thế Duy
Trường học Đại học Quốc gia 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 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 65
Dung lượng 24,7 MB

Nội dung

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 3

Trong 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 4

MỞ 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 5

2.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 6

4.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 7

DANH 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 8

DANH 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 9

DANH 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 10

TÓ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 11

CHƯƠ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 12

dự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 13

1.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 14

1.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 15

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, 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 16

e 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 17

e 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 18

2.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 19

thể 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 20

11 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 21

2.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 22

xem 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 25

thự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 26

thà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 28

19 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 29

20 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 30

e 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 31

2.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 32

họ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.

Ngày đăng: 08/11/2024, 17:03

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN