セキュアコーディングの専門家による、C言語と C++(以下、C/C++ と表記)の安全なプログラムを書くための解説書です。
本書が扱っている C/C++ の規格バージョンは C11、C++11 です。
C/C++ は言語仕様が難解で(それに加えて C++ は巨大)、安全性よりも効率面に重視している部分が多いため、ごく単純に思えるコードでも、安全性を検討しなければならないことが多くあります(加算結果は、その整数型に収まるのか? コピー先の領域は十分にあるのか?)。本書は、検討しなければならないと思われる言語の仕様や、使い方に注意が必要なライブラリについて、網羅的に取り上げています。
脆弱性が生まれてしまう原因を解説したうえで、その穴を塞ぐ正しい方法を説明しています。たとえば、配列の範囲外に書き込みを行ってしまうバッファオーバーフローという脆弱性をもったプログラムが、どのように攻撃者に利用され、どのようなことが起こり得るのか、その理屈を丁寧に説明しています。
安全性の高いプログラム、というテーマ自体はどんなプログラミング言語にでも共通ですが、本書はC/C++ での事情に集中して書かれています。ほかの言語にそのまま適用することは難しい部分が多いと思われます。
本ページはアフィリエイトプログラムによる収益を得ています。
以下のリンクから商品を購入されると、Programming Place 管理者に紹介料が支払われています。
【紙媒体】
技術書を割引価格で購入できたり、多くのポイントが還元されたりするお得情報を、「セール情報」のページで取り上げていますので、こちらもご覧ください。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |