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

Luận văn phân tích tự Động mã Độc trong các thiết bị nhúng trên nền linux

173 1 0
Tài liệu được quét OCR, nội dung có thể không chính xác
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 đề Luận văn phân tích tự Động mã Độc trong các thiết bị nhúng trên nền Linux
Tác giả Tran Nghi Phan
Người hướng dẫn PGS. TS. Nguyễn Ngọc Bình, TS. Nguyễn Đại Thọ
Trường học Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội
Chuyên ngành Kỹ thuật phần mềm, An ninh mạng
Thể loại Luận án tiến sĩ
Năm xuất bản 2020
Thành phố Hà Nội
Định dạng
Số trang 173
Dung lượng 7,52 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tại hội thảo Blackhat 2014 ở Mỹ, Costin và công sự [7] đã trình bày kết quả phân tích diên rong về việc khảo sát, đánh giá mức độ an toàn các phần sụn của thiết bị nhúng, phát hiện tro

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG DẠI HỌC CÔNG NGHỆ

ioc rey

Tran Nghi Pha

PHAN TICH TU DONG

MA DOC TRONG CAC THIET

BI NHUNG TREN NEN LINUX

LUAN AN TIEN SI CONG NGHE THONG TIN

Hà Nội - 2020

Trang 2

Tai xin cam doan ludn án “Phân tích tự động mã độc trong các thiết bị nhúng trên nền Linux” là công trình nghiên cứu của riêng tôi Các số liệu, kết quả được trình bày trong luận án là hoàn toàn trung thực

và chưa từng được công bố trong bất kỳ mệt công trình nào của người khác

“lồi đã trích dẫn đây đủ các tài liệu tham khảo, công trình nghiên =ứu liên quan ở trong nước và quốc tế Ngoại trừ các tài liệu tham khảo này, luận án hoàn toàn là công viêc của riêng tôi Trong các công trình khoa hoc duce công bố trong hiận án, tôi đã thể hiên rõ rằng và chính xác đóng góp,

của các đồng tác giả và những gì do tôi đã đáng góp

Luan án được hoàn thành trong thời gian tôi làm Nghiên cứu sinh tại

Bộ môn Công nghệ phần mẫm, Khoa Công nghệ Thông tin, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội

Tác giả

Hà Nội

Trang 3

LỜI CẢM ƠN

“Trước hết, tôi muốn bày tả sự biết ơn đến PG8 TS Nguyễn Ngọc Bình và TS Ngyễn Đại Thọ, cần bộ hướng dẫn, các thầy đã trực tiếp giảng

day và định hướng tôi trong suốt thời gian học cao học, thực hiện luãn văn

thạc sĩ cũng như luận án này Một vinh dự lớn cha vôi đươc học tập, nghiên cứu đưới sự hướng dẫn của các Thây

'löi xin bày tỏ sự biết ơn sâu sắc đến các Thay Cö trong Bộ môn Cong nghờ phần mềm vì sự giúp đỡ của cóc Thầy Cö về các đóng góp rất hữu ích

cho luận ấu

Toi xin trần trọng, cảm ơn Khoa Công nghệ thống tin, Phòng Đào tạo

Tỏi muốn cảm ơn đến tất cả những người bạn của tôi, những người

luôn chia sẽ, động viên tối bất cứ khi nào tới cần và tôi buồn ghỉ nhớ điều

đó

o

biệt là con trai đã luôn là động lực để töi nghiên cứu

éi cùng, tới xin bày tổ lòng biết ơn võ bạn đối với gia định, dặc

NCS Tran Nghỉ Phú

Trang 4

TOM TAT

Internet van vit, (Intemet of Things - ToT} ding vai tr quan trong

trang các mặt của đời sống, là một trong các thành phần cat lõi tạo nền cuc cách mạng công nghiệp lần thứ tư và trực tiếp đồng góp lớn vào nền kinh tê toàn cầu Tuy nhiên, nhiều thách thức đang de dọa đối với an ninh,

an toàn các thiết bị IeT, trong đỏ có nguy cơ về mã độc Các nghiên cứu

về mã độc trên loT tập trung trên hệ điểu hành Android Các thiết bị sử dụng hệ điều hành Linux nhúng với các kiến trúc vi xử lý nhúng (MIPš,

ARM v.v.) chiếm số lượng lớn và mã độc trên xuôi trường này (gợi là mã

độc nhũng) dang ngäy càng phổ biến, dặc biết là mã dc hoạt dộng da nền (ang Nhung hiệu nay dang thiếu cắc công cụ, phương phấp có hiệu quả cho phan tích ma độc nhúng

“Từ thách thức trong phân tích, phát hiện mã độc trong các thiết bị ToT dat ra ba hài toán:

hợp với đổi tượng là mã độc nhúng; (ii) phát triển qny trình, môi trường phân tích động và tập đữ liệu để phát hiện, phân lớp mã độc nhúng dựa

trên phương pháp động; (ii) xây dựng tập đữ liệu phục vụ nghiên cứu mã

độc nhúng

phát triển phương pháp trích chạn đặc trưng phù

Luận án trình bây một giải pháp tổng thể gồm quy trình, giải thuật

vũ cong cu cho bai toán phát hiện mã độc nhúng, bao gồm các mö độc cài chun trong thiết bị và mũ độc lấy nhiễm từ ngoồi Lrong quá trình vận hành tiết bị Các đồng góp chính của luận án như sau:

Thứ nhất, xây dựng cơ sỏ đữ liệu về phẫn sụn cña các thiết bị IøT và

TạT, gọi là tập đữ liêu Firmware TøT (F-IeT) Đây là nữ sä đít liêu có số lượng lớn và khá đẩy đủ về các phân sụn, mã độc và mã sạch trên

thiết bị la, Dầ xây xây dựng cơ sở dữ liệu này, luận ấn phát triển công eu

1° 'Toolldt hễ trợ việc thu thập, phân tích, bóc tách phần sụn

à loại sandbox mới, chuyền

Trang 5

Thú i, đề xuất: đặc trưng then đàng điểu khiển mức ngôn ngữ tring,

gian Vex (CFV) và phương pháp trích chọn đặc trưng CFV đựa trên cơ sở của CED gọi là CFIDVex để phát hiên mã độc nhúng đa kiến trúe vi xử lý, Dặc trưng CEV cho phép hoc các mã đốc trên kiến trúc cũ để phát hiên mã,

độc trên kiến trúc vi xử lý mới, hướng tới giải quyết một trong các thách thức mới trong xu thể phát triển mã độc nhúng

'Từ khóa: mã đọc IoT, mã độc nhúng, F-Sandbox, F-toolkit, CDE, CFDVex, phan sun.

Trang 6

Lời cam đoan

Lai cam ơn

1⁄56: Gấu WHGÌNRHIỐN «sa vốn vạn bến v ng gìn G rọcg ban

Chuong 2 PHAN TÍCH MÃ ĐỘC TRONG

ane

Ewe a

Trang 7

2.3.1 Mã độc trong các hệ thống nhúng 42

2.3.2 Ơác đặc tính của mã độc trong các hệ thống nhúng 45

243.3 Môi trường và công cụ phân tích mã độc trên hệ thông

3.13 Cách tiếp cận phát triển môi trường phân tích động

cho mã độc nhúng .‹ - 63 3/2 Cấu trúc F-Sandioz «có c c2 222222 0 67 3.3 Quy trinh phan lép ma doc dita tren F-Sandboz 69

3.3.1 Mô hình tổng quan 3M # đã š § 69 3.3.2 Khởi tạo mỗi trường F- "<< 70

Thực thí mẫu trong môi trường F-Sandboz 71

Quy trình phát hiện mã độc đưa trê F-Sandbor 75

3.5.2 Kết quả thử nghiêm quy y trình phân lớp mã độc 79 3.5.3 Kết quả thử nghiệm quy trình phát hiện mã độc 82 3.5.4 So sánh F-Sandbor với các sandbox khác 84

Chương 4 PHƯƠNG PHÁP TRÍCH XUẤT ĐẶC TRƯNG

MA DEENA: oon son ease coe ae vo we eee we 88

4.13 Cách tiếp cận cải tiến thuật toán taf ae dae trimg

Trang 8

42) Phường phẩp GED ¿vs can 2y can con vua cao 96

42.1 Một số định nghĩa eee 96 4.22 Thuật toán trích xuất đặc trưng CFD 96

4.2.3 Thuật toán xây dmg DAG

4.2.4 Thuật toán xây dựng EDAG

4.2.5 Thuật toán trích xuất đặc trưng dựa trên đồ thị dòng

điều khiển từ EDAG 102

Chuong 5 KET LUAN VA :

Bi: KEENER cies axa Hang ha aganen aos eum we 126

Trang 9

C&C Command and Control Server

CFG Control Flow Graph

CNN Convolutional Neural Network

CPU Central Processing Unit

CFD Control flow-based opcode

feature extraction dynamic

programing algorithm

CFDVex Control flow-based Vex

feature extraction by dynamic

programing algorithm

CFV Control flow-based Vex

DAG Directed Acyclic Graph

Máy sử dụng tập lệnh đơn giản hóa tiên tiến

Máy chủ điều

khiển mạng lưới Botnet

Đồ thị luồng điều khiển Mạng neural tích chập

trưng theo dòng điều khiển

