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

Luận văn xây dựng hệ thống nhận dạng malware sử dụng matching learning

53 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 đề Xây dựng hệ thống nhận dạng malware sử dụng matching learning
Tác giả Trần Vinh Huy
Người hướng dẫn TS. Ban Hà Bằng
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Công nghệ thông tin
Thể loại Luận văn
Năm xuất bản 2020
Thành phố Hà Nội
Định dạng
Số trang 53
Dung lượng 1,13 MB

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

Nội dung

I,2020 CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập — Tự do - Hạnh phúc BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ Tĩọ và tên tác giả luận văn: Tran Vinh Tuy Để tài luận văn: Xây đựng hệ

Trang 1

TRƯỜNG DẠI HỌC BÁCH KIIOA IIÀ NỘI

LUẬN VĂN THẠC SĨ

Xây dựng hệ thống nhận dạng mahware sử dụng

matching learning

TRAN VINH HUY

Ngành Công nghệ thông tin

Giảng viên hướng dẫn: 'TS Ban Hà Hằng

Viện: Công nghệ thông tin và Truyền thông

HÀ NỌI,2020

Trang 2

TRƯỜNG BAI HOC BACH KHOA HA NOT

LUAN VAN THAC Si

Xây dựng hệ thống nhận dạng malware sử dụng

matching learning

TRAN VINH HUY

Ngành Công nghệ thông tin

Giáng viên hưởng TS Ban Hà Bằng

5

Viện: Công nghệ thông tin và Truyền thông

Trang 3

I,2020

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập — Tự do - Hạnh phúc

BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ

Tĩọ và tên tác giả luận văn: Tran Vinh Tuy

Để tài luận văn: Xây đựng hệ thong nhan dang malware sử dụng matching learning

Chuyên ngành: Công nghệ thông tin

Mã sẽ SV: CAI 901 91

Tác giả, Người hưởng đân khoa học và Hội dồng chấm luận vẫn xác nhận tác giả đã sửa chữa, bổ sung luận văn theo biên bản họp Hội đồng ngày 31/10/2020 với ắc nội dụng sau:

- Chinh sửa lại tên dễ tài và tên chuyên ngành theo dùng quyết dịnh bảo

ần chữnh lại số chương cho phù hợp (hiện tại dang để 05 chương)

- Sửa lại nội dung trình bảy tại trang, 27

- Thêm chủ thích các công thức toán tại trang 33 và trang 3⁄4

- Sửa lại cách trích dẫn tải liêu, loai bở các trích dẫn không cân thiết

Ngấp - tháng - năm 2020

Giáo viên hướng dẫn 'Tác píả luận văn

CHỦ TỊCH HỘI ĐỒNG

Trang 4

LOI CAM DOAN

Téi xin cam đoan ring luận văn thạc sĩ kỹ thuật “Xây dựng hệ thống

phat hiện malware dua trên matching learning” là công trinh tìm hiểu của

riêng tôi, không sao chép lại của người khác Trong toàn bê nội dung của

luận văn, những điều đã được trình bảy hoặc là của chỉnh cá nhân tôi hoặc

là được tổng hợp từ nhiều nguồn tài liệu Tất cả cdc ngudn tài liệu tham

khảo dều được trích dẫn dầy di và có xuất xứ rõ ràng, hợp pháp

'Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo

quy dinh cho lời cam doan này

Hà Nội, ngày tháng 10 năm 2020

Tác giá

Trần Vinh Tuy

Trang 5

LỜI CẢM ƠN

Trước tiên tôi xia đảnh lời cắm ơn chân thành va sâu sắc đến thầy

giáo, T§ Ban Hà Bằng — người đã hướng dẫn, khuyến khích, chỉ bản và

hỗ trợ cho tôi những điều kiện tốt nhất kể từ khi bắt đầu cho tới lúc hoan thành đề tải của mình

Đẳng thời, tôi cũng xin danh lời cảm ơn chân thành tới các thầy cô

giáo tại Viện Công nghệ thông tin và Truyền thông, đại học Bách khoa IIả

Tội đã tân tỉnh dào tạo, cung cắp cho tôi những kiến thức vé cùng quý giá

trong suốt quá trình học tập và nghiên cứu tại trường,

Cuối cùng, tôi xin cảm ơn tất cả những người thân yêu trong gia đỉnh

tôi cùng toàn thể bạn bẻ, dồng nghiệp, và những người đã luôn giúp dỡ, động viên tôi những khi gặp phải những khó khăn, bế tắc

đà Nội, ngdy tháng — năm

2020

Tác giả luận văn

Trân Lĩnh uy

Trang 6

MỤC LỤC

DANII MỤC HÌNH ẨNH

BANG CIIU CAI VIET TAT

2.2.1, Hitagram oƒ Oriemed Gradient (IIOQ)

2.2.2, Local Binary Pattern (LBP) - 20 2.3.3 HỌG kết hợp LTP cuc V21

Trang 7

243 Giảm chiều dữ liệu si ecee

2.3.1 Principal Component Analysis PCH)

CHƯƠNG 3: THỰC NGIIỆM VA DANII GIA KIT QUÁ

3.1 Dữ liệu huấn luyện

3.2 Môi rường kiểm thử

3.3 Thực nghiệm va kết quả

3.4 Đánh giả ưu«& nhược điểm

3.5 So sánh với nghiên cứu cùng loại

Trang 8

DANH MỤC HÌNH ẢNI

Tình 1.1: Số lượng malware được phát hiện mới tính tới năm 2017

linh 1.2: Tổng hợp các loại đặc trưng - sec

Hinh 2.L: Các bước trực quan hĩa tệp tin sang dang ảnh xám

