ランタイムセキュリティとは?
What Is Runtime Security?
What you'll learn
-
The threats runtime security protects against
-
Types of runtime security
-
Best practices for implementing runtime security
ランタイムセキュリティは、どこで実行されているかに関わらず、実行中のプロセスを保護するテクノロジーです。ランタイムセキュリティは、サイバーセキュリティ(特にクラウド)において重要な要素であり、悪意のあるコードや攻撃からアプリケーション、インフラ、データ、ユーザーを保護します。
ランタイムセキュリティについて、その種類や、それを実装するテクノロジーやプロダクトについて見ていきましょう。
ランタイムセキュリティとは?
ランタイムセキュリティは、静的ファイルの検知よりも実行中のプロセスを保護します。ランタイムセキュリティ技術は、コンテナ内で実行されるプロセス、サーバーレス機能、仮想マシン、ローカルマシン自体で実行されるプロセスを保護できます。
これにより、実行中のアプリケーションをエンドツーエンドで保護し、他の脅威検知方法では検知できないサイバーセキュリティの脅威が実行中のプロセスに潜むことを防ぎます。
ランタイムセキュリティはどのような脅威から保護しますか?
ランタイムセキュリティは、以下のサイバーセキュリティの脅威から保護します。
- マルウェアおよび悪意のあるコード:まだ特定および分類されていないマルウェアはソフトウェアの依存関係に潜む可能性があり、実行されるまでその目的を隠すことができる悪意のあるコードは、従来のコードおよびファイルのスキャンによる検知を逃れることができます。これらの脅威は実行された場合にのみ検知および阻止することができます。
- コードのインジェクションとメモリの破壊:バッファオーバーフローやその他のコードインジェクションの手法は、悪意のあるコードがデプロイ前に存在するのではなく、実行中のアプリケーションに導入されることを意味します。つまり、実行時保護によってのみ検出できるということです。
- 不正アクセスと特権の昇格:実行時セキュリティは、リソースへの不正アクセス(または不正アクセスの試み)を検出できます。セキュリティポリシーを適用して特権の昇格を試みることを拒否し、その試みをプロセス侵害の証拠としてログに記録することができます。
- ゼロデイ攻撃: それまでは信頼性の高いソフトウェアに存在していた未知の脆弱性は、一般的な攻撃ベクトルです。 攻撃ベクトルがまだ不明であるため、ランタイムセキュリティはエクスプロイトの結果を検出できる可能性があり、原因を絞り込むことができます。 クラウドにおけるゼロデイ攻撃に対する最善の防御策は、ネットワークのセグメント化と強固なセキュリティ対策です。
- 疑わしい動作:ランタイムセキュリティは、C2サーバーへのアウトバウンドネットワーク接続、コンテナ化されたワークロード内の権限昇格、従来のエンドポイント検出ルールを回避するためのコマンドラインのスクリプトの難読化など、進行中の標的型攻撃を示唆するその他の疑わしい動作も検出できます。
上記の脅威に対抗するために、ランタイムセキュリティは、アプリケーションがその環境やその他のリソースとどのように相互作用するかの基本ラインを確立します。独自のポリシーと組み合わせることで、進行中のサイバー攻撃の可能性を示す異常な動作をリアルタイムで識別できるようになります。
ランタイムセキュリティと他のセキュリティ対策の違い
本番環境に配備される前にコードの異常や脆弱性をチェックする静的解析ツールや、管理された環境で実行中のコードをチェックする動的解析ツールは、単独でも組み合わせても、アプリケーションを完全に保護するには不十分です。
特定されていない脆弱性は静的解析をパスすることがあり、また、悪意のある動作が管理された環境で引き起こされないこともあります。ランタイムセキュリティは、運用中のアプリケーションを実行中にアクティブに監視します。つまり、静的解析や動的解析では特定できない可能性のあるコードインジェクション、特権の昇格、ゼロデイ、その他の悪意のある行為を検知し、対応することができるのです。
クラウド環境におけるランタイムセキュリティの重要性
ネイティブなクラウド環境でアプリケーションを安全に維持するためには、実行時のセキュリティが不可欠です。悪意のあるコードやその他のサイバー攻撃は、クラウドリソースを悪用して、コンピューティングパワーを無料で利用したり、高価なAPIにアクセスしたり、業務を妨害したりするために使用される可能性があります。攻撃者は、ボットネットの一部として、あるいはその他の違法な目的で、貴社のインフラストラクチャを他者に対する攻撃ベクトルに変えることもできます。
企業にとって最大の懸念事項のひとつは、攻撃者が実行中のプロセスを悪用してアクセスし、機密データを漏洩する可能性です。漏洩したデータに個人識別情報(PII)が含まれている場合、GDPRやCCPAなどのプライバシー法による法的影響だけでなく、企業イメージの低下にもつながる可能性があります。
常時オンラインであること、およびクラウドインフラの複雑さと規模により、セキュリティチームにとって可視性を確保することが困難になっています。クラウドネイティブ環境のランタイムセキュリティでは、あらゆる種類の監視とログツールを使用して、この問題に直接対処する必要があります。また、適切な担当者に通知されるようにアラートを設定する機能も提供し、進行中の攻撃を示す重要なアラートを見落とさないようにする必要があります。
ランタイムセキュリティの種類
自動化された検知と対応を含むランタイムセキュリティは、クラウドアプリケーションがどこでどのように実行されているかに関わらず、すべてのクラウドアプリケーションをカバーすべきです。
- アプリケーションのランタイムセキュリティ:ランタイムアプリケーション自己保護(RASP)はアプリケーション自体に実装され、開発者によって実装されます。
- コンテナランタイムセキュリティ:Kubernetesなどのコンテナおよびオーケストレーションプラットフォームのランタイムセキュリティは、コンテナ化されたコードの潜在的な悪用からコンテナプラットフォームだけでなく、ホストおよび隣接するインフラストラクチャも保護します。Kubernetesの抽象化(ポッドやサービスなど)と、その一時的なワークロード内で実行される基盤となるプロセス間の動作を正しく理解し、相関させるには、企業はKubernetes監査ログで観測されたイベントで生のシステムコールのコンテキストを充実させる必要があります。
- クラウドランタイムセキュリティ:AWS、GCP、Azureなどのクラウド環境には、それらに関連する監査ログシステムを備えた独自のクラウドサービスがあり、それらのクラウドサービスにおける望ましくない動作を監視するために使用されています。ワークロードやサーバーが攻撃を受けているかどうかを把握するには、ホストランタイムでシステムコールを監視するのと同じ方法で、これらのクラウド監査ログを収集・分析することが重要です。
- ホストランタイムセキュリティ:侵入検知とエンドポイント検知は、仮想化およびコンテナ化プラットフォームを実行しているマシン、またはクラウドワークロードを直接実行しているマシンに対して、リアルタイムの検知と対応を提供します。
- サーバーレスランタイムセキュリティ:AWS Lambdaなどのサーバーレス機能は、悪用を完全に回避できるわけではなく、予期せぬ動作を積極的に監視していないと、攻撃者に悪用される可能性があります。
クラウド環境以外では、エンドポイントランタイムセキュリティ製品(通常はアンチウイルスやエンドポイント保護プラットフォームの形をとります)が、ノートパソコン、スマートフォン、ワークステーションなどのデバイスをマルウェアから保護します。
ランタイムセキュリティツール
ランタイムセキュリティは、特定の環境向けのさまざまなツールによって提供されます。例えば、Falcoは、実行中のDockerコンテナと、それらをオーケストレーションするために使用されるKubernetesプラットフォームを保護するオープンソースのセキュリティツールです。Sysdig Secureは、AWS、Google Cloud、およびAWS向けのクラウドネイティブ環境を保護し、SELinuxとAppArmorは、ローカルおよびクラウドの両方でLinuxシステム上で実行されるプロセスにランタイムセキュリティを提供します。
ランタイムセキュリティのベストプラクティス
クラウドセキュリティへの投資効果を最大限に引き出すために、セキュリティチームが採用できるベストプラクティスがいくつかあります。
- 実行中のアプリケーションを監視し、通知が的を絞ったものであることを確認します。セキュリティプラットフォームが適切に設定され、実行中のすべてのアプリケーション(水平スケーリング環境で実行中のアプリケーションも含む)を監視し、通知が関連するチームメンバーのみに送信されるようにすることで、個々のセキュリティチームメンバーが過負荷となり、重要なアラートを見落とすことを防ぎます。
- RBAC(ロールベースのアクセス制御)を使用する:攻撃者がネットワークを移動してさらなる被害を引き起こすことを防ぐため、ユーザーと実行中のプロセスがアクセスできるリソースを制御するには、ロールベースのアクセス制御(RBAC)を使用する必要があります。 最小特権の原則(POLP)は、タスクに必要な特定のリソースのみにアクセス権を付与することで、これを強化します。
- 定期的な対応訓練を実施する:セキュリティチームは、保護を任されているインフラストラクチャとアプリケーションを理解し、定期的な対応訓練を実施すべきです。自動化された検出と対応と組み合わせることで、高度に標的を絞った攻撃からも保護することができます。
Sysdigは、ランタイムセキュリティをネイティブなクラウドセキュリティプラットフォームに統合しています。
Sysdigのクラウドネイティブアプリケーション保護プラットフォーム(CNAPP)は、コンテナワークロード保護を統合し、クラウドのランタイムセキュリティに包括的で統一されたソリューションを提供します。
Sysdigは、AWS、Google Cloud、Azureと統合し、スケーラブルな本番環境でのデプロイから実行までのコードを保護します。このプラットフォームは、攻撃の兆候がないか、権限、構成、アプリケーションの動作を監視し、関係者に即座に通知し、自動的に緩和策と修復策を実施することで、クラウドを最大限に保護します。
ランタイムセキュリティは、コンテナ、サーバーレス関数、クラウドインスタンスで実行中のアプリケーションを積極的に監視し、悪意のあるコードや動作がないか確認します。
クラウド環境には、大規模で複雑な展開の可視性を提供し、自動化された検出と対応を可能にするクラウドネイティブなランタイムセキュリティでなければ対応できない、独特なセキュリティ上の課題があります。
悪意のあるコード、コードインジェクション、不正アクセス、ゼロデイ攻撃、その他のサイバーセキュリティインシデントやデータ侵害の兆候は、すべてランタイムセキュリティによって検出され、迅速に対応することができます。
Sysdig Secure、Falco、SELinuxは、ランタイムセキュリティを実装するために使用される一般的なツールです。
ランタイムセキュリティは進行中の攻撃の兆候を監視できるため、セキュリティチームは根本原因を特定し、緩和することができ、ゼロデイ攻撃からの保護に役立ちます。
静的および動的コード分析は、コードが配備される前や管理された環境でスキャンを行うことができますが、本番環境で進行中の攻撃を検出できるのはランタイムセキュリティだけです。