WO2016095489A1 - 一种可执行模块的提供、加载方法、终端、存储介质 - Google Patents

一种可执行模块的提供、加载方法、终端、存储介质 Download PDF

Info

Publication number
WO2016095489A1
WO2016095489A1 PCT/CN2015/083043 CN2015083043W WO2016095489A1 WO 2016095489 A1 WO2016095489 A1 WO 2016095489A1 CN 2015083043 W CN2015083043 W CN 2015083043W WO 2016095489 A1 WO2016095489 A1 WO 2016095489A1
Authority
WO
WIPO (PCT)
Prior art keywords
hash table
executable module
segment
data packet
signature information
Prior art date
Application number
PCT/CN2015/083043
Other languages
English (en)
French (fr)
Inventor
贾嘉
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2016095489A1 publication Critical patent/WO2016095489A1/zh

Links

Images

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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种可执行模块的提供、加载方法、终端、存储介质,包括:对可执行模块进行哈希计算得到可执行模块哈希表(S101);至少针对所述可执行模块哈希表进行签名得到签名信息(S102);至少针对所述可执行模块哈希表、所述签名信息以及所述可执行模块进行封装,发布封装后的数据包,以使目标端至少基于所述可执行模块哈希表、所述签名信息以及所述可执行模块对数据包进行审核并通过后,加载所述数据包中的所述可执行模块(S103)。

Description

