
上QQ阅读APP看书,第一时间看更新
1.2.4 漏洞利用
软件中的漏洞是可以利用(exploitation)的。利用的形式多种多样,包括蠕虫、病毒和木马等。
利用(exploit)
指借助软件漏洞来违反一个显式或隐式的安全策略的软件或技术。
漏洞利用代码的存在让安全分析人员感到不安。因此,需要根据利用代码的目的对其进行有效的区分。例如,验证性(proof-of-concept)的漏洞利用代码是为了验证某漏洞确实存在而开发的。验证性的漏洞利用代码是必要的,因为有时软件产商会因怕造成不好的影响或者不愿意负担提供补丁程序所带来的经济开销,而不愿承认软件漏洞的存在。此外,有时漏洞很复杂,需要有验证性的利用代码向厂商证实该漏洞确实存在。
如果适当地加以管理,验证性的漏洞利用代码就是有益的。然而,我们也很容易发现,一旦那些代码被心怀不轨的人所利用,它们将会迅速地变成蠕虫、病毒或者攻击者手中其他的凶器。
虽然安全研究者喜欢区分不同类型的漏洞利用,可实际上,所有的利用代码都只不过是经过编码了的知识,而知识就是力量。理解程序如何被利用是一个颇有价值的手段,它可以帮助程序员开发安全的软件。然而,针对已知漏洞而传播的相应的利用代码会危害每个人的利益。因此在写作本书的过程中,我们决定仅针对例子程序展示例子代码。虽然仅有的这些信息已经可以用于各种目的,但是要想创建实际的利用代码,仍然需要大量的知识和经验。