智能手机恶意代码检测

.2Abstract..21概述..31.1研究背景31.2国内外研究状况31.3研究的目的和内容42 相关技术研究42.1 Visual C++42.2 Kmp匹配算法.53 手机恶意代码的攻击方式和常见病毒的特征53.1 攻击目标63.2 传播途径6 3.2.1 终端-终端传播.6 3.2.2 终端-网关-终端传播63.2.3 PC(计算机) -终端63.3 常见恶意代码的特点74 设计与实现74.1 FileScanner.h 函数74.2 KsAsmScan.h函数和KsScanCode.h函数84.3 特征码格式84.4 特征码字符串解析84.5 文件的读取94.6 FileScanner.cpp104.7 resource.h和resource.rc115 测试结果126 总结和展望126.1 总结126.2 展望 13智能手机恶意代码检测软件开发计算机科学与技术专业学生 李栋指导教师 任守纲随着智能手机的普及, 智能手机已经融入人们的商务、工作、生活等领域,其安全问题却成了重大潜在威胁,手机恶意代码也接踵而至。本文首先介绍了恶意代码特征码的格式和扫描规则,通过特征码匹配能特别标识手机恶意代码。接着分析了恶意代码检测的匹配算法—kmp匹配算法,用来检测pe文件和恶意代码特征码是否匹配。然后利用C++语言和api函数实现了智能手机恶意代码检测软件的原型。最后通过大量的实验数据验证了该恶意代码检测软件的可行性。
目录
Research on Prevention Model of Malicious Code
in Smart Phone
Student majoring in computer science and technology Li Dong
Tutor Ren Shougang
Abstract:With the popularity of smart mobile phone, mobile phone has been integrated into peoples business, work, life and other fields, the safety of mobile phone  *好棒文|www.hbsrm.com +Q: #351916072# 
has become a major threat. This paper first introduces the malicious code feature and the scanning rule, through the signature matching can identify code in mobile phone. First analyzes the malicious code detection KMP algorithm, is used to detect the PE file and malware signature.Second use C++ language and the API function of the intelligent mobile phone malware detection software prototype implementation. Finally ,through a large number of experimental data to verify the feasibility of them .
.Key words: smart mobile phone?;?Malicious code;?prevention model;?scanning engine
1.概述
研究背景
在通信技术高速发展的今天,智能手机变得越来越普及,人们在享受智能手机强大功能的同时,也受到来自手机恶意代码的侵扰。为有效遏制手机恶意代码的快速发展势头,相应的分析防御方法已相继提出,各种手机杀毒软件也随之应运而生。目前主流的手机恶意代码防御方法主要参照计算机恶意代码的分析防御技术,包括传统的恶意代码防御技术(如基于恶意代码特征匹配的扫描技术和启发式经验规则等)及行为阻断技术;主流手机杀毒产品基本能做到有效地实时扫描及监控、病毒处理和查杀、病毒库及软件更新,其配套的通信基础设施也在逐步完善当中[1]。
各种杀毒工具都是基于恶意代码的特征码实现,在恶意代码出现到特征码被提取出的这段时间足以让恶意代码实现破坏力,而杀毒工具对此却无能为力。尽管手机网络可以借鉴互联网的防范技术,但由于智能手机和计算机软硬件上的本质差别,如何有效防范智能手机的恶意代码正越来越受到人们的关注。对此,本文主要是从检测层实现恶意代码的检测功能[2]。
1.2 国内外研究状况
恶意代码的研究在国内外一直都在进行,并且都取得了相应的成果。
(1)国外研究状况
自从恶意代码出现以来,恶意代码的检测技术一直是计算机安全领域关注的焦点。根据恶意代码分析工具技术模块不同,恶意代码检测方法通常分为静态和动态方法。在静态方法领域,2001 年,Matthew G.Schultz 等在文件二进制特征检测的基础上首次提出了基于数据挖掘的恶意代码检测方法;之后,借鉴入侵检测中的常用方法,越来越多的研究集中在利用数据挖掘方法对恶意代码二进制文件信息进行学习建模,然后将学习到的模型用于未知恶意代码的检测[3]。之后,Mihai Christodorescu在恶意代码静分析方法上提出了使用有限状态机对恶意代码进行描述,并提取了一系列用于恶意代码匹配的状态转换图,取得了良好的效果。但是随着恶意代码制作人员的技术水平不断提高,恶意代码的加密、加壳、压缩等多态及变形技术的使用使得基于静态分析的方法变得越来越困难。随后 Moser指出了基于恶意代码静态分析技术的缺陷,提出了一种基于行为特征的分析检测方法[4]。因为恶意代码为了实现其恶意功能,在程序执行过程中总是会存在一系列异常的恶意行为。Tony AbouAssaleh关于机器学习方法在恶意代码检测领域的应用上做了大量实际的应用研究,提出了一种恶意行为模式识别模型,具有较强的实用价值。但随着恶意代码数量爆炸式增长,基于人工专家手动恶意代码行为分析系统也远远不能满足现实分析需要,越来越多的工作聚集在恶意代码的自动化行为分析系统研究上。自动化分析系统使恶意代码样本运行在一个可控的虚拟环境中(通常称为沙盒),通过预先编写的脚本自动调用运行恶意代码样本,在限定的运行时间内,对恶意代码的行为进行监控并生成行为分析报告[5]。曼海姆大学分布式系统实验室的开发的CWSandbox实现了在虚拟机软件 VMware 中自动化批量分析恶意代码样本的行为,它采用API Hook 技术跟踪程序的行为并自动产生分析报告。奥地利大学开发的 TTAnalyze的分析环境建立在 QEMU 仿真器之上。QEMU 是一个面向完整 PC 系统的开源仿真器,除了仿真处理器外,QEMU 还允许仿真所有必要的子系统,如连网硬件和视频硬件。由于恶意代码执行时对系统及网络环境具有一定的危险性,因此通常恶意代码自动化分析系统均采用虚拟机方式运行,这种方式给恶意代码的作者带来了可乘之机,恶意软件可以通过代码动态判断自身的运行环境从而改变程序的执行流程,这使得在虚拟机中对恶意软件的行为进行记录变得较为困难。Joebox则采用恶意代码样本运行在一个真实的 Windows 系统上,运行一定时间后重启分析机[4]。此种方法可以比避免虚拟机检测技术,但是效率低下,因为分析机重启后需要还原到未执行恶意代码样本的初始状态,通常需要 23 分钟,对于海量的恶意代码样本也是不可以接受的[6]。
国内研究状况
针对智能手机恶意代码的防范模型,国内一般都是分为5个层次进行的,如图1.1


版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/1874.html

好棒文