制御システム向けのセキュアなCコーディングルール - JPCERT/CC
関数を使用しない
MSC32-C 乱数生成器は適切なシード値を与えて使う
INT35-C 整数式をより大きなサイズの整数に対して比較や代入をする際には、事前に演算後のサイズで評価する
INT30-C 符号無し整数の演算結果がラップアラウンドしないようにする
INT32-C 符号付き整数演算がオーバーフローを引き起こさないことを保証する
MEM35-C オブジェクトに対して十分なメモリを割り当てる
EXP34-C NULL ポインタを参照しない
ERR33-C 標準ライブラリのエラーを検出し、対処する
MEM30-C 解放済みメモリにアクセスしない
ENV33-C コマンドプロセッサが必要ない場合はsystem()を呼び出さない
POS36-C 権限は正しい順序で破棄する
POS37-C 権限の破棄は確実に行う
FIO31-C 同一のファイルを同時に複数回開かない
FIO42-C 不要になったファイルは正しくクローズする
近年、制御システムにおいてもセキュリティ脆弱性が大きな問題になりつつある。こうしたセキュリティ脆弱性は実装上の不備から発生することが多く、今回指摘された22のルールを活用することで効果的な対策へ結びつけることが期待される。
【おしゃれファミリーSNAP】ブルーのボトムスでリンクコーデに! | HugMug