Dynatrace Application Securityによるアプリケーション保護

:::note info
本記事は[Dynatrace Application Security protects your applications in complex cloud environments](https://www.dynatrace.com/news/blog/dynatrace-application-security-protects-your-applications-in-complex-cloud-environments-with-automatic-rasp-and-vulnerability-management/)の抄訳になります。
:::

デジタル化が進む現代社会では、イノベーションのスピードがビジネスの成功のカギを握っています。KubernetesやOpenShiftをはじめとするクラウドネイティブテクノロジーは、組織がイノベーションを加速させるのに役立ちます。また、オープンソースは、クラウドネイティブスタック全体の基本的な構成要素となっています。クラウドネイティブプラットフォーム、オープンソース、サードパーティライブラリを活用することで、価値創造までの時間が大幅に短縮される一方で、アプリケーションセキュリティに新たな課題も生じています。

## クラウドネイティブアプリケーション、Kubernetes、およびオープンソースが、アプリケーションセキュリティに根本的に異なるアプローチを必要とする理由

オープンソースとKubernetesは、過去にないレベルのスピードと複雑さがあります。俊敏性を求めてクラウドネイティブのアプリケーションスタックを採用します。チームは新しい技術を採用し、継続的にコードをデプロイしていきます。その結果、既存のアプリケーション・セキュリティのアプローチでは、現代の開発プロセスのスピードと多様性についていけなくなっています。

また、コンテナやマイクロサービス、Kubernetesなどのプラットフォームを利用したクラウドネイティブ環境は、非常に動的です。すべてのサービスとその相互依存関係を把握することは、人間の能力を超えています。その結果、ファイアウォールが突破されたり、侵入検知システムがネットワークコンテンツをキャプチャできず、脆弱性スキャナーは本番環境で実行されているものを見逃してしまったりするのです。

そのため、クラウドネイティブアプリケーションは、境界の保護に焦点を当てた古いセキュリティ・モデルを破壊しています。現在のセキュリティ・ツールは、ウォーターフォール型開発のために構築されているため、[DevOps](https://www.dynatrace.com/news/blog/what-is-devops/)のボトルネックになっています。時間がかかり、開発者に優しくなく、誤検出が多いため、「遅いけど安全」か「速いけど危険」かの二者択一を迫られることになります。

その結果、オープンソースやサードパーティのライブラリによってもたらされる脆弱性の数は常に増加しており、信頼できるツールがなければ容易に発見されない可能性があります。[Gartner社](https://snyk.io/blog/gartner-guide-highlights-importance-of-software-composition-analysis/)によると、脆弱性の80%は過渡的な依存関係によってもたらされると言われています。影響を受けるアプリケーションは、複数のパブリッククラウドプラットフォームにデプロイされ、何千ものマイクロサービスが何千ものコンテナ上で実行されている可能性があります。2020年の[Enterprise Strategy Group](https://www.veracode.com/sites/default/files/pdf/resources/surveyreports/esg-modern-application-development-security-veracode-survey-report.pdf)の調査では、過去12カ月間に報告された本番アプリケーションの侵害の60%に、既知の未パッチの脆弱性が含まれていることが示されています。

## 従来のアプローチは破綻し、今日のコンテナセキュリティスキャナーでさえ、新たな課題に対する包括的な答えを提供することはできません。

[DevSecOps](https://www.dynatrace.com/news/blog/what-is-devsecops/)は、新しいクラウドネイティブの世界における新しい課題、特にこれらの環境が構築されているコンテナ、マイクロサービス、Kubernetesプラットフォームに対して以下のような課題に頭を悩ませています。

* 瞬時に変化するダイナミックな環境において、本番環境で稼働しているすべてのものが安全であると確信するにはどうしたら良いのか？本番前の純粋なスキャンで十分なのだろうか？
* ランタイムを完全に可視化できるか？パイプラインのチェックをバイパスするものがないことを確認できているか？デプロイ後に判明した問題やレガシーバージョンについてはどうだろうか？
* スキャン設定の初期導入とメンテナンスに膨大な作業を発生させることなく、複数のチームにまたがって、ビルドパイプライン内にスキャンツールを統合するにはどうすれば良いだろうか。
* 大規模なアプリケーションのエコシステムには何百、何千もの脆弱性が存在する可能性があるが、どうすればチームが誤検出に時間を浪費することなく、効果的に優先順位をつけることができるだろうか。
* DevSecOpsのプロセスによってセキュリティテストが「左」にシフトした今、サンプルまたはスケジュールされたスキャン結果に基づいてリスクを手動で分析、評価、管理する時間がチームに十分あるだろうか。

しかし、本番環境で何が実行されているかをリアルタイムで確認し、すべてのサービスの脆弱性を継続的に分析し、どのコードが呼び出されているかに基づいて優先順位をつけることができるとしたらどうでしょう。

## Dynatrace Application Securityは、高速で安全なアプリの配信を可能にします。

これらの課題に対応するため、Dynatraceはアプリケーションセキュリティ市場に参入したことを発表します。新しい[Dynatrace Application Security Module](https://www.dynatrace.com/platform/application-security/)は、ハイブリッドクラウドやエンタープライズ環境向けに構築され、Kubernetesに最適化されています。Dynatraceプラットフォームの自動化、AI、スケーラビリティ、エンタープライズグレードの堅牢性を受け継いでいます。新しいモジュールは、当社の[ソフトウェアインテリジェンスプラットフォーム](https://www.dynatrace.com/platform/)を最新のクラウドRuntime Application Self-Protection（RASP）のユースケースに最初から拡張し、時間をかけてさらなるユースケースに拡張していく予定です。

Dynatraceアプリケーションセキュリティは、モニタリング環境で有効にした瞬間から、オープンソースやサードパーティの脆弱性を自動的に検出、評価、修復することができます。Dynatrace Software Intelligence Platformは、その新しいアプローチにより、DevSecOpsがスピードと信頼性をもってデジタルサービスを提供し、実行することを可能にします。

## AIによる自動的かつ継続的な保護で、RASPセキュリティの新時代を切り拓く

では、Dynatraceのアプリケーションセキュリティモジュールは、クラウドネイティブ、ハイブリッドクラウド、エンタープライズ環境のセキュリティの課題に取り組むために、どのような独自の地位を築いているのでしょうか？

Dynatraceはすでに世界最大級の環境において、自動的かつインテリジェントなオブザーバビリティを提供しています。Dynatrace OneAgentの新しいRASP機能により、信頼性の高い同様のアプローチで、Dynatraceプラットフォームをアプリケーションセキュリティに拡張します。Dynatraceは、アプリケーション、ライブラリ、コードランタイムの自動的かつ継続的な分析のためにRASPとオブザーバビリティを組み合わせ、本番環境とプリプロダクション環境で脆弱性を検出、評価、管理することができます。

Dynatraceは、クラウドネイティブなエコシステムのセキュリティについて、C-suiteに信頼性を提供します。開発チームは、自動化と平凡な作業の排除により、DevSecOpsプロセスを加速することができます。

この自動化は、[DynatraceのAIエンジンであるDavis®](https://www.dynatrace.com/platform/artificial-intelligence/)によって実現されています。Davisは、本番環境とプリプロダクション環境全体を継続的に監視し、あらゆる変更を特定し、リアルタイムで発生した脆弱性のソース、性質、深刻度について正確な回答を提供します。Davisは自動的にアラートを分析し、優先順位を付け、誤検知を排除することで、チームが重要なことに集中し、リスクを文脈で理解できるよう支援します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/65441/e0dfa277-8e0a-0d3d-4080-e2f03650185d.png)

* ランタイムの100％可視化。Dynatraceは、パイプラインのチェックとは関係なく、プリプロダクションから本番環境まで、実行されているすべてのものを完全に可視化することができます。
* 正確なリスクとインパクトの評価を自動化します。脆弱性は、ライブラリが実際に運用されているか、脆弱性が公共のインターネットに公開されているか、機密データが影響を受けているかといった実際の公開範囲・影響範囲によって優先順位が付けられます。
* 1つのプラットフォームで、DevSecOpsの効率的なコラボレーションと自動化された脆弱性管理を実現します。
* 設定不要の完全自動の脆弱性検出アプローチ。

Dynatraceアプリケーションセキュリティがどのようにあなたの業務を楽にし、あなたのアプリケーションをより安全にするかを紹介するために、これらのトピックをもう少し掘り下げてみます。

### 本番環境およびプリプロダクション環境における100%の可視化により、実行時に脆弱性を自動検出することが可能

従来のアプローチでは、開発者は本番前にのみセキュリティ・スキャンを実行し、サンプル・スキャンやスケジュール・スキャンの結果を得ていました。これらの脆弱性スキャナーは、ある時点の静的なビューを提供します。
最近のツールは、Kubernetesやコンテナのような特定のプラットフォームに対するランタイムの洞察を提供することができますが、実際に使用されているライブラリと、存在するが使用されていないライブラリを検出する能力はまだ限られています。また、ソースコードにアクセスできない限り、深い洞察は得られません。
しかし、最新の動的環境で自信を持ってリリースするには、プリプロダクションから本番環境まで、実行されているすべてのものを完全に可視化することが重要です。Dynatraceと特許取得済みの[OneAgent](https://www.dynatrace.com/support/help/setup-and-configuration/dynatrace-oneagent)および[PurePath](https://www.dynatrace.com/support/help/how-to-use-dynatrace/transactions-and-services/purepath-distributed-traces/purepath-method-level-transaction-analysis)テクノロジーは、すでにコードレベルの詳細を持つ個々のトランザクションまで、ほとんどオーバーヘッドなくこれらの洞察を提供しています。新しいアプリケーションセキュリティモジュールは、以下のプラットフォームの強みに基づいて構築されています。

* **ランタイムを100%可視化し、自動的かつ継続的に脆弱性を検出**

実行時にリアルタイムで脆弱性を検出します。セキュリティチェックがすべてのチームのパイプラインに統合されていない場合や、チェックが意図的に回避されている場合でも、Dynatraceは実行中のものを検出し、瞬時に脆弱性をピンポイントで特定します。

* **オープンソースコンポーネントだけでなく、クローズドソースソフトウェアやコンテナも含む、本番環境での実行に関する深い洞察力**

Dynatrace PurePathは、自社のコードやオープンソースライブラリだけでなく、ソースコードにアクセスできないサードパーティアプリケーションを含むトランザクションについても、アプリケーションを完全に把握することができます。PurePathは、例えばサードパーティのコンテナに含まれる（オープンソースの）ライブラリを特定し、それらのライブラリが実行されたかどうかを評価することができます。Dynatraceは、オープンソースライブラリやサードパーティーライブラリの依存関係ツリー全体を自動的にカバーする唯一のソリューションです。

* **本番環境におけるロールバック、旧リリース、フィーチャーフラグ、カナリア、ブルー/グリーンのデプロイメントを完全にカバー**

従来のアプローチとは異なり、Dynatraceは、ロールバック時に誤って再導入された脆弱性や、既知で修正済みであっても、顧客が特定のアップデートを適用せず、古いコンポーネントを使用しているために脅威となっている脆弱性を把握することを可能にします。本番環境全体でどのライブラリが現在使用されているか、どの脆弱性がまだ存在しているかを正確に把握することができます。

Dynatraceがプリプロダクションから本番環境まですべての環境を監視することで、ハイブリッドエンタープライズクラウド、Kubernetes、すべてのコンテナとワークロードを完全に可視化し、最小限の設定で利用することができます。Dynatraceアプリケーションセキュリティは、ランタイム内省のアプローチをSnyk脆弱性データベースと組み合わせて使用し、ランタイムの脆弱性を自動的に検出します。

### 自動的かつ正確なリスクと影響の評価により、誤検知を回避し、最も重要なことに集中可能に

脆弱性の特定は最初のステップに過ぎません。正しい優先順位を設定するためには、脆弱性の重大性を理解する必要があります。しかし、CVSS（Common Vulnerability Scoring System）評価だけに頼っていると、チームは誤検出を追うのに忙しくなり、効果的な優先順位付けができなくなります。実稼働環境では、ライブラリのサブセットしかロードされません。例えば、テスト用のライブラリが本番環境に配備されることはありません。しかし、脆弱性が本当に問題であるかどうかを評価し、それに応じて優先順位をつけるには、問題のライブラリが実際にロードされ、活発に使用されているかどうかを知る必要があるのです。

他のアプローチでは、このようなコンテキストを提供できず、DevSecOpsチームは、次のような質問に対する答えがないまま、誤検出の中に埋もれてしまいます。

* この脆弱性は本当に問題なのか？
* 自分たちの環境にはどのような影響があるのか？
* 本番環境や開発環境に影響を与えるか？

このような背景を知らないために、チームは実際にはリスクにさらされないものを修正したり、従来の脆弱性スキャンから何千行ものコードを除外するために、手作業で例外リストを維持することを余儀なくされます。

Dynatraceは、脆弱性のCVSSに加えて、実際のユーザーセッション、データベースに接続されているかどうか、インターネットから到達可能かどうか、トラフィックが多いか少ないか、他のどのサービスと通信しているかなど、アプリケーションの重要な詳細を知っています。

このリアルタイムな認識により、Dynatraceアプリケーションセキュリティは、脆弱性の深刻度を完全に、自動的に、より正確に評価することができます。脆弱性の重大性と暴露情報を組み合わせることで、脆弱なライブラリはロードされているか、使用されているか、環境のコンテキストにどれだけ関連しているかといった重要なコンテクストの質問に答えます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/65441/62364846-48cf-489e-72b4-de3a77e21315.png)

DevSecOpsチームにとって、これは何百、何千ものオープンな脆弱性の中から、Dynatraceアプリケーションセキュリティが、本当にすぐに調査する必要があるものをピンポイントで見つけ出すことを意味します。データアクセス経路と本番環境の実行を自動的に分析し、自動的かつ正確なリスクと影響の評価を提供します。

* **設定不要でリアルタイムの変化に自動追従**

Dynatraceは、コンテナのダイナミクス、エラスティックなスケーリング、マルチバージョンのデプロイメント、ランタイムコンテナのアップデート、ロールバック、A/Bテスト、ブルー/グリーンデプロイメントなど、アプリケーション環境の変化を自動的かつ継続的に自動検出することが可能です。

* **自動的かつ正確なリスクと影響評価により、誤検出を劇的に減らし、最大のリスクをピンポイントで特定**

Dynatraceは、攻撃ベクトルを継続的に分析し、脆弱なライブラリが実行時に呼び出されて使用されているかどうかを自動的に追跡します。2つのユニークな技術を組み合わせることで、最大のセキュリティ問題を特定し、チームが偽陽性を追いかけることを防ぎます。PurePath分散トレースと[Smartscape](https://www.dynatrace.com/support/help/how-to-use-dynatrace/smartscape)は、コンテナ化されたマイクロサービス・アーキテクチャのすべてのコンポーネントの、相互依存性を含むリアルタイムのトポロジーマップを自動生成します。

* **自動的な「クラウンジュエル」の保護と包括的なCISOへのレポーティング機能**

Dynatraceは、公開データからの自動サービスフロー分析により、ミッションクリティカルな情報資産、すなわち「クラウンジュエル」の保護を自動化し、最高情報セキュリティ責任者（CISO）のための包括的なリスク報告など、脆弱性がビジネスに与えうる影響を文脈で理解できるよう支援します。

### DevSecOpsのコラボレーションと自動化により、脆弱性管理を簡素化し、デジタルサービスの安全な提供を加速

脆弱性が検出され、優先順位が付けられると、次の課題は、問題を効果的に修正することです。セキュリティチームは、多くの場合、ワークフロー管理プラットフォームに統合することなく、さまざまな脆弱性スキャナーを使用しています。例えば、セキュリティチームが新しい脆弱性を発見した場合、発見内容を実行可能な項目に変換し、チケットを作成し、担当の開発者を探し、次のビルドでその脆弱性が修正されているかどうかを手動で確認する必要があります。

また、ビルドスキャン間の継続性がないため、脆弱性が検出された時点から問題が解決された時点までの経過を、チームが手作業で作成、追跡、確認する必要があります。迅速かつ安全なアプローチには、閉じたフィードバックループを使用して、セキュリティ問題の進展を自動的にリアルタイムで可視化することが不可欠です。

セキュリティの進化を自動的にチェックし、脆弱性が修正されたことを確認できなければ、チームは100ページ以上のPDFレポートを閲覧し、延々とスプレッドシートを使って修正状況を追跡することになりかねません。

* **脆弱性の検出から終結までの自動管理**

Dynatraceは、実行時の自動検出とリスク評価、および脆弱性の進化をリアルタイムに可視化し、脆弱性が検出されると自動的にセキュリティ問題を開き、解決されると閉じます。

* **チーム間の効果的なコラボレーションにより、迅速な解決を実現**

Dynatraceは、ビジネス、開発、運用、そして新たにセキュリティチームにも、唯一の自動的かつインテリジェントな観測プラットフォームを提供します。Dynatraceは、リアルタイムな脆弱性影響データ、開発者やセキュリティ専門家のためのコードレベルまでのフォレンジック分析など、さまざまなチームに異なる視点を提供する単一の真実のソースを使用して、チームがより効果的に協力することを可能にします。

* **DevSecOpsのライフサイクルを通じた継続的な可視化**

継続的デリバリーと自動化されたクラウドのために構築され、「APIファースト」の考え方を備えたDynatraceは、「シフトレフト」を簡素化し、チームは問題を早期に発見し、開発から生産までの自動化を推進できるようにします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/65441/479f8e18-cb76-eb7e-21d9-0881b7b374b4.png)
Dynatraceは、データアクセス経路と実際の本番環境での実行によって優先順位をつけた、正確で自動的なリスクと影響の評価を提供します。これにより、影響を受けるサービスフローが自動的にハイライトされ、チームはより迅速な解決のために協力することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/65441/47f32eb7-96eb-34a2-59c2-933d182223d1.png)
チームは、影響を受けるサービスフローをドリルダウンして、脆弱なサービスに到達した個々のリクエストに関する洞察を得ることができます。

## アプリケーションセキュリティモニタリングの始め方

このブログ記事で紹介されているすべての機能を活用することで、アプリケーションを迅速かつ安全に開発、デプロイ、実行できるようになります。本番環境の完全な可視化、正確なリスク評価、自動化された脆弱性管理を、追加的な労力をかけずに手に入れることができるのです。

Dynatraceアプリケーションセキュリティは、[プレビュープログラム](https://www.dynatrace.com/support/help/shortlink/preview-and-early-adopter-releases)を経て、すでに多くのDynatraceのお客様の本番環境内に導入されています。現在のDynatraceアプリケーションセキュリティのリリースは、Javaの脆弱性を検出、評価、管理するものです。しかし、これはまだ始まりに過ぎず、他にも多くの機能拡張が予定されています。

すでにDynatraceをご利用のお客様で、アプリケーションセキュリティを有効にしたい場合は、製品内のチャットでDynatraceのプロダクトスペシャリストにご連絡いただくか、担当の営業までご連絡ください。当社のDevOpsチームがお客様の環境を評価し、フルスタックまたはインフラストラクチャ監視の展開にかかわらず、アプリケーションセキュリティを有効にすることができます。

まだDynatraceをお使いでない場合は、[Dynatraceの無料トライアル](https://www.dynatrace.com/trial/)で簡単に始めることができます。

Dynatraceアプリケーションセキュリティは、アプリケーションとインフラストラクチャの監視のための[ホストユニットの消費](https://www.dynatrace.com/support/help/shortlink/monitoring-consumption#host-unit-hours)と同様のモデルで、アプリケーションセキュリティユニットの消費に基づいてライセンスされています。

詳細については、[Webページ](https://www.dynatrace.com/platform/application-security/)をご覧ください。もっと詳しく知りたい方は、[ドキュメント](https://www.dynatrace.com/support/help/how-to-use-dynatrace/application-security)をご覧ください。

## ご期待ください - これは始まりに過ぎません

これは、CTO、CISO、チーフ・デジタル・オフィサーが、アプリケーションやデジタル・サービスが保護されているという高い信頼性を提供するためのミッションの第一歩に過ぎません。今後のリリースでは、以下の点に注力します。

* Java 以外の言語への対応 次は、node.jsです。
* Kubernetesプラットフォームの脆弱性に対するアウトオブボックスのサポート。

:::note warn
オリジナルのブログが公開されてから多数の機能が追加されております。次回以降その辺の更新情報も記事にしていく予定です。
:::