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

技术编号:7239890 阅读:238 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供基于Unix系统调用重定向的机制构建Unix可信平台的方法。该方法采用系统调用重定向机制,在系统内核层HOOK可执行代码装载和执行的系统调用,对可执行代码进行可信验证,杜绝不可信代码在平台的加载执行,保证整个系统执行环境的可信,最终构建一个可信的Unix平台。

【技术实现步骤摘要】

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

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:孙绍钢李晓勇
申请(专利权)人:北京市国路安信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术