1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu meta data của tệp tin

69 31 0

Đ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 đề Nghiên Cứu Phương Pháp Phát Hiện Mã Độc Dựa Trên Dữ Liệu Meta-Data Của Tệp Tin
Tác giả Nguyễn Anh Tuấn
Người hướng dẫn TS. Trần Đức Nghĩa
Trường học Học viện khoa học và công nghệ
Chuyên ngành Máy tính
Thể loại Luận văn thạc sĩ
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 69
Dung lượng 2,69 MB

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

Nội dung

Để xây dựng hệ thống phát hiện mã độc, một cách tiếp cận được đề xuất ở luận văn này là sử dụng kỹ thuật học máy mang tên cây quyết định để phân tích meta-data siêu dữ liệu của tệp tin m

Trang 1

BỘ GIÁO DỤC

VÀ ĐÀO TẠO

VIỆN HÀN LÂM KHOA HỌC VÀ CÔNG NGHỆ VN HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ

Nguyễn Anh Tuấn

NGHIÊN CỨU PHƯƠNG PHÁP PHÁT HIỆN MÃ ĐỘC DỰA TRÊN DỮ LIỆU META-DATA CỦA TỆP TIN

LUẬN VĂN THẠC SĨ NGÀNH MÁY TÍNH

Hà Nội - 2021

Trang 2

BỘ GIÁO DỤC

VÀ ĐÀO TẠO

VIỆN HÀN LÂM KHOA HỌC VÀ CÔNG NGHỆ VN HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ

Nguyễn Anh Tuấn

NGHIÊN CỨU PHƯƠNG PHÁP PHÁT HIỆN MÃ ĐỘC DỰA TRÊN DỮ LIỆU META-DATA CỦA TỆP TIN

Chuyên ngành : Hệ thống thông tin

LUẬN VĂN THẠC SĨ NGÀNH MÁY TÍNH

NGƯỜI HƯỚNG DẪN KHOA HỌC :

Trang 3

LỜI CAM ĐOAN

Tôi là Nguyễn Anh Tuấn, học viên khóa 2019B, ngành máy tính, chuyên ngành

Hệ Thống Thông Tin Tôi xin cam đoan luận văn “Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu meta data của tệp tin” là do tôi nghiên cứu, tìm hiểu và phát triển dưới sự hướng dẫn của TS Trần Đức Nghĩa, không phải sự sao chép từ các tài liệu, công trình nghiên cứu của người khác mà không ghi rõ trong tài liệu tham khảo Tôi xin chịu trách nhiệm về lời cam đoan này

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

Học viên

Nguyễn Anh Tuấn

Trang 4

LỜI CẢM ƠN

Lời cảm ơn trân trọng đầu tiên tôi muốn dành tới các thầy cô Học viện khoa học và công nghệ Việt Nam, Viện công nghệ thông tin, Viện Hàn lâm khoa học và công nghệ Việt Nam đã tận tình giảng dạy và truyền đạt những kiến thức quý báu, tạo môi trường học tập, nghiên cứu khoa học nghiêm túc trong suốt thời gian vừa qua, giúp tôi có những kiến thức chuyên môn nền tảng để làm cơ sở lý luận khoa học cho luận văn này

Đặc biệt tôi xin chân thành cảm ơn thầy TS Trần Đức Nghĩa đã định hướng, dìu dắt và hướng dẫn tôi trong suốt quá trình làm luận văn, sự chỉ bảo của các thầy giúp tôi tự tin nghiên cứu những vấn đề mới và giải quyết bài toán một cách khoa học

Tôi xin trân trọng cảm ơn Ban giám hiệu Học viện khoa học công nghệ Việt Nam - Viện Hàn lâm khoa học và công nghệ Việt Nam đã tạo các điều kiện cho tôi được học tập và làm luận văn một cách thuận lợi

Tôi cũng xin cảm ơn sự hỗ trợ của nhóm nghiên cứu tiềm năng Cảm nhận thông minh và ứng dụng (SSA), Trường đại học Phenikaa

Trong quá trình học tập và thực hiện luận văn, mặc dù thực hiện với tinh thần nghiêm túc, nhưng chắc chắn không tránh khỏi những thiết sót Tôi rất mong được

sự thông cảm và chỉ bảo tận tình của các thầy cô và các bạn

TÁC GIẢ LUẬN VĂN

Nguyễn Anh Tuấn

Trang 5

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

DANH MỤC KÝ HIỆU VÀ VIẾT TẮT v

DANH MỤC HÌNH VẼ vi

DANH MỤC BẢNG vii

MỞ ĐẦU 1

1 Tính cấp thiết của luận văn 1

2 Mục tiêu nghiên cứu của luận văn 1

3 Các nội dung nghiên cứu của luận văn 1

CHƯƠNG 1 TỔNG QUAN VỀ MÃ ĐỘC VÀ PHÂN TÍCH MÃ ĐỘC 3

1.1 Khái niệm mã độc 3

1.2 Mục đích của mã độc 3

1.3 Hiện trạng phát triển của mã độc 4

1.4 Phân loại mã độc 4

1.4.1 Các loại mã độc phổ biến 4

1.4.2 Xác định loại mã độc bằng dịch vụ virustotal 8

1.5 Kỹ thuật phân tích mã độc 8

1.5.1 Phân tích động 8

1.5.2 Phân tích tĩnh 9

1.6 Kết luận chương 1 11

CHƯƠNG 2 PHÁT HIỆN MÃ ĐỘC DỰA TRÊN METADATA CỦA TỆP TIN BẰNG PHƯƠNG PHÁP CÂY QUYẾT ĐỊNH TRONG HỌC MÁY 12

2.1 Khái niệm về meta-data 12

2.1.1 Định nghĩa 12

2.1.2 Cách sử dụng siêu dữ liệu 13

2.1.3 Mô tả dữ liệu 14

2.2 Cấu trúc tệp tin thực thi trên hệ điều hành Windows 16

2.2.1 Cấu trúc cơ bản 16

2.2.2 DOS Header 18

2.2.3 PE Header 19

2.2.4 Data Directory 22

2.2.5 Section Table 23

2.3 Phương pháp phát hiện mã độc dựa trên meta-data của tệp tin bằng kỹ thuật cây quyết định trong học máy 25

2.3.1 Tổng quan về cây quyết định trong học máy 25

2.3.2 Thuật toán Quinlan 31

2.3.3 Thuật toán ID3 31

2.3.4 Thuật toán C4.5 34

Trang 6

2.3.5 Thuật toán RandomForest 36

2.4 Kết luận chương 2 39

CHƯƠNG 3 TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ 40

3.1 Triển khai giải pháp 40

3.1.1 Giới thiệu giải pháp 40

3.1.2 Lựa chọn thuật toán để xây dựng mô hình đánh giá 40

3.1.3 Các bước triển khai cơ sở dữ liệu 42

3.2 Cài đặt thử nghiệm 47

3.2.1 Môi trường cài đặt 47

3.2.2 Thử nghiệm 48

3.3 Đánh giá kết quả 49

3.3.1 Đánh giá kết quả sau thực nghiệm 49

