2011-01-24 51 views
10

我正在尋找C++中安全編碼實踐的全面記錄。 因爲我還沒有找到這樣的列表,所以我們不妨將它製作成社區wiki,以供進一步參考。 我正在尋找解決安全問題,如基於堆棧和堆的緩衝區溢出和下溢,整數溢出和下溢,格式化字符串攻擊,空指針解引用,堆/內存檢查攻擊等。安全的C++編碼實踐

注意:除了編碼實踐,值得一提的是,抵禦這類攻擊的安全庫也值得一提。

LE:正如MSalters在評論中所建議的,這個問題已經被分成兩個單獨的問題,一個用於C++和一個用於C。 另請參閱Secure C coding practices

+5

如果你打算做出這樣的清單,我建議做兩個。 C和C++需要完全不同的列表。你不能推薦「使用`std :: string`而不是`char *`」給C程序員。 – MSalters 2011-01-24 09:43:02

回答

3

本書Writing Secure Code非常擅長解釋安全問題以及如何避免它們。這本書已經出現了一段時間,但大部分內容仍然相關。

1

讓我使用malloc

  • (相關)使用固定大小 陣列開始它

    • 避免動態分配 內存時有可能,或INFACT在C++可以避免C風格的數組時,實際
    • 避免使用(void *)
  • 3

    香草薩特「Exceptional C++」和「C++編碼標準」。無價。

    Marshall Cline C++ faq。會告訴你一切常見的陷阱。網上免費。

    1

    SEI CERT C++ Coding Standard是專門爲解決所有類型的安全問題而開發的。 CERT代表計算機應急響應小組,它是處理計算機安全事件的專家組。