- C和C++安全編碼(原書第2版)
- (美)Robert C.Seacord
- 353字
- 2020-10-30 17:56:45
2.6 運(yùn)行時(shí)保護(hù)策略
2.6.1 檢測(cè)和恢復(fù)
檢測(cè)和恢復(fù)的緩解策略通常要求對(duì)運(yùn)行時(shí)環(huán)境做出一定的改變,以便可以在緩沖區(qū)溢出發(fā)生時(shí)對(duì)其進(jìn)行檢測(cè),以便應(yīng)用程序或操作系統(tǒng)可以從錯(cuò)誤中恢復(fù)(或者至少“安全地”失效)。由于在發(fā)生緩沖區(qū)溢出后攻擊者有很多種方式控制程序的執(zhí)行,因此和預(yù)防性策略相比,檢測(cè)和恢復(fù)的策略并不算有效,而且也不應(yīng)該作為系統(tǒng)唯一可依賴的緩解策略。然而,在最外層的防線被攻擊突破的情況下,檢測(cè)和恢復(fù)的策略通常能夠形成第二道防線。存在這樣一種危險(xiǎn),即程序員可能相信他們通過使用一個(gè)不完整的檢測(cè)和恢復(fù)策略已經(jīng)解決了這個(gè)問題,從而使他們對(duì)脆弱的軟件存在錯(cuò)誤的信心。為了避免這種偏見,應(yīng)采用這種策略,然后忘記它。
緩沖區(qū)溢出的緩解策略,可以根據(jù)整個(gè)系統(tǒng)提供的緩解機(jī)制的組件進(jìn)行分類:
·開發(fā)人員通過輸入驗(yàn)證
·編譯器及其相關(guān)的運(yùn)行時(shí)系統(tǒng)
·操作系統(tǒng)
推薦閱讀
- HornetQ Messaging Developer’s Guide
- Implementing Modern DevOps
- 編程珠璣(續(xù))
- SEO智慧
- The Data Visualization Workshop
- 編譯系統(tǒng)透視:圖解編譯原理
- The HTML and CSS Workshop
- Getting Started with Gulp
- Learning Probabilistic Graphical Models in R
- Learning Kotlin by building Android Applications
- Instant GLEW
- TypeScript全棧開發(fā)
- Android技術(shù)內(nèi)幕(系統(tǒng)卷)
- Raspberry Pi開發(fā)實(shí)戰(zhàn)
- ServiceDesk Plus 8.x Essentials