3.4 Kết luận chương 3 54

Chương 4 KẾT LUẬN 55

TÀI LIỆU THAM KHẢO 57

Trang 7

DANH MỤC KÝ HIỆU VÀ VIẾT TẮT

APT Advanced Persistent Threat

API Application Programming Interface

CPL Control Panel

CSDL Cơ Sở Dữ Liệu

CLS Concept Learning System

CPU Central Processing Unit

DNS Domain Name System

DoS Denial of Service

RF Relative Frequency

TEI Text Encoding Initiative

EAD Encoded Archival Description

PE Portable Executable

RDF RandomForest

KDD Knowledge Discovery in Database

Trang 8

DANH MỤC HÌNH VẼ

Hình 1.1 Chức năng Pseudocode-A tạo mã giả C của IDA pro 10

Hình 1.2 Chương trình được phân tích bởi IDA pro 10

Hình 2.1 Cấu trúc tệp tin thực thi PE 17

Hình 2.2 Cấu trúc Image_Dos_Header 18

Hình 2.3 Giá trị của lfanew trên hex dump 19

Hình 2.4 Cấu trúc Image_NT_Header 19

Hình 2.5 Cấu trúc Image_File_Header 20

Hình 2.6 Cấu trúc Image_Optional_Header32 21

Hình 2.7 Cấu trúc dữ liệu được định nghĩa bởi Data Directory 22

Hình 2.8 Cấu trúc Image_Data_Directory 22

Hình 2.9 Cấu trúc Image_Section_Header 23

Hình 2.10 Mô phỏng sự phân tách trong cây quyết định 28

Hình 2.11 Mô phỏng sự phân tách trong cây quyết định 38

Hình 3.1 KDD process 43

Hình 3.2 Bản ghi dữ liệu sau khi trích rút thuộc tính và gán nhãn 46

Hình 3.3 Bảng tương quan giữa các thuộc tính 47

Hình 3.4 Báo cáo thử nghiệm và đánh giá kết quả sử dụng kết hợp các mô hình và thuật toán 49

Hình 3.5 Kết quả đánh giá không biến đổi và giảm chiều dữ liệu 50

Hình 3.6 Kết quả đánh giá biến đổi và giảm chiều dữ liệu 51

Hình 3.7 Kết quả đánh giá biến đổi và lựa chọn thuộc tính dữ liệu 51

Trang 9

DANH MỤC BẢNG

Bảng 3.1 Bảng yêu cầu chức năng 48 Bảng 3.2 Bảng các phần mềm hỗ trợ 48 Bảng 3.3 Bảng tổng hợp kết quả thử nghiệm với thuật toán Random Forest 52

Trang 10

MỞ ĐẦU

1 Tính cấp thiết của luận văn

Dưới sự phát triển nhanh chóng của mã độc cả về độ phức tạp và số lượng, không gian mạng trở nên nóng hơn bao giờ hết Các nhà phân tích và nghiên cứu mã độc không thể áp dụng đơn điệu các kỹ thuật phân tích cơ bản Hiện tại đã có rất nhiều giải pháp tích cực như: sandbox, virustotal, … các giải pháp này mang lại tính hiệu quả rất cao, nhưng thay vào đó là phụ thuộc quá nhiều vào các hãng chống phần mềm độc hại Đối với các mẫu mã độc mới xuất hiện hay các loại mã độc của các cuộc tấn công có chủ đích (APT) thì những giải pháp trên chưa thực sự tốt Và quan trọng hơn là mỗi đơn vị nghiên cứu giải pháp chống mã độc luôn phải tự phát triển giải pháp riêng của mình song song với việc ứng dụng các dịch vụ của bên thứ ba Bên cạnh đó

xu thế tương lai là học máy và trí tuệ nhân tạo có tính ứng dụng rất lớn Để giảm thời gian phân tích mã độc, tăng tính hiệu quả, mã độc cần được phát hiện một cách tự động và nhanh chóng Để xây dựng hệ thống phát hiện mã độc, một cách tiếp cận được đề xuất ở luận văn này là sử dụng kỹ thuật học máy mang tên cây quyết định để phân tích meta-data (siêu dữ liệu) của tệp tin

mã độc, Đây là một hướng tiếp cận mới trong việc phát hiện mã độc vì trước đây để phát hiện mã độc sẽ phát hiện theo hành vi, theo mã nguồn hay theo đặc trưng của mã độc Điều này là một cơ sở đúng đắn nhưng cũng rất tốn thời gian và hiệu quả thấp vì có rất nhiều cơ chế chống phát hiện được tích hợp Siêu dữ liệu là dữ liệu luôn gắn liền với tệp tin và điều này gần như rất khó để thay đổi nếu mã độc mang các đặc trưng của chúng

2 Mục tiêu nghiên cứu của luận văn

Trang 11

chính gồm các nội dung, được trình bày tại các chương của luận văn, cụ thể như sau:

 Tìm hiểu về cách thức phân tích mã độc và các loại mã độc hiện hành

 Tìm hiểu về cấu trúc siêu dữ liệu (meta-data) trong tệp tin PE (Portable Executable)

 Ứng dụng kỹ thuật học máy cây quyết định để xây dựng mô hình phát hiện các loại mã độc phục vụ phân tích mã độc

 Triển khai thực nghiệm, đánh giá tính hiệu quả, khả năng áp dụng thực

tế của nghiên cứu

Trang 12

CHƯƠNG 1 TỔNG QUAN VỀ MÃ ĐỘC VÀ PHÂN TÍCH MÃ

ĐỘC 1.1 Khái niệm mã độc

Mã độc đã xuất hiện từ buổi sơ khai của máy tính Loại virus được ghi nhận sớm nhất, Creeper Worm xuất hiện trong những năm 1970 Đó là một loại virus tự nhân bản trong thử nghiệm chương trình đã sao chép chính nó vào các hệ thống từ xa và hiển thị thông báo: "Tôi là Creeper, hãy bắt tôi nếu bạn có thể" Vào đầu những năm 80, Elk Cloner, loại vi-rút nhắm mục tiêu vào máy tính Apply II, một ngành công nghiệp khổng lồ đã ra đời và kể từ đó, cuộc chiến chống lại phần mềm độc hại chưa bao giờ dừng lại [1]

Mã độc là một loại phần mềm được tạo ra và chèn vào hệ thống một cách bí mật với mục đích thâm nhập, phá hoại hệ thống, lấy cắp thông tin, làm gián đoạn, tổn hại tới tính bí mật, tính toàn vẹn và tính sẵn sàng của máy tính nạn nhân Mã độc được phân thành nhiều loại tùy theo chức năng, cách thức lây nhiễm, phá hoại: virus, worm, trojan horse, rootkit, botnet, ransomeware

… [2] [3]

Các loại mã độc càng ngày càng phức tạp từ cách thức lây nhiễm, phương pháp ẩn mình, cách thức thực hiện các hành vi nguy hiểm… Giới hạn giữa các loại mã độc ngày càng thu hẹp vì bản thân các mã độc cũng phải có

