|
タイトル |
セキュアなソフトウェアの設計と開発(セキュアナソフトウェアノセッケイトカイハツ) |
|
本書は、セキュリティの脅威モデリングを行う際に広く使われている「STRIDE脅威モデル」を開発したローレン・コーンフェルダー氏の20年以上にわたる経験を集約し、ソフトウェアのセキュリティを向上させるための普遍的な手法をまとめたものです。設計やプログラミングからマーケティングまで、ソフトウェア製品に関わる全ての人を対象にしていますが、ソフトウェア設計にセキュリティを早期に組み込むこと、そのプロセスにチーム全体を巻き込むことを大きなテーマとしています。
STRIDEは、「なりすまし(Spoofing)」「改竄(Tampering)」「否認(Repudiation)」「情報漏洩(Information disclosure)」「DoS(Denial of service)」「権限昇格(Elevation of privilege)」の頭文字を取ったもので、セキュリティ上の脅威を分類するために、1990年代後半にMicrosoftでコーンフェルダー氏らが開発しました。このSTRIDEによってセキュリティに対する脅威を分類し、どのような対策が必要なのかを分析する「脅威モデリング」を行い、セキュリティ対策を行っていきます。本書は、これをベースにして、「コンセプト」「設計」「実装」という3つのパートに分けて書かれています。
第1部では、情報セキュリティとプライバシーの基礎、脅威モデリングの概念、脅威から防御するための軽減策、セキュリティ設計パターン、暗号技術という、本書の核となる概念を説明しています。これらは、以降の解説のベースとなります。
第2部では、セキュリティを考慮したソフトウェア設計とレビューのプロセスを取り上げます。ここが本書の最もユニークかつ重要なパートで、コーンフェルダー氏の経験と知見が詰まっています。
第3部では、実装段階でのセキュリティを取り上げ、セキュリティの課題と実際の脆弱性がコード上でどのように見えるか、コンピュータ演算やメモリ管理といった低レベルの層におけるコーディングの欠陥、入力やWebなどでの長年にわたってよく知られている問題、さらに、あまり活用されることがないセキュリティテストなどを実践的に解説しています。
本書で繰り返し述べているように、ソフトウェアのセキュリティは、専門家に任せるべき仕事えはなく、関わる全ての人が意識し、取り組むべき仕事です。本書は、そのための実践的で汎用的なガイドであり、各段階においてセキュリティに関する「正しい選択」をするための助けになるはずです。