脆弱性もバグ、だからテストしよう!
TRANSCRIPT
Copyright (c) Bitforest Co., Ltd.
Webセキュリティテスト
• ホワイトボックス
• ソースコード解析(ex. brakeman)
• ブラックボックス
• 攻撃用HTTPリクエストを送信してレスポンスを確認
• ex. VAddy, OWASP ZAP, AppScan
2
Copyright (c) Bitforest Co., Ltd.
セキュリティテスト 現状の問題点
3
開発チーム
外部の診断会社 社内の専門チーム
コーディング
単体テスト
結合テスト
脆弱性診断
開発チーム
修正
リリース
リリース前に1度だけ脆弱性診断を実施する場合の問題点 !•リリース直前に大量の脆弱性発見
•スケジュール遅延
•リリース後の修正・機能追加
•診断が難しい(コスト・期間)
Copyright (c) Bitforest Co., Ltd.
継続的Webセキュリティテストの課題
• 診断会社を利用する場合
• 価格が高い(数十万円~)
• 検査結果まで1週間以上かかる
4
継続的な利用が難しい
Copyright (c) Bitforest Co., Ltd.
継続的Webセキュリティテスト
7
開発チーム
外部の診断会社 社内の専門チーム
コーディング
単体テスト
結合テスト
脆弱性診断
開発チーム
修正
リリース
継続的セキュリティテスト開発チーム
コーディング
単体テスト
結合テスト
リリース
脆弱性診断
本リリース前には、診断会社の診断を。
Copyright (c) Bitforest Co., Ltd.
継続的Webセキュリティテストの課題
• 既存のツールを使う場合
• CIのフローに乗せるのが難しい
• 自分で環境構築・運用するコスト
• 設定項目が多くノウハウを貯める必要
8
Copyright (c) Bitforest Co., Ltd.
重要ポイント
10
例えば、
認証後の画面の検査で
セッション切れのため
ログイン画面に戻されて
ログイン画面にテストし続けてしまう
Copyright (c) Bitforest Co., Ltd.
12
ビジネスに関わる開発に
注力できない・・・
ツールの設定を常に
学び続けて使わないと効果が少ない
継続的Webセキュリティテストの課題
Copyright (c) Bitforest Co., Ltd.
14
継続的Webセキュリティテストサービス
Vulnerability Assessment is your Buddy (脆弱性診断はあなたの相棒)
Copyright (c) Bitforest Co., Ltd.
VAddyの特徴
• インストール不要(SaaS)
• 無料で何度でもスキャン実行可能
• CI連携可能
• WebAPI提供
• Jenkinsプラグイン
• Travis, CircleCI, etc 連携可能
16
Copyright (c) Bitforest Co., Ltd.
脆弱性の種類、問題のパラメータ名
22
SQLインジェクションなどの脆弱性種類、対象のURL、問題のあるパラメータ名が分かる。 この例だと、searchというURLで利用している、IDというパラメータにSQLインジェクションが存在するため、該当のソースコードがすぐに把握できる。
Copyright (c) Bitforest Co., Ltd.
現状、可能な検査(SQLi, XSS)• GET/POST/PUT/DELETEのパラメータの検査
• RestAPI対応、パラメータがJSON対応
• URLパスのパラメータ検査
• www.example.com/item/view/1 • フォーム認証(ログイン画面)
• CSRF対策トークン(Angular.jsも含め)
• SSL上のアプリケーション24