Unsung GitHub Features Anchor Novel Hacker C2 Infrastructure
2023/12/19 DarkReading — ある GitHub アカウントが、このサイトの2つのユニークな機能を悪用して、ステージ2のマルウェアをホストしていることを、研究者たちが発見した。この、パブリックなサービスが、不正行為の拠点としてハッカーに再利用されることが、最近になって増えてきている。ハッカーたちは、コード・リポジトリやファイル共有サービスにマルウェアを格納し、メッセージング・アプリから Command and Control (C2) を実行することに加えて、SaaS (Software-as-a-Service) プラットフォームを悪用することで、想像もつかないような手口で悪事を働くことがある。
この流れを汲むのが、12月19日に ReversingLabs により特定された、複数の悪質なパッケージに関与する “yeremyvalidslov2342” (Yeremy) という人物である。Yeremy のパッケージは、これまであまり利用されてこなかった GitHub の2つの機能 (gists/commits) を悪用して、サイト管理者と被害者の両方にペイロードを密かに忍び込ませていた。
サイバー犯罪のための GitHub の新たな悪用法
公開コード・リポジトリを悪用する際に、サイバー犯罪者たちが用いる最も一般的な方法は、悪意のファイルを捨てアカウントに公開することだ。したがって、管理者たちは、その種のアカウントを見つけ次第、すぐに特定/削除するように努めている。
しかし Yeremy は、もっと回りくどいアプローチを取っていた。まず、Python Package Index (PyPI) に一連のパッケージを公開する。それらのパッケージは、ネットワーク・プロキシを処理するための正規のライブラリとして公開されていたが、セットアップ・ファイルの内部には、Base64 エンコードされた文字列が URL に隠されており、その URL は秘密の GitHub “gist” を指していた。
Git リポジトリのライト版のような gist は、プロジェクト全体がコーダーにより立ち上げるこもなく、コードの断片を保存/共有できるように設計されている。公開/非公開の設定が可能だが、非公開の場合には一般からは検索が不可能であるが、友人や同僚とは共有できるというものだ。
PyPI パッケージ内の非公開の gist には、ステージ2のマルウェアが含まれていた。このような目的のために gist を使用した例を、研究者たちは探し出そうとした。しかし、見つかったものは、Slack のバックドアに関する、2019年の Trend Micro のレポートに埋もれた1件のみであったという。
Yeremy は、悪意のセットアップ・ファイルを持つ、別の PyPI パッケージにも関与していた。今回のケースでは、GitHub から既存かつ正当な PySocks プロジェクトから、実行時に悪意のパッケージが複製されていた。そして、マルウェアはリポジトリ自体にあるのではなく、リポジトリを説明するコミット・メッセージの中に隠されていた。
公共サービスがハッカーを助ける仕組み
サイバー攻撃を、自分のインフラから行うことにより、たとえアカウントを停止されても、ある程度は復元が可能となる。その一方で、共有のオープンソース・リソースを使用することで、ステルス性を確保するという利点が生じる。
Karlo Zanki は、12月19日に公開されたレポートで、「悪意のコードが適切に難読化されている場合は、パブリック・サービス内で、それを検出するのは容易ではない」と述べている。
彼は、「悪意のコードが適切に難読化されている場合にはそれを検出するのは容易ではない。npm や PyPI のようなパッケージ・リポジトリには、毎日のように何千ものパッケージが送られてくるが、それらを監視/分析する簡単な方法はない。従来のウイルス対策ソリューションでスキャンを行うリポジトリもあるが、そうした基本的な防御を悪意のパッケージがすり抜けてしまうことが非常に多い。リポジトリは限られたリソースしか持っておらず、公開される全てのものを、セキュアにするだけの資金もモチベーションもないだろう。つまり、そのようなパッケージを利用するユーザーたちが、自衛するしかないのだ」と詳述している。
パブリックなソフトウェア・サービスは、攻撃者にも多くの利点を提供する。人気のある Web サイトにアカウントを作成するのは、従来のインフラを手配するよりも早く、簡単で、安価だ。サイトをサポートする会社はメンテナンスとアップタイムを管理し、信頼できるのが当たり前となっている。人気サイトへのトラフィックは、遠く離れた国にある未知のサーバへのトラフィックよりも、はるかに疑われにくい。それに加えて、悪意のアカウントがダウンしても、何の問題もない。新しいアカウントを作ればいいだけだ。
GitHub を介してマルウエアを配布する、リポジトリ汚染の新しい手法が発見されたとのことです。Python Package Index (PyPI) との連携を用いて、巧みに検出を回避する戦術を取っているようであり、OSS リポジトリ を利用する開発者を悩ませる、問題が増えてしまいますね。9月には、CISA が Open Source Software Security Roadmap を出していて、それに続く動きが期待されていますが、どのような未来になっていくのでしょうか?


You must be logged in to post a comment.