sự kết hợp lẫn nhau để hiệu quả tấn công là cao nhất

Trang 13

công vào hệ thống website của Hàn Quốc khiến hàng chục website của chính phủ Hàn Quốc bị tê liệt hoạt động [5] Tại Việt Nam, 14/06/2021 trang báo điện tử của VOV bị tấn công từ chối dịch vụ phải ngưng hoạt động [6]

1.3 Hiện trạng phát triển của mã độc

Với sự phát triển của mạng toàn cầu, khả năng lây lan của mã độc càng trở nên nhanh chóng khiến người sử dụng máy tính phải đối mặt với sự nguy hiểm của chúng Theo con số thống kê từ hãng bảo mật nổi tiếng Sophos (Sophos Threat Report) cho thấy rất nhiều loại mã độc đã được tạo ra từ những năm 2000 đến nay Từ năm 2000-2004 là thời đại của Worm với các loại mã độc như ILOVEYOU, Codered, Mydoom…Từ năm 2005-2012 là thời đại của Malware với các loại mã độc như Sasser, Zues, Malverting…Từ năm 2013 đến nay lại là kỷ nguyên của Ransomeware với các mã độc nổi tiếng như Cryptolocker, WannaCry, Extortion Ransomeware… [7] Vấn đề phải đặt ra là ngăn ngừa, phát hiện và loại bỏ mã độc là rất quan trọng

1.4 Phân loại mã độc

1.4.1 Các loại mã độc phổ biến

Mã độc hại (Malware) được định nghĩa là một chương trình được chèn một cách bí mật vào hệ thống với mục đích làm tổn hại đến tính bí mật, tính toàn vẹn hoặc tính sẵn sàng của hệ thống [2], [3]

Định nghĩa này sẽ bao hàm rất nhiều thể loại mã độc chúng ta vẫn quen gọi là virus máy tính như: worm, trojan, spy-ware, adwares, hoặc các bộ công cụ để tấn công hệ thống mà các hacker thường sử dụng như: backdoor, rootkit, key-logger, botnet…và các loại virus mã hóa hay còn gọi là ransomeware

Để hiểu rõ hơn về cơ chế phân loại, mục đích phân loại, lý do cần phân loại và đối tượng cần phát hiện ta sẽ làm rõ những loại mã độc hại này

Virus

Virus máy tính là một chương trình độc hại đối với hệ thống máy tính và phá vỡ các chức năng bình thường của hệ thống, làm hỏng các tệp dữ liệu Vi rút máy tính hoạt động giống như vi rút sinh học tự kết nối với máy tính chủ, làm hỏng tệp chương trình, tệp dữ liệu và hệ điều hành của máy tính đó Nó

có khả năng tự tái tạo bằng cách gắn vào các chương trình khác như dịch

Trang 14

bệnh Virus sẽ tiếp tục lây nhiễm sang các tệp và chương trình khác và ảnh hưởng đến hiệu suất của bất kỳ hệ thống nào Virus có thể được truyền từ máy tính này sang máy khác theo nhiều cách khác nhau và sinh sản bằng cách tự gửi thư cho hàng chục người trong hộp thư đến của địa chỉ mail của máy chủ

Nó cũng có thể truyền tải bằng cách tải xuống bất kỳ tệp nào từ internet, các kết nối mạng, đĩa mềm và các bus nối tiếp chung hoặc bằng đĩa CD [8]

Trojan

Virus Trojan Horse đề cập đến một loại virus điều khiển máy tính thông qua các chương trình cụ thể Không giống như các loại vi-rút khác, nó

sẽ không sinh sôi cũng như không cố ý lây nhiễm sang các tệp khác Nhưng

nó khiến người dùng tải xuống thông qua các phần mềm ngụy trang và sau đó cung cấp kết nối đến máy tính bị xâm nhập Do đó, kẻ xâm nhập có thể làm hỏng hoặc lấy cắp tài liệu của người dùng và thậm chí điều khiển máy bị xâm nhập từ xa [9]

