読み方 : ラスプ
RASP【Runtime Application Self-Protection】
RASPとは?

通常のセキュリティ対策は、ネットワークやサーバの境界でトラフィックを検査するが、暗号化されたデータや正規のリクエストに紛れた攻撃を見逃すことがある。RASPはアプリケーションのランタイム環境に組み込まれ、SQLクエリの生成やファイルアクセス、外部APIの呼び出しといった処理の瞬間に、その内容が悪意あるものかどうかを判断する。
SQLインジェクションやOSコマンドインジェクション、クロスサイトスクリプティング(XSS)などの攻撃では、攻撃者から送られた入力値が不正な命令として解釈される。RASPは入力データだけでなく、その後に実行される処理も監視し、不正な実行が行われようとした時点で遮断する。内部の処理状況に基づいて判定するため、外部からの通信照合に比べて誤検知を減らしやすい。
攻撃を検知した場合は、リクエストの遮断やセッションの終了、管理者へのアラート送信などを自動で実行する。実装方式としては、Javaエージェントや専用モジュールをランタイムに差し込む方式が一般的で、ソースコードを直接書き換えずに導入できる場合が多い。一方、アプリケーション内部で動作するため、処理性能への影響や実行環境との互換性を確認する必要がある。
クラウド環境の普及やアプリケーション開発サイクルの高速化を背景に、従来の境界型防御だけでは対処しにくい攻撃への対策としてRASPが活用されている。脆弱性のパッチ適用が間に合わない期間の暫定的な防御手段としても機能する。マイクロサービス構成のシステムでも各サービス単位に保護を適用できる利点がある。