CN105447387A - 基于硬件隔离环境的可信应用检测的方法及装置 - Google Patents

基于硬件隔离环境的可信应用检测的方法及装置 Download PDF

Info

Publication number
CN105447387A
CN105447387A CN201510744721.8A CN201510744721A CN105447387A CN 105447387 A CN105447387 A CN 105447387A CN 201510744721 A CN201510744721 A CN 201510744721A CN 105447387 A CN105447387 A CN 105447387A
Authority
CN
China
Prior art keywords
trusted application
application
detection
trusted
authentication information
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
CN201510744721.8A
Other languages
English (en)
Other versions
CN105447387B (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.)
China Academy of Information and Communications Technology CAICT
Original Assignee
China Academy of Telecommunications Research CATR
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 China Academy of Telecommunications Research CATR filed Critical China Academy of Telecommunications Research CATR
Priority to CN201510744721.8A priority Critical patent/CN105447387B/zh
Publication of CN105447387A publication Critical patent/CN105447387A/zh
Application granted granted Critical
Publication of CN105447387B publication Critical patent/CN105447387B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种基于硬件隔离环境的可信应用检测的方法及装置,涉及可信执行环境技术领域。该方法包括:对待被检测的可信应用安装包进行信任链检测;若信任链检测合格,将可信应用安装包对应的可信应用安装于TEE环境中;运行可信应用,验证可信应用的执行时间的唯一性和原子性;若验证可信应用的执行时间的唯一性和原子性合格,提取可信应用的预先设置的应用标识,以及可信应用的代码和数据存储的地址空间值,进行应用间隔离检测;若对可信应用进行应用间隔离检测合格,对可信应用进行漏洞检测,确定可信应用是否为风险恶意应用。本发明可以解决TEE执行环境下的可信应用安全性问题。

Description

