ỨNG DỤNG MẠNG NEURON NHÂN TẠO ĐỂ NHẬN DẠNG TỆP THỰC THI GIẢ THƯ MỤC FAKE FOLDER EXECUTABLE FILE RECOGNITION USING ARTIFICIAL NEURAL NETWORK SVTH: Nguyễn Trọng Nguyên Lớp 07T3, Khoa Côn
Trang 1ỨNG DỤNG MẠNG NEURON NHÂN TẠO ĐỂ NHẬN DẠNG TỆP THỰC THI GIẢ THƯ MỤC
FAKE FOLDER EXECUTABLE FILE RECOGNITION USING ARTIFICIAL NEURAL NETWORK
SVTH: Nguyễn Trọng Nguyên
Lớp 07T3, Khoa Công Nghệ Thông Tin, Trường Đại học Bách khoa, Đạ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
Trang 22 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
Trang 32.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:
1 1
x
n
i i
pi el Red v
n
, 2 1
x
n
i i
pi el Green v
n
, 3 1
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:
1 4
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
black
pixel v
n
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
Trang 4Hiệ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
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 để
Trang 5Vớ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