日本マイクロソフト
セキュリティレスポンスチーム
セキュリティプログラムマネージャー
ゆりか先生(村木 由梨香)

「脆弱性の影響度が同じであれば、Windows 7だろうとWindows 10であろうと同じ」と思っている方は多いのではないでしょうか。

セキュリティ パッチで修正されるWindowsの脆弱性は、同じ脆弱性がすべてのバージョンに存在するケースが多くあります。しかし、「その脆弱性を悪用した攻撃は現実的に行えるのか?」という実際の影響度の観点からみると、Windows のバージョンごとに大きく異なります。

2016 年に修正した脆弱性のうち、「攻撃コードがすでに存在する」、あるいは「脆弱性の公開後30日以内に攻撃コードが作成される可能性の高い脆弱性」は、Windows 8.1が88件であったのに対し、Windows 10では1割以上減の74件まで抑えられています。

同じ脆弱性が存在してセキュリティ パッチが未適用であったとしても、Windows 10への攻撃はWindows 8.1よりも難しい傾向にあります。この影響度の差は、Windows に組み込まれている脆弱性への攻撃を失敗させる技術の進化の差が大きな要因となっています。

これまで、いわゆる「攻撃緩和技術」の基本的なものはWindowsに多く組み込まれていましたが、より最新の攻撃に対処できる技術は、マイクロソフトが無償で提供しているツール「EMET」で提供してきました。しかしWindows 10以降は、Windows の既定の機能としてこれも組み込むことで、どんな環境でも最新の攻撃に耐えれるようセキュリティを高めています。

さらにCreators Update では、EMETで利用されていたXML形式のプロファイル管理が可能となるなど、組織上の管理も柔軟に対応できるようになりました。

セキュリティパッチ適用と攻撃緩和の違いとは

セキュリティパッチが脆弱性そのものを修正するのに対して、攻撃緩和技術は「脆弱性を悪用する攻撃やウイルスなどのマルウェアが利用している手法を研究し、攻撃が実際に行われたことを検出し、失敗させる技術」です。この技術によって、パッチ適用までの脆弱性に対する攻撃リスクを減少させたり、パッチ公開前のゼロデイ攻撃に対するリスクを軽減できます。

例えば、Microsoft Wordのファイルの読み込み処理に脆弱性があり、悪意のあるコンテンツを含むファイルを読み込むことで脆弱性を悪用する攻撃が行われるとします。

ドキュメントを読み込んで脆弱性を悪用する処理が行われると、実際のプログラムの流れが、攻撃者が行いたい目的の処理(任意のコード)へと変更され、悪意のある処理が行われます。通常、セキュリティ 更新プログラムを適用すれば脆弱性自体が修正されます。そうなれば、悪意あるファイルを万が一読み込んだとしても、脆弱性を悪用する処理自体を実行できません。

これに対して攻撃緩和技術では、脆弱性が未修正の場合を想定します。脆弱性を悪用する処理が行われると、攻撃者の目的の処理へプログラムの流れが変更されてしまいますが、この処理の流れの変更や攻撃コードの実行自体を検出して処理を中断。プログラムを異常終了させるなどの対策を講じることで、攻撃を最後まで完了させずに防御するのです。

防御したゼロデイ攻撃の例

こうした緩和技術はWindows 10から高度化されており、特に、標的型攻撃で利用されているゼロデイ攻撃への防御に役立っています。

2016年以降にマイクロソフトが観測しているゼロデイ標的型攻撃のうち、少なくとも3件はWindows 7とWindows 8.1で攻撃者の悪用コードが実行されて攻撃が成功していました。しかしWindows 10では、同じ脆弱性が存在していたにもかかわらず悪用コードが実行できず、攻撃が失敗に終わっていたことが確認されています。

このように脆弱性が存在して、仮にセキュリティ パッチが未適用であったとしても、Windows 10への攻撃は極めて難しくなっています。こうした状況から攻撃者は、より攻撃しやすい古いOS(Windows 8.1以前)を狙う傾向が見られています。実際に下記の標的型攻撃では、攻撃の効率化と発覚を防ぐため、「Windows 10の環境では、攻撃コードを実行しない」といった措置を講じたものが見つかっています。

Windows 7
Windows 8.1
Windows 10
2016年11月
STRONTIUMによる
米シンクタンクへの標的型攻撃
攻撃成功 攻撃防御
2016年11月
Henkrayの韓国における標的型攻撃
攻撃成功 攻撃防御
2017年03月
Zirconiumによる標的型攻撃
攻撃成功 攻撃防御

次回は、Windows 10で実際に提供されている緩和策と、Creators Updateで提供される新機能を紹介していきます。