一种应用安装包的行为检测方法、服务器及系统与流程

文档序号:11845948阅读:424来源:国知局
一种应用安装包的行为检测方法、服务器及系统与流程

本发明涉及信息处理技术领域,尤其涉及一种对安卓系统下恶意软件进行检测的应用安装包的行为检测方法、服务器及系统。



背景技术:

移动终端逐步普及,使其成为个人隐私的聚集地,另外,移动支付时代的到来使得移动终端作为一种金融工具被普遍使用,这些趋势必然导致移动恶意程序的迅猛增长。目前,一些安卓应用存在恶意行为,如通过逆向工程修改原程序逻辑、嵌入广告;盗取用户隐私信息;敲诈勒索等。这些手段威胁安卓系统的安全,对用户产生了严重损害。

现有技术中,为了检测恶意安卓应用,通常使用人工的手段对应用安装包(APK)进行分析来确定恶意安卓应用,随后提取这些恶意安卓应用的哈希值与待检测的APK的哈希值进行匹配。但依赖于人工分析结果,且其匹配方式局限于哈希值,检测不全面;且检测工具扫描速度较慢,完成检测需要较长时间,无法让用户快速的了解待检测的APK中行为是否有恶意或者各类风险行为的存在。

因此,需要提供一种有效的检测方式,能够自动、快速发现待检测应用安装包中的未知移动恶意程序或各类风险行为的存在,从而对终端进行有效防护。



技术实现要素:

本发明的目的在于,提供一种应用安装包的行为检测方法、服务器及系统,可以对应用安装包进行多方面的快速检测,以让用户快速的了解待检测的APK中是否有恶意或者各类风险行为的存在以及存在的恶意行为特征,从而对用户使用的终端进行有效防护。

为实现上述目的,本发明提供了一种应用安装包的行为检测方法,包括如下步骤:(1)获取待检测的应用安装包;(2)提取所述应用安装包中的行为特征信息与预置的行为特征数据库匹配,进行风险行为检测,获取行为特征匹配结果,其中,所述行为特征数据库中保存有多项行为特征数据,每一行为特征数据标识至少一种风险行为特征;(3)根据所述行为特征匹配结果生成所述应用安装包的行为检测结果。

为了实现上述目的,本发明还提供了一种应用安装包的行为检测服务器,包括应用安装包获取模块、行为分析模块以及检测结果生成模块;所述应用安装包获取模块,用于获取待检测的应用安装包;所述行为分析模块与所述应用安装包获取模块相连,用于提取所述应用安装包中的行为特征信息与预置的行为特征数据库匹配,进行风险行为检测,获取行为特征匹配结果,其中,所述行为特征数据库中保存有多项行为特征数据,每一行为特 征数据标识至少一种风险行为特征;所述检测结果生成模块与所述行为分析模块相连,用于根据所述行为特征匹配结果生成所述应用安装包的行为检测结果。

为了实现上述目的,本发明还提供了一种应用安装包的行为检测系统,包括行为检测服务器以及行为检测客户端;所述行为检测服务器采用本发明所述的行为检测服务器;所述行为检测客户端包括通信模块以及显示模块,所述通信模块,用于与所述行为检测服务器进行通信,将待检测的应用安装包上传至所述行为检测服务器,以及接收所述行为检测服务器返回的行为检测结果;所述显示模块,用于显示所述行为检测结果。

本发明的优点在于:可以对应用安装包进行多方面的检测,匹配方式不局限于哈希值,包括但不限于类名、包名、权限列表、敏感API、调用序列、开发者签名等行为特征信息。本发明快速扫描、分析,只要几秒就可以完成检测,检测速度比一般检测工具快,可以让用户快速的了解待检测的APK中是否有恶意或者各类风险行为的存在以及存在的恶意行为特征,从而对用户使用的终端进行有效防护。本发明所述的应用安装包的行为检测技术方案可以方便部署于防病毒网关,设备制造商的rom,终端防病毒产品和其他可预见的、需要进行APK安全检测的场合。