基于硬件隔离环境的可信应用检测的方法及装置
技术领域
本发明涉及可信执行环境技术领域,尤其涉及一种基于硬件隔离环境的可信应用检测的方法及装置。
背景技术
硬件隔离环境是指将操作系统中的通用执行环境(RichExecutionEnvironment,简称REE)与可信任执行环境(TrustedExecutionEnvironment,简称TEE)相隔离的一种操作系统环境。当前,TEE是一种新兴的移动安全技术,是一个用户可信任的运行环境,在此环境下移动终端可以进行应用程序中的敏感操作,例如银行转账、密码修改等。这些应用程序需要较高的安全水平,一般涉及移动支付,数字版权管理和内容保护等。通过可信任执行环境技术可以将应用程序的敏感操作和不敏感操作分离处理。其中,TEE是一个独立的环境,与通常的Windows操作系统或其他操作系统隔离开来。在操作系统中执行的恶意操作或操作系统中运行的恶意应用将无法影响TEE中受保护的软件和数据。
当前,移动应用一般全部安装在REE中,且应用的所有操作行为均由REE内的操作系统来执行,因此当前对移动应用的安全检测一般仅涉及REE内的移动应用本身,即对移动应用进行恶意代码检测、应用漏洞库检测等。但是,当前的移动应用安全检测没有涉及TEE环境,仅通过对移动应用本身进行恶意代码检测、应用漏洞库检测等并不能确认TEE环境下的可信应用的安全性。
发明内容
本发明的实施例提供一种基于硬件隔离环境的可信应用检测的方法及装置,以解决当前的TEE执行环境下的可信应用安全性问题。
为达到上述目的,本发明采用如下技术方案:
一种基于硬件隔离环境的可信应用检测的方法,包括:
对待被检测的可信应用安装包进行信任链检测;
若所述对待被检测的可信应用安装包进行信任链检测合格,将可信应用安装包对应的可信应用安装于TEE环境中;
运行所述可信应用,验证所述可信应用的执行时间的唯一性和原子性;
若验证所述可信应用的执行时间的唯一性和原子性合格,提取所述可信应用的预先设置的应用标识,以及所述可信应用的代码和数据存储的地址空间值;
根据所述应用标识和所述地址空间值对所述可信应用进行应用间隔离检测;
若对所述可信应用进行应用间隔离检测合格,对所述可信应用进行漏洞检测,确定所述可信应用是否为风险恶意应用。
具体的,所述对待被检测的可信应用安装包进行信任链检测,包括:
提取可信应用安装包内的认证信息;所述认证信息包括可信应用的签名信息或者证书信息;
将所述认证信息与本地存储的已知认证信息进行匹配比较;
若所述认证信息与本地存储的已知认证信息相匹配,确定所述可信应用安装包的信任链检测合格;
若所述认证信息与本地存储的已知认证信息不匹配,确定所述可信应用安装包的信任链检测不合格。
具体的,所述运行所述可信应用,验证所述可信应用的执行时间的唯一性和原子性,包括:
对所述可信应用进行多次模拟操作,在不同的动作执行点中的各动作执行点上分别提取多个时间偏移变量;
将每次模拟操作的各动作执行点上的时间偏移变量构成一离散函数曲线;
将每次模拟操作所对应的离散函数曲线进行比较;
若每次模拟操作所对应的离散函数曲线一致,则确定所述可信应用的执行时间唯一。
具体的,所述运行所述可信应用,验证所述可信应用的执行时间的唯一性和原子性,包括:
对所述可信应用进行多次失败操作;
获取每次失败操作后可信应用的时间偏移变量;
若所述每次失败操作后可信应用的时间偏移变量为0或者为应用执行的初始值,则确定所述可信应用的执行时间具有原子性。
具体的,所述根据所述应用标识和所述地址空间值对所述可信应用进行应用间隔离检测,包括:
从地址空间值与应用标识相对应的关系信息中确定可信应用的应用标识是否唯一对应可信应用的地址空间值,并确定所述关系信息中的地址空间值是否彼此不重叠;
若可信应用的应用标识唯一对应可信应用的地址空间值,且所述关系信息中的地址空间值彼此不重叠,确定所述可信应用进行应用间隔离检测合格。
一种基于硬件隔离环境的可信应用检测的装置,包括:
信任链检测单元,用于对待被检测的可信应用安装包进行信任链检测;
可信应用安装单元,用于在所述对待被检测的可信应用安装包进行信任链检测合格后,将可信应用安装包对应的可信应用安装于TEE环境中;
时间特性检测单元,用于运行所述可信应用,验证所述可信应用的执行时间的唯一性和原子性;
数据提取单元,用于在验证所述可信应用的执行时间的唯一性和原子性合格后,提取所述可信应用的预先设置的应用标识,以及所述可信应用的代码和数据存储的地址空间值;
应用间隔离检测单元,用于根据所述应用标识和所述地址空间值对所述可信应用进行应用间隔离检测;
漏洞检测单元,用于在对所述可信应用进行应用间隔离检测合格,对所述可信应用进行漏洞检测,确定所述可信应用是否为风险恶意应用。
具体的,所述信任链检测单元,包括:
认证信息提取模块,用于提取可信应用安装包内的认证信息;所述认证信息包括可信应用的签名信息或者证书信息;
匹配模块,用于将所述认证信息与本地存储的已知认证信息进行匹配比较;
信任链检测模块,用于在所述认证信息与本地存储的已知认证信息相匹配时,确定所述可信应用安装包的信任链检测合格,并在所述认证信息与本地存储的已知认证信息不匹配时,确定所述可信应用安装包的信任链检测不合格。
具体的,所述时间特性检测单元,包括:
模拟操作模块,用于对所述可信应用进行多次模拟操作,在不同的动作执行点中的各动作执行点上分别提取多个时间偏移变量;
离散函数曲线生成模块,用于将每次模拟操作的各动作执行点上的时间偏移变量构成一离散函数曲线;
离散函数曲线比较模块,用于将每次模拟操作所对应的离散函数曲线进行比较;
唯一性确定模块,用于在每次模拟操作所对应的离散函数曲线一致时,确定所述可信应用的执行时间唯一。
具体的,所述时间特性检测单元,包括:
失败操作模块,用于对所述可信应用进行多次失败操作,获取每次失败操作后可信应用的时间偏移变量;
原子性确定模块,用于在所述每次失败操作后可信应用的时间偏移变量为0或者为应用执行的初始值时,确定所述可信应用的执行时间具有原子性。
具体的,所述应用间隔离检测单元,包括:
判断模块,用于从地址空间值与应用标识相对应的关系信息中确定可信应用的应用标识是否唯一对应可信应用的地址空间值,并确定所述关系信息中的地址空间值是否彼此不重叠;
应用间隔离检测模块,用于在可信应用的应用标识唯一对应可信应用的地址空间值,且所述关系信息中的地址空间值彼此不重叠时,确定所述可信应用进行应用间隔离检测合格。
本发明实施例提供的基于硬件隔离环境的可信应用检测的方法及装置,通过对待被检测的可信应用安装包进行信任链检测,并验证可信应用的执行时间的唯一性和原子性,而且还对可信应用进行应用间隔离检测和漏洞检测。其中,信任链检测与应用间隔离检测涉及到了TEE环境,使得基于硬件隔离环境的可信应用检测可以确认TEE环境下的可信应用的安全性。这样,本发明避免了仅通过对移动应用本身进行恶意代码检测、应用漏洞库检测等并不能确认TEE环境下的可信应用的安全性的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于硬件隔离环境的可信应用检测的方法的流程图一;
图2为本发明实施例提供的一种基于硬件隔离环境的可信应用检测的方法的流程图二;
图3为本发明实施例提供的一种基于硬件隔离环境的可信应用检测的装置的结构示意图一;
图4为本发明实施例提供的一种基于硬件隔离环境的可信应用检测的装置的结构示意图二。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种基于硬件隔离环境的可信应用检测的方法,如图1所示,包括:
步骤101、对待被检测的可信应用安装包进行信任链检测。
步骤102、若对待被检测的可信应用安装包进行信任链检测合格,将可信应用安装包对应的可信应用安装于TEE环境中。
步骤103、运行可信应用,验证可信应用的执行时间的唯一性和原子性。
步骤104、若验证可信应用的执行时间的唯一性和原子性合格,提取可信应用的预先设置的应用标识,以及可信应用的代码和数据存储的地址空间值。
步骤105、根据应用标识和地址空间值对可信应用进行应用间隔离检测。
步骤106、若对可信应用进行应用间隔离检测合格,对可信应用进行漏洞检测,确定可信应用是否为风险恶意应用。
本发明实施例提供的基于硬件隔离环境的可信应用检测的方法,通过对待被检测的可信应用安装包进行信任链检测,并验证可信应用的执行时间的唯一性和原子性,而且还对可信应用进行应用间隔离检测和漏洞检测。其中,信任链检测与应用间隔离检测涉及到了TEE环境,使得基于硬件隔离环境的可信应用检测可以确认TEE环境下的可信应用的安全性。这样,本发明避免了仅通过对移动应用本身进行恶意代码检测、应用漏洞库检测等并不能确认TEE环境下的可信应用的安全性的问题。
为了使得本领域的技术人员更好的了解本发明,下面列举一个更为具体的实施例,如图2所示,本发明一种基于硬件隔离环境的可信应用检测的方法,包括:
步骤201、提取待被检测的可信应用安装包内的认证信息。
其中,该认证信息包括可信应用的签名信息或者证书信息。
步骤202、将认证信息与本地存储的已知认证信息进行匹配比较。
TEE系统内有一个硬件的信任根,其之上的TEE内核、TEE操作系统以及可信应用的装载和运行都以该信任根为基础。例如TEE内核的装载和执行要经过信任根的验证,验证成功则装载和执行TEE内核。可见,可信应用的装载和执行要经过TEE操作系统的验证,验证主要以签名、证书技术为手段。
步骤203、若认证信息与本地存储的已知认证信息相匹配,确定可信应用安装包的信任链检测合格。之后执行步骤205。
步骤204、若认证信息与本地存储的已知认证信息不匹配,确定可信应用安装包的信任链检测不合格。之后执行步骤220。
步骤205、将可信应用安装包对应的可信应用安装于TEE环境中。
步骤206、运行可信应用,对可信应用进行多次模拟操作,在不同的动作执行点上分别提取多个时间偏移变量。
步骤207、将每次模拟操作的各动作执行点上的时间偏移变量构成一离散函数曲线。
步骤208、将每次模拟操作所对应的离散函数曲线进行比较。
步骤209、若每次模拟操作所对应的离散函数曲线一致,则确定可信应用的执行时间唯一。之后执行步骤211。
可信应用的唯一性是指该应用执行时的时间偏移变量不依赖于其它的可信应用。
步骤210、若每次模拟操作所对应的离散函数曲线不一致,则确定可信应用的执行时间不唯一。之后执行步骤220。
步骤211、对可信应用进行多次失败操作,获取每次失败操作后可信应用的时间偏移变量。
步骤212、若每次失败操作后可信应用的时间偏移变量为0或者为应用执行的初始值,则确定可信应用的执行时间具有原子性。之后执行步骤214。
可信应用的执行时间的原子性是指应用在执行过程中,时间不会中途停滞或保存,只有执行的动作成功完成时,时间偏移变量才会保持计数,否则时间偏移变量从零初始化。
步骤213、若失败操作后有可信应用的时间偏移变量未恢复为0或者未恢复为应用执行的初始值,则确定可信应用的执行时间不具有原子性。之后执行步骤220。
步骤214、提取可信应用的预先设置的应用标识,以及可信应用的代码和数据存储的地址空间值。
步骤215、从地址空间值与应用标识相对应的关系信息中确定可信应用的应用标识是否唯一对应可信应用的地址空间值,并确定关系信息中的地址空间值是否彼此不重叠。
步骤216、若可信应用的应用标识唯一对应可信应用的地址空间值,且关系信息中的地址空间值彼此不重叠,确定可信应用进行应用间隔离检测合格。之后执行步骤218。
步骤217、若可信应用的应用标识不唯一对应可信应用的地址空间值,或者关系信息中的地址空间值彼此重叠,确定可信应用进行应用间隔离检测不合格。之后执行步骤220。
步骤218、对可信应用进行漏洞检测,确定可信应用是否为风险恶意应用。
此处对可信应用进行漏洞检测可以采用基于缺陷注入的自动软件测试技术,即Fuzzing自动化测试过程。该Fuzzing自动化测试过程可以捕获程序异常,并且通过接口API协议库和启发式攻击来发现未被发现的代码或者数据错误。
若漏洞检测通过,执行步骤219:确定可信应用检测合格,其为安全应用。
若漏洞检测未通过,执行步骤220:可信应用检测不合格,该可信应用为风险恶意应用。
此处的风险恶意应用可以是其本身为恶意应用,或者该风险恶意应用存在漏洞,容易被攻击。
在上述各步骤中,若检测到可信应用不合格,则将停止后续的检测过程。
本发明实施例提供的基于硬件隔离环境的可信应用检测的方法,通过对待被检测的可信应用安装包进行信任链检测,并验证可信应用的执行时间的唯一性和原子性,而且还对可信应用进行应用间隔离检测和漏洞检测。其中,信任链检测与应用间隔离检测涉及到了TEE环境,使得基于硬件隔离环境的可信应用检测可以确认TEE环境下的可信应用的安全性。这样,本发明避免了仅通过对移动应用本身进行恶意代码检测、应用漏洞库检测等并不能确认TEE环境下的可信应用的安全性的问题。
对应于上述的方法实施例,如图3所示,本发明实施例还提供一种基于硬件隔离环境的可信应用检测的装置,包括:
信任链检测单元31,可以对待被检测的可信应用安装包进行信任链检测。
可信应用安装单元32,可以在对待被检测的可信应用安装包进行信任链检测合格后,将可信应用安装包对应的可信应用安装于TEE环境中。
时间特性检测单元33,可以运行可信应用,验证可信应用的执行时间的唯一性和原子性。
数据提取单元34,可以在验证可信应用的执行时间的唯一性和原子性合格后,提取可信应用的预先设置的应用标识,以及可信应用的代码和数据存储的地址空间值。
应用间隔离检测单元35,可以根据应用标识和地址空间值对可信应用进行应用间隔离检测。
漏洞检测单元36,可以在对可信应用进行应用间隔离检测合格,对可信应用进行漏洞检测,确定可信应用是否为风险恶意应用。
具体的,如图4所示,该信任链检测单元31,可以包括:
认证信息提取模块311,可以提取可信应用安装包内的认证信息;认证信息包括可信应用的签名信息或者证书信息。
匹配模块312,可以将认证信息与本地存储的已知认证信息进行匹配比较。
信任链检测模块313,可以在认证信息与本地存储的已知认证信息相匹配时,确定可信应用安装包的信任链检测合格,并在认证信息与本地存储的已知认证信息不匹配时,确定可信应用安装包的信任链检测不合格。
具体的,如图4所示,该时间特性检测单元33,可以包括:
模拟操作模块331,可以对可信应用进行多次模拟操作,在不同的动作执行点中的各动作执行点上分别提取多个时间偏移变量。
离散函数曲线生成模块332,可以将每次模拟操作的各动作执行点上的时间偏移变量构成一离散函数曲线。
离散函数曲线比较模块333,可以将每次模拟操作所对应的离散函数曲线进行比较。
唯一性确定模块334,可以在每次模拟操作所对应的离散函数曲线一致时,确定可信应用的执行时间唯一。
具体的,如图4所示,该时间特性检测单元33,还可以包括:
失败操作模块335,可以对可信应用进行多次失败操作,获取每次失败操作后可信应用的时间偏移变量。
原子性确定模块336,可以在每次失败操作后可信应用的时间偏移变量为0或为应用执行的初始值时,确定可信应用的执行时间具有原子性。
具体的,如图4所示,该应用间隔离检测单元35,可以包括:
判断模块351,可以从地址空间值与应用标识相对应的关系信息中确定可信应用的应用标识是否唯一对应可信应用的地址空间值,并确定关系信息中的地址空间值是否彼此不重叠。
应用间隔离检测模块352,可以在可信应用的应用标识唯一对应可信应用的地址空间值,且关系信息中的地址空间值彼此不重叠时,确定可信应用进行应用间隔离检测合格。
值得说明的是,本发明实施例提供的基于硬件隔离环境的可信应用检测的装置的具体实现方式可以参见上述的方法实施例,此处不再赘述。
本发明实施例提供的基于硬件隔离环境的可信应用检测的装置,通过对待被检测的可信应用安装包进行信任链检测,并验证可信应用的执行时间的唯一性和原子性,而且还对可信应用进行应用间隔离检测和漏洞检测。其中,信任链检测与应用间隔离检测涉及到了TEE环境,使得基于硬件隔离环境的可信应用检测可以确认TEE环境下的可信应用的安全性。这样,本发明避免了仅通过对移动应用本身进行恶意代码检测、应用漏洞库检测等并不能确认TEE环境下的可信应用的安全性的问题。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种基于硬件隔离环境的可信应用检测的方法,其特征在于,包括:
对待被检测的可信应用安装包进行信任链检测;
若所述对待被检测的可信应用安装包进行信任链检测合格,将可信应用安装包对应的可信应用安装于TEE环境中;
运行所述可信应用,验证所述可信应用的执行时间的唯一性和原子性;
若验证所述可信应用的执行时间的唯一性和原子性合格,提取所述可信应用的预先设置的应用标识,以及所述可信应用的代码和数据存储的地址空间值;
根据所述应用标识和所述地址空间值对所述可信应用进行应用间隔离检测;
若对所述可信应用进行应用间隔离检测合格,对所述可信应用进行漏洞检测,确定所述可信应用是否为风险恶意应用。
2.根据权利要求1所述的基于硬件隔离环境的可信应用检测的方法,其特征在于,所述对待被检测的可信应用安装包进行信任链检测,包括:
提取可信应用安装包内的认证信息;所述认证信息包括可信应用的签名信息或者证书信息;
将所述认证信息与本地存储的已知认证信息进行匹配比较;
若所述认证信息与本地存储的已知认证信息相匹配,确定所述可信应用安装包的信任链检测合格;
若所述认证信息与本地存储的已知认证信息不匹配,确定所述可信应用安装包的信任链检测不合格。
3.根据权利要求1所述的基于硬件隔离环境的可信应用检测的方法,其特征在于,所述运行所述可信应用,验证所述可信应用的执行时间的唯一性和原子性,包括:
对所述可信应用进行多次模拟操作,在不同的动作执行点上分别提取多个时间偏移变量;
将每次模拟操作的各动作执行点上的时间偏移变量构成一离散函数曲线;
将每次模拟操作所对应的离散函数曲线进行比较;
若每次模拟操作所对应的离散函数曲线一致,则确定所述可信应用的执行时间唯一。
4.根据权利要求3所述的基于硬件隔离环境的可信应用检测的方法,其特征在于,所述运行所述可信应用,验证所述可信应用的执行时间的唯一性和原子性,还包括:
对所述可信应用进行多次失败操作;
获取每次失败操作后可信应用的时间偏移变量;
若所述每次失败操作后可信应用的时间偏移变量为0或为应用执行的初始值,则确定所述可信应用的执行时间具有原子性。
5.根据权利要求1所述的基于硬件隔离环境的可信应用检测的方法,其特征在于,所述根据所述应用标识和所述地址空间值对所述可信应用进行应用间隔离检测,包括:
从地址空间值与应用标识相对应的关系信息中确定可信应用的应用标识是否唯一对应可信应用的地址空间值,并确定所述关系信息中的地址空间值是否彼此不重叠;
若可信应用的应用标识唯一对应可信应用的地址空间值,且所述关系信息中的地址空间值彼此不重叠,确定所述可信应用进行应用间隔离检测合格。
6.一种基于硬件隔离环境的可信应用检测的装置,其特征在于,包括:
信任链检测单元,用于对待被检测的可信应用安装包进行信任链检测;
可信应用安装单元,用于在所述对待被检测的可信应用安装包进行信任链检测合格后,将可信应用安装包对应的可信应用安装于TEE环境中;
时间特性检测单元,用于运行所述可信应用,验证所述可信应用的执行时间的唯一性和原子性;
数据提取单元,用于在验证所述可信应用的执行时间的唯一性和原子性合格后,提取所述可信应用的预先设置的应用标识,以及所述可信应用的代码和数据存储的地址空间值;
应用间隔离检测单元,用于根据所述应用标识和所述地址空间值对所述可信应用进行应用间隔离检测;
漏洞检测单元,用于在对所述可信应用进行应用间隔离检测合格,对所述可信应用进行漏洞检测,确定所述可信应用是否为风险恶意应用。
7.根据权利要求6所述的基于硬件隔离环境的可信应用检测的装置,其特征在于,所述信任链检测单元,包括:
认证信息提取模块,用于提取可信应用安装包内的认证信息;所述认证信息包括可信应用的签名信息或者证书信息;
匹配模块,用于将所述认证信息与本地存储的已知认证信息进行匹配比较;
信任链检测模块,用于在所述认证信息与本地存储的已知认证信息相匹配时,确定所述可信应用安装包的信任链检测合格,并在所述认证信息与本地存储的已知认证信息不匹配时,确定所述可信应用安装包的信任链检测不合格。
8.根据权利要求6所述的基于硬件隔离环境的可信应用检测的装置,其特征在于,所述时间特性检测单元,包括:
模拟操作模块,用于对所述可信应用进行多次模拟操作,在不同的动作执行点上分别提取多个时间偏移变量;
离散函数曲线生成模块,用于将每次模拟操作的各动作执行点上的时间偏移变量构成一离散函数曲线;
离散函数曲线比较模块,用于将每次模拟操作所对应的离散函数曲线进行比较;
唯一性确定模块,用于在每次模拟操作所对应的离散函数曲线一致时,确定所述可信应用的执行时间唯一。
9.根据权利要求8所述的基于硬件隔离环境的可信应用检测的装置,其特征在于,所述时间特性检测单元,还包括:
失败操作模块,用于对所述可信应用进行多次失败操作,获取每次失败操作后可信应用的时间偏移变量;
原子性确定模块,用于在所述每次失败操作后可信应用的时间偏移变量为0或为应用执行的初始值时,确定所述可信应用的执行时间具有原子性。
10.根据权利要求6所述的基于硬件隔离环境的可信应用检测的装置,其特征在于,所述应用间隔离检测单元,包括:
判断模块,用于从地址空间值与应用标识相对应的关系信息中确定可信应用的应用标识是否唯一对应可信应用的地址空间值,并确定所述关系信息中的地址空间值是否彼此不重叠;
应用间隔离检测模块,用于在可信应用的应用标识唯一对应可信应用的地址空间值,且所述关系信息中的地址空间值彼此不重叠时,确定所述可信应用进行应用间隔离检测合格。
CN201510744721.8A 2015-11-05 2015-11-05 基于硬件隔离环境的可信应用检测的方法及装置 Active CN105447387B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510744721.8A CN105447387B (zh) 2015-11-05 2015-11-05 基于硬件隔离环境的可信应用检测的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510744721.8A CN105447387B (zh) 2015-11-05 2015-11-05 基于硬件隔离环境的可信应用检测的方法及装置

Publications (2)

Publication Number Publication Date
CN105447387A true CN105447387A (zh) 2016-03-30
CN105447387B CN105447387B (zh) 2018-06-19

Family

ID=55557551

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510744721.8A Active CN105447387B (zh) 2015-11-05 2015-11-05 基于硬件隔离环境的可信应用检测的方法及装置

Country Status (1)

Country Link
CN (1) CN105447387B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106778255A (zh) * 2016-11-24 2017-05-31 工业和信息化部电信研究院 基于内存遍历的可信执行环境隔离性检测方法及装置
CN107463837A (zh) * 2016-06-06 2017-12-12 中国移动通信有限公司研究院 一种信息处理方法和移动终端
CN108599938A (zh) * 2018-04-23 2018-09-28 北京数字认证股份有限公司 通过可信执行环境保护移动端私密数据的方法及系统
CN111953637A (zh) * 2019-05-16 2020-11-17 阿里巴巴集团控股有限公司 一种应用服务方法与装置
US11449601B2 (en) 2020-01-08 2022-09-20 Red Hat, Inc. Proof of code compliance and protected integrity using a trusted execution environment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1365053A (zh) * 2001-01-09 2002-08-21 深圳市中兴集成电路设计有限责任公司 一种防止在计算机中运行的应用系统被攻击或篡改的方法
CN101425035A (zh) * 2007-11-01 2009-05-06 韩国电子通信研究院 用于检查软件的漏洞的设备和方法
CN104125216A (zh) * 2014-06-30 2014-10-29 华为技术有限公司 一种提升可信执行环境安全性的方法、系统及终端
CN104620253A (zh) * 2012-09-28 2015-05-13 意法爱立信有限公司 用于维持安全时间的方法和设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1365053A (zh) * 2001-01-09 2002-08-21 深圳市中兴集成电路设计有限责任公司 一种防止在计算机中运行的应用系统被攻击或篡改的方法
CN101425035A (zh) * 2007-11-01 2009-05-06 韩国电子通信研究院 用于检查软件的漏洞的设备和方法
CN104620253A (zh) * 2012-09-28 2015-05-13 意法爱立信有限公司 用于维持安全时间的方法和设备
CN104125216A (zh) * 2014-06-30 2014-10-29 华为技术有限公司 一种提升可信执行环境安全性的方法、系统及终端

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107463837A (zh) * 2016-06-06 2017-12-12 中国移动通信有限公司研究院 一种信息处理方法和移动终端
CN106778255A (zh) * 2016-11-24 2017-05-31 工业和信息化部电信研究院 基于内存遍历的可信执行环境隔离性检测方法及装置
CN108599938A (zh) * 2018-04-23 2018-09-28 北京数字认证股份有限公司 通过可信执行环境保护移动端私密数据的方法及系统
CN111953637A (zh) * 2019-05-16 2020-11-17 阿里巴巴集团控股有限公司 一种应用服务方法与装置
WO2020228564A1 (zh) * 2019-05-16 2020-11-19 阿里巴巴集团控股有限公司 一种应用服务方法与装置
CN111953637B (zh) * 2019-05-16 2022-08-26 阿里巴巴集团控股有限公司 一种应用服务方法与装置
US11449601B2 (en) 2020-01-08 2022-09-20 Red Hat, Inc. Proof of code compliance and protected integrity using a trusted execution environment

