1. トップ
  2. 新着ニュース
  3. IT
  4. IT総合

Windowsのパス変換に問題、アクセスできないファイルを作って悪用可能

マイナビニュース / 2024年4月30日 7時31分

画像提供:マイナビニュース

SafeBreachはこのほど、「MagicDot: A Hacker's Magic Show|SafeBreach」において、WindowsにはDOSパスからNTパスへ変換する際に「末尾からドットおよびスペースを削除する」問題が存在すると伝えた。この問題は「CVE-2023-36396」および「CVE-2023-32054」にて追跡される脆弱性に影響を与えたという。

○DOSパスとNTパス

Microsoft Windowsにはファイルやディレクトリの場所を示すパスとして、「DOSパス」、「NTパス」、「UNCパス」などが存在する。普段目にすることの多いパスは「DOSパス」と呼ばれるもので、「C:\Users\USERNAME\Documents\example.txt」のような表記となる。対して「NTパス」は先頭に「\??\」を付加した「\??\C:\Users\USERNAME\Documents\example.txt」のような表記となる。

Windowsは内部でNTパスを使用しており、API(Application Programming Interface)を呼び出す際にDOSパスは自動的にNTパスに変換される。この変換には「RtlpDosPathNameToRelativeNtPathName」と呼ばれる関数が主に使用され、末尾のドットとスペースが削除される。

○MagicDotの悪用

SafeBreachはこの問題を「MagicDot」と名付けている。攻撃者がファイル名の末尾にドットまたはスペースを含むファイルを作成した場合、MagicDotの影響により通常の手段ではこのファイルにアクセスすることはできず、さまざまな悪用が可能となる。また、ZIPアーカイブの内部に同様のファイル名を持つエントリーを作成した場合も、エクスプローラーからファイルにアクセスすることはできないとされる。

MagicDotの動作を利用すると特別な権限を持たない攻撃者でもルートキットのような動作を実現できるという。ディレクトリーに「example」というファイルが存在した場合、攻撃者は「example.」というファイルを作成することで「example.」を隠蔽可能となる。同様にディレクトリーの末尾にドットを含めることでディレクトリを隠蔽することも可能とされる(「C:\Windows.\System32\svchost.exe」など)。

この記事に関連するニュース

トピックスRSS

ランキング

複数ページをまたぐ記事です

記事の最終ページでミッション達成してください