附图说明

图1,本发明一实施例所述的应用安装包的行为检测方法的流程示意图;

图2,本发明一实施例所述的应用安装包的行为检测系统架构示意图;

图3,本发明一实施例所述的应用安装包的行为检测服务器架构示意图;

图4,本发明一实施例所述的应用安装包的行为检测客户端架构示意图;

图5,本发明一实施例所述的上传应用安装包的示意图;

图6至图10,本发明不同实例对应的行为分析报告示意图。

具体实施方式

下面结合附图对本发明提供的应用安装包的行为检测方法、服务器及系统做详细说明。

参考图1,本发明一实施例所述的应用安装包的行为检测方法的流程示意图,所述方法包括如下步骤:S11:获取待检测的应用安装包;S12:提取所述应用安装包中的行为特征信息与预置的行为特征数据库匹配,进行风险行为检测,获取行为特征匹配结果;S13:根据所述行为特征匹配结果生成所述应用安装包的行为检测结果;以下结合附图做详细解释。

S11:获取待检测的应用安装包。

作为优选的实施方式,步骤S11进一步包括:获取从指定网址的网页中上传的待检测应用安装包。该待检测应用安装包可以为用户上传的安卓软件安装包。待检测应用安装包的开发信息包括但不限于:应用名称、包名称、敏感API、调用序列、MD5值、SHA-1值、 版本号、开发者签名、公钥。这些开发信息即为应用安装包中的行为特征信息。

S12:提取所述应用安装包中的行为特征信息与预置的行为特征数据库匹配,进行风险行为检测,获取行为特征匹配结果。

对应用安装包的行为检测即检测应用安装包中存在哪些风险行为特征。预置的行为特征数据库中保存有多项行为特征数据,每一行为特征数据标识至少一种风险行为特征;例如广告特征数据标识广告风险行为特征、病毒特征数据标识病毒风险行为特征、短信欺诈特征数据标识短信欺诈风险行为特征等。将应用安装包的行为特征信息与预置的行为特征数据库匹配,若行为特征信息在行为特征数据库中匹配出相应的行为特征数据,则说明应用安装包中存在该行为特征数据说所标识的相应风险行为特征;若未匹配出相应的行为特征数据,则说明应用安装包中不存在风险行为特征。例如,安卓软件安装包的病毒特征,可能存在与对代码中的类名、包名、敏感API、调用序列、开发者签名等信息的变更;这些变更行为就构成了安卓软件安装包病毒特征数据,存储在行为特征数据库中;匹配行为特征数据库就能检测出出安卓软件安装包是否存在病毒特征。

作为可选的实施方式,步骤S12进一步包括:1)对所述应用安装包进行解包;2)对解包出的文件进行扫描,确定所述应用安装包的所述行为特征信息;3)将确定出所述行为特征信息与所述行为特征数据库中的行为特征数据匹配,进行风险行为检测,从而获取行为特征匹配结果。其中对解包出的文件进行扫描,确定所述应用安装包的所述行为特征信息,具体可以为:读取解包出的dex文件进行反汇编,提取所述应用安装包中的全限定名、所有字符串和调用关系作为所述行为特征信息,以用于与行为特征数据库中的行为特征数据进行匹配,分析其在行为特征数据库中是否有匹配的行为特征数据,从而检测出应用安装包存在的风险行为特征。

作为可选的实施方式,所述风险行为检测包括:重打包检测、广告检测、混淆加固检测、病毒特征检测、内置APK检测、FakeID检测、Root检测、短信欺诈检测、Masterkey检测、行为检测、启发式检测的至少一项。每一项检测即为将应用安装包的行为特征信息与行为特征数据库中的相应行为特征数据进行匹配,判断其是否存在相应风险行为特征。例如,重打包检测即为:将行为特征信息与行为特征数据库中的重打包特征数据进行匹配,若在行为特征数据库中匹配出相应的重打包特征数据,则判定该应用安装包存在重打包风险行为特征。

