我們通常期望計算機可以按照我們的指示去執(zhí)行任務,在現實生活中,我們通過使用軟件來完成這些期望。目前計算機及其軟件都變得非常的復雜,從我們點擊鼠標到看到期望的結果這一過程中,可能經過了多層軟件。為了充分利用計算機平臺的能力,我們通常要依賴于這些軟件層自身執(zhí)行的正確性。對于這些軟件層來說,每一層都可能出現問題,軟件運行的結果并不是作者所需要的,或者至少不是計算機操作者需要的。這些漏洞為我們的系統(tǒng)引入了一定的不確定因素,隨之而來的是重大的安全漏洞。這些漏洞有些比較簡單,比如軟件或系統(tǒng)崩潰(可用于拒絕服務攻擊),或者緩沖區(qū)溢出(攻擊者可以以此來替換應用程序的代碼,從而執(zhí)行任意的命令)。本書本著小巧、易讀、實用的原則,涵蓋了目前流行的編程語言和運行平臺,覆蓋了最為常見的與軟件安全相關的19個致命漏洞。該書采用理論和實踐相結合的方式,對于每個漏洞都給出了詳細的描述、產生的原理、查找的方法、彌補的措施等內容,同時,對于每個漏洞,作者還精選了系統(tǒng)中實際出現的例子加以說明,使其更直觀,令讀者印象更為深刻。另外,在彌補措施中,作者結合多種不同的語言給出具體的代碼彌補方案,從而更增強了實用性。