GitHub 上の何百万ものエンタープライズ ソフトウェア リポジトリは、次のような脆弱性があります。 リポジャッキング、比較的単純な種類のソフトウェア サプライ チェーン攻撃で、脅威アクターが特定のリポジトリに依存するプロジェクトを悪意のあるリポジトリにリダイレクトします。
この問題は、GitHub ユーザーまたは組織がプロジェクトの名前を変更したり、その所有権を別のエンティティに譲渡したりするときに、GitHub が依存関係をどのように処理するかに関係していると Aqua Security の研究者らは今週のレポートで述べています。
名前変更のリスク
コードの依存関係の破壊を避けるために、GitHub は元のリポジトリ名と新しいリポジトリ名の間にリンクを作成し、元のリポジトリに依存するすべてのプロジェクトが新しく名前変更されたリポジトリに自動的にリダイレクトされるようにします。 ただし、組織が古いユーザー名を適切に保護できなかった場合、攻撃者はそれを再利用して元のリポジトリのトロイの木馬化されたバージョンを作成するだけで、そのリポジトリに依存していたプロジェクトが再びそのリポジトリから依存関係のダウンロードを開始する可能性があります。
「リポジトリ所有者がユーザー名を変更すると、古いリポジトリから依存関係をダウンロードする人のために、古い名前と新しい名前の間にリンクが作成されます。」 アクアの研究者はこう語った。 今週のブログで。 「しかし、誰でも古いユーザー名を作成してこのリンクを解除することは可能です。」
Aqua の研究者は最近、このようなリポジャッキング (一部のセキュリティ研究者がこの脅威について言及している) に対して脆弱な GitHub 上のリポジトリの蔓延を調査することを決定しました。
広く蔓延している問題
Aqua が発見したことは XNUMX つありました。Google や Lyft などの企業に属するリポジトリを含む数百万のそのようなリポジトリが GitHub 上に存在します。 また、攻撃者がこれらのリポジトリを見つけてハイジャックするためのツールが簡単に入手できます。 これらのツールの XNUMX つは GHTorrent です。これは、コミットやプル リクエストなどのすべての公開イベントのほぼ完全な記録を GitHub 上に維持するプロジェクトです。 攻撃者は GHTorrent を使用して、組織が以前に使用していたリポジトリの GitHub 名を収集できます。 その後、古いユーザー名でリポジトリを登録し、リポジトリを再作成し、それを使用するプロジェクトにマルウェアを配布することができます。
GitHub リポジトリを直接参照するプロジェクトは、リポジトリの所有者がリポジトリのユーザー名を変更または削除した場合に脆弱になります。
「私たちは、攻撃者が組織に属する以前のリポジトリの名前を収集するために利用できる重要なデータセットを提示しました」と、Aqua Nautilus のセキュリティ研究者である Yakir Kadkoda 氏は述べています。
「組織は、古い組織名が非公開のままであると想定すべきではありません」とカドコダ氏は警告します。 「彼らにとって、GitHub 上で古いユーザー名を主張して保持し、コード内の GitHub URL と参照をスキャンして、攻撃者によって主張される可能性のあるリポジトリを特定することが重要です。」
保護のバイパス
Kadkoda氏によると、GitHubは、以前に所有され、現在は他のプロジェクトにリダイレクトされているユーザー名とリポジトリの作成を防ぐことで、この問題に対処しようとしているという。 GitHubも 仕組みを実装した 数年前、この脅威を軽減する手段として、人気のあるリポジトリ名前空間を廃止しました。 「しかし、ここ数年でいくつかのバイパスが発見されました」と彼は言います。 Aqua の調査中に、研究者らは、GitHub によって実装された保護が適用されないリポジトリの例をいくつか発見しました。 「したがって、現時点ではユーザーはこれらの防御に完全に依存することはできません」と彼は言います。
Aqua のブログは、GitHub の脆弱性を指摘しました。 チェックマークスは昨年発見された これは、攻撃者が GitHub のリポジャッキングから保護する試みを回避するために利用できる方法の一例です。 この欠陥には「人気のリポジトリ名前空間の廃止」と呼ばれるメカニズムが関係しており、Swift、Packagist、Go などのパッケージ マネージャー上の 10,000 以上のパッケージを含む、GitHub 上の名前変更されたすべてのユーザー名に影響がありました。 「リポジャッキングは、元のリダイレクトを破壊する論理的欠陥を悪用することで、名前が変更されたリポジトリ URL トラフィックをハイジャックし、攻撃者のリポジトリにルーティングする手法です」と Checkmarx はこの脆弱性に関するレポートで述べています。 「GitHub リポジトリは、古いユーザー名が登録可能な状態で作成者がユーザー名の変更を決定した場合、リポジャッキングに対して脆弱になります。」
組織はコード、リポジトリ、GitHub リンクの依存関係をスキャンすることで、リポジャッキングの脅威にさらされることを軽減できます。「組織は、それらのリンクが GitHub プロジェクトを直接参照しているかどうか、または他のユーザー名またはリポジトリを指しているリダイレクトがあるかどうかを確認する必要があります」と Kadkoda 氏は言います。元のリンクよりも名前が変わります。」 このような場合、組織は、攻撃者がそうするのを防ぐために、利用可能なユーザー名を要求することを試みる必要があります。 「さらに、組織は常に古いユーザー名を GitHub 上で維持する必要があります」と彼は言います。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- PlatoData.Network 垂直生成 Ai。 自分自身に力を与えましょう。 こちらからアクセスしてください。
- プラトアイストリーム。 Web3 インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- プラトンESG。 自動車/EV、 カーボン、 クリーンテック、 エネルギー、 環境、 太陽、 廃棄物管理。 こちらからアクセスしてください。
- ブロックオフセット。 環境オフセット所有権の近代化。 こちらからアクセスしてください。
- 情報源: https://www.darkreading.com/application-security/millions-of-repos-on-github-are-potentially-vulnerable-to-hijacking
- :持っている
- :は
- :not
- :どこ
- 000
- 10
- 7
- a
- さらに
- 住所
- 十分に
- 再び
- に対して
- 前
- すべて
- また
- 常に
- an
- および
- 別の
- どれか
- 誰も
- 申し込む
- アクア
- です
- AS
- At
- 攻撃
- 試みた
- 試み
- 自動的に
- 利用できます
- 避ける
- BE
- き
- の間に
- ブログ
- ブレーク
- 破壊
- 休憩
- by
- 呼ばれます
- 缶
- チェーン
- 変更
- チェック
- チェックマーク
- クレーム
- 主張した
- コード
- 企業
- コンプリート
- 可能性
- 作ります
- 作成した
- 作成します。
- 創造
- クリエイター
- 重大な
- 決定しました
- 配信する
- 依存関係
- 依存
- DID
- 直接に
- 発見
- do
- すること
- ダウンロード
- 間に
- 簡単に
- Enterprise
- エンタープライズソフトウェア
- エンティティ
- イベント
- 例
- 例
- 暴露
- 失敗
- 少数の
- もう完成させ、ワークスペースに掲示しましたか?
- 欠陥
- 発見
- から
- 完全に
- 取得する
- GitHubの
- Go
- でログイン
- ハンドル
- 収穫
- 持ってる
- he
- ハイジャック
- 彼の
- 認定条件
- しかしながら
- HTTPS
- 識別する
- if
- 実装
- in
- 含めて
- を取得する必要がある者
- 調べる
- 関係する
- 問題
- IT
- ITS
- JPG
- キープ
- 種類
- 姓
- 昨年
- LINK
- リンク
- 論理的な
- Lyft
- 維持する
- 維持
- マルウェア
- マネージャー
- 手段
- メカニズム
- 何百万
- 軽減する
- 緩和する
- 名
- 名
- ほぼ
- 新作
- 新しく
- 今
- of
- 古い
- on
- かつて
- ONE
- or
- 組織
- 組織
- オリジナル
- その他
- が
- 所有している
- 所有者
- 所有権
- パッケージ
- パッケージ
- 特定の
- 過去
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- ポイント
- 人気
- 可能
- :
- 現在
- PLM platform.
- 流行している
- 防ぐ
- 予防
- 前
- 前に
- プロジェクト
- プロジェクト(実績作品)
- 守る
- 保護
- 公共
- 最近
- 記録
- リダイレクト
- リファレンス
- 登録
- 参加申し込み
- 相対的に
- 頼る
- 残る
- レポート
- 倉庫
- リクエスト
- 研究者
- 研究者
- 退職
- 再利用
- ルーティング
- s
- 前記
- 言う
- スキャン
- スキャニング
- セキュリティ
- いくつかの
- すべき
- 重要
- 簡単な拡張で
- 単に
- So
- ソフトウェア
- 一部
- start
- 勉強
- そのような
- 供給
- サプライチェーン
- SWIFT
- より
- それ
- アプリ環境に合わせて
- それら
- その後
- そこ。
- したがって、
- ボーマン
- 彼ら
- この
- 今週
- それらの
- 脅威
- 〜へ
- 豊富なツール群
- トラフィック
- 転送
- 下
- つかいます
- 中古
- ユーザー
- users
- 使用されます
- 活用する
- バージョン
- 脆弱性
- 脆弱な
- 警告する
- ました
- 方法
- we
- 週間
- した
- いつ
- while
- 誰
- 意志
- 年
- 年
- ゼファーネット