CN102375956B - 基于Unix系统调用重定向的机制构建Unix可信平台的方法 - Google Patents

基于Unix系统调用重定向的机制构建Unix可信平台的方法 Download PDF

Info

Publication number
CN102375956B
CN102375956B CN201010257408.9A CN201010257408A CN102375956B CN 102375956 B CN102375956 B CN 102375956B CN 201010257408 A CN201010257408 A CN 201010257408A CN 102375956 B CN102375956 B CN 102375956B
Authority
CN
China
Prior art keywords
module
unix
credible
signature
kernel
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.)
Expired - Fee Related
Application number
CN201010257408.9A
Other languages
English (en)
Other versions
CN102375956A (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.)
Tibet Guoluan Technology Co ltd
Original Assignee
BEIJING GUOLU'AN INFORMATION TECHNOLOGY Co Ltd
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 BEIJING GUOLU'AN INFORMATION TECHNOLOGY Co Ltd filed Critical BEIJING GUOLU'AN INFORMATION TECHNOLOGY Co Ltd
Priority to CN201010257408.9A priority Critical patent/CN102375956B/zh
Publication of CN102375956A publication Critical patent/CN102375956A/zh
Application granted granted Critical
Publication of CN102375956B publication Critical patent/CN102375956B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供基于Unix系统调用重定向的机制构建Unix可信平台的方法。该方法采用系统调用重定向机制,在系统内核层HOOK可执行代码装载和执行的系统调用,对可执行代码进行可信验证,杜绝不可信代码在平台的加载执行,保证整个系统执行环境的可信,最终构建一个可信的Unix平台。

Description

基于Unix系统调用重定向的机制构建Unix可信平台的方法
技术领域
本发明涉及一种在Unix系统下使用系统调用重定向机制,构建Unix可信平台的方法,属于信息安全领域。
背景技术
根据TCG可信传递的概念,在计算平台的运行控制传递过程中,构建一个可信根,由可信根确定其下一级功能的执行代码的可信度,如果可信,系统将运行控制传递到下一级可信执行代码,系统的可信范围因此就从可信根扩大到下一级功能,同样,第二级功能如果确定第三级功能可信,可信范围就扩大到第三级功能,这个过程不断重复。通过可信传递,可以实现系统可信范围的延伸。TCG的信任链以BIOSBootBlock和TPM芯片为可信根,经过BlOS-OSloader-OS-Application,信任链逐一传递,一级测量认证一级,一级信任一级,以确保整个平台的系统资源的完整性,构建可信平台。
从系统加电开始到BIOS,再从BIOS到MBR、OSLOADER、OS内核的可信传递已经有很多相关研究,本方法适用于在OS内核加载完毕后构建可信Unix平台的方法。
发明内容
本方法在OS内核加载完成后,使用系统调用重定向技术,拦截可执行代码的执行和加载,可执行代码的执行和加载必须通过验证模块的验证。验证模块根据可执行代码白名单验证所有系统服务和应用程序的完整性,构建一个可信的Unix平台。
本发明的目的是通过以下技术方案来实现:
基于Unix系统调用重定向的机制构建Unix可信平台的方法,利用Unix系统调用重定向技术拦截系统,修改内核可执行代码加载运行系统调用表地址,在系统调用中加入验证模块,当可执行代码加载执行时,由验证模块验证其是否可信。
对于系统服务内核模块,使用x509证书签名验签机制验证其是否可信,通过在内核模块增加新的签名段(section),内核模块的签名附加在模块本身,可以随模块迁移。只要用户信任其签名的证书,内核模块就可以加载,具有很好的迁移性。并且签名只关注模块代码段和数据段,验证更加准确、灵活。
对于一把应用程序和脚本,采用文件本身hash值做白名单。白名单能根据用户需求定制,并且提供专门的生成工具生成。
Unix内核加载以后,系统服务和应用程序可以分为两种类型,一为内核模块形式,另一种为普通应用程序和脚本。
对于内核模块形式,本方法采取x509证书签名作为可执行代码白名单,根据签名验证内核模块的可信。根据ELF文件的特点,本方法在内核模块的ELF格式中添加新的section(签名段),可信的内核模块的代码段和数据段经过有效私钥的签名,其签名值会添加在内核模块中新的签名段中。内核模块加载的时候,验证模块根据特定section中的签名对此内核模块的代码段和数据段进行验签,判定模块的可信与否。用户可以指定所信任的证书,也可以自己提供证书对模块进行签名。
对于普通的应用程序和脚本,可执行代码白名单为应用程序和脚本的hash值形式。由白名单的生成模块采集生成可信程序的初始hash值,供验证模块判定。
系统组成:
主要模块包括白名单生成模块、可执行代码验证模块和验证模块的装载模块。
白名单生成模块主要完成白名单的生成、添加和删除功能,为可执行代码验证模块提供验证依据(白名单)。装载模块主要完成在系统启动过程中加载验证模块。可执行代码验证模块主要完成拦截系统调用,验证系统调用中的执行代码。
该方法使用系统调用重定向机制,在系统内核层HOOK可执行代码装载和执行的系统调用,对可执行代码进行可信验证,杜绝不可信代码在平台的加载执行,保证整个系统执行环境的可信,最终构建一个可信的Unix平台。
附图说明
下面根据附图和实施例对本发明作进一步详细说明。
图1是本发明实施例所述的系统调用重定向的方法流程图。
图2是本发明实施例所述的内核模块加签示意图。
图3是本发明实施例所述的系统模块结构图。
具体实施方式
本发明所述的基于Unix系统调用重定向的机制构建Unix可信平台的方法,利用Unix系统调用重定向技术拦截系统,修改内核可执行代码加载运行系统调用表地址,在系统调用中加入验证模块,当可执行代码加载执行时,由验证模块验证其是否可信。
对于系统服务内核模块,使用x509证书签名验签机制验证其是否可信,通过在内核模块增加新的签名段(section),内核模块的签名附加在模块本身,可以随模块迁移。只要用户信任其签名的证书,内核模块就可以加载,具有很好的迁移性。并且签名只关注模块代码段和数据段,验证更加准确、灵活。
对于一把应用程序和脚本,采用文件本身hash值做白名单。白名单能根据用户需求定制,并且提供专门的生成工具生成。
如图1-2所示,Unix内核加载以后,系统服务和应用程序可以分为两种类型,一为内核模块形式,另一种为普通应用程序和脚本。
对于内核模块形式,本方法采取x509证书签名作为可执行代码白名单,根据签名验证内核模块的可信。根据ELF文件的特点,本方法在内核模块的ELF格式中添加新的section(签名段),可信的内核模块的代码段和数据段经过有效私钥的签名,其签名值会添加在内核模块中新的签名段中。内核模块加载的时候,验证模块根据特定section中的签名对此内核模块的代码段和数据段进行验签,判定模块的可信与否。用户可以指定所信任的证书,也可以自己提供证书对模块进行签名。
对于普通的应用程序和脚本,可执行代码白名单为应用程序和脚本的hash值形式。由白名单的生成模块采集生成可信程序的初始hash值,供验证模块判定。
如图3所示,系统组成:
主要模块包括白名单生成模块、可执行代码验证模块和验证模块的装载模块。
白名单生成模块主要完成白名单的生成、添加和删除功能,为可执行代码验证模块提供验证依据(白名单)。装载模块主要完成在系统启动过程中加载验证模块。可执行代码验证模块主要完成拦截系统调用,验证系统调用中的执行代码。
该方法使用系统调用重定向机制,在系统内核层HOOK可执行代码装载和执行的系统调用,对可执行代码进行可信验证,杜绝不可信代码在平台的加载执行,保证整个系统执行环境的可信,最终构建一个可信的Unix平台。

