この版は2007年から公開を開始した旧版です。
新版は次のリンクより参照してください。
HOME
総論
C,C++がもたらす問題
基礎知識
#1
メモリ空間
#2
スタック
#3
ヒープ
既存ソフトウェアの脆弱性分析
開発工程と脆弱性対策
ツールの利用
脆弱性回避策とソフトウェア開発工程
脅威モデリング
セキュリティテスト
ソースコードレビュー
計画されたセキュリティ機能
アクセス制御:
#1
本人認証
#2
アクセス認可
破られにくい暗号技術と擬似乱数の使用
不測の事態対策
ログ記録による証跡確保とログ自体の漏えい対策
サービス不能状態対策
メモリリーク対策
レースコンディションの一般的対策
プログラム配置対策
構成ファイルからの情報漏えい対策
子プロセスからの侵害対策
chroot, jail の利用
フェイルセーフ
セキュアなデフォルト
エラーハンドリング
コラム:各言語でのエラーハンドリング
データ漏えい対策
最小の特権
最小のアクセスパーミッション
テンポラリファイル(Unix の一時ファイル)
コマンドラインからの情報漏えい対策
親切すぎるエラーメッセージの回避
メモリクリア失敗対策
ページングおよびメモリダンプ対策
入力検査
入力検査の概要
受信ファイルの検査
環境変数の検査とリセット
ファイル対策
ファイルの別名検査
シンボリックリンク攻撃対策
ファイルレースコンディション対策
ファイル拡張子による起動対策
著名な脆弱性対策
バッファオーバーフロー:
#1
概要
#2
ソースコード記述時の対策
#3
ソースコードの静的検査
#4
あふれを検出するデバッグ
#5
運用環境における防御
フォーマット文字列攻撃
整数オーバーフロー攻撃対策
SQL注入攻撃対策
コマンド注入攻撃対策
C11