|
![]() | 作者: yimarong [yimarong]
![]() |
登录 |
很多问题都是NP的,比如安全分析中最核心的数据流分析问题,如果数据流分析问题解决了, 很多问题就迎刃而解。但我们知道过去几十年里很多计算理论的工作者都在努力探索着P与NP 之间的关系--P=NP?,目前P不等于NP的观念占了上风。如果真有一天P=NP的问题解决了,呵呵, 绝对是个大地震!因为我们知道许多密码体制就是建立在NPC问题难解之上的,比如0-1背包 问题,哈密顿回路,大素数分解困难。 当然最好是能做到完全数据流分析,但以目前的计算能力是做不到的。但较要有效的分析程序, 找到其中的漏洞,不需要完全的数据流分析,做相应简化,并结合实际,还是可以做到多项 式时间内的算法的。 1、虚拟机 虚拟机优缺点 效率低,虽然还和你的分析算法有关 可以精确的分析每条指令 可以跟踪多个内存断点,甚至可以只跟踪你所关心的函数内的断点,比用softice舒服,呵呵 不可移植,不同系统要重新开发 我们还将在这里面加入我在上次安焦峰会上提出的虚拟栈技术等等。。。。借助虚拟机实现会 更方便,原来是做在自己开发的调试器里。 2、中间汇编语言 为了更方便的分析指令,也为后面静态分析构建一些图之类的 中间汇编语言的优缺点 效率高 进一步分析提供基础 非动态跟踪 可能会出错 可以使用多于实际的寄存器数,跟踪多个内存断点等, 支持各种cpu,各种汇编,可移植,可扩展 3、数据流分析 目前好像都开始做双向数据流分析了,最早都没有做流敏感的分析,现在看到逐渐开始做这个了。 国外有产品,能向上回溯64个step,但挺盲目的,但如果你结合前面的中间汇编语言,做相应的处理, 可以使得trace back更有效。 数据流分析还要注意几个方面的问题: 过程之间关联分析--因为很多bug都是由于多个函数造成的。 上下文敏感--需要了解什么时候被调用,怎么激发? 内存别名的分析,结合后面的结构重构,对象重构技术 有很多人做了启发式算法,看上去还是效果很不错 4、针对优化问题 编译器现在总有些奇怪的优化,也没有必要去关心所有的优化,最重要的还是MS对于strcpy,memcpy 的优化问题,可以看到最后转化为循环写内存的操作。 如何检测循环,可以用图论的知识,采用树,同构图等方法。 那就要分析什么样的写操作有意义?这个工作已经做了很多了。。。这里就不废话了。。有人喜欢用中间汇编语言来分析, 当然用ida也是可以做这个自动化工作,关键是思想! 还有人提出函数签名来做,但不太现实,原因大家都应该很明白,函数签名还有其他用途,MS做的优化还有很多,包括编译后顺序重 排的问题,很可能会给后面提到的函数签名带来一定的麻烦。我原来提出过strcpy特征问题,模式匹配靠不住啊!因为如果 编译选项改改就会有点问题,不同编译器还不一样!:( 5、结构重构,类的重构 objrec大家都知道吧,但做的还不够好。。。期待大家做更好的东西出来 6、函数签名 ida的flirt大家应该很清楚吧。除了该用途,该技术还可以用于补丁分析,可以省很多力气:) 7、解析类漏洞 包括文件路径的解析,字符的过滤,处理,unc名字处理等,都和这个有关,这个方面的漏洞不少,向ms03-020,unicode, linux sendmmail的本地溢出。。。。采用自动机理论来做,漏洞比较容易发现,而且可以做相应的可用性判断。而且从理论上 可以做相应的证明。一般的漏洞都很难做可用性判断,这个可以做到...而漏洞的可用性判断也是一个难题 8、最大状态空间覆盖问题 这个我个人认为还是要结合数据流分析来做,加上污点传播技术。理论上不可能覆盖所有状态,但我们也并不关心所有状态,对吧? |
地主 发表时间: 04-04-03 11:46 |
![]() | 回复: snowred [snowred] ![]() |
登录 |
顶一下 未来的斑竹!!! ![]() |
B1层 发表时间: 04-04-03 18:31 |
![]() | 回复: lhh2003 [lhh2003] ![]() |
登录 |
![]() |
B2层 发表时间: 04-04-03 19:23 |
![]() | 回复: ghame [ghame] ![]() |
登录 |
看得云里雾里,不知道是什么意思啊. 请问楼主可否说详细一点?列出来的这8种技术是怎样结合在一起的? 比如说:中间汇编语言技术是否是用在虚拟机里面的? |
B3层 发表时间: 04-04-03 20:01 |
![]() | 回复: lqfrla [lqfrla] ![]() |
登录 |
一层的拉关系啊 |
B4层 发表时间: 04-04-04 01:09 |
![]() | 回复: jiaoyulao [jiaoyulao] ![]() |
登录 |
好啊~~~我只看了10来个字,其他字没学过~~哈哈!~~ |
B5层 发表时间: 04-04-04 18:55 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号