- C和C++安全編碼(原書第2版)
- (美)Robert C.Seacord
- 8字
- 2020-10-30 17:56:45
2.6 運行時保護策略
2.6.1 檢測和恢復
檢測和恢復的緩解策略通常要求對運行時環境做出一定的改變,以便可以在緩沖區溢出發生時對其進行檢測,以便應用程序或操作系統可以從錯誤中恢復(或者至少“安全地”失效)。由于在發生緩沖區溢出后攻擊者有很多種方式控制程序的執行,因此和預防性策略相比,檢測和恢復的策略并不算有效,而且也不應該作為系統唯一可依賴的緩解策略。然而,在最外層的防線被攻擊突破的情況下,檢測和恢復的策略通常能夠形成第二道防線。存在這樣一種危險,即程序員可能相信他們通過使用一個不完整的檢測和恢復策略已經解決了這個問題,從而使他們對脆弱的軟件存在錯誤的信心。為了避免這種偏見,應采用這種策略,然后忘記它。
緩沖區溢出的緩解策略,可以根據整個系統提供的緩解機制的組件進行分類:
·開發人員通過輸入驗證
·編譯器及其相關的運行時系統
·操作系統
推薦閱讀