Copyright	
  (c)	
  	
  Bitforest	
  Co.,	
  Ltd.
 
脆弱性もバグ、だからテストしよう	
  
PHP	
  Conference	
  Tokyo	
  2015
2015/10/03
1
株式会社ビットフォレスト	
  
市川
https://joind.in/talk/view/15324
Copyright	
  (c)	
  	
  Bitforest	
  Co.,	
  Ltd.
 
2
• @cakephper / @ichikaway
• プログラマー / プロダクトマネージャ
• PHPカンファレンス福岡 実行委員長
自己紹介
Copyright	
  (c)	
  	
  Bitforest	
  Co.,	
  Ltd.
 
テストの普及
• 不具合の検出	
  
• 再発防止	
  
• リファクタリング・アップデート
3
Copyright	
  (c)	
  	
  Bitforest	
  Co.,	
  Ltd.
 
忘れがちなテスト
• セキュリティテスト	
  
• 今回はWebの脆弱性検査の話	
  
• パフォーマンステスト	
  
• loader.ioなど
4
Copyright	
  (c)	
  	
  Bitforest	
  Co.,	
  Ltd.
 
セキュリティ事故の影響
• 情報漏洩	
  
• 改竄、マルウェアの配布	
  
• 他サイトへのリスト型攻撃に悪用
5
損害賠償、2次被害など影響が大きい
Copyright	
  (c)	
  	
  Bitforest	
  Co.,	
  Ltd.
 
6
バグ(脆弱性)を	
  
テストして	
  
立ち向かおう
Copyright	
  (c)	
  	
  Bitforest	
  Co.,	
  Ltd.
 
Webセキュリティテスト
• ホワイトボックス	
  
• ソースコード解析(ex.	
  Brakeman,	
  Parse)	
  
• ブラックボックス	
  
• 攻撃用HTTPリクエストを送信してレスポ
ンスを確認	
  
• ex.	
  VAddy,	
  OWASP	
  ZAP,	
  AppScan
7
Copyright	
  (c)	
  	
  Bitforest	
  Co.,	
  Ltd.
 
OWASP ZAP
8
Copyright	
  (c)	
  	
  Bitforest	
  Co.,	
  Ltd.
 
資料
• Web(IPA)	
  
• 安全なウェブサイトの作り方	
  
• 安全なSQLの呼び出し方	
  
• ウェブ健康診断仕様	
  
• 書籍	
  
• 安全なWebアプリケーションの作り方
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.
 
継続的Webセキュリティテストの重要な点
17
アプリケーションの動作を	
  
把握した検査
Copyright	
  (c)	
  	
  Bitforest	
  Co.,	
  Ltd.
 
18
ツールの設定を常に	
  
学び続けて使わないと効果が少ない
ビジネスに関わる開発に	
  
注力できない・・・
継続的Webセキュリティテストの課題
Copyright	
  (c)	
  	
  Bitforest	
  Co.,	
  Ltd.
 
19
簡単に導入	
  
運用が不要

効果的な検査

CIサイクルに組込み
Copyright	
  (c)	
  	
  Bitforest	
  Co.,	
  Ltd.
 
20
継続的Webセキュリティテストサービス
Vulnerability	
  Assessment	
  is	
  your	
  Buddy	
  
(脆弱性診断はあなたの相棒)
Copyright	
  (c)	
  	
  Bitforest	
  Co.,	
  Ltd.
 
21
継続的Webセキュリティテストサービス
http://vaddy.net/	
  
無料で何度でも検査可能
Copyright	
  (c)	
  	
  Bitforest	
  Co.,	
  Ltd.
 
VAddyの特徴
• ブラックボックスのWeb脆弱性診断	
  
• インストール不要(SaaS)	
  
• CI連携を前提に設計	
  
• WebAPI連携	
  
• Jenkinsプラグイン	
  
• Travis,	
  CircleCI,	
  etc	
  連携可能
22
Copyright	
  (c)	
  	
  Bitforest	
  Co.,	
  Ltd.
 
よくある構成
23
Copyright	
  (c)	
  	
  Bitforest	
  Co.,	
  Ltd.
 
HipChat通知
24
Copyright	
  (c)	
  	
  Bitforest	
  Co.,	
  Ltd.
 
VAddyの特徴
25
特別な設定なしでVAddyが

アプリケーションの動作を理解して	
  
正確に検査できるように
Copyright	
  (c)	
  	
  Bitforest	
  Co.,	
  Ltd.
 
VAddyの特徴
26
機械学習を使った	
  
セキュリティ検査の	
  
エンジンを独自開発
Copyright	
  (c)	
  	
  Bitforest	
  Co.,	
  Ltd.
 
VAddyのポリシー
27
開発者が	
  
開発に注力できるように!
Copyright	
  (c)	
  	
  Bitforest	
  Co.,	
  Ltd.
 
28
継続的な	
  
セキュリティテストで	
  
安心してリリースすることが	
  
今後のトレンドになる
Copyright	
  (c)	
  	
  Bitforest	
  Co.,	
  Ltd.
 
29
まずは	
  
VAddyやOWASP	
  ZAP	
  
を使って評価	
  
小さく初めてみる
Copyright	
  (c)	
  	
  Bitforest	
  Co.,	
  Ltd.
 
30
Vulnerability	
  Assessment	
  is	
  your	
  Buddy(脆弱性診断はあなたの相棒)
DEMO
Copyright	
  (c)	
  	
  Bitforest	
  Co.,	
  Ltd.
 
VAddy DEMO
31
Copyright	
  (c)	
  	
  Bitforest	
  Co.,	
  Ltd.
 
