cat posts/%e4%bb%8a%e9%80%b1%e3%81%ae%e3%82%bb%e3%82%ad%e3%83%a5%e3%83%aa%e3%83%86%e3%82%a3%e8%80%83%e5%af%9f%ef%bc%9amoveit-transfer-%e3%81%ae%e8%aa%8d%e8%a8%bc%e3%83%90%e3%82%a4%e3%83%91%e3%82%b9%e8%84%86.md

今週のセキュリティ考察:確認の前に「入って」に進んだ——MOVEit Transfer 認証バイパス(CVE-2024-5806)

ファイル転送製品 Progress MOVEit Transfer の SFTP 機能に、認証を回避できる脆弱性 CVE-2024-5806(CVSS 9.1)があり、公表の直後から悪用の試みが観測された[1][2][5]。

PART 1解説

3行でわかる要点

  • 何が起きるか:SFTP(暗号化したファイル転送)モジュールの認証の処理に不備があり、本人確認が正しく行われないまま認証を通ってしまう[1][2]。
  • 悪用の条件:Rapid7 によると、既存のユーザー名を知っていること、その利用者が遠隔から認証できること、SFTP が外部に公開されていること[5]。
  • 速さ:Shadowserver Foundation は、公表の直後から悪用の試みを観測した[5]。

前提:MOVEit Transfer と SFTP

MOVEit Transfer は、企業が取引先などと大きなファイルや機密データを安全にやり取りするための製品(マネージドファイル転送)です。メールの添付では送れないデータを暗号化した通信でやり取りするために使われ、個人情報や契約書などが保管されていることが多くあります。

SFTP は、SSH という暗号化通信の仕組みを使ってファイルを送受信する方式で、ログインのときにパスワードや鍵で本人確認を行います。この本人確認が崩れると、保管された機密ファイルに直接手が届いてしまいます。

まず押さえる用語

用語ひとことでもっと詳しく
CVE脆弱性ごとに付けられる世界共通の番号。IPA「共通脆弱性識別子CVE概説」
CVSS脆弱性の深刻度を 0.0〜10.0 で表す指標。9.0 以上は「緊急」。IPA「共通脆弱性評価システムCVSS概説」
認証バイパス本来の本人確認を経ずに、ログイン済みとして扱われてしまう欠陥。CWE-287(MITRE)
SFTPSSH の仕組みを使って、暗号化したままファイルを送受信する方式。—
SQL インジェクション入力値に SQL の命令を紛れ込ませて、データベースを不正に操作する攻撃。IPA「安全なウェブサイトの作り方 – SQLインジェクション」

本来の仕組みと、どこが破られたか

SFTP ログインの正常時と攻撃時正常時ユーザー名を送る本人確認確認できたら許可ファイルにアクセス攻撃時既存のユーザー名本人確認認証成功として扱うファイルを窃取
図1 本人確認が正しく行われないまま、認証を通ってしまった(Progress のアドバイザリと報道をもとにした概念図)

SFTP のログインでは、ユーザー名を伝えたあと、パスワードや鍵で本人であることを確かめ、確認できた場合だけファイルへのアクセスを許可します。

CVE-2024-5806 は、この SFTP モジュールの認証の処理が不適切で、認証を回避できるというものです[1][2]。図1の赤い破線のように、本人確認が正しく働かないまま「認証成功」として扱われます。悪用には既存のユーザー名が要りますが、ユーザー名はパスワードほど秘密にされていないことが多い点に注意が必要です[5]。

攻撃の流れ

sequenceDiagram
    autonumber
    participant A as 攻撃者
    participant S as MOVEit SFTP
    participant F as ファイル保管
    A->>S: 既存のユーザー名で細工した認証要求
    Note over S: 本人確認が正しく行われない
    S-->>A: 認証成功として扱う
    A->>F: ファイル一覧を要求
    F-->>A: 機密ファイルを返す
