內容簡介
本書提供了在C程式語言中進行安全編碼的指導方針,描述了C語言程式中導致軟體潛在風險根源的編碼錯誤,並根據嚴重性、被利用的可能性以及修補成本設定了優先權。每個指導方針提供了不安全代碼的例子以及安全的替代方案。如果統一套用這些指導方針,可幫助消除導致緩衝區溢出、格式字元串潛在風險、整數溢出和常見的軟體潛在風險的關鍵編碼錯誤,從而創建更健壯的高質量軟體系統。
本書內容新穎,講解詳盡,可作為軟體開發技術人員的參考用書。
軟體安全性對於公司的運作和財富具有很大的影響,與個人的生活也息息相關。為了創建安全的軟體,開發人員必須知道什麼地方存在危險。C的安全編碼要比許多經驗豐富的程式設計師所想像的更為困難。
本書是一本重要的桌面參考手冊,記錄了《CERT C安全編碼標準》的第一次官方發布。這個標準逐項描述了C語言程式中導致軟體潛在風險根源的編碼錯誤,並根據嚴重性、被利用的可能性以及修補成本設定了優先權。每個指導方針提供了不安全代碼的例子以及安全的替代方案。如果統一套用這些指導方針,可以消除可能導致緩衝區溢出、格式字元串潛在風險、整數溢出和常見的軟體潛在風險的關鍵編碼錯誤。
ANSI C主席Randy Meyers這樣評價本書: “我是CERT安全編碼活動的熱情支持者。程式設計師可以找到關於正確性、清晰性、可維護性、性能等方面的很多建議,但對於特定的語言特性如何影響安全性方式的建議則明顯缺乏。本書填補了這個空白。”
作者簡介
塞克德(Robert C. Seacord),在位於賓夕法尼亞州匹茲堡市的軟體工程協會(SEI)的CERT小組倡導了安全編碼活動。他是《Secure Coding C and C++》(Addison-Wesley,2005)和另外兩本書的作者。除了其他與安全相關的活動,CERT還定期分析軟體潛在風險報告,並評估它們對Intemet和其他關鍵的基礎結構的風險。塞克德是CarnegieMellon大學計算機科學系和信息網路協會的助理教授,並在Pittsburgh大學兼職。
目錄
關於作者.
前言
第1章 本標準使用說明系統質量
自動生成的代碼
順應性
第2章 預處理器(PRE)
建議和規則
風險評估匯總
相關規則和建議
PRE00-C.用內聯函式或靜態函式代替與函式相似的宏
PRE01-C.在宏參數名兩邊加上括弧
PRE02-C.宏替換列表應該加上括弧
PRE03-C.應該使用typedef定義編碼類型
PRE04-C.不要復用標準頭檔案名稱
PRE05-C.理解連線標記或執行字元串化時的宏替換
PRE06-C.把頭檔案放在包含防護條件中
PRE07-C.避免使用連續的問號
PRE08-C.保證頭檔案名稱惟一
……
第3章 聲明和初始化(DCL)
第4章 表達式(EXP)
第5章 整數(INP)
第6章 浮點數
第7章 數組
第8章 字元和字元串
第9章 記憶體管理
第10章 輸入/輸出
第11章 環境
第12章 信號
第13章 錯誤處理
第14章 其他
附錄
詞條圖冊更多圖冊