はじめに
『セキュリティはなぜ破られるのか』(原題: Security Engineering, 3rd Edition) — 著者はケンブリッジ大学のロス・アンダーソン教授です。
タイトルだけ見ると「セキュリティの入門書?」と思いがちですが、実際には暗号・プロトコル・組織論・法政策・経済学・心理学を縦横無尽に論じる怪物級の一冊です。原書は1000ページを超えます。
本記事では全体の内容を俯瞰しつつ、エンジニアの視点で特に刺さった点を中心にまとめます。
本書の構成と概観
全体は大きく3部構成です。
第1部: 基礎 — セキュリティエンジニアリングとは何か、脅威アクターは誰か、心理学・組織論・プロトコル・暗号の基礎。
第2部: 応用分野別の解説 — 銀行・電話・核指揮統制・電子透かし・耐タンパー性など、ドメインごとに実際の攻撃と防御の歴史を掘り下げる。
第3部: システム設計と政策 — 多層防御・セキュア開発・保証・持続可能性・法と規制の章。最後は「コンピューターはノーと言う」を超えて、どう設計すべきかで締める。
本書のユニークな点は、技術書でありながら政治・経済・法・心理が同等の比重で論じられることです。セキュリティ障害の多くは技術的な失敗ではなく、インセンティブの失敗だ——そういうメッセージが全章を通じて一貫しています。
第1部: 「誰が攻撃してくるのか」から始まる現実
セキュリティとは敵を知ることから
第1章の冒頭で著者はこう言います。
イデオローグは世界をあるべき姿で捉えるかもしれないが、エンジニアは世界をありのままに捉える。
攻撃者の類型は4つに整理されます。
- スパイ — NSA、GCHQ、中国PLA、GRUなどの国家主体
- 詐欺師 — サイバー犯罪者、ランサムウェア集団、フィッシング業者
- オタク(研究者) — バグハンター、ハクティビスト、セキュリティ研究者
- 沼地(虐待者) — ネットいじめ、ストーカー、DV加害者
この4分類は表面的にはシンプルですが、実際の章では各類型の内側に驚くほど精緻な分析が展開されます。
スノーデン文書が明かしたもの
第2章「相手は誰?」は圧巻です。PRISM、Tempora、Muscular、XkeyscoreといったNSA・GCHQの収集プログラムが章の大半を占め、著者自身の体験(ダライ・ラマのオフィス調査、グーグル訪問)が織り交ぜられながら語られます。
特に印象的だったのはスケールの経済学の話です。1台の携帯電話を盗聴するには車で追跡する必要があるが、パリ全体の通信をハッキングするコストは一通話あたりでは微々たるものになる——このロジックで、大量収集が必然的に選ばれる仕組みが説明されます。
中国のOPMハッキング(現職・元職の連邦職員2200万人のデータ窃取)、NotPetyaワームによる100億ドル規模の被害、北朝鮮によるバングラデシュ中央銀行からの8100万ドル窃盗——これらが単なるニュース解説としてではなく、攻撃者のインセンティブと能力の進化として構造的に論じられる点が本書の真骨頂です。
第8章: セキュリティ経済学という視点
個人的に最も知的刺激を受けたのが第8章「経済学」です。
著者の核心的な主張はこれです。
セキュリティの失敗の多くは技術的エラーではなく、インセンティブの誤りが原因である。システムを守る人が失敗のコストを負担する人でなければ、問題が発生するのは当然だ。
なぜWindowsはあれほど安全でなかったのか
2000年代初頭のMicrosoftを例に、プラットフォーム支配競争の構造が分析されます。ネットワーク外部性・技術的ロックイン・低い限界費用が組み合わさると、「とにかく市場シェアを取り、セキュリティは後回し」というのが合理的な戦略になってしまう。
ビル・ゲイツが2003年に「全エンジニアがセキュアコーディングコースを受講するまで開発中止」を宣言するまで、Windowsのセキュリティは改善されませんでした。これは倫理の問題ではなくインセンティブの問題として分析されています。
「最弱リンク」vs「努力の総和」
ハル・ヴァリアンが情報システムの信頼性を3つのモデルに分類しているという話も面白い視点です。
- 最弱リンク — プログラムの正確性(最も不注意なプログラマが脆弱性を持ち込む)
- 最善の努力 — セキュリティアーキテクトなど個別のチャンピオン
- 努力の総和 — テスト(人が増えるほど信頼性が上がる)
ソフトウェア企業が規模拡大に伴ってプログラマーよりテスターを増やす傾向があるのは、このモデルで説明できます。
脆弱性市場の歪み
責任ある開示(Responsible Disclosure)の議論も経済学的に整理されています。Stuxnet以降、各国政府が脆弱性を買い上げて兵器化するようになると、iOSのゼロデイエクスプロイトが100万ドル以上で取引される市場が生まれました。
このことがオープンソースプロジェクトに悪意あるコードを意図的に投入する試みにもつながっている——という指摘は、昨今のサプライチェーン攻撃の文脈で改めて重く受け止められます。
設計者への示唆
第2部・第3部では具体的なドメインごとに事例が語られますが、全体を通じた設計上の示唆をまとめると以下のようになります。
脅威モデルは「誰が」を先に決める
技術的なメカニズムを決める前に、「想定する敵は誰か、その動機・能力・資源はどの程度か」を明確にする。すべての脅威に対処しようとすれば、妥当なコストで有用な機能を実現することはできない。
セキュリティはインセンティブの問題
「なぜこのシステムは安全でないのか」を問う前に、「誰が失敗のコストを負担しているのか」を確認する。コストを負担しない人が設計したシステムは、しばしば責任転嫁のためのメカニズムとして機能する。
「悪用のしやすさ」も設計の対象
本書では「使いやすさを考えるだけでは不十分で、濫用のしやすさも考慮する必要がある」と繰り返し述べられています。スケールする攻撃がどう生まれるかを、機能設計の段階で考えることが求められます。
多層防御と最弱リンク
防御はシステム全体が「最弱の部分」に依存します。パッチ適用・認証・ネットワーク監視・インシデントレスポンス計画といった複数の層が必要で、そのうち1つが欠けていれば他が強固でも意味をなさない局面が生まれます。
読んでみての感想
技術書として読み始めたのに、気がつくと歴史書・政治書・犯罪学書として読んでいる不思議な本でした。
著者が「セキュリティは力関係である」と繰り返す意図がよくわかります。暗号が破られなくても、法律が変われば同じ効果が得られる。バグがなくても、設計者のインセンティブが歪んでいれば安全なシステムは生まれない。
設計・アーキテクチャに関わるエンジニアで、「なぜセキュリティはいつも後回しにされるのか」に問いを持っている方には、特にお勧めできる一冊です。