RASP(Runtime Application Self-Protection)
アプリの中に組み込み、動いている最中に自分への攻撃を見つけて止める仕組み。
もう少し詳しい説明
RASP(Runtime Application Self-Protection。実行時アプリケーション自己防御)は、アプリの中に組み込み、動いている最中に自分への攻撃を見つけて止める仕組みです。
名前を分けると、こうなります。
| 語 | 意味 |
|---|---|
| Runtime | 実行している最中の |
| Application | アプリケーション |
| Self-Protection | 自分で自分を守ること |
外から守るのと、中から守るのの違い
Webアプリへの攻撃を止める仕組みには、外に置くものがあります。WAF(Web Application Firewall)がそれで、通信を見て怪しい文字列を弾きます。
| WAF | RASP | |
|---|---|---|
| どこにいるか | アプリの手前(通信の経路上) | アプリの中 |
| 何を見るか | 届いた通信の文字列 | その入力がどう使われたか |
| 困るところ | 文字列を変えてすり抜けられる。正しい通信を誤って弾くこともある | アプリごとに組み込む必要がある。処理が重くなる |
要点は「どう使われたか」まで見えるところです。たとえば ' OR '1'='1 という文字列が届いたとき、WAFは形から怪しいと判断します。RASPは、その文字列がデータベースへの命令の一部として組み立てられた瞬間を見ます。
攻撃として使われたかどうかが中で分かるため、見た目が似ているだけの正しい入力を、誤って弾きにくくなります。
どこで使うか
- 作り直しが難しい古いアプリに、後から守りを足す
- 弱点が見つかったが、直すまでに時間がかかる
- 入口の壁をすり抜けた場合に備えて、もう1層置く
多層防御の層の1つとして置かれます。これ1つで足りるものではありません。
混ざりやすい相手
| 語 | 何をするか | いつ働くか |
|---|---|---|
| 静的解析 | ソースコード(人が書いたプログラムの文)を読んで弱点を指摘する | 作っているとき |
| サンドボックス | 隔てた場所で先に動かして確かめる | 受け取ったとき |
| RASP | 本番で動かしたまま守る | 使われているとき |
働く時点が違います。 「実行中」という語がRASPの目印になります。
試験ではこう出る
応用情報の科目A(旧・午前)で、用語の意味として出ます。WAFとの違い(アプリの外か中か)が分かれ目です。
科目B・午後では、すぐには直せない弱点が出てきた事例で、当座の対策として並びます。
基本情報での出題は多くありません(このサイトでは重要度2としています)。名前の3語を分けて読めれば、意味はそこから出てきます。
関連する用語
- SQLインジェクション
- RASPが実行中に見つける攻撃の代表
- サンドボックス
- こちらは隔てた場所で先に動かす。本番で動かしたまま守るのがRASP
- 多層防御
- 入口の壁をすり抜けたあとで働く層にあたる
- クロスサイトスクリプティング
- 同じく、入力に仕込まれる攻撃
ミニクイズ
RASPの説明として、最も適切なものはどれか。
正解は 1番:アプリケーションの内部に組み込まれ、実行中に攻撃を検知して処理を止める
RASPは、アプリケーションそのものの中で動きます。実行中に、与えられた入力がどう使われるかを見ており、不正な使われ方をしたところで処理を止められます。ネットワークの境目で荷札を見るのはファイアウォール、実行せずにコードを読むのは静的解析、別の環境で攻撃を試すのはペネトレーションテストです。外側から見るのではなく、中から自分を守る点が名前のSelf-Protectionにあたります。
この分野をまとめて解く → セキュリティのミニテスト(全47問)
最終更新:2026-11-09