Also Published As

Publication number Publication date
CN105447387B (zh) 2018-06-19

Similar Documents

Publication Publication Date Title
US10635809B2 (en) Authenticating application legitimacy
CN108399329B (zh) 一种提高可信应用程序安全的方法
CN105447387A (zh) 基于硬件隔离环境的可信应用检测的方法及装置
CN105608386A (zh) 一种可信计算终端完整性度量、证明方法及装置
US9270467B1 (en) Systems and methods for trust propagation of signed files across devices
WO2012064171A1 (en) A method for enabling a trusted platform in a computing system
US9294284B1 (en) Systems and methods for validating application signatures
CN107729198B (zh) 一种Android系统固件校验方法及装置
WO2011146305A2 (en) Extending an integrity measurement
CN102880828B (zh) 一种针对虚拟化支撑环境的入侵检测与恢复系统
CN104462962B (zh) 一种检测未知恶意代码和二进制漏洞的方法
KR101972825B1 (ko) 하이브리드 분석 기술을 이용한 임베디드 기기 취약점 자동 분석 방법, 장치 및 그 방법을 실행하는 컴퓨터 프로그램
CN105138904A (zh) 一种访问控制方法和装置
CN104361285A (zh) 移动设备应用程序的安全检测方法及装置
CN108197476B (zh) 一种智能终端设备的漏洞检测方法及装置
CN105975858A (zh) 安卓系统下基于虚拟技术的恶意代码检测方法及系统
CN105760787A (zh) 用于检测随机存取存储器中的恶意代码的系统及方法
CN112329005A (zh) 操作系统启动的引导度量方法、装置、电子设备和介质
CN107122664B (zh) 安全防护方法及装置
US20130219499A1 (en) Apparatus and method for providing security for virtualization
CN109657454B (zh) 一种基于tf密码模块的安卓应用可信验证方法
CN106709335B (zh) 漏洞检测方法和装置
CN104978517A (zh) 一种Android系统的非法root检测方法及系统
KR101482700B1 (ko) 해시를 이용한 프로그램의 무결성 검증 방법
WO2020233044A1 (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211231

Address after: 100191 No. 40, Haidian District, Beijing, Xueyuan Road

Patentee after: CHINA ACADEMY OF INFORMATION AND COMMUNICATIONS

Address before: 100191 No. 52 Garden North Road, Beijing, Haidian District

Patentee before: CHINA ACADEME OF TELECOMMUNICATION RESEARCH OF MIIT