flowchart LR
    A["2023年
SQLインジェクション
CVE-2023-34362"] -->|"同じ製品の別の入口"| B["2024年
認証バイパス
CVE-2024-5806"] B -->|"狙われ続ける"| C["次の脆弱性を
探す攻撃者・研究者"] style A fill:#e67e22,color:#fff style B fill:#c0392b,color:#fff style C fill:#7f8c8d,color:#fff
  • 上の図:認証を回避できれば、MOVEit に保管されたファイルの閲覧や持ち出しにつながる[2][5]。
  • 下の図:MOVEit では前年にも SQL インジェクション(CVE-2023-34362)が見つかり、大規模に悪用された[3][4][5]。

なぜ同じ製品が2年連続で狙われるのか(考察)

  • 1か所で脆弱性が見つかると、同じコードの近くを掘り進める研究者や攻撃者が増える。
  • 2023年は SQL インジェクション、2024年は認証バイパス。種類は違っても「同じ製品の別の入口」が続いた[3][4]。
  • MOVEit には個人情報や契約書などの機密が集まるため、攻撃者にとって1台あたりの価値が高い。
  • 「この製品は狙われやすくなった」と認識して、公表の当日に対応できる体制を先に作っておくのが現実的。

いま確認すること

  • 【MOVEit を使っている】2023.0.11 / 2023.1.6 / 2024.0.2 以降に更新する[1][2]。
  • 【MOVEit を使っている】SFTP ポートの外部公開範囲を確かめ、接続元の IP アドレスを制限する。
  • 【MOVEit を使っている】パッチ適用前の認証ログに不審な要求がないか確かめる。
  • 【全員】悪用にはユーザー名が要るが、ユーザー名はパスワードほど秘密にされない[5]。外部公開のサービスでは、ユーザー名を推測・列挙されにくい作りかも確かめる。
  • 【全員】SSH の公開鍵認証などを自前で実装しているなら、本人確認を省略できるコードの経路がないか確かめる。
  • 【全員】重大な脆弱性の公表に当日気づける仕組み(アドバイザリの RSS やチャット通知など)があるか確かめる。

出典・参考リンク

一次情報

  1. Progress — MOVEit Transfer Product Security Alert Bulletin June 2024 (CVE-2024-5806)
  2. NVD — CVE-2024-5806
  3. NVD — CVE-2023-34362
  4. Progress — MOVEit Transfer Critical Vulnerability (May 2023)

報道・解説

  1. TechTarget — MoveIt Transfer vulnerability targeted amid disclosure drama

PART 2問題(情報処理安全確保支援士 試験形式)

問1 午前II形式(4択)

MOVEit Transfer の CVE-2024-5806 の内容として、最も適切なものはどれか。

  • ア SFTP の通信が暗号化されていなかった
  • イ SQL 文に入力値をそのまま連結していた
  • ウ SFTP モジュールの認証の処理に不備があり、本人確認が正しく行われないまま認証を通ってしまう
  • エ パスワードを平文で保存していた
解答・解説を表示

解答:ウ

CVE-2024-5806 は SFTP モジュールの不適切な認証による認証バイパス。イは 2023年に見つかった SQL インジェクション(CVE-2023-34362)の説明で、別の脆弱性。アとエは報告されていない。

↑ Part 1「本来の仕組みと、どこが破られたか」を読み直す

問2 午後形式(記述)

A社は、取引先とのファイル交換に MOVEit Transfer を使っている。MOVEit では 2023年に SQL インジェクション(CVE-2023-34362)、2024年に認証バイパス(CVE-2024-5806)が続けて見つかり、CVE-2024-5806 は公表の直後から悪用の試みが観測された。B さんは、①個々のパッチ適用とは別に、運用の仕組みを整えるべきだと提案した。

設問 本文中の下線①について、整えるべき仕組みを50字以内で述べよ。

解答・解説を表示

解答例:セキュリティアドバイザリを Slack や RSS で受け取り、公開当日に気づける仕組み(44字)

公表の直後から悪用が始まるなら「あとで読む」では間に合わない。仕組みが先で、対応はその後。同じ製品が続けて狙われているので、SFTP ポートの公開範囲の制限も合わせて行う。「製品を別のものに替える」は、乗り換え先でも同じ問題が起きうるので、仕組みの答えにならない。

↑ Part 1「なぜ同じ製品が2年連続で狙われるのか」を読み直す