Hình 2.2: Ví dụ ảnh xám eta cic mau malware thude các lớp khác nhau

Tlinh 2.3: Ví đụ phương pháp tính giá trị trung bình theo vùng

Hinh 2.4: Vi du tinh toan histogram etia mét cell (HOG)

Hình 2.5: Ví dụ tỉnh tốn giá trị với cửa số 3x3 (LBP)

Hình 3.6: Vị đụ tỉnh tốn giá trị histogram của ánh theo 1.BP Hinh 2.7: Minh họa các bước thực hiện PCA

Hình 2.8: Mơ hình để xuất cho bài tốn nhận dang mnaÏware - Linh 3.9: Mơ phĩng việc phân lớp trong thuật tốn SVM

Tình 210: Ví dụ thuật toản KNN với K 5

Hình 2.11: Hinh vé dé thi ham sigmoid se

Tlinh 3.1: Ví đụ hình ảnh trước và sau khi chuẩn hĩa cac

Hình 3.2: Biếu đỏ theo phần trăm phương sai

Trang 9

So sánh một số nghiễn cứu về phân loại malware

So sánh một số nghiên cứu vẻ nhận dang malware

Kích thước ảnh tương ứng với kích thước tép tin

Các công thức tính số liệu

Sỏ lượng mẫu malware tương ứng với từng lớp

Kết quả nhận đạng sử dụng thuật toán SVMI

Kết quả nhận dạng sử dụng thuật toán KNN

Kết quả nhận dạng sử dụng Logistic Repression

Kết quả so sánh

Trang 10

BANG Clit CAI VIET TAT

Char viet tat 'Tên đây đủ

HOG Histogram of Oriented Gradients

PCA Principle Components Analysis

KNN K-Nearest Neighbor CNN Convolutional Neural Network

ANN Artificial Neural Network

TNR ‘Lrue Negative rate

Trang 11

MỞ ĐẦU

Củùng với sự phát triển nhanh chỏng của Internet, malware (hay còn

gọi là mã độc) dang ngày càng trở thành mộit mỗi de dọa chính đổi với các

hệ thống máy tỉnh vả máy tính cá nhân Thống kê năm 2019 của BKAV cho thấy số lượng máy tính tại Việt Nam bị nhiễm mã độc gây mắt đữ liệu

là 1,8 triệu lượt, gây ra thiệt hại khoáng 20.822 tí đồng, vượt xa so với năm

2018 Vì vậy, phân tích và phát hiện mã độc đóng vai trò quan trọng trong

việc duy trì sự sẵn sảng và phản tmg khi cần thiết của các công ty, doan

thể, tố chức đồng thời cũng đóng góp vào sự phát triển của ngành công

nghệ thông tin nói riêng, và toàn bộ nên kinh tế nói chung,

Hầu hết các hệ thống antivirus hiển tại déu hoạt động trên cơ chế xác

thực dựa vào chữ ký (signature-based), trong đó mã độc sẽ được phát hiện

đựa vào một đặc trưng duy nhất Ưu điểm của phương pháp này là có thể

nhận điện nhanh chóng và chính xác đối với những mẫu malware đã được

biết đến, tuy nhiên nhược điểm chỉnh lả hệ thông không có khả năng phát

hiện ra các mẫu mới chưa được biết đến Với phương pháp nảy, việc duy trì

cập nhật liên tục cơ sở đữ liệu chữ ký là cần thiết, nhất là khi một lượng lớn

m4u malware moi được phát hiện gần như hàng ngày Vì vậy, phương pháp

phát hiện dựa trên chữ ký không phù hợp hoặc hoạt động không hiệu quá

khi đùng để phát hiện ra các môi nguy hại

Trong một môi trưởng mã số lượng mã độc ngày cảng Uing va ngày

cảng biến đổi, hướng tiếp cân khác được cho là phủ hợp hơn chính là sử

đụng các phương pháp học máy Với phương pháp nảy, việc xây dựng một

mô hỉnh học máy sao cho hiệu quả và mang lại dộ chính xác cao luôn là

van để được quan tâm nhất Trong số đó, yêu tổ được cho là quan trọng và

có ảnh hướng nhiều nhất đến độ chính xác của mô hình cá lẽ là lựa chọn ra đặc trưng phủ hợp Những năm gân dây, đã có nhiều phương pháp sử dụng

các mô hình học máy, học sâu được phát triển và cho kết quả rất khá quan

Trang 12

Trong đề án nảy, tôi số áp dụng kỹ thuật học máy kết hợp với oáo phương

pháp trích chon đặc trưng để giải quyết bài toán nhan dang malware

Nội dung tiếp theo của luận văn nảy được chia thành ba phần như sau

ˆ Chương 1: Tổng quan về malwaro Nội dung chương nay sẽ bao gồm

về giới thiệu về mã độc, các loại mã độc phố biến cũng như các kỹ

thuật phân tịch mã độc Thêm vào đỏ, một số công trình nghiên

cửu/bài báo về lĩnh vực phân loại và nhận dạng malware, cùng với

phương pháp và kết quả mà các tác giá đã đạt được cũng sẽ được

trình bảy trong chương này

*ˆ Chương 2: Phương pháp tiếp cần Chương nảy sẽ giới thiệu từng bước trong bài toán nhận dạng: trích chọn đặc trưng, giảm chiều dữ liệu, thuật toán phân loại, kẻm theo là mô hình hệ thống và cách thức

và tiền hành so sánh kết quả giữa các phương pháp

' Chương 4: Kết luận, tổng kết và trình bảy hướng phat triển của dé

ai

Trang 13

CHUONG 1: TONG QUAN VE MALWARE

1.1 Giới thiệu về malware

