基于流量分析的IOS恶意软件预警和检测系统及其方法与流程

文档序号:11458825阅读:375来源:国知局

本发明涉及信息安全领域,尤其涉及一种基于流量分析的ios恶意软件预警和检测系统及其方法。



背景技术:

根据市场调研公司kantarworldpanel近日发布的智能手机销售数据显示,从2016年12月到今年2月份,苹果ios设备在中国市场的份额已经达到27.6%,为有史以来最高记录,已经占到中国智能手机市场将近三分之一的份额。

apple官方的iosappstore一直以来都以严格的代码审查著称,这项强制性的措施已经成为ios安全生态系统中确保ios用户的隐私和安全的一项重要机制,特别是由于该系统“更小的受攻击面”、“精简的操作系统”、“权限分离”、“代码签名机制”、“dep”、“aslp”和“沙盒机制”等安全开发措施,使得ios系统一直以安全著称。

但是伴随着ios系统的频繁升级,以及漏洞挖掘技术的快速发展,信息安全已成为社会关注的主流方向,越来越多的黑客利用漏洞技术发布恶意软件绕过苹果官网,以及通过注入方式感染qq、滴滴快的等知名app,特别是2015年9月20日苹果公司的ios平台遭到罕见入侵苹果公司在中国应用商店的多款知名移动软件受到恶意软件感染。这无疑暴露了该系统罕见的安全漏洞。据总部位于美国的帕洛阿尔托网络公司称,此次约有30多个应用受到攻击。研究人员表示,这些被感染的应用可以上传用户的设备信息,引发假警报,进而窃取用户icloud服务的密码,并读取和记录用户剪贴板上的信息。

因此,由苹果手机恶意软件引发的恶意事件层出不穷,利用恶意软件进行网络犯罪的事件也呈现增长趋势。由于ios之前系统的封闭性,一直以来很多杀毒软件都放弃了对ios系统的检测,面对突发的恶意软件威胁束手无策。目前,国内针对ios平台的恶意软件检测手段还处于摸索阶段,特别是对于未越狱手机和感染应用的检测没有完整的解决方案,存在滞后性、资源消耗大和响应慢以及对恶意软件研判错误等问题。因此急需一套基于ios系统的恶意软件检测方案实现对恶意软件的特征判定和危险预警。



技术实现要素:

本发明的目的就在于克服现有技术存在的缺点和不足,提供一种基于流量分析的ios恶意软件预警和检测系统及其方法,通过对恶意软件和捆绑软件进行流量行为分析,提供研判分析模型,为ios系统恶意软件检测提供技术支持。

实现本发明目的技术方案是:

本发明通过以下5种方式在手机端和服务器端实现基于ios系统的恶意软件检测:

①ios手机端检测单元恶意软件检测方法

通过用户手机锁屏期间频繁交互、周期性请求固定数据和上行流量大于下行流量等特征,判断是否为恶意软件;

②ios手机端检测单元被感染恶意代码软件检测方法

通过目标应用和原始程序md5特征值比对,监测是否是篡改应用,同时通过比对正常应用ip池、用户手机锁屏期间频繁交互、周期性请求固定数据和上行流量大于下行流量等特征,判断是否为被注入恶意代码正常软件;

③服务端检测单元隐私内容检测方法

通过反编译技术对恶意软件进行逆向源码分析,还原数据加密解密流程和加密算法,对ios系统终端模拟模块中的数据流量进行还原,解析内容并比对敏感模块,检测是否涉及到用户通讯录、地理位置、短信、通话记录、图片、音视频敏感私人信息,判断是否为恶意软件;

④服务端检测单元敏感权限检测方法

采用动态监测技术,对ios系统终端模拟模块应用行为和权限进行分析,记录行为日志和权限日志,检测是否涉及到用户通讯录、地理位置、短信、通话记录、图片和音视频敏感权限信息,提交给病毒研判模型进行综合分析;

⑤服务器端研判模型检测方法

结合隐私数据内容和权限分析,以及比对病毒木马特征库,评估风险值,形成恶意软件分析报告,形成分析样本,推送各个终端实现预警;

本发明采用基于流量分析技术实现终端预判和后台综合检测方式,采用先预判后深度分析,动静结合的方式对恶意软件进行取证分析,结合机器学习理论不断完善评估模型,解决ios系统下恶意软件特征分析难题,支持非越狱系统和捆绑软件的分析。

具体地说:

一、基于流量分析的ios恶意软件预警和检测系统(简称系统)