一种可执行模块的提供、加载方法、终端、存储介质 技术领域
本发明涉及可执行程序开发和使用技术领域,尤其涉及一种可执行模块的提供、加载方法、终端、存储介质。
背景技术
在现有的内核模块(KMOD,Kernel Module)开发领域,开发者通过命令insmod加载内核模块至内核空间,内核未对内核模块进行认证,直接加载至内核空间运行。若开发者对第三方合法二进制内核模块进行修改,加入攻击性代码,则会通过insmod方式,使内核自动执行加入的攻击性代码,导致严重的内核安全问题。
除了内核模块之外,其他的可执行模块的开发和加载过程也同样存在上述问题,因此,如何实现可执行模块的安全加载成为本领域亟待解决的技术问题。
发明内容
为解决上述技术问题,本发明实施例提供了一种可执行模块的提供、加载方法、终端、存储介质,实现可执行模块的安全加载。
本发明实施例采用的技术方案是,所述可执行模块的提供方法,应用于主机端,该方法包括:
对可执行模块进行哈希计算得到可执行模块哈希表;
至少针对所述可执行模块哈希表进行签名得到签名信息;
至少针对所述可执行模块哈希表、所述签名信息以及所述可执行模块进行封装,发布封装后的数据包,以使目标端至少基于所述可执行模块哈 希表、所述签名信息以及所述可执行模块对数据包进行审核并通过后,加载所述数据包中的所述可执行模块。
本发明实施例中,封装后的数据包的组成部分包括以下几段:数据包头、哈希表段和可执行模块段;
所述哈希表段包括:启动镜像头、可执行模块哈希表、以及签名信息。
本发明实施例中,所述哈希表段,还包括:对哈希表段进行哈希计算得到的哈希表段哈希表。
本发明实施例中,所述数据包的组成部分还包括:段表,所述段表包括:哈希表段头和可执行模块段头;
所述哈希表段,还包括:对段表进行哈希计算得到的段表哈希表,和/或,对哈希表段进行哈希计算得到的哈希表段哈希表。
本发明实施例中,至少针对所述可执行模块哈希表进行签名得到签名信息,包括:对所述可执行模块哈希表进行签名得到签名信息;
或者,
对所述可执行模块哈希表、以及以下至少之一进行签名得到的签名信息:启动镜像头、段表哈希表、哈希表段哈希表。
本发明实施例中,所述数据包为可执行与可链接格式(ELF,Executable and Linkable Format)格式、安卓安装包(APK,Android Package)格式、压缩镜像文件(DMG)格式或者ZIP格式的数据包;所述可执行模块的类型,包括:内核模块或者应用模块。
本发明实施例还提供一种可执行模块的加载方法,应用于目标端,该方法包括:
基于数据包中的可执行模块哈希表、可执行模块以及签名信息,对所述数据包进行审核;所述签名信息,包括:至少对所述可执行模块哈希表进行签名得到签名信息;
当审核通过时,加载所述数据包中的所述可执行模块。
本发明实施例中,所述数据包的组成部分包括以下几段:数据包头、哈希表段和可执行模块段;
所述哈希表段包括:启动镜像头、可执行模块哈希表、以及所述签名信息。
本发明实施例中,所述哈希表段,还包括:对哈希表段进行哈希计算得到的哈希表段哈希表。
本发明实施例中,基于数据包中的可执行模块哈希表、可执行模块以及签名信息,对所述数据包进行审核,包括:
对签名信息进行鉴权;
当鉴权通过后,进行以下至少一项比对工作:
对可执行模块进行哈希计算得到第一动态哈希表,将第一动态哈希表与数据包中的可执行模块哈希表进行比对;
对哈希表段进行哈希计算得到第二动态哈希表,将第二动态哈希表与数据包中的哈希表段哈希表进行比对;
若所进行的各项比对的结果均一致,则审核通过,否则审核不通过。
本发明实施例中,所述数据包的组成部分还包括:段表;所述段表包括:哈希表段头和可执行模块段头;
所述哈希表段,还包括:对段表进行哈希计算得到的段表哈希表,和/或,对哈希表段进行哈希计算得到的哈希表段哈希表。
本发明实施例中,基于数据包中的可执行模块哈希表、可执行模块以及签名信息,对所述数据包进行审核,包括:
对签名信息进行鉴权;
当鉴权通过后,进行以下至少一项比对工作:
对可执行模块进行哈希计算得到第一动态哈希表,将第一动态哈希表 与数据包中的可执行模块哈希表进行比对;
对哈希表段进行哈希计算得到第二动态哈希表,将第二动态哈希表与数据包中的哈希表段哈希表进行比对;
对段表进行哈希计算得到第三动态哈希表,将第三动态哈希表与数据包中的段表哈希表进行比对;
若所进行的各项比对的结果均一致,则审核通过,否则审核不通过。
本发明实施例中,所述签名信息,还包括以下至少之一进行签名得到的签名信息:启动镜像头、段表哈希表、哈希表段哈希表。
本发明实施例中,所述数据包为ELF格式、APK格式、DMG格式或者ZIP格式的数据包;所述可执行模块的类型,包括:内核模块或者应用模块。
本发明实施例还提供一种主机终端,包括:
第一处理器,配置为对可执行模块进行哈希计算得到可执行模块哈希表;
至少针对所述可执行模块哈希表进行签名得到签名信息;
至少针对所述可执行模块哈希表、所述签名信息以及所述可执行模块进行封装,发布封装后的数据包,以使目标端至少基于所述可执行模块哈希表、所述签名信息以及所述可执行模块对数据包进行审核并通过后,加载所述数据包中的所述可执行模块。
本发明实施例还提供一种目标终端,包括:
第二处理器,配置为基于数据包中的可执行模块哈希表、可执行模块以及签名信息,对所述数据包进行审核;所述签名信息,包括:至少对所述可执行模块哈希表进行签名得到签名信息;
当审核通过时,加载所述数据包中的所述可执行模块。
本发明实施例还提供一种存储介质,存储有计算机程序,该计算机程 序用于执行上述可执行模块的提供、加载方法。
采用上述技术方案,本发明实施例至少具有下列优点:
本发明实施例所述可执行模块的提供、加载方法、终端、存储介质,实现可执行模块的安全加载,应用在移动通讯终端系统中的可执行模块中,例如内核模块或者应用模块的发布和加载过程中,通过对这些二进制的可执行模块的哈希表等信息进行签名,由移动通讯终端在加载该可执行模块前进行鉴权的方式,实现对该可执行模块的安全认证,避免可执行模块对系统的注入性攻击。
附图说明
图1为本发明第一实施例的可执行模块的提供方法流程图;
图2为本发明第三实施例的可执行模块的加载方法流程图;
图3为本发明第五实施例的主机终端组成结构示意图;
图4为本发明第六实施例的目标终端组成结构示意图;
图5为本发明第七实施例的内核模块的提供和加载系统中的签名单元的一种实现流程示意图;
图6为本发明第七实施例的内核模块的提供和加载系统中的鉴权单元的一种实现流程示意图。
具体实施方式
为更进一步阐述本发明实施例为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明实施例进行详细说明如后。
本发明第一实施例,一种可执行模块的提供方法,如图1所示,在主机端执行的流程包括以下具体步骤:
步骤S101,对可执行模块进行哈希计算得到可执行模块哈希表。
具体的,哈希计算是针对程序模块或者文件的二进制数值进行的哈希 计算,得到哈希表。
步骤S102,至少针对所述可执行模块哈希表进行签名得到签名信息。
具体的,签名信息的格式包括以下两段:签名段和认证段。
步骤S103,至少针对所述可执行模块哈希表、所述签名信息以及所述可执行模块进行封装,发布封装后的数据包,以使目标端在获取到数据包时至少基于所述可执行模块哈希表、所述签名信息以及所述可执行模块对数据包进行审核并通过后,加载所述数据包中的所述可执行模块。
具体的,封装后的数据包的组成部分包括以下几段:数据包头、哈希表段和可执行模块段;其中,数据包头中放置该数据包的总文件大小、哈希表段头和可执行模块段头,哈希表段头的内容是哈希表段相对于该数据包起始位置的偏移量,可执行模块段头的内容是可执行模块段相对于该数据包起始位置的偏移量。可执行模块段中放置的是可执行模块。
该哈希表段,包括:启动镜像头、可执行模块哈希表、以及签名信息,其中,启动镜像头用于记录可执行模块哈希表相对于该启动镜像头起始位置的偏移量、以及签名信息相对于该启动镜像头起始位置的偏移量。
优选的,该哈希表段,还包括:对哈希表段进行哈希计算得到的哈希表段哈希表。实际上就是将针对哈希表段中的所有内容即启动镜像头、可执行模块哈希表、以及签名信息进行哈希计算得到的结果,也放入该哈希表段中。
在本实施例中,该数据包为ELF格式、APK格式、DMG格式或者ZIP格式的数据包。该可执行模块的类型,包括:内核模块或者应用模块。
本发明第二实施例,一种可执行模块的提供方法,本实施例所述方法与第一实施例大致相同,区别在于,该数据包的组成部分还包括:段表。该哈希表段,还包括:段表哈希表,和/或,哈希表段哈希表。以及,本实施例的步骤S102中的签名信息也有些不同。
具体的,在本实施例中,该数据包的组成部分包括以下几段:数据包头、段表、哈希表段和可执行模块段,这类似于ELF格式;其中,该段表包括:哈希表段头和可执行模块段头,哈希表段头的内容是哈希表段相对于该数据包起始位置的偏移量,可执行模块段头的内容是可执行模块段相对于该数据包起始位置的偏移量。
此时,该哈希表段,除了包括启动镜像头、可执行模块哈希表、以及签名信息之外,还包括:对段表进行哈希计算得到的段表哈希表,和/或,对哈希表段进行哈希计算得到的哈希表段哈希表。
当哈希表段不包含段表哈希段时,对哈希表段进行哈希计算得到的哈希表哈希段是指:针对启动镜像头、可执行模块哈希表、以及签名信息进行哈希计算得到的结果;当哈希表段包含段表哈希段时,对哈希表段进行哈希计算得到的哈希表哈希段是指:针对此时哈希表段的所有内容即启动镜像头、可执行模块哈希表、签名信息、以及段表哈希段进行哈希计算得到的结果。
在步骤S102中,至少针对所述可执行模块哈希表进行签名得到签名信息,包括:仅针对所述可执行模块哈希表进行签名得到签名信息;或者,
对所述可执行模块哈希表、以及以下至少之一进行签名得到的签名信息:启动镜像头、段表哈希表、哈希表段哈希表。签名信息的格式包括以下两段:签名段和认证段。
本发明第三实施例,与第一实施例中主机终端运行的可执行模块提供方法对应,本实施例介绍一种可执行模块的加载方法,如图2所示,在目标端执行的流程包括:
步骤S301,获取数据包。
具体的,获得的数据包的组成部分包括以下几段:数据包头、哈希表段和可执行模块段,其中,数据包头中放置该数据包的总文件大小、哈希 表段头和可执行模块段头,哈希表段头的内容是哈希表段相对于该数据包起始位置的偏移量,可执行模块段头的内容是可执行模块段相对于该数据包起始位置的偏移量。
该哈希表段,包括:启动镜像头、可执行模块哈希表、以及所述签名信息,其中,启动镜像头用于记录可执行模块哈希表相对于该启动镜像头起始位置的偏移量、以及所述签名信息相对于该启动镜像头起始位置的偏移量。
优选的,该哈希表段,还包括:对哈希表段进行哈希计算得到的哈希表段哈希表。
步骤S302,基于数据包中的可执行模块哈希表、可执行模块以及签名信息,对所述数据包进行审核;所述签名信息,包括:至少对所述可执行模块哈希表进行签名得到签名信息;
具体的,步骤S302,包括:
A1:对签名信息进行鉴权。具体的,对该签名信息中的签名段和认证段分别进行鉴权,均鉴权通过时才算作对该签名信息鉴权通过。
A2:当鉴权通过后,进行以下至少一项比对工作:
1)对可执行模块进行哈希计算得到第一动态哈希表,将第一动态哈希表与数据包中的可执行模块哈希表进行比对;
2)对哈希表段进行哈希计算得到第二动态哈希表,将第二动态哈希表与数据包中的哈希表段哈希表进行比对;
若所进行的各项比对的结果均一致,则审核通过,否则审核不通过。
步骤S303,当审核通过时,加载所述数据包中的所述可执行模块。
在本实施例中,该数据包为ELF格式、APK格式、DMG格式或者ZIP格式的数据包。该可执行模块的类型,包括:内核模块或者应用模块。
本发明第四实施例,与第二实施例中主机端运行的可执行模块提供方 法对应,本实施例介绍一种在目标端侧运行的可执行模块的加载方法。本实施例的加载方法与第三实施例大致相同,区别仅在于,该数据包的组成部分还包括:段表。该哈希表段,还包括:段表哈希表,和/或,哈希表段哈希表。以及,本实施例的签名信息组成和步骤S302的审核过程也有些不同。
具体的,在本实施例中,该数据包的组成部分包括以下几段:数据包头、段表、哈希表段和可执行模块段;其中,该段表包括:哈希表段头和可执行模块段头,哈希表段头的内容是哈希表段相对于该数据包起始位置的偏移量,可执行模块段头的内容是可执行模块段相对于该数据包起始位置的偏移量。
此时,该哈希表段,除了包括启动镜像头、可执行模块哈希表、以及签名信息之外,还包括:对段表进行哈希计算得到的段表哈希表,和/或,对哈希表段进行哈希计算得到的哈希表段哈希表。
该签名信息,包括:仅针对所述可执行模块哈希表进行签名得到签名信息;或者,对所述可执行模块哈希表、以及以下至少之一进行签名得到的签名信息:启动镜像头、段表哈希表、哈希表段哈希表。签名信息的格式包括以下两段:签名段和认证段。
在步骤S302中,基于数据包中的可执行模块哈希表、可执行模块以及签名信息,对所述数据包进行审核,包括:
B1:对签名信息进行鉴权;具体的,对该签名信息中的签名段和认证段分别进行鉴权,均鉴权通过时才算作对该签名信息鉴权通过。
B2:当鉴权通过后,进行以下至少一项比对工作:
1)对可执行模块进行哈希计算得到第一动态哈希表,将第一动态哈希表与数据包中的可执行模块哈希表进行比对;
2)对哈希表段进行哈希计算得到第二动态哈希表,将第二动态哈希表 与数据包中的哈希表段哈希表进行比对;
3)对段表进行哈希计算得到第三动态哈希表,将第三动态哈希表与数据包中的段表哈希表进行比对;
若所进行的各项比对的结果均一致,则审核通过,否则审核不通过。
本发明第五实施例,一种主机终端,可以作为实体装置来理解,如图3所示,包括以下组成部分:
第一处理器10,配置为对可执行模块进行哈希计算得到可执行模块哈希表;
至少针对所述可执行模块哈希表进行签名得到签名信息;
至少针对所述可执行模块哈希表、所述签名信息以及所述可执行模块进行封装,发布封装后的数据包,以使目标端至少基于所述可执行模块哈希表、所述签名信息以及所述可执行模块对数据包进行审核并通过后,加载所述数据包中的所述可执行模块。
本实施例中第一处理器10所完成的功能细节上与第一、二实施例中主机端侧的流程所涉及的具体步骤相对应。
上述第一处理器10可由位于主机终端中的中央处理器(CPU,Central Processing Unit)、或微处理器(MPU,MicroProcessor Unit)、或数字信号处理器(DSP,Digital Signal Processor)、或现场可编程门阵列(FPGA,Field-Programmable Gate Array)实现。
本发明第六实施例,一种目标终端,可以作为实体装置来理解,如图4所示,包括以下组成部分:
第二处理器20,配置为基于数据包中的可执行模块哈希表、可执行模块以及签名信息,对所述数据包进行审核;所述签名信息,包括:至少对所述可执行模块哈希表进行签名得到签名信息;
当审核通过时,加载所述数据包中的所述可执行模块。
本实施例中第二处理器20所完成的功能细节上与第三、四实施例中目标端端侧的流程所涉及的具体步骤相对应。
上述第二处理器20可由位于目标终端中的CPU、或MPU、或DSP、或FPGA实现。
本发明第七实施例,本实施例是在上述实施例的基础上,以内核模块的开发和加载为例,结合附图5~6介绍一个本发明的应用实例。
本实施例的一种内核模块的提供和加载系统,包括以下两个部分:签名单元和鉴权单元。签名单元的功能类似于第五实施例中的主机终端,鉴权单元的功能类似于第六实施例中的目标终端。
在签名单元中,首先对二进制内核模块进行哈希计算,生成哈希表,并对此哈希表进行签名,生成签名段(Signature Section)和认证段(Certificate Section)。
然后,将此二进制内核模块封装为ELF格式的新的内核模块,封装的内容包括:ELF文件头(ELF Header)、段表(Program Header Table)、哈希表段(Hash Table Segment)、内核模块段(Kernel Module Segment)等。
其中,段表由两部分组成,包括:哈希表段头(Hash Table Header)、内核模块段头(Kernel Module Header)。
哈希表段由六部分组成,包括:启动镜像头(Boot Image Header)、段表哈希表(Hash Segment 0)、哈希表段哈希表(Hash Segment 1)、内核模块哈希表(Hash Segment 1)、签名段、认证段等。
在鉴权单元中,内核在加载内核模块前,提取此封装后的ELF文件中的哈希表段中的认证段进行鉴权,若鉴权通过,则提取此内核模块中的签名段进行鉴权,若鉴权通过,则提取此封装后的ELF文件中的哈希表段中的各哈希表进行哈希表比对,若比对正确,则认为此内核模块合法,加载至内核空间。
若上述认证段鉴权、签名段鉴权、哈希表段比对过程中,任一过程未通过鉴权或比对,则认为此内核模块非法,拒绝加载至内核空间。
该系统不仅可应用于内核模块签名、鉴权,也可扩展为对其它的可执行模块进行签名、鉴权,如:该系统可对手机系统中内核模块进行签名和鉴权,避免可执行程序对内核空间的非法操作。
如图5所示,下面介绍签名单元的一种实现流程,如下:
步骤C1:在主机端,对二进制内核模块进行哈希计算,生成哈希表。
步骤C2:在主机端,对哈希表进行签名,生成签名段和认证段。
步骤C3:在主机端,对二进制内核模块进行封装,生成包含哈希表、签名段、认证段等内容的新二进制内核模块。
相应的,如图6所示,介绍鉴权单元的一种实现流程,如下:
步骤D1:在目标端,内核提取内核模块中的认证段进行鉴权。
步骤D2:在目标端,内核提取内核模块中的签名段进行鉴权。
步骤D3:在目标端,内核提取内核模块中的哈希表段进行哈希表比对。
步骤D4:若步骤D1、D2、D3中,鉴权和比对均通过,则内核加载内核模块至内核空间;若鉴权和比对未通过,则内核拒绝加载内核模块至内核空间。实现对内核模块的安全认证,避免内核模块对系统内核的注入性攻击。
本发明实施例的可执行模块的提供、加载方法及终端,实现可执行模块的安全加载,应用在涉及移动通讯终端系统中的可执行模块,例如内核模块或者应用模块的发布和加载过程中,通过对二进制的可执行模块的哈希表等信息进行签名,由移动通讯终端在加载该可执行模块前进行鉴权的方式,实现对该可执行模块的安全认证,避免可执行模块对系统的注入性攻击。
本发明实施例上述业务信令跟踪的装置如果以软件功能模块的形式实 现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施例不限制于任何特定的硬件和软件结合。
相应地,本发明实施例还提供一种存储介质,其中存储有计算机程序,该计算机程序用于执行本发明实施例的可执行模块的提供、加载方法。
通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。