Malware (mã độc) là từ viết tắt của malicious software (phần mềm

độc hai) Malware là một loại chương trinh đặc biệt được viết nhằm thực

hiên các hành vi độc hại như truy cập trái phép vào thiết bị, cài cắm key

logger, backdoor hoặc ăn cắp các thông tin có giá trị Malware có thể

được thể hiện dưới nhiều hình thức như một đoạn script, một file thực thi,

hoặc bất kỳ một chương trình phần mềm nào khác Malware được phân ra

làm nhiều loại khác nhau: Worms, Viruses, Trojans, Ransomwares,

Adwares, Spywares, Bots, va nhiéu loai khac Hau hết mọi cuộc tấn công mà chúng ta đã biết, như cuộc tấn công sử dụng mã độc Mirai hay WannaCry đều có liên quan đến một trong số nhiều loại malware

Malware thường được tạo ra bởi các nhóm hacker, và hay được sử

dụng bằng cách phát tán thông qua Internet, hoặc các thiết bị có kết nối với

nhau nhằm mục đích tống tiền, hoặc bán thông tin thu thập được trên các Dark Web Tuy nhiên chúng cũng có thể được dủng như một công cụ dé kiểm tra, phát hiên các lỗ héng bảo mật trong các chương trình phần mềm, hoặc như một loại vũ khí phá hoại của chính phủ các quốc gia nhằm phục

Trang 14

1⁄2 Phân loại malware

Phần này sẽ trình bảy khái niệm về các loại malware phd biến nhất

hiện nay Những loại nảy chắc chắn không bao gồm loàn bộ những mẫu

malware hiện có, vi trên thực tế các mẫu malware được phát hiện mới gần

như hàng ngày, tuy nhiên chúng có thể sử dụng chung một loại kỹ thuật

khai thắc

121 Worm

Worm (sâu máy tính) là một loại malware có thể lây lan thông qua

mạng máy tính bằng cách tự nhân bản chính nó mà không cần cấy vào tập

tin lưu trữ Chúng không làm thay đổi người dùng hay các file hệ thống mà

nim trong bộ nhớ chính và liên tục tự sao chép và lan rông Với các hoạt

đông trên, chủng tiên tới việc sử dụng tất cả tài nguyên của hệ thống và

khiến cho hệ thống không thé phản hồi lại các yêu cầu Mặc đủ không gây

hại trực tiếp, nhưng chúng thường được sử dụng đề tiêm nhiễm payload

như backdoer, virus, trojan, vv Những cuộc tấn công sử dụng worm nối

tiếng cần kể đến như cuộc tấn công sứ dung Morris worm, Loveloticr

worm, hay Code Red

12.2 Virus

Virus 1a mat lrong những loai malware phé bién nhất, dược Ấn gidu

trong các chương trinh phần mềm thông qua việc chỉnh sửa và đính kèm

trong mã nguồn Virus không thể tự khởi động, chúng sẽ được kích hoạt khi tập tin chửa nó được thực thi và tiến hành các hoạt đông phá hoại sau

dé Virus cũng có thể tự lây lan chính nó bằng cách nhiễm vào các file

trong hệ thẳng hoặc lây lan sang các hệ thống máy tính khác thông qua các

file được chia sẽ trong mạng, Trong quá trình phá hoại, virus có thể thực

hiện các hành vi như mã hóa file, sao chép nội dung, xóa file XIệt vai

loại Virus nỗi tiếng nhất phải kế đến là Creeper virus và Melissa virus

1.23 Trojan

Trang 15

Trojzn là một loại mahvaro không cấy vào một lệp tin hay tự tái tạo

như virus, chúng dụ dỗ người dùng cải đặt thông qua việc giả danh thành một phần mềm hợp lệ Chúng thường được ẩn nau va phát tán thông qua

cmail, các popup quảng cáo, hay các dường dẫn spzm K:hì thực thị, chúng

thực hiện các hành vi độc hại như thu thập thông tin hệ thống, xóa file, tự

động tải các malware khác, hoặc biển máy tính bị nhiễm thành một phần

của botnet Một vải mẫu Trojan nỗi tiếng cần kể đến là Zeus hay Dark

comet

12.4 Ransomware

Ransomware (mã độc tống tiền) là một loại malware có khả nẵng xâm

nhập vào máy tính và thao túng đữ liệu của nạn nhân nhằm phục vụ mục

dich téng tiền Chúng có thể mã hỏa các file, hoặc ngăn chặn không cho

người dùng truy cập đến các file của họ “thông qua đó, kê tân công sẽ buộc

người dùng phải trả tiền để lấy lại dữ liệu Các cuộc tấn công Ransomware

thường được bắt đầu bằng cách sử dụng một 'Irojan, nhằm đánh lừa người

dùng để tiêm nhiễm Ransonrware thông qua các chương trình hợp lệ Các

cuộp lấn công Ransomwaro nổi tiếng: TorenlLockor, WannaCry, hay

Petya

125 Adware

Adware là một loại malware được thiết lễ hiển thị cho người dùng

đưới dạng một quảng cáo trong quá trình chờ download phần mêm nảo đó

_Adware oó thể không gầy hại trực tiếp, nhưng có thể tạo ra các lỗ hỗng để

khai thác cho những hacker

1.2.6 Spyware

Spyware (phần mềm gián diệp), như tên gọi, chúng dược cai dat dé

làm gián điệp trong máy tỉnh của người dùng Chúng lả các chương trình

độc hại được sử dụng nhằm đánh cắp thông tin cá nhân và gửi về cho kể tấn công mã người đúng không nhận biết dược Các thông tin thu thập được

