Danh mục

Sử dụng kỹ thuật khai phá dữ liệu phần mềm độc hại từ mã lệnh

Số trang: 6      Loại file: pdf      Dung lượng: 299.28 KB      Lượt xem: 23      Lượt tải: 0    
tailieu_vip

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Trong bài báo này, phân tích các kỹ thuật khai phá dữ liệu mà chúng tôi đã áp dụng thành công cho an ninh mạng. Nghiên cứu này tập trung vào việc sử dụng các phương pháp khai phá dữ liệu để phát hiện phần mềm độc hại (các chương trình độc hại) và đề xuất một giải pháp nhằm thay thế cho các phương pháp phát hiện dựa trên chữ ký truyền thống. Các ứng dụng này bao gồm phát hiện mã độc hại bằng cách khai thác các mã nhị phân dựa trên phát hiện sự bất thường, và khai thác luồng dữ liệu.
Nội dung trích xuất từ tài liệu:
Sử dụng kỹ thuật khai phá dữ liệu phần mềm độc hại từ mã lệnh Nghiên cứu khoa học công nghệ Sö dông kü thuËt khai ph¸ d÷ liÖu phÇn mÒm ®éc h¹i tõ m· lÖnh HOÀNG SỸ TƯƠNG*, TRẦN THỊ LAN ANH** Tóm tắt: Trong bài báo này, chúng tôi phân tích các kỹ thuật khai phá dữ liệu mà chúng tôi đã áp dụng thành công cho an ninh mạng. Nghiên cứu này tập trung vào việc sử dụng các phương pháp khai phá dữ liệu để phát hiện phần mềm độc hại (các chương trình độc hại) và đề xuất một giải pháp nhằm thay thế cho các phương pháp phát hiện dựa trên chữ ký truyền thống. Các ứng dụng này bao gồm phát hiện mã độc hại bằng cách khai thác các mã nhị phân dựa trên phát hiện sự bất thường, và khai thác luồng dữ liệu. So sánh với phương pháp phát hiện mã độc dựa trên chữ ký truyền thống, phương pháp đề xuất của chúng tôi có tốc độ phát hiện mã độc nhanh gấp đôi. Từ khóa: Khai phá dữ liệu, Phát hiện mã độc, Phân tích tĩnh, Phát hiện tuần tự, Đặc trưng dữ liệu, Phòng chống virus. 1. GIỚI THIỆU Phát hiện virus máy tính đã phát triển thành chương trình phát hiện mã độc hại từ khi Cohen đưa ra thuật ngữ virus máy tính lần đầu tiên vào năm 1983 [3]. Các chương trình độc hại có thể được phân loại thành các loại phần mềm độc hại như sau: virus, worm, trojan, spyware, adware và các lớp con mã độc hại khác [4]. Một trong những vấn đề chính mà cộng đồng những người nghiên cứu về virus phải đối mặt đó là tìm ra được các phương pháp phát hiện các chương trình độc hại mới các mã độc chưa được phân tích [1]. Công nghệ quét virus hiện nay có hai phần: một là bộ phát hiện dựa trên chữ ký và hai là bộ phân loại phỏng đoán (heuristic) có thể phát hiện được các virus mới [2]. Khai phá dữ liệu đề cập đến việc trích rút hoặc 'khai phá' các tri thức cần thiết từ một lượng lớn dữ liệu [5]. Nó cung cấp một cách thức trích rút thông tin được dự đoán và chưa biết trước đó dựa trên dữ liệu có thể truy cập được trong các kho dữ liệu. Các phương pháp khai phá dữ liệu phát hiện các mẫu trong kho dữ liệu. Sử dụng các phương pháp khai phá dữ liệu, mục tiêu của chúng tôi là thiết kế ra một giải pháp phát hiện mã độc một cách tự động, chẳng hạn như mã byte và sử dụng các mẫu đó để phát hiện các tấn công trong tương lai từ những dữ liệu tương tự nhau. 2. CÁC NGHIÊN CỨU LIÊN QUAN Trong những năm gần đây, các nhà nghiên cứu mã độc đã tập trung vào kỹ thuật khai phá dữ liệu để phát hiện các mã độc chưa biết. Khai phá dữ liệu là một quá trình phân tích dữ liệu được lưu trữ điện tử bằng cách tìm kiếm tự động các mẫu [7]. Các thuật toán đã được sử dụng rộng rãi cho các bài toán khai phá dữ liệu khác nhau để phát hiện các mẫu và tìm ra các mối tương quan giữa các thể hiện dữ liệu và các thuộc tính. Nhiều nhà nghiên cứu đã sử dụng các n-gram hoặc các cuộc gọi API vì kiểu đặc trưng chính của chúng được dùng để biểu diễn các thể hiện của mã độc trong một định dạng phù hợp nhằm mục đích khai phá dữ liệu. Chúng phân tích các chuỗi byte được trích rút từ bộ trích xuất mã hexa (hexdump) của mã thực Tạp chí Nghiên cứu KH&CN quân sự, Số 34, 12 - 2014 81 Kỹ thuật điện tử & Khoa học máy tính thi. Tập dữ liệu được xét gồm 4.266 tệp, trong đó 3.265 tệp là mã độc và 1.001 tệp là các chương trình hợp pháp hoặc tệp an toàn. Một thuật toán quy nạp có quy tắc được gọi là Ripper [9] đã được áp dụng để tìm ra các mẫu trong dữ liệu DLL. Một thuật toán học máy của Naive Bayes (NB) dựa trên các thống kê Bayes, đã được dùng để tìm ra các mẫu với dữ liệu chuỗi và các n-gram gồm các chuỗi byte là dữ liệu đầu vào của thuật toán này. Một tập dữ liệu được phân hoạch thành hai tập dữ liệu gồm: một tập dữ liệu kiểm tra và một tập dữ liệu học. Điều này cho phép hiệu năng kiểm tra trên dữ liệu phụ thuộc vào dữ liệu được dùng để sinh ra các lớp phân loại. Thuật toán Naive Bayes sử dụng các chuỗi như là dữ liệu đầu vào và mang lại hiệu năng phân loại cao nhất với độ chính xác khoảng 97,11%. Đặc biệt, việc phát hiện ra mã độc mới với tốc độ nhanh gấp hai lần so với thuật toán dựa trên chữ ký. 3. GIẢI PHÁP NGHIÊN CỨU Như đã đề cập trong phần giới thiệu, tập trung chính của chúng tôi là nằm ở chỗ xử lý tự động thông tin thu lượm được từ các phân tích mã độc động. Hai kỹ thuật phân tích hành vi sử dụng việc phân cụm các báo cáo hành vi được đề cập đến gần đây [6, 7]. Khó khăn lớn nhất của các phương pháp phân cụm xuất phát từ tính chất không được giám sát của chúng, do sự thiếu hụt các thông tin bổ sung cần thiết cho quá trình phân tích dữ liệu. Ở đây chúng tôi đề cập đến một số bài toán thực tế theo hướng dựa trên phương pháp phân cụm. Quá trình khai phá dữ liệu bao gồm 5 bước: Phát biểu và mô hình hóa bài toán, thu thập dữ liệu, tiền xử lý dữ liệu, ước lượng mô hình, giải thích mô hình. Trong bài báo này chúng tôi giới thiệu một phương pháp phát hiện virus dựa trên việc phân tích dữ liệu. Để làm được như vậy chúng tôi sử dụng tập dữ liệu tệp nhiễm virus và một số virus tạo ra từ bộ công cụ tạo virus vcl32. Trước hết chúng tôi rút 2000 tập tin trong bộ dữ liệu tệp virus và bộ sinh vcl32. Sau đó, sử dụng Idpro để hợp ngữ hóa tất cả các tệp virus và tạo ra các tập tin ASM từ chúng. Trong quá trình hợp ngữ hóa, các lệnh hợp ngữ được tổ chức thành các khối cơ sở. Chúng tôi thu được các khối lệnh hợp ngữ từ quá trình này. Quá trình giải hợp ngữ sẽ tạo ra một nhãn cho mỗi khối cơ sở một cách tự động. Chúng tôi coi khối cơ bản nắm bắt được cấu trúc của trình tự lệnh và chúng tôi xử lý các lệnh nhằm tạo thành khối cơ bản. Mã đó gọi là mã hợp ngữ logic [5]. Mỗi lệnh hợp ngữ bao gồm opcode và các toán hạng. Chúng tôi chỉ sử dụng các opcode và bỏ qua các toán hạng và tiền tố vì các opcode đủ để nói lên hành vi của chương trình. Các mã hợp ngữ kết quả được gọi là hợp ngữ trừu tư ...

Tài liệu được xem nhiều:

Gợi ý tài liệu liên quan: