セキュリティ ウォッチ量子セキュリティの原理

Jesper M. Johansson

予想もしていない話から価値が生まれると、話が非常に盛り上がることがあります。この記事では、ハイゼンベルグの不確定性原理を使用し、セキュリティの概念について説明します (私のユニコーンに関する話を聞いたことがある方は、私が他の原理の基本定理を持ち込んで物事を説明するのが好きなことをご存知でしょう)。奇妙に

思えるかもしれませんが、情報セキュリティの概念が、他の科学分野で使用されているいくつかの基本概念に結び付く場合があります。

ハイゼンベルグが主張した量子物理学の不確定性原理は、図 1 のような方程式に基づいています。この原理自体は、粒子の位置 (p) と粒子の運動量 (x) は、位置の計測精度を上げると、運動量の計測精度が下がるという点で関連していることを示しています。この 2 つの要素の精度の境界は、非常に小さいプランク定数を掛けた値で表されます。もう少しわかりやすく言うと、この原理は、ある粒子に関する複数の事実を同時に 100% 正確に観察できないことを主張しています。

Figure 1 Heisenberg Uncertainty Principle

Figure 1** Heisenberg Uncertainty Principle **

これは不確定帯を予測することと直接関連しているので、実質的には、粒子に関するいくつかの事実の状態がどの程度不確定であるかを予測できることになります。この不確定帯を予測することは (まだ) できませんが、あるコンピュータ ネットワークに関する 2 つの可変事項がそのネットワークのセキュリティに与える影響を 100% 正確に予測することはできないという事実は重要です。

また、トレードオフも避けられません。情報セキュリティにはプランク定数による制限はないかもしれませんが、いくつかの制限があります。避けられないトレードオフのうちで最も顕著なものは、セキュリティとユーザビリティ (有用性) のバランスを取ることです。少しの間、可用性を無視して話を進めると (率直に言って、セキュリティ担当者は、サービス拒否攻撃を受けない限り、可用性に関しては責任がないと思います)、何かを保護するための最も簡単な方法は、その保護対象を停止することです。この方法を使用すれば、ハッキングされることはなくなりますが、有用性は急激に低下します。

同様に、コストは跳ね上がりますが、毎年 1 回、全従業員に電子メールでインスタント メッセージング アプリケーションを業務に使用しないよう通知するよりも、データ損失を防ぐための高価な製品を導入することで、機密データの漏洩をはるかに効果的に防ぐことができます。しかし、そのような製品を購入する意思が組織にあるでしょうか。皆さんが考えている以上に、量子物理学とセキュリティは関連し合っていることがおわかりいただけたと思います。

シュレディンガーの猫

関連するもう 1 つの量子物理学の概念は、シュレディンガーの猫に関するたとえの中で説明されます。20 世紀の著名な物理学者であるエルヴィン シュレディンガーは、アルバート アインシュタイン (20 世紀に活躍したもう 1 人の著名な物理学者です。この名前は耳にしたことがあるのではないでしょうか) と重ね合わせの概念に関する論争を延々と繰り広げたそうです。シュレディンガーは、2 つの状態が重ね合わさった中に、非常に道理に合わない要素が存在するという量子力学の領域を発見しました。

論旨を明確にするために、シュレディンガーはある思考実験を行いました。その実験は、1 匹の猫を密閉した箱に入れて行います。この箱の中にはもう 1 つ毒の入った容器があり、この毒の放出は、ある (架空の) 放射性素粒子によって制御されます。放射性素粒子が崩壊すると、毒が放出され、猫は死ぬことになります。

この素粒子は、量子力学の法則に基づいて考えると、状態の重ね合わせの中に存在しています。この明らかに原子的である猫も、その状態が完全に素粒子の状態に依存しているので、状態の重ね合わせの中に存在しています。実際に猫の状態を観察しない限り、その生死を特定することはできません。

もちろんシュレディンガーのこの思考実験の意図は、量子力学のいくつかの法則が、原子系に適用した場合にいかに道理に合わないかを指摘することです。しかし、このたとえは、いわゆる "観察者効果 (死の観察者)" と呼ばれ、高く評価されることがよくあります。観察者効果は、量子力学の関心の的である素粒子系には当てはまりませんが、セキュリティ専門家としては興味深い概念です。簡単に言うと、これは、何かを観察することで観察対象が変化するという考え方です。

観察者効果

