2023年1月4日、CircleCIはセキュリティインシデントが発生したことを公表し、利用者へ注意を呼びかけました。また1月13日には侵入経路を含む調査結果などをまとめたインシデントレポートを公表しました。ここでは関連する情報をまとめます。
CircleCIより流出したデータから利用者のサードパーティシステムに影響
- CircleCIが不正アクセスを受け、同社のプラットフォーム上に保存された利用者のサードパーティシステム(Githubなど)の環境変数、キー、トークンを含む情報の一部が流出した。不正アクセスにより情報が流出したのはクラウドで提供されるCircleCIで、オンプレミス型のCircleCI Serverは影響を受けない。
- 2023年1月13日公表時点で本件の影響を受け、利用者よりサードパーティシステムへの不正アクセスが生じたと報告を受けたケースは5件未満。但しCircleCIは不正アクセス発生後(2022年12月22日)に同社プラットフォーム上にシークレット情報を保存していた場合はサードパーティシステムが不正アクセスを受けていると想定した対応を講じるよう推奨している。
- CircleCIでは本件を受けて利用者のサードパーティシステムへの不正アクセスの発生を直接把握する方法がないことから、同社が把握している不正アクセスに関するインディケーター情報を利用者が調査する際の情報として公開している。
ログ調査等の推奨期間 | 2022年12月16日~2023年1月5日 (マルウエア感染からシークレットのローテーション完了までの期間) 参考: ・2022年12月19日:不正アクセス発生日 ・2022年12月22日:データ流出発生日 |
---|---|
不正アクセス元IPアドレス | ・178[.]249[.]214[.]10 ・89[.]36[.]78[.]75 ・89[.]36[.]78[.]109 ・89[.]36[.]78[.]135 ・178[.]249[.]214[.]25 ・72[.]18[.]132[.]58 ・188[.]68[.]229[.]52 ・111[.]90[.]149[.]55 |
不正アクセス元のデータセンター及びVPNプロバイダー | ・Datacamp Limited ・Globalaxs Quebec Noc ・Handy Networks, LLC ・Mullvad VPN |
削除対象の悪性ファイル | ・/private/tmp/.svx856.log ・/private/tmp/.ptslog ・PTX-Player.dmg*1 ・PTX.app |
遮断推奨ドメイン | potrax[.]com |
GitHub監視ログより確認すべきコマンド | repo.download_zip |
サービス利用者から報告を受け発覚
- 当該インシデントの発端は2022年12月29日にCircleCIのサービス利用者からGithub OAuthの不審なアクティビティについて報告の受領だった。その後同社のセキュリティチームがGithubの協力を受け調査をしたところ第三者によって当該報告者のGithub OAuthトークンが侵害されていた事実が翌日判明した。
- 因果関係は明らかになっていないが、2022年12月31日にSlackがセキュリティインシデントの発生を公表している。事象の内容がGithubのトークン窃取及びGithubリポジトリへの不正アクセスで、2022年12月29日に発覚したものであり、さらに原因がサードパーティベンダーの侵害が起因というものであった。
従業員のセッションcookieを窃取し本番環境へ不正アクセス
- CircleCIのエンジニアのPCがマルウエアに感染しており、その結果セッションcookie(2要素認証が有効なSSOセッション)が窃取されていた。マルウエアの詳細(ハッシュ値等)は開示されていないが、同社のセキュリティソフトでは検知されないものであった。
- さらに当該エンジニアは本番環境のアクセストークン作成の権限を保有していたことから、攻撃者は窃取した情報を使って遠隔から同社の本番環境(データベースやストア)の一部に不正アクセスを広げ、CircleCI利用者の環境変数、キー、トークンの窃取を試みた。
- CircleCIで保管されている全てのデータは暗号化が行われていたが、実行中プロセスより暗号化キーを抽出し、暗号化されたデータへのアクセス(復号)が可能だったとみられる。
- CircleCIは一人のエンジニアのPCが悪用されたことは事実としてあったものの、今回のセキュリティインシデントはシステムのエラーにより生じたものであり、全ての攻撃方法に対して複数の防御を講じることが組織としての責任であると説明。
今回 CircleCIが受けた攻撃と同様の手口はこれまでも度々報告されている。
- 2022年3月22日 Microsoft DEV-0537 criminal actor targeting organizations for data exfiltration and destruction
- 2022年8月10日 Cisco Cisco Talos shares insights related to recent cyber attack on Cisco
- 2022年9月16日 Uber Security update
利用者へのセキュリティベストプラクティスとビルド環境の安全性確保
CircleCIは今回の件を受けて、利用者に対しパイプラインのセキュリティを向上させる推奨方法として以下を案内している。
- 可能な限りOpenID Connectトークンを使用し、CircleCI に長期間の認証情報を保存しないようにする。
- IPアドレスの範囲機能を利用して、システムへのインバウンド接続を既知のIPアドレスに制限する。
- コンテキストを利用して、共有されたシークレットを統合し、特定のプロジェクトへのアクセスを制限し、API経由で自動的にローテーションさせる。
- 権限付きアクセスや追加のコントロールには、IP制限やIAM管理など、CircleCIプラットフォームを利用者自身のコンピューティングや 環境に接続するためのセルフホストランナーを使用する。
またビルド環境に対する安全性確保について以下の対策を講じたと説明をしている。
- 今回使用されたマルウェアが示す特定の動作に対して、MDMおよびアンチウィルスソリューションによる検知とブロックの追加。
- 本番環境へアクセス権限を保有する社員の最小化。
- 本番環境へのアクセスを保持する従業員に対し追加の認証とコントロールを追加。(今回同様にセッション情報が窃取されても本番環境への不正なアクセスを防止可)
- 今回確認した行動パターンに対し複数のトリガーと様々なサードパーティベンダーによる監視とアラートを実施。
- 強化された継続的なレビューの実施。
公式発表
- 2023年1月4日 セキュリティアラート 1月4日(日本時間 1月5日)
- 2023年1月13日 CircleCI 2023年1月4日セキュリティインシデントに関するインシデントレポート
関連タイムライン
日時 | 出来事 |
---|---|
2022年12月16日 | CircleCIのエンジニアのPCがマルウエアに感染しSSOセッションCookieが窃取される。 |
2022年12月19日 | CircleCIの本番環境に対して不正アクセスが発生。攻撃者による予備調査が行われた可能性。 |
2022年12月22日 | CircleCIの本番環境からデータの窃取が発生。 |
2022年12月29日 | サービス利用者よりGithub OAuthの不審なアクティビティが発生したとの報告を受ける。 |
2022年12月30日 | 調査より当該利用者のGithub OAuthトークンが侵害されていたことが判明。 |
2022年12月31日 | 全ての利用者のGithubのOAuthトークンのローテーションを開始。 |
2023年1月4日 | 調査より影響範囲と侵入経路を特定。 |
同日 16時35分 | セッション情報が流出したエンジニアの全てのアクセスを停止。 |
同日 18時30分 | 本番環境の運用に関わる極少数のグループのみにアクセスを制限。 |
同日 22時30分 | 影響を受けた可能性のあるすべての本番環境のローテーション完了。 |
同日 | CircleCIがセキュリティインシデントの発生を公表し利用者へ注意喚起。 |
2023年1月5日 3時26分 | すべてのプロジェクトAPIトークンを無効化。 |
同日 | 公表しているインシデント情報を更新。(ビルドが可能であること、シークレットローテーションのお願い) |
2023年1月6日 5時 | 前日以前に作成されたすべてのパーソナルAPIトークンを無効化。 |
同日 6時40分 | Atlassianと協力し利用者のBitbucketトークンをローテーションする作業を開始。 |
同日 10時15分 | Bitbucketトークンのローテーションが完了。 |
同日 | 公表しているインシデント情報を更新。(トークン無効化等の対応方針の説明) |
2023年1月7日 7時30分 | GitHub OAuthトークンのローテーションが完了。 |
2023年1月7日18時30分 | AWSと協力して、影響を受けた可能性のあるAWSトークンの利用者に対して通知開始。 |
同日 | 公表しているインシデント情報を更新。(Github OAuthローテーション進捗、その後完了の報告) |
2023年1月10日 | 公表しているインシデント情報を更新。(シークレットローテーション方法の案内) |
2023年1月12日 | 影響を受けたAWSトークンに関する通知が完了。 |
2023年1月10日 | 公表しているインシデント情報を更新。(影響対象者に対するAWSからの案内についての説明) |
2023年1月13日 | CircleCIがインシデントの調査結果を公表。 |
更新履歴
- 2023年1月16日 AM 新規作成
*1:SHA256: 8913e38592228adc067d82f66c150d87004ec946e579d4a00c53b61444ff35bf