CN104035874A - 一种软件程序检测方法、装置及*** - Google Patents

一种软件程序检测方法、装置及*** Download PDF

Info

Publication number
CN104035874A
CN104035874A CN201410306485.7A CN201410306485A CN104035874A CN 104035874 A CN104035874 A CN 104035874A CN 201410306485 A CN201410306485 A CN 201410306485A CN 104035874 A CN104035874 A CN 104035874A
Authority
CN
China
Prior art keywords
software program
testing result
digital signature
signature information
testing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410306485.7A
Other languages
English (en)
Other versions
CN104035874B (zh
Inventor
肖文涛
余小龙
孙卓
李新国
宫俊
赵宝龙
黄华松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHENZHEN DIGITAL TV NATIONAL ENGINEERING LABORATORIES Inc
Original Assignee
SHENZHEN DIGITAL TV NATIONAL ENGINEERING LABORATORIES Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHENZHEN DIGITAL TV NATIONAL ENGINEERING LABORATORIES Inc filed Critical SHENZHEN DIGITAL TV NATIONAL ENGINEERING LABORATORIES Inc
Priority to CN201410306485.7A priority Critical patent/CN104035874B/zh
Publication of CN104035874A publication Critical patent/CN104035874A/zh
Application granted granted Critical
Publication of CN104035874B publication Critical patent/CN104035874B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种软件程序检测方法、装置及***,本发明中将第三方检测中心的检测得到的检测结果集成至软件程序中,并对软件程序进行数字签名,防止软件程序在传输的过程中被篡改,从而使检测结果能够准确表示软件程序是否有恶意行为,保证了检测结果的准确性。由于现有技术中的检测结果以报告形式通知送检方,软件程序中不存在检测结果,本发明将检测结果集成至软件程序中,当智能终端从第三方市场上下载软件程序时,安装过程中能够显示检测结果至用户,以提示用户使用中存在的风险,从而能够减少甚至避免用户安装恶意软件,减少甚至避免恶意软件带来的恶意行为,提高***的安全性。

Description

一种软件程序检测方法、装置及***
技术领域
本发明涉及软件安全领域,尤其涉及一种软件程序检测方法、装置及***。
背景技术
现在智能终端越来越多,应用软件也越来越多,用户需要下载应用软件时,会在智能终端的第三方市场下载,在基于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***的第三方检测中心,基于Android***的第三方市场和基于Android***的智能终端,下面针对各个部分的内容进行详细介绍:
首先介绍第三方检测中心,如图1所示,本发明提供了一种软件程序检测方法,应用于第三方检测中心包括:
第三方检测中心是指具有一定资质且口碑较高,具有一定行业信服力的检测机构,以便经过其检测后得到的检测结果能够被大部分用户接受。
步骤S101:接收送检方发送的软件程序,即接收应用开发者或第三方市场发送的软件程序;
应用开发者将软件程序编程完毕,在发送至第三方市场之前,可以在第三方检测中心进行检测,因此应用开发者可以先向第三方检测中心发送软件程序。
第三方市场接受应用开发者发布的应用程序,判断该应用程序没有包含任何检测机构的检测结果,或检测结果被篡改,或检测机构不被第三方市场信任,第三方市场可以向第三方检测中心发送软件程序。
步骤S102:对所述软件程序进行检测获得检测结果;
第三方检测中心获取软件程序后,便检测软件程序按已有的检测步骤对软件程序进行检测,进而获得检测结果,通过检测结果便可得知该软件程序是否为恶意软件。
步骤S103:将所述检测结果集成至所述软件程序中;
现有技术中仅仅为检测中心自己以及送检方得知检测结果,用户并不知晓检测结果,因此会造成用户下载恶意软件,因此本发明将检测结果集成至软件程序中,由于Android应用程序(.apk)文件的格式实际上为标准的zip格式,zip文件格式为二进制文件,按照zip文件格式规范,在文件结尾处有4个字节目录结束标记,这4个字节处可以添加任意内容标记作为文件注释,添加的内容并不影响文件的解压,同时也不会改变原文件***的任何内容。
因此本发明将所述检测结果写入所述软件程序安装包的结束标记内,既不影响软件程序的内容,还能够将检测结果集成至软件程序中,一举两得。
步骤S104:对所述当前的软件程序进行数字签名,获得#PKCS7格式数字签名信息;
#PKCS7数字签名信息是一个固定的格式,其中包含公钥,摘要算法,签名信息等内容。为了防止软件程序或检测结果在传输过程中被篡改,本发明对包含检测结果的软件程序进行数字签名,获得#PKCS7格式数字签名信息,具体的如图2所示,包括:
步骤S201:将包含检测结果的软件程序利用摘要算法获得摘要信息;
将包含检测结果的软件程序利用摘要算法,进行计算获得摘要信息,摘要算法有多种,本发明并不限定采用哪一种算法。
步骤S202:利用私钥对所述摘要信息进行加密,获得#PKCS7格式的数字签名信息,所述私钥由第三方检测中心生成并安全保存。
第三方检测中心生成私钥和公钥,利用私钥对摘要信息进行加密,从而获得数字签名信息,采用数字签名的方式,能够保证在只要改动软件程序中的任意一位,重新计算出的摘要信息就会与原先摘要信息不相等,保证了软件程序的不可更改性。
步骤S105:将数字签名信息集成至软件程序中,将该软件程序反馈至送检方。
将包括检测结果和#PKCS7格式的数字签名信息的软件程序发送至应用开发者或第三方市场,以便第三方市场解析#PKCS7格式数字签名信息获得数字证书,进而获取数字证书的公钥,通过公钥即可解密#PKCS7格式数字签名中签名信息,进而获得摘要信息,以便后续对数字签名信息进行验证,即验证数字签名信息是否完整,验证摘要信息是否改变。
为了防止检测结果被篡改,优选的在步骤S102与步骤S103之间还包括:对所述检测结果进行加密处理,获得加密后的检测结果。这样便能够保证检测结果不会被轻易篡改。
本发明提供了一种软件程序检测方法,本发明中将第三方检测中心的检测得到的检测结果集成至软件程序中,并对软件程序进行数字签名,防止软件程序在传输的过程中被篡改,从而使检测结果能够准确表示软件程序是否有恶意行为或安全风险,保证了检测结果的准确性。
由于现有技术中的检测结果以报告形式通知送检方,软件程序中不存在检测结果,本发明将检测结果集成至软件程序中,当智能终端从第三方市场上下载软件程序时,安装过程中能够显示所述检测结果至用户,以提示用户使用中存在的风险,从而能够有效地避免用户安装恶意软件,减少恶意软件带来的恶意行为,提高***的安全性。
下面介绍第三方市场是如何应用检测结果的,如图3所示,本发明还提供了一种软件程序检测方法,包括以下步骤:
步骤S301:接收应用开发者发送的软件程序;
第三方市场为了保证进驻至自身的软件程序的质量,即不上架具有恶意行为的恶意软件,需要检测应用程序的检测结果,进而分析检测结果。
步骤S302:判断所述软件程序中是否有检测结果,当含有检测结果则进入步骤S303;当不含有检测结果则进入步骤S308。
为了分析检测结果需要先判断软件程序是否有检测结果,即在软件程序安装包的结束标记内查找是否检测结果,当软件程序中不包含检测结果,则将软件程序发送给至少一个第三方检测中心按图1所示的步骤进行重新检测,从而获得检测结果,然后再进入步骤S301。
由于一个检测中心的检测结果具有片面性,所以可发送至多个检测中心,综合多个检测中心的检测结果,从而得出一个可靠检测结果。
步骤S303:当所述软件程序中包含检测结果,则对所述数字签名信息进行验证,同时获得检测机构信息;当验证通过则进入步骤S304,当验证失败则进入步骤S308。
在获取检测结果之前,需要验证数字签名的完整性,以防软件程序被恶意篡改,验证数字签名的完整性,即验证摘要信息的是否正确。如图4所示,具体包括:
步骤S401:在数字签名信息中获取公钥、签名信息以及摘要算法;
步骤S402:利用公钥解密签名信息,获得第一摘要信息;
步骤S403:将所述软件程序,利用同样的摘要算法获得第二摘要信息;
步骤S404:将所述第一摘要信息和所述第二摘要信息进行对比,若一致则进入步骤S405,若不一致则进入步骤S406。
步骤S405:若一致,则若一致则表明数字签名信息验证通过;
步骤S406:若不一致,则若不一致则表明数字签名信息验证失败。
因为只要软件程序发生变化,摘要信息则不一致,所以利用验证数字签名是否完整来判断软件程序是否被篡改,当数字签名完整才可进行后续过程。当数字签名信息验证失败,则删除所述检测结果和数字签名信息,重新按图1所述的方法进行检测;
当数字签名不完整,说明软件程序被篡改,此时的检测结果已经不能表示篡改后的软件程序是否为恶意软件,所以需要删除原有的检测结果和数字签名信息,重新发送至第三方检测中心,按图1所示的步骤重新进行检测获得检测结果,然后再进入步骤S301。
步骤S304:当所述数字签名信息验证通过,则判断所述检测机构是否可信;当检测机构可信进入步骤S305,否则进入步骤S308;
检测数字签名之后,还需要判断对软件程序进行检测的检测结构是否可信,由于一些检测机构不具备检测资质,因此其检测结果也是不可信的,为了保证检测结果的可信度,所以预先在第三方市场中预先存储有大众认可的、可信的检测机构信息。
第三方市场判断预先存储的可信检测机构中是否包含所述检测机构;当包含所述检测机构,则提取步骤S402的公钥与预先存储的可信检测机构公钥进行对比,若一致表明所述检测机构可信,否则检测机构不可信。即当公钥不一致、或可信检测机构中未包含所述检测机构,则表明所述检测机构不可信。
当所述检测机构不可信,则将所述软件程序发送给至少一个第三方检测中心;接收第三方检测中心反馈的包括至少一个检测结果当前的软件程序;所述当前的软件程序由至少一个第三方检测中心依次进行检测,并将各自的检测结果集成至软件程序后形成的,所述第三方检测中心为预先存储的可信检测机构。
当有多个第三方中心检测后,软件程序中包括至少一个检测结果,将包括至少一个检测结果当前的软件程序上架,供用户下载。
步骤S305:当数字签名信息验证通过且所述检测结构可信,则分析检测结果,即依据检测结果判断软件程序是否为恶意软件,当所述检测结果表明存在恶意行为,进入步骤S306,当所述检测结果表明未存在恶意行为,则进入步骤S307;
步骤S306:通知所述应用开发者进行修改。
步骤S307:将所述应用程序上架供用户下载。当所述检测结果表明未存在恶意行为,则将所述应用程序上架供用户下载。
步骤S308:发送至第三方检测中心重新检测。
第三方市场能够检测软件程序中是否有检测结果、检测结果是否可信、软件程序是否完整,然后仅仅将具有检测结果,且检测结果可信、检测结果中表明不为恶意软件的软件程序进行上架,从而保证软件程序的上架质量。
下面介绍智能终端是如何应用检测结果的,如图5所示,本发明还提供了一种软件程序检测方法,应用于Android终端,Android终端包括应用于Android***的智能终端,机顶盒,平板电脑等终端等,本方法包括:
步骤S501:从第三方市场获得软件程序;
步骤S502:判断所述软件程序中是否有检测结果和#PKCS7格式数字签名信息;当所述软件程序中包括检测结果和#PKCS7格式数字签名信息,进入步骤S503,否则进入步骤S506;
步骤S503:对所述数字签名信息进行验证;验证通过则进入步骤S504,当验证失败则进入步骤S505;
步骤S504:显示检测结果,并提示用户检测结果可信。
步骤S505:当所述数字签名信息验证失败,则提示用户检测结果不可信。
步骤S506:当所述软件程序未包括检测结果时,则提示用户该软件程序未经检测存在风险;
在Android终端在安装软件程序时,会提醒用户该软件程序的检测结果,避免用户安装恶意软件或提示用户存在的风险,提高***的安全性。
当软件程序中包括多个检测结果时,则对所述多个检测结果进行整合,将整合后的结果进行显示。当有多个检测结果时,一般情况下会逐个提醒用户检测结果的内容,但是这样较为繁琐,因此将多个检测结果整合在一个页面上,让用户一并观看,提升了用户体验,避免了用户逐个关闭检测结果的界面的繁琐操作过程。
以上为本发明提供的软件检测方法的整体流程。
下面还提供了一种软件程序检测方法,应用于第三方检测中心,如图6所示,包括:
步骤S601:接收送检方发送的软件程序;
步骤S602:判断所述软件程序中是否有检测结果;
步骤S603:当所述软件程序中包含检测结果且数字签名信息完整,获得已有的第一检测结果;
步骤S604:对所述软件程序进行检测获得第二检测结果;
步骤S605:将第二检测结果组成检测报告集成至所述软件程序中,获得当前的软件程序;
步骤S606:对所述当前的软件程序进行数字签名,获得#PKCS7格式数字签名信息;
步骤S607:将集成检测结果和#PKCS7格式数字签名信息的软件程序反馈至送检方。
步骤S608:当软件程序中未包括检测结果,则图1所述的方法获得第二检测结果,并将包括第二检测结果当前的软件程序反馈至送检方。
如图7所示,本发明还提供了一种软件程序检测装置,应用于第三方检测中心,包括:
接收单元701,用于接收送检方发送的软件程序;
检测单元702,用于对所述软件程序进行检测获得检测结果;
集成单元703,用于将所述检测结果集成至所述软件程序中;
验证单元704,用于对包含检测结果的软件程序进行数字签名,获得#PKCS7格式的数字签名信息;
发送单元705,用于将数字签名信息集成至软件程序中,将该软件程序反馈至送检方。
如图8所示,本发明还提供了一种软件程序检测装置,应用于第三方市场包括:
第二接收单元801,用于接收应用开发者发送的软件程序;
第二验证单元802,用于当所述软件程序中包含检测结果,则对所述数字签名信息进行验证,同时获得检测机构;
判断单元803,当所述数字签名信息验证通过,则判断所述检测机构是否可信;
分析单元804,用于当数字签名信息验证通过且所述检测结构可信,则分析检测结果;
通知单元805,用于当所述检测结果表明存在恶意行为,则向所述应用开发者发送修改指令。
如图9所示,本发明还提供了一种软件程序检测装置,应用于智能终端包括:
获取单元901,用于从第三方市场获得软件程序;
第二判断单元902,用于判断所述软件程序中是否有检测结果和#PKCS7格式数字签名信息;
第三验证单元903,用于当所述软件程序中包括检测结果,对所述数字签名信息进行验证;
显示单元904,用于显示所述检测结果。
如图10所示,本发明还提供了一种软件程序检测***,包括:
第三方检测中心100,第三方市场200和智能终端300;三者之间采用无线网络A相连。
所述第三方检测中心100,用于接收送检方发送的软件程序;对所述软件程序进行检测获得检测结果;将所述检测结果集成至所述软件程序中;对包含检测结果的软件程序进行数字签名,获得#PKCS7格式的数字签名信息;将数字签名信息集成至软件程序中,将该软件程序反馈至送检方;
所述第三方市场200,用于接收应用开发者发送的软件程序;当所述软件程序中包含检测结果,则对所述数字签名信息进行验证,同时获得检测机构;当所述数字签名信息验证通过,则判断所述检测机构是否可信;当数字签名信息验证通过且所述检测结构可信,则分析检测结果;当所述检测结果表明存在恶意行为,则向所述应用开发者发送修改指令;
所述智能终端300,用于从第三方市场获得软件程序;判断所述软件程序中是否有检测结果和#PKCS7格式数字签名信息;当所述软件程序中包括检测结果;对所述数字签名信息进行验证,当所述数字签名信息通过,显示所述检测结果。
本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本发明实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (20)

1.一种软件程序检测方法,其特征在于,应用于第三方检测中心包括:
接收送检方发送的软件程序;
对所述软件程序进行检测获得检测结果;
将所述检测结果集成至所述软件程序中;
对包含检测结果的软件程序进行数字签名,获得#PKCS7格式的数字签名信息;
将数字签名信息集成至软件程序中,将该软件程序反馈至送检方。
2.如权利要求1所述的方法,其特征在于,对包含检测结果的软件程序进行数字签名包括:
将包含检测结果的软件程序利用摘要算法获得摘要信息;
利用私钥对所述摘要信息进行加密,获得#PKCS7格式的数字签名信息,所述私钥由第三方检测中心生成并安全保存。
3.如权利要求1所述的方法,其特征在于,在对所述软件程序进行检测获得检测结果之后还包括:
对所述检测结果进行加密处理,获得加密后的检测结果。
4.如权利要求1所述的方法,其特征在于,将所述检测结果集成至所述软件程序包括:
将所述检测结果写入所述软件程序安装包的结束标记内。
5.一种软件程序检测方法,其特征在于,应用于第三方市场,包括:
接收应用开发者发送的软件程序;
当所述软件程序中包含检测结果,则对所述数字签名信息进行验证,同时获得检测机构信息;
当所述数字签名信息验证通过,则判断所述检测机构是否可信;
当数字签名信息验证通过且所述检测结构可信,则分析检测结果;
当所述检测结果表明存在恶意行为或安全风险时,则向所述应用开发者发送修改指令。
6.如权利要求5所述的方法,其特征在于,还包括:
当所述软件程序中不包含检测结果,则将所述软件程序发送给至少一个第三方检测中心,按权利要求1所述的方法进行检测,所述第三方检测中心为预先存储的可信检测机构。
7.如权利要求5所述的方法,其特征在于,对所述数字签名信息进行验证包括:
在数字签名信息中获取公钥、签名信息以及摘要算法;
利用公钥解密签名信息,获得第一摘要信息;
将所述软件程序,利用同样的摘要算法获得第二摘要信息;
将所述第一摘要信息和所述第二摘要信息进行对比,若一致则表明数字签名信息验证通过,若不一致则表明数字签名信息验证失败。
8.如权利要求7所述的方法,其特征在于,还包括:
当数字签名信息验证失败,则删除所述检测结果和数字签名信息,重新按权利要求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所述的方法获得第二检测结果,并将包括第二检测结果当前的软件程序反馈至送检方。
CN201410306485.7A 2014-06-30 2014-06-30 一种软件程序检测方法、装置及*** Active CN104035874B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410306485.7A CN104035874B (zh) 2014-06-30 2014-06-30 一种软件程序检测方法、装置及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410306485.7A CN104035874B (zh) 2014-06-30 2014-06-30 一种软件程序检测方法、装置及***

Publications (2)

Publication Number Publication Date
CN104035874A true CN104035874A (zh) 2014-09-10
CN104035874B CN104035874B (zh) 2017-11-07

Family

ID=51466647

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410306485.7A Active CN104035874B (zh) 2014-06-30 2014-06-30 一种软件程序检测方法、装置及***

Country Status (1)

Country Link
CN (1) CN104035874B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105320545A (zh) * 2015-11-27 2016-02-10 北京指掌易科技有限公司 一种支持应用软件检查第三方软件的证书的方法和装置
CN106875254A (zh) * 2017-01-20 2017-06-20 暨南大学 一种基于区块链技术的Android恶意应用程序控制方法
CN112560064A (zh) * 2020-12-23 2021-03-26 Oppo广东移动通信有限公司 文件检测方法、装置、存储介质及用户终端
CN113541973A (zh) * 2021-09-17 2021-10-22 杭州天谷信息科技有限公司 一种电子签名封装方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1848129A (zh) * 2005-04-05 2006-10-18 株式会社Ntt都科摩 应用程序验证***、应用程序验证方法以及计算机程序
US20110321139A1 (en) * 2010-06-23 2011-12-29 K7 Computing Private Ltd. Online Protection Of Information And Resources
CN103501307A (zh) * 2013-10-22 2014-01-08 中山大学 基于android操作***的智能电视软件的安全认证方法及***
CN103577206A (zh) * 2012-07-27 2014-02-12 北京三星通信技术研究有限公司 一种应用软件的安装方法和装置
CN103778367A (zh) * 2013-12-30 2014-05-07 网秦(北京)科技有限公司 基于应用证书来检测应用安装包的安全性的方法、终端以及辅助服务器
CN103886260A (zh) * 2014-04-16 2014-06-25 中国科学院信息工程研究所 一种基于二次签名验签技术的应用程序管控方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1848129A (zh) * 2005-04-05 2006-10-18 株式会社Ntt都科摩 应用程序验证***、应用程序验证方法以及计算机程序
US20110321139A1 (en) * 2010-06-23 2011-12-29 K7 Computing Private Ltd. Online Protection Of Information And Resources
CN103577206A (zh) * 2012-07-27 2014-02-12 北京三星通信技术研究有限公司 一种应用软件的安装方法和装置
CN103501307A (zh) * 2013-10-22 2014-01-08 中山大学 基于android操作***的智能电视软件的安全认证方法及***
CN103778367A (zh) * 2013-12-30 2014-05-07 网秦(北京)科技有限公司 基于应用证书来检测应用安装包的安全性的方法、终端以及辅助服务器
CN103886260A (zh) * 2014-04-16 2014-06-25 中国科学院信息工程研究所 一种基于二次签名验签技术的应用程序管控方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105320545A (zh) * 2015-11-27 2016-02-10 北京指掌易科技有限公司 一种支持应用软件检查第三方软件的证书的方法和装置
CN105320545B (zh) * 2015-11-27 2018-09-18 北京指掌易科技有限公司 一种支持应用软件检查第三方软件的证书的方法和装置
CN106875254A (zh) * 2017-01-20 2017-06-20 暨南大学 一种基于区块链技术的Android恶意应用程序控制方法
CN112560064A (zh) * 2020-12-23 2021-03-26 Oppo广东移动通信有限公司 文件检测方法、装置、存储介质及用户终端
CN113541973A (zh) * 2021-09-17 2021-10-22 杭州天谷信息科技有限公司 一种电子签名封装方法
CN113541973B (zh) * 2021-09-17 2021-12-21 杭州天谷信息科技有限公司 一种电子签名封装方法

Also Published As

Publication number Publication date
CN104035874B (zh) 2017-11-07

Similar Documents

Publication Publication Date Title
US9843569B2 (en) Method and apparatus for access credential provisioning
CN110351239B (zh) 一种基于区块链的电子合同存储方法及装置、电子设备
CN110798315B (zh) 基于区块链的数据处理方法、装置及终端
CN111404696B (zh) 协同签名方法、安全服务中间件、相关平台及***
CN109194625B (zh) 一种基于云端服务器的客户端应用保护方法、装置及存储介质
US20080168562A1 (en) Secure Processing Device and Secure Processing System
CN108985081A (zh) 一种水印加密方法、装置、介质和电子设备
CN109635572B (zh) 一种基于区块链的合约签订方法、装置及终端设备
CN107301343B (zh) 安全数据处理方法、装置及电子设备
EP1862937A1 (en) Secure processing device and secure processing system
CN104462965A (zh) 应用程序完整性验证方法及网络设备
CN106897631B (zh) 数据处理方法、装置及***
CN113553572A (zh) 资源信息获取方法、装置、计算机设备和存储介质
CN104035874A (zh) 一种软件程序检测方法、装置及***
CN104123488A (zh) 应用程序的验证方法和装置
CN104320265A (zh) 用于软件平台的认证方法和认证装置
CN111339201A (zh) 基于区块链的测评方法及***
CN110598377A (zh) 基于区块链的软件序列号管理方法以及装置
US20140082095A1 (en) Workflow monitoring
KR101256462B1 (ko) 모바일 애플리케이션의 위변조 탐지 장치, 시스템 및 방법
CN111585995A (zh) 安全风控信息传输、处理方法、装置、计算机设备及存储介质
US20160352522A1 (en) User Terminal For Detecting Forgery Of Application Program Based On Signature Information And Method Of Detecting Forgery Of Application Program Using The Same
CN107391970B (zh) Flash应用程序中的函数访问控制方法及装置
KR102403014B1 (ko) 클라우드 컨테이너 이미지의 위·변조 방지 및 취약점 진단 동시 체크 방법
CN113114681B (zh) 测试报文处理方法、装置、计算机***及可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant