1. Trang chủ
  2. » Luận Văn - Báo Cáo

BÁO CÁO " ỨNG DỤNG MẠNG NEURON NHÂN TẠO ĐỂ NHẬN DẠNG TỆP THỰC THI GIẢ THƯ MỤC " potx

5 480 1

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 348,11 KB

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 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 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

Trang 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:

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 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

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 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

Ngày đăng: 15/03/2014, 01:20

HÌNH ẢNH LIÊN QUAN

Hình 2. Một số biểu tượng trong 2 tập dữ liệu. - BÁO CÁO " ỨNG DỤNG MẠNG NEURON NHÂN TẠO ĐỂ NHẬN DẠNG TỆP THỰC THI GIẢ THƯ MỤC " potx
Hình 2. Một số biểu tượng trong 2 tập dữ liệu (Trang 2)
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  - BÁO CÁO " ỨNG DỤNG MẠNG NEURON NHÂN TẠO ĐỂ NHẬN DẠNG TỆP THỰC THI GIẢ THƯ MỤC " potx
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 (Trang 2)
Hình 1. Các bước nhận dạng tệp thực thi giả thư mục dùng ANN. - BÁO CÁO " ỨNG DỤNG MẠNG NEURON NHÂN TẠO ĐỂ NHẬN DẠNG TỆP THỰC THI GIẢ THƯ MỤC " potx
Hình 1. Các bước nhận dạng tệp thực thi giả thư mục dùng ANN (Trang 2)
2.2. Các bước nhận dạng - BÁO CÁO " ỨNG DỤNG MẠNG NEURON NHÂN TẠO ĐỂ NHẬN DẠNG TỆP THỰC THI GIẢ THƯ MỤC " potx
2.2. Các bước nhận dạng (Trang 3)
Hình 3. Mạng MLP trong nhận dạng tệp thực thi giả thư mục - BÁO CÁO " ỨNG DỤNG MẠNG NEURON NHÂN TẠO ĐỂ NHẬN DẠNG TỆP THỰC THI GIẢ THƯ MỤC " potx
Hình 3. Mạng MLP trong nhận dạng tệp thực thi giả thư mục (Trang 3)
Hình 3. Mạng MLP trong nhận dạng tệp thực thi giả thư mục - BÁO CÁO " ỨNG DỤNG MẠNG NEURON NHÂN TẠO ĐỂ NHẬN DẠNG TỆP THỰC THI GIẢ THƯ MỤC " potx
Hình 3. Mạng MLP trong nhận dạng tệp thực thi giả thư mục (Trang 3)
Bảng 1. Kết quả thực nghiệm với 5 lần cho mạng học - BÁO CÁO " ỨNG DỤNG MẠNG NEURON NHÂN TẠO ĐỂ NHẬN DẠNG TỆP THỰC THI GIẢ THƯ MỤC " potx
Bảng 1. Kết quả thực nghiệm với 5 lần cho mạng học (Trang 4)
Bảng 1. Kết quả thực nghiệm với 5 lần cho mạng học - BÁO CÁO " ỨNG DỤNG MẠNG NEURON NHÂN TẠO ĐỂ NHẬN DẠNG TỆP THỰC THI GIẢ THƯ MỤC " potx
Bảng 1. Kết quả thực nghiệm với 5 lần cho mạng học (Trang 4)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w