ソフトウェアにおいて「セキュリティ」は、誰の仕事でしょうか。そして、それはどのような尺度で計るべきものなのでしょうか。
本書では「セキュリティはみんなの仕事」であり、セキュリティコンサルタントが最後に「後付けで加えるものではない」と述べています。つまり、ソフトウェアの設計段階からセキュリティを組み込み、実装段階では入力インターフェイスに気を付け、そして、セキュリティを踏まえたテストを行うべきということです。
しかし、ソフトウェアセキュリティは⽬に⾒えないものであり、また複合的な要素を含むため、その脅威を特定して評価を行うのは難しいものです。そこで、本書の著者であるローレン・コンフェルダー⽒らが、Microsoftで開発したのが「STRIDE脅威分類」です。本書は、その「STRIDE脅威分類」をベースに、設計段階からテストまで、開発の各フェーズで必要となるセキュリティの手法を実践的に解説しています。
「第1部 コンセプト」では、ソフトウェアセキュリティの基礎的概念を説明しています。セキュリティとプライバシー、脅威モデリングの手法、脅威への防御策の戦略、セキュリティのアンチパターン、そして暗号技術など、以降の解説の基礎でありながら実践的な内容です。「第2部 設計」は、本書を特徴付けるパートであり、最も重要なパートです。ソフトウェア設計者とセキュリティレビュアーの視点から、セキュアなソフトウェアを構築するための実践的なガイダンスを提供しています。「第3部 実装」は、実際のコーディングで注意すべき点について解説しています。セキュアな設計の後で新たな脆弱性の生成を防ぎながらソフトウェアを開発する方法、また、脆弱性がどのようにコードに忍び込むのか、そしてそれをどのように回避するのかを具体的なコードスニペットを示して説明しています。取り上げられることが少ない「セキュリティテスト」についても1章を費やしています。「後書き」では、本書の締めくくりとして、セキュリティを向上させるためにどのように行動すべきなのか、また、セキュリティを発展させるためのアイデアなどが語られています。
こういった視点でソフトウェアのセキュリティについて書かれた書籍は類を見ないもので、AIがソフトウェア開発に活用される今の時代にも、そして今後も適用可能な普遍的な知識が詰まっています。
原著者であるローレン・コンフェルダー氏は、日本で10年以上ソフトウェア開発に従事し、日本語も堪能です。日本語版の刊行に寄せて、次のようなコメントを日本語でいただいています。
本書が日本で翻訳出版されることを非常に喜んでいます。私が本書の日本語版を楽しみにしている理由はたくさんあります。自分は日本で働いてきたのでよい思い出があり、読んで理解できる唯一の翻訳であること、そして何よりも日本の開発者は実践的なガイダンスを重視する傾向があるため、本書を応用すれば大きな成果をもたらすと信じているからです。本書が日本の開発者のセキュリティの底上げにつながることを願っています。
また、本書の「日本語版のための前書き」では、日本語版が刊行されることの喜びとともに、日本がソフトウェア開発で世界のリーダーとなると信じ、期待していること、そして、セキュリティにおいては日本人が持つ文化や価値観が大いに活かされるだろうと述べています。また、自筆によるカタカナのサインも添えられています。
■書籍概要
書 名 セキュアなソフトウェアの設計と開発
著 者 ローレン・コンフェルダー
訳 者 秋 勇紀/高田 新山
監訳者 小出 洋 監訳
定 価 4,180円(税込)
発売日 2023年8月18日
Amazon https://www.amazon.co.jp/dp/4798069752
楽天ブックス https://books.rakuten.co.jp/rb/17547505/
■目次
Part 1 コンセプト
Chapter 1 基礎
Chapter 2 脅威
Chapter 3 軽減策
Chapter 4 パターン
Chapter 5 暗号技術
Part 2 設計
Chapter 6 セキュアな設計
Chapter 7 セキュリティ設計レビュー
Part 3 実装
Chapter 8 セキュアなプログラミング
Chapter 9 低レベルコーディングの欠陥
Chapter 10 信頼できない入力
Chapter 11 Webのセキュリティ
Chapter 12 セキュリティテスト
Chapter 13 セキュアな開発のためのベストプラクティス
付録
Appendix A サンプル設計書
Appendix B 用語集
Appendix C 課題
Appendix D チートシート