mức Vex bằng quy hoạch động,

Đặc trưng theo đồng

điều khiển mức Vex

Đồ thị có hướng không có chu trình

Phương pháp

Trang 10

Domain Name System

gate array

False Positive False Negative Internet of Things Interner Relay Chat Internet Services Provider

Joint ‘Lest Action Group

Kerucl-based virtual muchine Low Level Virtual Machine Message-Digest Algorithm

Microprocessor withont Interlocked Pipeline Stages Naive Rayes

dua trén phan sim

Giao thức truyền tập tin

Đường dây thuê bao số bắt đối xứng

Ngôn ngữ máy mức thấp

“Thuật toần băm:

gid tri thang tin

Bio vi wi ly khong ct giai doan đường ông khóa liên đông Phuong php Naive Rayes

Trang 11

Principal Component Analysis

Proves identifier Personal Computer Printable Ssrings Information

Quick EMU later

Random Access Memory

Remote Code Execution

Read Ouly Memory

Real-time operating system

Random Forest Symbolic Execution small office/home office Serial Peripheral Interface Secure Shell

Support, Vectar Machine System on a Chip

Transmission Control

Protocol,Internes Protoral

Ba nhd tray cập ngẫu nhiên không bay hoi

Bộ nhớ truy xuất ngẫu nhiền

"Tấn cong thye thi

vi nối tiếp

Giao thức kết nỗi

xạng số bão mật

May vée to hé tra

He thang tich hop trén mot Chip

Giao thức điều khiển truyén tin

/Giaa thức Internet

Trang 12

User Datagram Protocol

Uniform Resource Locator

Giao thức truyền gói tin người dùng

Dinh vi tai

nguyên thống nhất

Mang không dây

sử dụng súng vũ tuyển.

Trang 13

DANH MỤC CÁC ĐẠI LƯỢNG

Đại lượng Diễn giải

Số phần dữ liệu được chia trong phương pháp k-fold

Số chiều cần giảm tới khi áp dung thuật toán giảm chiều vóc tơ đặc trưng

Số chiều ban đầu của véc tơ đặc trưng trước khi giảm chiều

Tập các dinh cha CFG, DAG, EDAG

Tap céc canh cha CFG, DAG, EDAG Tập các lá của CFG, DAG, EDAG Dinh dau hay nút gốc của CEG, DAG, EDAG

Mảng hai chiều chứa trọng số của các cạnh EDAG

Mảng một chiều chứa trọng số các đỉnh của EDAG

Số các khối cơ bản trong một tập tin thực thi

được dịch ngược hoặc số lượng các dinh trong V

Số cạnh trong #,

xii

Trang 14

2.1 Giả mã thực thi và ngôn ngữ trung gian Vex 20

23 Ma trận nhằm lẫn Soon ee

3.1 Dánh gié sé mau theo do dai syscall 7

3.2 Fl-Macro, Fl-Micro va Fl-weight véi trich chon die trimg

3⁄4 Kết quả thực nghiêm với 2-gram CBG Ee 84 3.5 So sánh F-Sandbox vi các sandbox khác §5 4.1 Minh họa các bước trong quá trình tạo DAG 100

4.2 Dịch từ lệnh thực thi sang ngôn ngữ trung gian Vex 104

4⁄8 So sánh về số lượng đỉnh trong CEFG giữa MIPS và Intel 80386 116 4.9 So sánh giữa phương pháp Ding va CFD 118 4.10 So sánh giữa các phương pháp CFD, Ding và CFDVex mức 2

trên kiến trúc MIPS c oe pane UBL 4.11 Phét hi¢n ma doc tron timg kiéu trie

4.12 Dánh gid phat hien ma doc chéo kién trie

4.13 Phát hiện trên tập hỗn hợp kiến trúc

xiii

Trang 15

Số lượng mã độc IøT xuất hiện trong các năm

Đồ thị đồng điều khiển với các đỉnh chứa øpcode_

Đồ thị đồng điều Riga ose osc wee wi ou Ss oa we NG có

“Tính 3-gram của chuỗi opcode

Quy trình xây dựng mô hình học máy :

Siêu phẳng phân tách tối ưu

Kiến trúc cơ bản của hệ nhúng [67] .-

Sư giao thoa của thiết bị nhúng, thiết bị lơT và máy vi tính

Cầu trúc bộ định tuyến

Các tập tin hệ thống thu được khi giải nền phần sụn

“Thiết bị P-Extractor để sao chép phần sụn từ flash của thiết

Thông tin NVRAM được trích xuất từ thiết bị Tp-Link Wr842nd

“Tạo các E*Sandbor với nhiều môi trường Thác HH,

Tiến trình đề xuất để phân lớp mã độc dựa trên F- Sandhor

và học máy

Nhật ký lời gọi hệ thống của mẫu mã độc

Tỉ lệ giữa tổng điểm và điểm của các đặc trưng thành phần

3.12 Thống kê số tiền trình do mã độc trong tập F-loT tạo ra

3.13 Bộ phân lớp RF với 2-gram và #gram

Trang 16

3.14 Bộ phân lớp SVM với 2-gram và #gram 81 3.15 Bo phan lép NB véi 2-gram và 3-gram 81

3.18 So sánh trung bình của F1, AP, “AC "1" sgpunnte ie scene 83

4.1 Một đồ thị có hướng-G - 90

4.2 Đồ thị có hướng không có chu trinh DAG cia G trong Tình

43 EDAG của DAG trong Hình 4.2 98

44 Trích chon đặc trưng CFO với 3-gram của đỉnh 4 và 5 của

BĐAG:trong' HINH 4Â š se ca cá he g2 rán náo: 103

4.5 Kiến trúc khối của công cụ F-Toolkit 107

446 Thiết bị ExC500 để sao chép phần sụn từ flash của thiết bị

MOR MIE co 2 ea pe Now yee oe ow Oy PR 109

4.7 Các thành phần trong mo dun F-Reverse 109

4.8 Các kiểu tập tín hệ thống thường đùng trong các niên sụn I0 4.9 Ơác thư mục tập tin hệ thống thu được sau khi dịch ngược 1I1 4.10 So sánh độ chính xác giữa phương pháp của Ding và CFD với

Rg vows ae kee w NOW BAe Mow x om 4 4A 8 gang 1 4.11 So gánh đô chính xác giữa phương pháp của Ding và CED với

4.12 So sánh đô đo F1 của phương pháp Ding và CED với 2-gram 118 4.13 So sánh độ đo F1 của phương pháp Ding và CED với 3-gram 118 4.14 Đánh giá phương pháp CFD 119 4.15 So sánh đô chính xác của CED giữa 2-gram và 3-gram 120 4.16 Độ chính xác theo phương pháp của Ding giữa 2-gram va 3-gram 120

Trang 17

DANH MỤC CÁC THUẬT TOÁN

1 Trích xuất đặc trưng dòng điều khiển- FD 97

2 XiÿdlngĐÁN sac: cua con ven eeww es ones an 99

3 Xây dưng EDAG từDAG 101

4 —_ Trích chọn đặc trưng CEO với ngram từ EDAG 102

5 _ Trích xuất đặc trưng dòng điều khiển Vex với n-gram từ EDAG105

Trang 18

MỞ ĐẦU

Internet vạn vật (Internet of Things - IøT) đang ngày càng phố biến,

tiếp tục phát triển mạnh và đóng vai trò quan trọng trong tương lai của thế giới kết nói Dây là một trong những thành phần cốt lõi tạo nên cuộc cách mạng công nghiệp lần thứ tư, xây dựng thành phố thông minh và trực tiếp

mang lại nhiều tiên ích cho người dùng trong nhiều lĩnh vực như: y tế, nông

nghiệp, quản lý năng lượng thông minh, thiết bị tự hành, giao thông thông

minh, quốc phòng v.v Theo thống kê và dự báo của Cisco, năm 2017 đã

có khoảng 7 tỉ thiết bị IøT, đến năm 2020 ước tính có 50 tỷ thiết bị loT sẽ được kết nối vào mạng Internet [1] Các thiết bị này sẽ có mặt ở mọi nơi, từ

các địa điểm công cộng đến những điểm riêng tư, phổ biến là các thiết bị

như CameralP, Volp, IpTV, thiết bị định tuyến v.v Theo IDC, năm 2019 toàn cau dau tu 1.300 t¥ USD cho phát triển IøT Gartner cho rang IoT mang lại 1.900 tỷ USD giá tri gia tang trong nam 2020 Theo McKinsey,

tới năm 2025, nền công nghiệp loT sẽ đóng góp vào nền kinh tế toàn cầu là 11.000 tỷ USD

Tuy nhiên, hàng tỉ thiết IơT bị đang lưu trữ, truyền dữ liêu nhạy cảm

và riêng tư, nhưng đang phải đối mặt với các cuộc tấn công độc hại [2, 3] Tính phổ biến, hữu dụng và tầm quan trọng của IơT đã khiến nó trở thành