bao gôm hành vi người dùng, mật khẩu, tải khoản ngan hang Spyware

Trang 16

được cải đặt một cách bí mật thông qua sáo phần mềm mả người dủng có

thể tải về từ Internet

12.7 Bot

Bol la mét loai chương trình phần mềm cho phép kẻ tấn công có thể

kết nối từ xa đến các thiết bị chủ Một tập hợp nhiêu các Bot được kiếm soát bởi một server được gọi là Botnet Miệt Botnet có thể được dùng để

khởi động một cuộc tấn công TDI2os, một chiến dịch spam

1.2.8 Rootkit

Tả một loại malwarc có thé chit động tảng hình chính nó hoặc các

chương trình độc hại khác khỏi người dùng Việc phát hiện Rootkit là rất

khó vi chúng thông thường chạy dưới quyền cao nhất, nên có thể dé dang

vượt qua các lop hệ thẳng và các chương trình chống xâm nhập

1.2% Backdoor

Tiackdoor (cửa hậu) là một loại mã độc cung cấp khả năng truy cập từ

xa vào mấy nạn nhân mả không cần xác thực cho những kẻ tấn công

Ching có thế được sử dụng với mục đích tốt hay xấu Một số chương trình

Backdoor phê biến lá RAT, Remote Access Terminal

1.3 Các phương pháp phan tich malware

Phin tich malware là qué trinh mé xé mét tép nhị phân nhằm hiểu

cách chứng hoạt đồng và đưa ra phương pháp nhằm xac dinh va phân loại

chúng Phân tích malware nhằm mục đích xác định chức năng và hoạt động

được thực thi bên trong một phần mềm độc hại, sau đó phát triển các phương pháp nhằm vỗ hiệu hóa chúng và tranh việc có thể bị lây nhiễm

trong tương lai

Việc phân tích malware có thể dược ứng đụng cho cã hai bái toán là phân loại và nhận dạng malware Nhận dạng malware là quá trình xác định

một file thực thi liệu có chứa mã dộc hay không Trong khi đó, phân loại

malware là quá trình phân loại nhằm gần nhãn cho mỗi file theo từng lớp

khi ta đã biết được chúng có chứa mã độc Phân tích maÌware có thể được

tiền hành theo hai cách là phân tích tĩnh vả phân tích động, Phân tích tĩnh là

6

Trang 17

kỹ thuật phân tích má không cần phải thực thi tên tỉn mẫu, trong khi phân

tích động cân phải khởi chạy tệp tin nhằm tim hiểu về hành vi của chúng

1.3.1 Phân tích thù:

Phân tích tĩnh là phương pháp phân tích phần mềm má không cần khới

chạy chúng Phương pháp này có thể xác nhận được tệp tin liệu có độc hại hay không, cung cấp thông tin về các chức năng và có thể dùng để tạo ra

một bộ chữ kỷ đơn giản Các phương pháp tiếp cận phỏ biến bao gồm:

«Phuong phap phổ biến nhất là phân tích sử dụng ham bam, trong dé mỗi chương trình sẽ cung cấp một chuỗi băm riêng biệt, các dấu vân tay

dùng để định danh IIai hàm băm phổ biến nhất hiện nay 14 Message-Digest

Algorithm 5 (MIDS) va Secure Hash Algorithm 1 (SHA-1)

«Tim kiểm trong các chuỗi kí tự của chương trình Đây lả phương pháp đơn giản nhất nhằm thu thập các dẫu hiệu về chức năng của chúng, Các chuỗi được thu thập có thể bao gồm thông tin về đường dẫn của tệp tin được truy cập hoặc sữa đổi khi thực thị, các địa chỉ mà chương trình truy

cap, tên miễn, địa chi LP, tên của các thư viện Windows (dll) được tải

*Phan tich PE header PE header chứa nhiều thông tin cân thiết liên

quan đến quá trình load file lên bộ nhớ, về metadata của chính file đỏ Một

cách để thu được những thông tim đó lả sứ dụng công cu PEView

«Tìm kiểm các đoạn mã được đóng gói hoặc mã hóa Malware thường

dược dóng gói hoặc mã hóa có chủ dich nhằm gây khó khăn cho việc phân

tích Chương trình phan mềm khi được đóng gói hay mã hóa thường bao

om it chudi ki ur hon va entropy cao hơn so với các chương trình khác

«Dịch ngược chương trỉnh về ngén ngit assembly Qua trình dich

ngược nảy giúp cho việc khám phá ra những gì chương trình thực sự lảm

Các công cụ hỗ trợ tốt cho việc này bao gốm IDA Pro, Radare, hay Ghidra

1.382 Phân tích động

Phân tích động lả quá trình thực thi tệp tin nhằm giám sát hành vi của

chúng lên hệ thống Phân tích động thường được sử dụng khi quá trinh phân tích ứnh đi vào ngõ cụt, chương trình được nguy trang, hoặc sự can

7

Trang 18

kiệt cáo kỹ thuật phân tích tĩnh khả thi Tuy nhiên, quá trình phân tích cần

dược thực hiện trên một môi trường an toan nhằm tránh các mỗt nguy hại

không cần thiết lên hệ thống Vi vay, can phải khởi tạo một cỗ máy vật lý

hoặp máy ão riêng khi tiến hành phân tích

Tôi với cd máy vật lý, cần đảm bảo nó phải được hoàn toàn cách ly vả ngắt kết nếi ra khỏi Internet hay mắt kỳ mạng nội bộ nảo khác Nhược

diểm chính của phương an này nằm ở trưởng hợp khi chương trình déc hai

phụ thuộc vào Internet để cập nhật, thực thị, hay kiểm soát các chức năng,