Claims (17)

  1. 一种可执行模块的提供方法,应用于主机端,所述方法包括:
    对可执行模块进行哈希计算得到可执行模块哈希表;
    至少针对所述可执行模块哈希表进行签名得到签名信息;
    至少针对所述可执行模块哈希表、所述签名信息以及所述可执行模块进行封装,发布封装后的数据包,以使目标端至少基于所述可执行模块哈希表、所述签名信息以及所述可执行模块对数据包进行审核并通过后,加载所述数据包中的所述可执行模块。
  2. 根据权利要求1所述的可执行模块的提供方法,其中,封装后的数据包的组成部分包括以下几段:数据包头、哈希表段和可执行模块段;
    所述哈希表段包括:启动镜像头、可执行模块哈希表、以及签名信息。
  3. 根据权利要求2所述的可执行模块的提供方法,其中,所述哈希表段,还包括:对哈希表段进行哈希计算得到的哈希表段哈希表。
  4. 根据权利要求2所述的可执行模块的提供方法,其中,所述数据包的组成部分还包括:段表,所述段表包括:哈希表段头和可执行模块段头;
    所述哈希表段,还包括:对段表进行哈希计算得到的段表哈希表,和/或,对哈希表段进行哈希计算得到的哈希表段哈希表。
  5. 根据权利要求4所述的可执行模块的提供方法,其中,至少针对所述可执行模块哈希表进行签名得到签名信息,包括:
    对所述可执行模块哈希表进行签名得到签名信息;
    或者,
    对所述可执行模块哈希表、以及以下至少之一进行签名得到的签名信息:启动镜像头、段表哈希表、哈希表段哈希表。
  6. 根据权利要求1~5中任一项所述的可执行模块的提供方法,其中,所述数据包为可执行与可链接格式ELF格式、安卓安装包APK格式、压缩 镜像文件DMG格式或者ZIP格式的数据包;所述可执行模块的类型,包括:内核模块或者应用模块。
  7. 一种可执行模块的加载方法,应用于目标端,所述方法包括:
    基于数据包中的可执行模块哈希表、可执行模块以及签名信息,对所述数据包进行审核;所述签名信息,包括:至少对所述可执行模块哈希表进行签名得到签名信息;
    当审核通过时,加载所述数据包中的所述可执行模块。
  8. 根据权利要求7所述的可执行模块的加载方法,其中,所述数据包的组成部分包括以下几段:数据包头、哈希表段和可执行模块段;
    所述哈希表段包括:启动镜像头、可执行模块哈希表、以及所述签名信息。
  9. 根据权利要求8所述的可执行模块的加载方法,其中,所述哈希表段,还包括:对哈希表段进行哈希计算得到的哈希表段哈希表。
  10. 根据权利要求9所述的可执行模块的加载方法,其中,基于数据包中的可执行模块哈希表、可执行模块以及签名信息,对所述数据包进行审核,包括:
    对签名信息进行鉴权;
    当鉴权通过后,进行以下至少一项比对工作:
    对可执行模块进行哈希计算得到第一动态哈希表,将第一动态哈希表与数据包中的可执行模块哈希表进行比对;
    对哈希表段进行哈希计算得到第二动态哈希表,将第二动态哈希表与数据包中的哈希表段哈希表进行比对;
    若所进行的各项比对的结果均一致,则审核通过,否则审核不通过。
  11. 根据权利要求8所述的可执行模块的加载方法,其中,所述数据包的组成部分还包括:段表;所述段表包括:哈希表段头和可执行模块段 头;
    所述哈希表段,还包括:对段表进行哈希计算得到的段表哈希表,和/或,对哈希表段进行哈希计算得到的哈希表段哈希表。
  12. 根据权利要求11所述的可执行模块的加载方法,其中,基于数据包中的可执行模块哈希表、可执行模块以及签名信息,对所述数据包进行审核,包括:
    对签名信息进行鉴权;
    当鉴权通过后,进行以下至少一项比对工作:
    对可执行模块进行哈希计算得到第一动态哈希表,将第一动态哈希表与数据包中的可执行模块哈希表进行比对;
    对哈希表段进行哈希计算得到第二动态哈希表,将第二动态哈希表与数据包中的哈希表段哈希表进行比对;
    对段表进行哈希计算得到第三动态哈希表,将第三动态哈希表与数据包中的段表哈希表进行比对;
    若所进行的各项比对的结果均一致,则审核通过,否则审核不通过。
  13. 根据权利要求11所述的可执行模块的加载方法,其中,所述签名信息,还包括以下至少之一进行签名得到的签名信息:启动镜像头、段表哈希表、哈希表段哈希表。
  14. 根据权利要求7~13中任一项所述的可执行模块的加载方法,其中,所述数据包为ELF格式、APK格式、DMG格式或者ZIP格式的数据包;所述可执行模块的类型,包括:内核模块或者应用模块。
  15. 一种主机终端,包括:
    第一处理器,配置为对可执行模块进行哈希计算得到可执行模块哈希表;
    至少针对所述可执行模块哈希表进行签名得到签名信息;
    至少针对所述可执行模块哈希表、所述签名信息以及所述可执行模块进行封装,发布封装后的数据包,以使目标端至少基于所述可执行模块哈希表、所述签名信息以及所述可执行模块对数据包进行审核并通过后,加载所述数据包中的所述可执行模块。
  16. 一种目标终端,包括:
    第二处理器,配置为基于数据包中的可执行模块哈希表、可执行模块以及签名信息,对所述数据包进行审核;所述签名信息,包括:至少对所述可执行模块哈希表进行签名得到签名信息;
    当审核通过时,加载所述数据包中的所述可执行模块。
  17. 一种存储介质,所述存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行权利要求1-6任一项所述的可执行模块的提供方法,或者7-14任一项所述的可执行模块的加载方法。
