開発者や保守運用者を標的とする「DevOps認証情報のダンプと強奪」
【背景と概要】
サイバー攻撃者が最も関心を寄せる標的の一つが、システムインフラや開発環境に対して広範なアクセス権限を持つ「デベロッパー(開発者)」や「SRE・システム管理者」の端末です。
これらの特権的な従業員のPC内には、クラウド(AWS/GCP/Azure)のアクセスキー、GitHubのパーソナルアクセストークン(PAT)、データベースの接続パスワード、SSH秘密鍵など、インフラ全体を制御できる「認証情報(Secrets)」が多数保持されています。攻撃者はこれらの資格情報をローカル環境から一括で抜き出す(ダンプする)手口を洗練させています。
【開発者端末から認証情報が強奪される主なルート】
開発業務固有のツールやファイル配置の慣習が狙われます。
- 開発用インフォスティーラーによる「平文ファイル」の探索
開発者の端末がマルウェアに感染すると、攻撃用スクリプトは端末内の特定ファイル(`~/.aws/credentials`、`~/.ssh/id_rsa`、`.env` ファイル、`history` ログ、ブラウザのストレージなど)を自動検索し、平文で保存されているアクセスキーやトークンを一括でダンプ・外部送信します。
- 悪意ある開発ツール・VS Code拡張機能の悪用
Visual Studio Codeのマーケプレイスやnpmなどで、便利な開発支援ツールを装った偽の拡張機能(VS Code Extension)を公開し、インストールした開発者の端末から秘密鍵を盗み出します。
- ソースコードやGitコミット履歴への直接記述
開発者がローカルテストの際、コード内にハードコーディングしたAPIキーを誤ってGitHub等のリポジトリへコミット・プッシュし、それを常時監視している攻撃者の全自動ボットに数秒で盗まれるケースです。
【開発者資格情報が漏えいした際の被害拡大】
開発者端末から1つのAWSアクセスキーが漏えいするだけで、攻撃者は企業の本番クラウド環境へ直接ログインし、データベースの全持ち出し、バックアップの削除、マイニング用インスタンスの不当作成などを一瞬で実行できるようになります。
【DevOps環境におけるシークレット管理の実践アプローチ】
ローカル端末に「平文の鍵を持たせない」構造への転換が必要です。
- 専用シークレット管理ツール(HashiCorp Vault / AWS Secrets Manager等)の利用
ソースコードやローカルの `.env` ファイルに秘密鍵を書き込まず、アプリケーションの実行時にシークレット管理ツールから一時的な認証情報を動的に取得する設計を徹底します。
- 短期有効資格情報(IAM Roles / OIDC)の徹底
アクセスキーなどの「静的で長期有効な鍵」の発行を禁止し、OpenID Connect(OIDC)等を活用した「短時間(数分〜数時間)で自動失効する一時トークン」を利用する運用へシフトします。
- コミット前スキャン(Pre-commit Hook)の自動化
GitGuardianやTrufflehogなどのシークレット検出ツールを開発環境に組み込み、ソースコード内に鍵情報が含まれている場合はGitコミットやプッシュをローカル側で自動拒否(ブロック)します。