S13:根据所述行为特征匹配结果生成所述应用安装包的行为检测结果。

根据匹配行为特征数据库获取的行为特征匹配结果,即可确定的所述应用安装包存在的风险行为特征,进而生成所述应用安装包的行为检测结果。根据确定出的风险行为特征 生成的行为检测结果包括以下结果的至少一项:重打包检测结果、广告检测结果、混淆加固检测结果、病毒特征检测结果、内置APK检测结果、FakeID检测结果、Root检测结果、短信欺诈检测结果、Masterkey检测结果、行为检测结果、启发式检测结果。

本发明所述的应用安装包的行为检测方法,可以对应用安装包进行多方面的检测,匹配方式不局限于哈希值,包括但不限于类名、包名、权限列表、敏感API、调用序列、开发者签名等行为特征信息。本发明快速扫描、分析,只要几秒就可以完成检测,检测速度比一般检测工具快,可以让用户快速的了解待检测的APK中是否有恶意或者各类风险行为的存在以及存在的恶意行为特征,从而对用户使用的终端进行有效防护。本发明所述的应用安装包的行为检测技术方案可以方便部署于防病毒网关,设备制造商的rom,终端防病毒产品和其他可预见的、需要进行APK安全检测的场合。

参考图2,本发明一实施例所述的应用安装包的行为检测系统架构示意图。所述系统包括:行为检测客户端100和行为检测服务器200,两者可以通过网络连接。用户通过行为检测客户端100将待检测的应用安装包(例如安卓软件安装包)上传至行为检测服务器200,由行为检测服务器200对上传的应用安装包进行分析扫描后,将行为检测结果返回至行为检测客户端100,帮助用户了解安装包的恶意行为特征。行为检测服务器200可以根据行为检测结果生成行为分析报告发送至行为检测客户端100,以便用户更直观的了解安装包的恶意行为特征。

参考图3,本发明一实施例所述的应用安装包的行为检测服务器架构示意图;行为检测服务器200包括应用安装包获取模块210、行为分析模块220以及检测结果生成模块230。

所述应用安装包获取模块210,用于获取待检测的应用安装包。该待检测应用安装包可以为用户从指定网址的网页中上传的安卓软件安装包。待检测应用安装包的开发信息包括但不限于:应用名称、包名称、敏感API、调用序列、MD5值、SHA-1值、版本号、开发者签名、公钥。这些开发信息即为应用安装包中的行为特征信息。

所述行为分析模块220与所述应用安装包获取模块210相连,用于提取所述应用安装包中的行为特征信息与预置的行为特征数据库匹配,进行风险行为检测,获取行为特征匹配结果。

其中,所述行为特征数据库中保存有多项行为特征数据,每一行为特征数据标识至少一种风险行为特征。将应用安装包的行为特征信息与预置的行为特征数据库匹配,若行为特征信息在行为特征数据库中匹配出相应的行为特征数据,则说明应用安装包中存在该行为特征数据说所标识的相应风险行为特征;若未匹配出相应的行为特征数据,则说明应用安装包中不存在风险行为特征。例如,安卓软件安装包的病毒特征,可能存在与对代码中 的类名、包名、敏感API、调用序列、开发者签名等信息的变更;这些变更行为就构成了安卓软件安装包病毒特征数据,存储在行为特征数据库中;匹配行为特征数据库就能检测出出安卓软件安装包是否存在病毒特征。

