脆弱性もバグ、だからテストしよう devsummifukuoka

33
Copyright (c) Bitforest Co., Ltd. 脆弱性もバグ、だからテストしよう Developers Summit 2015 Fukuoka 2015/9/14 DevSumi Fukuoka 1 株式会社ビットフォレスト 市川

Upload: ichikaway

Post on 13-Apr-2017

1.451 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

脆弱性もバグ、だからテストしよう  Developers  Summit  2015  Fukuoka

2015/9/14 DevSumi Fukuoka1

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

Page 2: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

2

• @cakephper / @ichikaway

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

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

自己紹介

Page 3: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

セキュリティ事故の影響

• 情報漏洩  

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

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

3

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

Page 4: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

4

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

Page 5: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

Webセキュリティテスト

• ホワイトボックス  

• ソースコード解析(ex.  brakeman)  

• ブラックボックス  

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

• ex.  VAddy,  OWASP  ZAP,  AppScan

5

Page 6: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

OWASP ZAP

6

Page 7: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

資料

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

• 安全なSQLの呼び出し方  

• ウェブ健康診断仕様  

• 書籍  

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

7

Page 8: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

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

8

開発チーム

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

コーディング

単体テスト

結合テスト

脆弱性診断

開発チーム

修正

リリース

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

•スケジュール遅延  

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

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

Page 9: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

9

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

Page 10: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

10

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

が必要

Page 11: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

世界の流れ

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

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

11

Page 12: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

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

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

12

Page 13: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

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

13

開発チーム

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

コーディング

単体テスト

結合テスト

脆弱性診断

開発チーム

修正

リリース

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

コーディング

単体テスト

結合テスト

リリース

脆弱性診断

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

Page 14: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

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

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

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

• 環境構築・運用コスト  

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

14

Page 15: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

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

15

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

把握した検査

Page 16: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

16

ツールの設定を常に  

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

ビジネスに関わる開発に  

注力できない・・・

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

Page 17: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

17

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

CIサイクルに組込み

Page 18: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

18

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

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

Page 19: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

VAddyの特徴

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

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

• CI連携を前提に設計  

• WebAPI連携  

• Jenkinsプラグイン  

• Travis,  CircleCI,  etc  連携可能

19

Page 20: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

よくある構成

20

Page 21: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

VAddyの特徴

21

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

正確に検査できるように

Page 22: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

VAddyの特徴

22

機械学習を使った  

セキュリティ検査の  

エンジンを独自開発

Page 23: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

VAddyのポリシー

23

開発者が  

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

Page 24: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

24

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

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

Page 25: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

25

まずは  VAddyやOWASP  ZAP  

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

Page 26: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

26

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

DEMO

Page 27: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

VAddy DEMO

27

Page 28: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

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

28

SQLインジェクションなどの脆弱性種類、対象のURL、問題のあるパラメータ名が分かる。  この例だと、searchというURLで利用している、IDというパラメータにSQLインジェクションが存在するため、該当のソースコードがすぐに把握できる。

Page 29: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

再現用の攻撃リクエスト

29

VAddyが送信した攻撃リクエストが分かるため、開発環境で再現できる

Page 30: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

VAddyの歩み• 2014年10月国内ベータ公開  

• 2015年4月  海外ベータ公開  

• 2015年9月  有料版公開  

• Freeプラン  

• Standardプラン  $100/月  

• Proプラン  $300/月

30

Page 31: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

検査項目• SQLインジェクション  

• XSS  • コマンドインジェクション  

• ディレクトリトラバーサル  

• リモートファイルインクルージョン

31

Page 32: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

現状、可能な検査• RestAPI対応、パラメータがJSON対応  

• URLパスのパラメータ検査  

• www.example.com/item/view/1  • フォーム認証(ログイン画面)  

• CSRF対策トークン(Angular.jsも含め)  

• SSL上のアプリケーション

32

Page 33: 脆弱性もバグ、だからテストしよう DevSummiFukuoka

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

33

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

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