パスワードを忘れた? アカウント作成
16382599 story
バグ

セキュリティソフトウェアに任意ファイルを削除させることが可能な脆弱性 26

ストーリー by nagazou
こわっ 部門より
headless 曰く、

マルウェア検出・削除の仕組みを悪用して非特権ユーザーが任意ファイルを削除可能な脆弱性が複数のセキュリティソフトウェアで見つかり、報告を受けた各社が修正を行ったそうだ (SafeBreachのブログ記事Neowin の記事Dark Reading の記事Black Hat Europe 2022 の告知記事)。

この脆弱性は検出したマルウェアがロックされていて削除されない場合、Windows の再起動後に削除を実行する処理に存在する。攻撃者は一時ディレクトリ内に削除するターゲットファイルと同じ名前のマルウェアファイルを作成し、そのままハンドルを閉じずに待機する。セキュリティソフトウェアがマルウェアを検出し、再起動後の削除を予約したら一時ディレクトリを削除し、同じパスでターゲットファイルが格納されているディレクトリを示すようにディレクトリジャンクションを作成する。あとは Windows が再起動されるとターゲットファイルが削除されるという仕組みだ。

発見した SafeBreach は 11 本のセキュリティソフトウェアをテストし、Microsoft Defender・Microsoft Defender for Endpoint・SentinelOne EDR・TrendMicro Apex One・Avast Antivirus・AVG Antivirus の 6 本が影響を受けることを確認。Palo Alto XDR・Cylance・CrowdStrike・McAfee・BitDifender の 5 本は影響を受けなかったという。なお、Microsoft 製品の場合、ターゲットファイルだけでなくファイルが格納されているディレクトリごと削除されるとのこと。

この脆弱性を利用して SafeBreach が作成したワイパーツールは日本の合気道にちなんで「Aikido Wiper Tool」と呼ばれている。ファイル削除はセキュリティソフトウェアが実行するため検知されることはなく、非特権ユーザーとして実行してシステムを起動不可能にしたり、特権ユーザーにアクセスが制限されている重要なデータを消去したりといったことが可能だ。セキュリティソフトウェアが検疫したファイルを格納するフォルダーを削除することも可能だという。

