Ứ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%.

pdf5 trang | Chuyên mục: MATLAB | Chia sẻ: dkS00TYs | Lượt xem: 1909 | Lượt tải: 2download
Tóm tắt nội dung Ứng dụng mạng Neuron nhân tạo để nhận dạng tệp thực thi giả thư mục, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
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:

  • pdfỨng dụng mạng Neuron nhân tạo để nhận dạng tệp thực thi giả thư mục.pdf
Tài liệu liên quan