Claims (2)

1.一种基于Unix系统调用重定向的机制构建Unix可信平台的方法,使用系统调用重定向技术,拦截可执行代码的执行和加载,可执行代码的执行和加载必须通过验证模块的验证,验证模块根据可执行代码白名单验证所有系统服务和应用程序的完整性,构建一个可信的Unix平台;具体包括:
利用Unix系统调用重定向技术拦截系统,修改内核可执行代码加载运行系统调用表地址,在系统调用中加入验证模块,当可执行代码加载执行时,由验证模块验证其是否可信;Unix内核加载以后,系统服务和应用程序分为两种类型,一种为内核模块形式,另一种为普通应用程序和脚本;
对于系统服务内核模块形式,采取x509证书签名作为可执行代码白名单,根据签名验证内核模块的可信;根据ELF文件的特点,在内核模块的ELF格式中增加新的签名段,可信的内核模块的代码段和数据段经过有效私钥的签名,其签名值会添加在内核模块中新的签名段中,内核模块的签名附加在模块本身,随模块迁移;内核模块加载的时候,验证模块根据所述新的签名段中的签名对此内核模块的代码段和数据段进行验签,判定模块的可信与否;
对于普通的应用程序和脚本,可执行代码白名单为应用程序和脚本的hash值形式;由白名单的生成模块采集生成可信程序的初始hash值,供验证模块判定;
该方法使用系统调用重定向机制,在系统内核层HOOK可执行代码装载和执行的系统调用,对可执行代码进行可信验证,杜绝不可信代码在平台的加载执行,保证整个系统执行环境的可信,最终构建一个可信的Unix平台。
2.根据权利要求1所述方法,其特征在于:白名单能根据用户需求定制。
CN201010257408.9A 2010-08-19 2010-08-19 基于Unix系统调用重定向的机制构建Unix可信平台的方法 Expired - Fee Related CN102375956B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010257408.9A CN102375956B (zh) 2010-08-19 2010-08-19 基于Unix系统调用重定向的机制构建Unix可信平台的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010257408.9A CN102375956B (zh) 2010-08-19 2010-08-19 基于Unix系统调用重定向的机制构建Unix可信平台的方法