報告を受けた Microsoft は CVE-2022-37971、TrendMicro は CVE-2022-45797、Avast と AVG は CVE-2022-4173 を割り当て、それぞれ脆弱性を修正している。SentinelOne からは連絡が来ていないとのことだ。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by pokovanx (48181) on 2022年12月14日 19時39分 (#4380593)
    自分が使用しているソフトの状況が判らないのはモヤモヤしますね
    Webrootって言うんですけど
  • by Anonymous Coward on 2022年12月14日 17時29分 (#4380516)

    実はジャンクション機能の仕様の脆弱性なんじゃないかなぁ。

    • by Anonymous Coward

      権限がないと消せないなら本質的にはジャンクション機能の問題ではなさげ。
      特権を持ってるセキュリティソフトがこれを盲目的に使うから問題になる。

      と記事から判断してたんだけど、そうじゃないのかなあ?

      • by Anonymous Coward

        致命傷になるという点ではジャンクション周りの取り扱いミスだけど、
        任意のファイルを消させる的が出来るという点では、レースコンディション系バグでよくあるミス。
        検知したあとに「すり替えておいたのさ!」が出来る間があるのが問題だからね。

        検知から削除までをアトミックに実施できないなら、ブートプロセスの初期段階でロックされる前に再チェックして削除するしかない。

        • by Anonymous Coward

          TxFを再設計して載せるとか。。やんないだろうなぁ。

        • by Anonymous Coward

          と言うかWindowsの機能じゃなくて自前で削除すべきだね。
          ハンドル閉じられるまで粘ったりハンドル強制的に閉じるのもありかな。
          どうせ強制削除でファイル参照してるプロセスはエラー踏むし。

          # ジャンクションとアンチウィルスと言えば、
          # XP時代、ジャンクション先に置いてたハックツールにノートンがブチ切れて消そうとするも、
          # ジャンクションをうまく扱えずに削除失敗ポップアップが無限ループしてたのを思い出す……

    • by Anonymous Coward

      UNIXなら典型的なsymlink attackでアプリは当然対策していなければならないけど、Windowsはsymlink機能が後付けなのでこうなる。Windowsでsymlinkに管理者権限とかデベロッパーモードとかが必要な理由なのだがsymlinkと類似の機能であるジャンクションはなぜか不要なんだよな。

      • Re: (スコア:0, 参考になる)

        by Anonymous Coward

        おまえ何か勘違いしてるな

        この脆弱性の場合、UNIXにおけるsymlinkならば、何ら対策などいらない
        なぜならsymlinkファイルに対して削除したところで、実体には影響なくsymlinkファイル自体が削除されるだけだからだ
        必要なのはApacheのFollowSymlinkのように、symlinkファイルの指す先まで辿るか否かということの方

        UNIXなら仮にhardlinkされていたとしても問題ない
        削除したとしてもhardlinkカウンタがひとつ減るだけの話であり
        カウンタがゼロになるまで、どこか別の場所にあるhardlinkされていたファイル自体は存在し続ける

        この脆弱性で言及されているWindowsにおけるジャン

        • Re:これって (スコア:4, 参考になる)

          by taka2 (14791) on 2022年12月14日 20時17分 (#4380611) ホームページ 日記

          この問題はどちらかというと、「Windowsが提供するファイル削除予約機能」の脆弱性じゃないかな。
          ファイル移動のAPIである MoveFileEx(変更後ファイル名をnullにすれば削除もできる)は、
          フラグ指定により、即座に実行せず再起動時に処理するようにできる。
          「ロックされているファイルも操作できる」という便利機能であり、
          Windowsで動くアプリがよくアップデート時に再起動を促される羽目になる元凶。

          こいつが、名前ベースで予約してるから、
          「予約してから再起動するまでの間に移動元に指定したファイルが変更されても、変更後のファイルが処理対象になる」
          ことで、今回の問題がおきる。
          ジャンクションを使うのが手軽なだけで、ジャンクションを使わなくても不正な処理を行わせるシナリオはありえると思う。

          MoveFileExを呼び出した時点で、
          再起動まで変更できないようにロックしてしまうとか、
          再起動での処理実行時にMFT番号?とか?で、API呼び出しと同じかどうか検証するとか、
          無関係なファイルを処理しないようにするのが、正しい挙動じゃないかな、と。

          まあ、今更 Windows API の挙動を変更するわけにはいかないので、
          MoveFileExを呼び出す側で慎重に取り扱う、という対応をするしかないでしょうけど。

          親コメント
          • by Anonymous Coward

            削除予約時と削除実行時で実際のファイルが異なることを想定して使っていることは
            悪いことをする目的以外ではほとんどないんじゃないかと(個人的には)思うので、
            別にMoveFileExの挙動を変えてしまってもいいんじゃないかなあ。

            • by Anonymous Coward

              そういう隙をつく攻撃も、TOCTOUという名前がついているほど典型的

          • by Anonymous Coward

            この問題はどちらかというと、「Windowsが提供するファイル削除予約機能」の脆弱性じゃないかな。

            うーん消す機能も予約機能も脆弱性とはいえないのでその操作指示の問題じゃないかな
            んでシステムファイルを消せる権限付与を全開放しているわけじゃないから脆弱性とはいえないかと
            んでセキュリティソフトウェアに対する特権付与も脆弱性とはいえないかと

            なので権限内で操作できるというだけですから
            悪質な指示をセキュリティソフトウェアが出すならセキュリティソフトウェアの悪意だし
            悪質な指示をセキュリティソフトウェアが受け付けて代理してしまうならセキュリティソフトウェアの脆弱性
            ってことじゃないかなぁ

            # まぁWindowsのジャンクションってユーザーの想定外でデータ消えちゃう仕様だからってのはなくもない

            • by Anonymous Coward
              システムファイルを消せる権限付与を全開放しているのでは?
              adminじゃないとMOVEFILE_DELAY_UNTIL_REBOOTフラグは立てられないと思ったけど
        • by Anonymous Coward

          それほどの強権って何を指してるの?

        • by Anonymous Coward

          消させるのはリンク自体じゃなくリンク先ディレクトリに入ってるファイルだろ
          例えばC:\mydir\explorer.exeというマルウェアを作成してロックし、再起動時削除が予約されたらmydirを削除して代わりにC:\Windowsを指すリンクを作成することでC:\Windows\explorer.exeを削除させられるって寸法

        • by Anonymous Coward

          > この脆弱性の場合、UNIXにおけるsymlinkならば、何ら対策などいらない
          > なぜならsymlinkファイルに対して削除したところで、実体には影響なくsymlinkファイル自体が削除されるだけだからだ

          おまえ何か勘違いしてるな
          なんでシンボリックリンク貼る先がファイル前提なんだ?
          間のディレクトリに貼れば実体ごと消えるだろ

          例)
          ~/virus/hoge を用意して引っ掛けさせる。そんでAVが消す前に
          ln -s /sbin ~/virus する。
          AV が rm ~/virus/hoge したら /sbin/hoge も消える
          symlinkなら大丈夫、な分けない

          回避するには権限というのは正しいが、AVにどこまでの権限を与えるか(どこまでのファイルを削除・隔離するか)の要件に依存するだけ
          てかclamavもclamonaccはrootで動かすだろ
          頭おかしいと思うほうが頭おかしい

  • by Anonymous Coward on 2022年12月14日 22時06分 (#4380671)

    危ないファイルを使用中のプロセスなんて悪さをしているか乗っ取られているかしている可能性が高いんだから、強制終了して消してしまえばいいのでは

  • by Anonymous Coward on 2022年12月14日 22時41分 (#4380686)

    合気道なの?

    • by Anonymous Coward on 2022年12月14日 23時28分 (#4380701)

      相手の力を利用してるからかな

      親コメント
      • by Anonymous Coward

        相手の力を利用してるからかな

        合気道だと対面の敵対者を自爆させる誘導だけど今回のは第三者を利用してるからなんか違和感ありますね
        報道機関に誤情報掴ませて機動隊による排除をさせる感じみたいな

  • by Anonymous Coward on 2022年12月15日 8時45分 (#4380752)

    マルウェア発見時って、見つかったよってアラート出した後、一旦隔離フォルダに入れられて、削除か誤検知か選ぶもんだと思ってた。
    まぁ、ファイル作られてる時点で、もう侵入された後だから、ファイル削除程度で済むのはむしろ僥倖なのかも知れぬ。

    • by Anonymous Coward

      ファイル作られてる時点で、もう侵入された後だから、ファイル削除程度で済むのはむしろ僥倖なのかも知れぬ。

      メールの添付ファイルも検閲対象だから侵入された後ってのはちょっと語弊がありますね

      # 感染してもいないのに緊急アラートうざいみたいな状況あるよね

  • by Anonymous Coward on 2022年12月15日 9時12分 (#4380763)

    > 攻撃者は一時ディレクトリ内に削除するターゲットファイルと同じ名前のマルウェアファイルを作成し、そのままハンドルを閉じずに待機する

    これが可能な時点で既に詰んでいると思う

    • by Anonymous Coward

      そう?一般ユーザーが好きなファイル消せるから、学生が学校のPCを起動できない様にするとかの悪さから、侵入しての破壊工作まで色々できそうじゃない?

typodupeerror

ハッカーとクラッカーの違い。大してないと思います -- あるアレゲ

読み込み中...