保護されたシステムファイルも置き換えられる脆弱性

ほぼこもセキュリティニュース By Terilogy Worx

VPN製品にはいろいろな製品がありますが、その一つにCisco AnyConnectというものがあります。
このVPN製品のクライアントソフトウェアに脆弱性があり、修正された新しいバージョンが案内されています。

存在してしまっていた脆弱性は何なのかとみると、VPN接続時に更新動作が自動実行され、その際に任意のファイルを削除してしまうことが脆弱性だというのです。
一体どういうことなのでしょう。

  • VPNの接続が開始されると更新動作が開始される
    更新動作は、後述のインストーラーを起動するというものです。
  • 脆弱なインストーラーはインストール操作に必要なファイルを用意する
    一時ディレクトリの下にランダムな部分を含む名前でディレクトリを作ります。
    そしてその中身が空っぽでなかった場合にその中身を全部削除します。

以上が、脆弱性のある問題動作になっています。
普通のことに思えます。
どうしてこれが脆弱性なのでしょう。

ここでこの削除の動作を実行しているのはSYSTEM権限であるということがポイントになってきます。
そしてこの動作を悪用することで任意のファイルを削除することができるようになってしまうというのです。

まだ、この段階でも普通のことに思えます。
削除されるのは困ると思いますが、なにかを変更されてしまうとか持ち出されてしまうという表現に比べてなにかを削除されるというのはいまいち危険を感じません。
では、この削除できるということがどのように作用するのでしょうか。

そもそもとして、WindowsのOSを構成する重要な要素であるファイルはたくさんあります。
特にWindowsディレクトリのsystem関連のファイル群などがそうです。
こういったファイル群は普通の操作では削除はできませんし、置き換えることもできません。
それはそういったことができないように保護されているからです。

でも、この保護が効かないタイミングがあるのです。

なにかのアプリケーションをインストールすることを想像してみましょう。
そのアプリのインストールに際し、いくつものファイルがシステムに配置されます。
そのアプリそのもののために作られたファイルもあるでしょうし、なかにはDLLなどのような形式の他のアプリからも使える形式のファイルもあるでしょう。
そしてさらにWindowsディレクトリのなかに配置されるものもあるかもしれません。
こういった状況でもアプリのインストールを安全に実施できるように、インストーラーは機能を持たされています。
インストールを進める前に元あったファイルが置き換えられる場合にはそれを退避してファイルを置き換えます。
何事もなくインストールが成功した場合はよいのですが、そうでなかった場合に元に戻せるように置き換え前のファイルが保持されるのです。

ここです、ここがポイントになります。
このインストーラーが退避した際に元のファイルを保持する場所を削除してしまうのです。
そして悪意ある機構は、退避されたファイルが置かれているはずの場所に、悪意あるファイルを配置します。
この退避されたファイルが置かれているはずの場所であるディレクトリも元々は権限が厳しく勝手にファイルを配置することができるものではないのですが、このディレクトリもすでに脆弱性を悪用して削除した後同じ名前で作られた権限制限の緩いものになってしまています。
このため退避されたものがあるはずの場所も内容も、ごっそり別のものに置き換えることができてしまいます。

あとはインストーラーを失敗させれば、通常は変更することのできない保護された場所にあるファイルもインストーラーがうまく置き換えてくれるということになります。
この脆弱性を悪用すれば、Windowsの保護されたファイルも置き換えることができます。

驚きました。
ファイルを削除できてしまうことが脆弱性だったというわけです。

参考記事(外部リンク):Cisco AnyConnect Secure Mobility Client Software for Windows and Cisco Secure Client Software for Windows Privilege Escalation Vulnerability
sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-ac-csc-privesc-wx4U4Kw

参考記事(外部リンク):ABUSING ARBITRARY FILE DELETES TO ESCALATE PRIVILEGE AND OTHER GREAT TRICKS
www.zerodayinitiative.com/blog/2022/3/16/abusing-arbitrary-file-deletes-to-escalate-privilege-and-other-great-tricks