本系统包括ios手机端检测单元和服务器端检测单元;

所述的ios手机端检测单元是一种基于用户上网行为分析和结合应用流量分析的恶意软件预判系统的功能集合,包括包括数据流量采集模块、机器学习模块、流量行为检测模块、恶意软件预判模块和预警模块,基于后台的综合分析系统,构建恶意软件库,不断优化样本分析模型,提升研判的精准度;

所述的服务器端检测单元是一种恶意软件进行流量内容和权限特征深度分析的集合,包括ios系统终端模拟模块、流量数据还原模块、恶意软件特征监测模块、病毒研判模型和恶意软件分析报告生成模块;

其交互关系是:

ios手机端检测单元和服务器端检测单元交互,实现基于ios系统上的恶意软件检测和分析功能,并形成分析报告,提供给终端预警;

ios手机端检测单元中的数据流量采集模块将手机上采集流量信息传递给机器学习模块和流量行为检测模块,实现用户行为分析;

机器学习模块和流量行为检测模块分别与恶意软件预判模块交互,提供源应用的md5值比对、用户的上网行为画像和应用软件的流量分析数据进行风险分析,最终确定预判是否是恶意软件或者是捆绑恶意代码的应用程序;

恶意软件预判模块与ios系统终端模拟模块交互,传递恶意软件样本给后台服务器,并在后台模拟基于ios系统越狱环境的虚拟化终端,提供样本分析;

ios系统终端模拟模块分别与流量数据还原模块和恶意软件特征监测模块交互,通过对样本的逆向分析和动态调试,还原加密算法,实现对模拟环境下的数据还原,监测应用是否包含敏感权限和敏感数据;

流量数据还原模块和恶意软件特征监测模块分别将提取的数据传送给病毒研判模型进行综合分析,通过数据还原内容和权限特征访问日志,结合病毒库计算恶意软件风险值,对恶意软件进行病毒判定;

病毒研判模型与恶意软件分析报告生成模块交互,生成病毒分析报告,相关特征入病毒库样本,并提交给终端预警模块进行告警。

二、基于流量分析的ios恶意软件预警和检测方法(简称方法)

本方法的研究思路是基于流量特征分析基础之上,通过用户上网模型分析信息,应用流量特征、流量内容敏感监测以及敏感权限检测基于ios系统的恶意软件,结合动态恶意病毒木马库实现对恶意软件的风险评估,形成分析报告,提交给各终端进行预警。

①ios手机端恶意软件预判方法

通过流量采集根据用户上网时间、位置结合应用基本信息,形成用户上网习惯模型,通过机器学习形成用户流量画像,同时统计出上下行流量数据,回传ip统计,形成流量日志;恶意软件预判模块根据采集到的数据和模型,一方面通过比对恶意软件和源安装包的特征md5值,发现篡改和捆绑软件,另一方面结合用户上网习惯和应用的流量监测,对异常流量进行预警,根据病毒木马库进行研判,实现高风险预警,回传恶意软件进入后台系统进行深度研判;

②服务器端检测单元病毒研判方法

根据ios系统的终端监测程序传回的恶意软件样本进行模拟用户手机ios越狱环境,在虚拟环境中动态运行恶意软件,实现全方位的行为和流量检测,结合反编译技术,还原恶意软件加密解密流程,实现数据内容的还原和权限特征监测。恶意软件特征监测模块通过对还原内容和权限特征进行分析,检测是否涉及到用户通讯录、地理位置、短信、通话记录、图片和音视频敏感私人信息,结合病毒木马特征库,对恶意软件进行风险性评估,形成恶意软件分析报告。

本发明具有下列优点和积极效果:

①独创性支持未越狱版本的检测:本发明采用的基于流量检测恶意软件的方法,有效的解决了ios系统未越狱问题,可以实现在未越狱版本的检测;

②检测范围广:同时支持对注入恶意代码的伪装软件和普通恶意软件的检测,提升系统的使用范围;

③检测方案严谨:本发明采用的基于流量检测恶意软件的方法,基于ios手机端预判和服务端的深度检测两种方式,检测范围要比传统检测要小,检测规则也相对简单,降低了对系统资源的开销,提升了研判效率;

④系统可扩展强:在不对系统的结构进行修改的前提下,可以对样本检测特征进行动态调整,通过机器学习技术不断完善用户流量模型,不断填充木马病毒特征库,以此来保证可以检测新威胁;

