GitHub で 10,000 個のマルウェア配布リポジトリが発見される
GitHub 上で正規プロジェクトを装う 10,000 個のリポジトリがトロイの木馬マルウェアを配布していることが判明した。発見者が公開後、GitHub は当該リポジトリの削除を開始した。
セキュリティ研究者が GitHub 上で大規模なマルウェア配布キャンペーンを発見した。10,000 個のリポジトリが正規プロジェクトと同じ名前や説明文を使用して複製され、すべてのコミットと貢献者情報を複製した上で、定期的にマルウェア入りの zip アーカイブへのリンクを README に追加していた。発見者が GitHub サポートに削除を要請したが 2 週間応答がなく、パターンマッチングスクリプトを開発して当該リポジトリを特定した。発見内容を公開後、GitHub は当該リポジトリの削除を開始した。
発見された攻撃の手口
10,000 個のマルウェア配布リポジトリは、正規プロジェクトの完全な複製物として機能していた。リポジトリはすべてのコミット履歴と貢献者情報をコピーしながら、別の名前で新たに作成されていた。攻撃者は数時間ごとに前のコミットを削除し、同じ内容を再度プッシュするパターンを繰り返していた。README ファイルには定期的にマルウェア入り zip アーカイブへのリンクが挿入されていた。
zip アーカイブ内には 4 つのファイル(cmd ファイル、exe ファイル、cso/txt ファイル、dll ファイル)が含まれていた。VirusTotal にアーカイブを送信すると、トロイの木馬として検出された。
自動検出と GitHub への報告
発見者は GitHub API を活用してこれらのリポジトリを特定した。過去 5 日間で 16 million 件のコミットプッシュが記録され、そのうち 3,000 個のリポジトリが 10 時間ごとに 2~10 回の更新を示していた。検索フィルターを拡張して 1~24 時間ごとの更新に対応させると、40,000 個のリポジトリが該当した。このうち 25% にあたる 10,000 個のリポジトリが完全なパターンマッチングを示していた。すべてのリポジトリの最後のコミット名は「Update README.md」で統一されていた。
発見者が GitHub サポートに削除を要請しても初期段階では 2 週間応答がなかった。その後、パターンマッチングスクリプトを開発して当該リポジトリの完全なリストを作成し、GitHub に公開した。GitHub はリポジトリの削除を開始し、現在ほとんどの当該リポジトリはすでに削除されている。
攻撃リポジトリの特性
これらのリポジトリは数ヶ月から 1 年以上前から存在していた。正規プロジェクトのコミット履歴をすべてコピーすることで、新しく作成された疑わしいリポジトリに見えないようにしていた。手動検証の時点では、最後の更新から 20 時間が経過していた。
筆者の見立て
- 攻撃者の目的は、GitHub のシステムがどのように機能するかを理解し、その制限と脆弱性を見つけ、その情報を悪用することと考えられる
- コミット履歴をコピーして信頼を構築し、リポジトリが確立されたものに見えるようにしようとしていると解釈している
- コミット履歴の保持は、リポジトリが昨日作成されたばかりではないことを明確にするためだと予想している
- zip アーカイブを使用することで GitHub のセキュリティアルゴリズムをバイパスしようとしていた可能性がある
- 低ボリュームの検索キーワードで検索結果の上位に表示される新規リポジトリのみを複製し、ウイルス拡散を狙っていた可能性がある
この記事は元記事の事実のみに基づいて自動生成されました。
出典
Orchid Files、「I discovered a large-scale malware distribution campaign on GitHub」、https://orchidfiles.com/github-repositories-distributing-malware/