オープンソースのサプライチェーンは、CI/CDパイプラインの脆弱性から悪意のあるプルリクエスト、フィッシング攻撃、自己増殖型マルウェアに至るまで、増え続けるセキュリティ脅威に直面しています。先手を打つためには、チームが実際に本番環境で稼働しているコンポーネントを明確に把握する必要があります。 これが、侵害されたパッケージが損害をもたらす前に発見するための鍵となります。この可視性と悪意のあるコードに対する自動アラートを組み合わせることで、組織は最近のNPMサプライチェーン侵害(s1ingularity、Qix、Shai Hulud)のような重大な脅威に迅速に対応できるようになります。
オープンソースエコシステム内でサプライチェーンインシデントが発生した場合、組織は直ちに自らのリスクを特定しなければなりません。重要な問いは「悪意のあるパッケージが自社アプリケーションに組み込まれているかどうかをどう判断するか?」となります。さらに根本的には「自社のランタイム環境で実際にデプロイされ実行されているものが何か、そもそも把握できているのか?」という問いです。
Dynatraceは、これらの疑問に答えるだけでなく、セキュリティ脅威に迅速に対応するための強力な機能を提供します。
- Smartscapeエンティティは、展開済みのすべてのソフトウェアコンポーネントとそのバージョンを含む、お客様の環境全体をリアルタイムで可視化します。Dynatraceクエリ言語(DQL)を使用することで、使用中のソフトウェアコンポーネントを取得し、既知の悪意のあるパッケージのリストと照合することが可能です。これにより、特定のパッケージを手動で確認し、それらが使用されている場所を迅速に把握できます。
- ランタイム脆弱性分析(RVA)は、これらすべてを自動的に、かつ継続的に行います。さらに、ネットワークおよびコードの到達可能性に関するデータ、リスクスコアリング指標、その他のプロパティを活用し、脆弱性のあるコンポーネントや悪意のあるコンポーネントに対して、環境固有のリスク優先順位付けを可能にします。
- 自動化されたワークフローにより、RVA のコンテキストで生成された発見事項への対応、責任チームへの通知、チケットの発行、対応アクションの調整が可能となります。
この自動化・統合されたアプローチにより、以下の測定可能な成果が期待できます:
- 継続的に更新される脅威インテリジェンスと自動化された監視を組み合わせることで、平均検出時間(MTTD)を短縮します。
- 確立された責任所有者データを活用し、責任ある関係者に直接関与することで、平均認識時間(MTTA)を短縮します。
- 悪意のあるパッケージの展開場所に関する包括的な詳細情報を提供し、侵害後の潜在的な活動を観察できるログやトレースで補完することで、調査までの平均時間(MTTI)を短縮します。
- 初期侵害段階で攻撃チェーンを遮断・妨害することで、攻撃者の永続化成功リスクを最小化します。
RVAと自動化されたワークフローの導入を開始する
まず手動でのアプローチを確認した後、RVAとワークフローがどのような支援を提供できるかについて詳しく見ていきましょう。
既報の悪意あるパッケージを検索するには、以下のようなDQLクエリを実行するだけで簡単に行えます:
fetch dt.entity.software_component | filter contains(softwareComponentShortName, "debug") | fieldsAdd softwareComponentType, packageName, softwareComponentVersion

ソフトウェアコンポーネントを手動で検索し、潜在的に悪意のあるパッケージをフィルタリングする能力は、インシデント対応を加速させる貴重な機能です。しかし、この手法では疑わしいパッケージの膨大なリストを維持し、検索クエリを継続的に更新する必要があるため、探索的または調査的な作業には適していますが、サプライチェーン侵害の自動検出には最適とは言えません。
RVAは、環境内のセキュリティ問題を包括的かつ即座に利用可能な形で提供することで、この運用上の負担を解消します。そのランタイムベースのアプローチは、脆弱性管理を強化する特性と同様に悪意のあるパッケージの侵入を検知し、本質的に誤検知を最小限に抑えます。RVAは、パッケージがメモリにアクティブにロードされ、真の脅威となる場合にのみランタイム脆弱性を可視化するため、実用的な結果を伴う高精度な検知を保証します。

前述のようにパフォーマンスを向上させるには、有害なパッケージの検出と、それらを迅速かつ効率的に修正する方法を連携させる必要があります。これは、有害なコンポーネントがクラスターやネームスペース内で検出された時点で、適切なチームに即座に通知する自動化システムを活用し、迅速な対応を可能にすることを意味します。
Dynatrace Workflowアプリを使用して、以下のようなイベントトリガーを実装することで、悪意のあるパッケージに基づく新たな発見が作成されるたびにワークフローを自動的に開始できます:

CWE-506とは、Common Weakness Enumeration ID 506:埋め込み型悪意のあるコードを指します。また、トリガーでは新規発見に限定してフィルタリングするため、既に対処済みのイベントについて繰り返し通知されることはありません。
これでワークフローの全機能を活用し、所有者情報を取得したり、Slack、Teams、Jira などの方法でチームに通知したりできます。また、フォレンジック証拠の収集を自動的に開始したり、ネットワークポリシーなどのリソースをデプロイして進行中の脅威を軽減することも可能です。

今後の展開について
サプライチェーンセキュリティインシデントをさらに調査するためには、Amazon CloudTrailやGoogle Cloud Audit Logsなどのクラウドサービスプロバイダーの監査ログ、およびGitHubやGitLabなどお使いのSCMプラットフォームの監査ログを取り込むことをDynatraceでは推奨しております。セキュリティインシデントを迅速に共同解決するには、Security Investigatorアプリをご活用ください。
ご質問がございましたら
新しいディスカッションを開始するか、Q&Aフォーラムでサポートをお求めください。
フォーラムへ