软件安装包的安全检测方法、客户端、服务器以及系统的制作方法

文档序号:6551240阅读:1959来源:国知局
软件安装包的安全检测方法、客户端、服务器以及系统的制作方法
【专利摘要】本发明提供了一种软件安装包的安全检测方法、客户端、服务器以及系统。其中软件安装包的安全检测方法包括:获取由用户上传的软件安装包;使用预置的特征库对软件安装包进行特征匹配,其中特征库中预先保存有多项特征信息,每项特征信息标识了软件安装包执行一种安全加固方法后的至少一种特征;按照特征匹配的结果生成软件安装包的检测结果。使用本发明的方案,通过对软件安装包的分析,得到该软件安装包是否已经进行过安全加固以及进行安全加固的类型,从而提醒用户根据安全加固的分析结果提高软件安装包的安全性。
【专利说明】软件安装包的安全检测方法、客户端、服务器以及系统

【技术领域】
[0001] 本发明涉及信息安全领域,特别是涉及一种软件安装包的安全检测方法、客户端、 服务器以及系统。

【背景技术】
[0002] 安卓(Android)平台发展迅速,已经逐渐成为了移动终端的最普及的操作系统, 同时基于其中的软件应用数目也十分巨大,与其他移动终端操作系统相比,安卓系统为应 用开发者提供了更多的功能接口,其中很多系统底层接口,提高了系统的可扩展性,但同时 也为恶意软件提供了便利,针对安卓系统的木马等恶意软件也更容易被实现,目前已有的 针对安卓系统的恶意软件可以通过伪装的方式,骗取用户安装并授予一定的权限,之后滥 用这些权限在后台执行一些特定行为,包括窃取用户隐私骗取资费等行为。然而与之并生 的安全问题却始终没有得到良好的解决,安全威胁越来越多,且威胁程度也在逐步加深,无 论对开发者还是用户都带来了不良的影响。
[0003] 而且对于一些正常的安卓系统应用,也存在通过非法拷贝、逆向工程、反编译、调 试、破解、二次打包、内存截取等手段来威胁安卓系统的安全,不仅危害了使用用户,也给正 常应用开发者造成严重的损害。
[0004] 基于以上问题,现有技术中出现了多种安卓应用的安全加固方法,通过对安卓应 用进行加密、防反编译、防代码混淆等加固措施,然而由于加固方法所采用的方案不同,力口 固的效果也不同,有些加固后并不能达到防止暴力破解的效果,而且由于安卓系统版本和 硬件处理器不同,也会导致加固后的应用兼容性不高的问题。但是现有技术中缺乏对安卓 软件安装包加固前后的安全检测方法。


【发明内容】

