コピーキャットパッケージとタイポスクワッティングは関連する概念ではありますが、同じものではありません。どちらもユーザーを騙して悪意のあるソフトウェアをダウンロードさせるための欺瞞的な手法を用いますが、その方法は若干異なります。以下にそれぞれの詳細な説明を示します。
タイポスコーティング
タイポスクワッティングとは、正規のドメイン名やパッケージ名と非常によく似たドメイン名やパッケージ名を登録する行為であり、多くの場合、わずかな入力ミスだけが違いとなっている。その目的は、URLやパッケージ名を入力する際にミスをしたユーザーを騙し、本来アクセスすべき正規のサイトやソフトウェアではなく、悪意のあるサイトやソフトウェアに誘導することにある。
例:
正規のパッケージ: エクスプレス。
タイポスクワッティングされたパッケージバリエーション: 表現する (「s」が抜けています), 表現する(余分な「s」), or エクスプレス (二重の「e」)。
実例:タイポスクワッティング
2018年11月、セキュリティ研究者らは、NPMエコシステムからflatmap-streamという悪意のあるJavaScriptパッケージを特定し、削除した。攻撃者はこのパッケージに悪質な改変を加え、それを人気のevent-streamパッケージの直接的な依存関係として追加していた。 ユーザーは、flatmap-streamのこの悪質なバージョンを約8万回ダウンロードした。侵害されたイベントストリームパッケージを使用した開発者は、意図せず悪意のあるコードに晒されてしまった。
ここでは、些細なスペルミスや、よくある入力ミスを利用したバリエーションに焦点を当てています。
コピーキャットパッケージ
模倣パッケージとは、人気のある正規のパッケージを模倣した悪意のあるパッケージを作成することを指します。特に、この模倣は些細なスペルミスにとどまらず、類似した名前、説明、ドキュメント、機能などを用いて、悪意のあるパッケージを正規の信頼できるものに見せかける場合もあります。
例:
正規のパッケージ: ロダッシュ
模倣パッケージのバリエーション: lodashjs、lodash-toolsあるいは、同じ名前でも別の作者がセキュリティレベルの低いリポジトリにアップロードしたパッケージである可能性もある。
実際の事例:
人気のオープンソースPHPベースのLaravelアプリケーションであるlaravel-realworld-example-appを考えてみましょう。このアプリケーションには、RealWorld API仕様の実際の例(CRUD操作、認証、高度なパターンなど)が含まれています。正規のパッケージは参考資料として機能しますが、類似の名前(例:laravel-realworld-example-appsやlaravel-realworld-examples)を使用することで、模倣パッケージが作成される可能性もあります。 こうした模倣パッケージには、同様の機能、説明、さらにはドキュメントが含まれている場合があり、開発者を騙して正規版ではなく模倣版を使用させてしまう可能性があります。
ここで焦点となるのは、名称だけでなく、正規のパッケージの表示方法や機能といった側面も含む、より広範な模倣行為である。
主な違い
フォーカス:
タイポスクワッティングは、主にユーザーが犯した入力ミスを標的とする。
模倣パッケージは、正規のパッケージをより広範に模倣することを目的としており、類似した名前、説明、機能などが含まれる可能性があります。
模倣の範囲:
タイポスクワッティングは通常、パッケージ名に軽微な変更を加えることで行われます。
模倣品は、より徹底的な模倣を行うことで、より本物らしく見えるように作られている場合がある。
重複
タイポスクワッティングとコピーキャットパッケージは、両者の概念には重複する部分があり、どちらもユーザーを騙して悪意のあるソフトウェアをインストールさせることを目的としていますが、タイポスクワッティングは一般的な入力ミスを悪用するのに対し、コピーキャットパッケージはより幅広い模倣戦略を用いる可能性があります。
緩和戦略
タイポスクワッティングや模倣パッケージから効果的に保護するために、組織は従来の戦略と当社の高度なソリューションを統合した多面的なアプローチを採用する必要があります。 ザイゲニOpen Source Security 溶液。 これらのリスクを軽減するための主な戦略は以下のとおりです。
- 信頼できるソースを使用するまず第一に、パッケージは必ず信頼できる検証済みのソースまたは公式リポジトリからダウンロードして、真正性を確保してください。
- 依存関係の固定さらに、デプロイメント全体で一貫性とセキュリティを維持するために、依存関係を特定の検証済みバージョンに固定してください。
- 自動化されたツールさらに、Xygeniのような自動化ツールを活用して、疑わしいパッケージを効率的にスキャンし、フラグを立てましょう。Xygeniの高度な検出機能は、疑わしい依存関係を効果的に特定して管理するように設計されており、セキュリティをさらに強化します。
- 手動検証さらに、自動化ツールに加えて、特に新しく追加されたパッケージや最近大幅なアップデートが行われたパッケージについては、手動による検証も行うようにしてください。
- 名前空間の予約悪意のある攻撃者による乗っ取りを防ぐため、パブリックリポジトリに名前空間パッケージを登録し、管理してください。この予防措置により、組織の名前空間に関連付けられるのは、承認された更新プログラムとパッケージのみであることが保証されます。
これらの戦略をXygeniツールの強力な機能と統合することで、組織はタイポスクワッティングや模倣パッケージといった進化し続ける脅威に対する防御を強化し、ソフトウェアサプライチェーン全体のセキュリティを向上させることができます。




