手机病毒分析和威胁关联的方法和系统
技术领域
本申请涉及一种手机病毒分析和威胁关联的方法和系统,尤其涉及一种通过对移动终端应用的多种信息数据进行分析及MapReduce计算来取得其深度的病毒威胁关联的技术。
背景技术
随着例如智能手机、平板电脑等的智能移动终端的广泛使用以及各种移动终端应用的推广,智能移动终端的安全问题成为移动互联网行业以及移动互联网用户最为重视的问题之一。2012年手机病毒的指数级增长是移动互联网安全的一个爆发点。根据统计,在2012年10月,手机病毒只有22万,而2013年上半年已经突破了100万。病毒的快速变换使传统杀毒软件很难检测它们,而手机电池寿命短使得无法使用传统的基于病毒行为的检测方法,导致现有的手机杀毒方法无法适应大量即将出现的病毒,检测效果将会下降。
另一方面,越来越多的用户使用自己的移动设备访问企业服务器、进行业务操作,甚至替换PC进行日常工作处理。此外,很多设备不受管理员的控制,这就意味着企业敏感数据没有受到企业现有遵从、安全及数据丢失防护等政策的约束。现有的企业手机应用保护方案仅仅检测手机应用商店里的软件是否有毒,然后让用户通过手机下载运行。然而目前普遍使用的安卓系统不是闭合的,比如中国手机应用不通过谷歌安卓商店,大家各自为营,造成病毒在开环的环境泛滥。上述的防范方法存在很大的漏洞。
通常在对例如智能手机的应用进行恶意软件的分析时,是对所述应用的程序代码(即apk文件)进行分析,提取有安全风险的函数/方法调用、内容以及软件行为的关联数据。然而,这种对应用执行静态分析的方法能够分析出的恶意威胁数据较为有限,无法捕捉更多在使用的过程中产生安全风险的行为以及产生不合理流量的行为的信息,也无法获得深度的病毒威胁关联数据。
发明内容
本发明的目的在于提供一种用于手机病毒分析和威胁关联的方法和系统,通过对移动终端应用的多种信息数据进行分析及多次MapReduce计算来取得多层次、深度的病毒威胁关联数据,以便于准确地识别移动终端应用涉及的病毒威胁以及威胁关联,利于确保移动终端应用的安全性。
根据本发明的一方面,提供一种手机病毒分析和威胁关联的方法,包括,在云端执行以下步骤:A)接收移动终端应用的信息文件;B)对接收的信息文件进行分析,以提取所述信息文件中的有关恶意行为的数据;C)根据提取的有关恶意行为的数据生成键值对列表<数据源标识,威胁值>,其中,作为键值的数据源标识为所述信息文件的标识,威胁值为所述恶意行为的特征值;D)对键值对列表<数据源标识,威胁值>与病毒知识库数据进行第一轮MapReduce计算及匹配,生成列表<威胁标识,威胁值列表>,其中,所述病毒知识库包括<病毒家族标识,威胁标识,至少一个威胁值>记录;E)对列表<威胁标识,威胁值列表>与病毒知识库数据进行第二轮第一阶段MapReduce计算及匹配,生成列表<威胁值,病毒家族标识列表>;F)对列表<威胁值,病毒家族标识列表>、键值对列表<数据源标识,威胁值>、列表<威胁标识,威胁值列表>以及病毒知识库数据进行第二轮第二阶段MapReduce计算及匹配,生成列表<数据源标识,病毒关联数据列表>,其中,所述病毒关联数据列表中的每个项目包括病毒家族标识以及威胁值列表;G)输出所述列表<数据源标识,病毒关联数据列表>。
所述移动终端应用的信息文件可以是移动终端应用的应用程序文件、移动终端应用的运行日志文件以及移动终端的流量数据文件中的至少一个。
优选地,在步骤B)中,将提取的有关恶意行为的数据记录在XML文件中。
优选地,所述的方法还包括:在执行步骤E)前,对在步骤D)生成的列表<威胁标识,威胁值列表>执行过滤、去噪处理。
优选地,所述病毒知识库中的每个记录还包括所述威胁标识所属的病毒分类的信息。
优选地,步骤G)包括:以图形的形式输出所述列表<数据源标识,病毒关联数据列表>。
优选地,所述以图形的形式输出所述列表<数据源标识,病毒关联数据列表>包括:以所述数据源标识对应的信息文件为核心,绘制其病毒家族标识对应的病毒家族信息以及威胁值。
优选地,在步骤F)中,为每个数据源标识生成的病毒关联数据列表还包括每个威胁值对应的威胁标识以及所述威胁标识所属的病毒分类。
优选地,步骤G)还包括:绘制每个威胁值对应的威胁标识所属的病毒分类的信息。
优选地,步骤G)还包括:为每个绘制的病毒分类的信息设置用于显示所述病毒分类相应的威胁标识的名称的页面的链接。
优选地,所述数据源标识包括企业标识、用户标识以及文件标识。
根据本发明的另一方面,提供一种位于云端的用于手机病毒分析和威胁关联的系统,包括:接收单元,用于接收移动终端应用的信息文件;数据提取单元,用于对接收单元接收的信息文件进行分析,以提取所述信息文件中的有关恶意行为的数据;第一处理单元,用于从数据提取单元提取的有关恶意行为的数据提取键值对列表<数据源标识,威胁值>,其中,作为键值的数据源标识为所述信息文件的标识,威胁值为所述恶意行为的特征值;第二处理单元,用于对键值对列表<数据源标识,威胁值>与病毒知识库数据进行第一轮MapReduce计算及匹配,生成列表<威胁标识,威胁值列表>,其中,所述病毒知识库包括<病毒家族标识,威胁标识,至少一个威胁值>记录;第三处理单元,用于对列表<威胁标识,威胁值列表>与病毒知识库数据进行第二轮第一阶段MapReduce计算及匹配,生成列表<威胁值,病毒家族标识列表>;第四处理单元,用于对列表<威胁值,病毒家族标识列表>、键值对列表<数据源标识,威胁值>、列表<威胁标识,威胁值列表>以及病毒知识库数据进行第二轮第二阶段MapReduce计算及匹配,生成列表<数据源标识,病毒关联数据列表>,其中,所述病毒关联数据列表中的每个项目包括病毒家族标识以及威胁值列表;输出单元,用于输出所述列表<数据源标识,病毒关联数据列表>。
所述移动终端应用的信息文件可以是,但不限于,移动终端应用的应用程序文件、移动终端应用的运行日志文件以及移动终端的流量数据文件中的至少一个。
优选地,数据提取单元将提取的有关恶意行为的数据记录在XML文件中。
优选地,第三处理单元在执行第二轮第一阶段MapReduce计算及匹配前,对第二处理单元生成的列表<威胁标识,威胁值列表>执行过滤、去噪处理。
优选地,所述病毒知识库中的每个记录还包括所述威胁标识所属的病毒分类的信息。
优选地,输出单元以图形的形式输出所述列表<数据源标识,病毒关联数据列表>。
优选地,输出单元以所述数据源标识对应的信息文件为核心,绘制其病毒家族标识对应的病毒家族信息以及威胁值。
优选地,第四处理单元还为每个数据源标识生成的病毒关联数据列表还包括每个威胁值对应的威胁标识以及所述威胁标识所属的病毒分类。
优选地,输出单元还绘制每个威胁值对应的威胁标识所属的病毒分类的信息。
优选地,输出单元还为每个绘制的病毒分类的信息设置用于显示所述病毒分类相应的威胁标识的名称的页面的链接。
有益效果
本发明的用于手机病毒分析和威胁关联的方法和系统可通过对移动终端应用的多种信息数据进行分析及多次MapReduce计算来取得多层次、深度的病毒威胁关联数据,以便于准确地识别移动终端应用涉及的病毒威胁以及威胁关联,并且检测出最新的病毒变种和零日攻击;此外,还以图形的形式直观地呈现分析出的病毒威胁关联数据。
附图说明
通过下面结合附图进行的描述,本发明的上述和其他目的和特点将会变得更加清楚,其中:
图1是示出根据本发明的示例性实施例通过多种数据源执行移动终端病毒威胁关联的分析的总体示意图;
图2示例性地示出智能手机的运行日志;
图3A~图3C分别示出根据本发明的示例性实施例的提取的有关恶意行为的数据的示例;
图4是示出根据本发明的示例性实施例对整理过的恶意行为数据执行多次MapReduce计算以生成病毒关联数据的示意图;
图5示意性地示出根据本发明的示例性实施例对整理过的恶意行为数据执行多次MapReduce计算以生成病毒关联数据的数据变换;
图6是示出根据本发明的示例性实施例的手机病毒分析和威胁关联的方法的流程图;
图7是示出通过根据本发明的示例性实施例执行多层次病毒威胁关联的示意图;
图8是示出通过根据本发明的示例性实施例以图形形式输出病毒威胁关联的示意图;
图9是示出根据本发明的示例性实施例的实现手机病毒分析和威胁关联的方法的系统架构;
图10是示出根据本发明的示例性实施例的手机病毒分析和威胁关联的系统的逻辑框图。
具体实施方式
以下,将参照附图来详细说明本发明的实施例。
图1示例性地示出本发明的总体构思,也就是,对与智能移动终端的应用相关的多种数据源执行移动终端病毒威胁关联的分析。所述多种数据源可包括,但不限于,所述移动终端应用的应用程序文件、运行日志文件以及移动终端的流量数据文件等。
移动终端应用的应用程序文件为APK文件包,通常包括被编译的代码文件(.dex文件)、资源文件(resources和assets)、证书(certificates)和清单文件(manifest file)。一般在手机应用商店上可下载APK应用程序,例如各大Android手机厂商都在推自己的应用商店,比如木蚂蚁等。
运行日志文件包括移动终端运行以及上网时产生的日志,通常包括网址(如URL)、HTTP协议数据包信息、访问时间等等。图2示例性地示出智能手机的运行日志片段。图2中的运行日志片段显示了报告协议HTTP、服务器信息、访问的网址、访问时间、源IP地址、目标IP地址以及端口号。
移动终端的流量数据文件用于记载移动终端的网络流量数据。例如,pcap(packetcapture)文件是常用的网络数据报存储格式,其通常的格式为:
文件头(24字节)
数据帧:数据报头+数据报
数据帧:数据报头+数据报.....
数据帧中可以包含着TCP包,也可以包含其他包(例如ICMP或UDP包等等)。TCP包是传输层的传输单元,TCP可以包含着HTTP报文。HTTP报文包括手机上网的流量信息,比如访问了哪些网站,上载或者下载了哪些文件。
根据本发明的示例性实施例,可对一个或多个前述几种移动终端应用的信息文件进行处理。具体为,首先对接收的移动终端应用的信息文件进行分析,以提取所述信息文件中的有关恶意行为的数据;然后,对提取的有关恶意行为的数据进行多次MapReduce计算和匹配,以为所述移动终端应用生成病毒威胁关联数据。
根据本发明的优选实施例,将提取的有关恶意行为的数据记录在XML文件中。
图3A~图3C示出根据本发明的示例性实施例分别从移动终端应用的应用程序文件、运行日志文件以及移动终端的流量数据文件提取的有关恶意行为的数据的示例。
例如,图3A示出从移动终端的某个应用程序文件提取出的“File_Delete”、“GPS_Get”、“Notification_Send”、“System_ReflectInvoke”等恶意行为数据以及恶意行为的位置数据,如发生恶意行为System_ReflectInvoke的位置为“Lcom/mobclick/android/a->(LL)I:15”。
再例如,图3B示出从某个移动终端应用的运行日志文件提取出的“android.intent.action.DROPBOX_ENTRY_ADDED.null”、“android.intent.action.DROPBOX_ALARM_CHANGED.null”等恶意行为以及发生时间。
此后,根据提取的有关恶意行为的数据(如前述的XML数据)生成键值对列表<sourceID,threatvalue>(即每个键值对包括<数据源标识,威胁值>),以作为生成病毒威胁关联数据的计算输入。提取的键值对例如,<1.apk,Lcom/android/view/custom/BaseABroadcastReceiver>,<1.txt,android.intent.action.DROPBOX_ENTRY_ADDED.null>,<1.pcap,POST/androidplus/?c=plug3&a=applog>等。其中,作为键值的sourceID为所述信息文件的标识,可以是例如(但不限于)企业标识+用户标识+文件标识;threat value为所述恶意行为的特征值。
为了对应用程序进行病毒关联分析,还要预先建立用于记录病毒威胁与其所属的病毒家族信息的病毒知识库。所述病毒知识库中的每条记录包括<malware family ID,threatID,至少一个threat value>,即所述每条记录包括<病毒家族标识,威胁标识,至少一个威胁值>,所述threat value是所述threatID对应的恶意行为的特征值。此外,所述记录还可包括所述threatID对应的恶意行为的病毒分类的信息。
在提取了键值对列表<sourceID,threat value>以后,将进行如图4所示的多次MapReduce计算以生成病毒关联数据。
MapReduce是一种编程模型,用于大规模数据的并行运算。Map(映射)函数用来将一组键值对映射成一组新的键值对,在执行并发的Reduce(化简)函数,以保证所有映射的键值对中的每一个共享相同的键组。
参照图4,通过对键值对列表<sourceID,threat value>与病毒知识库数据执行MapReduce1处理,生成列表<threatID,list(threat value)>,即所述列表中的每项包括<威胁标识,威胁值列表>。此后,根据本发明的可选实施例,对列表<threatID,list(threatvalue)>执行过滤、去噪处理,将不会造成病毒威胁的项目从所述列表中删除。然后,再进行包括两步MapReduce处理的MapReduce2,生成病毒威胁关联信息,如列表<sourceID,list(malware family ID)>(即列表<数据源标识,病毒关联数据列表>),所述list(malwarefamily ID)中的每个项目包括malware family ID以及list(threat value)。
图5示例性地示出根据本发明的示例性实施例对键值对列表<sourceID,threatvalue>执行多次MapReduce计算以生成病毒关联数据的数据变换。
参照图5,以键值对列表<sourceID,threat value>为输入,首先,对键值对列表<sourceID,threat value>与病毒知识库数据进行第一轮MapReduce计算及匹配(MR1),生成列表<threatID,list(threat value)>。之后,根据本发明的可选实施例,对列表<threatID,list(threat value)>执行过滤、去噪处理。然后,在MR2中的第一步,对列表<threatID,list(threat value)>与病毒知识库数据进行第二轮第一阶段MapReduce计算及匹配,生成列表<threat value,list(malware family ID)>。如果匹配出<threat value,null>,即匹配出的病毒家族列表为空,则说明该病毒威胁可能是新的病毒家族。其后,在MR2中的第二步,对列表<threat value,list(malware family ID)>、键值对列表<sourceID,threat value>、列表<threatID,list(threat value)>以及病毒知识库数据进行第二轮第二阶段MapReduce计算及匹配,生成列表<sourceID,病毒关联数据列表>,所述病毒关联数据列表中的每个项目至少包括malware family ID以及list(threat value)。同理,如果匹配出空的病毒关联数据列表,则说明所述数据源包含新的病毒。
图6是示出根据本发明的示例性实施例的手机病毒分析和威胁关联的方法的流程图。根据本发明的示例性实施例,将所述手机病毒分析和威胁关联的方法实现为云端提供的服务。
参照图6,在步骤S610,云端服务器从移动终端或用于收集企业用户的移动终端的运行数据的服务器接收移动终端应用的信息文件。所述移动终端应用的信息文件可包括至少一个移动终端应用的应用程序文件、移动终端应用的运行日志文件或移动终端的流量数据文件。
在步骤S620,云端服务器对接收的信息文件进行分析,以提取所述信息文件中的有关恶意行为的数据。根据本发明的优选实施例,将提取的有关恶意行为的数据记录在XML文件中。
在步骤S630,云端服务器根据提取的有关恶意行为的数据生成键值对列表<sourceID,threat value>,其中,作为键值的sourceID为所述信息文件的标识,threatvalue为所述恶意行为的特征值。
在步骤S640,云端服务器对键值对列表<sourceID,threat value>与病毒知识库数据进行第一轮MapReduce计算及匹配,生成列表<threatID,list(threat value)>,其中,所述病毒知识库包括<malware family ID,threatID,至少一个threat value>记录。如果匹配出<threat value,null>,即匹配出的病毒家族列表为空,则说明该病毒威胁可能是新的病毒家族,结束图6所述方法的处理。
根据本发明的优选实施例,所述病毒知识库中的每个记录还包括所述threatID所属的病毒分类的信息。
通常,移动终端的病毒威胁分为数据泄露(data leakage)、SMS盗取(SMSactivities)、监控行为(spy)、文件操作活动(file activities)、网络活动(networkactivities)以及系统命令执行(code execution)。以下列出部分病毒威胁与所属的病毒分类:
-数据泄露:泄露SMS/Contact/Phone/Call/GPS/Location信息
SMS_Query |
SMS查询 |
Contact_Get |
获取联系人信息 |
Contact_Query |
联系人清单 |
Phone_IMEI_Get |
获取IMEI |
Phone_IMSI_Get |
获取IMSI |
Phone_Number_Get |
获取当前的电话号码 |
Call_Query |
查询通话记录 |
Network_Query |
查询网络设置 |
Network_NetProvider_Get |
查询网络提供商信息 |
App_Get |
提取运行任务的信息 |
Location_Last_Get |
提取最新的通话位置 |
Location_Get |
提取当前的通话位置 |
GPS_Get |
获取GPS信息 |
Phone_Location_Get |
获取通话位置 |
Browser_Bookmark_Get |
提取浏览器书签 |
-SMS盗取:盗取短消息、电话和安装程序信息
行为名称 |
描述 |
SMS_Analysis |
分析SMS消息 |
SMS_Intercept |
截取SMS消息 |
SMS_Send |
发送SMS消息 |
SMS_Erase |
擦除SMS消息 |
SMS_Create_Message |
创建SMS消息 |
SMS_Delete_Message |
删除收信箱中的SMS消息 |
Contact_Create |
创建联系人 |
Contact_Edit |
编辑联系人 |
Contact_Erase |
删除联系人 |
Contact_Erase_All |
删除全部联系人 |
Phone_Dial |
通话拨叫 |
Call_Erase |
擦除通话记录 |
Database_Erase |
删除数据库 |
App_Install |
安装应用 |
App_Uninstall |
卸载应用 |
App_Get |
下载应用 |
App_Hide |
隐藏应用 |
App_Start |
启动应用 |
App_Close |
关闭应用 |
Notification_Send |
发送通知 |
-监控行为:
行为名称 |
描述 |
SMS_Spy |
窥窃SMS |
Database_Spy |
窥窃数据库 |
Cell_Spy |
窥窃信号状态 |
GPS_Spy |
窥窃GPS状态 |
Call_Spy |
窥窃通话记录 |
Battery_Spy |
窥窃电池状态 |
Location_Spy |
窥窃位置 |
Keyboard_Spy |
窥窃按键 |
-文件操作活动:
行为名称 |
描述 |
File_Erase |
删除文件 |
OS_Kill |
杀掉进程 |
OS_Register_Hook |
注册系统消息 |
OS_Reflection |
使用系统反馈 |
File_Load |
加载DEX类 |
-网络活动:
Network_Acess |
访问网络 |
Network_Disable_Acess_Message |
隐藏网络访问消息 |
Broswer_Bookmark_Add |
添加浏览器书签 |
Broswer_Homepage_Add |
设置浏览器主页 |
-系统命令执行:执行各种系统命令。
根据本发明的优选实施例,可通过步骤S640~S660的优化处理,将恶意行为(如调用的函数、加载的网页、产生的流量等)与病毒家族和病毒分类进行关联。
根据本发明的可选实施例,对在步骤S640生成的列表<threatID,list(threatvalue)>执行过滤、去噪处理,将不会造成病毒威胁的项目从所述列表中删除,以避免导致误判的情形。
在步骤S650,云端服务器对列表<threatID,list(threat value)>与病毒知识库数据进行第二轮第一阶段MapReduce计算及匹配,生成列表<threat value,list(malwarefamily ID)>。如果匹配出<threat value,null>,即匹配出的病毒家族列表为空,则说明该病毒威胁可能是新的病毒家族,结束图6所述方法的处理。
在步骤S660,云端服务器对列表<threat value,list(malware family ID)>、键值对列表<sourceID,threat value>、列表<threatID,list(threat value)>以及病毒知识库数据进行第二轮第二阶段MapReduce计算及匹配,生成列表<sourceID,病毒关联数据列表>,其中,所述病毒关联数据列表中的每个项目包括malware family ID以及list(threatvalue)。如果匹配出空的病毒关联数据列表,则说明所述数据源包含新的病毒,结束图6所述方法的处理。
本发明可分析、处理的移动终端应用的信息文件可涉及不同层次的病毒威胁关联。其中,从应用程序文件可分析出内容、静态和行为层次的病毒威胁关联;从运行日志文件可分析出静态和行为层次的病毒威胁关联;从流量数据文件可分析出流量层次的病毒威胁关联。根据本发明的手机病毒分析和威胁关联的方法,可从移动终端应用的几种信息文件分析出深度的、多层次的病毒威胁关联数据,如图7所示。
在病毒知识库的记录还包括threatID所属的病毒分类的信息的本发明的优选实施例中,在步骤S660,为每个sourceID生成的病毒关联数据列表还包括每个threat value对应的threatID以及所述threatID所属的病毒分类的信息。
在步骤S670,云端服务器输出在步骤S660生成的列表<sourceID,病毒关联数据列表>。根据本发明的优选实施例,云端服务器以图形的形式输出所述列表,例如,以所述sourceID对应的信息文件为核心,绘制其malware family ID对应的病毒家族信息以及threat value。
图8是示出通过根据本发明的示例性实施例以图形形式输出病毒威胁关联的示意图。参照图8,五角星表示接收的移动终端应用的应用程序文件400686,中央的方框表示与所述移动终端应用关联的病毒家族Trojan.droiddream,而其他的圆点则表示与五角星代表的应用400686同属于病毒家族Trojan.droiddream的其他应用。
在病毒知识库的记录还包括threatID所属的病毒分类的信息的本发明的优选实施例中,在步骤S670,云端服务器还绘制每个threat value对应的threatID所属的病毒分类的信息。
在图8中,由五角星和圆点分出的每个分支表示与所述病毒家族关联的每个应用涉及的所述病毒家族关联中的病毒分类,如应用400686涉及病毒家族Trojan.droiddream中的数据泄露、文件操作活动、网络活动、SMS盗取和监控活动。
根据本发明的优选实施例,在步骤S670,云端服务器为每个绘制的病毒分类的信息设置用于显示所述病毒分类相应的threatID的名称的页面的链接。例如,在图8中,为应用400686涉及的SMS盗取病毒分类的信息设置了用于显示所述移动终端应用调用的SMS_Erase以及SMS_Delete_Message函数的页面的链接,用户在点击所述链接时,可查看到所述函数调用的信息。
通过前述描述可以看出,本发明的手机病毒分析和威胁关联的方法可对移动终端的应用进行多层次、深度的病毒威胁关联数据,并且可通过可视化的方式直观地呈现所述深度的病毒威胁关联数据。
图9是示出根据本发明的示例性实施例的实现手机病毒分析和威胁关联的方法的系统架构。
在实际的实施中,可通过企业的服务器收集如企业用户的智能手机或平板电脑的移动终端应用的应用程序文件、移动终端应用的运行日志文件以及移动终端的流量数据文件。然后,由所述服务器将收集的移动终端应用的信息文件上传到云端来进行深度的病毒威胁关联的分析,并获得分析出的病毒威胁关联数据,以保障其用户使用移动终端应用的安全。
当然,也可在用户的智能手机或平板电脑安装用于进行运行日志以及流量数据的收集,然后由所述智能手机或平板电脑将收集的移动终端应用的信息文件上传到云端来进行深度的病毒威胁关联的分析,并将分析出的病毒威胁关联数据显示给用户。
图10是示出根据本发明的示例性实施例的手机病毒分析和威胁关联的系统的逻辑框图。
参照图10,所述手机病毒分析和威胁关联的系统包括接收单元110、数据提取单元120、第一处理单元130、第二处理单元140、第三处理单元150、第四处理单元160以及输出单元170。
接收单元110用于接收移动终端应用的信息文件。所述移动终端应用的信息文件是移动终端应用的应用程序文件、移动终端应用的运行日志文件以及移动终端的流量数据文件中的至少一个。
数据提取单元120用于对接收单元接收的信息文件进行分析,以提取所述信息文件中的有关恶意行为的数据。根据本发明的优选实施例,数据提取单元120将提取的有关恶意行为的数据记录在XML文件中。
第一处理单元130用于从数据提取单元提取的有关恶意行为的数据提取键值对列表<sourceID,threat value>,其中,作为键值的sourceID为所述信息文件的标识,threatvalue为所述恶意行为的特征值。
第二处理单元140用于对键值对列表<sourceID,threat value>与病毒知识库数据进行第一轮MapReduce计算及匹配,生成列表<threatID,list(threat value)>,其中,所述病毒知识库包括<malware family ID,threatID,至少一个threat value>记录。根据本发明的优选实施例,所述病毒知识库中的每个记录还包括所述threatID所属的病毒分类的信息。
第三处理单元150用于对列表<threatID,list(threat value)>与病毒知识库数据进行第二轮第一阶段MapReduce计算及匹配,生成列表<threat value,list(malwarefamily ID)>。根据本发明的优选实施例,第三处理单元在执行第二轮第一阶段MapReduce计算及匹配前,对第二处理单元生成的列表<threatID,list(threat value)>执行过滤、去噪处理,将不会造成病毒威胁的项目从所述列表中删除。
第四处理单元160用于对列表<threat value,list(malware family ID)>、键值对列表<sourceID,threat value>、列表<threatID,list(threat value)>以及病毒知识库数据进行第二轮第二阶段MapReduce计算及匹配,生成列表<sourceID,病毒关联数据列表>,其中,所述病毒关联数据列表中的每个项目包括malwarefamily ID以及list(threatvalue)。在病毒知识库的记录还包括threatID所属的病毒分类的信息的本发明的优选实施例中,第四处理单元还为每个sourceID生成的病毒关联数据列表还包括每个threat value对应的threatID以及所述threatID所属的病毒分类。
输出单元170用于输出所述列表<sourceID,病毒关联数据列表>。根据本发明的优选实施例,输出单元以图形的形式输出所述列表<sourceID,病毒关联数据列表>。例如,输出单元以所述sourceID对应的信息文件为核心,绘制其malware family ID对应的病毒家族信息以及threat value。根据本发明的另一优选实施例,输出单元还绘制每个threatvalue对应的threatID所属的病毒分类的信息。根据本发明的又一优选实施例,输出单元还为每个绘制的病毒分类的信息设置用于显示所述病毒分类相应的threatID的名称的页面的链接。
本发明的用于手机病毒分析和威胁关联的方法和系统可通过对移动终端应用的多种信息数据进行分析及多次MapReduce计算来取得多层次、深度的病毒威胁关联数据,以便于准确地识别移动终端应用涉及的病毒威胁以及威胁关联,并且检测出最新的病毒变种和零日攻击;此外,还以图形的形式直观地呈现分析出的病毒威胁关联数据,提高用户的使用便利。
需要指出,根据实施的需要,可将本申请中描述的各个步骤或部件拆分为更多步骤或部件,也可将两个或多个步骤/部件或者步骤/部件的部分操作组合成新的步骤/部件,以实现本发明的目的。
上述根据本发明的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CDROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的处理方法。此外,当通用计算机访问用于实现在此示出的处理的代码时,代码的执行将通用计算机转换为用于执行在此示出的处理的专用计算机。
尽管已参照优选实施例表示和描述了本发明,但本领域技术人员应该理解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可以对这些实施例进行各种修改和变换。