分析移动设备中程序安装和程序运行的方法和系统的制作方法

文档序号:6424574阅读:203来源:国知局
专利名称:分析移动设备中程序安装和程序运行的方法和系统的制作方法
技术领域
本发明涉及通信安全领域,具体地涉及分析移动设备中程序安装和程序运行的方法和系统。
背景技术
随着智能手机和其他智能化移动设备的普及,手机病毒也大量增加,例如手机木马和手机蠕虫等病毒将目标锁定为智能手机或移动设备。手机病毒的威胁可以通过多种方式入侵移动设备,例如短信息,彩信,无线网络下载,WiFi或蓝牙连接。主动式的安全保护对于移动设备而言日益重要。移动设备中的恶意软件可以造成很多严重的问题。例如手机病毒可以造成手机电量的快速消耗,病毒还可能删除用户的重要商业信息甚至导致手机的特定功能失效。病毒 除了可以禁止手机的正常功能,手机窃听病毒还可以取得手机的控制权限,使手机变成一个移动窃听器。甚至可以打开摄像头,拍摄照片并上传至网络。虽然病毒所采用的手段不断的更新,但是病毒在移动设备中发作时总是有迹可循的。例如,对系统有害的操作,如删除,静默安装或后台联网等。针对病毒的这些特征,现有的杀毒软件采取了一些措施来识别和清除病毒。这些措施可以总结为以下三个步骤
研究人员搜集病毒样本,分析病毒的执行流程,对病毒程序分类、取得病毒指纹并存入病毒库;
定期扫描移动设备,利用病毒库中的病毒文件的指纹来核对病毒种类;
识别了特定的病毒后,删除病毒程序或从被感染的程序中清除病毒痕迹。上述过程虽然可以识别已知的病毒或已知病毒的变种,但是对于未知病毒没有效果。此类方法通常是事后行为,病毒感染后才能检测、识别和清除。此类方法对于病毒的识别依赖于病毒库中存储的病毒签名或指纹,对于病毒库中没有存储的病毒没有效果。基于上述原因,现有技术中的病毒查杀方法无法主动识别未知病毒,仅仅依赖于已发作的病毒的样本,无法有效的防范移动设备的安全威胁。

发明内容
本发明解决的技术问题是提供一种技术方案能够主动分析软件程序在移动设备中的安装过程和运行过程,从而识别可能对移动设备的安全构成威胁的程序。根据本发明的一个方面,所采用的技术方案是提供一种分析移动设备中程序安装和程序运行的方法,包括以下步骤记录移动设备程序安装信息和程序运行信息;读取所述程序安装信息和运行信息;将所安装程序的散列计算值与标准程序的散列计算值比较,如果存在差别,则判断所述程序为未知程序;以及进一步对未知程序的运行记录进行分析,如果所述程序运行记录存在杀进程、静默卸载、删除文件、删除安装日志、发送短信、静默拨号、后台安装、进程守护、修改通讯录或自动应答来电事件中的一种,将所分析的程序列为威胁性程序。
根据本发明的一个方面,程序的安装信息至少包括所述程序的唯一标识符、文件名称和散列计算值,根据程序名称或唯一标识符找出相应的标准程序,并读取标准程序的散列计算值。根据本发明的一个方面,从存储许多散列计算值的标准程序库中读取相应的标准程序散列计算值。根据本发明的一个方面,如果根据所述程序的唯一标识符或名称无法找到相应的标准程序,则判断所述程序为未知程序,以及进一步对未知程序的运行记录进行分析,如果所述程序运行记录存在杀进程、静默卸载、删除文件、删除安装日志、发送短信、静默拨号、后台安装、进程守护、修改通讯录或自动应答来电事件中的一种,将所分析的程序列为威胁性程序。根据本发明的一个方面,程序运行信息至少包括记录事件名称,运行时间,程序名称,程序识别码,调用的文件名称,调用的文件识别码其中之一。 根据本发明的一个方面,记录移动设备程序安装信息和程序运行信息包括批量记录移动设备程序安装信息和程序运行信息。根据本发明的一个方面,重复上述步骤,分析所述移动设备中的每一个程序的安装信息和运行信息。根据本发明的一个方面,所采用的技术方案是提供一种分析移动设备中程序安装和程序运行的系统,包括程序安装和运行监测模块,数据读取模块,数据分析模块和威胁性程序数据库;程序安装和运行监测模块在移动设备中实时运行,记录程序在移动设备安装的过程中产生的安装信息,以及程序在移动设备运行过程中产生的运行信息;数据读取模块读取程序安装和运行记录并转发至数据分析模块;数据分析模块比较所述程序的散列计算值与标准程序的散列计算值,如果存在差别,则判断所述程序为未知程序;数据分析模块可根据所述程序的运行记录进行分析,如果所述程序运行记录存在杀进程、静默卸载、删除文件、删除安装日志、发送短信、静默拨号、后台安装、进程守护、修改通讯录或自动应答来电事件中的一种,将所分析的程序列为威胁性程序;以及
所述威胁性程序数据库存储威胁性程序的相关信息。本发明的有益效果在于,主动分析软件程序在移动设备中的安装过程和运行过程,从而识别可能对移动设备的安全构成威胁的程序。本发明的有益效果还在于,获取多个程序的安装信息和运行信息,并对多个程序进行筛选,识别威胁程序。