PCT/CN2015/083043 2014-12-18 2015-07-01 一种可执行模块的提供、加载方法、终端、存储介质 WO2016095489A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410790412.XA CN105787352A (zh) 2014-12-18 2014-12-18 一种可执行模块的提供、加载方法及终端
CN201410790412.X 2014-12-18

Publications (1)

Publication Number Publication Date
WO2016095489A1 true WO2016095489A1 (zh) 2016-06-23

Family

ID=56125802

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/CN2015/083043 WO2016095489A1 (zh) 2014-12-18 2015-07-01 一种可执行模块的提供、加载方法、终端、存储介质
PCT/CN2015/088659 WO2016095566A1 (zh) 2014-12-18 2015-08-31 一种可执行模块的提供、加载方法及终端

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/088659 WO2016095566A1 (zh) 2014-12-18 2015-08-31 一种可执行模块的提供、加载方法及终端

Country Status (2)

Country Link
CN (1) CN105787352A (zh)
WO (2) WO2016095489A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107122663A (zh) * 2017-04-28 2017-09-01 成都梆梆信息科技有限公司 一种注入攻击检测方法及装置
EP3499364A4 (en) * 2017-02-22 2019-12-04 Baidu Online Network Technology (Beijing) Co., Ltd. METHOD AND DEVICE FOR CHARGING A CORE MODULE

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107786504B (zh) * 2016-08-26 2020-09-04 腾讯科技(深圳)有限公司 Elf文件发布方法、elf文件校验方法、服务器及终端
CN107480056B (zh) * 2017-07-31 2023-04-07 北京云测信息技术有限公司 一种软件测试方法和装置
CN110389786B (zh) * 2018-04-20 2022-10-14 伊姆西Ip控股有限责任公司 内核管理方法、电子设备和计算机可读存储介质
CN113849859A (zh) * 2020-06-28 2021-12-28 中兴通讯股份有限公司 Linux内核的修改方法、终端设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1480837A (zh) * 2002-06-27 2004-03-10 以完全无影响方式安装软件应用程序的系统和方法
CN102024120A (zh) * 2009-09-18 2011-04-20 无锡安腾软件开发有限公司 使用数字签名检测软件是否经过篡改
US8312545B2 (en) * 2006-04-06 2012-11-13 Juniper Networks, Inc. Non-signature malware detection system and method for mobile platforms
CN102812473A (zh) * 2010-02-11 2012-12-05 惠普发展公司,有限责任合伙企业 基于可执行程序身份的文件访问

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8239686B1 (en) * 2006-04-27 2012-08-07 Vudu, Inc. Method and system for protecting against the execution of unauthorized software
JP5346025B2 (ja) * 2007-09-11 2013-11-20 エルジー エレクトロニクス インコーポレイティド 保安署名方法、保安認証方法及びiptvシステム
EP4191453A1 (en) * 2009-10-09 2023-06-07 Nokia Technologies Oy Platform security
CN102855274B (zh) * 2012-07-17 2015-12-09 北京奇虎科技有限公司 一种可疑进程检测的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1480837A (zh) * 2002-06-27 2004-03-10 以完全无影响方式安装软件应用程序的系统和方法
US8312545B2 (en) * 2006-04-06 2012-11-13 Juniper Networks, Inc. Non-signature malware detection system and method for mobile platforms
CN102024120A (zh) * 2009-09-18 2011-04-20 无锡安腾软件开发有限公司 使用数字签名检测软件是否经过篡改
CN102812473A (zh) * 2010-02-11 2012-12-05 惠普发展公司,有限责任合伙企业 基于可执行程序身份的文件访问

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3499364A4 (en) * 2017-02-22 2019-12-04 Baidu Online Network Technology (Beijing) Co., Ltd. METHOD AND DEVICE FOR CHARGING A CORE MODULE
US11237844B2 (en) 2017-02-22 2022-02-01 Baidu Online Network Technology (Beijing) Co., Ltd. Method and apparatus for loading kernel module
CN107122663A (zh) * 2017-04-28 2017-09-01 成都梆梆信息科技有限公司 一种注入攻击检测方法及装置
CN107122663B (zh) * 2017-04-28 2021-04-02 北京梆梆安全科技有限公司 一种注入攻击检测方法及装置

