- C和C++安全編碼(原書第2版)
- (美)Robert C.Seacord
- 538字
- 2020-10-30 17:56:34
1.2.4 漏洞利用
軟件中的漏洞是可以利用(exploitation)的。利用的形式多種多樣,包括蠕蟲、病毒和木馬等。
利用(exploit)
指借助軟件漏洞來(lái)違反一個(gè)顯式或隱式的安全策略的軟件或技術(shù)。
漏洞利用代碼的存在讓安全分析人員感到不安。因此,需要根據(jù)利用代碼的目的對(duì)其進(jìn)行有效的區(qū)分。例如,驗(yàn)證性(proof-of-concept)的漏洞利用代碼是為了驗(yàn)證某漏洞確實(shí)存在而開發(fā)的。驗(yàn)證性的漏洞利用代碼是必要的,因?yàn)橛袝r(shí)軟件產(chǎn)商會(huì)因怕造成不好的影響或者不愿意負(fù)擔(dān)提供補(bǔ)丁程序所帶來(lái)的經(jīng)濟(jì)開銷,而不愿承認(rèn)軟件漏洞的存在。此外,有時(shí)漏洞很復(fù)雜,需要有驗(yàn)證性的利用代碼向廠商證實(shí)該漏洞確實(shí)存在。
如果適當(dāng)?shù)丶右怨芾恚?yàn)證性的漏洞利用代碼就是有益的。然而,我們也很容易發(fā)現(xiàn),一旦那些代碼被心懷不軌的人所利用,它們將會(huì)迅速地變成蠕蟲、病毒或者攻擊者手中其他的兇器。
雖然安全研究者喜歡區(qū)分不同類型的漏洞利用,可實(shí)際上,所有的利用代碼都只不過(guò)是經(jīng)過(guò)編碼了的知識(shí),而知識(shí)就是力量。理解程序如何被利用是一個(gè)頗有價(jià)值的手段,它可以幫助程序員開發(fā)安全的軟件。然而,針對(duì)已知漏洞而傳播的相應(yīng)的利用代碼會(huì)危害每個(gè)人的利益。因此在寫作本書的過(guò)程中,我們決定僅針對(duì)例子程序展示例子代碼。雖然僅有的這些信息已經(jīng)可以用于各種目的,但是要想創(chuàng)建實(shí)際的利用代碼,仍然需要大量的知識(shí)和經(jīng)驗(yàn)。
- PHP動(dòng)態(tài)網(wǎng)站程序設(shè)計(jì)
- Learning Real-time Processing with Spark Streaming
- 簡(jiǎn)單高效LATEX
- Flash CS6中文版應(yīng)用教程(第三版)
- C語(yǔ)言實(shí)驗(yàn)指導(dǎo)及習(xí)題解析
- Drupal 8 Configuration Management
- Mastering Apache Maven 3
- Building Serverless Applications with Python
- Learning OpenStack Networking(Neutron)(Second Edition)
- 執(zhí)劍而舞:用代碼創(chuàng)作藝術(shù)
- C專家編程
- Domain-Driven Design in PHP
- 零基礎(chǔ)學(xué)HTML+CSS
- SignalR:Real-time Application Development(Second Edition)
- Exploring SE for Android