Trojan có thể lựa chọn một trong 3 phương thức để gây hại:

 Tiếp tục thực thi các chức năng của chương trình mà nó bám vào, bên cạnh đó thực thi các hoạt động gây hại một cách riêng biệt (ví dụ như gửi một trò chơi dụ cho người dùng sử dụng, bên cạnh đó là một chương trình thu thập thông tin người dùng)

 Tiếp tục thực thi các chức năng của chương trình mà nó bám vào, nhưng sửa đổi một số chức năng để gây tổn hại (ví dụ như một trojan giả lập một cửa sổ đăng nhập để lấy mật khẩu) hoặc che dấu các hành động phá hoại khác (ví dụ như trojan che giấu cho các tiến trình độc hại khác bằng cách tắt các hiển thị của hệ thống)

 Thực thi luôn một chương trình gây hại bằng cách núp dưới danh một chương trình không có hại (ví dụ như một trojan được giới thiệu như là một trò chơi hoặc một công cụ trên mạng, người dùng chỉ cần kích hoạt tệp

Trang 15

vào cách hoạt động ta có thể phân chia Trojan thành các loại sau: BackDoor, Adware và Spyware

Vào thời điểm ban đầu, worm được tạo ra chỉ với mục đích phát tán qua thư điện tử (email) Khi lây vào máy tính, chúng thực hiện tìm kiếm các sổ địa chỉ, danh sách email trên máy nạn nhân rồi giả mạo các email để gửi bản thân chúng tới các địa chỉ thu thập được Các email do worm tạo ra thường có nội dung “giật gân”, hoặc “hấp dẫn”, hoặc trích dẫn một email nào đó ở máy nạn nhân để ngụy trang

Điều này khiến các email giả mạo trở nên “thật” hơn và người nhận dễ

bị đánh lừa hơn Nhờ những email giả mạo đó mà Worm lây lan mạnh mẽ trên mạng Internet theo cấp số nhân Bên cạnh Worm lây lan theo cách truyền thống sử dụng email, Worm hiện nay còn sử dụng phương pháp lân lan qua ổ USB Thiết bị nhớ USB đã trở nên phổ biến trên toàn thế giới do lợi thế kích thước nhỏ, cơ động và trở thành phương tiện lây lan lý tưởng cho Worm Dựa đặc điểm lây lan mạnh mẽ của Worm, những kẻ viết virus đã đưa thêm vào Worm các tính năng phá hoại, ăn cắp thông tin, … Worm thường kết hợp với các phần mềm độc hại khác BackDoor, Adware…

Rootkit

Rootkit xuất hiện vào thế kỷ 20, đầu những năm 1990 Vào tháng 2 năm 1994, thuật ngữ "rootkit" lần đầu tiên được sử dụng trong một báo cáo tư vấn bảo mật, CA-1994-01, được thiết kế bởi CERT/CC (Nhóm/Trung tâm Điều phối Ứng Cứu Khẩn Cấp Máy tính) và có tên là "Các cuộc tấn công giám sát mạng đang diễn ra" Thời điểm cập nhật của báo cáo cố vấn bảo mật

là ngày 19 tháng 9 năm 1997 Từ khi xuất hiện công nghệ rootkit phát triển rất nhanh và các ứng dụng của nó ngày càng mở rộng và ngày càng khó phát hiện [14]

Trang 16

Ra đời sau các loại virus khác, nhưng rootkit lại được coi là một trong những loại virus nguy hiểm nhất Bản thân rootkit không thực sự là virus, đây

là phần mềm hoặc tập hợp các phần mềm máy tính được lập trình để can thiệp sâu (nhân của hệ điều hành hoặc thậm chí là phần cứng của máy tính) vào hệ thống máy tính với mục tiêu che giấu bản thân nó và các loại phần mềm độc hại khác Với sự xuất hiện của rootkit, các phần mềm độc hại như trở nên “vô hình” trước những công cụ thông thường thậm chí vô hình cả với các phần mềm diệt virus Việc phát hiện mã độc và tiêu diệt virus trở nên khó khăn hơn rất nhiều trước sự bảo vệ của rootkit vốn được trang bị nhiều kĩ thuật mới hiện đại

Botnet

Bot là những chương trình mã độc được cài lên các máy tính nạn nhân

và các máy tính này sẽ nằm trong một mạng lưới được điều khiển bởi tin tặc gọi là mạng Botnet Tương tự như Backdoor, Botnet cũng cho phép kẻ tấn công truy cập và điều khiển hệ thống máy nạn nhân Tất cả các máy bị nhiễm cùng một loại Botnet sẽ cùng nhận một chỉ thị lệnh từ một máy chủ điều khiển của kẻ tấn công thông qua các kênh như Internet Relay Chat (IRC) hoặc

hệ thống mạng ngang hàng peer-to-peer (P2P) Ngày nay khi đã có trong tay một mạng lưới Botnet, các tin tặc hoặc tổ chức điều khiển Botnet có thể sử dụng chúng như một công cụ chiến tranh mạng, tiêu biểu là tấn công từ chối dịch vụ vào các mục tiêu cụ thể nhằm làm tê liệt hệ thống mạng của một tổ chức hoặc thậm chí là hệ thống mạng của một quốc gia [4]

Ransomeware

Các chương trình phần mềm độc hại mã hóa dữ liệu của bạn và đòi tiền chuộc để cung cấp khóa giải mã Đây là loại mã độc nguy hiểm trong vài năm gần đây và tỷ lệ phần trăm vẫn đang tăng lên Ransomware thường làm tê liệt các công ty, bệnh viện, sở cảnh sát và thậm chí toàn bộ thành phố [15]

Trang 17

Ransomware có thể được ngăn chặn giống như mọi loại chương trình phần mềm độc hại khác, nhưng một khi đã được thực thi, rất khó để khắc phục thiệt hại nếu không có bản sao lưu hợp lệ, được xác thực Theo một số nghiên cứu, khoảng một phần tư số nạn nhân phải trả tiền chuộc, và trong số

đó, khoảng 30 phần trăm vẫn không mở khóa các tập tin của họ Dù bằng cách nào đi nữa, việc giải mã các tệp được mã hóa, nếu có thể có các công cụ

cụ thể, khóa giải mã và một chút may mắn Lời khuyên tốt nhất là đảm bảo bạn có một bản sao lưu ngoại tuyến tốt cho tất cả các tệp quan trọng

Trong những năm gần đây, những kẻ phạm tội đã tìm cách tống tiền thông qua các cuộc tấn công bằng mã hóa Ransomware Dạng phần mềm độc hại này xáo trộn dữ liệu có giá trị bằng cách mã hóa hầu như không thể phá

vỡ và giải mã nó cho đến khi trả tiền chuộc Đây là một sự thay đổi đáng kể

so với các dạng ban đầu của Ransomware như phần mềm hù dọa hoặc khóa

Nó đã làm tăng tác động của Ransomware và mức độ nghiêm trọng của mối

đe dọa [16]

1.4.2 Xác định loại mã độc bằng dịch vụ virustotal

Trong luận văn này, mã MD5 của mã độc được sử dụng để tìm kiếm tên của mã độc bằng virustotal [17] Virustotal là một dịch vụ web phân tích các tệp mã độc và tạo điều kiện thuận lợi cho việc phát hiện nhanh chóng virus, worm, trojan, … và tất cả các loại mã độc được cung cấp bởi các hãng chống virus khác nhau

1.5 Kỹ thuật phân tích mã độc

Ở phần này mô tả hai kỹ thuật chính phân tích mã độc bao gồm: phân tích tĩnh và phân tích động Chi tiết của hai kỹ thuật này được mô tả dưới đây: 1.5.1 Phân tích động

Kỹ thuật phân tích động là kỹ thuật phát hiện hành vi của mã độc bằng cách cho nó thực thi rồi quan sát, ghi lại những thay đổi của nó trong quá trình chạy và sau khi chạy Và thường thì mã độc sẽ được thực hiện trong máy

ảo Bên cạnh đó sử dụng một số công cụ như SysAnalyzer, Process Explorer, ProcMon, RegShot, IDA pro, Ollydbg, Immunity và các công cụ khác để xác

định và các kỹ thuật phân tích hành vi nói chung Error! Reference source

ot found

Trang 18

Với kỹ thuật phân tích động, chuyên gia thực hiện kỹ thuật dịch ngược bằng cách sử dụng các công cụ phân tích như IDA pro, Ollydbg, Immunity để hiểu mã độc bằng cách nhìn thấy cấu trúc của mã độc Phân tích động mã độc

có một lợi thế là nó hoàn toàn có thể khám phá ra mục đích và chức năng của

mã độc Tuy nhiên, nghiên cứu cần thời gian để hiểu được chức năng của mã độc bằng cách phân tích cấu trúc mã độc Ngoài ra, hầu hết các mã độc hiện đại sử dụng kỹ thuật đóng gói để chỉnh sửa chính nó Đóng gói là chương trình chỉnh sửa các tệp tin của chương trình khác để nén nội dung của chúng Khi chương trình đóng gói nén, mã hóa, hoặc chỉnh sửa một chương trình thực thi, thì chương trình đó và chương trình gốc về bên ngoài sẽ khác nhau

Để phân tích mã độc bằng IDA pro, mã độc phải được giải nén

Ví dụ, SysAnalyser là công cụ phân tích tuyệt vời để theo dõi các trạng thái hệ thống và quá trình như là tiến trình đang chạy, các cổng đang mở, các trình điều khiển được nạp, các thư viện được nhập khẩu, các thay đổi register quan trọng, các API được gọi bởi một tiến trình đích, lưu lượng truy cập DNS [19]

là một chức năng vô cùng thú vị đó là tham chiếu chương trình sang dạng mã giả C [18] (minh họa hình 1.1)

Trang 19

Hình 1.1 Chức năng Pseudocode-A tạo mã giả C của IDA pro

Ngoài ra IDA pro có graph overview, giúp ích rất rất nhiều cho việc tìm hiểu một cách tổng quan cách thức đoạn chương trình được thực thi

IDA pro cũng cho phép người dùng chuyển đến một chức năng nhanh chóng bằng cách kích đúp vào tên chức năng trong cửa sổ (minh họa hình 1.2)

Hình 1.2 Chương trình được phân tích bởi IDA pro

Trang 20

Đây là một nguồn thông tin vô cùng lớn, với kinh nghiệm và thời gian của nhà phân tích kết hợp với kỹ thuật phân tích động để thấy được giá trị của các biến tại thời điểm thực thi để có thể tìm hiểu được hành vi của mã độc Nhưng với kỹ thuật này người phân tích cần có kinh nghiệm và trình độ nhất định vì mã giả C do phần mềm sinh ra khá khó đọc và cũng có rất nhiều kỹ thuật chống phân tích tĩnh gây khó khăn cho việc phân tích như: mã rối, mã giả, anti-disassembly [20], …

1.6 Kết luận chương 1

Trong chương một sẽ đưa ra bức tranh tổng quan về các kỹ thuật phân tích mã độc hiện tại Trước những hạn chế của những kỹ thuật phân tích hiện tại và những ưu điểm về độ chính xác của các kỹ thuật trên Bài toán đặt ra là tối ưu thời gian tiếp cận và giảm thiểu thời gian phân tích Sau chương này ta thấy được mục tiêu của việc xây dựng một giải pháp phát hiện mã độc để giảm thiểu thời gian phân tích và tăng độ chính xác cho quá trình phân tích Ngoài ra chương 1 cũng trình bày được một số loại virus phổ biến làm cơ sở

để phát hiện các mẫu mã độc

Trang 21

CHƯƠNG 2 PHÁT HIỆN MÃ ĐỘC DỰA TRÊN METADATA CỦA TỆP TIN BẰNG PHƯƠNG PHÁP CÂY QUYẾT ĐỊNH TRONG

HỌC MÁY

Chương này mô tả cấu trúc tệp tin thực thi Win32, gọi là cấu trúc tệp tin PE (Portable Executable) được sử dụng trong hệ thống phát hiện như meta-data của tệp tin mã độc Cụ thể trình bày về cấu trúc của tệp tin thực thi, những trường được lựa chọn làm dữ liệu huấn luyện Từ đó hiểu được lý do tại sao ta có thể dựa vào loại dữ liệu này để nhận biết một loại mã độc Tiếp theo sẽ trình bày về kỹ thuật học máy gọi là cây quyết định được sử dụng để xây dựng hệ thống phát hiện mã độc Cuối cùng, sẽ đề xuất cách gián tiếp phát hiện dựa trên meta-data của mã độc bằng kỹ thuật cây quyết định

2.1 Khái niệm về meta-data

2.1.1 Định nghĩa

Siêu dữ liệu (meta-data) là dạng dữ liệu miêu tả về dữ liệu Trong cơ sở

dữ liệu, metadata là các sửa đổi dạng biểu diễn khác nhau của các đối tượng trong cơ sở dữ liệu Trong cơ sở dữ liệu quan hệ thì metadata là các định nghĩa của bảng, cột, cơ sở dữ liệu và nhiều đối tượng khác Trong kho dữ liệu, metadata là dạng định nghĩa dữ liệu như: bảng, cột, báo cáo, các luật hay những quy tắc biến đổi Metadata bao quát tất cả các phương diện của kho dữ liệu[21]

Metadata chứa những thông tin như sau:

 Cấu trúc của dữ liệu

 Thuật toán sử dụng để tổng hợp dữ liệu

 Ánh xạ xác định sự tương ứng dữ liệu từ môi trường tác nghiệp sang kho dữ liệu

Metadata là dữ liệu để mô tả dữ liệu Khi dữ liệu được cung cấp cho người dùng cuối, metadata sẽ cung cấp những thông tin cho phép họ hiểu rõ hơn bản chất về dữ liệu mà họ đang có Những thông tin này sẽ giúp cho người dùng có được những quyết định sử dụng đúng đắn và phù hợp về dữ liệu mà họ có

Trang 22

Tuỳ thuộc vào từng mục đích sử dụng khác nhau, từng loại dữ liệu khác nhau mà cấu trúc và nội dung dữ liệu metadata có thể có những sự khác biệt Song, nhìn chung sẽ bao gồm một số loại thông tin cơ bản sau:

 Thông tin mô tả về bản thân dữ liệu metadata

 Thông tin về dữ liệu mà metadata mô tả

 Thông tin về cá nhân, tổ chức liên quan đến dữ liệu metadata và dữ liệu

Với tài liệu điện tử, siêu dữ liệu của chúng được nhúng trong bản thân tài nguyên hoặc liên kết với tài nguyên mà nó mô tả như trong trường hợp các thẻ meta của tài liệu HTML trong tài liệu điện tử

Trong thực tế có nhiều chuẩn mô tả biên mục mang tính chất meta-data khá thông dụng đang được áp dụng như: MARC21/UNIMARC [22], ISO-

2709, Dublin Core Metadata [23], … các dữ liệu meta-data này thường được gắn vào phần đầu cho mỗi tài liệu điện tử được đưa vào máy chủ hoặc trên

Trang 23

2.1.3 Mô tả dữ liệu

Để thống nhất phương thức mô tả tài liệu theo một khuôn mẫu thống nhất, người ta đưa ra những sơ đồ siêu dữ liệu Vì thế hiện nay đã xuất hiện nhiều sơ đồ siêu dữ liệu khác nhau với quy định ngữ nghĩa riêng

Sơ đồ dữ liệu (Metadata scheme): là tập hợp những yếu tố siêu dữ liệu được thiết kế cho mô tả một dạng tài nguyên thông tin cụ thể Như vậy siêu

dữ liệu là sơ đồ hình thức được xác định để mô tả tài nguyên thông tin cho đối tượng số hoặc không số Thí dụ tập hợp yếu tố siêu dữ liệu Dublin Core có sơ

đồ bao gồm 15 yếu tố để mô tả tài nguyên thông tin Các nhà khoa học nhân văn đã xây dựng sơ đồ TEI (Text Encoding Initiative) để thống nhất tập hợp các yếu tố để mô tả tài liệu số đưa lên mạng hoặc đưa vào CSDL số Các nhà lưu trữ tài liệu điện tử thì khuyến nghị sử dụng sơ đồ EAD (Encoded Archival Description) [24] do họ đề xuất để thống nhất khổ mẫu cho lưu trữ tài liệu điện tử EAD là một chuẩn được sử dụng để mã hóa thông tin trong các hệ thống tìm tin lưu trữ EAD được duy trì và phát triển bởi Văn phòng tiêu chuẩn MARC và phát triển mạng – Thư viện Quốc hội Hoa Kỳ và Hội các nhà lưu trữ Hoa Kỳ EAD được sử dụng để định nghĩa các thành phần quan trọng dùng để mô tả các tài liệu lưu trữ và tạo lập các công cụ tìm kiếm trong lưu trữ EAD có thể được áp dụng để chuyển đổi từ các công cụ tìm kiếm lưu trữ truyền thống (trên giấy) sang các công cụ tìm kiếm điện tử (trên máy tính)

Bộ thẻ EAD đầy đủ gồm có 146 thẻ được sử dụng để mã hóa các thông tin về đối tượng số cần lưu trữ trong hệ thống

Ngữ nghĩa (Semantics): định nghĩa các yếu tố hoặc ý nghĩa được gán cho các yếu tố siêu dữ liệu thì được gọi là ngữ nghĩa của sơ đồ Mỗi sơ đồ siêu dữ liệu có ngữ nghĩa và cú pháp được quy định riêng Ví dụ bộ yếu tố siêu dữ liệu Dublin Core chỉ có 15 yếu tố, trong đó yếu tố “Creator” - dùng để xác định là tác giả của tài liệu, hoặc yếu tố “Title” - được hiểu là nhan đề của tài liệu

Nội dung (Content): giá trị (dữ liệu) của từng yếu tố được gọi là nội dung Đó chính là giá trị của mỗi yếu tố siêu dữ liệu Nhờ các sơ đồ dữ liệu,

Trang 24

các chương trình xử lý tự động sẽ nhận biết đoạn dữ liệu nào sẽ thuộc thành phần nào, chẳng hạn đoạn dữ liệu này được nhận biết là nhan đề, đoạn dữ liệu kia được nhận biết là tác giả của tài liệu

Việc tạo siêu dữ liệu thường là công việc thủ công, những công cụ tự động thường có khả năng hạn chế và thiếu các tính năng quan trọng như kiểm tra tính hợp lệ Việc bảo trì siêu dữ liệu cũng không phải là chuyện dễ dàng Những thay đổi trong hệ thống nghiệp vụ như thu thập, sao lưu trong quá trình bảo quản, phục vụ khai thác sử dụng, …gây nên thay đổi trong dữ liệu

mà chúng tạo ra, nghĩa là siêu dữ liệu cũng phải được thay đổi tương ứng nếu không có sự tương ứng đó sau này sẽ không thể đọc được dữ liệu mà ta đã lưu trữ hoặc tính xác thực không còn được bảo đảm

Một vấn đề khác là thiếu các tiêu chuẩn để trao đổi siêu dữ liệu giữa những hệ thống khác nhau Hiện có hai nhóm lớn đang tiến hành những đề xuất về chuẩn cho siêu dữ liệu Một xuất phát từ Microsoft và được sự hậu thuẫn của Liên Minh Meta Data Coalition [25], một nhóm lớn gồm 50 nhà sản xuất và người dùng Cả hai đề xuất này đều dựa trên công nghệ ngôn ngữ đánh dấu mở rộng XML (Extensible Markup Language) để trao đổi dữ liệu Các nhà sản xuất phần mềm độc lập cũng đang thực hiện những mở rộng siêu

dữ liệu cho XML Một số nhà sản xuất hỗ trợ cho cả đề xuất của Meta Data Coalition và IBM/Oracle

Tuy nhiên, giới phân tích cho biết hiện thời toàn bộ quá trình chuẩn hoá siêu dữ liệu vẫn đang trong quá trình thực hiện

Đối với ngành lưu trữ, việc nghiên cứu các vấn đề như: sự hình thành tài liệu điện tử hay còn gọi là vòng đời của tài liệu điện tử từ khi hình thành

Trang 25

nói chung và tiêu chuẩn về đặc tả dữ liệu, siêu dữ liệu trong quá trình hình thành và quản lý tài liệu điện tử

Trong bài toán phát hiện mã độc dựa trên cây quyết định, thì meta-data của tệp tin được trích xuất ở đây là các trường của cấu trúc tệp tin thực thi Các siêu dữ liệu này định nghĩa sơ đồ cấu trúc vật lý, thuộc tính, thông tin về tệp tin thực thi Xét về khía cạnh kỹ thuật, đây là những thông tin cực kỳ quan trọng đối với người nghiên cứu mã độc Chúng chứa tất cả về tệp tin, cho biết dấu hiệu liệu tệp tin có thuộc một họ mã độc nào đó không Cụ thể những dữ liệu được trích xuất sẽ trình bày chi tiết ở chương 3 Triển khai và đánh giá

2.2 Cấu trúc tệp tin thực thi trên hệ điều hành Windows

Định dạng tập tin thực thi (PE file) đã được thiết kế để được sử dụng bởi tất cả hệ thống dựa trên Win32 [26] Tất cả các tệp tin có thể thực thi được trên Win32 (ngoại trừ các tệp tin VxDs và các tệp tin DLLs 16bit) đều

sử dụng định dạng tệp tin thực thi Các tệp tin DLLs 32bit, các tệp tin COM, các điều khiển OCX, các chương trình ứng dụng nhỏ trong Control Panel (.CPL) và các ứng dụng NET tất cả đều là định dạng PE Thâm chí các chương trình điều khiển ở chế độ Kernel của hệ điều hành Windows NT cũng

sử dụng định dạng tệp tin PE

2.2.1 Cấu trúc cơ bản

Dưới đây là cấu trúc cơ bản của một tệp tin PE (minh họa hình 2.1)

Trang 26

Hình 2.1 Cấu trúc tệp tin thực thi PE

Ở mức tối thiểu nhất thì một PE file sẽ có 2 Sections: 1 cho đoạn mã (code) và 1 cho phần dữ liệu (data) Một chương trình ứng dụng chạy trên nền tảng Windows NT có 9 sections được xác định trước có tên là text, bss, rdata, data, rsrc, edata, idata, pdata, và debug Một số chương trình ứng dụng lại không cần tất cả những sections này, trong khi các chương trình khác

có thể được định nghĩa với nhiều sections hơn để phù hợp với sự cần thiết riêng biệt của chúng

Những sections mà hiện thời đang tồn tại và xuất hiện thông dụng nhất trong một file thực thi là:

Executable Code Section, có tên là text (MicroSoft) hoặc là CODE (Borland)

Trang 27

2.2.2 DOS Header

Tất cả các file PE bắt đầu bằng DOS Header, vùng này chiếm giữ 64 bytes đầu tiên của file DOS Header có 19 thành phần (members) mà trong đó thành phần magic và lfanew là đáng chú ý (minh họa hình 2.2)

Hình 2.2 Cấu trúc Image_Dos_Header E_magic: của DOS Header chứa giá trị 4Dh, 5Ah (Đó chính là kí tự

“MZ”, viết tắt của Mark Zbikowsky một trong những người sáng tạo chính của MS-DOS), các giá trị này là dấu hiệu thông báo cho chúng ta biết đây là DOS Header hợp lệ

E_lfanew: Nó chứa offset của cấu trúc PE Header Windows Loader sẽ

tìm kiếm offset này vì vậy nó có thể bỏ qua Dos Stub và đi trực tiếp tới cấu trúc PE Header để tìm kiếm thông tin về tệp tin (minh họa hình 2.3)

Trang 28

Hình 2.3 Giá trị của lfanew trên hex dump

2.2.3 PE Header

PE Header là thuật ngữ chung đại diện cho một cấu trúc được đặt tên là IMAGE_NT_HEADERS Cấu trúc này bao gồm những thông tin thiết yếu được sử dụng bởi loader IMAGE_NT_HEADERS có 3 thành phần và được định nghĩa trong file windows.inc như hình 2.4 sau :

Hình 2.4 Cấu trúc Image_NT_Header Signature: Chứa giá trị 00004550h (tương ứng với ký tự “PE”) Đây là

chữ ký cho biết tệp tin này là tệp tin có định dạng PE File Format

FileHeader: Bao gồm 20 bytes tiếp theo của cấu trúc PE file, nó chứa

thông tin về sơ đồ bố trí vật lý và những đặc tính của tệp tin

Trang 29

Hình 2.5 Cấu trúc Image_File_Header Machine: Bộ vi xử lý tạo tệp tin

NumberOfSections: Số lượng các sections

TimeDateStamp: Thời gian tệp tin được tạo, đơn vị thời gian là Unix

Time

SizeOfOptionalHeader: Kích thước của cấu trúc OptionalHeader

Characteristics: Định nghĩa định dạng (exe, dll,…) của tệp tin

OptionalHeader

Chiếm 224 bytes, trong đó 128 bytes cuối cùng sẽ chứa thông tin về Data Directory Nó được định nghĩa giống như hình minh họa 2.6 dưới đây :

Trang 30

Hình 2.6 Cấu trúc Image_Optional_Header32 AddressOfEntryPoint: Chứa địa chỉ ảo tương đối của điểm bắt đầu

chương trình, nơi mà Windows Loader trả quyền kiếm soát cho chương trình sau khi nạp lên bộ nhớ

SectionAlignment: Bội số kích thước của section trên bộ nhớ Nghĩa là

kích thước của bất cứ section nào cũng phải là bội số của giá trị này Điều này

Trang 31

SizeOfHeaders: Kích thước của tất cả các headers và section table Giá

trị này như một file offset của section đầu tiên trong tệp tin PE

2.2.4 Data Directory

Một mảng của 16 cấu trúc IMAGE_DATA_DIRECTORY, mỗi một phần có liên quan tới một cấu trúc dữ liệu quan trọng trong PE File Data Directory là 128 bytes cuối cùng của OptionalHeader và lần lượt là những thành phần cuối cùng của cấu trúc Image_NT_Headers

Mỗi mảng tham chiếu tới một mục đã được định nghĩa trước, ví dụ như import table Cấu trúc của Data Directory có 2 thành phần bao gồm thông tin

về vị trí và kích thước của cấu trúc dữ liệu trong những cấu trúc dưới đây (minh họa hình 2.7):

Hình 2.7 Cấu trúc dữ liệu được định nghĩa bởi Data Directory

Những cấu trúc trên có thành phần cụ thể như sau (minh họa hình 2.8):

Hình 2.8 Cấu trúc Image_Data_Directory VirtualAddress: là địa chỉ ảo tương đối (Relative Virtual Address) của

cấu trúc dữ liệu

Isize: bao gồm kích thước theo bytes của cấu trúc dữ liệu

Trang 32

Để xác định được vị trí của một directory chỉ định, cần xác định rõ chỉ địa chỉ tương đối từ cấu trúc data directory Sau đó sử dụng địa chỉ ảo để xác định directory ở trong section nào Một khi bạn phân tích section nào chứa directory thì Section Header cho section đó sau đó sẽ được sử dụng để tìm ra offset chính xác

2.2.5 Section Table

Section table là thành phần tiếp theo ngay sau PE Header Nó là một mảng của những cấu trúc Image_Section_Header, mỗi phần tử sẽ chứa thông tin về một section trong PE File ví dụ như thuộc tính của nó và địa chỉ tương đối ảo (virtual offset)

Số lượng các section được định nghĩa trong thành phần thứ hai của cấu trúc FileHeader (6 bytes từ chỗ bắt đầu của PE Header) trường NumberOfSections Nếu có 8 sections trong tệp tin PE, thì sẽ có 8 bản sao của cấu trúc này trong bảng Section Table

Mỗi một cấu trúc là 40 bytes và sẽ không có thêm “padding” giữa chúng (Padding ở đây có nghĩa là sẽ không chèn thêm các bytes có giá trị 00h vào) Cấu trúc của Section Header như sau (minh họa hình 2.9):

Trang 33

Name1: Tên này chỉ là một nhãn và thậm chí là có thể để trống Đây

không phải là một chuỗi ASCII vì vậy nó không cần phải kết thúc bằng việc thêm các số 0

VirtualSize: Kích thước của section trên bộ nhớ, tính theo bytes Nó có

thể nhỏ hơn kích thước của section trên đĩa và sẽ là những gì mà Windows Loader định rõ vị trí trong bộ nhớ cho section này

VirtualAddress: Địa chỉ ảo tương đối của section Trình PE Loader sẽ

phân tích và sử dụng giá trị trong trường này khi nó ánh xạ section vào trong

bộ nhớ Vì vậy nếu giá trị trong trường này là 1000h và tệp tin PE được nạp tại địa chỉ 40000h, thì section sẽ được nạp tại địa chỉ là 401000h

SizeOfRawData: Kích thước của section trên đĩa được làm tròn lên bội

số tiếp theo của giá trị này Đây là giá trị cho thấy cơ chế quản lý dữ liệu trên

bộ nhớ của Windows theo cơ chế phân trang

PointerToRawData: Thành phần này thực sự rất hữu dụng bởi vì nó là

offset từ vị trí bắt đầu của tệp tin cho tới phần section data Nếu nó có giá trị

là 0, thì section data không được chứa trong tệp tin và sẽ không bị bó buộc vào thời gian nạp Trình PE Loader sẽ sử dụng giá trị trong trường này để tìm kiếm phần data trong section là ở đâu trong tệp tin

Characteristics: Bao gồm các cờ ví dụ như section này có thể chứa

executable code, initialized data, uninitialized data, có thể được ghi hoặc đọc Trên đây trình bày các cấu trúc sẽ được trích xuất để sử dụng làm dữ liệu huấn luyện tạo cây quyết định (trừ cấu trúc Section Header) Ngoài ra cấu trúc tệp tin thực thi trên hệ điều hành Windows còn có các cấu trúc như Import Directory, Export Directory, …

Nhưng vì không sử dụng các dữ liệu này để huấn luyện nên sẽ không nhắc tới trong phạm vi luận văn này Bên cạnh đó ngoài các trường quan trọng được trình bày ở trên đây thì còn rất nhiều trường khác được trích xuất

sẽ được liệt kê rõ ràng trong phần triển khai

Trang 34

2.3 Phương pháp phát hiện mã độc dựa trên meta-data của tệp tin bằng

kỹ thuật cây quyết định trong học máy

2.3.1 Tổng quan về cây quyết định trong học máy

Cây quyết định (decision tree) là một kiểu mô hình dự báo (predictive model) [27], một ánh xạ từ các quan sát về một sự vật, hiện tượng tới các kết luận về giá trị mục tiêu của sự vật, hiện tượng Mỗi nút trong (internal node) biểu diễn một thuộc tính, nhánh (branch) biểu diễn giá trị có thể có của một thuộc tính, mỗi lá (leaf node) biểu diễn các lớp quyết định và đỉnh trên cùng của cây gọi là gốc (root) Cây quyết định có thể được dùng để phân lớp bằng cách xuất phát từ gốc của cây và di chuyển theo các nhánh cho đến khi gặp nút lá, trên cơ sở phân lớp này có thể chuyển đổi về các luật quyết định

Cây quyết định là một phương pháp rất mạnh và phổ biến cho cả hai nhiệm vụ của khai phá dữ liệu là phân loại và dự báo Kỹ thuật học máy dùng trong cây quyết định được gọi là học bằng cây quyết định hay đơn giản là cây quyết định

Học bằng cây quyết định là một phương pháp học thông dụng trong khai phá dữ liệu [28], cây quyết định mô tả cấu trúc cây, trong đó các lá đại diện cho các phân loại còn cành đại diện cho các kết hợp của các thuộc tính dẫn đến phân loại đó Một cây quyết định có thể được học bằng cách chia tập hợp nguồn thành các tập hợp con dựa theo một công thức kiểm tra giá trị thuộc tính Quá trình này lặp đi lặp lại đệ quy cho mỗi tập con dẫn xuất Quá trình đệ quy hoàn thành khi không thể tiếp tục thực hiện việc chia tách được nữa, khi một phân loại đơn giản có thể áp dụng cho từng phần tử của tập con dẫn xuất Tạo cây quyết định là quá trình phân tích cơ sở dữ liệu, phân lớp và

Ngày đăng: 12/01/2022, 15:18

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[5]. Báo Nhân Dân, Bkis xác định: Tin tặc Anh tấn công website chính phủ Hàn Quốc, https://nhandan.vn/thong-tin-so/Bkis-x%C3%A1c-%C4%91%E1%BB%8Bnh:-Tin-t%E1%BA%B7c-Anh-t%E1%BA%A5n-c%C3%B4ng-website-ch%C3%ADnh-ph%E1%BB%A7-H%C3%A0n-Qu%E1%BB%91c-541556, online 25- 7-2021 Link
[6]. Báo Tuổi Trẻ, Bộ Công an điều tra vụ báo điện tử VOV bị tấn công mạng, https://tuoitre.vn/bo-cong-an-dieu-tra-vu-bao-dien-tu-vov-bi-tan-cong-mang-20210614132001071.htm, online 25-7-2021.[7]. Sophos, SOPHOS 2021 THREAT REPORThttps://www.sophos.com/en-us/medialibrary/PDFs/technical-papers/sophos-2021-threat-report.pdf/ , online 28-8-2021 Link
[1]. Daniel Gibert, Carles Mateu, Jordi Planes, The rise of machine learning for detection and classification of malware, Research developments, trends and challenges, Journal of Network and Computer Applications, Volume 153, 1 March 2020, 102526 Khác
[2]. Kateryna Chumachenko, Machine Learning Methods for Malware Detection and Classification, Cuckoo Sandbox, 2017 Khác
[3]. John Aycock Computer Viruses and Malware, Springer Science + Business Media, Definitions and Timeline, Pages 11-25 2006 Khác
[4]. Nguyen Ngoc Quan. Nghiên cứu phương pháp phân tích động mã độc. 2015 Khác
[8]. Umbreen Fatima, Mubasher Ali, Nauman Ahmed, M.Rafiq, Numerical Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Chức năng Pseudocode-A tạo mã giả C của IDA pro - Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu meta data của tệp tin
Hình 1.1 Chức năng Pseudocode-A tạo mã giả C của IDA pro (Trang 19)
Hình 1.2 Chương trình được phân tích bởi IDA pro - Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu meta data của tệp tin
Hình 1.2 Chương trình được phân tích bởi IDA pro (Trang 19)
Hình 2.1 Cấu trúc tệp tin thực thi PE - Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu meta data của tệp tin
Hình 2.1 Cấu trúc tệp tin thực thi PE (Trang 26)
Hình 2.2 Cấu trúc Image_Dos_Header  E_magic:  của  DOS  Header  chứa  giá  trị  4Dh,  5Ah  (Đó  chính  là  kí  tự - Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu meta data của tệp tin
Hình 2.2 Cấu trúc Image_Dos_Header E_magic: của DOS Header chứa giá trị 4Dh, 5Ah (Đó chính là kí tự (Trang 27)
Hình 2.3 Giá trị của lfanew trên hex dump - Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu meta data của tệp tin
Hình 2.3 Giá trị của lfanew trên hex dump (Trang 28)
Hình 2.5 Cấu trúc Image_File_Header  Machine: Bộ vi xử lý tạo tệp tin. - Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu meta data của tệp tin
Hình 2.5 Cấu trúc Image_File_Header Machine: Bộ vi xử lý tạo tệp tin (Trang 29)
Hình 2.6 Cấu trúc Image_Optional_Header32  AddressOfEntryPoint:  Chứa  địa  chỉ  ảo  tương  đối  của  điểm  bắt  đầu  chương trình, nơi mà Windows Loader trả quyền kiếm soát cho chương trình  sau khi nạp lên bộ nhớ - Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu meta data của tệp tin
Hình 2.6 Cấu trúc Image_Optional_Header32 AddressOfEntryPoint: Chứa địa chỉ ảo tương đối của điểm bắt đầu chương trình, nơi mà Windows Loader trả quyền kiếm soát cho chương trình sau khi nạp lên bộ nhớ (Trang 30)
Hình 2.7 Cấu trúc dữ liệu được định nghĩa bởi Data Directory - Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu meta data của tệp tin
Hình 2.7 Cấu trúc dữ liệu được định nghĩa bởi Data Directory (Trang 31)
Hình 2.10. Mô phỏng sự phân tách trong cây quyết định - Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu meta data của tệp tin
Hình 2.10. Mô phỏng sự phân tách trong cây quyết định (Trang 37)
Hình 2.11. Mô phỏng sự phân tách trong cây quyết định - Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu meta data của tệp tin
Hình 2.11. Mô phỏng sự phân tách trong cây quyết định (Trang 47)
Hình 3.1 KDD process - Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu meta data của tệp tin
Hình 3.1 KDD process (Trang 52)
Hình 3.2 Bản ghi dữ liệu sau khi trích rút thuộc tính và gán nhãn - Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu meta data của tệp tin
Hình 3.2 Bản ghi dữ liệu sau khi trích rút thuộc tính và gán nhãn (Trang 55)
Hình 3.3 Bảng tương quan giữa các thuộc tính - Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu meta data của tệp tin
Hình 3.3 Bảng tương quan giữa các thuộc tính (Trang 56)
Bảng 3.1 Bảng yêu cầu chức năng - Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu meta data của tệp tin
Bảng 3.1 Bảng yêu cầu chức năng (Trang 57)
Hình 3.4 Phương pháp chuẩn hóa, lựa chọn thuộc tính và mô hình học máy - Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu meta data của tệp tin
Hình 3.4 Phương pháp chuẩn hóa, lựa chọn thuộc tính và mô hình học máy (Trang 58)

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