手机病毒分析和威胁关联的方法和系统的制作方法_2

文档序号:8322806阅读:来源:国知局
本发明的示例性实施例的手机病毒分析和威胁关联的方法的流 程图;
[0036] 图7是示出通过根据本发明的示例性实施例执行多层次病毒威胁关联的示意图;
[0037] 图8是示出通过根据本发明的示例性实施例以图形形式输出病毒威胁关联的示 意图;
[0038] 图9是示出根据本发明的示例性实施例的实现手机病毒分析和威胁关联的方法 的系统架构;
[0039] 图10是示出根据本发明的示例性实施例的手机病毒分析和威胁关联的系统的逻 辑框图。
【具体实施方式】
[0040] 以下,将参照附图来详细说明本发明的实施例。
[0041] 图1示例性地示出本发明的总体构思,也就是,对与智能移动终端的应用相关的 多种数据源执行移动终端病毒威胁关联的分析。所述多种数据源可包括,但不限于,所述移 动终端应用的应用程序文件、运行日志文件以及移动终端的流量数据文件等。
[0042] 移动终端应用的应用程序文件为APK文件包,通常包括被编译的代码文件(.dex 文件)、资源文件(resources和assets)、证书(certificates)和清单文件(manifest file)。一般在手机应用商店上可下载APK应用程序,例如各大Android手机厂商都在推自 己的应用商店,比如木蚂蚁等。
[0043] 运行日志文件包括移动终端运行以及上网时产生的日志,通常包括网址(如URL)、 HTTP协议数据包信息、访问时间等等。图2示例性地示出智能手机的运行日志片段。图2 中的运行日志片段显示了报告协议HTTP、服务器信息、访问的网址、访问时间、源IP地址、 目标IP地址以及端口号。
[0044] 移动终端的流量数据文件用于记载移动终端的网络流量数据。例如,pcap(packet capture)文件是常用的网络数据报存储格式,其通常的格式为:
[0045] 文件头(24字节)
[0046] 数据帧:数据报头+数据报
[0047] 数据帧:数据报头+数据报.....
[0048] 数据帧中可以包含着TCP包,也可以包含其他包(例如ICMP或UDP包等等)。TCP 包是传输层的传输单元,TCP可以包含着HTTP报文。HTTP报文包括手机上网的流量信息, 比如访问了哪些网站,上载或者下载了哪些文件。
[0049] 根据本发明的示例性实施例,可对一个或多个前述几种移动终端应用的信息文件 进行处理。具体为,首先对接收的移动终端应用的信息文件进行分析,以提取所述信息文件 中的有关恶意行为的数据;然后,对提取的有关恶意行为的数据进行多次MapReduce计算 和匹配,以为所述移动终端应用生成病毒威胁关联数据。
[0050] 根据本发明的优选实施例,将提取的有关恶意行为的数据记录在XML文件中。
[0051] 图3A~图3C示出根据本发明的示例性实施例分别从移动终端应用的应用程序文 件、运行日志文件以及移动终端的流量数据文件提取的有关恶意行为的数据的示例。
[0052] 例如,图3A示出从移动终端的某个应用程序文件提取出的"File_Delete"、"GPS_ Get"、"Notification_Send"、"System_ReflectInvoke" 等恶意行为数据以及恶意行为的 位置数据,如发生恶意行为System_ReflectInvoke的位置为"Lcom/mobclick/android/ a->(LL)I:15,,。
[0053] 再例如,图3B示出从某个移动终端应用的运行日志文件提取出的"android, intent,action.DR0PB0X_ENTRY_ADDED.null"、"android.intent.action.DR0PB0X_ALARM_ CHANGED,nul1 "等恶意行为以及发生时间。
[0054] 此后,根据提取的有关恶意行为的数据(如前述的XML数据)生成键值对列表 〈sourcelD,threatvalue〉(即每个键值对包括〈数据源标识,威胁值 >),以作为生成病 毒威胁关联数据的计算输入。提取的键值对例如,<Lapk,Lcom/android/view/custom/ BaseABroadcastReceiver>, <1.txt,android,intent,action.DR0PB0X_ENTRY_ADDED. null〉,〈1.pcap,P0ST/androidplus/?c=plug3&a=applog> 等。其中,作为键值的sourcelD 为所述信息文件的标识,可以是例如(但不限于)企业标识+用户标识+文件标识;threat value为所述恶意行为的特征值。
[0055] 为了对应用程序进行病毒关联分析,还要预先建立用于记录病毒威胁与其所属的 病毒家族信息的病毒知识库。所述病毒知识库中的每条记录包括〈malwarefamilyID, threatID,至少一个threatvalue〉,即所述每条记录包括〈病毒家族标识,威胁标识,至少 一个威胁值〉,所述threatvalue是所述threatID对应的恶意行为的特征值。此外,所述 记录还可包括所述threatID对应的恶意行为的病毒分类的信息。
[0056] 在提取了键值对列表〈sourcelD,threatvalue〉以后,将进行如图4所示的多次 MapReduce计算以生成病毒关联数据。
[0057] MapReduce是一种编程模型,用于大规模数据的并行运算。Map(映射)函数用来 将一组键值对映射成一组新的键值对,在执行并发的Reduce(化简)函数,以保证所有映射 的键值对中的每一个共享相同的键组。
[0058] 参照图4,通过对键值对列表〈sourcelD,threatvalue〉与病毒知识库数据执行 MapReducel处理,生成列表〈threatID,list(threatvalue)〉,即所述列表中的每项包括〈 威胁标识,威胁值列表〉。此后,根据本发明的可选实施例,对列表〈threatID,list(threat value)〉执行过滤、去噪处理,将不会造成病毒威胁的项目从所述列表中删除。然后,再进行 包括两步MapReduce处理的MapReduce2,生成病毒威胁关联信息,如列表〈sourcelD,list (malwarefamilyID)> (即列表〈数据源标识,病毒关联数据列表 >),所述list(malware familyID)中的每个项目包括malwarefamilyID以及list(threatvalue)。
[0059] 图5示例性地示出根据本发明的示例性实施例对键值对列表〈sourcelD,threat value〉执行多次MapReduce计算以生成病毒关联数据的数据变换。
[0060] 参照图5,以键值对列表〈sourcelD,threatvalue〉为输入,首先,对键值对列表 〈sourcelD,threatvalue〉与病毒知识库数据进行第一轮MapReduce计算及匹配(MR1), 生成列表〈threatID,list(threatvalue)〉。之后,根据本发明的可选实施例,对列表 〈threatID,list(threatvalue)〉执行过滤、去噪处理。然后,在MR2中的第一步,对列表 〈threatID,list(threatvalue) >与病毒知识库数据进行第二轮第一阶段MapReduce计 算及匹配,生成列表〈threatvalue,list(malwarefamilyID)〉。如果匹配出〈threat value,null〉,即匹配出的病毒家族列表为空,则说明该病毒威胁可能是新的病毒家族。其 后,在MR2中的第二步,对列表〈threatvalue,list(malwarefamilyID)〉、键值对列表 〈sourcelD,threatvalue〉、列表〈threatID,list(threatvalue)〉以及病毒知识库数据进 行第二轮第二阶段MapReduce计算及匹配,生成列表〈sourcelD,病毒关联数据列表〉,所述 病毒关联数据列表中的每个项目至少包括malwarefamilyID以及list(threatvalue)。 同理,如果匹配出空的病毒关联数据列表,则说明所述数据源包含新的病毒。
[0061] 图6是示出根据本发明的示例性实施例的手机病毒分析和威胁关联的方法的流 程图。根据本发明的示例性实施例,将所述手机病毒分析和威胁关联的方法实现为云端提 供的服务。
[0062] 参照图6,在步骤S610,云端服务器从移动终端或用于收集企业用户的移动终端 的运行数据的服务器接收移动终端应用的信息文件。所述移动终端应用的信息文件可包括 至少一个移动终端应用的应用程序文件、移动终端应用的运行日志文件或移动终端的流量 数据文件。
[0063] 在步骤S620,云端服务器对接收的信息文件
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1