Publications (2)

Publication Number Publication Date
CN102375956A CN102375956A (zh) 2012-03-14
CN102375956B true CN102375956B (zh) 2016-05-25

Family

ID=45794547

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010257408.9A Expired - Fee Related CN102375956B (zh) 2010-08-19 2010-08-19 基于Unix系统调用重定向的机制构建Unix可信平台的方法

Country Status (1)

Country Link
CN (1) CN102375956B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663321B (zh) * 2012-04-24 2016-01-13 百度在线网络技术(北京)有限公司 用于软件的安全性增强系统及方法
CN102750471B (zh) * 2012-05-22 2015-02-11 中国科学院计算技术研究所 基于tpm 的本地验证式启动方法
CN104765612B (zh) * 2015-04-10 2018-05-08 武汉天喻信息产业股份有限公司 一种访问可信执行环境、可信应用的系统及方法
CN114818012B (zh) * 2022-06-29 2022-10-21 麒麟软件有限公司 基于白名单列表的Linux文件完整性度量方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1512355A (zh) * 2002-12-30 2004-07-14 成都三零盛安信息系统有限公司 一种elf文件格式的代码签名验证方法
CN1743992A (zh) * 2005-09-29 2006-03-08 浪潮电子信息产业股份有限公司 计算机操作系统安全防护方法
CN101246537A (zh) * 2008-03-28 2008-08-20 兰雨晴 一种基于可信多任务操作系统实现可信计算的方法
CN101271399A (zh) * 2008-05-07 2008-09-24 浙江大学 在嵌入式系统剪裁可重定位的elf文件的方法
CN101520831A (zh) * 2009-03-27 2009-09-02 深圳市永达电子有限公司 安全终端系统及终端安全方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1512355A (zh) * 2002-12-30 2004-07-14 成都三零盛安信息系统有限公司 一种elf文件格式的代码签名验证方法
CN1743992A (zh) * 2005-09-29 2006-03-08 浪潮电子信息产业股份有限公司 计算机操作系统安全防护方法
CN101246537A (zh) * 2008-03-28 2008-08-20 兰雨晴 一种基于可信多任务操作系统实现可信计算的方法
CN101271399A (zh) * 2008-05-07 2008-09-24 浙江大学 在嵌入式系统剪裁可重定位的elf文件的方法
CN101520831A (zh) * 2009-03-27 2009-09-02 深圳市永达电子有限公司 安全终端系统及终端安全方法

Also Published As

Publication number Publication date
CN102375956A (zh) 2012-03-14

Similar Documents

Publication Publication Date Title
Xu et al. Towards secure network computing services for lightweight clients using blockchain
US9626512B1 (en) Validating using an offload device security component
CN108399329B (zh) 一种提高可信应用程序安全的方法
CN103139221B (zh) 一种可信虚拟平台及其构建方法、平台之间数据迁移方法
US20180082083A1 (en) Technologies for secure boot provisioning and management of field-programmable gate array images
CN111264044B (zh) 芯片、生成私钥的方法和可信证明的方法
US10243739B1 (en) Validating using an offload device security component
CN101034991B (zh) 安全引导系统及方法、代码签名构造方法及认证方法
US10211985B1 (en) Validating using an offload device security component
CN105634743B (zh) 用于开放接口调用的认证方法
CN102244684B (zh) 基于usbkey的efi可信云链引导方法
CN104995629A (zh) 用于平台引导固件的信任继续
CN106326751B (zh) 一种可信道系统及其实现方法
CN105718807A (zh) 基于软tcm和可信软件栈的安卓系统及其可信认证系统与方法
US11196548B1 (en) Hypervisor protected key
CN105046138A (zh) 一种基于飞腾处理器的可信管理系统及方法
CN104408371A (zh) 一种基于可信执行环境高安全应用系统的实现方法
CN106250124A (zh) 功能模块跨平台运行的实现方法和装置
CN105447390A (zh) 一种基于数字证书系统的软件版本可信管理方法
WO2016109955A1 (zh) 一种软件校验方法和装置
CN102375956B (zh) 基于Unix系统调用重定向的机制构建Unix可信平台的方法
CN107704308A (zh) 虚拟平台vTPM管理系统、信任链构建方法及装置、存储介质
US20190166123A1 (en) User terminal using cloud service, integrated security management server for user terminal, and integrated security management method for user terminal
CN107480535A (zh) 一种两路服务器的可信硬件层设计方法及装置
CN106778249B (zh) 一种Java程序可信执行环境的构建方法及构建系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: Lhasa City Industrial Park, doilungdegen District A District of Tibet Autonomous Region Health Road 851400 room No. 01 301-2

Patentee after: Tibet Guoluan Technology Co.,Ltd.

Address before: 100089 Beijing Haidian District City Guangyuan Zizhuqiao two storey building

Patentee before: BEIJING GUOLU'AN INFORMATION TECHNOLOGY Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160525

Termination date: 20210819