脆弱性の種類、問題のパラメータ名
32
Copyright	
  (c)	
  	
  Bitforest	
  Co.,	
  Ltd.
 
再現用の攻撃リクエスト
33
Copyright	
  (c)	
  	
  Bitforest	
  Co.,	
  Ltd.
 
34
ご清聴	
  
ありがとうございました
https://joind.in/talk/view/15324

脆弱性もバグ、だからテストしよう PHPカンファンレス2015

  • 1.
    Copyright  (c)    Bitforest  Co.,  Ltd.   脆弱性もバグ、だからテストしよう   PHP  Conference  Tokyo  2015 2015/10/03 1 株式会社ビットフォレスト   市川 https://joind.in/talk/view/15324
  • 2.
    Copyright  (c)    Bitforest  Co.,  Ltd.   2 • @cakephper / @ichikaway • プログラマー / プロダクトマネージャ • PHPカンファレンス福岡 実行委員長 自己紹介
  • 3.
    Copyright  (c)    Bitforest  Co.,  Ltd.   テストの普及 • 不具合の検出   • 再発防止   • リファクタリング・アップデート 3
  • 4.
    Copyright  (c)    Bitforest  Co.,  Ltd.   忘れがちなテスト • セキュリティテスト   • 今回はWebの脆弱性検査の話   • パフォーマンステスト   • loader.ioなど 4
  • 5.
    Copyright  (c)    Bitforest  Co.,  Ltd.   セキュリティ事故の影響 • 情報漏洩   • 改竄、マルウェアの配布   • 他サイトへのリスト型攻撃に悪用 5 損害賠償、2次被害など影響が大きい
  • 6.
    Copyright  (c)    Bitforest  Co.,  Ltd.   6 バグ(脆弱性)を   テストして   立ち向かおう
  • 7.
    Copyright  (c)    Bitforest  Co.,  Ltd.   Webセキュリティテスト • ホワイトボックス   • ソースコード解析(ex.  Brakeman,  Parse)   • ブラックボックス   • 攻撃用HTTPリクエストを送信してレスポ ンスを確認   • ex.  VAddy,  OWASP  ZAP,  AppScan 7
  • 8.
    Copyright  (c)    Bitforest  Co.,  Ltd.   OWASP ZAP 8
  • 9.
    Copyright  (c)    Bitforest  Co.,  Ltd.   資料 • Web(IPA)   • 安全なウェブサイトの作り方   • 安全なSQLの呼び出し方   • ウェブ健康診断仕様   • 書籍   • 安全なWebアプリケーションの作り方 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.   継続的Webセキュリティテストの重要な点 17 アプリケーションの動作を   把握した検査
  • 18.
    Copyright  (c)    Bitforest  Co.,  Ltd.   18 ツールの設定を常に   学び続けて使わないと効果が少ない ビジネスに関わる開発に   注力できない・・・ 継続的Webセキュリティテストの課題
  • 19.
    Copyright  (c)    Bitforest  Co.,  Ltd.   19 簡単に導入   運用が不要
 効果的な検査
 CIサイクルに組込み
  • 20.
    Copyright  (c)    Bitforest  Co.,  Ltd.   20 継続的Webセキュリティテストサービス Vulnerability  Assessment  is  your  Buddy   (脆弱性診断はあなたの相棒)
  • 21.
    Copyright  (c)    Bitforest  Co.,  Ltd.   21 継続的Webセキュリティテストサービス http://vaddy.net/   無料で何度でも検査可能
  • 22.
    Copyright  (c)    Bitforest  Co.,  Ltd.   VAddyの特徴 • ブラックボックスのWeb脆弱性診断   • インストール不要(SaaS)   • CI連携を前提に設計   • WebAPI連携   • Jenkinsプラグイン   • Travis,  CircleCI,  etc  連携可能 22
  • 23.
    Copyright  (c)    Bitforest  Co.,  Ltd.   よくある構成 23
  • 24.
    Copyright  (c)    Bitforest  Co.,  Ltd.   HipChat通知 24
  • 25.
    Copyright  (c)    Bitforest  Co.,  Ltd.   VAddyの特徴 25 特別な設定なしでVAddyが
 アプリケーションの動作を理解して   正確に検査できるように
  • 26.
    Copyright  (c)    Bitforest  Co.,  Ltd.   VAddyの特徴 26 機械学習を使った   セキュリティ検査の   エンジンを独自開発
  • 27.
    Copyright  (c)    Bitforest  Co.,  Ltd.   VAddyのポリシー 27 開発者が   開発に注力できるように!
  • 28.
    Copyright  (c)    Bitforest  Co.,  Ltd.   28 継続的な   セキュリティテストで   安心してリリースすることが   今後のトレンドになる
  • 29.
    Copyright  (c)    Bitforest  Co.,  Ltd.   29 まずは   VAddyやOWASP  ZAP   を使って評価   小さく初めてみる
  • 30.
    Copyright  (c)    Bitforest  Co.,  Ltd.   30 Vulnerability  Assessment  is  your  Buddy(脆弱性診断はあなたの相棒) DEMO
  • 31.
    Copyright  (c)    Bitforest  Co.,  Ltd.   VAddy DEMO 31
  • 32.
    Copyright  (c)    Bitforest  Co.,  Ltd.   脆弱性の種類、問題のパラメータ名 32
  • 33.
    Copyright  (c)    Bitforest  Co.,  Ltd.   再現用の攻撃リクエスト 33
  • 34.
    Copyright  (c)    Bitforest  Co.,  Ltd.   34 ご清聴   ありがとうございました https://joind.in/talk/view/15324