mục tiêu hấp dẫn của tội phạm mạng (4j Những thiết bị loT c6 thé bi loi

dụng để giám sát, theo dai người dùng mọi lic, moi nơi hay lợi dụng số

lương lớn các thiết bị này để tạo các cuộc tấn công mạng quy mô lớn Điều

t

Trang 19

Mỏ đầu 2

ổ chức,

này đã làm đấy lên những lo ngại về việc 16 lọt thông tin của các

cá nhân khi các thiết bi này bị tin tặc tấn công và chiếm quyền quản trị Hiện nay, nhiều vấn để cơ bản vẫn chưa được giải quyết để đảm bảo yêu cầu bảo mật so với sự phát triển nhanh và rộng của løT như kiến trúc và chính

sách về mit bao ma [5], mite 46 an toan etia phan mềm nhúng - phần sụn

(firmware), giao thtte truyén tin [3]

hồng bảo mật, trong đó có 14 lỗ hồng bảo mật mới Tại hội thảo Blackhat

2014 ở Mỹ, Costin và công sự [7] đã trình bày kết quả phân tích diên rong

về việc khảo sát, đánh giá mức độ an toàn các phần sụn của thiết bị nhúng, phát hiện trong 32.256 phần sụn được phân tích thì có 38 loại lỗ hồng mới

Cũng trong nghiên cứu này, các tác giả đã trích xuất được 35.000 khóa bí

mật của thuật toán mã hóa cñng khai RSA được lưn trữ trên các thiết bi

trực tuyến, điều đó có nghĩa thông tin trong các thiết bị này có thể bị giải

mã Thêm vào đó, nhiều cổng hậu mặc định do các nhà cung cấp cài cắm

Ip các thiết bị để nghe lén, lấy trộm

nã độc Tại Việt Nam, tháng 6/2016,

tập đoàn BKAV đã công bố kết quả khảo sát 21 triệu thiết bị trên Internet,

trong đó có tới 5,6 triệu thiết bị trên thế giới bị nhiễm lỗ hồng PetHole [8],

mất quyền điều khiến thiết bị Nhiều nghiên cứu gần day

vào thiết bị, gián điệp mạng đột

thong tin quan trong, cai them ci

Cùng với lỗ hồng bảo mật, mã độc là mối đe doa chính ảnh hưởng an

ninh, an toàn của các thiết bị lơT Các nguy cơ có thể ảnh hưởng tới thiết

bi loT bao gồm: chính sách quản lý (31%), lây nhiễm mã độc (26%), tấn công từ chối dịch vụ (13%) và tấn công phá hoại kết nối của các thiết bị loT (12%) [11] Nguy cơ lộ lọt thông tin và cài cấm các mã độc từ các thiết

bị ldT đã được Grant và cộng sự [3] phân tích, chứng mình là hiện hữu

độc trên loT đang tăng nhanh về số lượng, sức phá hoại và kỹ thuật ngày

càng phức tạp Theo Kaspersky Lab IoT [12], số lượng các mẫu mã độc IốT xuất hiện trong thời gian gần đây tăng đột biến, từ 46 mẫu được phát

Trang 20

140.000

121.588 120.000

Hình 1.1: Số lượng mã độc IoT xuất hiện trong các năm

hiện vào năm 2013 đến nửa đầu năm 2018 đã trên 120.000 mẫu, chỉ tiết so

sánh trong Hình 1.1 Mã độc trén IoT tap trung một số loại tiêu biểu như mạng máy tính ma (botnet), cong hau (backdoor) Cac botnet dựa trên loT' (Botnet of Things) và các cuộc tan cong DDoS sit dung co sé ha tang IoT dang trở thành mối đe dọa mạng lớn [13, 14 Cơ chế của các loại mã độc

nay là tập trung khai thác các lỗ hỗng bảo mật và các chính sách bảo mật

rất yếu của các thiết bị løT để lan nhanh, tiêu biểu như mã độc Mirai năm

2015 Nó tạo ra những cuộc tan công từ chối dịch vụ lớn nhất trong lịch sử

với dung lượng vượt ngưỡng 1,5 Terabit/s (Tbps) [15] Mạng máy tính ma

được tạo ra bởi Mirai đã gửi hơn 750.000 thư rác mỗi ngày [16] Như vậy, việc nghiên cứu về mã độc trên eác thiết bị lơT là rất quan trọng, góp phần

bảo vệ an toàn cho các thiết bị loT cũng như ngăn chặn sử dụng thiết bị

ToT làm cơ sở để tấn công các hệ thống khác

Phân tích mã độc là việc nghiên cứu hoặc quá trình xác định các chức năng, nguồn gốc hoặc ảnh hưởng của mã độc Từ các các mẫu đã có, chúng

ta hướng tới phát hiện và phân tích hành vị độc hại của nó Những mẫu nghỉ vấn có thể được thu thập qua honeypot, máy của các hệ thống bi tan công và các kênh khác Bằng cách phân tích những chương trình chưa biết,

chúng ta xác định được hành vi độc hai và trích xuất cơ chế tấn công, phá

hoại Dựa trên những kết quả phân tích này có thể xây dựng các phòng chống hữu hiệu Có hai cách tiếp cân trong phân tích mã độc là phân tích

Trang 21

hoặc cần những phát hiện mới, chuyên sâu

mã độc Phân tích tự động sẽ áp dụng các công cụ để tự động thu thập, bóc

tách, thực thi, trích xuất các đặc trưng của các mẫu đã có Các đặc trưng

này được đưa vào các thuật toán học máy để xây dựng các mõ hình, sau khi

huấn luyện mô hình này có khả năng phát hiện các mẫu mới có hoặc chưa

có trong tập đã được học Với cách tiếp cận này, các quá trình phân tích

là tự động, có khả năng phát hiện những mẫu chưa biết, có khả năng áp dụng đối với số lượng mã độc lớn Các nghiền cứu thời gian gần đây hướng

tới phát triển các phương pháp tự động trong phân tích mã độc để nhanh

e mẫu mã độc mới chưa biết, có số lượng lớn, mức đồ

chống phân tích c¿

ổn và biến đổi nhanh {17] Bài toán phân tích tự động mã độc đã

ác hướng như phát triển các phương pháp bóc tách

tự động, thuật toán trích chọn đặc trưng, môi trường phãn tích động để thu

thập hành vì (sandbox), các thuật toán học tối ưu Tuy nhiên, đây là các

giải pháp áp dụng cho mỗi trường phân tích mã độc truyền thống, còn trên loT thì còn nhiều hạn chế về số lượng và tính hiệu quả

Các nghiên cứu về mã độc trên IøT thời gian qua tập trung vào hai môi

trường chính là hệ

lu hành Android và hệ điều hành Linux nhúng Mã

độc trên hệ điều hành Android được nghiên cứu nhiều trong thời gian gần

đây, các phương pháp động, tĩnh và lai được đề cập khá đầy đủ và đạt kết

quả tốt [18] Các nghiên ứu về mã độc trên hệ điều hành Linux nhúng dang

hướng xây dựng các công cụ phân tích tĩnh [19-22], môi trường phãn tích động [ö, 23-25] các phương pháp trích chọn đặc trưng tối ưu cho phát hiện

mã độc [26-28], phat trién các phương pháp học nhanh cho phan lớp mã

quyết như khả nãng bóc tách phần sụn còn ở mức thấp, các phương pháp trích chọn đặc trưng vẫn chưa hoàn toàn tối ưu cho mã độc trên IoT, cdc đề xuất được thực nghiệm trên tập đữ liệu hạn chế nên chưa thể khẳng định tính hiệu quả, nhiều môi trường phân tích động vẫn chưa được hoàn thiện.

Trang 22

1.2 Đặt vấn đề

Các nghiên cứu về phát hiền mã độc trên løT trước đã

yếu vào điện thoại đi động với hệ điều hành Android và kiến trúc vi xử lý ARM Một lượng lớn các thiết bị loT sử dụng hệ điều hành Linux nhúng

kiến trúc rất phổ biến nhu MIPS được nghiên cứu một cách hạn

hệ thông (system call - syscall

trên IøT còn nhiều hạn chế, chủ yếu tập trung vào các phân tích kỹ thuật

) Cơ sở dữ liệu phục vụ nghiên cứu mã độc

với các dòng nổi tiếng như Mirai Phương pháp phân tích động gặp nhiều thách thức do các thiết bị loT có kiến trúc đa dạng và nhiều chuẩn khác

nhau do đó khó để tạo được möi trường thích hợp Phương pháp tĩnh bước

đầu có nhiều lợi thế, do mã độc trên IoT ft sit dung các biện pháp bảo vệ

như mã hoá, nén, làm rối v.v Nhưng các phương pháp phân tích tĩnh áp

dụng hiệu quả cho máy tính cá nhãn khi áp dụng sang IoT không hiệu quả

do tốc độ xử lý và môi trường đa kiến trúc Các phương pháp học máy, đặc biết là hoc sau phat triển mạnh trong thời gian gần đây ở nhiều lĩnh vực, song các nghiên cứu áp dụng cho phân tích mã độc trên thiết bị nhúng còn

hoạt động Với mỗi loại mã độc cần các cách tiếp cận khác nhau để phát

hiên cũng như phục hồi lại các thiết bị cho sạch Phần sun la phần mềm

đóng gói phổ biến cho các thiết bị nhúng, đa số các phần sụn trong thiết

bj loT là bản đóng gói của hệ điều hành Linux nhúng Mã độc trong phần sun tập trung vào các đồng như Botnet, DDoS§, Trojan v.v và tồn tai dưới

dạng các tệp tin độc lập, không phải là một đoạn mã chèn vào các tệp tin khác như virút trên máy tính cá nhân

Dé phat hiện các mã độc cài cấm sẵn trong phần sụn, thường là các cổng.

Trang 23

Mô dầu 6

hau, có hai cách tiếp cận là hóc tách để phát hiện hoặa giầm sár từ ngoài để

phát hiện các cống mở bắt thường Các cách tiếp cận này đang được thực hiện thủ công với từng trường hợp phân tích cụ thể Phương pháp bóc tách được thực hiện bằng cách bóc tách phần sụn để thu hẽ thống tệp tỉn tường mình của hệ điều hành Linux nhúng và từ đó tiến hành kiểm tra các tệp

tin này có chứa mã độc khóng Trong trường hợp có mã độc, sẽ riến hành loại bỏ và đóng gói lại thành bản phan sun sạch Phương pháp này cần các công cụ bóc tách hiệu quả và phương pháp phát hiểu các mẫu mã đọc trêu

xuôi trường Linux nhúng, đấy là hai thách thức lớn Với

ch giám sát Lừ

ngoài, thiết được hơại động trong hệ thống có giám s phát hiện

cổng mổ hắt thường Phương pháp này đòi hỏi phải mô phông các phần sụn nến muốn triển khai đánh giá với số hượng lớn, chì phí thấp, và nhiễn

trường hợp cổng hậu không được mỏ thường xuyên mà theo điều kiện nhất

định sẽ khá để phát hiện

Đối với mã độc lấy nhiễm từ ngoài, chúng thường đưa trên việc khai thác ]õ hồng bảo mặt tồn tại trên thiết bị sau dó lãy lau Các loại raã độc này