Phương án thứ hai là sử dụng máy ảo để tiến hành phân tích Máy ảo

giả lập và mô phông một hệ thống ráy tính với đầy đủ chức năng thực tế

của một một máy vật lý, tuy nhiên né lại độc lập hoàn toàn với máy chủ

lo dó việc thực thì mã độc trên máy ảo sẽ không gây hại dối với máy chủ

Các giải pháp quản lý máy ảo phố biến hiện nay là VMIWare Workstation

va Orcacle VM VirtualBox Ngoài ra còn có các phần mềm tích hợp sử

dung công nghệ sandbox có thể được sử dụng đề phân tích động, trong đó

phổ biến nhất hiện nay là Cuckoo Sandbox

1.3.3 Phân tích kết hợp

Dây là phương pháp kết hợp giữa phân tích tĩnh vá phân tích động, sử: đựng củng lúc các loại đặc trưng khác nhau để đưa ra mô hình máy lọc

Thương pháp lẫn dầu dược gidi thigu béi Igor Santos [18] Y tưởng chỉnh

là mỗi một loại phương pháp phân tích đều có những ưu điểm và nhược

điểm riêng, vị vậy việc sử dụng kết hợp sẽ đem lại hiệu quả tốt hơn so với

việc sử dụng riêng lẻ từng loại phương pháp trong nhiễu bài toán khác

nhau

1.4, Các loại đặc trưng

1.4.1 Đặc trưng tĩnh

1.4.1.1 Chuỗi kỳ tự (String)

Chuỗi ki tự là bao gỗm mọi chuỗi có thể ín ra được tử bên trong một

file thre thi ‘lim kiém trong chuỗi là phương pháp đơn giản nhất mả có thể

tìm thấy dầu hiệu về tính năng của chương trình Có một số thông tin có thể

a

Trang 19

tìm thấy từ chuỗi như đường dẫn mả chương trình gợi tới, địa chí các file

được kết nỗi / chỉnh sửa bởi chương trình Chuỗi ở đây sẽ bao gồm dưới

đạng ASCH hoặc Unicode

1.41.2.A6 hình mgrams dựa vào chuỗi bytes hodic opcodes (bytes

and opcode N-grams)

Đây là đặc trưng dược sử dụng nhiều nhất trong các bài toán phân loại

vá nhận dạng malware Mô hình n-grams lả một mồ hình vốn được sử dụng

nhiễu trong lĩnh vực xử lý ngôn ngữ tự nhiên, tuy nhiên cũng có thể áp

dung với các bài toán về malware Một n-gpram là một chuỗi liên tục n phần

tử của một chuỗi đữ liệu cho trước N-grams có thể được trích xuất từ chuỗi

bytes nội dung của file, hoặc từ chuỗi opeodes lả kết quả thu được sau quá

trình dịch ngược

1.4.1.3 Lời gọi hàm hệ thing (API function calls)

Application Programming Interfaces (API) va cdc lời gọi đến ham

được cho rằng có thé str dung để định hình được hành vi của chương trình

phần mềm Các lời gọi hàm và lời gọi hệ thống có mốt liên hệ đến các địch

vụ dược cung cấp bởi hệ điều hành như mạng, an toàn bảo mật, quản lý

file Bởi cách duy nhất để có thể kết nối đến các dịch vụ kể trên lá thông

qua các lời gọi hàm, việc phân tích các hàm ADT được gọi cung cắp những

thông tin quan trọng về các hành vi của mã độc

1.4.1.4 Entropy

Nhằm gây khó khăn cho việc phân tích, malware còn được trang bi

những kỹ thuật ngụy trang nhằm che giấu đi mục đích thực sự của chương

trình Hai phương pháp ngụy trang phổ biển nhất lả đóng gỗi và mã hóa

file Vì vậy, việc phát hiện ra thành phần nảo đó được đã đóng gói hoặc mã

hóa trong file thực thi cũng rất được quan tâm Đề giải quyết vẫn dé nay,

phân tích entropy dược sử dụng vì một chương trình có chứa các doan ma

bị mã hóa hay đóng gói thường có entropy cao hơn bình thường Theo lý

thuyết, entropy của chuỗi byte phản ánh sự đao động trong thống kê Điểu

9

Trang 20

đó có nghĩa là với ontropy — Ú, tạ số có các thành phần tương Lự được lặp đã

lặp lại trong suốt chương trình, còn mức entropy cao lại biểu thị việc các

thành phần là hoàn toàn riêng biệt

1.4.1.5 Biểu diễn dưới dạng ảnh (image-based)

Dây là phương pháp trực quan hóa một mẫu tệp tin đưới dạng ảnh

(ảnh xám, ảnh màu), sau đó sẽ sử dụng các kỹ thuật phân loại ảnh để tiễn

hành nhân dạng hay phân loại malware Kỹ thuật nảy hiệu quả bởi vì các

mnấu malware cùng một lớp sẽ có các cấu trúc ảnh tương đồng nhau Tuy

nhiên, piếng như đa số các đặc trưng tĩnh khác, phương pháp này không

hiệu quả đổi với các chương trình độc hại sử dụng kỹ thuật nguy trang

(obfuscation techniques), béi vi viéc ma héa hay đóng gói một đoạn code

sẽ làm thay đổi cầu trúc byte của chương trình, do đó sẽ gây ra lỗi cho việc

nhận dạng

1.4.1.6 Biêu đồ lời goi ham (Function call graphs)

Biếu đã lời gợi hàm (FG) là một loại dỗ thị có hướng bao gdm cdc

đỉnh biểu thị các chức năng mà chương trình phần mềm bao gồm, và các

cạnh lượng trưng cho uáo lời gọi hàm MỖ¡ một đỉnh số biểu thị một trong

