読み方 : サスト

SAST【Static Application Security Testing】静的アプリケーションセキュリティテスト

概要

SASTとは、アプリケーションを実行せずにソースコードバイナリコードを解析し、開発段階で脆弱性を検出する静的なセキュリティ検査手法。ツールを用いて自動化することで、実環境への展開前に効率的に安全性の確認を進めることができる。
SASTのイメージ画像

プログラムを実行せずにコードの内容を解析して欠陥を発見する「静的解析」(static code analysis)のうち、セキュリティ上の脆弱性に繋がる問題点を洗い出すことを目的とする手法をこのように呼ぶ。解析対象にはソースコードのほか、コンパイル済みのオブジェクトコード中間コードなどが含まれる場合もある。

SASTツールという自動化ソフトウェアを用いて機械的に点検する手法が一般的である。検出の対象となるのは、SQLインジェクションクロスサイトスクリプティングバッファオーバーフローといった典型的な脆弱性の原因となる不適切な入力処理、認証認可の不備、暗号化処理の誤りなどである。

解析過程では、制御フロー解析やデータフロー解析、既知の脆弱なコードの特徴と照合するパターンマッチングなどの手法を用いてコードの構造や変数の受け渡しを追跡する。実際にプログラムを実行してみる前に、潜在的な欠陥や設計上の問題を検出できる。

一方、SASTは実際にプログラムを実行しないため、外部との通信や実行時の環境に起因する脆弱性は検出しにくいという制約がある。また、ツールが安全なコードを誤って脆弱であると判定する偽陽性(誤検知)が発生することもあり、開発者が診断結果を鵜呑みにせず精査する必要がある。実際の挙動を検査する「DAST」(動的アプリケーションセキュリティテスト)と組み合わせて運用することで、より包括的なセキュリティ対策が可能となる。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。