作为可选的实施方式,所述行为分析模块220进一步用于:对所述应用安装包进行解包;对解包出的文件进行扫描,确定所述应用安装包的所述行为特征信息;将确定出所述行为特征信息与所述行为特征数据库中的行为特征数据匹配,进行风险行为检测,从而获取行为特征匹配结果。其中,所述行为分析模块220对解包出的文件进行扫描,确定所述应用安装包的所述行为特征信息,具体可以为:读取解包出的dex文件进行反汇编,提取所述应用安装包中的全限定名、所有字符串和调用关系作为所述行为特征信息,以用于与行为特征数据库中的行为特征数据进行匹配,分析其在行为特征数据库中是否有匹配的行为特征数据,从而检测出应用安装包存在的风险行为特征。

所述风险行为检测包括:重打包检测、广告检测、混淆加固检测、病毒特征检测、内置APK检测、FakeID检测、Root检测、短信欺诈检测、Masterkey检测、行为检测、启发式检测的至少一项。因此,作为可选的实施方式,所述行为分析模块220进一步包括重打包检测子模块2201、广告检测子模块2202、混淆加固检测子模块2203、病毒特征检测子模块2204、内置APK检测子模块2205、FakeID检测子模块2206、Root检测子模块2207、短信欺诈检测子模块2208、Masterkey检测子模块2209、行为检测子模块2210、启发式检测子模块2211的至少其中之一。以上子模块可以根据行为检测服务器200的功能进行灵活的配置与调用。

每一子模块对应至少一项风险行为检测,通过调用相应子模块将应用安装包的行为特征信息与行为特征数据库中的相应行为特征数据进行匹配,检测应用安装包存在的风险行为特征。所述重打包检测子模块2201,用于对所述行为特征信息进行重打包检测;所述广告检测子模块2202,用于对所述行为特征信息进行广告检测;所述混淆加固检测子模块2203,用于对所述行为特征信息进行混淆加固检测;所述病毒特征检测子模块2204,用于对所述行为特征信息进行病毒特征检测;所述内置APK检测子模块2205,用于对所述行为特征信息进行内置APK检测;所述FakeID检测子模块2206,用于对所述行为特征信息进行FakeID检测;所述Root检测子模块2207,用于对所述行为特征信息进行Root检测;所述短信欺诈检测子模块2208,用于对所述行为特征信息进行短信欺诈检测;所述Masterkey检测子模块2209,用于对所述行为特征信息进行Masterkey检测;所述行为检测子模块2210,用于对所述行为特征信息进行行为检测;所述启发式检测子模块2211,用于对所述行为特征信息进行启发式检测。每一项检测即为将应用安装包的行为特征信息与行为特征数据库 中的相应行为特征数据进行匹配,判断其是否存在相应风险行为特征。例如,重打包检测子模块2201对行为特征信息进行重打包检测即为:将行为特征信息与行为特征数据库中的重打包特征数据进行匹配,若在行为特征数据库中匹配出相应的重打包特征数据,则判定该应用安装包存在重打包风险行为特征。

所述检测结果生成模块230与所述行为分析模块220相连,用于根据所述行为特征匹配结果生成所述应用安装包的行为检测结果。行为检测结果包括以下至少一项内容:重打包检测结果、广告检测结果、混淆加固检测结果、病毒特征检测结果、内置APK检测结果、FakeID检测结果、Root检测结果、短信欺诈检测结果、Masterkey检测结果、行为检测结果、启发式检测结果。

作为可选的实施方式,所述检测结果生成模块230进一步包括:报告生成子模块231与报告发送子模块232。所述报告生成子模块231,用于根据行为检测结果生成风险行为分析报告;通过对应用安装包(例如安卓软件安装包)的分析,得到该应用安装包是否有风险行为的存在并生成相应分析报告。所述报告发送子模块232,用于发送风险行为分析报告至行为检测客户端100,从而帮助用户根据行为分析的结果了解安装包的恶意行为特征。