số lượng nhiều, phong phú và biến đối phức tạp, do dé edn xãy đựng các

cơ chế, phương pháp giám sát, phát hiện phức tạp rhậm chí phải liên kết

thông tin từ nhiều nguồn mới có thể xác định hành vi độc hai Những việc

dhệt các mã độc này về mặt kỹ thuật JA dem giản, do chứng tồn tại đưới

dang không thường tri (hdi phan sun của các thiết hị nhúng được lưu trữ

trên các bộ nhớ chỉ đọc như RƠM) nên mã độc sẽ mắt khi khởi động lại thiết hị

"Thiết, bị IơT được nghiên cứu và đề cặp trong luận án được hiểu là loại

thiết bị nhúng (cö chức năng chuyên biệt, tài nguyên hạn chế) và có kết nấi

mang Internet, có nhiều đặc thh khác vái máy tính cá nhân nên cẩn cách

tiếp cân mới Các thiết bị nhúng IaT cố đác điểm là: han chế tài nguyên,

thường xuyên kết nỗi với Internet, tồn tại trong những môi trường kém an

toàn, độc lập trong thài gian dài mà không nâng cắp Các thiết bị nhúng

sử dụng kiến trúc bỏ vi xử lý cũng như hệ điều hành hoàn toàn khác, đa, dạng hơn và hạn chế nhiều thành phần Thiết bị loT thường sứ dụng tập, lệnh đơn giản (Reduced Instruction Set Computing RISC) con máy tính

truyén thống thường sử dụng tập lệnh phức hợp (Complex Instruction Set Computing - CISC), nều cùng ruột mã nguồn khí biến dich sang hai logi thiết bị này, các chương trình trên TT sẽ có đồ thị đồng điều khiến (Control

Trang 24

Flow Graph - CFG) phức tạp (nhiều cạnh và nhiều đỉnh) hơn so với các chương trình trên máy tính truyền thống Các phương pháp phát hiện mã

độc trên thiết bị lơ1' phải đảm bảo tính hiệu quả

nhưng cũng giải quyết các thách thức về tính đa dạng của môi trường hoại, động, thiết bị vật lý Do đó, không thế thuần túy áp dụng các nghiên cứu

vẻ mã độc trong máy tính cá nhãn sang thiết bị IoT, mà cần có các phương

phù hợp với tài nguyên,

có # nghĩa lán về lý thuyết và shực tiễn

pháp nghiên cứu

Di tượng nghiên cứu là các mã độc hoạt động trên các thiến nhúng sử

dụng hệ điều hành Lántx Qua khảo sát các tập dữ liệu đã có, các mã độc

nay chủ yếu là dạng tập tin thực thi trên Linux (Executable and Lánkable

mau

Format BL), do đó trong luận án, chúng tôi tập trung nghiền cứu c

mã độc là tếp tin loại này Trong các nghiên cứu quy mnö lớu thời gian gần dảy, bộ vì xứ lý nhúng kiến trúc bộ ví xử lý không có các giai doạu dường,

wor without Intcrlocked Pipclin

ống khỏa liên động (Micropro

MIES) œ

kiến trúc này để đại điện cho kiến trúc ví xử Ì

lượng lớn, do đó các nghiên cứn tập Lrung thực ngh

a cdc thiết bị nhúng luận

án nghiên cứu các thiết bị IaT sử dụng phần cứng là các thiến bị những

và phần mềm là bệ điều hành Linux nhúng, nên gọi chưng là các thiết bị nhúng trêu nền hệ điều hành Linux, các mã độc trên các thiết bi này goi là

xã độc nhúng Nhu vay, cdc miu mã độc nghiên cứu chính trong luận án

Trang 25

Mô dầu 8

Dé dat duce muc tiên trên, có năm nhiệm vụ eu thể mà luận ấn tập

trung giải quyết Thứ nhất, luận án cẩn nghiên cứu xây dựng các bô dữ liệu phục vụ nghiên cứu phân tích, phát hiện mã đôc trên thiết bị lơ Thứ hai, luận án nghiên cửu xây dựng công cụ bóc tách phần sụn của các thiết

bị IeT Thứ ba, luận án nghiên cứu xây dựng môi trường mô phỏng phục

vụ phân tích động, thụ thập các hành vì của mã độc trên IoT, vừ đó xảy dựng các mở hình học máy phù hợp cho phát hiện mỡ độc trên loT bằng phương pháp dũng Thứ Lư, luận ấn nghiên cải Liên phương pháp tĩnh trong

chon đã

trưng của thiết bi ToT

tưng có khả năng phát hiên mã độc đa kiến trúc vi xử lý, dac

Với

nghiền cứu sau:

ác xuục tiêu trên, nghiền cứu sinh đã sử dụng cóc phương pháp

Nghiên cứn lý thuyết về các phương pháp phân tích đông, phân tích tĩnh

mã độn, học máy trong phát hiện mã độc

Nghiên cứu lý thuyết thiết kể các thuật toầu cho các bài toán tối tu tổ hop thude lép NP-hard

Khảo sát, phân tích các công trình đã công bố liên quan phân lớp, phát

hiện mã độc, mã đôc TT

ác đè xuất mới và các củi tiêu đều được phân tích đánh giá, chứng mình

