Mơ hình phát hiện mã độc dựa trên học máy

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máy (Trang 36 - 42)

Để ứng dụng học máy vào bất kỳ bài tốn nào, cần phải biểu diễn dữ liệu dưới một dạng nào đĩ. Một số nghiên cứu đề cập đến việc sử dụng các thuộc tính chuỗi

Dữ liệu mẫu

Lựa chọn bằng boostrap

Dữ liệu huấn luyện

Bộ dữ liệu dùng để xây dựng cây

Out-of-bag (OOB)

Dữ liệu dùng để đánh giá tỉ lệ lỗi

Lựa chọn đặc trưng

Lựa chọn ngẫu nhiên

Xây dựng cây

Phân chia dữ liệu theo thuộc tính tốt nhất

Đánh giá lỗi OOB

Áp dụng cây vào dữ liệu OOB

Random Forest

Lặp đến khi

đáp ứng đủ tiêu chí xây dựng cây

hoặc định dạng tệp tin như là một cách biểu diễn đặc trưng. Ví dụ, với các mã độc chạy trên Windows, dữ liệu nằm trong các tiêu đề PE thường được dùng để phân tích. Tuy nhiên, đây khơng phải giải pháp tốt nhất bởi mã độc cĩ rất nhiều định dạng khác nhau [12].

Một phương pháp khác thường được sử dụng là n-grams. N-grams thường được dùng trong xử lý ngơn ngữ tự nhiên, thu thập thơng tin và khai phá văn bản [15]. Tuy nhiên phương pháp này cũng cĩ một số nhược điểm. Do số lượng n-grams byte thu được từ các tệp tin mã độc và tệp tin bình thường quá lớn nên việc áp dụng các kỹ thuật phân lớp ở đây khơng hiệu quả. Hơn nữa phương pháp này cũng khơng phù hợp với các loại mã độc đa hình: các mẫu cĩ cùng hành vi sẽ sinh ra các chuỗi khác nhau và dẫn đến cụm n-grams cũng khác nhau.

Do đĩ, luận văn sử dụng Cuckoo Sandbox để phân tích hành vi thực tế của các tệp tin và trích xuất ra các đặc trưng. Sau đĩ, các đặc trưng được lựa chọn để loại bỏ các đặc trưng dư thừa và làm đầu vào cho các thuật tốn đã trình bày ở trên để huấn luyện.

Mơ hình tổng quan của phương pháp phát hiện mã độc dựa trên học máy được thể hiện trên hình 2.8:

Hình 2.8 Mơ hình tổng quan

Trích chọn đặc trưng Tập dữ liệu mẫu

Dữ liệu huấn luyện Dữ liệu thử nghiệm

Trích xuất đặc trưng

Sử dụng Cuckoo Sandbox

Biểu diễn đặc trưng

Ma trận tần suất

Mơ hình học máy

Phân chia dữ liệu thử nghiệm vào các lớp Huấn luyện

Sử dụng kỹ thuật học máy

 Dữ liệu: Tập dữ liệu mẫu được chia thành hai tập con: tập dữ liệu huấn luyện (chiếm 2/3) và tập dữ liệu thử nghiệm (chiếm 1/3). Việc phân chia được tiến hành ngẫu nhiên. Tập dữ liệu mẫu bao gồm các tệp tin mã độc và các tệp tin thơng thường cĩ định dạng: .exe, .pdf, .docx,…

 Cuckoo Sandbox: Thành phần chính của Cuckoo bao gồm một máy chủ (phần mềm quản lý) và một số máy khách (máy ảo hoặc máy thật dùng để phân tích). Kịch bản thực thi của Cuckoo rất đơn giản: khi một tệp tin được gửi đến máy chủ, nĩ sẽ được phân bố vào một mơi trường ảo, sau đĩ tệp tin được thực thi và hệ thống sẽ ghi lại tất cả hành vi của tệp tin đĩ. Sau khi thống kê được hành vi của tệp tin, Cuckoo Sandbox sẽ đưa ra mức độ độc hại của tệp tin dựa trên một số chữ ký đã được định nghĩa sẵn.

Hình 2.9 Kiến trúc Cuckoo Sandbox

(Theo Cuckoo Foundation, 2015) [7]

 Trích xuất đặc trưng: Một số đặc trưng được trích xuất từ sandbox cĩ thể là: - Hành vi đối với các tệp tin: thơng tin về các hành vi mở tệp, ghi tệp, tạo tệp đều được ghi lại. Các loại hành vi này khá hữu ích trong việc dự đốn bởi hầu như các tệp tin mã độc đều gây ra thay đổi tới các tệp tin hệ thống.

- Các khĩa registry: trên các hệ thống Windows, registry lưu trữ các cài đặt hệ thống mức thấp của hệ điều hành và ứng dụng. Bất kỳ mẫu nào gây ra nhiều thay đổi trên registry – bao gồm mở, đọc, ghi, xĩa các khĩa registry – đều đáng ngờ.

- Các tiến trình được tạo ra: thơng thường các mẫu mã độc sẽ sinh ra một tiến trình riêng, tuy nhiên một số mã độc cĩ thể tự chạy trong tiến trình hệ thống.

