【せきゅりてぃてすと】
セキュリティテスト とは?
💡 「悪い人の目線」でシステムの穴を探す安全点検
📌 このページのポイント
- SQLインジェクション、XSS、CSRF など代表的な脆弱性を検出する
- 静的解析(SAST)と動的解析(DAST)の2つのアプローチがある
- ペネトレーションテストは実際に攻撃を試みるより実践的なセキュリティテスト
- OWASP Top 10を基準にしたテスト項目の策定が一般的
セキュリティテストって、普通のテストとどう違うの?
普通のテストは「正しく動くか」を確認するけど、セキュリティテストは「悪意を持った操作をされても大丈夫か」を確認するんだよ。攻撃者の視点で「穴がないか」を探すテストなんだ
どんな種類があるの?
大きく分けて2つあるよ。コードを分析して脆弱性を見つける静的解析(SAST)と、実際にアプリを動かして攻撃を試す動的解析(DAST)だね。さらに人間が手動で攻撃を試すペネトレーションテストもあるよ
何を基準にテストすればいいの?
OWASP Top 10が定番の基準だよ。Webアプリケーションで最も多い脆弱性トップ10をまとめたリストで、SQLインジェクション、XSS、認証の不備などが含まれているんだ。まずここを押さえるのが基本だね
開発のどのタイミングでやるの?
理想はCI/CDに組み込んで毎回自動チェックすることだよ。SASTはコードを書いた直後に、DASTはデプロイ後に自動実行する。リリース前にはペネトレーションテストも実施するとより安心だね。セキュリティは後から直すほどコストが高くなるから、早期発見が鍵なんだ
まとめ:ざっくりこれだけ覚えればOK!
「セキュリティテスト」って出てきたら「システムの脆弱性を見つけて安全性を確認するテスト」と思えればだいたいOK!
📖 おまけ:英語の意味
「Security Testing」 = セキュリティテスト
💬 security は「安全」、testing は「テスト」で、安全性を確認するためのテストだよ