32blogby StudioMitsu
Archive12 min read

その動画素材は罠かもしれない:動画編集ソフトが抱えるFFmpegの脆弱性リスク

動画ファイルを開いただけでPCが乗っ取られる攻撃の仕組みを解説。古い動画編集ソフトのFFmpegに潜む脆弱性と、クリエイターが今すぐ取るべき3つの防衛策を紹介。

「怪しい .exe ファイルは開くな」——これはネットリテラシーの基本だ。しかし、あなたが信頼している .mp4.mov ファイルが、実はウイルスそのものだとしたら?

世界中の多くの動画編集ソフトは、その心臓部(デコード処理)に FFmpeg を採用している。もしあなたが「使い慣れているから」という理由で数年前のソフトを更新せずに使い続けているなら、あなたは 「鍵をかけずに金庫を開けっ放し」 にしているのと同じだ。

本稿では、クリエイターを狙う「悪意ある動画ファイル」の攻撃メカニズムと、その防衛策を解説する。

「プレビューした瞬間」に攻撃は完了している

攻撃者は、あなたが再生ボタンを押すのを待ってはくれない。

動画編集ソフトは、素材を読み込んだ瞬間、サムネイル生成や波形表示のために裏側で高速デコードを開始する。この処理を行うのが、ソフトに内蔵された(そして古くなった)FFmpeg ライブラリだ。

もしその FFmpeg に脆弱性(バッファオーバーフロー等)があった場合、ソフトがファイルを読み込んだ数ミリ秒後には、攻撃者のコードがあなたの PC 内で実行される。

再生ボタンを押す必要すらない。ファイルをタイムラインにドラッグするだけで発動する。


クリエイターが狙われる「最悪のシナリオ」

あなたがそこそこの登録者を持つ YouTuber だと仮定しよう。ある日、企業案件を装ったメールが届く。

件名: [PR 案件] 新作ゲームの紹介動画作成のご依頼について

本文: 参考資料として、未公開のゲームプレイ映像を添付しました。この映像を使って構成案を作ってください。

添付: gameplay_demo_v2.mp4

攻撃の流れ

1. 罠の設置

添付された gameplay_demo_v2.mp4 は、通常の動画プレーヤーでは「破損ファイル」として再生できないか、あるいは一見普通に再生できるように細工された「エクスプロイト(攻撃用)動画」だ。

2. 接触

あなたはいつものように、愛用の(しかしアップデートが止まった)動画編集ソフトを立ち上げ、このファイルをドラッグ&ドロップする。

3. 発動

ソフトがタイムラインに並べるためのサムネイルを作ろうと、内部の FFmpeg(v4.x などの古いバージョン)を呼び出す。細工されたヘッダー情報がメモリ領域を破壊(Buffer Overflow)し、動画データ内に隠されていたシェルコードが実行される。

4. 被害

画面上では「ファイルの読み込みに失敗しました」というエラーが出るか、ソフトがクラッシュするだけかもしれない。しかし裏では:

  • ブラウザに保存されたパスワードやセッション Cookie が盗まれる
  • YouTube チャンネルの管理権限が奪取される
  • ランサムウェアが展開され、過去の作品データが暗号化される

これが、実行ファイル形式(.exe)ではなく、データファイル(.mp4)を悪用した攻撃の恐ろしさだ。


なぜ編集ソフトが狙われるのか

理由は単純だ。 「サプライチェーンの盲点」 だからだ。

1. 内蔵 FFmpeg の更新ラグ

商用・フリー問わず、多くのソフトは FFmpeg を内蔵(静的リンクや DLL 同梱)している。ソフト自体のアップデートが止まれば、中の FFmpeg も古いまま放置される。

ソフトウェアのバージョン表記が「最終更新 2021年」などとなっている場合、内蔵する FFmpeg は 4.x や 3.x のような古いバージョンである可能性が高い。

2. ユーザーの油断

「動画ファイル=安全」という思い込みがある。ウイルス対策ソフトも、動画ファイルのバイナリ構造の深部にある「論理的な脆弱さ」を悪用した攻撃までは検知できないケースがある。

3. 複雑怪奇なコーデック

動画フォーマット(H.264、H.265、AV1、VP9 など)の処理コードは数万行に及ぶ C 言語プログラムだ。そのどこかに、必ずバグは潜んでいる。CVE(脆弱性データベース)を検索すると、FFmpeg の既知の脆弱性がいかに多いかが分かる。


過去の FFmpeg 脆弱性の実例

CVE データベースに登録されている FFmpeg の脆弱性からいくつか紹介する。