下面结合流程图对本发明进一步说明。图I是本发明的监视程序安装和运行的操作流程图。图2是本发明的的运行流程的流程图。图3是本发明的的运行流程的流程图。图4是本发明的采用的运行流程的流程图。
具体实施例方式本发明提供了一种分析移动设备中程序安装和运行的方法。通过分析移动设备中的程序安装过程和程序运行过程,主动识别具有威胁的程序或病毒。根据本发明的一个实施方式,分析移动设备中程序安装和运行的方法,如流程图I所示,在步骤S101,记录程序安装信息和程序运行信息。具体而言,安装信息可包括安装包的识别码、安装包的名称、安装包的版本、安装包的供应商、安装包的散列计算值、安装包结构、安装后生成的程序名、程序识别代码、文件名、文件路径、文件大小和程序证书等。程序运行信息可包括事件名称、运行时间、程序名称、程序识别码、调用的文件名称、调用的文件识别码等。程序安装信息和运行信息的记录是通过安装在移送设备的监测和记录模块完成。 在步骤S102,读取程序安装信息和运行信息。具体而言,读取在步骤SlOl记录的程序安装和运行信息。在步骤S103,程序的散列计算值与标准程序的散列计算值比较。具体而言,该步骤包括读取安装程序包的识别码、安装包的名称、安装包的版本、安装包的供应商、安装包的散列计算值。根据安装包的识别码,或者安装包的名称、安装包的版本和安装包的供应商搜寻标准程序库中对应的标准程序的散列计算值。标准程序库中存储有许多程序的散列计算值,并且按照安装包的识别码,或者安装包的名称、安装包的版本和安装包的供应商进行分类,以便查找。如果找到相对应的标准程序,比较待分析的程序的散列计算值与标准程序的散列计算值。如果两者的散列计算值相符,则判定该程序为已知程序并转到步骤S102,读取下一程序的安装信息和运行信息。如果两者的散列计算值不相符,则判定该程序为未知程序并进入下一步骤S104。在步骤S104,分析程序运行记录是否存在杀进程、静默卸载、删除文件、删除安装日志、发送短信、静默拨号、后台安装、进程守护、修改通讯录或自动应答来电事件中的一种。具体而言,该步骤读取程序运行记录,该记录包括程序运行一段时间内所有调用或启动的进程记录,如果该程序的运行记录中存在上述事件,则进入下一步骤,步骤S105。如果该程序的运行记录中不存在任何一个上述事件,则回到步骤S102,读取下一程序的安装信息和运行信息。在步骤S105,该程序为威胁性程序。具体而言,该步骤创建威胁性程序报告,该报告至少包括安装程序包的识别码、安装包的名称、安装包的版本、安装包的供应商、安装包的散列计算值以及该程序调用或启动的威胁性事件内容,例如杀进程或静默卸载等。在步骤S106,该程序相关信息存入病毒库。具体而言,将步骤S105所创建的威胁性程序报告存入病毒库中。根据本发明的一个实施方式,还包括在步骤S103,判定该程序为未知程序,并在步骤S104分析结果为不存在杀进程、静默卸载、删除文件、删除安装日志、发送短信、静默拨号、后台安装、进程守护、修改通讯录或自动应答来电事件中的任何一种。则该程序判定为正常程序或无威胁软件,并将该程序的相关信息存入标准程序库,例如程序名称,程序唯一识别码,程序散列计算值或安装包名称,安装包唯一识别码,安装包散列计算值等。根据本发明的一个实施方式,还包括在步骤S103,当所分析的程序在标准程序库中有相应的记录,例如同样的程序名称和唯一识别码,但是所分析的程序散列计算值与标准程序库中存储的散列计算值不一致,并且在步骤S104分析结果为程序运行记录存在威胁性事件,则判断该程序为病毒绑定的程序。可选的,对病毒绑定的程序的所有进程进行分析,记录程序安装后执行威胁性事件的进程、相关程序名、程序识别码、散列计算值、程序安装路径、程序大小等信息。此外,将上述信息提取为病毒特征并加入病毒分析报告。根据本发明的一个实施方式,步骤S102所产生的程序安装和运行记录由移动设备传输至服务器。可选的,如图2所示,在步骤S201,程序安装和运行记录通过无线WIFI连接到一个HTTP服务器,通过HTTP文件传输协议将文件上传到HTTP服务器中。然后,在步骤S202,HTTP服务器通过启动一个后台进程对上传的文件进行分析。在步骤S203,将分析结果保存到数据库。可选的,在步骤S204,HTTP服务器还与病毒数据库和分析数据库对接,并将病毒进程的相关信息存储入病毒数据库。在步骤S205,样本分析完成后,病毒分析师可以通过一个WEB页面看到分析结果,而且可以很方便的提交病毒特征以及生成病毒分析报告。可选的,移动设备可采用GPRS,CDMAlx或3G网络上行传输数据包至通信基站,由基站转发给数据处理服务器。服务器接收数据包后进行进一步数据解压,分析等操作。根据本发明的一个实施方式,本发明可批量记录软件程序的安装和运行。如图3 所示,在步骤S301,批量准备待监测软件程序。可选的,在塞班系统中,将待监测SISX安装包批量复制到指定的文件目录下,例如C:\data目录下保存。在步骤S302,获取待安装文件的信息,生成文件列表,例如,程序1,程序2,…,程序N。在步骤S303,按照文件列表顺序,执行安装。在步骤S305,针对安装成功的SISX程序包,获取程序安装的相应信息。可选的,该步骤包括首先获取成功安装的程序包的UID (唯一标识符),并将UID读出后记录到一个安装结果列表中,利用安装结果列表中的WD,获取安装包的相关信息。可选的,使用软中断函数获取安装结果列表中的安装包的属性,如WD,名称,发行者,版本号,生成文件名称,路径等。可选的,该步骤还包括获取安装包的散列计算值,以及安装后生成文件的散列计算值。在步骤S306,生成程序安装报告。程序安装报告包括监测模块所监测到的程序安装信息,如WD,名称,发行者,版本号,生成文件名称,路径,安装包的散列计算值,以及安装后生成文件的散列计算值等。在步骤S304,运行安装结果列表中所列出的安装成功的软件程序。在步骤S307,程序运行监测模块监测程序的运行。根据本发明的一个实施方式,监测过程具体包括如下流程。创建RapaLsSession对象,记录系统当前运行的任务数目,获得全部运行任务的初步信息,遍历系统所有的运行任务,获取每一个任务的具体信息,包括任务的唯一标识符,任务的线程标识符,任务线程所占有的内存大小信息,任务的运行时间以及任务的具体操作,如读取,复制或删除等,每获得一个任务的具体信息,将其具体信息添加入列表,刷新系统运行任务信息,并在下一系统时刻遍历系统所有的运行任务。可选的,程序运行监测模块在预定义的时间段内持续运行,从而不仅记录程序初次启动时触发的事件,而且可记录程序运行一段时间内触发的事件。在步骤S308,生成程序运行报告。数据编译模块读取程序运行信息,并生成程序运行报告。根据本发明的一个实施方式,数据编译模块读取程序运行的记录,并将程序运行所调用的线程记录汇总为事件触发记录。在步骤S309,数据编译模块将程序安装报告和程序运行报告打包。在步骤S310,数据发送模块将含有程序安装报告和程序运行报告的数据包发送至服务器。根据本发明的一个实施方式,待监测的程序被批量安装,并且任意一个待监测的程序安装结束后就被启动运行。当多个程序被安装和运行时,安装和运行过程可以同时进行,例如当程序I安装结束后,运行程序1,同时也开始安装程序2,程序I的运行监测过程可以与程序2的安装监测过程同时进行。可选的,依据移动设备操作系统的不同,例如有的操作系统支持多任务方式,而有的操作系统只支持单一任务方式,本发明的程序安装和运行的监测可以同时监测多个程序的安装和运行,或者受限于操作系统平台而只能依次监测各个程序的安装和运行。根据本发明的一个实施方式,如图4所示,分析移动设备中程序安装和程序运行的系统400包括程序安装和运行记录模块410,数据读取模块420,数据分析模块430和威胁性程序数据库440。程序安装和运行记录模块410在移动设备中实时运行,并与移动设备操作系统内核和可读存储器通信。程序安装和运行记录模块410记录程序在移动设备安装过程中产生的安装信息,以及程序在移动设备运行过程中产生的运行信息。 数据读取模块420与程序安装和运行记录模块410通信,数据读取模块420读取程序安装和运行记录并转发至数据分析模块430。可选的,数据读取模块420是安装在移动设备的功能模块。可选的,数据读取模块420是安装在服务器端的功能模块,接收来自移动设备的程序安装和运行记录,并读取程序安装和运行信息。可选的,数据读取模块420通过HTTP协议接收来自移动设备的信息,并读取XML格式的程序安装和运行记录。数据分析模块430与数据读取模块420通信,并分析来自移动设备的程序安装和运行记录。数据分析模块430首先比较所述程序的散列计算值与标准程序的散列计算值,如果存在差别,则判断所述程序为未知程序。数据分析模块430进一步分析未知程序的运行记录,如果所述程序运行记录存在杀进程、静默卸载、删除文件、删除安装日志、发送短信、静默拨号、后台安装、进程守护、修改通讯录或自动应答来电事件中的一种,将所分析的程序列为威胁性程序。可选的,数据分析模块430在分析过程结束后生成一个病毒分析报告,该病毒分析包括可以是WEB页面的形式,包含威胁性程序的相关信息,如威胁性程序名称、程序识别代码、散列计算值以及该程序所触发的威胁性事件等。可选的,数据分析模块430是安装在服务器端的功能模块,具备存储能力,可存储上述分析规则。并且数据分析模块430具备计算能力,可应用上述分析规则分析程序安装和运行记录以及生成病毒分析报告
威胁性程序数据库440与数据分析模块430通信。威胁性程序数据库440读取分析结果并存储威胁性程序的相关信息。可选的,威胁性程序数据库是存储在服务器端的数据库模块,也可以是可以与服务器端通信的其它的数据存储单元。根据本发明的一个实施方式,分析系统400还包括标准程序数据库450。数据分析模块430还包括标准程序比较模块431。标准程序数据库450可以与标准程序比较模块431通信,并且标准程序数据库450中存储有许多程序的标准信息,例如程序名称,唯一识别码和散列计算值等。标准程序比较模块431可以检索和读取标准程序数据库450中的信息。例如,标准程序比较模块431根据待分析程序的程序名称、程序识别码或安装包的识别码、安装包的名称、安装包的版本和安装包的供应商来检索标准程序数据库中的信息。如果无法检索到相应的程序,则待分析的程序被判定为未知程序。如果检索到相应的程序,但是待分析的程序散列计算值与标准程序数据库中存储的散列计算值不一致,则待分析的程序被判定为未知程序。可选的,当标准程序数据库450中无法检索到相应的程序,并且该程序不触发任何威胁性事件,则将该程序的相关信息存储入标准程序数据库450。根据本发明的一个实施方式,数据分析模块430还包括运行记录分析模块432。运行记录分析模块432与标准程序比较模块431和数据读取模块420通信。当标准程序比较模块431的输出为“判定为未知程序”,运行记录分析模块432接收来自数据读取模块420的程序运行信息。如果所述程序运行记录存在杀进程、静默卸载、删除文件、删除安装日志、发送短信、静默拨号、后台安装、进程守护、修改通讯录或自动应答来电事件中的一种,运行记录分析模块432将所分析的程序列为威胁性程序。根据本发明的一个实施方式,数据分析模块430还包括病毒分析报告生成模块433。病毒分析报告生成模块433与标准程序比较模块431和运行记录分析模块432通信。所生成的病毒分析报告包括标准程序比较模块431的分析结果,例如所分析的程序是已知程序或未知程序。所生成的病毒分析报告还包括运行记录分析模块432的分析结果,例如 说分析的程序是威胁性程序或不是威胁性程序。可选的,当标准程序比较模块431在标准程序数据库450中检索到相应的程序信息,但是该程序的散列计算值与标准程序数据库450中存储的散列计算值不一致,并且该程序运行记录存在威胁性事件,则运行记录分析模块432分析该程序的威胁性事件。通常这种情况是由于正常程序被捆绑了病毒。运行记录分析模块432根据威胁性事件的相关信息检索程序安装记录中安装包的信息,例如触发威胁性事件的程序名称、该程序在安装记录中程序安装路径、程序大小、程序识别码、程序版本号、程序证书、证书发布者等相关信息,并且,病毒分析报告生成模块433将这些信息记录入病毒分析报告。为了说明本发明的目的,不可能在此陈述装置或方法的每一个组合,但本领域的技术人员会意识到本发明尚可能有许多更进一步的组合和修改。因此,本发明意在涵盖所有此类的变更、修正及变化,例如程序运行记录中存在的威胁性事件的处理方式,病毒分析报告所记录的内容和形式等。此外,虽然本发明某个特定的特征可能依据各种实现方式中的一种而被披露,这个特征可以与其它实施方式中的其它特征进行结合。
权利要求
1.一种分析移动设备中程序安装和程序运行的方法,其特征在于包括以下步骤 a)记录移动设备程序安装信息和程序运行信息; b)读取所述程序安装信息和运行信息; c)将所安装程序的散列计算值与标准程序的散列计算值比较,如果存在差别,则判断所述程序为未知程序;以及 d)进一步对未知程序的运行记录进行分析,如果所述程序运行记录存在杀进程、静默卸载、删除文件、删除安装日志、发送短信、静默拨号、后台安装、进程守护、修改通讯录或自动应答来电事件中的一种,将所分析的程序定义为威胁性程序。
2.根据权利要求I所述的分析移动设备中程序安装和进程运行的方法,所述程序的安装信息至少包括所述程序的唯一标识符、文件名称和散列计算值,根据程序名称或唯一标识符找出相应的标准程序,并读取标准程序的散列计算值。
3.根据权利要求2所述的分析移动设备中程序安装和进程运行的方法,进一步包括从存储许多散列计算值的标准程序库中读取相应的标准程序散列计算值。
4.根据权利要求2所述的分析移动设备中程序安装和进程运行的方法,进一步包括如果根据所述程序的唯一标识符或名称无法找到相应的标准程序,则判断所述程序为未知程序,并执行步骤d)的操作。
5.根据权利要求I所述的分析移动设备中程序安装和进程运行方法,所述程序运行信息至少包括记录事件名称,运行时间,程序名称,程序识别码,调用的文件名称,调用的文件识别码其中之一。
6.根据权利要求I所述的监视移动设备中程序安装和进程运行的方法,所述记录移动设备程序安装信息和程序运行信息包括批量记录移动设备程序安装信息和程序运行信息。
7.根据权利要求6所述的监视移动设备中程序安装和进程运行的方法,重复步骤b)、c)和d),分析所述移动设备中的每一个程序的安装信息和运行信息。
8.一种分析移动设备中程序安装和程序运行的系统,包括程序安装和运行记录模块,数据读取模块,数据分析模块和威胁性程序数据库; 所述程序安装和运行记录模块在移动设备中实时运行,记录程序在移动设备安装的过程中产生的安装信息,以及程序在移动设备运行过程中产生的运行信息; 所述数据读取模块读取程序安装和运行记录并转发至数据分析模块; 所述数据分析模块比较所述程序的散列计算值与标准程序的散列计算值,如果存在差另O,则判断所述程序为未知程序; 所述数据分析模块可分析未知程序的运行记录,如果所述程序运行记录存在杀进程、静默卸载、删除文件、删除安装日志、发送短信、静默拨号、后台安装、进程守护、修改通讯录或自动应答来电事件中的一种,将所分析的程序列为威胁性程序;以及 所述威胁性程序数据库存储威胁性程序的相关信息。
9.根据权利要求8的监视移动设备中程序安装和程序运行的系统,所述程序的安装信息至少包括所述程序的唯一标识符、文件名称和散列计算值,所述数据分析模块根据程序名称或唯一标识符找出相应的标准程序,并读取标准程序的散列计算值。
10.根据权利要求8的监视移动设备中程序安装和程序运行的系统,进一步包括标准程序数据库,其中存储许多标准程序的散列计算值存储,所述数据分析模块根据程序名称或唯一 标识符读取所述标准程序数据库中的数据。
全文摘要
本发明提供一种分析移动设备中程序安装和进程运行的方法和系统。该方法包括记录移动设备程序安装信息和程序运行信息,读取安装信息和运行信息,将所安装程序的散列计算值与标准程序的散列计算值比较,如果存在差别则判断为未知程序,进一步根据程序的运行记录进行分析,如果程序运行记录存在杀进程、静默卸载、删除文件、删除安装日志、发送短信、静默拨号、后台安装、进程守护、修改通讯录或自动应答来电事件中的一种,将所分析的文件列为威胁性文件,并将该文件相关信息存入病毒库。本发明的有益效果在于主动发现病毒并且通过手机的功能分析病毒威胁。
文档编号G06F21/00GK102789558SQ201110131928
公开日2012年11月21日 申请日期2011年5月20日 优先权日2011年5月20日
发明者张扬, 施华国, 林宇, 邹仕洪 申请人:北京网秦天下科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1