毎回お伝えしていますが、現代のサイバー攻撃は、かつてないほど巧妙化しています。ですが、開発者が作業するデータのプライバシー保護を任務とする組織にとって、標準的なベストプラクティスであるコード難読化ツールを装った一連の悪意のあるPythonパッケージである「BlazeStealer」ほどの攻撃はめったにありません。
データ保護ツールの使用は、攻撃者を阻止できる反面、逆の効果が起こることもあります。コード難読化によって保護されるデータは非常に価値のあるものであることが多いことから、攻撃者はこれらのツールに侵入する方法を見つける高い動機を持ちます。そのため、悪意のあるバージョンを作成し、無防備なユーザーに販売することさえあるのです。
最近のケースでは、これらの一見無害なコード難読化パッケージをダウンロードするとマルウェアが自動的にトリガーされ、攻撃者によって標的のデバイスが完全に制御され、パスワードが盗難まれ、機密データが暗号化されてダウンロードされるといったものがありました。BlazeStealerが検出され、削除されるまでに、北米、アジア、ヨーロッパで約2,500回ダウンロードされ、その過程で数千もの企業の保護対象の情報が侵害されました。
マルウェア「BlazeStealer」は今現在は使用することはできませんが、攻撃者らはオープンソースのリポジトリを悪用し、開発者の信頼を利用して、無防備な組織に侵入するために、他の何千もの開発者ツールを同様に標的にしています。この記事では、攻撃者がアプリケーション開発を侵入口にする理由と、エンジニアが使用しているツール内の悪意のあるアクティビティを特定する方法について解説します。
開発者は組織内で独特な立場にあります。開発インフラストラクチャや社内システムへのアクセスは、攻撃者にとって価値の高い標的となり、マルウェアやその他の巧妙なスキームを使用してそのアクセスを侵害する可能性があり、組織のデータ、運用、収益が危険にさらされます。最近発生している攻撃について考えてみましょう:
人気の開発者向けプラットフォームであるGitHubは一時期、開発者デバイスの侵害、ユーザー資格情報の取得、暗号通貨の盗難などを目的とした数百万の感染コードリポジトリで溢れ返りました。
北朝鮮のハッカーグループ「Lazarus」の犯行とされているこの攻撃は、攻撃者がユーザーのタイプミスを悪用して、開発者をだまし、大量の悪質なPythonパッケージをダウンロードさせるものでした。
同様の攻撃では、テストファイルにマルウェアが隠されていました。このファイルは、フリーランサーや求職者に提供されたコーディングテストに起因する可能性があります。
攻撃者は、開発者プラットフォームやソフトウェアサプライチェーンプロバイダーが削除するよりも速いスピードで悪意のあるパッケージを複製し、アップロードするため、マルウェアの識別と軽減を大規模に行うことは困難です。また一部、サードパーティソフトウェアの全容について適切な判別を行っていない開発者もいます。ある調査では、非推奨のJavaScriptパッケージ(既知の脆弱性を持つパッケージ)が週に21億回もダウンロードされているという報告もあげられています。
これらの攻撃の影響は、オープンソースのリポジトリに隠された悪意のあるソフトウェアを使用した場合、騙されて使用する場合、または単純に調査を怠った結果であるかどうかにかかわらず、当初のアプリケーションおよびWeb開発への影響を遥かに超えて拡大する可能性があります。侵入に成功すると、マルウェアは組織のインフラおよびシステム内に急速に拡散し、内部データの盗、保護対象の顧客情報の侵害、業務停止(製品の出荷停止)、収益やブランドの評判の低下を引き起こします。
このような脅威に対する防御には、定期的なセキュリティスキャンの実行、サードパーティのコードリポジトリと開発者ツールの使用に関する厳格なポリシーの確立、進化する攻撃手法に関する開発者への通知などの積極的なアプローチが必要です。
ここでは、一般的な騙しの手口の3つの兆候と、組織が攻撃のリスクを軽減するために実装できるベストプラクティスを紹介します。
1.タイプミスによって、マルウェアに感染したパッケージが誤ってダウンロードされる可能性があります。
「タイポスクワッティング」とも呼ばれるこの手法は、一般的なソフトウェアパッケージと名前を似せた悪意のあるパッケージをダウンロードさせるようにユーザーを誘導します。単純な見落としによるタイプミスによって、悪意のあるパッケージをインストールしてしまうと、マルウェアが展開され、攻撃者はさらなる行動が可能になります。
このような攻撃を防ぐため、開発者 は、パッケージの出所が信頼できる場合も、ダウンロード前、インストール前にパッケージ名を慎重に確認する必要があります。
2. 信頼したパッケージにも悪意のある更新プログラムが隠されている可能性があります。
既に疑わしいコンテンツや脆弱性に関する検査を終えたパッケージも、将来の更新プログラムの適用中に危険にさらされ、最も予期しないときに攻撃を引き起こす可能性があります。しかし、すべてのパッケージの更新プログラムを手動で確認すると、必要なセキュリティの更新プログラムの適用が遅れ、他の開発作業に取り組むことが難しくなります。また、定期的な確認には時間とコストがかかります。
このような悪意のある更新プログラムを回避するには、セキュリティ更新プログラムに優先順位を付けたり、自動化ツールを使用してパッケージに新しい脆弱性がないかスキャンするなど、さまざまなテクニックが必要になります。
3. 開発者向けのセキュリティツールやユーティリティパッケージは、悪意のある活動の隠れ蓑になる可能性があります。
マルウェア「BlazeStealer」を偽装したコード難読化ツールのように、他の開発者向けセキュリティツールやユーティリティパッケージ(例えばメール検証ツールなど)も、予期しない悪意のある行為の連鎖を引き起こ す可能性があります。成功すれば、攻撃者は保護された資格情報、データ、開発者システム、本番環境のインフラ環境にアクセスできるようになり、攻撃対象領域を急速に拡大できる可能性があります。
このような攻撃を阻止することは、オープンソースのパッケージを手動で検査したり、特定の自動化サービスを導入して脆弱性を積極的にスキャンするほど単純ではありません。これらの攻撃の標的は開発者ではあるものの、「信頼できるリポジトリやツールを使う時でもリスクを想定する」というセキュリティ第一の考え方を採用するのは組織の責任となります。
オープンソースのリポジトリが増加し、組織がこれにますます依存する中、攻撃者は開発者システムに侵入するより効果的で洗練された方法を見出しています。そのため、堅牢な脅威検出・対応戦略の実装がこれまで以上に重要になっています。
Cloudflareの統合型のインテリジェントなプラットフォームは、企業がインフラストラクチャとデータを新たな脅威から保護し、厳格なデータ制御を実施できるように支援します。Cloudflareを使用していただくことで、企業は以下が可能になります:
機密データの露出と盗難を最小限に抑える:転送中のソースコードをスキャン(HTTP検査で確認)し、危険なAIツールやオープンソースリポジトリへの不正アップロードを防止します。
公開リポジトリ上の潜在的なリスクを監視:GitHubのような公開リポジトリを使用する際に、さまざまなデータ損失、アカウントの設定ミス、ユーザーセキュリティリスクを検出します。
この記事は、技術関連の意思決定者に影響を及ぼす最新のトレンドとトピックについてお伝えするシリーズの一環です。
電子書籍『Everywhere Security:イノベーションを阻害することなく、脅威から現代の企業を保護する』を入手し、Cloudflareが組織が複雑で進化する脅威から開発環境をどのように保護するかについてご覧ください。
この記事では、以下のことがわかるようになります。
オープンソースのリポジトリがマルウェアの温床になる理由
攻撃者が開発者ツールとエコシステムを標的にする方法
巧妙な詐欺を見抜き、阻止するための戦略
利用開始
リソース