RASPとは何でしょうか?

Runtime application self-protection(RASP)ツールは、アプリケーションが実稼働している間に、潜在的に悪質なアクティビティをブロックします。RASPは、企業のアプリケーションをランタイムで監視し、その動作と動作が発生したときの状況を分析します。RASPは、シェルの実行、ファイルのオープン、データベースの呼び出しなどのセキュリティイベントを検出すると、そのアクションを自動的に終了させようとします。

RASPは、クロスサイトスクリプティング(XSS)SQLインジェクション(SQLi)などの主要なWebアプリケーション攻撃に加え、アカウント乗っ取りの試みやその他のゼロデイ攻撃を防ぐことができます。また、RASPは、人が介在しなくても、その場で自動的に攻撃をブロックできるため、セキュリティリソースが少ない企業にとっても有益です。

Webアプリケーションへの攻撃が増え続ける中、企業はすべてのアプリケーションを適切に保護することが困難になってきています。その中には、ソフトウェア開発ライフサイクル(SDLC)の初期段階や、さまざまな種類のアプリケーション セキュリティ テストで発見されず、緩和されなかった脆弱性が潜んでいる可能性があります。このような理由から、アプリケーション自体に保護機能を持たせることで、企業はセキュリティに関する要件とアプリケーションをタイムリーに展開する必要性とのバランスを取ることができます。

Webアプリケーションのセキュリティとスキャンに対するRASPの主な利点

RASPは、アプリケーションに対する攻撃をリアルタイムに検知し、ブロックすることができます。RASPは、ランタイムの段階でアプリケーションを計測するので、アプリケーションの実際の動作を可視化することができます。RASPは、ウェブアプリケーション ファイアウォール(WAF)のように、あらかじめ設定されたシグネチャや、一般的に知られている攻撃に基づく既知のパターンを分析するのではなく、アプリケーション内で行われている疑わしい動作を探索することが可能です。

これにより、WAFが一般的に発生させる偽陽性やノイズを削減し、実際に悪質なアクティビティをセキュリティチームに警告することで、ランダムで不審なネットワークイベントの影響を推測する必要がなくなります。RASPがより正確なアラートを提示するため、セキュリティチームは戦略的なセキュリティ上の優先事項に集中することができます。また、RASPは、意図せずに危険なリクエストを出してしまった正当なユーザーに対して、なぜそのリクエストが拒否されたのかを教示するユーザー警告を出すこともできます。

RASPにより、アプリケーションのランタイム時のコンテキストを把握できるため、アプリケーションのコードを変更することなく、アプリケーション固有の要件に合わせたセキュリティを提供することができます。RASPは、境界でトラフィックやコンテンツをフィルタリングするものの、境界内で行われている活動を可視化できないWebアプリケーションファイアウォール(WAF)とは異なり、攻撃者が境界の防御を突破した後でも、アプリケーションを攻撃から守ることができます。侵害される可能性のある複数のエンドポイントが存在する複雑化した環境では、組織のアプリケーションセキュリティにとって貴重な資産となります。

RASPの仕組みについて

ガートナー社の説明によると、RASPとは、「アプリケーションの実行環境に構築またはリンクされた、アプリケーションの実行を制御して、リアルタイムに攻撃を検知および防御できるセキュリティ技術 」のことです。多くの場合、RASPは、サーバーに配置されたエージェントを介して、サーバー上で実行されているアプリケーションの中にセキュリティチェックを追加します。その後、RASPはこれらのアプリケーションへの呼び出しを継続的に評価し、安全であることを確認したうえで、進行させることができます。

安全ではないと思われる呼び出しが発生した場合、RASPが介入してそれをブロックします。例えば、疑わしいユーザーセッションを終了させたり、特定のアプリケーションの実行要求を拒否したりします。このようにアプリケーション層でセキュリティを強化することは、特にセキュアなソフトウェア開発手法やその他のアプリケーションセキュリティツールと組み合わせた場合、組織のアプリケーションセキュリティ全体を大幅に強化することができます。また、RASPは、アプリケーション環境においてリアルタイムで発生している悪意ある行為について、セキュリティチームにタイムリーで正確な警告を提示できるため、攻撃を受けた際に迅速な対応が可能となります。

RASPは、アプリケーションコードの変更を必要としないため、アプリケーションの設計に影響を与えず、企業は必要に応じて自由にアプリケーションの開発や改良を続けることができます。これは、企業が将来にわたって環境内でアプリを維持する場合には、特に有益なことです。ボットネット攻撃などの複数のソースから発生する不審な活動のパターンを特定することに長けたWAFと組み合わせて使用することで、RASPは、リアルタイム下において企業が直面する実際の脅威に対する貴重な洞察を提供することができます。WAFは1つの見解を提供してくれますが、全体像を把握するために、実行されているものを認知するためにはより多くの洞察が必要です。