Also Published As

Publication number Publication date
CN105787352A (zh) 2016-07-20
WO2016095566A1 (zh) 2016-06-23

Similar Documents

Publication Publication Date Title
WO2016095489A1 (zh) 一种可执行模块的提供、加载方法、终端、存储介质
TWI709056B (zh) 韌體升級方法及裝置
US11204999B1 (en) Method and apparatus of performing data executable integrity verification
US20170134162A1 (en) System and process for verifying digital media content authenticity
JP6073320B2 (ja) デジタル署名するオーソリティ依存のプラットフォームシークレット
US8522003B2 (en) Software loading method and apparatus to a computing platform
WO2022160733A1 (zh) 一种文件签名方法、计算设备及存储介质
CN107301343B (zh) 安全数据处理方法、装置及电子设备
WO2018076648A1 (zh) 一种芯片的安全启动方法及装置、计算机存储介质
US11010494B2 (en) Preemption of a container in a secure computation environment
US20130067180A1 (en) Retaining verifiability of extracted data from signed archives
US20210058249A1 (en) Hardware security module for verifying executable code, device having hardware security module, and method of operating device
US20170286665A1 (en) Devices and methods for facilitating software signing by more than one signing authority
US9344439B2 (en) Executing unprotected mode services in a protected mode environment
TWI605357B (zh) 電腦系統以及電腦系統操作方法
US8756433B2 (en) Associating policy with unencrypted digital content
WO2020057389A1 (zh) 一种签名验证方法、装置、电子设备及可读存储介质
WO2021092809A1 (zh) 函数调用方法、装置、电子设备及计算机可读介质
US20220245286A1 (en) Method for protecting device software integrity in continuity scenario
CN107391970B (zh) Flash应用程序中的函数访问控制方法及装置
WO2020062233A1 (zh) 应用程序处理和部署的方法、装置及计算机可读介质
KR101973578B1 (ko) 어플리케이션의 무결성 검증 방법 및 장치
US10459722B2 (en) Device, system, and method for secure supervisor system calls
KR20220124940A (ko) 허위 기지국 대응을 위한 전자서명 기반의 SIB(System Information Block) 메시지 송/수신 방법 및 장치
CN114417320A (zh) 一种系统启动方法和装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15869001

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15869001

Country of ref document: EP

Kind code of ref document: A1