vaddy - ci勉強会 fukuoka
TRANSCRIPT
Copyright (c) Bitforest Co., Ltd.
継続的Webセキュリティテスト!VAddy
2015/2/19 VAddy Meetup1
株式会社ビットフォレスト 市川
Copyright (c) Bitforest Co., Ltd.
自己紹介
• @cakephper / @ichikaway
• Fukuoka.php勉強会主催
• PHPカンファレンス福岡主催
2
Copyright (c) Bitforest Co., Ltd.
重要
3
PHPカンファレンス 福岡
2015/6/27(土)
Copyright (c) Bitforest Co., Ltd.
重要
4
CIと連携して セキュリティテストを 実現するサービス
Copyright (c) Bitforest Co., Ltd.
テストの普及
• 不具合の検出
• 再発防止
• リファクタリング・アップデート
5
Copyright (c) Bitforest Co., Ltd.
忘れがちなテスト
•セキュリティテスト
•今回はWebの脆弱性検査の話
•パフォーマンステスト
• loader.ioなど
6
Copyright (c) Bitforest Co., Ltd.
セキュリティテストの重要性
• 情報漏洩
• 改竄、マルウェアの配布
• 他サイトへのリスト型攻撃に悪用
7
損害賠償、2次被害など影響が大きい
Copyright (c) Bitforest Co., Ltd.
8
セキュリティテスト 必須の時代に
Copyright (c) Bitforest Co., Ltd.
Webセキュリティテスト
• ホワイトボックス
• ソースコード解析(ex. brakeman)
• ブラックボックス
• 攻撃用HTTPリクエストを送信してレスポンスを確認
• ex. VAddy, OWASP ZAP, AppScan
9
Copyright (c) Bitforest Co., Ltd.
セキュリティテスト 現状の問題点
10
開発チーム
外部の診断会社 社内の専門チーム
コーディング
単体テスト
結合テスト
脆弱性診断
開発チーム
修正
リリース
問題点 !•リリース直前に大量の脆弱性発見
•スケジュール遅延
•リリース後の修正・機能追加
•診断が難しい(コスト・期間)
Copyright (c) Bitforest Co., Ltd.
11
理想的には 開発初期から リリース後まで
Copyright (c) Bitforest Co., Ltd.
12
継続的な セキュリティテスト
が必要
Copyright (c) Bitforest Co., Ltd.
世界の流れ
• Google • GTAC 2013: Finding XSS at Google Scale • 社内で独自ツールを使ってチャレンジ中
• https://www.youtube.com/watch?v=rd5TZKRg-‐lc
13
Copyright (c) Bitforest Co., Ltd.
世界の流れ• カーネギーメロン大学ソフトウェア工学部
• http://blog.sei.cmu.edu/post.cfm/security-‐continuous-‐integration-‐338
14
Copyright (c) Bitforest Co., Ltd.
継続的Webセキュリティテスト
15
開発チーム
外部の診断会社 社内の専門チーム
コーディング
単体テスト
結合テスト
脆弱性診断
開発チーム
修正
リリース
継続的セキュリティテスト開発チーム
コーディング
単体テスト
結合テスト
リリース
脆弱性診断
本リリース前には、診断会社の診断を。
Copyright (c) Bitforest Co., Ltd.
継続的Webセキュリティテストの課題
• 既存のツールを使う場合
• 設定項目が多くノウハウを貯める必要
• 環境構築・運用コスト
• CIのフローに乗せるのが大変
16
Copyright (c) Bitforest Co., Ltd.
17
継続的 セキュリティテストを 簡単に実現する サービスが必要
Copyright (c) Bitforest Co., Ltd.
18
CIサイクルに組込めて
簡単に導入でき 運用が不要なサービス
Copyright (c) Bitforest Co., Ltd.
19
継続的Webセキュリティテストサービス
Vulnerability Assessment is your Buddy (脆弱性診断はあなたの相棒)
Copyright (c) Bitforest Co., Ltd.
VAddyの特徴
• ブラックボックスのWeb脆弱性診断
• インストール不要
• CI連携を前提に設計
• WebAPI連携
• 無人の運用が必須
20
Copyright (c) Bitforest Co., Ltd.
VAddyの特徴
• セキュリティ検査エンジンを独自開発
• ユーザが行う設定作業を最小限に
• 機械学習の機能を持ったエンジン
• 無人でもうまく動くツール
• 常にアップデート
21
Copyright (c) Bitforest Co., Ltd.
VAddyの特徴
• セキュリティエキスパートが開発・運用
• 国内No.1のSaaS型WAF Scutumの開発運用を6
年行っているチーム
• http://scutum.jp
22
Copyright (c) Bitforest Co., Ltd.
VAddyの現状(2015/3 現在)
• 無料プランのみ提供中
• 何度でもスキャン実行可能
• SQLインジェクション、XSS
• Jenkinsプラグイン提供中
• Rubyクライアント提供中
• CircleCIなどに対応
23
Copyright (c) Bitforest Co., Ltd.
よくある構成
24
Copyright (c) Bitforest Co., Ltd.
Jenkins VAddyプラグイン提供中
25
https://wiki.jenkins-‐ci.org/display/JENKINS/VAddy+Plugin
Copyright (c) Bitforest Co., Ltd.
HipChat通知
26
Copyright (c) Bitforest Co., Ltd.
VAddyのミッション
27
継続的 セキュリティテスト 文化の普及
Copyright (c) Bitforest Co., Ltd.
28
継続的な セキュリティテストで
安心してリリースすることが 今後のトレンドになる
Copyright (c) Bitforest Co., Ltd.
29
Vulnerability Assessment is your Buddy(脆弱性診断はあなたの相棒)
デモ
Copyright (c) Bitforest Co., Ltd.
VAddyの操作 3ステップ
• STEP1 テスト対象サーバ登録
• authファイルの設置
• STEP2 検査対象のクロール
• Webアプリケーションの画面操作
• STEP3 スキャン実行(画面 / WebAPI)
• 結果参照
30
Copyright (c) Bitforest Co., Ltd.
クロールとは?
31
Copyright (c) Bitforest Co., Ltd.
クロールとは?
32
アプリケーションの操作記録を保存
(URL、パラメータ、ログイン情報など)
ブラウザのProxy設定にてVAddy Proxy
をセットし、Web
アプリケーションを操作
Copyright (c) Bitforest Co., Ltd.
何故手動クロールが必要か?
• 自動クロールの限界
• 時間がかかる
• リンク切れURL
• 認証画面情報
• アプリケーション特有の動作
33
Copyright (c) Bitforest Co., Ltd.
• 検査対象のアプリを一番良く知っている人
• お客様(開発者、テスター、発注者)
• SeleniumなどのE2Eテストが普及
• このデータをクロールに流用すれば!!
34
何故手動クロールが必要か?
Copyright (c) Bitforest Co., Ltd.
手動クロールのメリット
• 検査漏れ、設定項目を減らす
• 精度の高いスキャンが可能
• 検査時間のコントロール
• スキャン不要な箇所はクロールしなければスキャン時間が短縮できる
35
Copyright (c) Bitforest Co., Ltd.
現状、可能な検査(SQLi, XSS) -2015年3月• GET/POST/PUT/DELETEのパラメータの検査
• RestAPI対応、パラメータがJSON対応
• URLパスのパラメータ検査
• www.example.com/item/view/1 • フォーム認証(ログイン画面)
• CSRF対策トークン
• SSL上のアプリケーション36
Copyright (c) Bitforest Co., Ltd.
37
Vulnerability Assessment is your Buddy(脆弱性診断はあなたの相棒)
FAQ