yukの技術ブログ

インフラやプログラミングなど技術系を中心に記載するブログです!

アプリケーション・セキュリティ・テストについて

Webアプリケーションにおける脆弱性診断が全く分かっていないので、調べてみた。

開発時にはSAST/IASTでコードのテストを実施し、リリース直前にDASTで脆弱性を検査することになるのかな。
まだ最近出てきた仕組みのようなので、引き続きウォッチが必要そう。

DAST(動的アプリケーション・セキュリティ・テスト)
 セキュリティにおけるブラックボックステストのこと。
 外部からツールや人手によりアプリケーションを検査し、攻撃シミュレーションに対する反応により脆弱性の有無を確認する手法のこと。
 DASTスキャナーは、作業前にまずウェブアプリケーションをクロールする。その後、ウェブアプリケーションのページ内に表示される
 すべての入力を検索し、これを利用して様々な脆弱性テストを実行する。

SAST(静的アプリケーション・セキュリティ・テスト)
 セキュリティにおけるホワイトボックステストのこと。
 アプリケーションのソースコードを精査するテストで、DevOpsモデルを用いてソフトウェア開発ライフサイクル(SDLC)の
 初期段階から取り入れられ、結果を反復的に確認しセキュリティを高めていく手法のこと。

IAST(インタラクティブ・アプリケーション・セキュリティ・テスト)
 開発者が自動または手動でテストを実行している間に、実行中のアプリケーションのコードの脆弱性を精査する手法のこと。

RASP(Runtime Application Self Protection)
 アプリケーションの実行時にサーバー上で実行され、アプリケーションに対する攻撃をリアルタイムで検出して保護(ブロック)する。
 セキュリティツールをインストールできないFaaS環境やPaaS、CaaSでアプリケーションを保護するために利用される。
 RASPは各言語ごとのモジュールで提供されるので、アプリケーション側は都度RASPモジュールを呼び出すコードを追加する。
 製品例:米ShiftLeft、米PaloAlto、トレンドマイクロ

参考:
動的アプリケーション・セキュリティ・テスト(DAST)の概要と仕組み | シノプシス
7 Runtime Application Self-Protection (RASP) Tools for Modern Applications