进入旧版 | 服务项目 | 成功案例 | 联系方式 | 过客留言 | 友情链接
   
设为首页
加入收藏
联系我们
网站首页 | 新闻资讯 | 操作系统 | 办公软件 | 网络软件 | 工具软件 | 媒体动画 | 网页制作 | 网站开发 | 程序开发 | 平面设计
Photoshop视频教程 | Word入门 | Flash入门 | JScript | VBScript | ASP | PHP | ADO | 网页特效 | 3DS MAX6.0命令 | 系统进程
您当前的位置:GOODSGY电脑学习网 -> 操作系统 -> Linux -> 文章内容  
Linux下一种ELF文件代码签名验证机制

 当入侵者在系统取得一定权限后,他们通常会在系统中植入恶意代码,并利用这些代码为日后的入侵提供方便。增加或修改 ELF 文件正是入侵者植入恶意代码的常用途径。本文将描述一种 Linux 下 ELF 文件的代码签名及验证机制的设计与实现,这种机制能有效防止基于 ELF 文件的恶意代码的入侵,并同时提供了灵活的分级验证机制,使系统在安全性与效率方面取得最佳平衡。 www.goodsgy.com

  1、引言 www.goodsgy.com

  随着 Linux 的不断发展,已有越来越多的人开始推广和使用 Linux,其安全性也受到越来越多的挑战。ELF(Executable and Linkable Format)[1] 作为 Linux 下最主要的可执行二进制文件格式,自然成了病毒及各种恶意代码的攻击目标。事实证明,有不少 Linux 下的病毒程序就是通过直接修改 ELF 文件的方法来实现入侵的 [10]。传统的 Unix 系统(包括 Linux)并不会对执行的代码进行完整性和合法性检测,因而让很多病毒程序以及木马程序有机可乘。 www.goodsgy.com

  代码签名验证是一种能够有效的防止病毒以及其他恶意代码入侵的方法。对于 Linux 下的代码签名验证机制,早几年就已经有人研究。文[2]提出了在安装时进行签名验证的方法,并通过修改 chmod 系统调用控制文件的可执行属性,但这种方法无法检测程序安装后对代码的任何修改,有一定的局限性。文 [3] [4] [5] 描述的都是在执行时进行签名验证的方法,其中 [4] [5] 采用了缓存已验证文件的策略,使效率较 [3] 有很大提高。但是,它们将所有 ELF 文件 "一视同仁",没有主次轻重之分,缺少灵活性。 www.goodsgy.com

  本文提出了一种改进的基于 ELF 文件格式的代码签名验证机制,通过提供更加灵活的分级验证方式,进一步提高验证效率,并且使系统在安全性与效率方面取得平衡。 www.goodsgy.com

  2、签名验证原理 www.goodsgy.com

  我们采用完全符合 PKCS [8] 系列标准的签名验证算法,并兼容所有符合 X509 格式的证书,以 RSA [6 ][7] 非对称密钥体制为基础来完成对 ELF 文件代码的签名验证。 www.goodsgy.com

  2.1 签名 www.goodsgy.com

  设被签名的数据为 m,其数字摘要为 h。 www.goodsgy.com

www.goodsgy.com

h = Hash(m)

  其中,Hash 是哈希单向散列算法,如 MD5、SHA-1 等。 www.goodsgy.com

  设 p,q,d 为签名者的私有数据,他们都包含在签名者的私钥 SK 中;n,e 为签名者的公开数据,并且都包含在签名者的公钥 PK 中。这些数据满足以下要求: www.goodsgy.com

  n = pq 其中 p ≠ q,p q 均为大素数;e,d∈RZn 并且 e = d-1,ed ≡ 1mod(n);这里,(n) = (p-1)(q-1)。那么,使用签名者私钥对 h进行加密即可得到签名值 s: www.goodsgy.com

www.goodsgy.com

s = E(x) = hdmod n

  2.2 验证 www.goodsgy.com

  设被验证数据为m′,其数字摘要为h′。 www.goodsgy.com

www.goodsgy.com

h′ = Hash(m′)

  假设我们已经取得签名者的真实公钥PK,然后我们使用PK中的公开数据e对s进行解密计算,得到还原的数字摘要h′′,这里h′′就相当于是○1式中的h。 www.goodsgy.com

www.goodsgy.com

h′′ = D(s) = se mod n

  现在,我们比较 h′和 h′′是否完全相同。如果相同则验证通过,否则验证失败。 www.goodsgy.com

www.goodsgy.com

[1] [2] [3] [4]  下一页

在百度中搜索:Linux下一种ELF文件代码签名验证机制
在Google中搜索:Linux下一种ELF文件代码签名验证机制
在Yahoo中搜索:Linux下一种ELF文件代码签名验证机制

收藏到网摘:新浪VIVI 365key 我摘 POCO网摘 博采中心 YouNote 和讯网摘 天天收藏
[] [返回上一页] [打 印] [收 藏]

 相关文章    最新文章
· 十大注意事项 让Linux启动更快速
· Linux软件安装指南
· [组图] 快速体验Linux的3种方式
· Linux下Tomcat自启动的设置技巧
· 装有双系统用户 如何卸载Linux
· [组图] 在Linux操作系统上创建ADSL拨号上网..
· 高效使用Linux的七个习惯
· [组图] 怎样让PPLive更加流畅的播放
· 为了Dreamweaver Adobe停止研发GoLive
· Novell:Linux消费市场开发仍需3-5年时间..
 
· 十大注意事项 让Linux启动更快速
· Linux软件安装指南
· [组图] 快速体验Linux的3种方式
· Linux下Tomcat自启动的设置技巧
· 装有双系统用户 如何卸载Linux
· [组图] 在Linux操作系统上创建ADSL拨号上网..
· 高效使用Linux的七个习惯
· 基础知识:什么是Fedora Linux
· Linux操作系统下的umask函数详解
· Ubuntu Linux 8.04操作系统4月24日发布

∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论…]
站内搜索

精彩图文
  网站导航  
操作系统 办公软件 网络软件
Vista Windows2003 WindowsXP Windows2000/NT Windows9X/ME Linux 其他 Word Excel Powerpoint Outlook 金山系列 其他 网页浏览 上传下载 联络聊天 邮件工具 服务器软件 网络辅助
工具软件 媒体动画 网页制作
系统工具 媒体工具 压缩工具 图文处理 文件管理 其他 3DMAX Authorware Director Maya 视频处理 其他 Flash Dreamweaver FireWorks FrontPage LiveMotion Golive HTML/CSS 其它
网站开发 平面设计 程序设计
ASP JSP PHP CGI JavaScript VBScript XML/SOAP Web服务器 Photoshop PhotoImpact CorelDraw Illustrator Freehand 设计欣赏 其他 VB VC .NET C/C++ DELPHI JAVA

冀ICP备05019428号
Copyright © 2004-2008 电脑学习网 Inc.All rights reserved.
TEL:13832340607
QQ:39873155
E_Mail:goodsgy(#)hotmail.com   (把(#)替换成@)
MSN:goodsgy(#)hotmail.com   (把(#)替换成@)