- Địa chỉ IP và truy vấn DNS: Cuckoo cĩ thể bắt các luồng lưu lượng mạng dưới dạng PCAP, từ đĩ cĩ thể trích xuất thơng tin về địa chỉ IP cũng như các truy vấn DNS. Các thơng tin này cĩ thể xác định được chính xác địa chỉ IP của máy chủ C&C. Tuy nhiên kẻ tấn cơng thường thay đổi hoặc ngụy trang tên miền và địa chỉ IP của máy chủ nên khơng thể chỉ dựa vào các thơng tin này mà phải kết hợp với các đặc trưng khác.

- Các lời gọi API: các lời gọi API liên quan tới tất cả các hoạt động diễn ra trong hệ điều hành, bao gồm các hành động trên tệp tin, registry, mutexes, tiến trình và các đặc trưng đã đề cập ở trên. Ví dụ, lời gọi API OpenFile, OpenFileEx, CreateFile, CopyFileEx,… định nghĩa các hành động trên tệp tin; OpenMutex, CreateMutex và CreateMutexEx mơ tả các hành động mở và tạo mutexes,… Hơn nữa, các lời gọi API này cĩ thể được biểu diễn dưới dạng số học, các thuộc tính sẽ được định nghĩa bởi một giá trị API duy nhất và trả về các mã.

 Biểu diễn đặc trưng: Sau khi trích xuất đặc trưng cần phải biểu diễn chúng dưới dạng mà các thuật tốn cĩ thể sử dụng. Với số lượng đặc trưng rất lớn, cần phải biểu diễn chúng một cách rõ ràng, nhỏ gọn và khơng dư thừa. Luận văn sử dụng phương pháp biểu diễn dưới dạng ma trận tần suất. Ma trận tần suất sẽ thể hiện tần suất của các lời gọi API.

𝑃𝑎𝑠𝑠1 ⋯ 𝑃𝑎𝑠𝑠𝑛 𝐹𝑎𝑖𝑙1 ⋯ 𝐹𝑎𝑖𝑙𝑛 𝑅𝑒𝑡𝐶1 ⋯ 𝑅𝑒𝑡𝐶𝑛

𝑆1 23 ⋯ 3 224 ⋯ 123 23 ⋯ 27

𝑆2 52 ⋯ 21 224 ⋯ 57 224 ⋯ 1

⋮ ⋮ ⋱ ⋮ ⋮ ⋱ ⋮ ⋮ ⋱ ⋮

𝑆𝑛 52 ⋯ 22 210 ⋯ 46 72 ⋯ 111

Hàng ngang thể hiện số liệu mẫu, các cột Pass1 … Passn biểu diễn số lần

lời gọi hàm được thực thi. Tương tự, các cột Fail1 … Failn biểu diễn số lần các lời

gọi hàm bị lỗi; các cột RetC1 … RetCn biểu diễn số lần mã được trả về [20].

 Lựa chọn đặc trưng: Mục tiêu của việc lựa chọn đặc trưng là loại bỏ các đặc trưng dư thừa, khơng quan trọng ra khỏi tập đặc trưng khi nĩ trở nên quá lớn. Ví dụ, một số lời gọi API chỉ được thực thi một lần và khơng đĩng vai trị quá quan trọng trong thuật tốn nên loại bỏ nĩ sẽ khơng gây ảnh hưởng đến độ chính xác. Tập đặc trưng quá lớn sẽ gây tiêu tốn một lượng lớn tài nguyên vì thế việc loại bỏ các đặc trưng dư thừa là cần thiết. Ba phương pháp thường dùng trong quá trình lựa chọn đặc trưng là phương pháp lọc (filter), phương pháp đĩng gĩi (wrapper) và phương pháp nhúng (embedded) [13].

- Phương pháp lọc: thống kê điểm của các đặc trưng. Đặc trưng cĩ điểm cao sẽ được giữ lại, đặc trưng cĩ điểm thấp sẽ bị loại bỏ.

- Phương pháp đĩng gĩi: các đặc trưng được kết hợp thành các bộ khác nhau và thử nghiệm trên mơ hình dự đốn. Bộ đặc trưng cho kết quả chính xác nhất sẽ được lựa chọn.

- Phương pháp nhúng: đánh giá thuộc tính được sử dụng khi xây dựng mơ hình.

2.3 Kết luận chương

Chương 2 đưa ra cái nhìn tổng quan nhất về khái niệm học máy và giới thiệu một số thuật tốn được sử dụng trong luận văn, bao gồm KNN, SVM, Nạve Bayes, cây quyết định, Random Forest. Mơ hình phương pháp phát hiện mã độc dựa trên học máy được giới thiệu ở cuối chương, bao gồm các bước: thu thập dữ liệu, trích xuất đặc trưng, biểu diễn đặc trưng, lựa chọn đặc trưng và đưa vào mơ hình học máy.

CHƯƠNG 3 - CÀI ĐẶT VÀ THỬ NGHIỆM

Chương 3 sẽ tiến hành áp dụng mơ hình phát hiện mã độc đã giới thiệu ở chương 2 vào tập dữ liệu mẫu. Sau đĩ kết quả thử nghiệm trên các kỹ thuật học máy sẽ được so sánh và đưa ra kết luận.

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máy (Trang 36 - 42)