はじめに
どうやって知ったのか、それが私の知りたいことだ。
リチャード・ファインマン、アメリカの物理学者
この入門書では、脅威モデリングの基本について説明する。また、分析対象システムのセキュリティを評価するための基礎として知っておくべき最も重要なセキュリティ原則についても取り上げる。
脅威モデリングの基本
脅威モデリングとは何か、脅威モデリングがなぜ有用なのか、脅威モデリングが開発ライフサイクルと全体的なセキュリティ計画にどのように適合するのかを俯瞰することから始めよう。
脅威モデリングとは何か?
脅威モデリングとは、システムを分析し、望ましくない設計の選択に起因する弱点を探すプロセスである。 この活動の目標は、(実装やデプロイの結果として)システムに組み込まれる前に、このような弱点を特定し、できるだけ早期に是正措置を講じることができるようにすることである。脅威モデリングは、システム設計のどの特徴を修正すれば、システムの所有者、ユーザ、演算子にとって許容できるレベルまでシステムのリスクを低減できるかを理解するための概念的な作業である。
脅威モデリングを行う場合、システムをその構成要素と、システムの外界(相互作用する他のシステムなど)との相互作用、およびこれらのシステムに対してアクションを実行する可能性のあるアクターの集合体として見る。そして、これらのコンポーネントや相互作用がどのように機能不全に陥るか、あるいは機能不全に陥らせられるかを想像する。このプロセスから、システムに対する脅威を特定し、それがシステムの変更や修正につながる。その結果、想像した脅威に対抗できるシステムが出来上がる。
しかし、最初からはっきりさせておこう。脅威モデリングは循環する活動である。 脅威モデリングは、明確な目的から始まり、分析とオブジェクトの作成、そしてその繰り返しである。脅威モデリングは銀の弾丸ではない。また、Webサイトやコードリポジトリにスキャナーを当てて、チェックすべき項目のパンチリストを生成するような、押しボタン式のツールでもない。脅威モデリングは、論理的で知的なプロセスであり、チームの全員とは言わないまでも、そのほとんどに参加してもらうのが最も効果的である。議論を生み出し、設計と実行を明確に作成する。これらすべてには、作業とある程度の特殊化が必要である。
脅威モデリングの最初の規則は、 「garbage in, garbage out(GIGO)」という古い格言かもしれない。1脅威モデリングをチームのツールボックスの一部とし、全員が積極的に参加するようにすれば、多くの利点を享受できる。自社とチームに適した手法を発見し、そのために必要な努力を惜しまなければ、全体的なセキュリ ティ態勢は大幅に向上する。
脅威モデリングが必要な理由
脅威モデリングが必要なのは、それが長期的にあなたの仕事を容易にし、より良いものにするからである。よりクリーンなアーキテクチャ、 十分に定義された信頼境界(これが何なのか、なぜ重要なのか、あなたはまだ知らないだろうが、すぐにわかるようになる!)、集中的なセキュリティテスト、より良い文書化につながる。そして、何よりも、あなたやあなたのチームに、組織化されオーケストレーションされた方法でセキュリ ティを意識する超能力を植え付け、開発作業全体にわたってより良いセキュリティ標準とガイドラインを導 くことができる。
こうした副次的利点はすべて重要だが、最も重要なことではない。システムで何が起こりうるか、そしてそれに対して何ができるかを理解することで、提供するものへの信頼が高まり、システムの他の側面に集中することができるようになる。そしてそれこそが、脅威 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access