もう少し説明を加えるために、1 杯の紅茶を例に考えてみましょう。紅茶の温度を確認する場合、温度計をカップに入れます。たとえば、温度計を入れた時点では紅茶は 80 ℃ で、温度計自体は 22 ℃ (室温) であったとします。温度計を紅茶に入れたとたん、温度計は紅茶の熱を吸収し始め、紅茶はその熱の一部を失い、温度計が温まります。最終的に、温度計と紅茶の温度は等しくなります。しかし、この温度は 80 ℃ でも 22 ℃ でもなく、その中間の温度になります。したがって、紅茶の温度を測定したことで、紅茶の状態が変化したことになります。

観察者効果も、情報セキュリティと関連しています。あるセキュリティ問題を緩和するためになんらかの対策を講じるたびに、システムに変更が加えられるので、セキュリティの状況が変化している可能性があります。私は、他に良い言葉がないので、これを "セキュリティ状況の流動効果" (SPFE: Security Posture Fluidity Effect) と呼んでいます。

この簡単な例としては、サービス アカウントの依存関係が存在する場合が挙げられます。『Protect Your Windows Network』(protectyourwindowsnetwork.com) の第 8 章に、システムに侵入検出サービス (IDS) をインストールして攻撃を検出する方法に関する説明が記載されていますが、IDS は集中管理システムにログオンし、監視対象のシステムに対する高いレベルの特権を持つアクセスを要求します。つまり、ほとんどの場合、このサービスは高いレベルの特権を持つサービス アカウントで実行されることになります。

これらのシステムの 1 つが攻撃された場合、攻撃者はサービス アカウントの資格情報にアクセスできるようになるので、IDS 自体を無効にするだけでなく、他のすべてのシステムにアクセスすることもできます。これは SPFE をよく表している例です。環境のセキュリティを強化するなんらかのプログラムをインストールすることで、セキュリティに関する潜在的な問題が新たに発生します。

SPFE の例は、他にも多数あります。Steve Riley は、ワイヤード ネットワークで 802.1x が問題になる理由を説明していますが (microsoft.com/technet/community/columns/secmgmt/sm0805.mspx)、これも良い例の 1 つです。当然、ホストベースのファイアウォールの使用は、多くの環境において非常に望ましいことです。ただし、802.1x と共に使用すると、それまで不可能であった攻撃が可能になります。この場合も、セキュリティ テクノロジによって環境内のセキュリティの状況が変化し、そのテクノロジが導入されなければ不可能であった攻撃が可能になっています。

これらの対策が本質的に役に立たないので、使用しない方がよいと言っているわけではありません。これらの例が表しているのは、セキュリティ全体を考慮して、実装する対策の影響を検討する必要があるということです。リスク管理を行うときは、自分の行動や対策が実際のリスクにどのような影響を与えるかについて検討してください。問題を緩和する場合、対策を実装してそれで終わりというわけにはいきません。本質的に、セキュリティは一連の過程です。多層防御戦略を使用する必要がありますが、防御策を実装することによってセキュリティの状況がどのように変化するか、およびその戦略を導入したことによって発生する新たな脅威にどのように対処していくかを検討するようにしてください。

成熟しつつあるセキュリティ強化テクノロジ

私は 10 年以上にわたって、セキュリティ強化ガイダンスの作成に取り組んできました。初めの頃に携わったいくつかのガイドを振り返ると、私と同僚が有効にすべきであると判断した設定が並んでいるだけでした。当時のセキュリティを支える一般的な戦略は未熟なものであり、基本的に、セキュリティを強化する手段があれば、それを実装していました。また、その実装を解除する正当な理由があるかどうかは、もともとあまり考慮されていませんでした。

最終的に私は、効果的にセキュリティを強化するには、強化対策をじっくり考え、システムがさらされている脅威について考慮する必要があることを学びました。この事実に気付いたことで、現在『Windows 2000 セキュリティ強化ガイド』(go.microsoft.com/fwlink/?LinkID=22380) に掲載されているシナリオを作成することができました。そこからの自然な流れで、このガイダンスがさまざまな脅威レベルに分割され、『Windows Server 2003 セキュリティ ガイド』(go.microsoft.com/fwlink/?linkid=14846) のような形式になりました。

この間ずっと、ある事実に悩まされ続けました。それは、すべてのガイダンスに目を通し、その内容に基づいて環境を実装しても、システムが侵害される可能性は残るということです。この理由として挙げられるのは、一部の修正プログラムが適用されないこと、一部の運用方法に問題があること、および安全でないサードパーティ製のソフトウェアがインストールされていることです。

