首页> 中国专利> 基于Unix系统调用重定向的机制构建Unix可信平台的方法

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

摘要

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

著录项

  • 公开/公告号CN102375956A

    专利类型发明专利

  • 公开/公告日2012-03-14

    原文格式PDF

  • 申请/专利权人 北京市国路安信息技术有限公司;

    申请/专利号CN201010257408.9

  • 发明设计人 孙绍钢;李晓勇;

    申请日2010-08-19

  • 分类号G06F21/22(20060101);

  • 代理机构

  • 代理人

  • 地址 100089 北京市海淀区紫竹桥广源大厦二层

  • 入库时间 2023-12-18 04:38:40

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-07-29

    未缴年费专利权终止 IPC(主分类):G06F21/57 专利号:ZL2010102574089 申请日:20100819 授权公告日:20160525

    专利权的终止

  • 2017-07-21

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F21/57 变更前: 变更后: 申请日:20100819

    专利权人的姓名或者名称、地址的变更

  • 2016-05-25

    授权

    授权

  • 2012-11-14

    实质审查的生效 IPC(主分类):G06F21/22 申请日:20100819

    实质审查的生效

  • 2012-03-14

    公开

    公开

说明书

技术领域

本发明涉及一种在Unix系统下使用系统调用重定向机制,构建Unix可信 平台的方法,属于信息安全领域。

背景技术

根据TCG可信传递的概念,在计算平台的运行控制传递过程中,构建一个 可信根,由可信根确定其下一级功能的执行代码的可信度,如果可信,系统将 运行控制传递到下一级可信执行代码,系统的可信范围因此就从可信根扩大到 下一级功能,同样,第二级功能如果确定第三级功能可信,可信范围就扩大到 第三级功能,这个过程不断重复。通过可信传递,可以实现系统可信范围的延 伸。TCG的信任链以BIOS Boot Block和TPM芯片为可信根,经过BlOS-OS loader-OS-Application,信任链逐一传递,一级测量认证一级,一级信任一级, 以确保整个平台的系统资源的完整性,构建可信平台。

从系统加电开始到BIOS,再从BIOS到MBR、OS LOADER、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平台。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号