【せきゅりてぃてすと】

セキュリティテスト とは?

💡 「悪い人の目線」でシステムの穴を探す安全点検
📌 このページのポイント
セキュリティテスト ― 脆弱性を見つける SAST(静的解析) コードを分析して 脆弱性パターンを検出 開発中に実行 DAST(動的解析) 実行中のアプリに 攻撃パターンを送信 デプロイ後に実行 ペネトレーション 専門家が手動で 実際の攻撃を試行 リリース前に実施 OWASP Top 10(主な検出対象) SQLインジェクション クロスサイトスクリプティング 認証の不備 インジェクション全般 セキュリティ設定ミス アクセス制御の欠陥 早期発見ほど修正コストが低い → CI/CDに組み込むのが理想
セキュリティテストのイメージ
ひよこ ひよこ

セキュリティテストって、普通のテストとどう違うの?

ペンギン先生 ペンギン先生

普通のテストは「正しく動くか」を確認するけど、セキュリティテストは「悪意を持った操作をされても大丈夫か」を確認するんだよ。攻撃者の視点で「穴がないか」を探すテストなんだ

ひよこ ひよこ

どんな種類があるの?

ペンギン先生 ペンギン先生

大きく分けて2つあるよ。コードを分析して脆弱性を見つける静的解析(SAST)と、実際にアプリを動かして攻撃を試す動的解析(DAST)だね。さらに人間が手動で攻撃を試すペネトレーションテストもあるよ

ひよこ ひよこ

何を基準にテストすればいいの?

ペンギン先生 ペンギン先生

OWASP Top 10が定番の基準だよ。Webアプリケーションで最も多い脆弱性トップ10をまとめたリストで、SQLインジェクションXSS、認証の不備などが含まれているんだ。まずここを押さえるのが基本だね

ひよこ ひよこ

開発のどのタイミングでやるの?

ペンギン先生 ペンギン先生

理想はCI/CDに組み込んで毎回自動チェックすることだよ。SASTはコードを書いた直後に、DASTはデプロイ後に自動実行する。リリース前にはペネトレーションテストも実施するとより安心だね。セキュリティは後から直すほどコストが高くなるから、早期発見が鍵なんだ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「セキュリティテスト」って出てきたら「システムの脆弱性を見つけて安全性を確認するテスト」と思えればだいたいOK!
📖 おまけ:英語の意味
「Security Testing」 = セキュリティテスト
💬 security は「安全」、testing は「テスト」で、安全性を確認するためのテストだよ
← 用語集にもどる