出典:FlixPix(Alamy Stock Photo経由)
自己増殖型のマルウェアがオープンソースソフトウェアのコンポーネントに侵入しています。
このマルウェアの名前は「Shai-hulud」で、おそらく『デューン』のサンドワームに由来しています。特に注目すべき点は、攻撃者の直接的な介入がほとんどなくても、数百ものオープンソースソフトウェアパッケージに広がり、認証情報を盗み、他のコンポーネントにも感染を広げていることです。このワームは比較的最近出現したようで、ReversingLabsは分析の中で、Shai-huludを最初に検出したのは9月15日だったと述べています。
このキャンペーンは、今月初めに発生した攻撃と類似点があります。このときは著名な開発者QixのNPMアカウントがハッキングされ、攻撃者はQixが管理していた18の人気アプリケーション(週2億回以上ダウンロードされている)に暗号資産窃盗マルウェアを仕込みました。このマルウェアは短期間だけ効果を発揮し、ほとんどの報告によれば攻撃はすぐに収束しました。
今回のキャンペーンも同様の結末を迎えるかは不明ですが、初期の兆候は懸念されています。
Shai-huludの増殖手法
Shai-huludは情報窃取型マルウェアで、コンポーネントに感染し、そのアクセス権を利用して改ざんされたバージョンを公開し、さらに下流の感染者のNPMアカウントを収集します。
ReversingLabsの分析によると、このワームは侵害されたコンポーネント内で活動を開始します。そのコンポーネントがソフトウェアパッケージの開発に使用され、無防備なユーザーがその改ざんされたソフトウェアをダウンロードすると、ワームが起動し、ユーザー環境内のシークレットやトークン、認証情報などを狙う情報窃取ツールが実行されます。ワームはそのアクセス権を使って被害者のNPMアカウントに侵入し、ユーザーが管理するプロジェクトに自身をインストールします。
「NPM開発者アカウントが侵害されると、ワームはその開発者が管理する他のパッケージを探します。そして、それぞれのパッケージに自身を注入して新しいバージョンを作成します」と、リサーチ著者でReversingLabsのリバースエンジニアであるKarlo Zanki氏は書いています。「新たに作成された各パッケージには、感染したパッケージを無防備なユーザーがダウンロードした際に悪意あるbundle.jsを実行するpostinstallアクションが追加されます。このプロセスはワームが新たな開発者を感染させ、さらに拡散するたびに永続的に繰り返されます。」
こうして改ざんされたソフトウェアパッケージは他のソフトウェアパッケージの開発にも使われ、感染のサイクルが続きます。その過程で、マルウェアは主にNPM、GitHub、AWS、GCPのトークンを標的にしていますが、ワームはオープンソースのシークレット検出ツール「Trufflehog」も侵害環境にインストールします。
Shai-huludはまた、プライベートリポジトリを取得し、公開コピーの作成も試みます。Zanki氏は「これはおそらく、リポジトリにハードコーディングされたシークレットへのアクセスや、含まれるソースコードの窃取を狙ったものと考えられます」と記しています。このソースコードは潜在的な脆弱性の発見にも利用される可能性があります。
ReversingLabsによれば、現時点で最も可能性が高い「感染源ゼロ」は「rxnt-authentication」と呼ばれるパッケージだといいます。同社はどのようにしてこのパッケージが侵害されたかは不明としつつ、Qixや他の開発者が最近同様の攻撃で侵害されたことから、ソーシャルエンジニアリング攻撃が原因の可能性を示唆しています。
Wizによる独自分析では、Shai-huludが最近のNx/S1ngularityサプライチェーン攻撃と関連していると評価しています。「最初のGitHubトークン窃取が、より広範な侵害の連鎖と、かつては非公開だったリポジトリの流出を可能にしました。」
「この連鎖反応を引き起こした最初のNPMパッケージには、s1ngularity攻撃の既知の被害者が複数含まれていました」とWizは述べています。
Shai-huludの影響範囲と対策
ReversingLabsによれば、次に誰が侵害されるかを特定するのは難しいものの、ワームのキャンペーンによって既に数百のNPMパッケージが被害を受けています。リポジトリの移行機能の仕組みに基づき、ベンダーは検索を通じて約700件の影響を受けた可能性のあるリポジトリを特定できました。
また、オープンソースコンポーネントが広く利用されていることから、多くの関係者が影響を受けています。
「その中には、テック企業の創業者やCTO、ソフトウェア開発サービスを提供する企業、非営利団体で働く開発者、ギャンブル用ハードウェア・ソフトウェアやオフィス開発スイートを作る企業のテックリード、AIファースト企業の開発者、セキュリティベンダー(主要なEDRベンダーを含む)、学生開発者、そしてNPMを日々利用してソフトウェアを構築しているその他多くの人々が含まれます」とZanki氏は書いています。
自分が影響を受けているか確認したい開発者は、NPMのユーザーアカウントアクティビティページにアクセスし、説明に「Shai-Hulud Migration」と記載された新しいリポジトリや、「shai-hulud」という名前の新しく作成されたブランチを探すことで確認できます、とReversingLabsは述べています。
ReversingLabsのチーフソフトウェアアーキテクトであるTomislav Peričin氏は、Shai-huludキャンペーンはQixのケースよりも危険だとDark Readingに語っています。なぜなら、漏洩したシークレットがどのように悪用されるか分からず、攻撃者が次に何をするかも予測できないからです。
「このソフトウェアサプライチェーン攻撃では、意図が明確ではありません。目的はできるだけ多くのシークレットへのアクセスを得ることなので、攻撃者は入手したアクセス権を精査し、次の行動を計画している可能性が高いです」とPericin氏は述べています。「皆がこの攻撃に注目し、騒がしくなっているため、漏洩したシークレットは迅速にローテーションされる可能性が高いでしょう。」
対策について尋ねられると、彼は「セキュリティコミュニティが迅速に動けば、いわばワームを追い詰めることができるでしょう。拡散は鈍化しており、迅速なテイクダウンによって感染サイクルを断ち切るチャンスがあります」と述べています。