12

C++ での安全なコーディング プラクティスの包括的な記録を探しています。このようなリストはまだここに存在していないので、さらに参照できるように、これをコミュニティ wiki にすることもできます。スタックおよびヒープ ベースのバッファ オーバーフローおよびアンダーフロー、整数オーバーフローおよびアンダーフロー、フォーマット文字列攻撃、ヌル ポインタ逆参照、ヒープ/メモリ インスペクション攻撃などのセキュリティ問題に対する解決策を探しています。

注: コーディングの実践以外に、この種の攻撃を防御する安全なライブラリも言及する価値があります。

LE: MSalters のコメントで示唆されているように、この質問は C++ 用と C 用の 2 つの個別の質問に分割されています。セキュア C コーディング プラクティスも参照してください。

4

6 に答える 6

4

「安全なコードを書く」という本(このリンクのサンプルページのみ)は、セキュリティの問題とその回避方法を説明するのに非常に優れています。この本はしばらくの間出版されていますが、カバーされているトピックのほとんどはまだ関連しています。

于 2011-01-24T09:35:43.703 に答える
4

Herb Sutter 「例外的な C++」および「C++ コーディング標準」。かけがえのない。

マーシャル クラインC++ よくある質問。よくある落とし穴についてすべて教えてくれます。無料オンライン。

于 2011-01-24T10:03:27.443 に答える
1

この本はとても役に立ちました C および C++ 向けのセキュア プログラミング クックブック: 暗号化、認証、入力検証などのレシピ

前述のWriting Secure Code, Second Editionとは異なり、Linux (posix) と Windows の両方の例が多数あります。

于 2011-01-24T09:41:47.607 に答える
1

Joint Strike Fighter Air Vehicle C++ Coding Standardsは、 セキュリティよりも信頼性に主に適用されますが、良い出発点です。

于 2011-01-24T12:07:16.383 に答える
0

始めましょう

  • mallocを使用して動的に割り当てられたメモリを回避する
  • (関連)可能な限り固定サイズの配列を使用するか、C++では実際には実用的な場合はCスタイルの配列を避けてください
  • の使用を避けてください(void *)
于 2011-01-24T09:36:17.337 に答える