hai loại hắm chức năng: các hảm địa phương được tích hợp trực tiếp trong chương trình, và các hàm được cung cấp từ bên ngoài như các dịch vụ của

hệ diều hành hay các thư viện bên thử ba Một đặc diễm của biểu dé nay 1a

chỉ có các hàm địa phương gọi được tới các hàm được cung cấp từ bên

ngoài vá không có chiều ngược lại

1.4.1.7 Biểu dé ludng thyc thi (Control Flow Graph)

Biểu đề luồng thực thi (CFG) là một loại đồ thị có hưởng được bao

nh thể đường đi của luỗng Một khối cơ bản là một chuỗi tuyển tính các điểm thực thi của kiến

gồm cáo node thể hiện các khối cơ bản, và c

trúc chương trình, trong đó có điểm đầu (lệnh đấu tiên được thực hiện) và

điểm cuối (lệnh cuối cùng dược thực hiện) EG biểu thị tất cả các dường

mà chương trình có thể đi qua trong suốt quá trình thực thị

1.42 Đặc tưng động

10

Trang 21

1.4.2.1 Dữ liệu trong bộ nhớ

Các hành vi của chương trình phần mềm có thế được theo dõi thông,

qua giá trị của nội dung bộ nhớ trong thời gian chạy (runtime) Nói cách

khác, giá trị dược lưu trữ trên các thanh ghi khác nhau của bộ nhứ trong khi

chương trình đang chạy có thể được sử dụng để phân loại mẫu file lành tính

vả mẫu có chứa mã độc

1.4.2.2 Luu vét lénh (instruction traces}

Một lưu vết lệnh động là một chuỗi các lệnh xử lý được gọi trong quá

trình thực thi của chương trinh Phân tích lưu vết động là một phương pháp hiệu quả cho việc xác định hành vi của chương trình, ngay cả khi mã nguồn

đã được đóng gói hoặc mã hóa để ngụy trang khỏi các phương pháp phân

tích tĩnh

14.2.3, Luu lweng mang (network traffic)

Phat hiện lưu lượng độc bại trên mạng có thể cưng cấp những hiểu

biết cụ thể về hành vi của chương trình độc hại Trước khi malware cd thé

nhiễm vào thiết bị, nó có thế phải thiết lập liên lạc với máy chủ bên ngoài

để thu thập các lệnh thực thi trên máy nạn nhận, hoặc tấi về những bản gập

nhật, phân mềm độc hại, hoặc tìm ra những thông tin nhạy cảm Vì vậy,

việc giảm sát lưu lượng vào, ra, và trong mạng cung cấp những thông tin

hữu ích trong việc phát hiện các hành vi gây hai Có nhiều phương pháp

tiếp cận như trích xuất các gói tỉn đạng thô, cổng, số lượng gói tin, các yêu

cầu Hup và DNS

1.4.2.4 Lam vét léi goi hé théng (API call traces)

Cae chutong trinh phan mém str dung Windows APT dé két ndi đến các

tài nguyên cần thiết của hệ thống như file hệ thống, thiết bị, tiền trình, quân

lý lỗi, hay kết nổi đến các hâm chức năng như Windows registry, khối tạo / bật / tắt một dịch vụ Windows, quần lý tài khoản .l2o đó, việc lần theo vết

của các lời goi đến API được sử dụng để bắt được các hành vi độc hại

11

Trang 22

1.5 Các nghiên cứu liên quan

Trong phần này, tôi sẽ trình bày ngắn gọn về các công trình nghiên

cứu, tài liệu có liên quan đến lĩnh vực phân tích malware, cụ thể là hai

nhánh chính bao gồm nhận dạng malware và phân loại malware Noi dung

sẽ bao gồm tên trích dẫn, tác giả, phương pháp tiếp cân, bộ dữ liệu sử dụng,

đặc trưng trích xuất và kết quả thử nghiệm của công trình

1.5.1 Phân loại malware

[1], L.Nataraj, S.Karthikeyan, G Jacob va B S Manjunath thé hién

bộ dữ liệu bao gồm 9845 mẫu malware dưới đạng ảnh đa mức xám Đầu

tiên, họ phân tích malware thành dạng nhị phân và đọc chúng dưới dạng

vector chứa các số nguyên 8 bit Vector được thể hiện dưới dạng ma trận 2

chiều, trong đó thành phần là các số nguyên từ 0 tới 255, sau đó thể hiện

vector đó đưới dạng ảnh xám GIST và KNN được sử dụng để trích trọn

đặc trưng và phân loại malware, đạt tỉ lệ 97.18% cho bài toán phân loại với

25 lớp malware

[2], Aziz Makandar va Anita Patrot tiến hành phân loại dựa trên bộ dữ

liệu bao gồm 3131 mẫu ảnh malware được chia làm 24 lớp, phương pháp

trích chọn đặc trưng được sử dụng là Discrete Wavelet Transformation

12

Trang 23

(DWT) Mô hình đề xuất của họ bao gồm 3 giai đoạn: tiền xử lý, trích chọn

đặc trưng và phân loại Trong quá trình tiền xử lý, ảnh xám sẽ được chuẩn

hoa dudi dang 256x256, sau đó sẽ được đưa vào DWT để trích ra đặc

trưng Ở bước cuối cùng, thuật toản SVM sẽ dược ứng dụng để phân loại,

với tỉ lệ chỉnh xác đạt 92,52%

T3}, Seonhee Soek và IIowon Kim đã xây dựng một mạng CNN với 3

lớp dùng dé phân loại malware C6 hai bộ đỡ liệu dược sử dụng trong