(hong qua các suy luận lý thuyết Nghiên cứu sinh kết hựp với các phương, pháp thực nghiệm trên máy tính với các bọ đữ liệu được tạo ra và bộ dữ liệu đã có nhằm đảm bảo tính khách quan về hiệu quả của phương pháp đễ

xuất

1.4 Các đồng góp chính của luận án

Tận án tiếp cần và có các đóng gáp khá đây đủ các vấn đề đất ra trong

phân tích mã độc nhũng trên nên Tinux từ phân tích đông, phân tích tĩnh

đến chuẩn bị đữ liệ Về phân tích đông, lân án xây đưng các môi trường

phân tích động chuyên dung, mang đắc trưng của rnôi trường và cấu trúc

của thiết bị nhúng dùng Linux Về phân tích tĩnh, luận án tập trung cải tiến

Trang 26

các phương pháp trích chọn đặc trưng để giải quyết các đặc thù riêng của các chương trình/mã độc trên thiết bị nhúng dùng Linux Để có cơ sở đánh

giá đúng các đóng góp trên và hỗ trợ cho các nghiên cứu của công đồng sau

này về mã độc nhúng, luận án tập trung xây dựng bộ dữ liệu mã độc và

chương trình sạch cho các hệ nhúng dùng Linux Tập dữ liệu được sử dung

để đánh giá thực nghiệm trong các phương pháp phân tích động và tĩnh đề

xuất Các đóng góp cụ thể gồm:

Thứ nhất, xây dựng cơ sở dữ liệu về phan sụn của các thiết bị løT' và mã độc trên loT, gọi là tập dữ liệu Firmware IoT, F-IoT() Day là cơ sở dữ liệu

có số lượng lớn và tương đối đầy đủ về các phần sụn của các thiết bị IoT,

mã độc và mã sạch trên thiết bị loT' đến thời diểm hiện tại Tập mã độc của F-loT' được xây dựng trên cơ sở kết hợp các tap đữ liệu từ Detu [25],

IoTPOT [23] và VirusShare [30] Tập phần sụn được thu thập dựa trên công

cụ F-Crawler là bản nâng cấp từ bộ thu thập tự đông của Firmadyne |6, 7Ì Các phần sun sau khi được thu thâp được phân loại, bóc tách bằng công

cu F-toolkit do luận án phát triển để thu thập các mẫu sạch Các phần sụn

cũng được sử dụng trong F-Sandbor để tạo môi trường hệ thống Các tệp

tin bao gồm cả mã độc và chương trình sạch sau đó được tiến hành phân

tích, lọc nhiễu, gần nhãn theo nhiều tiêu chí phục vụ phần thực nghiệm

F-loT là tập dữ liêu lớn !, được sử dụng trong thực nghiệm của luận án va

có ý nghĩa lớn cho các nghiên cứu của công đồng sau này về lơT Đóng góp này của chúng tôi đã được công bố vắn tắt trong các báo cáo hội thảo [PP5, PP8, PP9j và sau đó được đăng thành phiên bản đầy đủ trong bài tạp chí

[PP3] F-Toolkit và tập dữ liệu tiếp tục được bổ sung trong báo cáo hội thảo

[PP7], hai cách phân loại mã độc được trình bày trong bài [PP4]

Thứ hai, đề xuất quy trình phát hiện mã độc trên thiết bị loT bang

phương pháp phân tích đông F-8anđboz như một loại sandbox mới, chuyên

dung cho các thiết bị ldT' dưa trên hệ điều hành Linux nhting, F-Sandbor

được phát triển dựa trên QEMU [31], kế thừa các kỹ thuật của Firmadyne

[6] có khả năng mõ phỏng đầy đủ các thành phần vật lý của bộ định tuyến, mang Internet và trích xuất các lời gọi hê thống dựa trên nhân Linux 2.6

được sửa đối (instrumented kernel) F-Sandbox c6 khả năng kích hoạt hầu

hết các mã độc trong cơ sở dữ liêu thực nghiệm, dữ liệu thu được có khả

1 Gồm mẫu trên 8 loại kiến trúc vi xử lý khác nhau với gần 25.000 mẫu mã độc và mẫu sạch

Trang 27

đủ trong các bài tạp chí PP, PP3,

Thit ba, đề xuất thuật toán trích xuất đặc trưng của các tập tin thực thỉ

(chương trình chứa mã độc và chương trình sạch) đưa trên luỗng điều khiển (Control flow-based feature) o6 hiéu qua va hiéu suét cao che viée phát hiện

ma déc trén thi bi lol, goi la CE'D (Control flaw-based feature extraction

dynamic programing algorithm) CFD 13 phương pháp trích xuất đặc trưng, dựa trên giải thuật quy hoạt động, có tốc độ xử lý nhanh, sử dụng §t bộ nhớ,

có khả năng, phát hiệu tắt cố các đường thực thỉ trong các tệp tin thực thị,

do đó cho độ chính xác cao hơn các phương pháp truyền thống như phương pháp dựa trên duyệt sâu của Ding và céng su [32], va cho phép xt lý các tếp tín lớn, có nhiều khối cơ bản (basic block) Lý luận và thực nghiệm dã

ching minh, CFD phù hợp cho việc trích chọn đạc rrưng của các chương

trình trên các thiết bị IøT, do đây là các máy tĩnh sử dụng tập lệnh cơ bản rút gọn (RISC), nên có đổ thi luêng điển khiển (CTG) phức tạp (nhiễu canh

và nhiều đỉnh) hơn so với các chương trình rrên máy tính truyền thông sử

dụng tập lệnh phức hợp (C18C) Dóng góp này của chúng tôi đã được công,

hồ vấn tắt trang báo cáo hội thảo [PP6] và được đăng thành phiên bản đây

đủ trong các bài tạp chí PP2]

Quấn nàng, phát triển phương pháp trích chọn đặc trưng ŒFDVex trên

cø sở thuật roán CED để phat hiện mã đặc nhúng đa nền tầng vì xứ lý

day là môt trong những xu thế xuất hiện của mã đc rrân loT Đác trưng này cho phép hoc các mã đôc trên kiến trac cf để phát hiên các phiên bản

mã độc trên kiến trúc vi xử lý mới I'hương pháp CD sẽ tiến hành dich

ngược chương trình thành giá mã máy (apcode) của một kiến trúc cụ thé nến chí cho khả năng phát hiện mã độc trên loại kiến trúc đó Trong khi đó, phương pháp CFDVex sẽ địch ngược chương trình về mã trung gian Vex,

sau đó ấp dụng thuật toán tương tự CFD để trích xuất thông tìn đặc trưng

dựa trên luỗng diễu khiến của đồ thì với các dỉnh lä chuối các dai điện của,

kinh Vex Luau án để xuất và lựa chọu cách lấy đặc tuưng phũ hợp dé cho

Trang 28

hiện quá phát hiện mã độc cao nhất Thực nghiêm cho thấy, CFDVex cá khả năng phát hiện rã độc đa kiên trúc với độ chính xác cao, mở ra hướng nghiên cứu để xóc định

lên hệ giữa rã độc trên các kiến trúc khác nhau Dồng góp này của chúng tôi đã được công bố vấn tất trong báo cáo hội thảo |PP7|

Các nghiên dữn của luận án nhằm hướng tới xây dựng một bộ phương,

pháp hoàn chính gồm các phương pháp động và phương pháp tĩnh để p

hiện mã đậc trong các thiết bị TạT sử dụng hệ điều hành Linux nhving Céc

thưc nghiêm cho kết quả tốt và mở ra nhiều hướng phát triển tiếp theo

1.5 Cấu trúc luận án

Luận án ban gồm năm chương, eu thể nội đung các chương như san

Chương 1 Mở đâu Lình bày về lý do dhọu đề thi và nội dụng nghiền cứu của luận án,

Chương 8 Phân tích mã độc trong rác hệ thống nhúng trình hày về các

kiến thức nên được sử đụng trang huận ân Dần tiên chương này trình bay

bổng quan về hệ thống nhúng bao gầm khái niệm, đặc điểm, ứng dụng của,

hệ thắng nhúng và mật hệ thống nhúng tiêu biểu được tập trung nghiên cứu

trơng đề tài là thiết bị định tuyến Tiếp đó, chương này trình bay về phần mềnn nhúng, trong đó tập truug hệ điều hành nhũng và phần sun (ñaware) của cáo thiết bị nhúng, thiết bị IoT Cúc loại mã độ

¿ trên thiết bị nhúng, được trình bày làm eở sở cho các phân tích, phát hiện mã độc trêu thiết bị nhúng ở phần cuỗi

Chương 3 Giả: pháp phân tích động các mã độc những trình bày kiến trúc #¬8andboz và hai quy trình sử dụng F-Sandbea cho phát hiện, phản lớp mã độc trên thiết bị lơI' bằng phương phép động, sử dụng đác trưng về

Ki gọi hệ thống #¬6andboz là sandbox chuyến dung dé phan tich ma độc

tiên thiết bị lợi, dựa trên việc mö phỏng các phần sụn thực tế, Quy trình phát kiện mã dọc dược xây dựng trồn cơ sử đặc trưng lời gợi hệ thống dựa,

trên F-Sandbor sit dung phương pháp phân lắp một lớp SVM (Oue clasa

SVM), Quy trình phản lớp mã độc thực nghiệm với ba phương pháp học

mấy phổ biến để tìm phương phấp tỗi ưu cho quy trình.

Trang 29

Mô dầu 12

