C/C++プログラマにオススメの一冊です。 #amazon||> ||< C/C++プログラミングで作りこんでしまいがちなソフトウェアの欠陥と、それがどのように脆弱性として発現し攻撃されるかを幅広く、かつ分かりやすく解説しています。WindowsとUnix系の両方を対象とした包括的な内容になっています。 - 日本語版公式サイト・正誤表など:JPCERT コーディネーションセンター セキュアコーディング -- http://www.jpcert.or.jp/securecoding_book.html 注意点としては、包括的な解説のトレードオフとして理論解説の比重が高くなり、実際に手を動かして確認する実践的な内容が薄くなっている点があります。やはり自分で試してみないと気が済まない方は、JPCERT/CC主催の"C/C++ セキュアコーディングセミナー"に参加してみてはいかがでしょうか。 - JPCERT コーディネーションセンター イベント情報 -- https://www.jpcert.or.jp/event/index.html 遠方であったりして日時の都合が取れず参加できない・・・そのような場合でも、実践に重点を置いた書籍もありますし、教材としてわざと脆弱性を作りこんだプログラムがIPAで公開されています。そうしたリソースも活用してみて下さい。 - 脆弱性攻撃コードをすぐに試せるLiveCD付き: "Hacking: The Art of Exploitation" -- 本サイトの読書メモ参照: http://www.glamenv-septzen.net/view/905 - 情報処理推進機構:脆弱性体験学習ツール AppGoat -- http://www.ipa.go.jp/security/vuln/appgoat/index.html 特にWindowsで実践する場合は、WinDBGの使い方と合わせてスタック・ヒープの破壊やメモリアロケータの内部動作、Windowsの提供するクリティカルセクションやmutexなど競合・ロック関連のトラブルなどを解説した "Advanced Windows Debugging" の一読をお薦めします。 - "Advanced Windows Debugging" (邦題:「Windowsデバッグの極意」) -- 本サイト参照: http://www.glamenv-septzen.net/view/706 「CERT Cセキュアコーディングスタンダード」も出版されており、C言語に絞ってより具体的かつ実践的なお作法を解説しています。こちらはWeb上でも公開されており、日本語版も利用できます。 - Secure Coding -- http://www.cert.org/secure-coding/ - CERT Secure Coding Standards - Secure Coding - CERT Secure Coding Standards -- https://www.securecoding.cert.org/confluence/display/seccode/CERT+Secure+Coding+Standards - CERT C Secure Coding Standard 日本語版 -- http://www.jpcert.or.jp/sc-rules/ - JPCERT コーディネーションセンター セキュアコーディング -- http://www.jpcert.or.jp/securecoding_standard.html