上記の 2 つのガイドに記載されているセキュリティの強化対策は、全体的なセキュリティの強化にはそれほど役立たないことがわかりました。結局、これらはいくつかの重要な要素に絞り込まれました。実際、これまで構築した中で最も安全なシステム (msdn2.microsoft.com/library/aa302370) では、上記のセキュリティ ガイドに記載されている 4 つか 5 つの対策のみを実装しましたが、対象となる攻撃を実際に阻止したものはありませんでした。残念ながら、人々はシステムのセキュリティを自動的に強化する、魅力的な [今すぐセキュリティを強化する] ボタンのみを求めますが、セキュリティはそれほど単純ではありません。

リスクに対処する方法

(限定されたセキュリティではなく) 保護された状態を実現するには、理にかなった方法でリスクに対処する必要があります。どのようなリスクに直面しているかを理解し、緩和するリスクを特定したうえで、その方法を理解する必要があります。この作業は、単純にスイッチを入れるだけで完了することはまずありません。

一般に、上記のようなセキュリティ対策は、特定のシナリオに合わせて設計されているので、実際のシナリオに最適な構成が提供されるとは限りません。代わりに提供されるのは、基盤となる構成です。このようなセキュリティ対策が提供されている主な理由は、市場でこのような簡単なセキュリティ強化策の需要が高まっているからです。最近のソフトウェアでは、ほとんどの設定が既定で有効になっており、無効になっているものは、何か重大な副作用を引き起こす可能性があります。

また、未知の脅威を緩和するためにさまざまなスイッチを入れると、システムが不安定になり、必要な作業を行うことができなくなる可能性があります。SPFE と量子物理学から考えると、セキュリティ対策を実装した後には再分析を行う必要がありますが、多くの組織はこれを怠っています。実際、組織はそもそも脅威を分析できていません。実際に脅威を分析することから始めれば、本当に効果がある対策は、アカウント名の列挙に匿名の制限を適用したり、大規模なアクセス制御リストの変更を行うことではないことがわかるでしょう。

本当に効果がある対策は、システムで特定のサービスを提供する必要があるかどうか、および必要な場合はどのユーザーに提供するかを判断した後で、ポリシーを適用することです。また、絶対に通信する必要があるシステムとユーザーとの通信のみを許可するようにします。さらに、すべてのアプリケーションとユーザーが必要最小限の特権で実行されるようにすることも、効果があります。つまり、理にかなったセキュリティ対策を実装し、面倒な分析を行って、各システムがそれぞれのセキュリティを保証できるようにすることが重要です。

この理由から、現在のセキュリティ対策としては、サーバーとドメインの分離 (microsoft.com/sdisolation)、Windows Server® 製品で提供されるセキュリティの構成ウィザード、Windows Server 2008 の役割を管理するサーバー マネージャ ツールなどが使用されています。これらのツールを使用すると、サポートが必要なシナリオを理解するためのプロセスを実施したうえで、適切にシステムを保護できます。確かに、これらのツールによって、だれもが望む万能薬が提供されるわけではありませんが、特定のソフトウェアの購入動機となった機能を実行できるだけの構成は提供されます。

必要な場所にセキュリティを適用する

ここまでの説明から、他の手段や単純なセキュリティ対策には依存できないことがおわかりいただけたと思います。現在は "境界" や "内部ネットワーク" という概念が意味を成さなくなっているので、各資産が自らを保護できなければなりません。

組織のネットワークの大半は、扱いやすいとは言いがたい状態です。このことを理解し、お決まりのセキュリティ強化ガイダンスを頼みの綱として使用するのではなく、適切な手順を踏む必要があります。まずは、要件を把握します。その要件を理解している他の人の意見も聞くようにしてください。

最近、Web キャストのあるゲストが、小規模の企業に属するユーザーに、米国国土安全保障省のサイトから Internet Explorer® 用のセキュリティ強化ガイドをダウンロードするよう勧めていました。なぜ私たちは、軍と国家の安全を守ることが任務である政府機関が、小規模の企業で使用される Web ブラウザのセキュリティ対策について実用的なガイダンスを提供できると考えてしまうのでしょうか。これは、まだコンピュータ セキュリティの分野に陳腐な論理が蔓延していることを示す良い例です。立派な政府機関が発行したガイダンスなのだから、強力なセキュリティを実現できると考えてしまうのです。

通常は、2 つに 1 つの選択をしなければなりません。つまり、"強力なセキュリティ" か "脆弱なセキュリティ" のいずれかです。より適切な言い方をすると、"強力なセキュリティ" か "適切なセキュリティ" のいずれかです。セキュリティは、画一的なものではありません。

