多次元的に脆弱性悪用のプロセスを分析

上田欣典氏(以下、上田):では、もう少し詳細に見ていきたいと思います。

我々は、Windows製品を世界中でみなさまにお使いいただいてるなかで集まってくる、非常に大きな「テレメトリー」というデータを持っています。

「MSRC」と書いていますが、これは、弊社が出しているセキュリティに関するレポートなどの情報です。ほかのパートナーのお客様、オープンソース、ソーシャルメディアといったような外部のありとあらゆるデータを集めて分析をします。

そのほかにも、弊社内でのセキュリティチームの活動のデータやアドホックに行っていた脆弱性を悪用した攻撃の内部開発の情報など、そういったものを集めて多次元的に脆弱性悪用のプロセスを分析します。

ここで出てくるのは、根本原因や脆弱性をいかに悪用するか、その攻撃手法、対象範囲、リスク軽減策の効果を分析します。その上で、脆弱性悪用のデータストアに蓄積して、リスクをいかに軽減するかという方策を考えるわけなんですね。

もう1点あります。データソースとして、非常に強いものの1つが「サイバークライムセンター」です。

このサイバークライムセンターは、セキュリティを中心にやっている部隊なんですけれど、実際には攻撃をするハッカーなど、現場に行って取り締まっています。本当の攻撃で使われているものなどのデータも持ち合わせているんですね。

このサイバークライムセンター、実は日本にもあります。ここには、蔵本(雄一)という、非常に有名な社員がおりますので、なにかあればご相談ください。

前例のないシナリオに重点を置いて、攻撃を開発する

実際に攻撃を行って評価するやり方についてご紹介します。

ここで、先ほどの「レッドチーム」という概念が出てきます。実際に攻撃を行うとはいえ、どうすればいいかというところに、レッドチームの概念を適用しました。

先ほども申し上げたように、弊社オンラインサービスでは先行してレッドチームという概念を取り組んでいました。そのため、レッドチーム、ブルーチームの概念は、Windowsの開発現場にも持ち込んでいます。ふだん、あまり紹介しないWindows開発チームの構成をご紹介したいと思います。

レッドチームは、Windows Offensive Security Researchというチームが行っています。すごくアグレッシブなタイトルついていますよね。「Windowsを攻撃するようなセキュリティをリサーチするチーム」ということなんですね。

ブルーチームは、「Windows Defender」「Windows Defender ATP」という、弊社のセキュリティ製品のチームが担当しています。

ここで申し上げたいことは、ちゃんとこういったチーム構成をして、開発現場で取り組んで、その評価を行った成果をしっかりWindowsだけでなく、守る側の「Defender」「Defender ATP」という製品にも、フィードバックして取り込んでいるんですね。

ちなみに、今回このセッションの内容を発表するにあたって、Windows Offensive Security Researchというチームのデイビット・ウェストンという人にコンタクトを取りました。彼は、このWindows Offensive Security Researchチームのマネージャーです。

彼に聞いたところ、このチームは、実は元ハッカーといった、世のなかのことはぜんぜんくわしくないけれど、相手への攻撃だけは知っているような、すごくディープな人間が集まった、優秀なチームだと言っていますね。余談ですけれど。

レッドチームが実際にやってきたのが、以下のポイントになります。

1つ目は、前例のないシナリオに重点を置いて、攻撃を開発する。そして、新たな攻撃手法を発見して、対策を講じていく。さらには、攻撃手法をブルーチームと共有して、攻撃の検出方法を見つける。そして、Windows10の設定にセキュリティを取り込む、というところです。

この攻撃演習、シミュレーションに基づいたモデルが、今、マイクロソフトのセキュリティ戦略を支える柱になっています。

ビッグデータに基づいて、脆弱性を排除する

では、「リスク軽減」という戦略に基づいて、いかにしてWindows10の開発でセキュリティの向上を行ってきたのかをご紹介していきたいと思います。

まずは、Windows10の開発のセキュリティ強化で、戦略として攻撃者側のコストをあげるところに重点を置いてます。

世のなかに例えるならば、1万円のニセ札を作るのに、同じような値段のコストがかかると、作っている意味がない。実際の攻撃を行うコストが非常に高くなる戦略に基づいて行っています。

なにをやってきたかというと、まずはリスク軽減と言いつつ、脆弱性を取り除くところを行っていきます。その上で、仮に脆弱性をすべて取り除けなかったとしても、それを悪用した攻撃をやりにくくします。

それでも攻撃をされてしまうこともあります。その場合は、被害を抑制する。そして、上の1から3がうまく機能しなかったときは、少しでも攻撃者の利益を下げる。そういった戦略でセキュリティを行っています。

では、少しご紹介していきます。

