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 1TRƯỜ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 2TRƯỜ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 4LOI 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 5LỜ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 6MỤ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 7243 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 8DANH 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 9So 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 12Trong đề á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 13CHUONG 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 141⁄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 15Trojzn 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 17kỹ 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 18kiệ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 19tì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 211.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 221.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 25phá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