《華章程序員書庫:C和C++安全編碼(原書第2版)》是C/C++安全編碼領(lǐng)域的著作,被視為“標準”參考書,由國際資深軟件安全專家撰寫,美國CERT主管親自作序推薦。本書結(jié)合國際標準C11和C++11,以及C和C++語言的新發(fā)展,既詳細闡述了C/C++語言及其相關(guān)庫固有的安全問題和陷阱,系統(tǒng)總結(jié)了導(dǎo)致軟件漏洞的各種常見編碼錯誤,并給出了應(yīng)對錯誤的解決方案;又對C/C++軟件中常見漏洞的危害、被利用方式、檢測方法和應(yīng)對之道進行了全方位講解,包含大量編碼練習(xí),實踐性強。
《華章程序員書庫:C和C++安全編碼(原書第2版)》從C和C++語言的各個部分分別介紹了可能導(dǎo)致安全問題的軟件漏洞:第1章介紹安全術(shù)語和概念,并指出為何C和C++程序中存在如此多的漏洞。第2章描述C和C++中的字符串操作、常見的安全缺陷以及由此導(dǎo)致的漏洞。第3章介紹任意內(nèi)存寫漏洞利用方式,它允許攻擊者對內(nèi)存中任意位置的一個地址進行寫操作。第4章描述動態(tài)內(nèi)存管理,討論了動態(tài)分配的緩沖區(qū)溢出、寫入已釋放內(nèi)存,以及重復(fù)釋放漏洞。第5章討論整數(shù)安全問題(即與整數(shù)操作相關(guān)的安全議題),包括整數(shù)溢出、符號錯誤以及截斷錯誤等。第6章描述格式化輸出函數(shù)的正確和錯誤的用法,對因這些函數(shù)的錯誤使用所導(dǎo)致的格式字符串和緩沖區(qū)溢出漏洞都有討論。第7章重點介紹并發(fā)和可能導(dǎo)致死鎖、競爭條件和無效的內(nèi)存訪問序列的漏洞。第8章描述和文件I/O相關(guān)的常見漏洞,包括競爭條件和檢查時間與使用時間漏洞。第9章推薦一些可以整體改善C/C++應(yīng)用程序安全性的具體開發(fā)實踐,這些建議是對每一章中用于解決特定漏洞問題的推薦做法的補充。