まず、脆弱性を取り除く。これは、先ほどのビッグデータに基づいて、個々の問題を探して修正するのではなくて、影響の大きい脆弱性を特定して、排除する。これがメインになります。実際に、こちらがこれまでに行われていた攻撃に使われた脆弱性がトレンドです。

詳細なところは紹介しませんけれど、ここで言いたいことは、左上の赤丸のところ、2006年から2007年くらいにかけては、「Stack Corruption」という脆弱性で攻撃を行われていました。この脆弱性をついた攻撃は、非常に単純で種類の多いものなんですね。

典型的なものは、OSのビルトインの機能として、防御できるようになっています。

これで、簡単な攻撃が減りました。その後に出てきたのが、「Use After Free」という攻撃です。

Flashで使われていたような攻撃なんですが、脆弱性を使って行うので、非常に難しい上に、コストがかかるんです。しかし、増えてきているため、ここで対策を行い、減らしています。

「Use After Free」に関しては、例が1つあります。Windows10では「ガベージコレクション」という機能を追加しています。これは、メモリのものですね。

使用した後のメモリの領域に対して、攻撃者が攻撃の行動を仕込むものなんですけれど、「メモリガベージコレクション」という機能がないと、そういった攻撃できてしまいます。しかし、この機能を追加することで、この攻撃ができなくなるんです。

これは、Windows10のバージョン1507、昨年2015年7月に出たWindows10のバージョンからEdgeに搭載されています。このように、製品に反映しているんですね。

アメリカ国防省が使いたがった「攻撃しにくくする機能」

さらに、次は脆弱性を取り除くものです。仮にすべての脆弱性を排除することができなかった場合、脆弱性を悪用した攻撃手法ついて、対策を打つ。攻撃をやりにくくするというものです。

その1つとして追加された機能が、「VBS」です。例えば、OSの領域とIDなどの重要な情報を格納する領域をわけることで、仮にOSに侵入されても、IDは守られる。

キーノートで、みなさんハッキングのデモをご覧になったと思いますが、あれを防ぐものとして、「Credential Guard」という機能の紹介がありました。これは「Credential Guard」に応用されているものです。

この「Credential Guard」は、非常にWindows10のセキュリティ機能として、一番特徴的なものなので、ぜひ覚えて帰っていただきたいと思っています。

さらには、アメリカの国防総省で、Windows7のマシーン400万台をWindows10にアップグレードすると決めたんですけれど、その一番の理由が、この「Credential Guard」を使いたかったからなんですね。このように、「攻撃しにくくする機能」が取り込まれています。

続いては、仮に脆弱性を悪用した攻撃をすべて防げなかったとしても、被害を抑制する対策です。

こちらも「App Container」です。アプリケーション単位で領域分離することで、仮に1つアプリケーションがやられても、ほかに影響を及ばさない。そのため、被害をどんどん拡大させません。

最近、公共機関のお客様などで、よく「Web分離」といった言葉を聞かれていると思います。まさにこのテクノロジーを適用できるので、ぜひ公共のお客様と対峙される際には、こういった言葉を出して「知ってるぞ」といった雰囲気を醸し出していただければと思います。

「App Container」は、Windows8から搭載されて、もちろんWindows10にもあります。Edgeにも組み込まれています。そして、最近発表なりました「Windows Defender Application Guard」といった機能などにも応用されています。

攻撃者にもたらされる投資対効果を最小化する対策

今までのリスク軽減の対策がすべてダメだったとしても、少しでも攻撃者の利益を下げること。攻撃者が攻撃する機会、範囲を制限する。そうすることで、攻撃者にもたらされる投資対効果を最小化する対策になります。これは、まさにオペレーションの話なんですね。

これには3つあります。

1つ目は、迅速に対応するということで、脆弱性ついた攻撃が出た場合に、弊社のエンジニアリングチームを動員し、脆弱性に対して短時間で修正プログラムを開発して出します。

2つ目は、迅速に保護。「Smart Screen」といったテクノロジーを使用して、攻撃から保護するというもの。これまであまりちゃんとできていなかったパートナーとの連携を深めて、エコシステム全体で、保護していきます。

そして3つ目は、迅速に更新。出したセキュリティ更新プログラムを、少しでもユーザーのみなさまに適用していただけるように、広範囲に展開して、インストールしていただく。

駆け足になりましたけれど、最後のまとめとです。

レッドチームは、実際の攻撃を行ってセキュリティを向上します。そして、Windowsのセキュリティの戦略は「予防」「リスク軽減」の2つです。

さらにリスク軽減は、ビッグデータと攻撃のシミュレーションで行い、成り立っています。そのため、みなさんのWindows10、Edgeは、常に最新の脅威に対する強力な、そして史上最高のセキュリティを搭載しておりますので、ぜひWindows10をご利用いただければと思います。