查看: 1865|回复: 5
收起左侧

软件的完整性保护问题

 关闭 [复制链接]
solstice1988
发表于 2009-2-4 13:27:57 | 显示全部楼层 |阅读模式
本帖最后由 107 于 2010-12-23 19:56 编辑

软件的完整性保护问题不仅是个老话题,也是当前的一个重要而未解决的问题. “重要而未解决”这一断言是以目前计算机网络病毒,恶意代码,流氓软件,木马程序肆虐横行的现实情况来佐证的. 的确,许多这一类的攻击手段都利用到了目前缺乏有效手段对软件提供完整性保护这一薄弱环节,使攻击者得以将一个本来语义或行为基本上正确或至少是非恶意的软件的代码部分篡改成错误的甚至是恶意的版本. 对于一般的用户级软件,完整性保护至少有两个方面需要防范:即,软件在内存中及在外存中都需要保护. 前一种情况是指一个软件的代码(包括有些数据)已经被加载入计算平台的内存中后,在执行的时候平台对内存内容实行完整性保护. 在这一情况下,软件完整性的定义是一个比较复杂的问题(例如需要区分软件代码的合法自身修改与被非法篡改,另外在内存中一个软件可以有动态联结部分). 所以目前在内存中对软件的完整性保护手段很有限. 我们在道里项目中也(暂时)回避了对用户级软件在内存中作完整性保护. 对于后一种情况,由于软件在外存(如磁盘)中的完整性定义要比在内存中的情况简单的多.就是指一般意义上的数据完整性,手段不外乎使用更改检测码(modification detection code, MDC, 可以用哈希函数来实现),所以保护手段就相对比较成熟. 目前在研究与实践中很热门的"可信计算"(Trusted Computing)方法就是将一个软件代码的MDC哈希值存入计算平台上的一个密码芯片中保护起来. 可以采用硬件虚拟化技术来实现用户程序之间,包括用户程序对操作系统的安全隔离.其原理是使用虚拟机监控器(Virtual Machine Monitor, VMM)来截获用户程序为请求使用物理内存时所发出的中断,从而能够为用户程序提供妥善的内存管理服务.由于VMM对中断的截获具有不可被旁路的性质,所以这样的内存管理具有强制性.也许我们会这样想:这种具有强制性的内存管理服务是否可被利用到对用户级软件在内存中进行完整性保护呢?这的确是一个很值得研究的课题. 可是我们要注意到VMM本身也是以软件的形式存在于一个计算平台的外存上,并服务于平台之内存中的. 那么该软件自身的完整性,或者说它所具有的强制性内存管理这一语义行为的正确与否又是怎样得到保护的呢? 至于该软件被加载入内存中之后的代码完整性,我想如下的观察应该是比较合理的:VMM是系统程序栈中特权级别最高的一个软件,一旦被加载入内存中跑起来之后便开始执行强制性内存管理,所以一个攻击软件在VMM的监控之下很难对VMM所使用的内存区域进行任何形式的访问.另外值得一提的是VMM的执行代码部分可以做成一个静态程序. 所以说VMM在计算平台内存中的完整性保护问题倒反而是一个简化了的问题. 这似乎是一个好消息,一个硬件虚拟化技术给软件完整性问题带来的好消息.
fdjtsh
发表于 2009-2-5 20:46:48 | 显示全部楼层
太深奥了,理解不了。
godsad
发表于 2009-2-6 18:10:27 | 显示全部楼层
太长,而且格式看着很费力
记忆の间断
发表于 2009-4-8 02:46:53 | 显示全部楼层
在恶意代码一书里有详细介绍  看的我头晕   赫赫  不过真的很有趣味  
shiwm1988
发表于 2009-4-8 08:40:15 | 显示全部楼层
受教了……!
moodykeke
发表于 2009-4-8 10:15:12 | 显示全部楼层
居然整体一段。看的眼冒金光。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-3-11 03:37 , Processed in 0.114673 second(s), 16 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表