沈黙のスクリプト:「眠っていた」ワームがWikimediaを麻痺させメタウィキを改ざん

ウィキメディア財団は非常に苦しい1日を経験しました。自己増殖型のJavaScriptワームがウィキメディアプロジェクト全体で発動され、メタウィキページの改ざんとユーザースクリプトの改変が始まりました。その結果、エンジニアたちは編集権限の一時停止、悪意のある変更のロールバック、感染したコードの緊急削除を強いられました。

最初の警告信号はウィキペディアの技術フォーラムに現れ、そこで編集者たちは異常な自動編集の波に気付きました。秘密のスクリプトと荒らしの痕跡が無差別にページに注入されていました。危機の規模が急速に拡大し、ウィキメディアの幹部たちは複数のプロジェクト全体で編集能力を一時的に閉鎖して、厳密な法医学的調査を行うことを余儀なくされました。

Phabricatorトラッキングシステムから得られたテレメトリによると、連鎖的な障害はロシアのウィキペディアに含まれていた悪意のあるスクリプトが実行された後に始まりました。具体的には、犯人はUser:Ololoshka562/test.jsというファイルで、2024年3月まで遡ってアップロードされていたものです。BleepingComputerは、このファイルがウィキインフラストラクチャに対する以前の攻撃で展開されたスクリプトとの内在的な関連性を持つ可能性があると述べています。

編集履歴から判断すると、悪意のあるコードは本日、ユーザー生成スクリプトの定期監査中にウィキメディア担当者の認証されたアカウントから初めて実行されました。担当者が診断環境内でファイルを意図的に呼び出したのか、監査中に誤ってコードを読み込んだのか、または悪意者が帳簿のアカウントを侵害したのかどうかは、まだ不明なままです。

深刻な危険はその拡散メカニズムにありました。MediaWikiアーキテクチャは、MediaWiki:Common.jsなどの大規模なグローバルJavaScriptファイルと、User:<username>/common.jsとして指定された個人ユーザーページの両方をサポートしています。エディタのブラウザはこのコードを実行してインターフェースを動的に変形させ、ユーティリティ機能を統合します。悪意のあるtest.jsはこの正確な機能を無慈悲に悪用しました。認証されたエディタのブラウザ内で実行されると、スクリプトは積極的にローカルのcommon.jsを上書きしようとし、その後のログイン全体で感染を永続させます。また、必要な権限があれば、大規模なMediaWiki:Common.jsを大胆に改変しました。この大胆な操作は感染を制御不能な連鎖反応に変え、悪意のあるローダーは補助的なエディタのブラウザ全体で自動的に実行が開始されました。

ユーザーとグローバルスクリプト内に永続的な足がかりを確保する以外に、ワームはSpecial:Random機能を使ってページを任意に選択し、その後、無意味で改ざんされた編集を注入する能力を持っていました。基礎となるマークアップ言語内に巧みに偽装された画像と秘密のJavaScriptローダーが埋め込まれていました。BleepingComputerの計算によると、この事件の過程で約3,996ページが破損し、約85人のユーザーが改ざんされたcommon.jsファイルを持たされたことになります。その後削除されたページの正確な数は未解決のままです。

厳しい削除プロセス中、ウィキメディア管理者は複数のユーザー全体のcommon.js変更をロールバックしました。改ざんされたページの一部はその後、編集履歴内で抑制され、悪意のある挿入が公開レビューから永遠に隠されるようにしました。現在、寄生的なコードは正常に除去され、編集機能は完全に復活しました。

その後、ウィキメディア財団はBleepingComputerに公式声明を発表し、影響の大きさについて詳細に説明しました。財団の説明によれば、担当者がユーザーが作成したコードの厳密なセキュリティ監査を実行していたとき、誤って眠っていた悪意のある断片を起動してしまったとのことです。この悪意のあるコードはわずか23分間にわたって無制限に実行されました。この短い期間を通じて、ワームはメタウィキ領域内でのみコンテンツを改ざんして削除し、侵害されたコンテンツの復旧努力はすでに進行中です。ウィキメディア財団はさらに、ウィキペディア自体への調整された攻撃を示唆する法医学的証拠がないこと、また個人情報の流出も認識していないことを主張しました。

財団はまだ、この事件の発端について詳しく説明する包括的な技術的事後分析を公表していません。したがって、最大の未解決の問題は以下のとおりです:正確には、古い悪意のあるスクリプトが内部監査中に復活することをどうやって許可されたのか、そしてなぜ防御メカニズムはその拡散を即座に止めることができなかったのか。

翻訳元: https://meterpreter.org/the-silent-script-how-a-slumbering-worm-paralyzed-wikimedia-and-defaced-meta-wiki/

ソース: meterpreter.org