RASPとWAFの比較

RASPは、ウェブアプリケーション ファイアウォール(WAF)と混同されることがありますが、実はこの2つの技術は別のものです。WAFは、既知の攻撃形態に基づいた静的なルールを用いて、悪意のある活動の可能性がないか、境界にあるアプリケーションのトラフィックを継続的に分析するのに対し、RASPは、アプリケーション自体の中で発生する悪意のある活動をブロックします。

WAFが効果を発揮するには学習期間が必要な場合が多く、これまで見たことのない新しい形態の攻撃を回避するには十分な機動性が発揮されないかもしれません。そのため、WAFが新たな脅威に対処するための新しいルールをまだ受け取っていない間は、企業は潜在的に脆弱な状態になります。しかし、RASPは、アプリケーション層におけるさまざまな攻撃に対して、はるかに適応性の高いリアルタイムでの防御を提供します。

RASPは、アプリケーション自体を使用するため、アプリケーションが継続的に更新され、さらにそれが開発途上の場合であっても、アプリケーションのセキュリティを監視し、保護することができます。WAFとRASPは互いに補完し合うことができるため、組み合わせることで、より包括的で堅牢なアプリケーションセキュリティを企業に提供することができます。WAFは、アプリケーションに送信されているリクエストの種類を可視化してくれます(例えば、パスワードをブルートフォース攻撃するボットや、Metasploitなどのツールでアプリケーションの脆弱性を探っている人物など、疑わしいリクエストパターンを持つ者がいる場合など)。

一方、RASPは、アプリケーションがこれらのリクエストに対して行うアクションを調べます。例えば何者かがMetasploitを利用している場合には、アプリの所有者は、エクスプロイトによって、あるべきでない場所にファイルが書き込まれたり、システム上で実行ファイルが実行されたり、不正なSQLアクセスが行われたり、Webページのブラウザ側に意図しないアセットが読み込まれたりするなど、データの流出につながる可能性がある現象を認知することができます。

RASPを成功させるための3つのヒント

ここでは、RASPソリューションを最大限に活用するための3つのヒントをご紹介します。

1. RASPは、包括的なアプリケーション セキュリティ プログラムの一部として機能させるのが最良である

RASPは、クロスサイトスクリプティングやSQLインジェクションなどの多くの形態の攻撃を、実行時に防護するのに優れていますが、存在するすべてのアプリケーションセキュリティの脅威から企業を守るためには、RASPだけに頼るべきではありません。SDLCの中でセキュリティをシフトレフトさせるDevSecOpsアプローチを採用し、包括的なアプリケーション セキュリティ プログラムを確実に導入することで、攻撃を防ぐ可能性が高くなります。また、企業独自のセキュリティ要求に応じて、WAF機能を組み込んたRASPソリューションを運用することで、両ツールのメリットを最大限に活かすこともできます。

2. RASPソリューションと自社のDevSecOpsエコシステムを連携させる方法を検討する

RASPを評価する際には、既に導入している他のツール、特にDevSecOpsシステムとの連携について考慮してください。高度なRASPツールは、例えば、既存のSIEMDAST、オーケストレーションおよびチケッティングシステムなどと統合することができます。この統合により、API、ウェブフックおよび主要な技術を介して複数の脅威インテリジェンスを組み込むことができ、脅威をリアルタイムでより良く監視し、ブロックすることができます。

3. 導入前にRASPソリューションを入念にテストする

RASPは監視対象のアプリケーションと密接に連携しているため、時にパフォーマンスの問題を引き起こすことがあります。これらの問題が、ユーザーに影響を与えるほど重大なものであれば、パフォーマンスの変化に不満を持たれるかもしれません。そのため、RASPソリューションを環境に導入する前に、アプリケーションのパフォーマンスにどのような影響を与えるのかを把握するため、慎重にテストを行うことが賢明です。

攻撃者がますますアプリケーションを標的とするようになる中、企業は顧客データを保護するために、包括的で多層的なアプリケーションセキュリティ戦略を採用することが不可欠です。RASPは、より強力なアプリケーションセキュリティチェックを、実稼働中のアプリケーションに直接組み込むことを可能とし、潜在的な攻撃を正確に検知するとともにリアルタイムでブロックします。このような理由から、RASP は、企業のアプリケーションセキュリティツールキットの貴重な一部となります。