Copyright	
  (c)	
  	
  Bitforest	
  Co.,	
  Ltd.
 
継続的Webセキュリティテスト!
VAddy
2015/2/19 VAddy Meetup
1
株式会社ビットフォレスト	
  
市川
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

VAddy - CI勉強会 fukuoka

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