Maven 依存パッケージはドメイン占有によるフィッシング攻撃に使用できますか?

結論から先に言いますが、基本的には不可能です

原理

Maven パッケージの groupId フィールドはドメイン名を逆にしたものです。たとえば、12345.com をお持ちの場合は、com.12345 の groupId を申請できます。

多くのオープンソース プロジェクトはメンテナンスを停止していますが、多くの人がそれらを使用しており、これらのチームはドメイン名の更新を忘れる可能性があります。同時に、Maven 検索エンジンはすべて groupId + artifactId (任意のカスタマイズ) を使用してプロジェクトの一意性を判断します。コードはプロジェクトとして表示されるため、新しいバージョンが更新されたと誤解されますが、実際には悪意のあるコードが追加されているだけです。

通常の炭素ベースの生物は、各バージョンが正式にリリースされているかどうかを確実に検証しないと推定されており、主に検証する方法がありません...

私たちはやらなければなりません

オープンソース プロジェクトを見つけて、そのドメイン名をプリエンプトします。次に、groupId を適用し、以前のものとは少し異なるバージョンのコードをアップロードします。

うまく実装できれば成功し、実装できなければ失敗です。

期限切れのドメイン名を見つける

私たちの考えでは、登録に安価で更新に高価なドメイン名は有効期限が切れる可能性が高くなります。そこで、安いドメイン名を考えてみましょう。ここではトップの例を示します。登録価格は初年度約 9 元、更新料は 26 元です。

公式ファジークエリインターフェイス:

https://search.maven.org/solrsearch/select?q=top.&rows=20&wt=json

Wanwang ドメイン名クエリが登録されたインターフェースかどうか:

https://panda.www.net.cn/cgi-bin/check.cgi?area_domain=xxxx.com

 自動的にクエリを実行するスクリプトを作成しましょう。私も年をとったので...

すぐに見つかりました(30個未満のうち2個登録できるのは確率高すぎます)

彼を 1 年間登録します。

クエリを通じて、このドメイン名は以前に 2 回登録されており、両方とも有効期限が切れていることがわかります。

 たまたまこの名前のリポジトリに参照用のコードがあるので、groupIdを直接申請してください

その後の恥ずかしいこと:

 元のロールのデプロイメント担当者がこの jira にコメントするための要件が​​あります。

コメントを取得

明らかに、現時点ではオリジナルの作者がまったく見つからず、オリジナルの作者の Github アドレスしかわかっていないため、行き詰まっています。

代わりに、Github に従ってユーザーのメールボックスを知ることができます (ほとんどの人はホームページにメールボックスを表示します)。

実際には、ユーザーのメール アドレスとパスワードがソーシャル ワーク データベースに同時に存在する状況が必要ですが、この時点ではさらに幸運かもしれません

これは当社独自のテストアカウントではないため、ユーザーのプライバシーの原則に従ってフォローアップの問い合わせは行いません。

同様の事例

Tencent Security Response Center (TSRC) の記事から引用:

依存パッケージの不法占拠の典型的なケースは次のとおりです。

2017 年、さまざまな Python/Nodejs ライブラリ パッケージに、主に名前の類似性を利用してユーザーのインストールを誤解させる悪意のあるコードが含まれていることが暴露され、数万のホストが誤インストールの影響を受けました。

2020 年、海外のセキュリティ研究者は、多くの有名な国際企業の内部プライベート パッケージ名が GitHub や Web ページで漏洩し、その後、同じ名前のパッケージを PyPI/NPM/RubyGems に登録してアップロードしていることを発見しました。これらの企業のうち、悪意のあるパッケージのインストールを強制され、影響を受けました。

追記

実際、外国のネチズンは以前にもこの件について議論していましたが、中国では誰も同様のことを書いていないようです: https://news.ycombinator.com/item?id=26087489 

おすすめ

転載: blog.csdn.net/qq_20051535/article/details/131230720