nghiền cửu nảy: một là bộ đữ liệu Microsoft malware bao gồm 21741 mẫu

được chia làm 9 lớp, bệ đữ liệu thứ hai là VX4Ileaven bao gồm 27 lúp

malware khác nhan Iỉ lệ chính xác của hai bộ dữ liệu trên khi ấp dụng,

CNN lần lượt là 96.2% và 82.9%

[16], Aziz Makandar và Anita Patrot dã đề xuất phương pháp phân

loại mã độc dựa trên xứ lý ảnh Dễ xây dựng được bô véc tơ đặc trưng hiệu

quả, họ sử dụng các phương pháp trich chon 18 loc Gabor, GIST, và biến

déi wavelet réi rac (Discrete Wavelet ‘Iransform) Vigc stt dung bién ddi

wavelet sẽ làm giảm chiều cho véc tơ đặc trung đồng thời làm giảm độ

phức lạp trong tỉnh toán Mô hình trên được thực nghiệm trôn một bộ dữ

liệu bao gôm 12470 mẫu Họ đã tiến hành chọn ngấu nhiên 1610 mẫu cho training vả 1710 mẫu cho testing, kết quả thu được với tỉ lệ chính xác đạt 98.88% và 98.84% khi áp dụng với các thuật toán Lương ứng là SVMI và KNN

[17], B N Narayanan, O Djancye-Boundjou va T M Kebede di tiển hành trực quan hóa các mẫu malware đưới dang hỉnh ánh Các dặc trưng

được trích chọn thông qua Principle Component Analysis (PCA) Théng

qua PCA, cac dic trưng sau đỏ sẽ dược đưa vào các bộ phân loại các nhau như Artificial Neural Network (ANN), KNN, §VM để tiến hành phân loại

ảnh về đúng lớp của nó Tỉ lệ chính xác của mô hình trên lên tới 96.6% khi

áp dụng với KNN trên bộ dữ liệu bao pằm 10868 mẫu

18

Trang 24

[4] K Kancherla và 8 Mukkamala thể hiện các file thực tú dưới dạng

ảnh xám đưởi phương pháp mà họ gọi là byteplot Bộ dữ liệu bao gồm

25000 mẫu malware và 12000 mẫu lành tính Phương pháp trích chọn đặc

trưng được sử dụng 1a intensity, wavelet, và bộ loc Gabor, thuat loan SVM

sau đó dược áp dụng để nhận đạng và đã đạt kết quả chỉnh xác là 95.61%

khi sử dụng hỗn hợp các đặc trưng

|3| 8 Choi, S Jang, ¥ Kim và J Kim sử dụng docp leaming với

mạng CNN bao gầm 3 lớp Bê đữ liệu của họ bao gồm 2000 mẫu malwarc

và 10000 mẫu lảnh tính Các file được thể biện đưới dạng ảnh xám rồi sau

đó được dưa vào mạng CNN mà không qua trích chọn đặc trưng Đô chính

xác của phương pháp đạt 95.66%

[6] S Jain va Y K Meena sử dụng phương pháp tiếp cận là n-gram

chuỗi byte cho bải toán nhận dạng, Bộ dữ liệu dược sử dụng bao pm 1018

mẫu malware được thu thap tir VXHeaven va 1120 miu lanh tinh Phuong

pháp Irích chọn đặc trưng được sử dụng 14 Classwise Document Frequency

"trong bài nghiên cứu, họ tiến hành so sánh các thuật toán và số lượng gram

sử dụng, kết quả là thuật toán Random Forest tmg dung véi n = 3 cho độ

chính xác cao nhất, xấp xi 99%,

[15] X Zhou, J Pang va G Liang str dung phuong phap trực quan hóa

thành các ảnh xám, đặc trưng của ảnh được trích xuất thông qua phương

14

Trang 25

pháp lọc Gabor Bộ dữ ligu bao gom 15781 mẫu, trong đó uỏ 8759 mẫu

malware va 7022 miu lanh tỉnh Họ để xuất mô hinh sit dung Extremely

randomized tree củng với kiểm chimg chéo 10 lin (10-fold cross

validation) Cae thual loan nhận dang kháo cũng được sử dụng đồng thời

bao gồm Gradient Boost Decision Tree, KNN Extremely randomized tree

được áp dụng cho viêc nhận dạng và đem lại độ chính xác là 97.5 1%

Bang 1.2: So sanh mot sé nghiên cứu về nhận dang malware

Trang 26

CHIƯƠNG 2: PHƯƠNG PHÁP TIẾP CẠN

Tại chương này, nội dung chính sẽ bao gồm các bước thực hiện va

mô hình dễ xuất Đầu tiền, tôi sẽ giới thiệu về cách thức trực quan hóa một

tệp tin sang định dạng ảnh Sau đó, các phương pháp trích chọn đặc trưng

khác nhau sẽ được áp dụng, bao gồm Iũstogram cf Oriented Cradienis

(HOG) va Local Rinary Pattern (LBP) Cuối củng, véc tơ đặc trưng thu

được sẽ được đưa vào các thuật toán phân loại để nhằm đối chiều và so

sảnh kết quá, trong phạm vi dé tai tôi đã chọn ba thuật toán là Support Vector Machine (SVM), K Nearest Neighbor (KNIN), va héi quy L.ogistic

(Logistic Regression)

21 Tiền xử lý dữ liệu

Thư đã trinh bày ở chương l, có nhiều loại đặc trưng có thể trích xuất

từ một ñls thực thi, trong đó một trang những cách đơn giản nhưng hiệu

quả là trích xuất chuỗi byte Có nhiều phương pháp có thể biểu điễn chuỗi byte như biểu diễn dưới dang ảnh (ảnh xám, ảnh màu), hoặc biểu diễn dưới

