我们通常期望计算机可以按照我们的指示去执行任务,在现实生活中,我们通过使用软件来完成这些期望。目前计算机及其软件都变得非常的复杂,从我们点击鼠标到看到期望的结果这一过程中,可能经过了多层软件。为了充分利用计算机平台的能力,我们通常要依赖于这些软件层自身执行的正确性。
对于这些软件层来说,每一层都可能出现问题,软件运行的结果并不是作者所需要的,或者至少不是计算机操作者需要的。这些漏洞为我们的系统引入了一定的不确定因素,随之而来的是重大的安全漏洞。这些漏洞有些比较简单,比如软件或系统崩溃(可用于拒绝服务攻击),或者缓冲区溢出(攻击者可以以此来替换应用程序的代码,从而执行任意的命令)。
本书本着小巧、易读、实用的原则,涵盖了目前流行的编程语言和运行平台,覆盖了最为常见的与软件安全相关的19个致命漏洞。该书采用理论和实践相结合的方式,对于每个漏洞都给出了详细的描述、产生的原理、查找的方法、弥补的措施等内容,同时,对于每个漏洞,作者还精选了系统中实际出现的例子加以说明,使其更直观,令读者印象更为深刻。另外,在弥补措施中,作者结合多种不同的语言给出具体的代码弥补方案,从而更增强了实用性。
展开