実際、すべての組織に強力なセキュリティが適しているわけではなく、通常ほとんどの組織にとって、強力なセキュリティは不要です。ここが目標とする最終地点ではありません。これは、攻撃を受けた場合に人命に危険が及ぶようなシステムを対象とした特殊な構成です。この構成が環境のリスク プロファイルと脅威モデルに該当する場合は、強力なセキュリティを使用してください。

該当しない場合は、もう少し適切な対策を使用する必要があります。おそらく、構成可能なセキュリティ対策は、既定で中程度のリスク プロファイルに適合するように、適切に設定されています。現在のほとんどのマイクロソフト製品で使用されている、この既定の状態によって、セキュリティと、ユーザビリティ、有用性、およびパフォーマンスとの間で適切なバランスが取れた構成が提供されます。セキュリティ強化に限って言えば、通常は既に必要な設定が構成されています。

次に、他のセキュリティ関連作業について検討する必要があります。まずは、TechNet セキュリティ センター (microsoft.com/technet/security) を参照するとよいでしょう。もちろん、『Windows Server 2008 Security Resource Kit』などの書籍を参考にしてもかまいません。

結局はリスク管理が重要

ここまでの内容から、どのような方向に話が展開されるか、もうおわかりかもしれません。つまり、重要なのは "リスク管理" です。ハイゼンベルグの不確定性原理で伝えたかった重要なメッセージは、トレードオフが存在するということです。この部分については、難しい理屈はありません。

ただし、シュレディンガーの猫の話で伝えようとしたメッセージは、ほとんどの人が考慮していません。問題のあらゆる側面を分析し、トレードオフを判断することだけが重要なのではなく、実装した対策がもたらす変化も考慮する必要があります。適切なリスク管理戦略を構築するには、実装した変更がシステムに与える影響と、その変更がリスク緩和戦略の一環として実装されたのか、それとも別の理由で実装されたのかを考慮することが重要です。

年次損失予測

リスクの定量化には、年次損失予測 (ALE) 式という手法がよく使用されます (図 2 参照)。この手法は、多くのセキュリティ認定講座で紹介されています。標準的な ALE は単純で、問題が発生する確率と、それぞれの問題が発生したときにかかるコストを特定し、これら 2 つの値を掛け合わせます。これにより、セキュリティに関する問題が発生した場合に必要になることが予想される費用を年単位で算出できます。リスクのコストが高い場合は、緩和策を実装します。

Figure 2 ALE is the probability of a loss, multiplied by the cost of the loss per incident

Figure 2** ALE is the probability of a loss, multiplied by the cost of the loss per incident **(画像を拡大するには、ここをクリックします)

ただし、標準的な ALE では緩和策のコストを適切に評価できないという問題があります。緩和策自体にコストがかかるだけでなく、緩和策の多くは二次的な問題を引き起こすので、それに関連するコストも発生します。

最も一般的なセキュリティ対策の 1 つであるアカウント ロックアウトについて考えてみましょう。多くの組織はアカウント ロックアウトを展開し、表面上は攻撃者がパスワードを推測できないようにしています。攻撃者が 1 つのパスワードを推測できる確率は、数学的に計算できます。また、工夫すれば、攻撃者がパスワードを推測できた場合に発生する攻撃の平均的なコストも予測できます。多くの組織は、この 2 つの数値に基づいて ALE を算出し、現在の状態では危険であると判断して、アカウント ロックアウトを実装しています。

ただし、アカウント ロックアウトによってかかる特定のコストが考慮されていない可能性があります。もちろんアカウント ロックアウトの実装自体にもコストがかかりますが、このコストはそれほど大きくありません。正確には、アカウント ロックアウトに伴う二次的な問題のコストを含める必要があります。

まず、ユーザーのアカウントのロックを解除するヘルプ デスクのコストがかかります。アカウントがロックアウトされる期間が非常に短かった (15 分間など) としても、この間の生産性は失われます。これは、問題が発生するたびにかかるコストとして計上され、特定の期間内でその問題が発生する確率と掛け合わされます。この場合は、予想されるロックアウトの発生回数 (この数値はログで確認できる場合があります) とコストを掛け合わせます。

また、ユーザーのフラストレーションも考慮する必要があります。過去の事例から、ユーザーは、アカウント ロックアウトが適用された場合、入力ミスの可能性が低くなるように、より単純なパスワードを使用することがわかっています。したがって、この緩和策を実装しても、該当する問題が発生する確率が完全にゼロになることはありません。

