ランタイムフィルタリング(らんたいむふぃるたりんぐ)
最終更新:2026/4/28
ランタイムフィルタリングは、プログラム実行中に不正なコードやデータを検出し、除去するセキュリティ技術である。
別名・同義語 実行時フィルタリングリアルタイムフィルタリング
ポイント
ランタイムフィルタリングは、静的解析では検出困難な脆弱性を防御する上で有効であり、特にWebアプリケーションのセキュリティ対策として重要である。
ランタイムフィルタリングとは
ランタイムフィルタリングは、アプリケーションの実行時(ランタイム)に、入力データやシステムコールなどを監視し、定義されたポリシーに基づいて不正な処理をブロックするセキュリティ技術です。静的解析やコンパイル時のチェックでは発見できない、実行時に初めて発生する脆弱性や攻撃を防御することを目的としています。
ランタイムフィルタリングの仕組み
ランタイムフィルタリングは、主に以下の要素で構成されます。
- 入力バリデーション: ユーザーからの入力データが、想定された形式や範囲内にあるか検証します。不正な文字やスクリプトが含まれていないかなどをチェックします。
- システムコール監視: アプリケーションがOSに対して行うシステムコールを監視し、不正な操作(ファイルの改ざん、ネットワークへの不正アクセスなど)を検知します。
- データフロー制御: アプリケーション内のデータが、安全な経路を通って処理されるように制御します。機密情報が漏洩する可能性のある処理をブロックします。
- ポリシー定義: どのような処理を許可し、どのような処理をブロックするかを定義するルールセットです。組織のセキュリティポリシーに基づいて設定されます。
ランタイムフィルタリングの適用例
- Webアプリケーションファイアウォール (WAF): Webアプリケーションへの不正なアクセス(SQLインジェクション、クロスサイトスクリプティングなど)を防御します。
- サンドボックス: 信頼できないコードを隔離された環境で実行し、システムへの影響を最小限に抑えます。
- アプリケーション制御: 許可されたアプリケーションのみを実行し、不正なアプリケーションの起動をブロックします。