ええコンサルタント,セキュリティ,ITconsultant,ITコンサルタント

ええコンサルタント  >  セキュリティプラザ  >  セキュアプログラミング

C/C++セキュアプログラミングクックブック
VOLUME1:基本的な実装テクニック

第一章:安全な初期化

  1. 環境の消毒
  2. Windowsの権限を制限する
  3. setuidしたプログラムの特権を廃棄する
  4. 特権分離でリスクを小さくする
  5. ファイルディスクリプタを安全に扱う
  6. 子プロセスを安全に作成する
  7. Unixで外部プログラムを安全に実行する
  8. Windowsで外部プログラムを安全に実行する
  9. クラッシュ時にメモリダンプされないようにする

第二章:アクセス制御

  1. Unixのアクセス制御モデルを理解する
  2. Windowsのアクセス制御モデルを理解する
  3. ユーザはUnix上のファイルのアクセス権を持っているかどうかを決定する
  4. ディレクトリがセキュアであるかどうかを決定する
  5. ファイルを安全に削除する
  6. ファイル情報に安全にアクセスする
  7. Unix上の新規ファイルのアクセスパーミッションを制限する
  8. ファイルをロックする
  9. Unixのプロセス全体に渡ってリソースへのアクセスを同期させる
  10. Windowsのプロセス全体に渡ってリソースへのアクセスを同期させる
  11. テンポラリファイルを作成する
  12. Unix上のファイルシステムへのアクセスを制限する
  13. FreeBSD上のファイルシステムとネットワークへのアクセスを制限する

第三章:入力の検証

  1. 基本的なデータ検証のテクニックを理解する
  2. 書式関数に対する攻撃を防ぐ
  3. バッファオーバーフローを防ぐ
  4. SafeStrライブラリを使用する
  5. 整数の型変換問題とラップアラウンド問題を防止する
  6. 環境変数を安全に使用する
  7. ファイル名とパスを保証する
  8. URLエンコーディングを評価する
  9. 電子メールのアドレスを検証する
  10. クロスサイトスクリプティングを防止する
  11. SQL挿入攻撃を防ぐ
  12. 防いなUTF-8を検出する
  13. select()使用時のファイルディスクリプタオーバーフローを防止する

第四章:耐タンパー性

  1. ソフトウェア保護の問題を理解する
  2. 改竄を検出する
  3. コードの難読化
  4. ビットとバイトを難読化する
  5. 定数により変数を変換する
  6. スカラー変数をマージする
  7. 変数を分割する
  8. 論理値を偽装する
  9. 関数ポインタを使用する
  10. 配列を再構築する
  11. 文字列を隠す
  12. デバッガを検出する
  13. Unixのデバッガを検出する
  14. Windowsのデバッガを検出する
  15. SoftICEを検出する
  16. 逆アセンブラを検出する
  17. 自己修正を行うコードを使用する

第五章:その他

  1. エラー処理
  2. メモリ上のデータを安全に削除する
  3. メモリがディスクに書き出されるのを防止する
  4. 可変引数を適切に使う
  5. 適切なシグナル処理を行う
  6. Windowsに対するShatter Attack(壊滅的な攻撃)からのプロテクション
  7. 過剰なスレッド生成を監視する
  8. ネットワークソケットの過剰生成を防ぐ
  9. Unixに対するリソーススタベーション攻撃を防ぐ
  10. Windowsに対するリソーススタベーション攻撃を防ぐ
  11. 監査ログの最前な実践方法

ええコンサルタント  >  セキュリティプラザ  >  セキュアプログラミング