缓冲区溢出攻击——检测、剖析与预防

作者(美)福斯特等著,蔡勉译
出版社
出版时间2006-12-01

特色:
对于缓冲区溢出,有三件事令我印象深刻:**次成功地在Linux的imapd上利用一个缓冲区溢出;**次在本地的Linux中独立发现和利用了缓冲区溢出;**次通过编写缓冲区溢出成功进入别人的主机。  在读过Aleph1的关于缓冲区溢出的重要论文“Buffer overflows for fun and profit”后,大多数人想到的主要是由此带来的好处。因为精通编写缓冲区溢出程序的人在该行业任何一家大公司中做咨询师的年薪都可以达到9~12万美元。  但另一方面,许多人对获得这种技能有一个很大的误区,认为学会这种技能,就可以一劳永逸了。确实,在IT领域许多诀窍是可以学会的,一旦了解了这些诀窍,也就拥有这些诀窍了。但是编写缓冲区溢出程序却并不如此,从书本中或者速成班中可以学会基础知识,但是编程的环境总是在变化。一方面,黑客在不停地寻找新的方法来更好的利用漏洞,寻找发现新的漏洞方法;另一方面,微软公司每天都在给它的代码增加保护,如果3个月不写缓冲区溢出代码,原有的技巧也就过时了。编写缓冲区溢出中*难的就是要地根据不断变化的环境给出新对策。  用于编写溢出程序的工具也在不断变化着,以前编写溢出程序只需要一份Softice或GDB的拷贝,就可以由某个人单独完成。但是今天,即使是一个简单的缓冲区溢出,Immunity公司也会有相当大的投入。例如,需要有专门的调试器来查询、脚本化正在运行的程序;专门的编译器来创建和调整克服弱点所需求的shellcode;购买或产生用于专门解决各种不同问题的反向工程工具;用Python语言编写的完整的mySQL和SSL库。一个相对复杂的漏洞利用需要整个工作小组协调完成。

对一些恶名昭彰的Internet攻击(如SQLSlammer和Blaster蠕虫)的取证调查,显示了缓冲区溢区是高明的黑客进行攻击时选择的弱点。这些蠕虫会使Internet速度减慢甚至瘫痪,并且需要花费数十亿美元清除它们。目前,威力更强的、更阴险的威胁已经以“Customexploits”的形式出现,即每一次攻击的exploit都是不同的,从而使exploit更难以发现和防范。这样既不容易记住其名称,也没有相关的媒体报道,但却会带来严重的灾难。本书清楚地说明,防范无穷无尽的缓冲区溢出攻击变种的唯一方法是对所有的应用程序进行完善的设计、编码和测试。这本书是目前用于检测、剖析和防止缓冲区溢出攻击的唯一的专业书籍。

推荐

车牌查询
桂ICP备20004708号-3