⑤可溯源:本发明通过分析日志可以记录恶意软件感染机型、感染时间、感染范围,以及涉及到的隐私数据和权限,并形成完整日志记录,便于追溯和统计分析。

附图说明

图1是本系统的结构方框图。

其中:

10—ios手机端检测单元,

11—数据流量采集模块,

12—机器学习模块,

13—流量行为检测模块,

14—恶意软件预判模块,

15—预警模块;

20—服务器端检测单元,

21—ios系统终端模拟模块,

22—流量数据还原模块,

23—恶意软件特征监测模块;

24—病毒研判模型,

25—恶意软件分析报告生成模块。

英译汉

1、ios:iphoneos,苹果手机系统;

2、dep:dataexecutionprevention,数据执行保护;

3、aslp:addressspacelayoutrandomization,地址空间布局随机化;

4、knn,k-nearestneighbor,临近算法;

5、rvi,remotevirtualinterface,远程虚拟接口。

具体实施方式

下面结合附图和实施例详细说明:

一、系统

1、总体

如图1,本系统包括ios手机端检测单元10和服务器端检测单元20;

所述的ios手机端检测单元10是一种基于用户上网行为分析和结合应用流量分析的恶意软件预判系统的功能集合,包括包括数据流量采集模块11、机器学习模块12、流量行为检测模块13、恶意软件预判模块14和预警模块15,基于后台的综合分析系统,构建恶意软件库,不断优化样本分析模型,提升研判的精准度;

所述的服务器端检测单元20是一种恶意软件进行流量内容和权限特征深度分析的集合,包括ios系统终端模拟模块21、流量数据还原模块22、恶意软件特征监测模块23、病毒研判模型24和恶意软件分析报告生成模块25;

其交互关系是:

ios手机端检测单元10和服务器端检测单元20交互,实现基于ios系统上的恶意软件检测和分析功能,并形成分析报告,提供给终端预警;

ios手机端检测单元10中的数据流量采集模块11将手机上采集流量信息传递给机器学习模块12和流量行为检测模块13,实现用户行为分析;

机器学习模块12和流量行为检测模块13分别与恶意软件预判模块14交互,提供源应用的md5值比对、用户的上网行为画像和应用软件的流量分析数据进行风险分析,最终确定预判是否是恶意软件或者是捆绑恶意代码的应用程序;

恶意软件预判模块14与ios系统终端模拟模块21交互,传递恶意软件样本给后台服务器,并在后台模拟基于ios系统越狱环境的虚拟化终端,提供样本分析;

ios系统终端模拟模块21分别与流量数据还原模块22和恶意软件特征监测模块23交互,通过对样本的逆向分析和动态调试,还原加密算法,实现对模拟环境下的数据还原,监测应用是否包含敏感权限和敏感数据;

流量数据还原模块22和恶意软件特征监测模块23分别将提取的数据传送给病毒研判模型24进行综合分析,通过数据还原内容和权限特征访问日志,结合病毒库计算恶意软件风险值,对恶意软件进行病毒判定;

病毒研判模型24与恶意软件分析报告生成模块25交互,生成病毒分析报告,相关特征入病毒库样本,并提交给终端预警模块15进行告警。

2、功能模块

1)ios手机端检测单元10

ios手机端检测单元10是一种基于用户上网行为分析,结合应用流量分析的恶意软件预判系统的功能集合,通过构建用户上网模型,结合应用流量特征,实现风险评估。

(1)数据流量采集模块11

数据流量采集模块11会在用户手机上采集流量信息,提供给机器学习模块12用来建立用户模型,提供给流量行为检测模块13用来进行流量分析;

数据流量采集模块可以使用rvi建立虚拟网卡进行抓包,使用rvi不管是蜂窝数据还是wifi,网络报文都能抓的到,而以往用wifi把流量导入电脑抓包无法抓取蜂窝数据下的报文。

(2)机器学习模块12

机器学习模块12会根据用户上网时间、位置结合应用基本信息,形成用户上网习惯模型,可以根据每日的数据使用样本分析,不断机器学习完善模型,形成用户流量画像;

机器学习模块12根据基于异常值分析,当恶意软件在非用户活跃时间进行数据交互,系统会实时判断这些操作是否属于恶意软件的行为。通过判断上网规律、上下行流量、交互周期、频率、交互ip池比对,md5比对,交互数据包大小因素进行判断,寻找用户上网流量异常值。

(3)流量行为检测模块13

流量行为检测模块13通过对应用流量监测,统计出上下行流量数据,回传ip统计,形成流量日志。