Chương { Phương pháp trích xuất đặc trưng đăng điệu khiển trình bày hai phương pháp trích xuất đặc trưng dàng điểu khiển mới áp dung hiệu quả cho phát biện mã độc trên thiết bị lz[ là CứD và CEDVcx Phương pháp mới dựa trên ý tưởng quy hoạch đêng để trích xuất đặc trưng dòng điều khiến dựa trên lệnh thực thi và ngôn ngữ trung gian Vex với tốc độ tính toần nhanh, sử dụng ít bö nhỏ, có thể áp dụng hiệu quả cho các tệp tin

dung lượng lớn Thực nghiệm so sánh phương pháp dễ xuất với các phương phắp cũ chỉ ra rằng phương phấp tuổi cho kết quả vượt trội hơu về cae dé

do trêu Lap dữ liệu E-IoT, đặc biệt CPDVex cho khả năng phát hiệu mã độc

trên

trúc mới với độ chính xác cao

Chỗi cùng, Chương ñ phãn tích về các đóng góp chính của luận án và

thảo luận về các nghiên cứu trong tương lai từ các kết quả ban đầu đã, đạt

được

Trang 30

PHÂN TÍCH MÃ ĐỘC TRONG

CÁC HỆ THỐNG NHÚNG

Chương này trình bày các kiến thức cơ sở liên quan đến phân tích mã

độc nói chung, các thiết bị nhúng và đi sâu vào phân tích mã độc nhúng Dau tie

hướng vào bài toán sử dụng học máy trong phân tích mã độc Tiếp theo, chúng tôi trình bày các kiến thức cơ sở về các hệ thống nhúng gồm thiết bị nhúng, hệ điều hành nhúng, hệ điều hành Linux nhúng Phần cuối chương trình bị

đặc điểm, các môi trường và công cu phan tích đã có và các phương pháp

phân tích mã độc nhúng trong thời gian gần đây

Đa số các mã độc trong quá khứ được sinh ra tập trung vào máy tính

cá nhãn sử dụng hệ điều hành Windows của Mierosoft, vì hệ điền hành này chiếm đa số trên thị trường, khoảng 83% thị trường máy tính cá nhân [31j

18

Trang 31

Chương 9 Phân tích mã độc trong các hệ thống nhúng 14

của Internet vạn vật (løT) trong cuộc cách mang công nghiệp lần thứ tư,

mã đốc hướng tới các thiết bị này cũng tăng lên nhanh chóng Các thiết bị nhúng rất khác với máy tính cá nhân truyền thống ở kiền trúc bộ vi xử lý sử

dụng và hệ điền hành, Các thiết bị di động sử dụng hệ điều hành Android

chiếm số lượng tương đương với các thiết bị sử dụng hệ điều hành Windows [34] nên các nghiên cứu về mã độc trên môi trường này cũng được đề cập nhiễu trong thời gian qua [35] Ngoài ra, một lượng lớn trong các thiết loT'

sử dụng hệ điều hành Linux nhiing (Embedded Linux) [6, 7], đó là cơ sở

phát triển các mã đôc trên Linux nhúng, gọi tắt là mã độc nhúng,

2.1.2 Bài toán phân tích tự động mã độc

Bài toán phân tích mã độc hướng tới ba mục đích: phát hiện mã độc (malware detection), phan tich độ tương tự của mã doe (malware similarity analysis) va phat hién loai ma dc (malware category detection) [36] Phat

hiện mã độc có mục đích xác định mẫu đầu vào có phải là mã độc (malicous) hay không Phân tích đô tương tự của mã độc là chỉ ra những điểm giống

nhau giữa các mã độc, như tìm ra những điểm tương tư giữa các mã độc mới

xuất hiện với các mã độc đã có từ trước Có bồn kiểu phổ biến trong phân

tích độ tượng tự của mã độc là phát hiện sự biến đổi (variants detection), phát hiện theo các họ (families detection), phát hiện độ tương ty (similarities

detection) và phát hiện sự khác biệt (differences đetection) Phát hiện sự

biến đổi tức là phát hiện một mẫu mị

có phải là do một mẫu đã biết được

biến đổi để thành biến thể mới nhằm chống lại các cơ chế phát hiện Phát hiện theo các họ tức đưa vào mẫu, xác định mẫu này thuộc họ nào trong các

họ đã có, hay người ta còn gọi là bài toán phân lớp mã độc Phát hiên đô

tương tự tức phát hiện một phần trong những đặc trưng thu được của mẫu

đã có trong cơ sở dữ liệu Trong khi phát hiện sự khác biệt sẽ tìm ra những

phần của đặc trưng khác với những đặc trưng đã có, đây có thể là các đặc

trưng mới xuất hiện Phát hiện loại mã đ

à viêc dưa trên các hành vi nồi

bật và mục đích để phân mã độc thành các loại khác nhau như gián điệp

(spy), điều khiển từ xa (remote) v.v Trong luận án, chúng tôi nghiên cứu

hai mục tiêu là phát hiện mã độc và phân lớp mã độc.

Trang 32

Xát về loại đặc trưng trong phát hiện mã độc, có hai phương pháp phát hiện mã độc là phát hiện dựa trên chữ lcý và phát hiên dựa trên hành vi Phát hiện dựa trên chữ ký (Signaturo-based detcction) là phương pháp xây dựng tập dấu hiệu đặc trung của các taẫu taã độc đã biết /gọi la chit ky)

và sử dụng tập chữ ký này để phát hiện mã độc Thông thường, tập chữ ký

sẽ được tạo ra dựa vào những kết quá phân tích thủ cóng của các chuyên gia khi phân tích các mã dọc dã xuất hiện Phương pháp này dang dược sử dụng phổ biếu bởi các phầu mềuu điệt virút thưởng mại do độ cảnh báo sai thấp, tuy nhiều bạn chế lớn nhất là không có khả năng phát hiện các biến

thể

hành vi bất thường dưa trên các hành vi bình thường mà chúng thn thập

i Phát kiện dựa Lrên hành vi (Behavior-based detection) sẻ xác định

được đựa trên hai pha huấn luyên và nhận đang Trong pha huấn luyến, hồ

phát hiện sẽ được học các hãnh ví binh thường Ứu điểm quan trong của

phương pháp này là có khả năng phát hiện tấn công zero day va han chế lớn nhất là độ cảnh báo sai cac, rất khó xóc định đặc trưng đưa vào bước

huấn luyện 'tong luận án, chúng tôi tiếp cận theo hướng phát hiện mã độc

dựa trên hành vì để hướng tới phát hiện các mã độc xuất hiện mới

C6 hai phương pháp phần tích mâ độc phổ biến là phân tích tĩnh và phan

tích đông Mỗi phương pháp phân tích có ưu điểm và han chế khác nhan,

nh phân tích thường hỗ trợ nhan và nhiều tình huỗng kết hop

trang quá

thông tin với nhau để cho kết quả tốt nhất Phương pháp nhân tích kết hợp

hai loại nhân tích này goi là phương pháp lai

Phản tích tĩnh là phương pháp phần tích mầu dựa trên những đặc trưng,

của các thie thi chủng, Đầu vào của phân tích tĩnh có

hực hiện trên mã nguẫn rường rainh hoặ Ap tin thực thì Phần

tích tính thường đôi hỏi người phản tích xem xết kỳ mã nguồn của mã

nấu trà không cả

đốc (đã được chuyển sang đang có thể hiển được, như assembly, hay C)

hiểu luồng thưc thì và các hành vi sủa nó thông qua eác đoạn mã Phân

tích tĩnh được thực hiên dưới sự hỗ trợ của các công cu sỡ rối (debugger} dịch ngược (disassembler) như ØiigĐủg, DA, Angr Phân tích tĩnh mã độc

có thể đảm bảo hiểu được đoạn mã và biết được các hành động có thể có khi mã độc thực thi Có nhiều loại đặc trưng có thể thu được thông qua

phân tích tĩnh mã đọc như: thông tin vé tép tin (meta data), đồ thị đồng diều khiển (Control Flow Graph - CFC), dé thị ding dit ligu (Data Flow Craph - DFG) chudi gid ad, (hut thi (Operation Code - apeude), Ii gui

Trang 33

Chương 2 Phân tích mã độc trong các bệ thẳng nhúng 16

giao điên lập trinh (Applieation Programming Inberfaces - ÁP), các xâu có thé hidn thi (Printable String Information SI) v.v Phuong pháp phân tích tĩnh cũng còn tốn tại nhiều vấn đề nghiên cứu cần giải quyết như xác định chính xác kiến trúc vì xử lý, dịch ngược mã nhị phân thành mã nguồn tường minh hay xây dựng chính xác các dỏ thị liên quan đổi với những lệnh nhãy giấn tiếp trong codc (ndircet jumps) [37| Với những khó khăn gặp

phải trong quế trình phần tích các mẽ độc dung lượng lớn, phức tạp khi sử dụng phương phấp phản tích tính, thủ phương pháp phân tích động đông,

uột vai trồ quan trọng,

Phân tích động là phương pháp phân tích các hoạt động của mẫu khi

mẫu được thực thi thực sự (trong môi trường vật lý hoặc mô phẳng) Phản tích động thường sử dụng các công cụ mô phông để chạy trực tiếp chương

trình từ đó kiểm trả hành vì thể hiện của các mũ độc trong quá trình chạy Phương pháp này yếu cẩu các nhờ, phát luiển phẩi có hiểu biết sảu vỗ

thống hoạt động của thiết bị cần phần tích Có hai loại đữ liẹu thu được qua phẩu vích động thường gặp, dó là đữ liệu về tương tác hệ thông và các

bọ nhớ Dữ liệu

về mạng mồ tả các tương tác của phần mềm với mạng bền ngoài, trong khí

đữ liêu vẻ hệ thắng cung cấp cho ta thông tin về các tác động đối với hệ

dữ liệu về tương tắc mạng, ngoài ra còn có các thủng tin

điển hành bên trong Các đặc trưng từ đữ liện về hệ thắng có thể là các lời gai hệ thống (systam call), các hàm tương tác với hệ điều hành và cdc thar

số như tên tập tin, đường dẫn v.v Dữ liệu mạng cá thể là các gói tin trao

đổi bao gồm cả tiêu để và nội đung (payload) Phương pháp phân tích động giám sát các hoạt động của mã độc, cách thức thực thi lầy lạn như thế nào

nó kết nối đến dầu, cài đặt những gì vào hệ thống, thay đổi thành phần nào

nhằm tuục đích ngăn chặn việc lấy nhiễm, bao ra các dẫu hiệu nhận dạng,

hiệu quả Việc phân tích mã đốc đồi hỡi qua trình Uheo đối liên Lục và lặp

đi lặp lại thite hiệu trên hệ thông thiết bị thật sẻ n t nhiều cổng

sức và thời gian và cũng có thể gãy thiệt hại lớn cho cA hệ thống, Vì thể,

rân phải thất lập một môn trường an toàn cho việc thực thi mã độc để nó

thể thu vhập thông tin về mã độc một cách tốt nhất gọi là sandbox

Trong nghiên cứu về phát hiện và phân lớp mã độc, có hai vấn đề cần

giải quyết là xác định cách biểu diễn mmã độc và lựa chọn bộ phản lớp tối ưu Vấn dễ biểu diễn mã dọc phụ thuộc vào phương pháp phần tích mã dọc và phương pháp lrích xuất đặc trưng, Chúng ta uần xác định thông tin của mã.

Trang 34

đốc cần trích xuất và cách để trích xuất, trình bày các thông tin dé để đại

dién cho mã độc Vẫn để lựa chọn bộ phân lớp tối ưu liên quen đến thuật toán phân lớp, lựa chọn bộ tham số và đánh giá bộ phân lớp đó với tập dữ

liệu huấn luyện và kiểm tre

Như vậy, bài toáu phân Lich Lự động xuã độc trong luận ám đề cập là xây

dựng các công en, thuật toán trích xuất cá:

định

năng phát hiện, phân lốp mã độc tự động với độ chính xác cao và chỉ phí

thấp Cách tiếp cân này cô khả năng phát hiên các mẫu mã độc mới bằng các công cụ và mô hình đã xây dựng, không cần bước phân tích thủ công

đặc trưng hành vi cña mã độc

tur động, x: c phương pháp học máy và mô hình phù hợp để cá kha

để tìm ra các chữ ký để làm cơ sở phân loại, phát hiện mmã độc.”

trưng của mẫu phục vụ mục địch phần tích mẫu

Đầu vào của trích xuất đặc trưng trong bài Loán phân tích mã độc là ruẫu

sạch đã

Các véc to nay sẽ là đần vào cho việc xây đựng mö hình huấn luyện hoặc

phát hiện đưa trên mô hình đã được huấn luyện Trích xuất đặc trưng có

thể gồm nhiễu bước nhả hơn như lựa chạn đặc trưng (feature selection)

mã độc/mẫu sạch, đầu ra là vếc td đặc trưng của mã độc /mẫn

giảm chiều (dimensionality reduction}, chuẩn hóa dữ liệu (featuro scaling

and normalization), Diu tiên, từ mẫu ban đẫn (raw data) chúng ta phẩi

lựa chọn đặc trưng cần trích chọn như chuối by‡c, cáo chuỗi ký tự đọc được

trong lên tỉn, thông tin về tệp tìn, hay các đặc trưng khác khi thực thí tệp,

từ mẫu dé dưa vào lưu trữ trong

các đặc trưng nà

n ấp dụng các phương pháp giảm chiều để lựa chợn

tin sinh ra Sau dó lá

6 Tit vée tơ nầy

lại những đặc trng nàa cả giá trị cao nhất, loại hỏ các đặc trưng ít thông

tin, sao cho véc cơ đặc trưng thụ được san khí giảm chiều chứa đầy đủ hoặc

gần như tất c thông tin ban đầu của mẫu Việc giảm chiều giúp việc lưu trữ ít và tính toán nhanh hơn, một số tình huỗng càn giúp giảm các nhiễu

hoặc thông tín từ mẫu ngoại lai Sau đó véc tơ đặc trưng cần được chuẩn

Trang 35

Chương 2 Phân tích mã độc trong các bệ thẳng nhúng 18

hóa để và khoảng đữ liêu chuẩn phù hợp với đầu vào của các mẽ hình huấn

luyên, nhận dạng Ví du chuẩn hóa các giá trị véc ta về đoạn [Ú 1]

Đặc trưng của mẫn mã đọc có thể thu được bằng phương pháp phân tích tĩnh, quá trình phần tích dộng hoặc kết hợp hai phương pháp trên Các loại

đặc

thực thì (opeode), thôi

rưng thụ được bằng phương pháp phân tích tĩnh phổ biển như: giỗ mã

dan tép tin {file header), dé thi dong diéu

tin p

khiển v.v Phương pháp phân tích động cho các loại đặc trưng nhĩ thông

tim tương tác mạng, nhật ký lài gọi hệ thống (syscall), thông tin vé sit dung

tài nguyên CPU, RAM v.v Luân ấn nghiên cứu sử dụng cá các đặc trưng

phân tích tĩnh và phân tích động Dặc trưng phân tích tĩnh trang luận án

sử dụng là đặc trưng dòng điều khiển mức giải mã thực thi và mức ngôn

nựữ trung gian Vex Đặc trưng phân tích động sử dụng là nhật ký lời gọi hệ théng syscall

2.1.8.2 Các loại đặc trưng

Đặc trưng giả mã thực thí

Giả mã thực thì (peration code - Opcode) là dãy các lệnh cơ bản được thực hiện tren bộ vì xử lý, Nó là mã mấy trữu tượng mức thấp hay cõn gọi là ngôn ngữ máy dé thực thì vác loạt động của một loại vì xử lý nhất,

đình Mỗi loại vì xử lý khác nhan lại sử dụng một tệp lệnh khác nhau Theo thực nghiệm của luận án, các chương trình MIIPS EI.F chứa 146 loai oncode khác nhan Chuỗi opcode được trích xuất từ việc địch ngược (đisassembly)

từ tệp bin nhị phân có thể thực thi (executable) mô tả các hành vi của một,

chương trình và có thể được trích xuất thống qua phân tích tĩnh Ví đu kết,

quả dịch ngược một đoạn chương trình thực hiện hai phép tính trên mang

Trang 36

Sử dụng opeode trong phát hiện ma độc lần đầu tiêu được đồ xuất bởi

Bilar (3§] và tiếp đó nhiều nghiên cứu cũng phát triển các phương pháp dựa

trên opcode trong phát hiện, phân lớp mã độc [32 39-12] Santos và cộng

¡ của các loại

sự [42] đã đề xuất phương pháp Idea để phát hiện sự biến d

mã độc dựa trên tần suất xuất hiện của các dãy lênh thực thi Từ các dãy

lệnh thực thi của chương trình họ xây dựng véc tơ đại diện cho tệp tin thực

thi

Đặc trưng ngôn ngit trung gian Vex

Có một số đặc trưng của chương trình khi dùng để phát hiện mã độc ít phụ thuộc vào kiến trúc vi xử lý như PSI, API call Những đặc trưng này có

khả năng tốt trong việc phát h

Trang 37

Chương 9 Phân tích mã độc trong các hệ thống nhúng 20

Representation - IR) trong phân tích các chương trình đa kiến trúc ví xử

lý, mỏ ra hướng ứng dụng cho phát hiện mã độc đa kiến trúc Nhằm giải

quyết vấn đề phức tạp trong đa kiến trúc bộ vi xử lý, công trình [44] đã dé cập đến phương pháp xử lý chéo trên các kiến trúc thông qua các ngôn ngữ

trung gian để tìm lỗi trong các phần mềm nhúng mã không phụ thuộc vào

kiến trúc chip Phương pháp này giúp phát hiện lỗ hổng bảo mật, cổng hậu

tôn tại trong các thiết bị định tuyến

Ngôn ngữ đại diện trung gian (Intermediate Representation Language) là

ngôn ngữ đại diện của chương trình khi chuyển từ ngôn ngit ngudn (source)

sang ngôn ngữ đích (target), Mot ngon ngữ đại điện trung gian tốt là ngôn

ngữ hoàn toàn độc lập giữa ngôn ngữ nguồn và ngôn ngữ dích, do đó sẽ

làm tối ưu hóa khả năng dịch giữa nguồn và đích hay phân tích độc lập nền

Ngôn ngữ trung gian Vex (Vex Intermediate Representative - Vex) [45]

là ngôn ngữ trừu tượng hóa các kiến trúc khác nhau, cho phép phân tích

và xử lý trên một ngôn ngữ duy nhất cho nhiều kiến trúc khác nhau: tên

thanh ghi, truy cập bộ nhớ, quản lý bộ nhớ, hiệu ứng biên của các lệnh Có bồn thành phần chính được đề cập trong Vex:

— Biểu thức - Erpression trình bày biểu thức tính toán hoặc giá trị hằng số;

— Todn tit - Operation nhan tố thay đổi giá trị của biểu thức;

Trang 38

— Biển lạm - Temporar uariable được sử dụng như thanh ghỉ trong, kết

quả Điểu thức được lưu trong biến tạm;

— Cầu lệnh - Statement mô hình chuyển trạng thái trong máy đích, như

hiệu ứng ghi bộ nhớ, thanh ghi Câu lệnh sử dụng biểu thức để tính toán giá trị;

— Khối - Block là tâp hợp các câu lệnh Vex, đại diện cho khối cơ bản

trong kiến trúc đích

Vex duge mo ta chi tiét trong tép tin libvex_ir-h [46] Ví dụ về việc chuyển

nh thực thi của MIPS được trình bày trong Bảng 2.1 Trong ví dụ này, lệnh thuc thi (push ebp) được dịch tương ứng với năm câu lệnh trung gian

Vex; lệnh thực thi (mov ebp, esp) dude dich thành hai câu lệnh trung gian

nh chứa ít nhất 1 biểu thức Có tất

gian [46], mỗi kiểu lại có nhiều mẫu (templates) để biểu diễn cách các biểu

thức, toán tử và biến tạm kết hợp với nhau

Vex là ngôn ngữ trung gian được sử dụng trong Valgrind [47], một công

cụ phân tích nhi phân phổ biến và nồi tiếng Dây là ngôn ngữ đc lập, không

bị tác đông bởi ngôn ngữ đích, được hỗ trợ tốt trong quá trình dịch mã Nó

trừu tượng hóa mã máy vào các ngôn ngữ đại diện (representation) làm cho

chương trình dé hi

VINE (VINE-IL) được đề xuất bởi Song và cộng sự [4], sử dụng trong dự

án BitBlaze và công cụ phân tích mã độc Panorama [19], cũng phát triển

trên cơ sở sử dụng Vex VINE đầu tiên dịch mã nhị phân sang Vex, sau đó

mới chuyển sang VINE-IL Vex được sử dụng trong Anør [21], công cụ mã

éu, dé phan tich [45] Thêm vào đó, ngôn ngữ trung gian

nguồn mở nổi tiếng dùng trong phân tích mã độc trên thiết bị lốT Angr

sử dung Vex là ngôn ngữ trung gian bởi khả năng dịch mã từ nhiều kiến

trúc có độ tin cậy cao đã được sử dụng và chứng mính trong Wølgrind (50

“Thêm vào đó, các tài liệu và đặc tả được hỗ trợ rất tốt cho Vex

Đặc trưng đồ thị dòng điều khiển

Đồ thị dong điền khiển (CFG) cia mét tap tin thực thi là một đồ thị có hướng ớ = (V, E, r L) trong đó:

— V là tập các đỉnh, mỗi đỉnh là một khối cơ bản (basic block) trong tập

tin thực thi sau khi được dịch ngược, gồm chuỗi các câu lệnh liên tiếp

nhau mà ở đó đòng điều khiển đi vào tại điểm khởi đầu và đi ra tại

Trang 39

Chương 9 Phân tích mã độc trong các hệ thống nhúng 2

điểm kết thúc mà không bị dừng đột ngột hoặc xử lý rẽ nhánh trước

khi kết thúc

— E là tập các cạnh, được tạo ra bởi các lệnh jumps/calls/rets lệnh thực

thi giữa các khối cơ bản của chương trình thực thì sau khi được địch

ngược Với mỗi cạnh có hướng (u,0), u được gọi là đỉnh đầu và ø được

gọi là đỉnh cuối của cạnh Khí duyệt đồ thị, w được gọi là cha của ”

và ø được gọi là con của u;

— r là đỉnh đầu tiên hay nút gốc của đồ thị, có bậc vào là 0 (tức không

có cạnh nào đi đến r), nó là khối cơ bản chứa điểm bắt đầu (Entry block) của chương trình;

— L là tập các lá, tức bậc ra của đỉnh là 0 (hay từ đỉnh này không có

cạnh nối đến các đỉnh khác), nó là các khối cơ bản kết thúc chương, trinh (Exit block)

0 | push add jexz

jexz +) add +| mov

Hình 2.1: Dé thi dòng điều khiển với các đỉnh chứa opeode

Mot ví dụ về một phần đồ thị dòng điều khiển của một chương trình thực

thi sau khi dịch ngược được minh họa trong Hình 3.1 Mỗi đỉnh sẽ được ký

hiệu bằng một nhãn để thuận tiên trong các thao tác với đồ thị, do đó đồ

thị đòng điều khiển được thể hiên như trong Hình 2.2 Để xây dựng được một đồ thị CFG thường tuân theo quy trình sau: gỡ rối, dịch ngược và diễn

giải dữ liệu (interpretation) Kết thúc quy trình này, một đồ thị dòng điều

khiển CFG hoặc đồ thị luồng dữ liêu (DEG - Data Flow Graph) được xây

Trang 40

Sw

Hinh 2.2: Dé thi dong diéu khién

dựng Các đồ thị này thể hiện quy trình thực thi và hành vi của mã độc

“Tuy nhiên, thách thức chính của cách tiếp cận này là xây dựng và phân tích

được quy trình thực thi, hành vì từ các mã nhị phân đối với các tập tin lớn

và phức tạp

Mỗi tập tin thực thi thường có những dé thi CFG đặc trưng, vì thế trong hướng phân tích tĩnh, các nhà nghiên cứu thường xây dựng tập dữ liệu đỏ

thi CFG mã độc và dùng phương pháp đồ thị đẳng cầu để đánh giá một tấp

tin đầu vào có phải mã độc hay lành tính Nghiên cứu tiếp cận theo hướng

này có thể kể đến như [32, 43]

Đặc trưng lời gọi hệ thông

Lời gọi hệ thống (System call - Syscall) là lệnh mà chương trình yêu cầu các dịch vụ từ nhân hệ điều hành, bao gồm các dịch vụ liên quan đến phần

cứng như truy cập đĩa hay cạc mạng, tạo hay xử lý các tiến trình Lời gọi

hệ thống xác định giao tiếp giữa hệ điều hành có độ tin cây cao và chương

trình có độ tin cây thấp Hành vi của một chương trình có thể được hiểu

như là tương tác của nó lên hệ điều hành nơi mà nó được thực thi Do đó

lời goi hệ thống có thể được xem như các hành vi cơ bản của chương trình

khi thực thi trên hệ điều hành

Khi chương trình thực thi sẽ gọi các lời goi hệ thống, do đó chuỗi các lời gọi hệ thống được gọi khi thực thi chương trình là chuỗi hành vi thể hiện đặc trưng của chương trình đó khi hoạt đông Ví dụ dãy như lời gọi hệ

Ngày đăng: 21/05/2025, 19:43

HÌNH ẢNH LIÊN QUAN

Hình  1.1:  Số  lượng  mã  độc  IoT  xuất  hiện  trong  các  năm. - Luận văn phân tích tự Động mã Độc trong các thiết bị nhúng trên nền linux
nh 1.1: Số lượng mã độc IoT xuất hiện trong các năm (Trang 20)
Hình  2.1:  Dé  thi  dòng  điều  khiển  với  các  đỉnh  chứa  opeode - Luận văn phân tích tự Động mã Độc trong các thiết bị nhúng trên nền linux
nh 2.1: Dé thi dòng điều khiển với các đỉnh chứa opeode (Trang 39)
Hình  2.4:  Quy  trình  xây  dựng  mô  hình  học  máy - Luận văn phân tích tự Động mã Độc trong các thiết bị nhúng trên nền linux
nh 2.4: Quy trình xây dựng mô hình học máy (Trang 46)
Hình  2.5:  Siêu  phẳng  phân  tách  tối  ưu - Luận văn phân tích tự Động mã Độc trong các thiết bị nhúng trên nền linux
nh 2.5: Siêu phẳng phân tách tối ưu (Trang 48)
Hỡnh  2.6:  Kiến  trỳc  cơ  bản  của  hệ  nhỳng  [6ù] - Luận văn phân tích tự Động mã Độc trong các thiết bị nhúng trên nền linux
nh 2.6: Kiến trỳc cơ bản của hệ nhỳng [6ù] (Trang 54)
Hỡnh  2.7:  Sự  giao  thoa  của  thiết  bị  nhỳng,  thiết  bị  IứT  và  mỏy  vi - Luận văn phân tích tự Động mã Độc trong các thiết bị nhúng trên nền linux
nh 2.7: Sự giao thoa của thiết bị nhỳng, thiết bị IứT và mỏy vi (Trang 56)
Hình  sửa  nhỏ  trong  phần  đầu  (header)  của  tập  tin. - Luận văn phân tích tự Động mã Độc trong các thiết bị nhúng trên nền linux
nh sửa nhỏ trong phần đầu (header) của tập tin (Trang 67)
Hình  3.4:  Tạo  các  F-Sandbor  với  nhiều  môi  trường  khác  nhau - Luận văn phân tích tự Động mã Độc trong các thiết bị nhúng trên nền linux
nh 3.4: Tạo các F-Sandbor với nhiều môi trường khác nhau (Trang 86)
Hình  3.9:  Các  loại  mã  độc  trong  tap  F-loT  theo  Kaspersky - Luận văn phân tích tự Động mã Độc trong các thiết bị nhúng trên nền linux
nh 3.9: Các loại mã độc trong tap F-loT theo Kaspersky (Trang 93)
Hình  3.10:  Các  loại  mã  độc  trong  tap  F-IoT  theo  Symantec - Luận văn phân tích tự Động mã Độc trong các thiết bị nhúng trên nền linux
nh 3.10: Các loại mã độc trong tap F-IoT theo Symantec (Trang 94)
Hình  3.11:  Tỉ  lệ  các  syscall  được  gọi - Luận văn phân tích tự Động mã Độc trong các thiết bị nhúng trên nền linux
nh 3.11: Tỉ lệ các syscall được gọi (Trang 95)
Hình  4.10:  So  sánh  độ  chính  xác  giữa  phương  pháp  của  Ding  và - Luận văn phân tích tự Động mã Độc trong các thiết bị nhúng trên nền linux
nh 4.10: So sánh độ chính xác giữa phương pháp của Ding và (Trang 134)
Hình  4.14  cho  thấy  kết  quả  thử  nghiêm  đánh  giá  phương  pháp  CED.  Mô - Luận văn phân tích tự Động mã Độc trong các thiết bị nhúng trên nền linux
nh 4.14 cho thấy kết quả thử nghiêm đánh giá phương pháp CED. Mô (Trang 136)
Hình  4.15:  So  sánh  độ  chính  xác  của  CFD  giữa  2-gram  và  3-gram. - Luận văn phân tích tự Động mã Độc trong các thiết bị nhúng trên nền linux
nh 4.15: So sánh độ chính xác của CFD giữa 2-gram và 3-gram (Trang 137)
Hình  4.16:  Dộ  chính  xác  theo  phương  pháp  của  Ding  giữa  2-gram - Luận văn phân tích tự Động mã Độc trong các thiết bị nhúng trên nền linux
nh 4.16: Dộ chính xác theo phương pháp của Ding giữa 2-gram (Trang 137)

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w