また、緩和策を実装することによって、実装前は存在しなかった脆弱性がもたらされる可能性もあります。アカウント ロックアウトの例では、攻撃者がこの特性を利用して、誤ったパスワードの推測を繰り返すことで、ネットワーク内のすべてのアカウントを無効にすることが考えられます。この場合も、問題が発生する確率と共に、発生した場合のコストを考慮する必要があります。

すべての要素を考慮すると、損失予測式を変更する必要があることは明らかです。まず、問題が発生する確率を変更する必要があります。この確率は以前に比べて低くなりますが、上記のとおりゼロになることはないでしょう。それぞれの問題が発生したときにかかるコストも変化している可能性があります。そして、問題が発生する確率と問題のコストを掛け合わせた値に、緩和策自体のコストを足す必要があります。このコストは、実装にかかるコストと、すべての二次的な問題の年単位のコストの合計を足したものです。また、それぞれの年単位のコストは、二次的な問題が発生する確率と、それぞれの問題の発生時にかかるコストを掛け合わせたものです。方程式を少し単純に表すと、図 3 のような、より精度の高いリスク分析方程式が得られます。

手直しされた図 3 の方程式を使用すると、特定の問題に関するリスクをより正確に分析できます。既に多くの組織が、この方法でリスクを分析しています。しかし、依然として多くの組織は、単純な見方でしかリスクを捉えることができず、緩和策の影響を分析する必要性に対して十分に目を向けていません。図 3 のような ALE の方程式を使用することで、この必要性をしっかりと認識できるようになるでしょう。

Figure 3 Considering the additional costs of mitigation

Figure 3** Considering the additional costs of mitigation **(画像を拡大するには、ここをクリックします)

まとめ

この記事を読んだ後に何か行うとすれば、それはセキュリティ戦略の基盤となっている従来の概念を疑うことです。情報セキュリティの分野では、変化が少ないステレオタイプの考え方に基づいて何かを行うことが非常によくあります。しかも、その前提の多くは、今となっては時代遅れです。

攻撃は変化しています。今や攻撃者は、金銭的な利益を得るため、国家を支配するため、そして自らの信条のために、プロとして活動しています。セキュリティを強化できないセキュリティ対策に、無駄な時間やお金を費やす余裕などありません。つまり、より高度な方法でリスク管理を行う必要があります。

まず、どのような対策にもトレードオフがあることを認識する必要があります。何かを 100% 知ることなどできません。

また、運用中のシステムには相互依存関係が存在することを理解する必要があります。セキュリティ上の変更をシステムに導入することで、システム自体に変更が加えられるので、システムを再度分析する必要があります。

可能であれば、この分析作業は、実際に変更を実装する前に行ってください。この理由は、変更後、効果的な結果ではなく損害をもたらすような重大な影響がシステムに与えられることが非常に多いからです。このような変更の分析を行うよう通知する優れた分析ツールを使用すれば、再分析を忘れることは少なくなるでしょう。

また、人的な要因も忘れないでください。情報セキュリティに関するどのような作業を行う場合でも、その目的は、企業と組織内のユーザーが、できるだけ安全に業務を進められるようにすることです。

最近行ったプレゼンテーションの中で、私はウイルス対策プログラムを実行するためにコンピュータを購入するユーザーなど 1 人もいないことを指摘しました。セキュリティは、その担当者にとっては最大の目標ですが、企業にとって最大の目標ではありません。組織は、セキュリティが目下最大の優先事項であるという理由で、とりあえず我慢してセキュリティに取り組んでいるにすぎません。情報セキュリティ グループが存在しているのは、ビジネスを支えるためであって、その逆ではないことを決して忘れないでください。この事実を無視すれば、ユーザーは自分が理解または同意していない場合でも、業務を遂行するために、あらゆる手段を使用してセキュリティ制御を回避するでしょう。

Jesper M. Johansson は、セキュリティ ソフトウェアの開発に取り組むソフトウェア アーキテクトで、TechNet Magazine の編集にも携わっています。管理情報システムの博士号を持ち、セキュリティ分野で 20 年以上の経験があります。また、エンタープライズ セキュリティの Microsoft Most Valuable Professional (MVP) でもあります。最新の著書には、『Windows Server 2008 Security Resource Kit』があります。

© 2008 Microsoft Corporation and CMP Media, LLC. All rights reserved; 許可なしに一部または全体を複製することは禁止されています.