(4)恶意软件预判模块14

恶意软件预判模块14一方面通过比对恶意软件和源安装包的特征md5值,发现篡改和捆绑软件,另一方面结合用户上网习惯和应用的流量监测,对异常流量进行预警,根据木马库进行研判,结合knn邻近算法实现高风险预警。

(5)预警模块15

预警模块15通过服务器检测单元20的分析报告实现对当前终端的恶意软件告警,对其他终端起到预警作用。

所述的ios手机端检测单元(10)其工作流程是:

①数据流量采集模块11采集用户手机上网流量信息,提供给机器学习模块12和流量行为检测模块13进一步分析;

②机器学习模块12根据用户上网时间、位置结合应用基本信息,形成用户上网习惯模型,根据每日的数据使用样本分析,结合时间、空间、位置形成用户流量画像,不断完善机器学习模型;

③流量行为检测模块13,通过对应用流量监测,统计出上下行流量数据,回传ip统计,形成特定应用的流量日志;

④恶意软件预判模块14,一方面通过比对恶意软件和源安装包的特征md5值,发现篡改和捆绑软件,另一方面结合用户上网习惯和应用的流量监测,对异常流量进行预警,根据木马库进行研判,实现高风险预警;

⑤预警模块15根据服务器端检测系统20反馈的病毒研判结果,实现对当前终端的恶意软件告警,对其他终端起到预警作用。

2)服务器端检测单元20;

服务器端检测单元20是一种恶意软件进行流量内容和权限特征深度分析的集合,通过内容敏感分析和权限特征,结合病毒木马特征库进行风险分析。

(1)ios系统终端模拟模块21

ios系统终端模拟模块21可以对ios手机端检测单元10预判的恶意程序进行环境模拟,模拟用户手机ios越狱环境,安装运行恶意软件,实现全方位的行为和流量检测。

(2)流量数据还原模块22

流量数据还原模块22通过反编译技术对恶意软件进行逆向源码分析,还原数据加密解密流程和加密算法,对ios系统终端模拟模块21中的数据流量进行内容还原,解析内容比对敏感模块,检测是否涉及到用户通讯录、地理位置、短信、通话记录、图片和音视频敏感私人信息;

(3)恶意软件特征监测模块23

恶意软件特征监测模块23采用动态监测技术,对ios系统终端模拟模块21应用行为和权限进行分析,记录行为日志和权限日志,检测是否涉及到用户通讯录、地理位置、短信、通话记录、图片和音视频敏感权限,提交给病毒研判模型24进行综合分析;

(4)病毒研判模型24

病毒研判模型24基于应用上传数据进行内容解析和恶意软件行为特征分析,检测是否涉及到用户通讯录、地理位置、短信、通话记录、图片和音视频敏感权限,结合病毒木马特征库,对恶意软件进行knn算法分析,计算风险值,进行风险性评估。

(5)恶意软件分析报告生成模块25

恶意软件分析报告生成模块25对分析结果进行入库保存,同时记录在病毒木马特征库,推送到基于ios系统的终端,对当前终端和新装终端提出恶意软件预警通知,避免恶意软件的进一步扩散。

所述的服务器端检测单元20其工作流程是:

①ios系统终端模拟模块21对ios手机端检测单元10预判的恶意程序进行运行环境模拟,模拟用户手机ios越狱环境,安装运行恶意软件,实现全方位的行为和流量检测;

②流量数据还原模块22通过反编译技术对恶意软件进行逆向源码分析,还原数据加密解密流程和加密算法,对ios系统终端模拟模块(21)中的数据流量进行还原,解析内容并比对敏感模块,检测是否涉及到用户通讯录、地理位置、短信、通话记录、图片、音视频敏感私人信息;

③恶意软件特征监测模块23采用动态监测技术,对ios系统终端模拟模块21应用行为和权限进行分析,记录行为日志和权限日志,检测是否涉及到用户通讯录、地理位置、短信、通话记录、图片和音视频敏感权限,提交给病毒研判模型(24)进行综合分析;

④病毒研判模型24基于上传数据内容解析和恶意软件行为特征分析,结合病毒木马特征库,对恶意软件进行风险性评估;

⑤恶意软件分析报告生成模块25对分析结果进行入库保存,同时记录在病毒木马特征库,推送到基于ios系统的终端,对当前终端和新装终端提出恶意软件预警通知,避免恶意软件的进一步扩散。

