CISAの請負業者NightwingのGitHubリーク、AWS GovCloudキーを露出
政府請負業者Nightwingに関連する公開アクセス可能なGitHubリポジトリが、サイバーセキュリティ・インフラセキュリティ庁(CISA)および国土安全保障省(DHS)が使用するシステムに関連する機密認証情報とクラウドアクセスキーを露出させた。GitHub上でのCISA請負業者の認証情報漏洩は、議員たちからの即座の要求を引き起こし、露出の範囲と現在進行中の対応措置についてCISAへの完全なブリーフィングを求めている。
この事件は、連邦サイバーセキュリティ基準の策定を担う機関でさえ、あらゆる規模の組織を悩ませる同じ基本的なミスに対して脆弱であることを鋭く示している。
Nightwing GitHubリポジトリで露出した内容
事件の中心となったリポジトリはGitHub上で公開されており、研究者たちによると、CISAおよびDHSが使用するAWS GovCloud環境に紐付けられた認証トークンやクラウドアクセスキーを含む特権的な認証情報が含まれていた。AWS GovCloudは機密性の高い米国政府のワークロード専用に構築された制限付きクラウド環境であり、この露出は特に重大な意味を持つ。
このリポジトリはプライベートであるべきことを示す名称が付けられていたと報告されており、単純ではあるが重大な設定ミスがあったことを指摘している。問題を指摘した研究者たちはリポジトリが削除される前に認証情報を特定することができたが、露出の期間は、なぜこのようなリークが内部でより早く検出されなかったのかについて深刻な疑問を呈するほど長かったと見られる。
議員たちは素早く反応した。議会の上級議員たちは現在、アクセスされた可能性のあるシステム、認証情報が悪用されたかどうか、そしてなぜリークが機関または請負業者によってより早く発見されなかったのかを把握するため、CISAへの直接ブリーフィングを求めている。
認証情報の漏洩がとりわけ危険な理由
すべてのデータ漏洩が同じリスクプロファイルを持つわけではない。氏名やメールアドレスの露出は有害だが、有効な認証情報やクラウドアクセスキーの露出はまったく異なるカテゴリの脅威である。
APIキー、アクセストークン、またはクラウド認証情報が公開リポジトリに公開された場合、それを発見した誰もがすぐに使用できる可能性がある。ハッシュ化された認証情報をクラックしてから使用するパスワード漏洩とは異なり、有効なAPIキーやアクセストークンは発見された瞬間に展開できる状態にある。攻撃者はクラウド環境に直接認証し、リソースを列挙し、権限を昇格させ、データを流出させ、またはサービスを妨害することができる。これらすべては、従来の侵入試みが引き起こすようなアラートを発生させることなく行われる可能性がある。
政府の文脈では、関与するシステムの機密性によってリスクがさらに高まる。AWS GovCloudのインスタンスは管理対象の非機密情報を保持することが多く、それらの環境へのアクセスにより、敵対者は連邦インフラの詳細な地図を手に入れる可能性がある。即時の悪用が発生しなかったとしても、CISAのシステムがどのように構成され認証されているかを理解することの情報的価値は大きい。
政府請負業者の失敗が日常的なセキュリティミスと重なる理由
この事件が直接的な政治的余波を超えて教訓的である理由は、根本的なミスがいかに普通のものであるかにある。公開リポジトリに誤って認証情報をコミットしてしまうことは、最も一般的な開発者のセキュリティエラーの一つとして常にリストアップされている。これはスタートアップ、大企業、オープンソースプロジェクト、そして明らかに、国家のトップサイバーセキュリティ機関を支援する請負業者のエコシステム内でも起こっている。
制度的なデータ管理の失敗が議会の監視につながるパターンは見慣れたものになってきている。最近も、CanvasのShinyHunters侵害が同様の経緯をたどった。請負業者またはベンダーが機密データの保護に失敗し、露出が公になり、議員たちが責任を求めた。詳細は異なるが、構造的な失敗は同じである。組織は機密認証情報やデータを第三者に委託するが、それらの第三者が主要組織の主張する基準と同じ基準を適用するとは限らない。
CISAにとって、この状況は特に厄介である。同機関はコードリポジトリへのシークレット保存を避けること、定期的に認証情報をローテーションすること、露出したキーの自動スキャンを実装することを公共および民間セクターの組織に促すガイダンスを長年にわたって公開してきた。CISAが警告していることをまさに請負業者が行ったという事実は、これらの問題に関する機関の権威を損ない、連邦政府のサイバーセキュリティ姿勢は実践的というより形式的なものだと主張する批評家に口実を与えることになる。
自分の認証情報がオンラインで露出されないようにする方法
Nightwingの事件は、認証情報を管理するすべての人にとって有益な契機である。今日それは、クラウドサービスに依存したり自分自身のツールを管理したりするほぼすべての開発者、IT専門家、さらには多くの一般ユーザーを意味する。
認証情報の衛生状態を監査・改善するための具体的な手順を以下に示す:
コードに認証情報をハードコードしない。 環境変数または専用のシークレット管理ツールを使用して、ソースファイルから認証情報を完全に排除する。SDKやCLIを提供するサービスを使用している場合は、コードにキーを埋め込まずに認証する推奨方法についてドキュメントを確認すること。
プッシュ前にリポジトリをスキャンする。 コード内のシークレットを検出するために特別に設計されたツールは、プリコミットフックとして実行でき、リモートリポジトリに到達する前に潜在的な漏洩を検知する。既存のリポジトリ(プライベートおよびパブリックの両方)に対してスキャンを実行することも価値がある。
定期的に、そして露出が疑われた直後に認証情報をローテーションする。 認証情報が表示された可能性がある場合は、侵害されたものとして扱い、遅延なくローテーションすること。多くのクラウドプロバイダーはダウンタイムなしに新しいキーを発行し古いキーを失効させることができる。
可能な限り短命な認証情報を使用する。 限られた権限と自動失効を持つ一時的な認証情報は、露出した場合でも被害の窓を制限する。クラウドプロバイダーはますますアイデンティティフェデレーションとロールベースのアクセスをサポートするようになっており、長期間有効な静的キーの必要性を排除している。
第三者のアクセスを監査する。 請負業者、ベンダー、またはオープンソースの統合を使用している場合は、付与した認証情報と権限を定期的に見直すこと。不要になったアクセスは取り消すこと。
あなたにとっての意味
GitHub上でのCISA請負業者の認証情報漏洩は、単に政府だけの問題ではない。これは、あらゆる種類の組織がシークレットをどのように扱うかという体系的な弱点を反映しており、コードに認証情報を保存したり、クラウドサービスを使用したり、機密システムの管理を請負業者に依存するすべての人に影響する。
これを自分自身の監査を実施する契機としてほしい。リポジトリを見直し、クラウドアクセスキーのインベントリを確認し、あるべきでない場所に認証情報が存在していないことを確かめること。CISAが公には提唱しながら内部では実施できなかったのと同じ規律は誰でも利用可能であり、露出後の収拾にかかるコストよりも予防的に適用する方がはるかにコストがかからない。
米国の重要インフラを保護する責任を負う機関でさえ、請負業者の基本的なミスによってこのような恥辱に直面する可能性があるなら、自分自身の体制が同様に整っているかどうかを問うことは理にかなっている。