[0005] 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上 述问题的软件安装包的安全检测客户端、服务器以及系统和相应的软件安装包的安全检测 方法。
[0006] 本发明一个进一步的目的是要加强安卓软件安装包被逆向工程破解,保护开发者 的利益。
[0007] 本发明另一个进一步的目的是要提高软件安装包安全性。
[0008] 依据本发明的一个方面,提供了一种软件安装包的安全检测方法。该软件安装包 的安全检测方法包括:获取由用户上传的软件安装包;使用预置的特征库对软件安装包进 行特征匹配,其中特征库中预先保存有多项特征信息,每项特征信息标识了软件安装包执 行一类安全加固方法后的至少一种特征;按照特征匹配的结果生成软件安装包的检测结 果。
[0009] 可选地,获取由用户上传的软件安装包包括:接收由用户通过指定网址的网页上 传的软件安装包和软件安装包的开发信息;匹配保存软件安装包和开发信息,开发信息包 括以下任一种或多种:软件安装包的名称、版本、应用功能描述、开发者信息。
[0010] 可选地,使用预置的特征库对软件安装包进行特征匹配包括:对软件安装包进行 解包;对解包出的文件进行扫描,以确定与解包出文件匹配的特征库中的特征信息。
[0011] 可选地,每项特征信息包括:安全加固过程中加入的函数的信息和/或动态链接 库的信息。
[0012] 可选地,按照特征匹配的结果生成软件安装包的检测结果包括:根据匹配出的特 征信息确定软件安装包所进行的安全加固的类型;按照确定出的安全加固的类型生成检测 结果,检测结果包括以下至少一项内容:加固建议、文件保护检测结果、代码混淆检测结果、 防二次打包检测结果、源代码加密检测结果。
[0013] 可选地,预置的特征库的生成步骤包括:分析安全加固方法执行过程中对软件安 装包的代码的修改,以及该安全加固方法对软件安装包的加固项目;提取修改代码的特征, 与加固项目匹配进行保存为特征库的特征信息。
[0014] 根据本发明的另一方面,提供了一种软件安装包的安全检测服务器。该安全检测 服务器包括:安装包获取模块,配置为获取由用户上传的软件安装包;特征匹配模块,配置 为使用预置的特征库对软件安装包进行特征匹配,其中特征库中预先保存有多项特征信 息,每项特征信息标识了软件安装包执行一类安全加固方法后的至少一种特征;结果生成 模块,配置为按照特征匹配的结果生成软件安装包的检测结果,并下发给安全检测客户端。
[0015] 可选地,安装包获取模块还配置为:接收由用户通过指定网址的网页上传的软件 安装包和软件安装包的开发信息;匹配保存软件安装包和开发信息,开发信息包括以下任 一种或多种:软件安装包的名称、版本、应用功能描述、开发者信息。
[0016] 可选地,特征匹配模块还配置为:对软件安装包进行解包;对解包出的文件进行 扫描,以确定与文件匹配的特征库中的特征信息,每项特征信息包括:安全加固过程中加入 的函数的信息和/或动态链接库的信息。
[0017] 可选地,结果生成模块还配置为:根据匹配出的特征信息确定软件安装包所进行 的安全加固的类型;按照确定出的安全加固的类型生成检测结果,检测结果包括以下至少 一项内容:加固建议、文件保护检测结果、代码混淆检测结果、防二次打包检测结果、源代码 加密检测结果。
[0018] 可选地,以上软件安装包的安全检测服务器还包括特征库生成模块,配置为:分析 安全加固方法执行过程中对软件安装包的代码的修改,以及该安全加固方法对软件安装包 的加固项目;提取修改代码的特征,与加固项目匹配进行保存为所述特征库的特征信息。
[0019] 特别地,本发明又提供了一种软件安装包的安全检测方法。该软件安装包的安全 检测方法包括:向安全检测服务器上传软件安装包以及软件安装包的开发信息;接收安全 检测服务器下发的软件安装包的检测结果,检测结果由安全检测服务器使用预置的特征库 对软件安装包进行特征匹配得出;根据检测结果生成安全分析报告。
[0020] 可选地,向安全检测服务器上传软件安装包以及软件安装包的开发信息包括:通 过指定网址的网页上传的软件安装包,并提交软件安装包的开发信息,开发信息包括以下 任一种或多种:软件安装包的名称、版本、应用功能描述、开发者信息。
[0021] 可选地,根据检测结果生成安全分析报告包括:解析检测结果,以确定软件安装包 的安全加固的类型;按照安全加固的类型对软件安装包进行安全评分;生成包含安全加固 的类型以及安全评分的安全分析报告。
[0022] 可选地,在确定软件安装包的安全加固的类型之后还包括:按照安全加固的类型 生成对软件安装包的安全建议;将安全建议添加至安全分析报告中,并提供进行安全加固 的操作选项。
[0023] 根据本发明的一方面,又提供了一种软件安装包的安全检测客户端。该安全检测 客户端包括:安装包上传模块,配置为向安全检测服务器上传软件安装包以及软件安装包 的开发信息;接收模块,配置为接收安全检测服务器下发的软件安装包的检测结果,检测结 果由安全检测服务器使用预置的特征库对软件安装包进行特征匹配得出;报告生成模块, 配置为根据检测结果生成安全分析报告。
[0024] 可选地,安装包上传模块还配置为:通过指定网址的网页上传的软件安装包,并提 交软件安装包的开发信息,开发信息包括以下任一种或多种:软件安装包的名称、版本、应 用功能描述、开发者信息。
[0025] 可选地,报告生成模块包括:解析子模块,配置为解析检测结果,以确定软件安装 包的安全加固的类型;评分子模块,配置为按照安全加固的类型对软件安装包进行安全评 分;报告输出子模块,配置为生成包含安全加固的类型以及安全评分的安全分析报告。
[0026] 可选地,报告生成模块还包括:安全建议子模块,配置为按照安全加固的类型生成 对软件安装包的安全建议,将安全建议添加至安全分析报告中,并提供进行安全加固的操 作选项。
[0027] 根据本发明的另一方面,又提供了一种软件安装包的安全检测系统。该安全检测 系统包括以上介绍的任一种安全检测服务器和以上介绍的任一种的安全检测客户端,安全 检测服务器与安全检测客户端网络连接。
[0028] 本发明的技术方案,可以通过对软件安装包的分析,得到该软件安装包是否已经 进行过安全加固以及进行安全加固的类型,从而提醒用户根据安全加固的分析结果提高软 件安装包的安全性。
[0029] 进一步地,本发明的方案利用客户端上传待评价的软件安装包,由服务器完成软 件安装包的安全加固分析,生成检测结果,以便软件开发者采取下一步措施,无需软件开发 者进行过多的操作,用户体验高。
[0030] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段, 而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够 更明显易懂,以下特举本发明的【具体实施方式】。
[0031] 根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明 了本发明的上述以及其他目的、优点和特征。

