admin管理员组文章数量:1532656
2024年4月27日发(作者:)
(19)中华人民共和国国家知识产权局
(12)发明专利说明书
(21)申请号 CN2.7
(22)申请日 2014.06.30
(71)申请人 深圳数字电视国家工程实验室股份有限公司
地址 518057 广东省深圳市南山区高新技术产业园高新南一道015号国微研发大楼4
层北侧E室
(72)发明人 肖文涛 余小龙 孙卓 李新国 宫俊 赵宝龙 黄华松
(74)专利代理机构 深圳市深佳知识产权代理事务所(普通合伙)
代理人 唐华明
(51)
(10)申请公布号 CN 104035874 A
(43)申请公布日 2014.09.10
权利要求说明书 说明书 幅图
(54)发明名称
统
(57)摘要
本发明提供了一种软件程序检测方
一种软件程序检测方法、装置及系
法、装置及系统,本发明中将第三方检测
中心的检测得到的检测结果集成至软件程
序中,并对软件程序进行数字签名,防止
软件程序在传输的过程中被篡改,从而使
检测结果能够准确表示软件程序是否有恶
意行为,保证了检测结果的准确性。由于
现有技术中的检测结果以报告形式通知送
检方,软件程序中不存在检测结果,本发
明将检测结果集成至软件程序中,当智能
终端从第三方市场上下载软件程序时,安
装过程中能够显示检测结果至用户,以提
示用户使用中存在的风险,从而能够减少
甚至避免用户安装恶意软件,减少甚至避
免恶意软件带来的恶意行为,提高系统的
安全性。
法律状态
法律状态公告日
法律状态信息
法律状态
权 利 要 求 说 明 书
1.一种软件程序检测方法,其特征在于,应用于第三方检测中心包括:
接收送检方发送的软件程序;
对所述软件程序进行检测获得检测结果;
将所述检测结果集成至所述软件程序中;
对包含检测结果的软件程序进行数字签名,获得#PKCS7格式的数字签名
将数字签名信息集成至软件程序中,将该软件程序反馈至送检方。
2.如权利要求1所述的方法,其特征在于,对包含检测结果的软件程序
将包含检测结果的软件程序利用摘要算法获得摘要信息;
利用私钥对所述摘要信息进行加密,获得#PKCS7格式的数字签名信息,
3.如权利要求1所述的方法,其特征在于,在对所述软件程序进行检测
获得检测结果之后还包括:
所述私钥由第三方检测中心生成并安全保存。
进行数字签名包括:
信息;
对所述检测结果进行加密处理,获得加密后的检测结果。
4.如权利要求1所述的方法,其特征在于,将所述检测结果集成至所述
将所述检测结果写入所述软件程序安装包的结束标记内。
5.一种软件程序检测方法,其特征在于,应用于第三方市场,包括:
接收应用开发者发送的软件程序;
当所述软件程序中包含检测结果,则对所述数字签名信息进行验证,同
当所述数字签名信息验证通过,则判断所述检测机构是否可信;
当数字签名信息验证通过且所述检测结构可信,则分析检测结果;
当所述检测结果表明存在恶意行为或安全风险时,则向所述应用开发者
6.如权利要求5所述的方法,其特征在于,还包括:
发送修改指令。
时获得检测机构信息;
软件程序包括:
当所述软件程序中不包含检测结果,则将所述软件程序发送给至少一个
7.如权利要求5所述的方法,其特征在于,对所述数字签名信息进行验
在数字签名信息中获取公钥、签名信息以及摘要算法;
利用公钥解密签名信息,获得第一摘要信息;
将所述软件程序,利用同样的摘要算法获得第二摘要信息;
将所述第一摘要信息和所述第二摘要信息进行对比,若一致则表明数字
8.如权利要求7所述的方法,其特征在于,还包括:
当数字签名信息验证失败,则删除所述检测结果和数字签名信息,重新
当所述软件程序中不包含检测结果,则按权利要求1所述的方法进行检
测。
按权利要求1所述的方法进行检测;
签名信息验证通过,若不一致则表明数字签名信息验证失败。
证包括:
第三方检测中心,按权利要求1所述的方法进行检测,所述第三方检测中心
为预先存储的可信检测机构。
9.如权利要求5所述的方法,其特征在于,判断所述检测机构是否可信
判断预先存储的可信检测机构中是否包含所述检测机构;
当包含所述检测机构,则提取权利要求7的公钥与预先存储的可信检测
10.如权利要求9所述的方法,其特征在于,还包括:
当所述检测结构不可信,则将所述软件程序发送给至少一个第三方检测
接收第三方检测中心反馈的包括至少一个检测结果当前的软件程序;所
中心;
包括:
机构公钥进行对比,若一致表明所述检测机构可信,否则检测机构不可信。
述当前的软件程序由至少一个第三方检测中心依次进行检测,并将各自的检
测结果集成至软件程序后形成的,所述第三方检测中心为预先
测机构。 存储的可信检
11.如权利要求5所述的方法,其特征在于,还包括:
当所述检测结果表明未存在恶意行为或安全风险,则将所述应用程序上
架供用户下载。
12.如权利要求10所述的方法,其特征在于,还包括:
将包括至少一个检测结果当前的软件程序上架,供用户下载。
13.一种软件程序检测方法,其特征在于,应用于智能终端,包括:
从第三方市场获得软件程序;
判断所述软件程序中是否有检测结果和#PKCS7格式数字签名信息;
当所述软件程序中包括检测结果;
对所述数字签名信息进行验证,当所述数字签名信息通过,显示所述检
14.如权利要求13所述的方法,其特征在于,还包括:
当所述软件程序未包括检测结果时,则提示用户该软件程序未经检测存
当所述数字签名信息验证失败,则提示用户检测结果不可信。
在风险;
测结果。
15.如权利要求13所述的方法,其特征在于,还包括:
当所述软件程序中包括多个检测结果时,则对所述多个检测结果进行整
16.一种软件程序检测装置,其特征在于,应用于第三方检测中心,包
接收单元,用于接收送检方发送的软件程序;
检测单元,用于对所述软件程序进行检测获得检测结果;
集成单元,用于将所述检测结果集成至所述软件程序中;
验证单元,用于对包含检测结果的软件程序进行数字签名,获得#PKCS7
发送单元,用于将数字签名信息集成至软件程序中,将该软件程序反馈
17.一种软件程序检测装置,其特征在于,应用于第三方市场,包括:
至送检方。
格式的数字签名信息;
括:
合,将整合后的结果进行显示。
第二接收单元,用于接收应用开发者发送的软件程序;
第二验证单元,用于当所述软件程序中包含检测结果,则对所述数字签
判断单元,当所述数字签名信息验证通过,则判断所述检测机构是否可
分析单元,用于当数字签名信息验证通过且所述检测结构可信,则分析
通知单元,用于当所述检测结果表明存在恶意行为或安全风险,则向所
18.一种软件程序检测装置,其特征在于,应用于智能终端,包括:
获取单元,用于从第三方市场获得软件程序;
第二判断单元,用于判断所述软件程序中是否有检测结果和#PKCS7格式
第三验证单元,用于对所述数字签名信息进行验证;
显示单元,用于当所述数字签名信息通过,显示所述检测结果。
数字签名信息;
述应用开发者发送修改指令。
检测结果;
信;
名信息进行验证,同时获得检测机构;
19.一种软件程序检测系统,其特征在于,包括:
第三方检测中心,第三方市场和智能终端;
所述第三方检测中心,用于接收送检方发送的软件程序;对所述软件程
序进行检测获得检测结果;将所述检测结果集成至所述软件程序中;对包含
检测结果的软件程序进行数字签名,获得#PKCS7格式的数字
字签名信息集成至软件程序中,将该软件程序反
签名信息;将数
馈至送检方;
所述第三方市场,用于接收应用开发者发送的软件程序;当所述软件程
序中包含检测结果,则对所述数字签名信息进行验证,同时获得检测机构;
当所述数字签名信息验证通过,则判断所述检测机构是否可信;
信息验证通过且所述检测结构可信,则分析检测结果;
存在恶意行为或安全风险,则向所述应用
当数字签名
当所述检测结果表明
开发者发送修改指令;
所述智能终端,用于从第三方市场获得软件程序;判断所述软件程序中
结
是否有检测结果和#PKCS7格式数字签名信息;当所述软件程序中包括检测
果;对所述数字签名信息进行验证,当所述数字签名信息通过,
测结果。 显示所述检
20.一种软件程序检测方法,其特征在于,应用于第三方市场,包括:
接收送检方发送的软件程序;
判断所述软件程序中是否有检测结果;
当所述软件程序中包含检测结果且数字签名信息完整,获得已有的第一
对所述软件程序进行检测获得第二检测结果;
将第二检测结果组成检测报告集成至所述软件程序中,获得当前的软件
对所述当前的软件程序进行数字签名,获得#PKCS7格式数字签名信息;
将集成检测结果和#PKCS7格式数字签名信息的软件程序反馈至送检方;
当软件程序中未包括检测结果,则按权利要求1所述的方法获得第二检
检测结果;
程序;
测结果,并将包括第二检测结果当前的软件程序反馈至送检方。
说 明 书
技术领域
本发明涉及软件安全领域,尤其涉及一种软件程序检测方法、装置及系
背景技术
现在智能终端越来越多,应用软件也越来越多,用户需要下载应用软件
都
时,会在智能终端的第三方市场下载,在基于Android系统的终端设备上,
会内置官方市场Google Market,但现在几乎所有国行智能终端都默
Google Market,而是将安智市场,木蚂蚁等第三方市场安装
这些第三方市场中应用程序的安全性检测存在漏洞,导
序存在恶意行为或安全风险。例如:在用户不知
传送客户的隐私信息,消耗用户流量,自
统。
认删除
在智能终端中,
致用户安装的应用程
情的情况下,未经授权对外
动链接广告等。
因此现在需要一种方法能够有效地避免用户安装恶意软件,减少恶意软
发明内容
本发明提供了一种软件程序检测方法、装置及系统,本发明能够有效地
为了实现上述目的,本发明提供了以下技术手段:
避免安装恶意软件,减少恶意软件带来的恶意行为或安全风险,提高系统的
安全性。
件带来的恶意行为或安全风险,提高系统的安全性。
一种软件程序检测方法,应用于第三方检测中心包括:
接收送检方发送的软件程序;
对所述软件程序进行检测获得检测结果;
将所述检测结果集成至所述软件程序中;
对包含检测结果的软件程序进行数字签名,获得#PKCS7格式的数字签名
将数字签名信息集成至软件程序中,将该软件程序反馈至送检方。
优选的,对包含检测结果的软件程序进行数字签名包括:
将包含检测结果的软件程序利用摘要算法获得摘要信息;
利用私钥对所述摘要信息进行加密,获得#PKCS7格式的数字签名信息,
优选的,在对所述软件程序进行检测获得检测结果之后还包括:
对所述检测结果进行加密处理,获得加密后的检测结果。
优选的,将所述检测结果集成至所述软件程序包括:
将所述检测结果写入所述软件程序安装包的结束标记内。
一种软件程序检测方法,应用于第三方市场,包括:
所述私钥由第三方检测中心生成并安全保存。
信息;
接收应用开发者发送的软件程序;
当所述软件程序中包含检测结果,则对所述数字签名信息进行验证,同
当所述数字签名信息验证通过,则判断所述检测机构是否可信;
当数字签名信息验证通过且所述检测结构可信,则分析检测结果;
当所述检测结果表明存在恶意行为或安全风险时,则向所述应用开发者
优选的,还包括:
当所述软件程序中不包含检测结果,则将所述软件程序发送给至少一个
优选的,对所述数字签名信息进行验证包括:
在数字签名信息中获取公钥、签名信息以及摘要算法;
利用公钥解密签名信息,获得第一摘要信息;
将所述软件程序,利用同样的摘要算法获得第二摘要信息;
将所述第一摘要信息和所述第二摘要信息进行对比,若一致则表明数字
签名信息验证通过,若不一致则表明数字签名信息验证失败。
第三方检测中心,按软件程序检测方法进行检测,所述第三方检测中心为预
先存储的可信检测机构。
发送修改指令。
时获得检测机构信息;
优选的,还包括:
当数字签名信息验证失败,则删除所述检测结果和数字签名信息,重新
当所述软件程序中不包含检测结果,则软件程序检测方法进行检测。
优选的,判断所述检测机构是否可信包括:
判断预先存储的可信检测机构中是否包含所述检测机构;
当包含所述检测机构,则提取公钥与预先存储的可信检测机构公钥进行
优选的,还包括:
当所述检测结构不可信,则将所述软件程序发送给至少一个第三方检测
接收第三方检测中心反馈的包括至少一个检测结果当前的软件程序;所
述当前的软件程序由至少一个第三方检测中心依次进行检测,并将各自的检
测结果集成至软件程序后形成的,所述第三方检测中心为预先存储的
测机构。
中心;
对比,若一致表明所述检测机构可信,否则检测机构不可信。
软件程序检测方法进行检测;
可信检
优选的,还包括:
当所述检测结果表明未存在恶意行为或安全风险,则将所述应用程序上
架供用户下载。
优选的,还包括:
将包括至少一个检测结果当前的软件程序上架,供用户下载。
一种软件程序检测方法,应用于智能终端,包括:
从第三方市场获得软件程序;
判断所述软件程序中是否有检测结果和#PKCS7格式数字签名信息;
当所述软件程序中包括检测结果;
对所述数字签名信息进行验证,当所述数字签名信息通过,显示所述检
优选的,还包括:
当所述软件程序未包括检测结果时,则提示用户该软件程序未经检测存
当所述数字签名信息验证失败,则提示用户检测结果不可信。
优选的,还包括:
当所述软件程序中包括多个检测结果时,则对所述多个检测结果进行整
一种软件程序检测装置,应用于第三方检测中心,包括:
合,将整合后的结果进行显示。
在风险;
测结果。
接收单元,用于接收送检方发送的软件程序;
检测单元,用于对所述软件程序进行检测获得检测结果;
集成单元,用于将所述检测结果集成至所述软件程序中;
验证单元,用于对包含检测结果的软件程序进行数字签名,获得#PKCS7
发送单元,用于将数字签名信息集成至软件程序中,将该软件程序反馈
一种软件程序检测装置,应用于第三方市场,包括:
第二接收单元,用于接收应用开发者发送的软件程序;
第二验证单元,用于当所述软件程序中包含检测结果,则对所述数字签
判断单元,当所述数字签名信息验证通过,则判断所述检测机构是否可
分析单元,用于当数字签名信息验证通过且所述检测结构可信,则分析
通知单元,用于当所述检测结果表明存在恶意行为或安全风险,则向所
述应用开发者发送修改指令。
检测结果;
信;
名信息进行验证,同时获得检测机构;
至送检方。
格式的数字签名信息;
一种软件程序检测装置,应用于智能终端,包括:
获取单元,用于从第三方市场获得软件程序;
第二判断单元,用于判断所述软件程序中是否有检测结果和#PKCS7格式
第三验证单元,用于对所述数字签名信息进行验证;
显示单元,用于当所述数字签名信息通过,显示所述检测结果。
一种软件程序检测系统,包括:
第三方检测中心,第三方市场和智能终端;
所述第三方检测中心,用于接收送检方发送的软件程序;对所述软件程
序进行检测获得检测结果;将所述检测结果集成至所述软件程序中;对包含
检测结果的软件程序进行数字签名,获得
字签名信息集成至软件程序中,将
数字签名信息;
#PKCS7格式的数字签名信息;将数
该软件程序反馈至送检方;
所述第三方市场,用于接收应用开发者发送的软件程序;当所述软件程
序中包含检测结果,则对所述数字签名信息进行验证,同时获得检测机构;
当所述数字签名信息验证通过,则判断所述检测机构是否可信;当数
信息验证通过且所述检测结构可信,则分析检测结果;当所述
存在恶意行为或安全风险,则向所述应用开发者发送修
字签名
检测结果表明
改指令;
所述智能终端,用于从第三方市场获得软件程序;判断所述软件程序中
结
是否有检测结果和#PKCS7格式数字签名信息;当所述软件程序中包括检测
果;对所述数字签名信息进行验证,当所述数字签名信息通过,显示
测结果。 所述检
一种软件程序检测方法,应用于第三方市场,包括:
接收送检方发送的软件程序;
判断所述软件程序中是否有检测结果;
当所述软件程序中包含检测结果且数字签名信息完整,获得已有的第一
对所述软件程序进行检测获得第二检测结果;
将第二检测结果组成检测报告集成至所述软件程序中,获得当前的软件
对所述当前的软件程序进行数字签名,获得#PKCS7格式数字签名信息;
将集成检测结果和#PKCS7格式数字签名信息的软件程序反馈至送检方;
当软件程序中未包括检测结果,则按权利要求1所述的方法获得第二检测
本发明提供了一种软件程序检测方法,本发明中将第三方检测中心的检
测得到的检测结果集成至软件程序中,并对软件程序进行数字签名,防止软
件程序在传输的过程中被篡改,从而使检测结果能够准确表示软件程
有恶意行为或安全风险,保证了检测结果的准确性。
结果,并将包括第二检测结果当前的软件程序反馈至送检方。
程序;
检测结果;
序是否
由于现有技术中的检测结果以报告形式通知送检方,软件程序中不存在
检测结果,本发明将检测结果集成至软件程序中,当智能终端从第三方市场
上下载软件程序后,安装过程中能够显示所述检测结果至用户,以提
使用中存在的风险,从而能够有效
带来的恶意行为或安全风险,
示用户
地避免用户安装恶意软件,减少恶意软件
提高系统的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实
施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面
描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,
付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
在不
图1为本发明实施例公开的一种软件程序检测方法的流程图;
图2为本发明实施例公开的又一种软件程序检测方法的流程图;
图3为本发明实施例公开的又一种软件程序检测方法的流程图;
图4为本发明实施例公开的又一种软件程序检测方法的流程图;
图5为本发明实施例公开的又一种软件程序检测方法的流程图;
图6为本发明实施例公开的又一种软件程序检测方法的流程图;
图7为本发明实施例公开的一种软件程序检测装置的结构示意图;
图8为本发明实施例公开的又一种软件程序检测装置的结构示意图;
图9为本发明实施例公开的又一种软件程序检测装置的结构示意图;
图10为本发明实施例公开的一种软件程序检测系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行
清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而
不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在
出创造性劳动前提下所获得的所有其他实施例,都属于本发明
没有做
保护的范围。
本发明提供了一种软件程序检测方法,该方法涉及基于Android系统的第
终
首先介绍第三方检测中心,如图1所示,本发明提供了一种软件程序检
第三方检测中心是指具有一定资质且口碑较高,具有一定行业信服力的
步骤S101:接收送检方发送的软件程序,即接收应用开发者或第三方市
场发送的软件程序;
检测机构,以便经过其检测后得到的检测结果能够被大部分用户接受。
测方法,应用于第三方检测中心包括:
三方检测中心,基于Android系统的第三方市场和基于Android系统的智能
端,下面针对各个部分的内容进行详细介绍:
应用开发者将软件程序编程完毕,在发送至第三方市场之前,可以在第
第三方市场接受应用开发者发布的应用程序,判断该应用程序没有包含
步骤S102:对所述软件程序进行检测获得检测结果;
第三方检测中心获取软件程序后,便检测软件程序按已有的检测步骤对
步骤S103:将所述检测结果集成至所述软件程序中;
现有技术中仅仅为检测中心自己以及送检方得知检测结果,用户并不知
晓检测结果,因此会造成用户下载恶意软件,因此本发明将检测结果集成至
软件程序中,由于Android应用程序(.apk)文件的格式实际上为标准
式,zip文件格式为二进制文件,按照zip文件格式规范,在
个字节目录结束标记,这4个字节处可以添加任意内容
添加的内容并不影响文件的解压,同时也不会改
软件程序进行检测,进而获得检测结果,通过检测结果便可得知该软件程序
是否为恶意软件。
任何检测机构的检测结果,或检测结果被篡改,或检测机构不被第三方市场
信任,第三方市场可以向第三方检测中心发送软件程序。
三方检测中心进行检测,因此应用开发者可以先向第三方检测中心发送软件
程序。
的zip格
文件结尾处有4
标记作为文件注释,
变原文件系统的任何内容。
因此本发明将所述检测结果写入所述软件程序安装包的结束标记内,既
不影响软件程序的内容,还能够将检测结果集成至软件程序中,一举两得。
步骤S104:对所述当前的软件程序进行数字签名,获得#PKCS7格式数
#PKCS7数字签名信息是一个固定的格式,其中包含公钥,摘要算法,签
名信息等内容。为了防止软件程序或检测结果在传输过程中被篡改,本发明
对包含检测结果的软件程序进行数字签名,获得#PKCS7格式数字签
具体的如图2所示,包括:
字签名信息;
名信息,
步骤S201:将包含检测结果的软件程序利用摘要算法获得摘要信息;
将包含检测结果的软件程序利用摘要算法,进行计算获得摘要信息,摘
步骤S202:利用私钥对所述摘要信息进行加密,获得#PKCS7格式的数
第三方检测中心生成私钥和公钥,利用私钥对摘要信息进行加密,从而
字签名信息,所述私钥由第三方检测中心生成并安全保存。
要算法有多种,本发明并不限定采用哪一种算法。
获得数字签名信息,采用数字签名的方式,能够保证在只要改动软件程序中
的任意一位,重新计算出的摘要信息就会与原先摘要信息不相等,保
件程序的不可更改性。 证了软
步骤S105:将数字签名信息集成至软件程序中,将该软件程序反馈至送
将包括检测结果和#PKCS7格式的数字签名信息的软件程序发送至应用
数
开发者或第三方市场,以便第三方市场解析#PKCS7格式数字签名信息获得
字证书,进而获取数字证书的公钥,通过公钥即可解密#PKCS7格式
中签名信息,进而获得摘要信息,以便后续对数字签名信息进
检方。
数字签名
行验证,即验
证数字签名信息是否完整,验证摘要信息是否改变。
为了防止检测结果被篡改,优选的在步骤S102与步骤S103之间还包括:
本发明提供了一种软件程序检测方法,本发明中将第三方检测中心的检
测得到的检测结果集成至软件程序中,并对软件程序进行数字签名,防止软
件程序在传输的过程中被篡改,从而使检测结果能够准确表示软件程
有恶意行为或安全风险,保证了检测结果的准确性。
对所述检测结果进行加密处理,获得加密后的检测结果。这样便能够保证检
测结果不会被轻易篡改。
序是否
由于现有技术中的检测结果以报告形式通知送检方,软件程序中不存在
检测结果,本发明将检测结果集成至软件程序中,当智能终端从第三方市场
上下载软件程序时,安装过程中能够显示
使用中存在的风险,从而能够有效
带来的恶意行为,提高系统
所述检测结果至用户,以提示用户
地避免用户安装恶意软件,减少恶意软件
的安全性。
下面介绍第三方市场是如何应用检测结果的,如图3所示,本发明还提供
步骤S301:接收应用开发者发送的软件程序;
第三方市场为了保证进驻至自身的软件程序的质量,即不上架具有恶意
步骤S302:判断所述软件程序中是否有检测结果,当含有检测结果则进
行为的恶意软件,需要检测应用程序的检测结果,进而分析检测结果。
了一种软件程序检测方法,包括以下步骤:
入步骤S303;当不含有检测结果则进入步骤S308。
为了分析检测结果需要先判断软件程序是否有检测结果,即在软件程序
安装包的结束标记内查找是否检测结果,当软件程序中不包含检测结果,则
将软件程序发送给至少一个第三方检测中心按图1所示的步骤进行重
从而获得检测结果,然后再进入步骤S301。 新检测,
由于一个检测中心的检测结果具有片面性,所以可发送至多个检测中心,
步骤S303:当所述软件程序中包含检测结果,则对所述数字签名信息进
败
在获取检测结果之前,需要验证数字签名的完整性,以防软件程序被恶
步骤S401:在数字签名信息中获取公钥、签名信息以及摘要算法;
步骤S402:利用公钥解密签名信息,获得第一摘要信息;
步骤S403:将所述软件程序,利用同样的摘要算法获得第二摘要信息;
步骤S404:将所述第一摘要信息和所述第二摘要信息进行对比,若一致
步骤S405:若一致,则若一致则表明数字签名信息验证通过;
则进入步骤S405,若不一致则进入步骤S406。
意篡改,验证数字签名的完整性,即验证摘要信息的是否正确。如图4所示,
具体包括:
行验证,同时获得检测机构信息;当验证通过则进入步骤S304,当验证失
则进入步骤S308。
综合多个检测中心的检测结果,从而得出一个可靠检测结果。
步骤S406:若不一致,则若不一致则表明数字签名信息验证失败。
因为只要软件程序发生变化,摘要信息则不一致,所以利用验证数字签
名是否完整来判断软件程序是否被篡改,当数字签名完整才可进行后续过程。
当数字签名信息验证失败,则删除所述检测结果和数字签名信息,重
所述的方法进行检测; 新按图1
当数字签名不完整,说明软件程序被篡改,此时的检测结果已经不能表
示篡改后的软件程序是否为恶意软件,所以需要删除原有的检测结果和数字
签名信息,重新发送至第三方检测中心,按图1所示的步骤重新进行
得检测结果,然后再进入步骤S301。 检测获
步骤S304:当所述数字签名信息验证通过,则判断所述检测机构是否可
检测数字签名之后,还需要判断对软件程序进行检测的检测结构是否可
信,由于一些检测机构不具备检测资质,因此其检测结果也是不可信的,为
了保证检测结果的可信度,所以预先在第三方市场中预先存储有大众
可信的检测机构信息。
信;当检测机构可信进入步骤S305,否则进入步骤S308;
认可的、
第三方市场判断预先存储的可信检测机构中是否包含所述检测机构;当
钥
包含所述检测机构,则提取步骤S402的公钥与预先存储的可信检测机构公
进行对比,若一致表明所述检测机构可信,否则检测机构不可信。即
不一致、或可信检测机构中未包含所述检测机构,则表明所述
信。
当公钥
检测机构不可
当所述检测机构不可信,则将所述软件程序发送给至少一个第三方检测
中心;接收第三方检测中心反馈的包括至少一个检测结果当前的软件程序;
所述当前的软件程序由至少一个第三方检测中心依次进行检测,并将
检测结果集成至软件程序后形成的,所述第三方检测中心为预
检测机构。
各自的
先存储的可信
当有多个第三方中心检测后,软件程序中包括至少一个检测结果,将包
步骤S305:当数字签名信息验证通过且所述检测结构可信,则分析检测
结果,即依据检测结果判断软件程序是否为恶意软件,当所述检测结果表明
存在恶意行为,进入步骤S306,当所述检测结果表明未存在恶意行
入步骤S307;
括至少一个检测结果当前的软件程序上架,供用户下载。
为,则进
步骤S306:通知所述应用开发者进行修改。
步骤S307:将所述应用程序上架供用户下载。当所述检测结果表明未存
步骤S308:发送至第三方检测中心重新检测。
第三方市场能够检测软件程序中是否有检测结果、检测结果是否可信、
软件程序是否完整,然后仅仅将具有检测结果,且检测结果可信、检测结果
中表明不为恶意软件的软件程序进行上架,从而保证软件程序的上架
在恶意行为,则将所述应用程序上架供用户下载。
质量。
下面介绍智能终端是如何应用检测结果的,如图5所示,本发明还提供
了一种软件程序检测方法,应用于Android终端,Android终端包括应用于
Android系统的智能终端,机顶盒,平板电脑等终端等,本方法包括:
步骤S501:从第三方市场获得软件程序;
步骤S502:判断所述软件程序中是否有检测结果和#PKCS7格式数字签
入
步骤S503:对所述数字签名信息进行验证;验证通过则进入步骤S504,
步骤S504:显示检测结果,并提示用户检测结果可信。
步骤S505:当所述数字签名信息验证失败,则提示用户检测结果不可信。
步骤S506:当所述软件程序未包括检测结果时,则提示用户该软件程序
在Android终端在安装软件程序时,会提醒用户该软件程序的检测结果,
当软件程序中包括多个检测结果时,则对所述多个检测结果进行整合,
将整合后的结果进行显示。当有多个检测结果时,一般情况下会逐个提醒用
户检测结果的内容,但是这样较为繁琐,因此将多个检测结果整合在
面上,让用户一并观看,提升了用户体验,避免了用户逐个关
界面的繁琐操作过程。
避免用户安装恶意软件或提示用户存在的风险,提高系统的安全性。
未经检测存在风险;
当验证失败则进入步骤S505;
名信息;当所述软件程序中包括检测结果和#PKCS7格式数字签名信息,进
步骤S503,否则进入步骤S506;
一个页
闭检测结果的
以上为本发明提供的软件检测方法的整体流程。
下面还提供了一种软件程序检测方法,应用于第三方检测中心,如图6所
示,包括:
步骤S601:接收送检方发送的软件程序;
步骤S602:判断所述软件程序中是否有检测结果;
步骤S603:当所述软件程序中包含检测结果且数字签名信息完整,获得
步骤S604:对所述软件程序进行检测获得第二检测结果;
步骤S605:将第二检测结果组成检测报告集成至所述软件程序中,获得
步骤S606:对所述当前的软件程序进行数字签名,获得#PKCS7格式数
步骤S607:将集成检测结果和#PKCS7格式数字签名信息的软件程序反
步骤S608:当软件程序中未包括检测结果,则图1所述的方法获得第二检
如图7所示,本发明还提供了一种软件程序检测装置,应用于第三方检
接收单元701,用于接收送检方发送的软件程序;
检测单元702,用于对所述软件程序进行检测获得检测结果;
测中心,包括:
测结果,并将包括第二检测结果当前的软件程序反馈至送检方。
馈至送检方。
字签名信息;
当前的软件程序;
已有的第一检测结果;
集成单元703,用于将所述检测结果集成至所述软件程序中;
验证单元704,用于对包含检测结果的软件程序进行数字签名,获得
发送单元705,用于将数字签名信息集成至软件程序中,将该软件程序反
如图8所示,本发明还提供了一种软件程序检测装置,应用于第三方市
第二接收单元801,用于接收应用开发者发送的软件程序;
第二验证单元802,用于当所述软件程序中包含检测结果,则对所述数字
判断单元803,当所述数字签名信息验证通过,则判断所述检测机构是否
分析单元804,用于当数字签名信息验证通过且所述检测结构可信,则分
通知单元805,用于当所述检测结果表明存在恶意行为,则向所述应用开
如图9所示,本发明还提供了一种软件程序检测装置,应用于智能终端
包括:
发者发送修改指令。
析检测结果;
可信;
签名信息进行验证,同时获得检测机构;
场包括:
馈至送检方。
#PKCS7格式的数字签名信息;
获取单元901,用于从第三方市场获得软件程序;
第二判断单元902,用于判断所述软件程序中是否有检测结果和#PKCS7
第三验证单元903,用于当所述软件程序中包括检测结果,对所述数字签
显示单元904,用于显示所述检测结果。
如图10所示,本发明还提供了一种软件程序检测系统,包括:
第三方检测中心100,第三方市场200和智能终端300;三者之间采用无
所述第三方检测中心100,用于接收送检方发送的软件程序;对所述软件
程序进行检测获得检测结果;将所述检测结果集成至所述软件程序中;对包
含检测结果的软件程序进行数字签名,获得#PKCS7格式的数字签名
数字签名信息集成至软件程序中,将该软件程序反馈至送检方;
线网络A相连。
名信息进行验证;
格式数字签名信息;
信息;将
所述第三方市场200,用于接收应用开发者发送的软件程序;当所述软件
程序中包含检测结果,则对所述数字签名信息进行验证,同时获得检测机构;
当所述数字签名信息验证通过,则判断所述检测机构是否可信;当数
信息验证通过且所述检测结构可信,则分析检测结果;当所述
存在恶意行为,则向所述应用开发者发送修改指令;
字签名
检测结果表明
所述智能终端300,用于从第三方市场获得软件程序;判断所述软件程序
测
中是否有检测结果和#PKCS7格式数字签名信息;当所述软件程序中包括检
结果;对所述数字签名信息进行验证,当所述数字签名信息通过,显
检测结果。 示所述
本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的
产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样
的理解,本发明实施例对现有技术做出贡献的部分或者该技术方案的
以以软件产品的形式体现出来,该软件产品存储在一个存储介
干指令用以使得一台计算设备(可以是个人计算机,服
或者网络设备等)执行本发明各个实施例所述方
述的存储介质包括:U盘、移动硬盘、只
随机存取存储器(RAM,
以存储程序代码的介
部分可
质中,包括若
务器,移动计算设备
法的全部或部分步骤。而前
读存储器(ROM,Read-Only Memory)、
Random Access Memory)、磁碟或者光盘等各种可
质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用
本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易
见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的
在其它实施例中实现。因此,本发明将不会被限制于本文所示
而是要符合与本文所公开的原理和新颖特点相一致的最
是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
情况下,
的这些实施例,
宽的范围。
版权声明:本文标题:一种软件程序检测方法、装置及系统 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1714183754a391629.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论