参考图4,本发明一实施例所述的应用安装包的行为检测客户端架构示意图。所述行为检测客户端100可以为个人电脑、平板电脑、智能手机等具有浏览器的终端。所述行为检测客户端100的工作方式为:向行为检测服务器200上传应用安装包;接收所述行为检测服务器200返回的所述应用安装包的行为检测结果,其中,所述行为检测结果由所述行为检测服务器200使用预置的行为特征数据库对所述应用安装包进行行为特征匹配得出。所述行为检测客户端100进一步接收并显示行为检测服务器200返回的根据所述行为检测结果生成的风险行为分析报告。

作为可选的实施方式,所述行为检测客户端100包括通信模块110以及显示模块120。所述通信模块110,用于与所述行为检测服务器200进行通信,将待检测的应用安装包上传至所述行为检测服务器200,以及接收所述行为检测服务器200返回的行为检测结果;所述显示模块120,用于显示所述行为检测结果。所述通信模块110进一步用于接收所述行为检测服务器200返回的风险行为分析报告;所述显示模块120进一步用于显示所述风险行为分析报告。

作为可选的实施方式,所述通信模块110进一步包括:应用安装包上传模块111和报告接收模块112。所述应用安装包上传模块111向行为检测服务器200上传用户待检测的应用安装包,上传方式是从指定网址的网页上传待检测的应用安装包。所述行为检测服务器200对所述应用安装包上传模块111上传的应用安装包(例如安卓软件安装包)使用预置的 行为特征数据库进行行为特征匹配后得到行为检测结果后,返回数据至所述行为检测客户端100,由所述报告接收模块112接收;或者行为检测服务器200进一步根据行为检测结果生成风险行为分析报告后,返回数据至所述行为检测客户端100,由所述报告接收模块112接收。所述报告接收模块112不断地接收从行为检测服务器200发送出的行为检测结果或风险行为分析报告,直到接收到接收完成的信号,停止接收。

参考图5,本发明一实施例所述的上传应用安装包的示意图。用户通过网页或其他平台上传软件安装包时,会显示如图5所示的界面,在用户点击“应用检测”按钮后,会展开本地目录供用户选择待检测的软件安装包,选择待检测的软件安装包点击“确定”按钮(图5中未示出)后,系统自动读取相应的软件安装包上传至行为检测服务器200。

以下结合附图给出本发明的多个实施例,以对本发明行为检测方式的有效性进行验证。

参考图6至图10,本发明不同实例对应的行为分析报告示意图。在用户上传完APK后,进入的就是风险行为分析报告的详情页面,分类显示了各项风险行为的检测结果。由图6显示可以看出待检测的安卓软件安装包中没有风险行为的出现,没有敏感与危险行为,是正版应用程序,用户可以信任的安装。由图7显示可以看出待检测的安卓软件安装包中有部分低风险行为的出现,例如,广告检测结果中检测出了存在内置广告,内置APK检测结果中检测出了存在内置APK的行为,以及行为检测结果中检测到危险等级为低的风险行为特征。根据该软件安装包存在的风险行为,建议用户谨慎安装。由图8显示可以看出待检测的安卓软件安装包中有中等风险行为的出现,例如,行为检测结果中检测出危险等级为中的风险行为特征。根据该软件安装包存在的风险行为,建议用户谨慎安装。由图9显示可以看出待检测的安卓软件安装包中有等级为高的风险行为出现,例如,内置APK检测结果中检测出存在内置APK的行为,行为检测结果中检测出了危险等级为高的风险行为特征,即存在拦截短消息的危险行为。根据该软件安装包存在的风险行为,建议用户谨慎安装。

由图10显示可以看出待检测的安卓软件安装包是恶意程序,例如,病毒检测结果中检测出存在恶意代码特征,广告检测结果中检测出存在多处广告行为特征,行为检测结果中检测出存在危险等级为高的风险行为,即存在发送短消息与隐藏图标的风险行为特征。

通过上述实施例可以看出,本发明可以快速完成检测,从而让用户快速的了解待检测的APK中是否有恶意或者各类风险行为的存在。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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