Ứng dụng mạng Neuron nhân tạo để nhận dạng tệp thực thi giả thư mục
Virus máy tính xuất hiện và lây lan ngày càng nhiều. Một tỉ lệ không nhỏ virus đánh lừa người dùng
kích hoạt bằng cách giả dạng thư mục. Các chương trình chống virus hiện nay đều nhận dạng chủ yếu dựa
trên mã đặc trưng hoặc hành vi của tệp. Trong bài báo này, tác giả đề xuất phương pháp mới, sử dụng
mạng Neuron để nhận dạng các tệp thực thi giả thư mục dựa trên việc nhận dạng biểu tượng của tệp. Tác
giả đã thử nghiệm giải pháp đề xuất với lượng lớn mẫu virus giả thư mục (70 mẫu) thu thập được thực tế
và kết quả thử nghiệm cho độ chính xác cao, hơn 99.8%.
oa, Đại học Đà Nẵng GVHD: TS. Huỳnh Hữu Hưng Khoa Công Nghệ Thông Tin, Trường Đại học Bách khoa, Đại học Đà Nẵng TÓM TẮT Virus máy tính xuất hiện và lây lan ngày càng nhiều. Một tỉ lệ không nhỏ virus đánh lừa người dùng kích hoạt bằng cách giả dạng thư mục. Các chương trình chống virus hiện nay đều nhận dạng chủ yếu dựa trên mã đặc trưng hoặc hành vi của tệp. Trong bài báo này, tác giả đề xuất phương pháp mới, sử dụng mạng Neuron để nhận dạng các tệp thực thi giả thư mục dựa trên việc nhận dạng biểu tượng của tệp. Tác giả đã thử nghiệm giải pháp đề xuất với lượng lớn mẫu virus giả thư mục (70 mẫu) thu thập được thực tế và kết quả thử nghiệm cho độ chính xác cao, hơn 99.8%. ABSTRACT Computer viruses appear and infect more and more. Some viruses cheat users by masquerading folder. Most of current antiviruses are based on specific code identification or behavior. This plan introduces another method which identify fake folder executable file, using Artificial Neural Network technology. The proposed solution is tested with 70 fake folder virus samples, with high accuracy (more than 99.8%). 1. Mở đầu Mạng neuron nhân tạo, Artificial Neural Network (ANN), là một mô hình xử lý thông tin phỏng theo cách thức xử lý thông tin của các hệ neuron sinh học. ANN được ứng dụng rộng rãi trong lĩnh vực khoa học máy tính, cụ thể là các dạng bài toán phân lớp: dự đoán [3][5][6], nhận dạng [2][4][7][8],… ANN được tạo nên từ một lượng các phần tử (neuron) kết nối với nhau thông qua các trọng số liên kết. Một ANN được cấu hình cho một ứng dụng cụ thể thông qua quá trình học từ tập các mẫu huấn luyện cho trước. Trong vấn đề nhận dạng tệp thực thi giả thư mục, mạng neuron tỏ ra ưu thế hơn các phương pháp khác (so sánh ảnh biểu tượng tệp với ảnh biểu tượng mẫu có sẵn, xác định hình dạng đường bao,…) ở chỗ tốn rất ít thời gian cho thủ tục tiền xử lý, trích trọn đặc trưng,… Bên cạnh đó, phương pháp này hầu như không bị ảnh hưởng bởi nhiễu trên ảnh biểu tượng, mang tính tổng quát. Mặt khác các phương pháp ra quyết định trong nhận dạng truyền thống được cài đặt tĩnh trong chương trình, khi muốn bổ sung thêm các mẫu học mới cần phải thiết kế lại chương trình. Trong khi với mạng neuron, chỉ cần cung cấp một tập mẫu huấn luyện mới là có thể bổ sung vào “bộ nhớ mạng” những giá trị tính toán mới mà không ảnh hưởng đến cấu trúc chương trình ban đầu. Trong phạm vi bài báo này, chúng tôi sẽ giới thiệu tổng quan về mạng neuron và ứng dụng mạng Perceptron nhiều lớp lan truyền ngược sai số để xây dựng chương trình nhận dạng tệp thực thi giả thư mục. Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 8 Đại học Đà Nẵng năm 2012 2 2. Nhận dạng tệp thực thi giả thư mục Trong phần này, tác giả trình bày về phương pháp, thuật toán nhận dạng tệp thực thi giả thư mục. Giải pháp đề xuất được xây dựng gồm các bước: (1) trích ảnh biểu tượng của tệp mẫu, (2) tính vector đặc trưng, (3) thêm vector vào tệp input, (4) huấn luyện mạng neuron, (5) kiểm tra tệp và kết luận. Hình 1. Các bước nhận dạng tệp thực thi giả thư mục dùng ANN. 2.1. Dữ liệu đầu vào Dữ liệu ban đầu của bài toán là các biểu tượng của các ứng dụng được chọn ngẫu nhiên từ các ứng dụng, định dạng tệp phổ biến và một số mẫu virus giả thư mục thu thập được trong quá trình nghiên cứu. Dữ liệu ban đầu được chia thành 2 tập dữ liệu: - Tập biểu tượng phổ biến trong hệ điều hành Microsoft Windows. - Tập biểu tượng các mẫu virus giả thư mục thu thập được. Hình 2. Một số biểu tượng trong 2 tập dữ liệu. Tính vector đặc trưng Thêm các vector vào tệp input Huấn luyện mạng neuron Kiểm tra tệp & kết luận Trích ảnh biểu tượng tệp mẫu Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 8 Đại học Đà Nẵng năm 2012 3 2.2. Các bước nhận dạng 2.2.1. Trích ảnh biểu tượng của tệp mẫu Tác giả thực hiện trích biểu tượng của tệp, chuyển sang ảnh dạng bitmap với 3 kênh màu RGB. 2.2.2. Tính vector đặc trưng Vector đặc trưng gồm 5 thành phần: - Trung bình lần lượt các kênh màu Red, Green, Blue trên mỗi pixel của ảnh biểu tượng: 11 x . n i i pi el Red v n , 12 x . n i i pi el Green v n , 13 x . n i i pi el Blue v n (1) - Trung bình mức xám mỗi pixel của ảnh xám từ ảnh biểu tượng: 14 . n i i pixel GrayScale v n (2) - Thực hiện cắt ngưỡng tự động ảnh biểu tượng và tính tỉ lệ điểm ảnh đen: 5 blackpixel v n (3) trong đó n là số pixel ảnh biểu tượng. Kết hợp các đặc trưng ở (1), (2) và (3) ta được vector đặc trưng (v1,v2,v3,v4,v5). 2.2.3. Thêm các vector vào tệp input Mỗi vector đặc trưng được đưa vào tệp vector mẫu (input) theo từng dòng, cuối mỗi dòng là 0 hoặc 1, tương ứng với 2 tập mẫu cần học. 2.2.4. Huấn luyện mạng neuron [1][2] Hình 3. Mạng MLP trong nhận dạng tệp thực thi giả thư mục Neuron lớp vào Neuron lớp ẩn Neuron lớp ra Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 8 Đại học Đà Nẵng năm 2012 4 Hiện nay, các loại mạng neuron thông dụng gồm có: mạng truyền thẳng (Feedforward), mạng hồi qui (Feedback), mạng tự tổ chức (Self-Organizing). Mạng truyền thẳng bao gồm nhiều lớp các đơn vị xử lý phi tuyến (non-linear processing unit). Một vector đầu vào sẽ được đưa vào lớp vào của mạng và sau đó các tính toán được thực hiện lan truyền thẳng từ lớp vào sang các lớp ẩn và kết thúc ở lớp ra. Mạng Perceptron nhiều lớp MLP (MultiLayer Perceptron) là một trong những loại mạng truyền thẳng điển hình, được sử dụng rộng rãi trong các hệ thống nhận dạng như nhận dạng ký tự quang, chữ viết tay, nhận dạng tiếng nói,… Với bài toán nhận dạng tệp thực thi giả thư mục, ta thiết kế một mạng MLP có 3 lớp: lớp vào có 5 neuron tương ứng với 5 phần tử của vector đặc trưng, lớp ẩn có 3 neuron (xác định bằng phương pháp thử-sai (Trial-and-errors)) và lớp ra có 1 neuron tương ứng với giá trị đầu ra là 1 (đúng) hoặc 0 (sai) dựa trên xấp xỉ kết quả hàm sigmoid đơn cực. Số lượng neuron lớp ẩn càng tăng sẽ giúp mạng phân loại dữ liệu chính xác hơn, nhưng đồng thời cũng tăng chi phí tính toán. Mạng được huấn luyện theo giải thuật lan truyền ngược sai số back-propagation [2]. 2.2.5. Kiểm tra tệp & kết luận Tính vector đặc trưng của ảnh biểu tượng tệp cần kiểm tra và truyền vào mạng đã luyện, giá trị đầu ra ở neuron output xấp xỉ 1 thì biểu tượng tệp giống thư mục, xấp xỉ 0 thì ngược lại. 2.3. Kết quả thực nghiệm Thử nghiệm việc huấn luyện mạng với tập mẫu gồm 15 tệp virus giả thư mục Windows XP và 160 biểu tượng của các loại tệp phổ biến, thực hiện trên máy ảo CPU dual core 2.01GHz, 512MB RAM. Số vector đặc trưng = 175, tốc độ học learning_rate = 0.5, hệ số góc hàm sigmoid = 6 Bảng 1. Kết quả thực nghiệm với 5 lần cho mạng học Lần học Số tệp quét Số tệp giả thư mục Phát hiện Phát hiện nhầm Phát hiện thiếu 1 1607 70 72 2 (0.12%) 0 2 1607 70 73 3 (0.19%) 0 3 1607 70 70 0 0 4 1607 70 70 0 0 5 1607 70 72 2 (0.12%) 0 Qua 5 lần thực nghiệm, chúng ta nhận thấy không có tệp virus giả thư mục nào bị bỏ sót, đây là kết quả rất khả quan. Một số tệp bị phát hiện nhầm (chiếm tỉ lệ rất thấp, tỉ lệ này chấp nhận được) là do tập mẫu ban đầu chưa đủ phong phú, đồng thời kết quả huấn luyện mạng neuron có sự khác nhau sau mỗi lần huấn luyện. 3. Kết luận và hướng phát triển Với các kết quả thu được trong quá trình thử nghiệm ta nhận thấy mạng hoạt động khá ổn định với các thông số đã thiết lập, kết quả hầu như không bị ảnh hưởng khi ảnh biểu tượng bị nhiễu đốm. Sau khi huấn luyện, mạng nhận dạng khá tốt các tệp có biểu tượng tương tự thư mục (của cả hệ điều hành Windows XP và Windows 7), tốc độ nhận dạng tương đối nhanh (chưa tới 30 giây để kiểm tra hơn 1600 tệp), độ chính xác hơn 99.8%. Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 8 Đại học Đà Nẵng năm 2012 5 Với mỗi lần luyện mạng, một ma trận trọng số mới sẽ được tạo ra, nên kết quả thử nghiệm sau mỗi lần luyện sẽ có sai khác nhỏ, do đó việc cho luyện mạng nhiều lần và thử nghiệm lại để chọn bộ ma trận trọng số thích hợp là rất cần thiết. Để thu được kết quả nhận dạng với độ chính xác cao hơn cần lượng mẫu biểu tượng phong phú hơn (nhất là biểu tượng của các loại tệp thường thấy trên hệ điều hành Microsoft Windows), từ đó điều chỉnh số lượng neuron lớp ẩn và các thông số mạng cho phù hợp, điều này đòi hỏi thời gian thử nghiệm và huấn luyện mạng lâu hơn. Có thể mở rộng khả năng nhận dạng của mạng đối với các tệp thuộc dòng Fake Icon khác bằng cách cung cấp các tập mẫu huấn luyện tương ứng cho mạng. TÀI LIỆU THAM KHẢO [1] Dave Anderson, George McNeill (2006), Artificial Neural Networks Technology, Prepared for Rome Laboratory RL/C3C Griffiss AFB, NY 13441-5700, USA. [2] Ngô Xuân Bách (2006), Ứng dụng mạng neuron trong nhận dạng chữ viết tay rời rạc hạn chế trực tuyến trên Tablet PC, Trường Đại học Công Nghệ, ĐH Quốc Gia Hà Nội. [3] Đoàn An Hóa, Lê Quốc Nam (2011), Ứng dụng mạng neuron xây dựng hệ thống phát hiện xâm nhập, Trường Đại học Bách khoa, ĐH Đà Nẵng. [4] Đỗ Thị Phú (2008), Nhận dạng ký tự quang học bằng mạng nơron, Trường Đại học Bách khoa, ĐH Đà Nẵng. [5] Paula Odete Fernandes, João Paulo Teixeira, João Matos Ferreira, Susana Garrido Azevedo (2011), “Forecasting Tourism Demand with Artificial Neural Networks”, Book of Proceedings Vol.II – International Conference On Tourism & Management Studies, (2011), tr. 1017-1019. [6] Phunsak Theramongkol (2000), Intelligent Ozone-level Forecasting Using Artificial Neural Network, Environmental Systems Engineering University of Regina, Canada. [7] Sam Maes, Karl Tuyls, Bram Vanschoenwinkel, Bernard Manderick (2002), Credit Card Fraud Detection Using Bayesian and Neural Networks, Vrije Universiteit Brussel, Brussel. [8] Henry A. Rowley, Shumeet Baluja, Takeo Kanade (1998), Neural Network – Based Face Detection, Carnegie Mellon University, USA.
File đính kèm:
- Ứng dụng mạng Neuron nhân tạo để nhận dạng tệp thực thi giả thư mục.pdf