基于N-GRAM的恶意代码检测系统的研究与开发
发布时间:2020-03-19 01:11
【摘要】:近年来,随着智能手机的普及,Android应用数量呈爆发式增长,而其中的恶意软件数量也随之增长。如何有效的检测出隐藏在正常应用中的这些恶意应用,为用户提供有效的鉴别信息,已经变得越来越重要。本文从实际需求出发,对国内外的Android恶意代码检测系统进行了深入的研究,设计出满足当前用户使用需求的恶意代码检测系统。本系统在设计阶段针对N-GRAM算法提出适合于Android应用操作码的精简方法,并深入研究了多个分类算法,结合实际情况,选择出最适合本系统的分类算法。本文实现了基于N-GRAM的恶意代码检测系统,开发过程严格按照软件工程的方法与理论进行,首先使用UML对系统进行设计,Visio完成系统设计图;然后在需求分析部分从业务、功能、数据三方面对系统进行了完整的分析。其次系统设计部分,采用类图、时序图与活动图对系统进行了设计,最后结合实际并参照数据需求分析部分设计了数据库表。在系统实现部分,在阐述了系统总体架构之后,对各个模块的实现效果进行了展示,并列出了核心的代码。论文开发实现的基于N-GRAM的恶意代码检测系统是以Mongodb数据库为后台数据库,ExpressJS作为Web应用框架,AngularJS为前端MVC框架,Node.js作为并发异步事件驱动的Javascript服务器后端开发平台。通过对系统的实现与测试,能够有效的检测出隐藏在正常应用中的恶意应用,为用户提供安全的保障与决策支持。
【图文】:
提供了超过 500G 的相关数据。取得第一名的队伍三个人别有新意的采用了机器学习的方法,展现了机器学习在安全领域的巨大潜力。但是这个比赛旨在完成对恶意代码进行分类,并没有实现检测,而且微软提供的代码只是 Windows 平台的 PE 格式。因此,在参考了第一名队伍的思路,阅读了大量文献之后尝试利用机器学习算法对 Android 恶意代码进行检测。基于 N-GRAM 的恶意代码分类算法对 Android 恶意代码检测的基本思路是先对 Android 应用程序进行反编译,然后提取出包含了操作码的 Smali 文件,再对其进行 N-GRAM 处理,然后使用分类算法建立监测模型。但是,Android 应用程序在反编译之后所生成的 smali 格式的操作码文件,并不适合于直接进行 N-GRAM 处理。图 3.1 截取自一个恶意应用反编译后的Smali 文件 IServiceConnection$Stub$Proxy.smali,,从图 3.1 可以看出,Android 应用的操作码是和汇编语言类似的一个个操作,但是如果直接将反编译之后的操作码用作 N-GRAM 处理的源码,会因为太过复杂而加大运算的复杂度。
图 4.9 权限管理类图缩略图.5 用户管理用户管理类图缩略图如图 4.10 所示,用户管理类中的操作者是超级管理员体类是用户信息,控制类是用户管理类。管理员用户管理界面 用户管理类 用户信息图 4.10 用户管理类图缩略图.6 查询管理查询管理类图缩略图如图 4.11 所示,查询管理类中的操作者是超级管理员体类包括用户信息、应用信息、异常信息,控制类是查询管理类。
【学位授予单位】:贵州大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP311.52
本文编号:2589464
【图文】:
提供了超过 500G 的相关数据。取得第一名的队伍三个人别有新意的采用了机器学习的方法,展现了机器学习在安全领域的巨大潜力。但是这个比赛旨在完成对恶意代码进行分类,并没有实现检测,而且微软提供的代码只是 Windows 平台的 PE 格式。因此,在参考了第一名队伍的思路,阅读了大量文献之后尝试利用机器学习算法对 Android 恶意代码进行检测。基于 N-GRAM 的恶意代码分类算法对 Android 恶意代码检测的基本思路是先对 Android 应用程序进行反编译,然后提取出包含了操作码的 Smali 文件,再对其进行 N-GRAM 处理,然后使用分类算法建立监测模型。但是,Android 应用程序在反编译之后所生成的 smali 格式的操作码文件,并不适合于直接进行 N-GRAM 处理。图 3.1 截取自一个恶意应用反编译后的Smali 文件 IServiceConnection$Stub$Proxy.smali,,从图 3.1 可以看出,Android 应用的操作码是和汇编语言类似的一个个操作,但是如果直接将反编译之后的操作码用作 N-GRAM 处理的源码,会因为太过复杂而加大运算的复杂度。
图 4.9 权限管理类图缩略图.5 用户管理用户管理类图缩略图如图 4.10 所示,用户管理类中的操作者是超级管理员体类是用户信息,控制类是用户管理类。管理员用户管理界面 用户管理类 用户信息图 4.10 用户管理类图缩略图.6 查询管理查询管理类图缩略图如图 4.11 所示,查询管理类中的操作者是超级管理员体类包括用户信息、应用信息、异常信息,控制类是查询管理类。
【学位授予单位】:贵州大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP311.52
【参考文献】
相关期刊论文 前3条
1 张福勇;;基于n-gram词频的恶意代码特征提取方法[J];网络安全技术与应用;2015年11期
2 李挺;董航;袁春阳;杜跃进;徐国爱;;基于Dalvik指令的Android恶意代码特征描述及验证[J];计算机研究与发展;2014年07期
3 胡文君;赵双;陶敬;马小博;陈亮;;一种针对Android平台恶意代码的检测方法及系统实现[J];西安交通大学学报;2013年10期
相关硕士学位论文 前4条
1 马君丽;安卓应用的恶意行为检测与归类方法研究[D];北京交通大学;2016年
2 刘晓明;基于KNN算法的Android应用异常检测技术研究[D];北京交通大学;2016年
3 刘阳;应用随机森林与神经网络算法检测与分析Android应用恶意代码[D];北京交通大学;2015年
4 王文群;Android平台恶意代码检测技术研究[D];北京邮电大学;2015年
本文编号:2589464
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2589464.html