鳩小屋

落書き帳

Cloud One:RASP (Runtime Application Self Protection)

トレンドマイクロ:Cloud Oneセミナー聴講のまとめです。

テーマは、サーバレスサービスのランタイム防御を提供するRASP (Runtime Application Self Protection)です。

セミナー聴講して

くっきりとした姿が見えているわけではないけど、おぼろげながら、浮かんできたんです。“RASP”の機能が。

まず、Lambdaの責任共有モデルです。見てわかるとおり利用者の責任はアプリケーションレイヤが中心です。

f:id:FallenPigeon:20210426220138p:plain

こちらがRASPの概要です。聴講する前はアンチウィルスかと思っていたのですが、WAFのような機能が並んでいます。この後の説明で保護レイヤはアプリケーションレイヤがメインでその他は対象外とのこと。Apacheなどは見捨てられるようです。

対象言語はインタプリタ言語が並んでいる様子。

他の特徴は導入が簡単で、エージェントをダウンロードして、インポートするだけで機能するのだとか。

f:id:FallenPigeon:20210426220408p:plain

 

f:id:FallenPigeon:20210426220515p:plain

 

下記にインストール手順が載っていたので、確認。

Python

エージェントをインストールするには、次の手順に従います。

  1. Cloud One-ApplicationSecurityパッケージtrend_app_protectrequirements.txtに追加します。 
  2. pipを実行してパッケージをインストールします。 pip install -r requirements.txt
  3. trend_app_protect.startWSGIスクリプトの上部にあるモジュールをインポートします。 import trend_app_protect.start
  4. エージェントキーとシークレット(TREND_AP_KEYおよびTREND_AP_SECRET) は、環境変数介して構成できます。
  5. オプションで、プロジェクトのルートまたは/ etcの下のファイルtrend_app_protect.iniで構成を提供できますが、環境変数は引き続き優先されます。
[trend_app_protect]
key = my-key
secret = my-secret 

php

1.PHPのバージョンとプラットフォーム用のエージェントパッケージをダウンロードします。

2.次のようにApacheを停止します
sudo service apache2 stop

3.Trend_app_protect-*.soをPHP拡張ディレクトリに移動します。

 $ mv /path/to/trend_app_protect-*.so "$(php -r 'echo ini_get ("extension_dir");')"/trend_app_protect.so

4.以下をphp.iniファイル(または、存在する場合は/etc/php.d/の新しい.iniファイル)に追加します。

extension = trend_app_protect.so

; Add key and secret from the Application Protection dashboard
trend_app_protect.key = <your key>
trend_app_protect.secret = <your secret> ; Enable the extension

 

確かに簡単そうです。インタープリタなどに寄生してAPIフック?しているようです。

スクリプトの実行実体ってスクリプトエンジンなんですよ。意外に知られていないですけど

ただ知りたいのは、RASPの存在意義。

スライドを見る限りだと、

アプリケーションセキュリティは今のままではいけないと思います。だからこそ、RASPを導入しないといけないと思っている。

TMによればWAFと両方導入して多層防御を実現してほしいとのことです。HTTPベースとAPIベースで片方だけ検出できるようなケースがあるのかもしれません。横展開のようにWAFを経由しない攻撃を防御できる点も挙げていました。

なお、Cloud OneはRASP以外にも複数のモジュールで構成されています。そのため、S3やIaaSのように、サービス単位で攻撃フローを遮断するのが真の目的で、RASPはその一つという位置づけみたいです。

f:id:FallenPigeon:20210427200448p:plain

結論としては、RASPはアンチウィルスのような仕組みでWAF機能を実現するモジュールでした。導入時はアンチウィルスと同等の機能があると勘違いしないようにしましょう。