JPCERT コーディネーションセンター

安全・安心なIT社会のための、国内・国際連携を支援する

お問い合わせ サイトマップ English

Home > ラーニング > セキュアコーディング > C/C++ セキュアコーディング

  1. HTTPS

C/C++ セキュアコーディング

最終更新: 2007-12-17

C/C++ セキュアコーディング
Robert C. Seacord 著
JPCERTコーディネーションセンター 訳
定価:本体3,800円+税
ISBN:4-7561-4823-9

内容

CERT/CCの上級脆弱性アナリストが、ソフトウェアの脆弱性の根本原因と、脆弱性を作り込まないための方法について解説。
翻訳はJPCERT/CC。C/C++プログラマ必携の書。

Topへ

目次
・ 監訳者まえがき   ・ 序文   ・ 前書き   ・ 著者について

Topへ

第1章 今そこにある危機
1.1 現状認識 1.4 開発環境
1.2 セキュリティの概念 1.5 まとめ
1.3 CとC++ 1.6 参考資料

Topへ

第2章 文字列操作
2.1 文字列の特性 2.7 アークインジェクション
2.2 犯しやすい文字列操作の間違い 2.8 脅威の緩和方法
2.3 文字列の脆弱性 2.9 代表的な脆弱性
2.4 プロセスのメモリ構成 2.10 まとめ
2.5 スタック破壊 2.11 参考資料
2.6 コードインジェクション

Topへ

第3章 ポインタ偽装
3.1 データロケーション 3.8 atexit()とon_exit()
3.2 関数ポインタ 3.9 longjmp()関数
3.3 データポインタ 3.10 例外処理
3.4 命令ポインタの変更 3.11 脅威の緩和方法
3.5 グローバルオフセットテーブル 3.12 まとめ
3.6 .dtorsセクション 3.13 参考資料
3.7 仮想ポインタ

Topへ

第4章 動的メモリ管理
4.1 動的メモリ管理 4.5 脅威の緩和方法
4.2 動的メモリ管理に発生する間違い 4.6 代表的な脆弱性
4.3 Doug Leaメモリアロケータ 4.7 まとめ
4.4 RtlHeap 4.8 参考資料

Topへ

第5章 整数演算
5.1 整数型 5.6 非例外的な論理エラー
5.2 整数の変換 5.7 脅威の緩和方法
5.3 整数のエラー条件 5.8 代表的な脆弱性
5.4 整数演算 5.9 まとめ
5.5 脆弱性 5.10 参考資料

Topへ

第6章 書式指定出力
6.1 可変引数関数 6.5 脅威の緩和方法
6.2 書式指定出力関数 6.6 代表的な脆弱性
6.3 書式指定出力関数への攻撃 6.7 まとめ
6.4 スタックのランダム化 6.8 参考資料

Topへ

第7章 ファイル入出力
7.1 並列処理 7.4 ファイルシステムへの攻撃
7.2 諸行無常 7.5 脅威の緩和方法
7.3 ロックファイルとファイルロック 7.6 まとめ

Topへ

第8章 実践手法
8.1 安全なソフトウェア開発のための原則 8.9 データの無害化
8.2 システム品質要求工学 8.10 静的解析
8.3 脅威のモデル化 8.11 品質保証
8.4 ユースケースとミスユースケース 8.12 メモリ保護
8.5 アーキテクチャと設計 8.13 縦深防御
8.6 既製ソフトウェア 8.14 TSP-Secure
8.7 コンパイラによる検査 8.15 まとめ
8.8 入力値の検証 8.16 参考資料

Topへ

参考文献
略語集
索引

Topへ