dạng mô hình n-gram Trong phạm vi luận văn nảy, tôi xin lựa chọn

phương pháp biểu diễn dưới dạng ảnh dựa vào chuỗi byte được trích xuất

tử tệp tín, vì phương pháp này mang lại độ chính xác tương đối cao nhưng

khối lượng tính toán không quả lớn, phủ hợp hơn với diều kiện và khá năng

tính toán của bản thân

Tương tự với việc trích xuất đặc trưng, việc biểu diễn một lïlc thực thí đưới đạng ảnh có thể thực hiện được với nhiều hệ màu khác nhau: đa mức

xám (grayscale), RƠB, CKMY, IISL Trong một bài báo năm 2016, [7]

Ajit Kumar, Pramod Sagar K, K 8 Kuppusamy và Aghila Œ đã sơ sánh kết

quả giữa hốn hệ màu trên trong bài toán phân loại malware trên hệ điều hanh Android, kết quả là hệ đa mức xám mang lại kết quả tốt nhất trên cả

ba thuật toán được thử nghiêm là Random Eorest, lÖecision Iree và K-

Nearest Neighbor ‘lwong tu, hé da mute x4m cũng cho két qua tốt hơn so

với hệ màu RGB trong bai toán phân loại malware được thực hiện bởi Thu-

16

Ngày đăng: 09/06/2025, 12:59

HÌNH ẢNH LIÊN QUAN

Hình  2.2:  Ví  dụ  ảnh  xám  eta  cic  mau  malware  thude  các  lớp  khác  nhau. - Luận văn xây dựng hệ thống nhận dạng malware sử dụng matching learning
nh 2.2: Ví dụ ảnh xám eta cic mau malware thude các lớp khác nhau (Trang 8)
Hình  1.1:  Số  lượng  mahvare  được  phát  hiện  mới  tỉnh  tới  năm  2017 - Luận văn xây dựng hệ thống nhận dạng malware sử dụng matching learning
nh 1.1: Số lượng mahvare được phát hiện mới tỉnh tới năm 2017 (Trang 13)
Hình  1.2:  Tổng  hợp  các  loại  đặc  trưng - Luận văn xây dựng hệ thống nhận dạng malware sử dụng matching learning
nh 1.2: Tổng hợp các loại đặc trưng (Trang 22)
Bảng  2.1:  Kích  thước  ảnh  tương  ứng  với  kích  thước  tệp  tin - Luận văn xây dựng hệ thống nhận dạng malware sử dụng matching learning
ng 2.1: Kích thước ảnh tương ứng với kích thước tệp tin (Trang 27)
Hình  2.1:  Các  bước  trực  quan  hóa  tệp  tin  sang  dang  anh  xam - Luận văn xây dựng hệ thống nhận dạng malware sử dụng matching learning
nh 2.1: Các bước trực quan hóa tệp tin sang dang anh xam (Trang 28)
Hình  2.3:  Lí  dụ  phương  pháp  tính  giá  tri  trung  bình  theo  vùng - Luận văn xây dựng hệ thống nhận dạng malware sử dụng matching learning
nh 2.3: Lí dụ phương pháp tính giá tri trung bình theo vùng (Trang 29)
Hình  2.7:  Minh  họa  các  bước  thực  hiện  PCA. - Luận văn xây dựng hệ thống nhận dạng malware sử dụng matching learning
nh 2.7: Minh họa các bước thực hiện PCA (Trang 35)
Hình  2.9:  \Iô  phỏng  việc  phân  lop  trong  thuat  toan  SVM. - Luận văn xây dựng hệ thống nhận dạng malware sử dụng matching learning
nh 2.9: \Iô phỏng việc phân lop trong thuat toan SVM (Trang 38)
Hình  2.10:  ƯÍ  dụ  thuật  toán  KNN  với  K  =  5 - Luận văn xây dựng hệ thống nhận dạng malware sử dụng matching learning
nh 2.10: ƯÍ dụ thuật toán KNN với K = 5 (Trang 39)
Hình  3.1:  Lí  dụ  hình  ảnh  trước  và  sau  khi  chuẩn  hóa - Luận văn xây dựng hệ thống nhận dạng malware sử dụng matching learning
nh 3.1: Lí dụ hình ảnh trước và sau khi chuẩn hóa (Trang 45)
Hình  3.2:  Biểu  đồ  theo  phần  trăm  phương  sai - Luận văn xây dựng hệ thống nhận dạng malware sử dụng matching learning
nh 3.2: Biểu đồ theo phần trăm phương sai (Trang 46)
Bảng  3.2:  Kết  quả  nhận  dạng sử  dụng  thuật  toán  SƯM - Luận văn xây dựng hệ thống nhận dạng malware sử dụng matching learning
ng 3.2: Kết quả nhận dạng sử dụng thuật toán SƯM (Trang 47)
Bảng  3.4:  Kết  quả  nhận  dạng  sử  dụng  Logistie  Regression - Luận văn xây dựng hệ thống nhận dạng malware sử dụng matching learning
ng 3.4: Kết quả nhận dạng sử dụng Logistie Regression (Trang 48)
Hình  đề  xuất  của  bản  thân  sử  dụng  thuật  toán  nhân  dạng  la  SVM - Luận văn xây dựng hệ thống nhận dạng malware sử dụng matching learning
nh đề xuất của bản thân sử dụng thuật toán nhân dạng la SVM (Trang 49)
Bảng  3.5:  Kết  quả  so  sánh - Luận văn xây dựng hệ thống nhận dạng malware sử dụng matching learning
ng 3.5: Kết quả so sánh (Trang 49)

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