CVE 番号影響バージョン攻撃内容
CVE-2022-3109FFmpeg 5.1 以前VP9 デコーダーのヒープバッファオーバーフロー
CVE-2021-38291FFmpeg 4.4 以前NULL ポインタ参照によるクラッシュ
CVE-2020-20891FFmpeg 4.2 以前グローバルバッファオーバーフロー(任意コード実行の可能性)
CVE-2019-17542FFmpeg 4.2 以前vmnc デコーダーのヒープバッファオーバーフロー(任意コード実行)

これらの脆弱性の多くは「細工された動画ファイルを処理させる」ことで発動する。そして、古い FFmpeg を内蔵した動画編集ソフトはこれらのパッチが適用されていない。


クリエイターが取るべき 3 つの防衛策

エンジニアのように自分でビルドし直すことはできなくても、運用でリスクを回避することは可能だ。

LEVEL 1(必須): ソフトウェアを最新版にする

「使い勝手が変わるから」とアップデートを拒否するのは自殺行為だ。最新版には最新のセキュリティパッチが含まれている。

今すぐ実行:

  1. お使いの動画編集ソフトを開く
  2. 「ヘルプ」→「アップデートを確認」(または「このソフトウェアについて」)
  3. 最終更新日が1 年以上前であれば、即座にアップデートを行うか、別のソフトへの乗り換えを検討する

アクティブにメンテナンスされている主な動画編集ソフト:

  • DaVinci Resolve(Blackmagic Design が定期更新、無料版あり)
  • Adobe Premiere Pro(毎月アップデート)
  • Final Cut Pro(Apple が定期更新)
  • Kdenlive(オープンソース、頻繁にアップデート)

LEVEL 2(運用): 信頼できない素材はサンドボックスで確認

怪しいファイルはメイン PC に入れる前に、以下のいずれかの方法で確認する。

オンラインスキャン:

  • VirusTotal(https://www.virustotal.com/): 複数のアンチウイルスエンジンでファイルをスキャンできる(ただし、ゼロデイ攻撃は検出できないことがある)

オンライン動画変換による無害化:

bash
# 自分の環境で FFmpeg を使って再エンコードする
# 再エンコードにより、元のパケット構造が破壊され、エクスプロイトが無効化される
ffmpeg -i suspicious_video.mp4 -c:v libx264 -crf 23 -c:a aac safe_video.mp4

再エンコードは「翻訳」のようなものだ。元の動画のフレーム情報を抽出して新しいファイルに書き直すため、悪意ある命令が仕込まれたパケット構造は消える。

※この方法はFFmpeg自体が最新版であることが前提です。古いFFmpegで不審なファイルを開くこと自体がリスクになります。システムのパッケージマネージャーやHomebrewでインストールした最新の安定版FFmpegを使用してください。

仮想マシン(VM):

VirtualBox や VMware で隔離された環境を用意し、出所不明のファイルはそこで最初に開く。VM が感染しても、メイン環境には影響しない。

LEVEL 3(選定): 開発が終了したソフトを使わない

何年も更新がないフリーソフトは、脆弱性の塊だ。「慣れているから」という理由で使い続けるのは、リスクと利便性のトレードオフとして合理的でない。

開発が活発かどうかは GitHub のコミット履歴や、公式サイトの最終更新日で確認できる。


よくある質問

iPhoneで撮った動画なら安全ですか?

基本的には安全だ。カメラやスマホが生成した正規のファイルには悪意あるコードは含まれない。危険なのは「ネットからダウンロードした出所不明のファイル」や「他人から送られてきたファイル」だ。

ウイルス対策ソフトを入れているから大丈夫ですよね?

過信は禁物だ。一般的なアンチウイルスは「既知のウイルス」のパターンマッチングには強いが、FFmpeg の特定バージョンのバグを突くようなターゲット攻撃は見逃す可能性がある。アンチウイルスは防衛の一層に過ぎない。

Mac なら大丈夫ですか?

いいえ、OS に関係なく脆弱性は存在する。FFmpeg はクロスプラットフォームであり、メモリ破壊の脆弱性は Windows、Mac、Linux すべてで発生しうる問題だ。OS の安全性に頼らず、アプリケーション(編集ソフト)の更新を徹底してほしい。


まとめ

動画ファイルは安全だという思い込みを捨ててほしい。

攻撃の入口は .exe だけではない。.mp4.mov.mkv——あらゆる動画ファイルは、古い処理ライブラリを内蔵したソフトを通じて攻撃の踏み台になりえる。

今すぐできることを一つだけあげるとすれば、「お使いの動画編集ソフトを最新版にアップデートする」ことだ。それだけで、既知の脆弱性への対策が適用される。

あなたのチャンネルと作品データを守れるのは、あなたの習慣だけだ。