【专利附图】

【附图说明】
[0032] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通 技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明 的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0033] 图1是根据本发明一个实施例的软件安装包的安全检测系统的示意图;
[0034] 图2是根据本发明一个实施例的软件安装包的安全检测服务器100的示意图;
[0035] 图3是根据本发明一个实施例的软件安装包的安全检测客户端200的示意图;
[0036] 图4是根据本发明一个实施例的软件安装包的安全检测方法的示意图;
[0037] 图5是根据本发明一个实施例的另一种软件安装包的安全检测方法的示意图;
[0038] 图6是根据本发明一个实施例的软件安装包的安全检测方法中上传安装包的效 果图;
[0039] 图7是根据本发明一个实施例的软件安装包的安全检测方法中安全分析报告的 第一效果图;
[0040] 图8是根据本发明一个实施例的软件安装包的安全检测方法中安全分析报告的 第二效果图;以及
[0041] 图9是根据本发明一个实施例的软件安装包的安全检测方法中安全分析报告的 第三效果图。

【具体实施方式】
[0042] 在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。 各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求 的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种 编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发 明的最佳实施方式。
[0043]图1是根据本发明一个实施例的软件安装包的安全检测系统的示意图。软件安装 包的安全检测系统一般性地可包括:通过网络连接的安全检测服务器100和安全检测客户 端 200。
[0044] 用户通过安全检测客户端200将待检测的软件安装包上传至安全检测服务器 100,由安全检测服务器100对上传的软件安装包进行检测后,将检测结果返回给安全检测 客户端200,从而生成分析报告,并可以进一步提供加固建议,以便用户采用相应措施。
[0045] 图2是根据本发明一个实施例的软件安装包的安全检测服务器100的示意图。该 安全检测服务器100 -般性地可以包括:安装包获取模块110、特征匹配模块120、结果生成 模块130、特征库生成模块140,以上模块可以根据本实施例的安全检测服务器100的功能 灵活进行配置。
[0046] 在以上模块中,安装包获取模块110获取由用户上传的软件安装包。例如,安装 包获取模块110可以收由用户通过指定网址的网页上传的软件安装包和软件安装包的开 发信息;匹配保存软件安装包和开发信息,开发信息包括以下任一种或多种:软件安装包 的名称、版本、应用功能描述、开发者信息。为便于用户操作,可以采用浏览器/服务器模 式(Browser/Server,浏览器/服务器模式),从而统一了客户端,将核心部分集中到服务器 上,简化了系统的开发、维护和使用。因此,在一种可选实施例中,安装包获取模块110可以 利用web (网页)方式接收待评价的软件安装包以及该软件安装包的开发信息。
[0047] 另外安装包获取模块110获取软件包并不局限于web方式,也可以在用户侧安装 专门的客户端,用于上传待检测的软件安装包。本实施例可以根据具体使用环境领过或选 择获取模块110的工作模式。
[0048] 特征匹配模块120使用预置的特征库对软件安装包进行特征匹配,其中特征库中 预先保存有多项特征信息,每项特征信息标识了软件安装包执行一类安全加固方法后的至 少一种特征。以上特征信息可以包括安全加固过程中加入的函数的信息和/或动态链接库 的信息,这些信息可以通过对应用常见的加固方法后的安装包进行分析得出并保存。
[0049] 特征匹配模块120的一种可选流程为对软件安装包进行解包;对解包出的文件进 行扫描,以确定与文件匹配的特征库中的特征信息。特征库中包括多类加固方法遗留的特 征信息。例如软件安装包在应用不同种类的加固方法,可能会在代码中添加相应的函数,或 者在软件安装包添加相应的文件,这些函数和文件就构成了软件加固的特征信息,从而可 以通过这些特征信息对应得出进行的加固方法的种类。
[0050] 结果生成模块130按照特征匹配的结果生成软件安装包的检测结果,并下发给安 全检测客户端200。一种可选的方式为结果生成模块130根据匹配出的特征信息确定软件 安装包所进行的安全加固的类型;按照确定出的安全加固的类型生成检测结果,检测结果 包括以下至少一项内容:加固建议、文件保护检测结果、代码混淆检测结果、防二次打包检 测结果、源代码加密检测结果。
[0051] 特征库生成模块140可以分析安全加固方法执行过程中对软件安装包的代码的 修改,以及该安全加固方法对软件安装包的加固项目;提取修改代码的特征,与所述加固项 目匹配进行保存为所述特征库的特征信息。
[0052] 安全加固方法的种类是有限的,有些安全加固方法采用的技术也有相似之处,因 此,为实现本实施例的软件安装包的检测方法,可以预先搜集已有的所有的安全加固方法, 并进行分析,提取出不同加固方法对代码的修改内容,包括添加的函数、变量、文件,形成特 征信息。相应地,每种安全加固方法对软件安装包的的加固项目也是确定的,例如有些加固 方法可能对软件安装包的资源进行了保护,防止对资源进行篡改和窃取,而另一些则没有 进行资源保护,仅仅对源代码进行防反编译包括,此时可以将不同方法执行后的特征与其 进行加固的项目匹配保存如特征库。在分析软件安装包时,可以通过对软件安装包查询是 否存在对应的特征,确定其所使用的加固方案和所加固的项目,从而给出相应的加固建议。
[0053] 本实施例的安全检测客户端200与上述安全检测服务器100网络连接,以上传待 检测软件安装包,并向用户输出安装包的检测结果。图3是根据本发明一个实施例的软件 安装包的安全检测客户端200的示意图。该安全检测客户端200 -般性地可以包括:安装 包上传模块210、接收模块220、报告生成模块230,其中报告生成模块230可以进一步设置 有解析子模块231、评分子模块232、报告输出子模块233、安全建议子模块234中的一个或 多个。
[0054] 安装包上传模块210向安全检测服务器100上传待检测的软件安装包以及软件安 装包的开发信息,上传的方式可以通过指定网址的网页上传,通过网页填写并提交软件安 装包的开发信息。开发信息包括以下任一种或多种:软件安装包的名称、版本、应用功能描 述、开发者信息。
[0055] 安全检测服务器100对安装包上传模块210上传的软件安装包使用预置的特征库 对软件安装包进行特征匹配后,得出检测结果并下发,接收模块220接收安全检测服务器 100下发的软件安装包的检测结果。
[0056] 报告生成模块230根据检测结果生成安全分析报告,以供软件安装包的开发者根 据该安全分析报告了解加固风险和破解隐患,从而可以采取进一步措施。报告生成模块230 的一种结构为包括解析子模块231、评分子模块232、报告输出子模块233、安全建议子模块 234中的一个或多个。
[0057] 解析子模块231解析接收到的检测结果,以确定软件安装包的安全加固的类型, 评分子模块232按照安全加固的类型对软件安装包进行安全评分;报告输出子模块233生 成包含安全加固的类型以及安全评分的安全分析报告。例如可以安全分析报告中可以将可 执行文件的保护检测结果、代码混淆检测结果、防二次打包检测结果、源代码加密检测结果 分类进行评分。
[0058] 另外,安全建议子模块234还可以按照安全加固的类型生成对软件安装包的安全 建议,将安全建议添加至安全分析报告中,并提供进行安全加固的操作选项。例如对安全检 测得分较低的软件安装包,提醒用户进行加固保护,并提供进行安全加固的操作选项。
[0059] 以上安全检测客户端200可以包括个人电脑、平板电脑、智能手机等具有上传和 显示功能的终端。
[0060] 本发明实施例还提供了软件安装包的安全检测方法,该软件安装包的安全检测方 法可以由以上实施例介绍的任意一种软件安装包的安全检测客户端200或安全检测服务 器100来执行,以提高安卓软件安装包的安全性,防止被暴力破解。图4是根据本发明一个 实施例的软件安装包的安全检测方法的示意图,该软件安装包的安全检测方法可由以上介 绍的安全检测服务器100来执行,该软件安装包的安全检测方法包括以下步骤:
[0061] 步骤S402,获取由用户上传的软件安装包;
[0062] 步骤S404,使用预置的特征库对软件安装包进行特征匹配;
[0063] 步骤S406,按照特征匹配的结果生成软件安装包的检测结果。
[0064] 以上步骤中特征库中预先保存有多项特征信息,每项特征信息标识了软件安装包 执行一类安全加固方法后的至少一种特征。这些特征信息可以对现有的加固方法进行测试 分析得出,可以包括安全加固过程中加入的函数的信息和/或动态链接库的信息。一般而 言,不同加固方法加入的函数以及动态链接库(.so文件),有些还会增加其他文件,这些加 入的函数、文件的信息可以构成软件加固的特征,由于不同种类的加固方法遗留的特征不 同,因此可以利用这些加固过程中产生的改变作为特征信息,并进行采集总结,最终生成特 征库。然后利用特征库中已有的特征与待检的软件安装包进行特征匹配,得出该软件安装 包是否经过加固以及所采用的加固方法,从而检测软件安装包的防破解能力。
[0065] 具体地,预置的特征库的生成步骤可以包括:分析安全加固方法执行过程中对软 件安装包的代码的修改,以及该安全加固方法对软件安装包的加固项目;提取修改代码的 特征,与加固项目匹配进行保存为所述特征库的特征信息。特征库可以根据最新的安全加 固方法的变化进行更新,以确保特征库的准确性。
[0066] 步骤S402可以采用web方式进行数据获取,例如一种可选流程为:接收由用户通 过指定网址的网页上传的软件安装包和软件安装包的开发信息;匹配保存软件安装包和开 发信息,开发信息包括以下任一种或多种:软件安装包的名称、版本、应用功能描述、开发者 信息。这些开发者信息可以用于对软件开发包进行验证。在步骤S402之后,需要对上传的 软件安装包进行安全性扫描,确认软件安装包不包括木马或其他恶意程序,确保不对含有 恶意成分的软件安装进行保护。
[0067] 步骤S404的一种可选流程为:对软件安装包进行解包;对解包出的文件进行扫 描,以确定与解包出文件匹配的特征库中的特征信息。扫描的过程可以对文件名、代码进行 扫描,查找代码中是否包括与特征库中特征信息匹配的加固函数或者是否包括与特征库中 特征信息匹配的加固文件,以得出软件安装包中与特征库中的特征信息匹配的特征。
[0068] 另外,步骤S406还可以根据匹配出的特征信息确定软件安装包所进行的安全加 固的类型;按照确定出的安全加固的类型生成检测结果,检测结果包括以下至少一项内容: 加固建议、文件保护检测结果、代码混淆检测结果、防二次打包检测结果、源代码加密检测 结果。
[0069] 本实施例还提供了一种由安全检测客户端200执行的软件安装包的安全检测方 法,图5是根据本发明一个实施例的另一种软件安装包的安全检测方法的示意图,该安全 检测方法包括以下步骤:
[0070] 步骤S502,向安全检测服务器上传软件安装包以及软件安装包的开发信息;
[0071] 步骤S504,接收安全检测服务器下发的软件安装包的检测结果;
[0072] 步骤S506,根据检测结果生成安全分析报告。
[0073] 在以上步骤中,检测结果由安全检测服务器100执行步骤S402至步骤S406的流 程,使用预置的特征库对软件安装包进行特征匹配得出。
[0074] 相应地,也可以向安全检测服务器上传软件安装包以及软件安装包的开发信息包 括:通过指定网址的网页上传的软件安装包,并提交软件安装包的开发信息,开发信息包括 以下任一种或多种:软件安装包的名称、版本、应用功能描述、开发者信息。图6是根据本发 明一个实施例的软件安装包的安全检测方法中上传安装包的效果图,用户通过网页或其他 平台上传软件安装包时,会展示如图6所示的界面,在用户点击"上传"按钮后,会展开本地 目录供用户选择待检测的软件安装包,输入框中相应显示上传的软件安装包的包名,"上传 失败常见问题及解决办法"的链接可将用户的界面引导至常见问题的介绍页面,用于用户 自行解决上传过程中出现的问题,例如网络不通、上传停止或者其他有关加固的问题。如果 点击"立即加固"会弹出新页面,将用户引导到加固保加固页面。此外,还可以进一步增加 上传进度、检测进度等状态信息的展示功能。
[0075] 步骤S504可以首先解析检测结果,以确定软件安装包的安全加固的类型,然后按 照安全加固的类型对软件安装包进行安全评分,从而生成包含安全加固的类型以及安全评 分的安全分析报告。安全分析报告可以包括以下内容:加固建议、文件保护检测结果、代码 混淆检测结果、防二次打包检测结果、源代码加密检测结果。其中,加固建议可以按照安全 加固的类型生成对软件安装包的安全建议;将安全建议添加至安全分析报告中,并提供进 行安全加固的操作选项。
[0076] 图7至图9分别是根据本发明一个实施例的软件安装包的安全检测方法中安全分 析报告的三个效果图,如图,在用户打开安全分析报告的详情页后,可以展开具体的评分项 和检测结果,以供用户查看具体得分项情况,其中图7示出了软件安装包未进行任何安全 加固措施的安全分析报告,其中,DEX(安卓系统上可执行文件的类型)文件保护检测、代码 混淆检测、防二次打包检测、源代码加密检测各项的结果均为未保护,应用安全评分为〇,因 此给出的安全建议为:安全检测得分较低,应用极易被反编译/破解,建议立即进行加固。 如果用户点击"立即加固"的按钮,可以直接加载加固应用列表,对可以加固的应用直接提 交加固。以上检测结果的项目与软件安装包进行过的加固方法对应,一般确定出其使用的 安全加固方法,就可以对应的所保护的项目。
[0077] 图8示出了对软件安装包进行部分加固措施的安全分析报告,例如根据该软件安 装包中包含的加固特征对应得出了其所进行的加固方法,而且该加固方法仅是针对代码混 淆检测和防二次打包检测两个项目进行了加固处理,但是该类加固方法对DEX文件保护检 测和源代码加密检测两项未进行加密。在得出以上检测结果后,可以给出应用总体安全评 分为40分,因此给出的安全建议为:应用核心文件未作保护,源代码有泄露风险,建议立即 进行加固保护,如果用户点击"立即加固"的按钮,可以将该应用直接提交加固。
[0078] 图9示出了对软件安装包进行完整加固措施的安全分析报告,确定该软件安装包 所使用的加固方法对所有检测项目均已进行了保护,因此应用总体安全评分为1〇〇分,因 此给出的安全建议为:已经完成安全保护。
[0079] 以上图中示出的保护类型可以根据反编译和破解的手段进行调整,以确保软件安 装包的安全性。
[0080] 使用本实施例的方法,可以通过对软件安装包的分析,以得到该软件安装包是否 已经进行过安全加固以及进行安全加固的类型,从而提醒用户根据安全加固的分析结果提 高软件安装包的安全性,无需软件开发者进行过多的操作,用户体验高。
[0081] 在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施 例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构 和技术,以便不模糊对本说明书的理解。
[0082] 类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在 上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施 例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保 护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面 的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此, 遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身 都作为本发明的单独实施例。
[0083] 本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地 改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单 元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或 子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任 何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开 的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴 随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代 特征来代替。
[0084] 此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例 中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的 范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一 都可以以任意的组合方式来使用。
[0085] 本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行 的客户端模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使 用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的软件安装包的安全检 测服务器和安全检测客户端中的一些或者全部部件的一些或者全部功能。本发明还可以实 现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程 序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以 具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信 号上提供,或者以任何其他形式提供。
[0086] 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领 域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中, 不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词"包含"不排除存在 未列在权利要求中的元件或步骤。位于元件之前的单词"一"或"一个"不排除存在多个这 样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来 实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件 项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为 名称。
[0087] 至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示 例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接 确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认 定为覆盖了所有这些其他变型或修改。
[0088] 本发明实施例还提供了 A1. -种软件安装包的安全检测方法,包括:
[0089] 获取由用户上传的软件安装包;
[0090] 使用预置的特征库对所述软件安装包进行特征匹配,其中所述特征库中预先保存 有多项特征信息,每项所述特征信息标识了软件安装包执行一类安全加固方法后的至少一 种特征;
[0091] 按照特征匹配的结果生成所述软件安装包的检测结果。
[0092] A2.根据A1所述的方法,其中,获取由用户上传的软件安装包包括:
[0093] 接收由用户通过指定网址的网页上传的软件安装包和所述软件安装包的开发信 息;
[0094] 匹配保存所述软件安装包和所述开发信息,所述开发信息包括以下任一种或多 种:所述软件安装包的名称、版本、应用功能描述、开发者信息。
[0095] A3.根据A1所述的方法,其中,使用预置的特征库对所述软件安装包进行特征匹 配包括:
[0096] 对所述软件安装包进行解包;
[0097] 对解包出的文件进行扫描,以确定与所述文件匹配的所述特征库中的特征信息。
[0098] A4.根据A1至A3中任一项所述的方法,其中,所述每项特征信息包括:
[0099] 安全加固过程中加入的函数的信息和/或动态链接库的信息。
[0100] A5.根据A1至A4中任一项所述的方法,包括:按照特征匹配的结果生成所述软件 安装包的检测结果包括:
[0101] 根据匹配出的特征信息确定所述软件安装包所进行的安全加固的类型;
[0102] 按照确定出的安全加固的类型生成所述检测结果,所述检测结果包括以下至少一 项内容:加固建议、文件保护检测结果、代码混淆检测结果、防二次打包检测结果、源代码加 密检测结果。
[0103] A6.根据A1至A5中任一项所述的方法,其中所述预置的特征库的生成步骤包括:
[0104] 分析安全加固方法执行过程中对软件安装包的代码的修改,以及该安全加固方法 对软件安装包的加固项目;
[0105] 提取修改代码的特征,与所述加固项目匹配进行保存为所述特征库的特征信息。
[0106] 本发明实施例还提供了 B7. -种软件安装包的安全检测服务器,包括:
[0107] 安装包获取模块,配置为获取由用户上传的软件安装包;
[0108] 特征匹配模块,配置为使用预置的特征库对所述软件安装包进行特征匹配,其中 所述特征库中预先保存有多项特征信息,每项所述特征信息标识了软件安装包执行一类安 全加固方法后的至少一种特征;
[0109] 结果生成模块,用于按照特征匹配的结果生成所述软件安装包的检测结果,并下 发给安全检测客户端。
[0110] B8.根据B7所述的服务器,其中所述安装包获取模块还配置为:
[0111] 接收由用户通过指定网址的网页上传的软件安装包和所述软件安装包的开发信 息;
[0112] 匹配保存所述软件安装包和所述开发信息,所述开发信息包括以下任一种或多 种:所述软件安装包的名称、版本、应用功能描述、开发者信息。
[0113] B9.根据B7所述的服务器,其中所述特征匹配模块还配置为:
[0114] 对所述软件安装包进行解包;
[0115] 对解包出的文件进行扫描,以确定与所述文件匹配的所述特征库中的特征信息, 所述每项特征信息包括:安全加固过程中加入的函数的信息和/或动态链接库的信息。
[0116] B10.根据权利要求B7至B9中任一项所述的服务器,其中结果生成模块还配置 为:
[0117] 根据匹配出的特征信息确定所述软件安装包所进行的安全加固的类型;
[0118] 按照确定出的安全加固的类型生成所述检测结果,所述检测结果包括以下至少一 项内容:加固建议、文件保护检测结果、代码混淆检测结果、防二次打包检测结果、源代码加 密检测结果。
[0119] B11.根据B7至B9中任一项所述的服务器,还包括特征库生成模块,配置为:
[0120] 分析安全加固方法执行过程中对软件安装包的代码的修改,以及该安全加固方法 对软件安装包的加固项目;
[0121] 提取修改代码的特征,与所述加固项目匹配进行保存为所述特征库的特征信息。
[0122] 本发明实施例还提供了 C12. -种软件安装包的安全检测方法,包括:
[0123] 向安全检测服务器上传软件安装包以及所述软件安装包的开发信息;
[0124] 接收所述安全检测服务器下发的所述软件安装包的检测结果,所述检测结果由所 述安全检测服务器使用预置的特征库对所述软件安装包进行特征匹配得出;
[0125] 根据所述检测结果生成安全分析报告。
[0126] C13.根据C12所述的方法,其中,向安全检测服务器上传软件安装包以及所述软 件安装包的开发信息包括:
[0127] 通过指定网址的网页上传的所述软件安装包,并提交所述软件安装包的开发信 息,所述开发信息包括以下任一种或多种:所述软件安装包的名称、版本、应用功能描述、开 发者信息。
[0128] C14.根据C12或C13所述的方法,其中,根据所述检测结果生成安全分析报告包 括:
[0129] 解析检测结果,以确定所述软件安装包的安全加固的类型;
[0130] 按照所述安全加固的类型对所述软件安装包进行安全评分;
[0131] 生成包含所述安全加固的类型以及所述安全评分的安全分析报告。
[0132] C15.根据C14所述的方法,其中,在确定所述软件安装包的安全加固的类型之后 还包括:
[0133] 按照所述安全加固的类型生成对所述软件安装包的安全建议;
[0134] 将所述安全建议添加至所述安全分析报告中,并提供进行安全加固的操作选项。
[0135] 本发明实施例还提供了 D16. -种软件安装包的安全检测客户端,包括:
[0136] 安装包上传模块,配置为向安全检测服务器上传软件安装包以及所述软件安装包 的开发信息;
[0137] 接收模块,配置为接收所述安全检测服务器下发的所述软件安装包的检测结果, 所述检测结果由所述安全检测服务器使用预置的特征库对所述软件安装包进行特征匹配 得出;
[0138] 报告生成模块,配置为根据所述检测结果生成安全分析报告。
[0139] D17.根据D16所述的客户端,其中,所述安装包上传模块还配置为:
[0140] 通过指定网址的网页上传的所述软件安装包,并提交所述软件安装包的开发信 息,所述开发信息包括以下任一种或多种:所述软件安装包的名称、版本、应用功能描述、开 发者信息。
[0141] D18.根据D16或D17所述的客户端,其中,所述报告生成模块包括:
[0142] 解析子模块,配置为解析检测结果,以确定所述软件安装包的安全加固的类型;
[0143] 评分子模块,配置为按照所述安全加固的类型对所述软件安装包进行安全评分;
[0144] 报告输出子模块,配置为生成包含所述安全加固的类型以及所述安全评分的安全 分析报告。
[0145] D19.根据D18所述的客户端,其中,所述报告生成模块还包括:
[0146] 安全建议子模块,配置为按照所述安全加固的类型生成对所述软件安装包的安全 建议,将所述安全建议添加至所述安全分析报告中,并提供进行安全加固的操作选项。
[0147] 本发明实施例还提供了 E20. -种软件安装包的安全检测系统,包括:
[0148] 根据B7至B11中任一项所述的安全检测服务器;
[0149] 根据D16至D19中任一项所述的安全检测客户端,所述安全检测服务器与所述安 全检测客户端网络连接。
【权利要求】
1. 一种软件安装包的安全检测方法,包括: 获取由用户上传的软件安装包; 使用预置的特征库对所述软件安装包进行特征匹配,其中所述特征库中预先保存有多 项特征信息,每项所述特征信息标识了软件安装包执行一类安全加固方法后的至少一种特 征; 按照特征匹配的结果生成所述软件安装包的检测结果。
2. 根据权利要求1所述的方法,其中,获取由用户上传的软件安装包包括: 接收由用户通过指定网址的网页上传的软件安装包和所述软件安装包的开发信息; 匹配保存所述软件安装包和所述开发信息,所述开发信息包括以下任一种或多种:所 述软件安装包的名称、版本、应用功能描述、开发者信息。
3. 根据权利要求1所述的方法,其中,使用预置的特征库对所述软件安装包进行特征 匹配包括: 对所述软件安装包进行解包; 对解包出的文件进行扫描,以确定与所述文件匹配的所述特征库中的特征信息。
4. 根据权利要求1至3中任一项所述的方法,其中,所述每项特征信息包括: 安全加固过程中加入的函数的信息和/或动态链接库的信息。
5. 根据权利要求1至4中任一项所述的方法,包括:按照特征匹配的结果生成所述软 件安装包的检测结果包括: 根据匹配出的特征信息确定所述软件安装包所进行的安全加固的类型; 按照确定出的安全加固的类型生成所述检测结果,所述检测结果包括以下至少一项内 容:加固建议、文件保护检测结果、代码混淆检测结果、防二次打包检测结果、源代码加密检 测结果。
6. 根据权利要求1至5中任一项所述的方法,其中所述预置的特征库的生成步骤包 括: 分析安全加固方法执行过程中对软件安装包的代码的修改,以及该安全加固方法对软 件安装包的加固项目; 提取修改代码的特征,与所述加固项目匹配进行保存为所述特征库的特征信息。
7. -种软件安装包的安全检测服务器,包括: 安装包获取模块,配置为获取由用户上传的软件安装包; 特征匹配模块,配置为使用预置的特征库对所述软件安装包进行特征匹配,其中所述 特征库中预先保存有多项特征信息,每项所述特征信息标识了软件安装包执行一类安全加 固方法后的至少一种特征; 结果生成模块,用于按照特征匹配的结果生成所述软件安装包的检测结果,并下发给 安全检测客户端。
8. -种软件安装包的安全检测方法,包括: 向安全检测服务器上传软件安装包以及所述软件安装包的开发信息; 接收所述安全检测服务器下发的所述软件安装包的检测结果,所述检测结果由所述安 全检测服务器使用预置的特征库对所述软件安装包进行特征匹配得出; 根据所述检测结果生成安全分析报告。
9. 一种软件安装包的安全检测客户端,包括: 安装包上传模块,配置为向安全检测服务器上传软件安装包以及所述软件安装包的开 发信息; 接收模块,配置为接收所述安全检测服务器下发的所述软件安装包的检测结果,所 述检测结果由所述安全检测服务器使用预置的特征库对所述软件安装包进行特征匹配得 出; 报告生成模块,配置为根据所述检测结果生成安全分析报告。
10. -种软件安装包的安全检测系统,包括: 根据权利要求7所述的安全检测服务器; 根据权利要求9所述的安全检测客户端,所述安全检测服务器与所述安全检测客户端 网络连接。
【文档编号】G06F21/56GK104063664SQ201410300240
【公开日】2014年9月24日 申请日期:2014年6月26日 优先权日:2014年6月26日
【发明者】冯成蹊, 刘敦俊, 张东谊, 杨新权 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1