ニュース

アンチウイルスやEDRを逆手に取りWindowsを破壊する“合気道ワイパー”

EDRやアンチウイルスソフトには、検出と削除の2つのタイミングがあり、この2つの動作の間に細工できるスキ:Time-of-check to time-of-use(TOCTOU)が生じる

 SafeBreach Labsのセキュリティ研究者Or Yair氏は、アンチウイルス(AV)ツールやエンドポイント保護(EDR)ツールが持つ高い権限を悪用し、特権のないユーザーでも任意のファイルを削除できる複数の脆弱性について詳細を発表した。この脆弱性はAVやEDRの高い権限を逆手に利用しているため“合気道ワイパー”と名付けられた。7月から8月にかけて影響を受ける一部ベンダーに報告され、現在は既に修正されている。

 ファイルのワイプには管理者特権が必要となるほか、そもそもワイプをするソフト(ワイパー)自体もプロセスとして認識されてしまうため、悪用することが難しい。そのためYair氏は、当初より高い権限を持ってワイプができるEDR(やAV)のツールの力を逆手にとって悪用する方法を考案した。

 EDR(やAV)には、悪意のあるファイルを認識するタイミングと、それを削除するタイミングがあり、この間に何らか細工をする機会がある。これをTime-of-check to time-of-use(TOCTOU)の脆弱性だと呼ぶ。合気道ワイパーは、まさにこのTOCTOUの脆弱性を突くものだ。

 それがNTFSで作成できる「ジャンクションポイント」の利用だ。ジャンクションポイントとは、別のドライブやボリューム、フォルダを、特定のフォルダの下にマウントする機能。例えばCドライブの下に、Dドライブの特定のフォルダのジャンクションポイントを作成しておけば、あたかもCドライブのいちフォルダを扱うかのようにDドライブにアクセスできる。この機能自体は「シンボリックリンク」と酷似しているが、シンボリックリンクの作成には管理者権限が必要であるのに対し、ジャンクションポイントは必要がない。

 具体的には、まず権限を必要としないディレクトリ下に、削除したいファイルと似たファイルのパス、そして同じファイル名の悪意のあるファイルを置く。EDRがそれを検出したあとタイミング(つまりTOCTOU)で、悪意のあるファイルを消して、ターゲットファイルのジャンクションポイントに置き換える。するとEDRは次の削除のタイミングでジャンクション先のファイルを消去するため、ターゲットのファイルを削除できる、というものだ。

まず、ターゲットのファイルと似た構成のディレクトリを別途用意し、そこに同名の悪意のあるファイルを置いてEDRやAVに検出させる
TOCTOUのタイミングで悪意のあるファイルを削除し、ジャンクションポイントに置き換えることで、EDRやAV自身にターゲットのファイルを削除させる
似た構成のディレクトリを削除し、ジャンクションポイントを作成するMinikatz

 ただこのままでは、ほとんどのEDRがファイルシステムを正しく制御でき、なおかつジャンクションに置き換えたタイミングで、脅威として認識されなくなったため、削除されなかったのだという。

 そこでYair氏はWindowsが持つファイルハンドルの仕組みを使用してみることにした。つまり、悪意のあるファイルが、ソフトによって開かれたままになっているということをEDRに誤認識させ、直ちには削除の許可を与えないというものだ。するとEDRやAVは脅威の削除には再起動が必要だと警告してきたのだという。

 この再起動後の削除について、2つの現象が観察できるが、このうちの1つはWindowsのデフォルトのAPIを使用して次の再起動後に削除するものだった。そしてこのデフォルトのWindows APIは、MOVEFLIE_DELAY_UNTIL_REBOOTフラグを指定したMoveFileEx関数であり、関数がこのフラグを受け取るとPendingFileRenameOperationsというレジストリ値に、再起動後に削除するパスのエントリを追加する。

 このフラグの利用には管理者特権が必要であったのだが、Windowsは再起動後になんとこの自身の標準機能によって、ジャンクションポイントで指定された通りのファイルを削除し始めたのだという。ちなみに、本来Windowsのランサムウェア保護機能によって保護されたフォルダやファイルが変更/削除されることが防げるはずなのだが、EDRとAVはシステム上で最も信頼されているエンティティであったため削除を防げず、こうして合気道ワイパーが完成してしまったのだという。

そのままでは動作しないので、あえて他のプロセスでハンドルさせ、削除できないようにする。すると再起動を求めてきたのだという
するとWindows標準のAPIによって、次回再起動時のファイル削除リストとしてレジストリに加えられ、削除される

 冒頭で述べた通り、このEDRやAVの不具合は既に報告済みで、問題が存在する製品に対して既に修正が適用されている。

  • Microsoft Malware Protection Engine: 1.1.19700.2
  • TrendMicro Apex One: Hotfix 23573 & Patch_b11136
  • Avast & AVG Antivirus: 22.10

 ただし、SafeBreach LabsはすべてのEDRやAVを調査したわけではないほか、あくまでもEDRやAVを悪用した一例であり、まだ危険性が潜んでいる可能性はあるとしそのほかのEDRやAVベンダーに改善協力を求めた。加えて、今後もこうしたEDRやAVのような高い特権を持つソフトウェアを悪用したワイパーが登場しないとも限らないため、“セキュリティ管理を行なったからと言って組織が安全とは限らない”と警鐘を鳴らしている。

今回調査したEDR/AVソフト