3、本系统的工作机理:

本系统研究了一种基于流量分析的ios恶意软件预警和检测系统,采用基于流量分析技术实现终端预判和后台综合检测方式,采用先预判后深度分析,动静结合的方式对恶意软件进行取证分析,结合机器学习理论不断完善评估模型,解决ios系统下恶意软件特征分析难题,支持非越狱系统和捆绑软件的分析。检测原理基于流量特征分析和用户画像,结合木马病毒特征库进行综合比对,最终生成分析报告,提供预警功能。

①ios端手机检测单元预判检测

通过流量采集根据用户上网时间、位置结合应用基本信息,形成用户上网习惯模型,通过机器学习形成用户流量画像,同时统计出上下行流量数据,回传ip统计,形成流量日志。恶意软件预判模块根据采集到的数据和模型,一方面通过比对恶意软件和源安装包的特征md5值,发现篡改和捆绑软件,另一方面结合用户上网习惯和应用的流量监测,对异常流量进行预警,根据病毒木马库进行研判,实现高风险预警,回传恶意软件进入后台系统进行深度研判;

②服务器端检测单元深度检测

根据ios系统的终端监测程序传回的恶意软件样本进行模拟用户手机ios越狱环境,在虚拟环境中动态运行恶意软件,实现全方位的行为和流量检测,结合反编译技术,还原恶意软件加密解密流程,实现数据内容的还原和权限特征监测。恶意软件特征监测模块通过对还原内容和权限特征进行分析,检测是否涉及到用户通讯录、地理位置、短信、通话记录、图片、音视频等敏感私人信息,结合病毒木马特征库,对恶意软件进行风险性评估,形成恶意软件分析报告;

③预警模块

通过对恶意软件进行风险性评估实现对目标终端的及时预警,同时更新木马病毒特征库。

二、方法

1、ios手机端恶意软件预判方法

a、普通恶意软件分析,通过对用户上网流量模型的刻画,检测出特定应用在非正常时间频繁回传数据的情况,包括用户手机锁屏期间频繁交互、周期性请求固定数据和上行流量大于下行流量特征,判断是否为普通恶意软件;

b、被注入恶意代码正常软件分析,有些恶意软件通过注入捆绑方式绑定到正常应用,这类软件的实现原理对普通应用进行注入代码,反编译形成普通应用,基于普通应用外壳进行隐蔽运行;本模块通过目标应用和原始程序特征值md5比对,监测是否是篡改应用,然后通过比对用户上网模型刻画,监测出特定应用在非正常时间频繁回传数据的情况,主要包括比对正常应用ip池、用户手机锁屏期间频繁交互、周期性请求固定数据、上行流量大于下行流量等特征,判断是否为被注入恶意代码正常软件;

c、恶意软件异常值的判断基于木马病毒特征库的,包含两类规则,即事件类和模型类规则:

第一,事件类规则,通过对手机的上网时间、上网地点、使用的主要应用上下行流量、交互周期、频率、交互ip池比对,md5比对和交互数据包大小判断是否异常;

第二,模型类规则,则是通过机器学习模块算法判定交易是否属恶意软件。一般通过恶意软件样本数据、应用流量数据和权限数据,构建模型进行分类问题的判断;在模型判断中采用邻近算法机器学习算法进行分析,每个样本都可以用它最接近的k个邻居来代表;knn算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。在knn中,通过计算对象间距离来作为各个对象之间的非相似性指标,避免了对象之间的匹配问题,使用欧氏距离或曼哈顿距离进行计算:

欧式距离:曼哈顿距离:

基于knn算法该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本是否属于恶意软件的类别;

k为自然数,取值2≤m≤100。

2、服务器端病毒研判方法

a、隐私内容监测,对ios系统终端模拟模块(21)中的数据流量进行内容还原,解析内容比对敏感模块,检测是否涉及到用户通讯录、地理位置、短信、通话记录、图片和音视频敏感私人信息;

b、敏感权限监测,采用动态监测技术,对ios系统终端模拟模块(21)应用行为和权限进行分析,记录行为日志和权限日志,检测是否涉及到用户通讯录、地理位置、短信、通话记录、图片和音视频敏感权限,提交给病毒研判模型(24)进行综合分析;

c、采用邻近算法机器学习算法进行分析,结合隐私内容和权限分析,以及比对病毒木马特征库,评估风险值,形成恶意软件分析报告

d、对分析结果加入到样本分析库,并将预警信息推送各个ios终端实现预警。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1