34
Copyright (c) Bitforest Co., Ltd. 脆弱性もバグ、だからテストしよう PHP Conference Tokyo 2015 2015/10/03 1 株式会社ビットフォレスト 市川 https://joind.in/talk/view/15324

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

Embed Size (px)

Citation preview

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

脆弱性もバグ、だからテストしよう  PHP  Conference  Tokyo  2015

2015/10/031

株式会社ビットフォレスト  市川

https://joind.in/talk/view/15324

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

2

• @cakephper / @ichikaway

• プログラマー / プロダクトマネージャ

• PHPカンファレンス福岡 実行委員長

自己紹介

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

テストの普及

• 不具合の検出  

• 再発防止  

• リファクタリング・アップデート

3

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

忘れがちなテスト

•セキュリティテスト  

•今回はWebの脆弱性検査の話  

•パフォーマンステスト  

• loader.ioなど

4

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

セキュリティ事故の影響

• 情報漏洩  

• 改竄、マルウェアの配布  

• 他サイトへのリスト型攻撃に悪用

5

損害賠償、2次被害など影響が大きい

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

6

バグ(脆弱性)を  テストして  立ち向かおう

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

Webセキュリティテスト

• ホワイトボックス  

• ソースコード解析(ex.  Brakeman,  Parse)  

• ブラックボックス  

• 攻撃用HTTPリクエストを送信してレスポンスを確認  

• ex.  VAddy,  OWASP  ZAP,  AppScan

7

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

OWASP ZAP

8

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

資料

• Web(IPA)  • 安全なウェブサイトの作り方  

• 安全なSQLの呼び出し方  

• ウェブ健康診断仕様  

• 書籍  

• 安全なWebアプリケーションの作り方

9

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

セキュリティテスト 現状の問題点

10

開発チーム

外部の診断会社  社内の専門チーム

コーディング

単体テスト

結合テスト

脆弱性診断

開発チーム

修正

リリース

問題点  !•リリース直前に大量の脆弱性発見  

•スケジュール遅延  

•リリース後の修正・機能追加  

•診断が難しい(コスト・期間)

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

11

理想的には  開発初期から  リリース後まで

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

12

継続的な  セキュリティテスト  

が必要

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

世界の流れ

• Google  • GTAC  2013:  Finding  XSS  at  Google  Scale  • 社内で独自ツールを使ってチャレンジ中  

• https://www.youtube.com/watch?v=rd5TZKRg-­‐lc

13

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

世界の流れ• カーネギーメロン大学ソフトウェア工学部  

• http://blog.sei.cmu.edu/post.cfm/security-­‐continuous-­‐integration-­‐338

14

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

継続的Webセキュリティテスト

15

開発チーム

外部の診断会社  社内の専門チーム

コーディング

単体テスト

結合テスト

脆弱性診断

開発チーム

修正

リリース

継続的セキュリティテスト開発チーム

コーディング

単体テスト

結合テスト

リリース

脆弱性診断

本リリース前には、診断会社の診断を。

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

継続的Webセキュリティテストの課題

• 既存のツールを使う場合  

• 設定項目が多くノウハウを貯める必要  

• 環境構築・運用コスト  

• CIのフローに乗せるのが大変

16

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

継続的Webセキュリティテストの重要な点

17

アプリケーションの動作を  

把握した検査

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

18

ツールの設定を常に  

学び続けて使わないと効果が少ない

ビジネスに関わる開発に  

注力できない・・・

継続的Webセキュリティテストの課題

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

19

簡単に導入  運用が不要効果的な検査

CIサイクルに組込み

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

20

継続的Webセキュリティテストサービス

Vulnerability  Assessment  is  your  Buddy  (脆弱性診断はあなたの相棒)

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

21

継続的Webセキュリティテストサービス

http://vaddy.net/  無料で何度でも検査可能

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

VAddyの特徴

•ブラックボックスのWeb脆弱性診断  

•インストール不要(SaaS)  

• CI連携を前提に設計  

• WebAPI連携  

• Jenkinsプラグイン  

• Travis,  CircleCI,  etc  連携可能

22

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

よくある構成

23

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

HipChat通知

24

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

VAddyの特徴

25

特別な設定なしでVAddyがアプリケーションの動作を理解して  

正確に検査できるように

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

VAddyの特徴

26

機械学習を使った  

セキュリティ検査の  

エンジンを独自開発

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

VAddyのポリシー

27

開発者が  

開発に注力できるように!

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

28

継続的な  セキュリティテストで  

安心してリリースすることが  今後のトレンドになる

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

29

まずは  VAddyやOWASP  ZAP  

を使って評価  小さく初めてみる

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

30

Vulnerability  Assessment  is  your  Buddy(脆弱性診断はあなたの相棒)

DEMO

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

VAddy DEMO

31

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

脆弱性の種類、問題のパラメータ名

32

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

再現用の攻撃リクエスト

33

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

34

ご清聴  ありがとうございました

https://joind.in/talk/view/15324