ứng dụng mạng nơron trong phát hiện mã độc

57 520 2
ứng dụng mạng nơron trong phát hiện mã độc

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Có nhiều kỹ thuật phát hiện mã độc đã được sử dụng như: Sử dụng bộ giả lập dựa trên kỹ thuật heuristics, phân rã mã ... tuy nhiên chưa có kỹ thuật nào phát hiện một cách toàn diện. Mặt khác các kỹ thuật này còn phức tạp, và để hiệu cặn kẽ về chúng là việc không đơn giản. Do vậy, việc tìm các phương pháp mới để phát hiện Virus đa hình là cần thiết. Ngoài ra, với sự phát triển của việc ứng dụng trí tuệ nhân tạo trong công nghệ tính toán mềm đang dần trở thành một xu thế tất yếu, sử dụng mạng nơ ron nhân tạo trong các bài toán phân tích và nhận dạng cũng không nằm ngoài xu thế đó. Vậy nên chúng em đã chọn đề tài Nghiên cứu, ứng dụng kỹ thuật dịch ngược và mạng nơron trong phát hiện mã độc để thực hiện nghiên cứu và đã đạt được những kết quả nhất định.

HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA CÔNG NGHỆ THÔNG TIN ĐỀ TÀI THỰC TẬP CƠ SỞ Nghiên cứu, ứng dụng kỹ thuật dịch ngược mạng nơ-ron phát mã độc Cán bộ hướng dẫn: Giảng viên Phạm Văn Hưởng Sinh viên thực hiện: - Ngô Văn Thỉnh - Phạm Cơng Lý - Nguyễn Văn Hồng Lớp: AT9A HÀ NỘI 2015 HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA CÔNG NGHỆ THÔNG TIN ĐỀ TÀI THỰC TẬP CƠ SỞ Nghiên cứu, ứng dụng kỹ thuật dịch ngược mạng nơ-ron phát mã độc Nhận xét cán bộ hướng dẫn: Điểm chuyên cần: Điểm báo cáo: Xác nhận của cán bộ hướng dẫn LỜI CÁM ƠN Chúng em xin chân thành cám ơn thầy giáo Phạm Văn Hưởng, khoa công nghệ thông tin, Học viện Kỹ thuật Mật mã định hướng tận tình hướng dẫn chúng em hồn thành đề tài Chúng em xin chân thành cám ơn thầy đóng góp ý kiến q báu cho chúng em qua buổi seminar để chúng em hồn thành khóa thực tập sở chuyên ngành Hà Nội, ngày 28 tháng 12 năm 2015 Nhóm sinh viên thực MỞ ĐẦU Ngày này cùng với sự phát triển của Internet và máy tính các mối hiểm hoạ cho hệ thống thông tin của chúng ta cũng tăng lên không ngừng Một những nguy mất an toàn cho hệ thống của chúng ta đó là hệ thống có thể bị nhiễm mã độc bất cứ nào Mã độc ngày sử dụng nhiều kỹ thuật phức để tránh bị phát Do đó việc phát mã độc vấn đề khó để phát chúng cách tồn diện, phần mềm phát phải viết cho phát loại bỏ chúng cách xác Có nhiều kỹ thuật phát mã độc sử dụng như: Sử dụng giả lập dựa kỹ thuật heuristics, phân rã mã nhiên chưa có kỹ thuật phát cách toàn diện Mặt khác các kỹ thuật này còn phức tạp, và để hiệu cặn kẽ về chúng là việc khơng đơn giản Do vậy, việc tìm phương pháp để phát Virus đa hình là cần thiết Ngoài ra, với sự phát triển của việc ứng dụng trí tuệ nhân tạo công nghệ tính toán mềm dần trở thành một xu thế tất yếu, sử dụng mạng nơ ron nhân tạo các bài toán phân tích và nhận dạng cũng không nằm ngoài xu thế đó Vậy nên chúng em đã chọn đề tài "Nghiên cứu, ứng dụng kỹ thuật dịch ngược mạng nơ-ron phát mã độc" để thực hiện nghiên cứu và đã đạt được những kết quả nhất định MỤC LỤC LỜI CÁM ƠN .3 MỞ ĐẦU .4 MỤC LỤC DANH MỤC HÌNH VẼ CHƯƠNG 1:KỸ THUẬT DỊCH NGƯỢC CHƯƠNG 2:MẠNG NƠ RON NHÂN TẠO 13 CHƯƠNG 3:ÁP DỤNG KỸ NGHỆ DỊCH NGƯỢC VÀ ANN ĐỂ PHÁT HIỆN MÃ ĐỘC .33 KẾT LUẬN 55 TÀI LIỆU THAM KHẢO .56 DANH MỤC HÌNH VẼ HÌNH 1.1: IDA PRO 6.2 11 HÌNH 2.2: MƠ HÌNH NƠ-RON SINH HỌC 14 HÌNH 2.3: MƠ HÌNH MẠNG NƠ-RON NHÂN TẠO Ở MỨC ĐƠN GIẢN 15 HÌNH 2.4: HÀM ĐỒNG NHẤT (IDENTITY FUNCTION) 16 HÌNH 2.5: HÀM BƯỚC NHỊ PHÂN (BINARY STEP FUNCTION) 17 HÌNH 2.6: HÀM SIGMOID 17 HÌNH 2.7: HÀM SIGMOID LƯỠNG CỰC 17 HÌNH 2.8: MẠNG TRUYỀN THẲNG MỘT LỚP 18 HÌNH 2.9: MẠNG TRUYỀN THẰNG NHIỀU LỚP 19 HÌNH 2.10: MƠ HÌNH HUẤN LUYỆN CĨ GIÁM SÁT 20 HÌNH 2.11: MƠ HÌNH MẠNG TRUYỀN THẲNG MỘT LỚP 21 HÌNH 2.12: MẠNG NƠ-RON TRUYỀN THẰNG NHIỀU LỚP .21 HÌNH 2.13:MƠ HÌNH LAN TRUYỀN NGƯỢC 22 HÌNH 2.14: MỘT NƠ RON TRONG TẦNG ẨN HOẶC TẦNG XUẤT 23 HÌNH 2.15:KIẾN TRÚC MẠNG PERCEPTRON TẦNG 26 HÌNH 2.16: HÀM SIGMOID LƯỠNG CỰC 30 HÌNH 2.17: NEUROPH STUDIO 31 HÌNH 2.18: NEURAL NETWORK TYPES 31 HÌNH 2.19: LEARNING RULES 32 HÌNH 3.20:CÁC LOẠI MÃ ĐỘC HẠI 33 HÌNH 3.21: CẤU TRÚC CỦA MỘT FILE PE 35 HÌNH 3.22: MINH HỌA CẤU TRÚC CƠ BẢN CỦA PE FILE 36 HÌNH 3.23: CẤU TRÚC DOS HEADER 37 HÌNH 3.24: PHẦN DOS HEADER VÀ PE HEADER CỦA BASECALC.EXE 38 HÌNH 3.25: CẤU TRÚC IMAGE_NT_HEADER .38 HÌNH 3.26: CẤU TRÚC FILEHEADER 39 HÌNH 3.27: GIÁ TRỊ NUMBEROFSECTION 40 HÌNH 3.28: CẤU TRÚC DATA DIRECTORY 40 HÌNH 3.29: CẤU TRÚC PE CỦA BASECALC.EXE 42 HÌNH 3.30: CẤU TRÚC DATA DIRECTORY 42 HÌNH 3.31: DANH SÁCH 16 DIRECTORY 43 HÌNH 3.32: THƠNG TIN CÁC DIRECTORY SỬ DỤNG HEXDITOR 43 HÌNH 3.33: CẤU TRÚC SECTION TABLE .44 HÌNH 3.34: SƠ ĐỒ CHỨC NĂNG TRÍCH CHỌN DẤU HIỆU DỰA VÀO CFL 46 HÌNH 3.35: MƠ HÌNH CHỨC NĂNG TRÍCH CHỌN DẤU HIỆU SỬ DỤNG THUẬT TOÁN FISHER SCORE .48 HÌNH 3.36: MƠ HÌNH CHỨC NĂNG HỆ THỐNG NHẬN DẠNG MÃ ĐỘC BẰNG PHƯƠNG PHÁP MẠNG NƠ -RON .49 HÌNH 3.37: MƠ HÌNH CẤU TRÚC MẠNG NƠ-RON DỰA TRÊN PERCEPTRON TẦNG .50 CHƯƠNG 1: KỸ THUẬT DỊCH NGƯỢC 1.1 Khái niệm: Trước tìm hiểu kỹ thuật dịch ngược ta xem xét đến tình sau: Bạn may mắn thưởng thức mang nhà ăn ngon từ nhà hàng tiếng giới Nhưng lượng thức ăn có hạn, để mời bạn bè bữa tiệc? Bạn làm để thực ý định ??? Có cách, là, trước thưởng thức, bạn nên tìm cách học xem họ chế biến Không may thay, nhà hàng lúc bạn đến, xa, đầu bếp khơng có thời gian hướng dẫn bạn, họ giữ bí mật, khơng tiết lộ cho bạn Bạn làm gì? Bây khó khăn nhiều Điều buộc bạn phải quan sát xem ăn gồm có thành phần gì, nếm thử, đốn xem có gia vị đặc trưng Đây coi khái niệm kỹ thuật dịch ngược thức ăn! Trong viết xem xét khái niệm kỹ thuật dịch ngược, khái niệm kỹ thuật dịch ngược công nghệ thông tin “Kỹ thuật dịch ngược q trình tìm hiểu cơng nghệ sử dụng thiết bị, đối tượng hệ thống thơng qua việc phân tích cấu trúc, chức hoạt động ” • Kỹ thuật dịch ngược khái niệm rộng, bao gồm dịch ngược phần cứng dịch ngược phần mềm Nhưng đề tài này, tìm hiểu kỹ thuật dịch ngược phần mềm • Việc phân tích hoạt động cụ thể hệ thống hay chương trình sử dụng việc bảo trì hệ thống hay chương trình Một mục đích khác kỹ thuật dịch ngược phục vụ cho việc tạo hệ thống chương trình có chức tương tự mà không sử dụng chép đơn giản (khơng có hiểu biết) hệ thống/chương trình gốc 1.2 Ứng dụng kỹ thuật dịch ngược Dịch ngược sử dụng nhiều mảng khoa học máy tính sau mảng chính: • Có tay ý tưởng code tác giả Tái tạo lại file code ban đầu dựa vào file nhị phân • Phá vỡ chế bảo vệ phần mềm Phá vỡ chế bảo vệ chương trình Điều có nghĩa gỡ bỏ tính thời gian dùng thử, đăng kí sử dụng hay tất thứ mà chương trình thương mại làm để bắt người dùng phải trả tiền • Học tập nghiên cứu virus hay mã độc Nghiên cứu virus mã độc Việc dịch ngược cần thiết bên ngồi có nhiều người viết virus họ chẳng để lộ cách họ viết virus, mục tiêu virus hay cách mà virus đạt mục tiêu • Kiểm tra chất lượng phần mềm Kiểm tra thẩm định tính an tồn lỗ hổng phần mềm Khi mà phải làm việc với chương trình lớn (ví dụ hệ điều hành Windows) việc dich ngược giúp đảm bảo khơng có lỗ hổng nghiêm trọng hay làm khó cracker cố gắng crack phần mềm • Bổ sung thêm tính vào chương trình Chúng ta thêm thay đổi tính phần mềm theo ý muốn VD: thay đổi ảnh phần mềm, thêm tính mã hóa văn vào chương trình soạn thảo… 1.3 Ứng dụng kỹ thuật dịch ngược phát mã độc hại 1.3.1 Mở đầu • Ngày Internet trở nên phổ biến toàn cầu, việc đảm bảo ATTT lại phải đối mặt với vấn đề khó khăn trước Một vấn đề vấn đề phần mềm độc hại (malware) Qua nhiều năm nghiên cứu khảo sát người đưa nhiều giải pháp nhằm đối phó lại với phần mềm độc hại Nhưng có lẽ cơng việc bắt buộc với giải pháp điều trước hết phải làm dịch ngược lại mã nguồn phần mềm độc • Với mong muốn tìm hiểu thêm phần kiến thức kĩ thuật dịch ngược đồng thời tiếp bước với phần giới thiệu tổng quan kỹ thuật dịch ngươc mà nhóm tìm hiểu chúng em xin trọng tâm vào phần “Reversing Malware” 1.3.2 Thiết lập mơi trường an tồn • Ở phần này, chúng em xin mô tả kỹ thuật dịch ngược mức bản, thực tế dịch ngược phần mềm độc hại làm thủ công tay mà thực tế có sẵn cơng cụ hệ thống để làm việc này, cung cấp cho đoạn mã dạng assembler, dạng ngôn ngữ gần với ngôn ngữ máy Tuy nhiên trước hết xem xét ta dịch ngược phần mềm độc có nghĩa làm việc với chúng dễ gặp nguy hiểm, nên ta làm trước tiên? Vâng, thiết lập mơi trường thật an tồn • Rõ làm việc với phần mềm độc hại, nghĩa hệ thống sử dụng gặp nguy bị nhiễm mã độc, cần phải ý thiết lập môi trường làm việc thật an tồn Chúng ta sử dụng phần mềm máy ảo Microsoft Virtual PC, VMWare Workstation, hay Oracle Virtual Box… ta dùng hệ thống thật Tuy nhiên hệ thống nên hoạt động chế độ không kết nối mạng, kết nối mạng dẫn đến phần mềm độc có hội phát tán lây nhiễm sang hệ thống khác Nếu cần chuyển file thực thi (chẳng hạn file chương trình độc hại) từ hệ thống vào hệ thống kiểm tra, tốt ta nên sử dụng việc ghi đĩa CD hay DVD để chắn chúng tự tái ổ đĩa lây sang hệ thống khác Ngoài ra, lưu trữ chương trình độc hại ổ đĩa cứng hay đĩa CD, ta đổi tên chúng dạng non-executable (đổi tên phần mở rộng file, vd: excute.exe > excute.txt) 1.3.3 Kỹ thuật dịch ngược phần mềm độc  Yêu cầu kỹ Kỹ cần thiết để dịch ngược khả lập trình tốt, đặc biệt kiến thức ngôn ngữ assembler Chúng ta không cần phải đạt trình độ lập trình cao cấp hồn tồn u cầu tối thiểu phải có khả đọc hiểu mã nguồn, hiểu rõ nguyên lý chức hàm lệnh Cần phải kiên trì, hiểu biết sâu hệ thống, nguyên lý hệ điều hành… tư logic tốt biết dịch ngược mã nguồn hồn tồn điều khơng đơn giản! Cụ thể, cần phải có kiến thức hiểu biết về:           System Monitor, Process Explorer, CaptureBAT, Regshot, VMware BinText, LordPE, QuickUnpack, Firebug, PELister, PEiD IDA Pro, OllyDbg plug-in OllyDump, HideOD Rhino, Malzilla, SpiderMonkey, Jsunpack-n Internet Explorer Developer Toolbar, cscript Honeyd, netcat, Wireshark, curl, wget, xorsearch OfficeMalScanner, OffVis, Radare, FileInsight Framework plug-in malfind2 apihooks SWFTools, Flare, shellcode2exe, giả mạo DNS… Chuẩn bị công cụ Công cụ cần thiết phân tách (disassembler), có nhiều cơng cụ giúp ta dịch ngược lại mã nguồn phổ biến hay dùng IDA pro hay OllyDebug IDA pro có nhiều phiên bản, phiên 6.5 IDA pro với nhiều tính hữu ích debug nhiều định dạng file đưa sơ đồ diagram… Đồng thời xây dựng cho nhiều hệ điều hành Linux, Windows Mac Trong kỹ thuật dịch ngược, IDA giúp ta phân tích đoạn mã tĩnh cách hữu hiệu 10 Hình 3.31: Danh sách 16 directory Trường “import table” bao gồm thông tin RVA kích thước IMAGE_IMPORT_DIRECTORY array – the Import Directory Trong chương trình HexDitor, hình minh họa thấy PE Header với phần data directory tô nét màu đỏ Mỗi khu vục khoan biều diễn cho cấu trúc IMAGE_DATA_DIRECTORY Giá trị DWORD VỉtualAddress cịn giá trị cuối isize Hình 3.32: Thơng tin Directory sử dụng HexDitor Trong hình minh họa trên, Import Table tô mầu hồng byte RVA 02D000h Kích thước Import Table 18 byte Vị trị data directory từ phần đâu PE Header luôn giống Để xác định vị trí directory đặc biệt, bạn xác định rõ địa tương đối từ data directory Sau sử dụng địa ảo xác định section directory Một bạn phân tích section nịa chứa directory, Section Header cho section sử dụng đẻ tìm offset xác 43 1.8.4.5 The Section Table Section Table thành phần sau PE Header Nó mảng cấu trúc IMAGE_SECTION_HEADER, phần tử chứa thông tin section PE File Ví dụ thuộc tích offset ảo Số luoch section thành phần thứ FileHeader Nếu có section PE File có cấu trúc table Mỗi cấu trúc Header 40 byte khơng có thêm “padding” chúng (padding khơng chèn thêm byte có giá trị 00h vào) Cấu trúc định nghĩa file windows.inc sau: Hình 3.33: Cấu trúc Section Table Các thành phần: Name1 (NB thí file is byte): Tên nhãn chí để trống VirtualSize (DWORD union): Kích thước thực section data the byte Nó nhỏ section đĩa trình loader định rõ vị trí nhó cho section VirualAddress (RVA section): Trình PE loader phân tích sử dụng trường ánh xạ section vào nhớ Vì giá trị trường 1000h PE File nạp địa 400000h, section nạp địa 401000h SizeOfRawData: Kích thước section data file đĩa làm tròn lên bội số liên kết file trình biên dich PointrToRawData (Raw Offset): Thành phần thực hữu dụng offset từ vị trí bắt đầu file phần section data Nếu có giá trị 0, section data không chứa file không bị bó buộc vào thời gian nạp (load time) Trình PE loader sử dụng giá trị trường để tìm kiếm phần data section đầu file 44 Characteristics : Bao gồm cờ ví dụ section chứa executable code, initialized data, uninitialized, ghi đọc Có nhiều trường liệu cấu trúc file PE mà dùng để làm đặc trưng cho việc phân biệt file có bị nhiễm mã độc hay khơng Dưới trường dùng đặc trưng: • • • • • • • • • • • • • • • • • • • • • • • DOS Checksum Number Of Sections Time Stamp Number Of Symbols Size Of Code Size Of Initialized Data Section Size Of Uninitialized Data Section Major OS Version Minor OS Version Major Image Version Minor Image Version Major Subsystem Version Minor Subsystem Version Entry Point Image File Checksum Size Of Exports Size Of Imports Size Of Resources Size Of Exceptions Size Of Attribute Certificate Table Major Linker Version Minor Linker Version DLL Characteristics 1.8.4.6 Trích chọn dấu hiệu (đặc trưng) Có vài thuật tốn sử dụng cho việc tìm tập đặc trưng file như: CHI Square, Information Gain, Gain Ratio, T-Test, Fisher Score… a) Thuật toán Fisher Score Kỹ thuật Fisher Score phương pháp quan trọng việc trích chọn dấu hiệu Ý tưởng phương pháp tìm kiếm tập đặc trưng liệu không gian liệu mà liên quan tới 45 đặc trưng chọn, khoảng cách điểm liệu (data points) lớp khác rộng tốt khoảng cách data points lớp nhỏ tốt Fisher Score tính sai phân độ lệch trung bình độ lệch chuẩn mẫu âm tính mẫu dương tính tùy vào đặc trưng đặc thù Nó phân loại (rank) cho đặc trưng Rank đặc trưng định nghĩa tỷ lệ sai phân tuyệt đối giá trị trung bình mẫu âm tính - mẫu dương tính tổng độ lệch chuẩn mẫu dương tính - âm tính, xem xét đặc trưng Một trị số lớn rank bao gồm khác biệt lớn mẫu âm tính dương tính, việc phân tích đặc trưng quan trọng việc phân chi giá trị âm tính hay dương tính Thế nên, đặc trưng thích hợp Một giá trị nhỏ rank bao gồm khác biệt mẫu âm tính dương tính, quan trọng việc phân chi giá trị âm tính dương tính, nên đặc trưng khơng thích hợp Ri = µ i , p − µi , n σ i, p + σ i,n Trong đó: Ri tỷ số (rank) µ độ lệch trung bình ( trùng với giá trị trung bình) của mẫu âm N tính (n) dương tính (p) phân tích đặc trưng i đó, µ = ∑ xi N i =1 σ độ lệch chuẩn mẫu âm tính dương tính phân tích đặc N trưng thứ i đó, σ = x − x ∑ i N i =1 ( ) b) Sử dụng Entropy thư viện hàm (CFL-Common Function Library Construction) Hình 3.34: Sơ đồ chức trích chọn dấu hiệu dựa vào CFL 46 Cơng việc xây dựng sở liệu thư viện tập hàm sở, việc phân tích file “sạch” từ rút hàm “sạch” để đưa vào sở liệu so sánh Các file có chứa mã độc diện tình nghi đưa vào tách hàm (Function Extractor), hàm so sánh với sở liệu hàm (Commom Function Library) thông qua lọc hàm (Common Function Filter) để tìm hàm “lạ” Những hàm “lạ” đưa vào sinh đặc trưng ( Feature Generator) chọn đặc trưng thích hợp việc sử dụng tính Entropy hàm “lạ” Sau cùng, tập đặc trưng hàm có entropy lớn 255 Entropy (candidate) = −∑ i =0 Với ci c log i l l l – kích cỡ hàm tính byte c i số lần xuất byte i 1.9 Áp dụng kỹ nghệ dịch ngược mạng nơ – ron nhân tạo để phát mã độc Hệ thống triển khai tiến hành qua hai giai đoạn Giai đoạn thực thủ tục chọn đặc trưng việc lấy đầu vào (input) từ file lấy làm liệu huấn luyện Giai đoạn hai thực thủ tục huấn luyện mạng nơ ron sau xác định xem file có bị nhiễm mã độc hay khơng 1.9.1 Mơ hình trích chọn dấu hiệu sử dụng thuật toán Fisher Score Dữ liệu huấn luyện bao gồm loại file: file không bị nhiễm file bị nhiễm mã độc đưa vào trích chọn đặc trưng Bộ trích chọn đặc trưng lấy đặc trưng ( trường liệu cấu trúc file PE) thời điểm từ tập tất file mẫu huấn luyện gửi tới Fisher Score Kỹ thuật Fisher Score chọn đặc trưng phù hợp việc lấy mẫu đặc trưng có rank cao Sau M đặc trưng chọn đầu vào cho giai đoạn 47 Training Data Fishers Score Implementor Feature Extrator Rank obtained by Fishers Score Next Feature Stored Rank Values Feature Selector Selected M features Hình 3.35: Mơ hình chức trích chọn dấu hiệu sử dụng thuật tốn Fisher Score 1.9.2 Mơ hình huấn luyện nhận dạng mã độc sử dụng mạng nơ ron nhân tạo Để xây dựng hệ thống nhận dạng mã độc phương pháp mạng nơ ron cần giải vấn đề sau: – Lựa chọn topology mạng nơ ron xác định số lượng nơ ron tất tầng – Lựa chọn thuật toán huấn luyện mạng nơ ron – Huấn luyện mạng nơ ron cách điều chỉnh trọng số liên kết nơ ron phù hợp với tiêu chí huấn luyện sử dung tập vecto đầu vào tập huấn luyện 48 Khối huấn luyện Các đặc trưng trích chọn lấy tập sở liệu Thủ tục tạo tập các vecto đầu vào để huấn luyện Giá trị của các vecto được đưa vào các nơ ron ở tầng đầu vào Thủ tục huấn luyện mạng nơ ron (đa perceptron) theo giải thuật lan truyền ngược mạng nơ ron Mẫu huấn luyện Xử lý REsơ bộ Cơ sở dữ liệu các tham số của mạng nơ ron Mẫu kiểm tra Thủ tục tạo vecto đầu vào X để nhận dạng Giá trị của vecto được đưa vào các nơ ron ở tầng đầu vào vào Thủ tục nhận dạng Kết quả nhận dạng Đặc trưng file cần nhận dạng Khới nhận dạng Hình 3.36: Mơ hình chức hệ thống nhận dạng mã độc bằng phương pháp mạng nơ -ron Mô hình bao gồm ba khối chức là: khối xử lý sơ (dịch ngược), khối huấn luyện và khối nhận dạng Phụ thuộc vào việc lựa chọn thủ tục huấn luyện nhận dạng, mẫu huấn luyện mẫu kiểm tra đưa vào khối xử lý sơ Mẫu huấn luyện lấy từ tập file thuộc hai lớp: lớp file bị nhiễm lớp file không bị nhiễm Mẫu kiểm tra lấy từ file cần phân tích để kiểm tra xem file có bị nhiễm mã độc hay không Khối xử lý sơ thực chức sau: – Kiểm tra file đưa vào khối – Thực giải mã dựa cấu trúc file – Trích chọn đặc trưng file Chuỗi câu lệnh đầu vào cho khối huấn luyện khối nhận dạng (phụ thuộc vào việc lựa chọn thủ tục huấn luyện hay nhận dạng) Chuỗi lệnh lấy từ tập huấn luyện đưa vào khối huấn luyện chuỗi lệnh lấy từ file phân tích đưa vào khối nhận dạng Khối huấn luyện mạng nơ ron giải toán huấn luyện mạng nơ ron Khối bao gồm hai thành phần: thủ tục tạo tập vecto đầu vào để huấn luyện mạng nơ ron thủ tục huấn luyện mạng nơ ron theo giải thuật lan truyền ngược Thủ tục tạo tập vecto đầu vào để huấn luyện mạng nơ ron nhận chuỗi lệnh từ khối xử lý sơ tính tần suất xuất câu lệnh chuỗi từ hình thành lên vecto đầu vào để đưa vào thủ tục huấn luyện mạng nơ ron theo giải thuật lan truyền ngược Đầu khối huấn luyện mạng nơ ron mơ hình perceptron lớp với trọng số liên kết nơ ron hiệu chỉnh để sai số giá trị đầu mạng nơ ron tính thực tế giá trị mong muốn nhỏ Nói cách khác, 49 đầu khối huấn luyện mạng nơ ron sẵn sàng để thực nhận dạng xem file đưa vào phân tích có bị nhiễm virus hay khơng Khối nhận dạng mơ hình dùng giải toán nhiễm mã độc file phân tích Khối bao gồm hai thành phần: thủ tục tạo vecto đầu vào cho mạng nơ ron để nhận dạng thủ tục nhận dạng Trong thủ tục tạo vecto đầu vào để nhận dạng thực tương tự thủ tục tạo vecto đầu vào để huấn luyện Tham số đầu vào cho thủ tục nhận dạng tham số đầu trình huấn luyện Thủ tục nhận dạng thực tính giá trị đầu mạng nơ ron ứng với vecto đầu vào tạo thành từ mẫu kiểm tra tham số mạng nơ ron để từ đưa định việc file đưa vào phân tích bị nhiễm hay khơng bị nhiễm mã độc 1.9.3 Mơ hình cấu trúc hệ thống nhận dạng mã độc bằng phương pháp mạng nơ ron Mơ hình cấu trúc hệ thống nhận dạng mã độc phương pháp mạng nơ ron đưa hình 3.3 với tầng tầng đầu vào, tầng thứ hai tang ẩn tầng thứ tầng đầu xb ≡ +1 wb(1)2 +1 wb(1)1 x1k (1) 11 w (1) w21 (1) w31 x u1 w12(1) u2 (1) 2n2 w w32(1) x w2(2) wn(2)2 w3(1)n un wn(1)11 wn(1)12 k n1 wb(2) w1(2) w1(1)n (1) w22 x2k k (1) wbn wn(1)1n Hình 3.37: Mô hình cấu trúc mạng nơ-ron dựa perceptron tầng Trong - n1 : Sớ lượng nơ ron tầng đầu vào của mạng; - n2 : Số lượng nơ ron ở tầng ẩn của mạng; 50 yk dk -  N ki k 1, ⇔ pi = k > X k = {xik } , với xik =  L −1, ⇔ p k = i  , với N ki là số lần xuất hiện lệnh thứ - k tương ứng chuỗi đầu vào có độ dài Lk ; wij(1) là giá trị trọng số liên kết giữa các nơ ron tầng đầu vào và tầng ẩn, đó i=(1;n1), j=(1;n2); wbj(1) là giá trị trọng số liên kết giữa nơ ron bias và tầng ẩn, đó j = (1;n2); - w(2) là giá trị trọng số liên kết giữa các nơ ron tầng ẩn và tâng đầu ra, đó j - j = (1;n2); wb(2) là giá trị trọng số liên kết giữa nơ ron bias và tầng đầu ra; u j là giá trị đầu của các nơ ron tầng ẩn; η là hằng số tốc độ học y k giá trị đầu vào thực tế của mạng nơ ron; d k giá trị mong muốn ở đầu của mạng nơ ron; - Kiến trúc mạng nơ ron tầng tổng qt mơ tả sau: • Đầu vào vector đặc trưng n chiều (n-dimensional Feature Vector) X={x1,x2, xn} với n là số các lệnh Vì vậy, mỗi mẫu sẽ được đại diện bởi chính vector đặc trưng của nó Đầu y là giá trị tḥc tập (-1;1) • Mỗi nơron thuộc tầng ẩn liên kết với tất nơron thuộc tầng đầu vào • Đầu của nơ ron ở tầng đầu vào là đầu vào của nơ ron ở tầng ẩn Hoạt động mạng nơ ron tầng sau: tầng đầu vào nơron nhận tín hiệu vào xử lý (tính tổng trọng số, gửi tới hàm truyền) cho kết (là kết hàm truyền); kết truyền tới nơron thuộc tầng ẩn, sau cùng kết quả ở tầng ẩn sẽ được truyền tới nơ ron đầu 1.10 Mô hình phân tích quá trình nhận dạng mã độc bằng phương pháp mạng nơ ron ` Chúng ta quy ước nếu đầu của quá trình huấn luyện mạng là số âm thì ta coi file được phân tích không bị nhiễm mã độc, ngược lại nếu đầu là số dương thì file được phân tích đã bị nhiễm Mô hình phân tích quá trình nhận dạng virus đa hình phương pháp mạng nơ ron bao gồm: Mô hình quá trình huấn luyện hệ thống nhận dạng mã độc bằng phương pháp mạng nơ ron Mô hình quá trình nhận dạng mã độc Biểu thức để đánh giá hiệu quả của quá trình nhận dạng Sau chúng ta sẽ tìm hiểu chi tiết các mơ hình này 1.10.1 Mơ hình phân tích quá trình huấn luyện Hàm kích hoạt 51 eα x + e −α x f ( x ) = tanh(α x ) = α x −α x e −e (1) Đạo hàm của hàm kích hoạt f ′( x ) = α (1 − f ( x)) (2) Hàm tính tín hiệu đầu của nơ-ron thứ j tầng ẩn  n2  u j = f  ∑ xi wij(1) + xb wbj(1) ) ÷  i =1  (3) Hàm tính tín hiệu đầu của nơ ron tầng đầu ra:  n2  n (2)  n1 (2)  (1) (1)  (2)  y = f  ∑ w(2) u + w = f ÷  ∑ w j f  ∑ xi wij + wbj 1÷+ wb 1 j j b  i =1   j =1   j =1  (4) Tính hàm mục tiêu:  1   n2  n1  1 (2)  (k ) E ( w) = ( y ( k ) − d ( k ) )2 =  f  ∑ w(2)  (5) j f  ∑ xi wij + wbj ÷+ wb ÷− d 2   j =1  i =1    Biểu diễn tốc độ biến thiên của hàm mục tiêu theo cặp nơ ron của các tầng tương ứng: ∆wij(1) = −η ∂E ∂wij(1) (6) ∆w(2) j = −η ∂E ∂w(2) j (7) ∂E ∂E dy ∂u j = × × (1) ∂wij ∂y du j ∂wij(2) (8) dy = − u 2j du j (9) ∂u j ∂wij(2) = xi (10) ∂E n ∂E dy ∂u j n ∂E dy =∑ × × =∑ × ×w(2) j ∂y j =1 ∂y du j ∂y j =1 ∂y du j δ uj = ∂E ∂y × ∂y ∂u j (11) 12) dy   δ uj =  w(2) =  w(2) j ×δ  × j ×δ  ×(1 − u j ) dx (13) dy δ0 = ( y − d ) × = ( y − d ) ×(1 − y ) du j (14) ij - - Tầng đầu vào và tầng ẩn: ∂E = δ uj ×xi ∂wij(1) (15) Tầng đầu và tầng ẩn: 52 ∂E = δ ×u j ∂w(2) j - - (16) Nơ ron bias ở tầng ẩn và tầng đầu ra: ∂E = δ uj ×(+1) ∂wbj(1) (17) Nơ ron bias ở tầng ẩn và tầng đầu vào ∂E = δ ×(+1) ∂wb(2) (18) Tính gia sớ để tinh chỉnh các hệ số trọng số đơn đối với trọng số liên kết giữa các nơ ron:  + ( k −1)  ∂E ( w)( k )   ∂E ( w)( k −1)  η ×∆ , nờ u ì >0 ữ ữ ij (1) (1) ÷  ÷ ∂ w ∂ w  ij ij       ∂E ( w)( k )   ∂E ( w)( k −1)   ∆ ij( k ) = η − ×∆ ij( k −1) , nê´u  × 0 ữ ij max (1) ÷  ∂w(1) ÷ ÷ ∂ w  ij ij     =  ∂E ( w)( k )   ∂E ( w)( k −1)   − ( k −1) max( η ×∆ , ), nờ u ì y por ⇒ «File không bị nhiễm» 54 KẾT LUẬN Trong đề tài thực tập sở này, chúng em đã nghiên cứu và tìm hiểu về mã độc cùng sự nguy hiểm của nó từ đó thấy được sự cấp thiết của việc tìm một phương pháp phát hiện mã độc Trong mảng trí tuệ nhân tạo, đặc biệt là mạng nơ ron, đã có những thành công nhất định những ứng dụng phức tạp phân loại, xử lý ảnh, hệ thống điều khiển, dự báo, đặc biệt các bài toán nhận dạng Bằng việc sử dụng kỹ thuật dịch ngược mạng nơ ron một tiền đề để giải quyết, chúng em đã xây dựng được mô hình phát mã độc bằng mạng nơ ron sử dụng giải thuật lan truyền ngược Tuy nhiên hệ thống nhận dạng mã độc phương pháp mạng nơ ron dừng góc độ lý thuyết (mơ hình cấu trúc chức năng, mơ hình phân tích) Trong thời gian tới, có thời gian nhóm chúng em tiếp tục phát triển nội dung nghiên cứu đề tài theo hướng thực nghiệm: xây dựng chương trình ứng dụng sử dụng cơng nghệ dịch ngược mạng nơ ron để phát mã độc (xác định số lượng nơ ron tầng đầu vào, tầng ẩn, tham số trọng số liên kết nơ ron, độ dài tối thiểu chuỗi lệnh lấy từ mẫu huấn luyện mẫu kiểm tra, lực lượng tối thiểu tập huấn luyện cho xác suất sai lầm loại I, loại II nhỏ nhất,… 55 TÀI LIỆU THAM KHẢO [1] Rubén Santamarta, 2006 Generic Detection and Classification of Polymorphic Malware Using Neural Pattern Recognition, [2] Simon S Haykin, 1999 Neural Networks-A Comprehensive Foundation, 2nd Edition Ontario: Prentice Hall International, Inc [3] Bài giảng công nghệ tính toán mềm, [4] An In-Depth Look into the Win32 Portable Executable File Format, [5] Virus Detection using Artificial Neural Networks, International Journal of Computer Applications (0975 – 8887), Volume 84 – No 5, December 2013 [6] What is Reverse Engineering, vnisa.org.vn/reverse/reverse-engineering.html Cung Thế Hưng, http://ctf.ist- [7] Asaf Shabtai, Eitan Menahem, and Yuval Elovici, F-Sign: Automatic, Function-based Signature Generation for Malware, Deutsche Telekom Laboratories at Ben-Gurion University, and Department of Information Systems Engineering, Ben-Gurion University, Be’er-Sheva, 84105 Israel 56

Ngày đăng: 15/05/2016, 21:50

Từ khóa liên quan

Mục lục

  • 1.1. Khái niệm:

  • 1.2. Ứng dụng của kỹ thuật dịch ngược.

  • 1.3. Ứng dụng kỹ thuật dịch ngược trong phát hiện mã độc hại

    • 1.3.1. Mở đầu

    • 1.3.2. Thiết lập môi trường an toàn

    • 1.3.3. Kỹ thuật dịch ngược phần mềm độc.

    • 1.4. Cấu trúc mạng nơ-ron nhân tạo (Artifical Neural Networks-ANN):

      • 1.4.1. Hàm kích hoạt

      • 1.4.2. Phân loại mạng nơ-ron nhân tạo:

      • 1.4.3. Các phương pháp huấn luyện mạng nơ-ron:

      • 1.4.4. Mạng nơ-ron truyền thằng

        • 1.4.4.1. Mạng nơ-ron truyền thằng một lớp:

        • 1.4.4.2. Mạng nơ-ron truyền thẳng nhiều lớp:

        • 1.5. Tìm hiểu giải thuật lan truyền ngược

          • 1.5.1. Lan truyền ngược

          • 1.5.2. Sai số lan truyền ngược:

          • 1.5.3. Điều kiện kết thúc:

          • 1.5.4. Kiến trúc mạng:

          • 1.5.5. Huấn luyện mạng

          • 1.5.6. Giải thuật lan truyền ngược cải tiến

          • 1.6. Công cụ hỗ trợ Neuroph Framework

          • 1.7. Kết luận

          • 1.8. Tìm hiểu về mã độc

            • 1.8.1. Thực trạng về an toàn hệ thống mạng máy tính hiện nay

            • 1.8.2. Các loại mã độc hại:

Tài liệu cùng người dùng

Tài liệu liên quan