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

Preview:

Citation preview

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

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

2015/9/14 DevSumi Fukuoka1

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

2

• @cakephper / @ichikaway

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

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

自己紹介

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

セキュリティ事故の影響

• 情報漏洩  

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

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

3

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

4

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

Webセキュリティテスト

• ホワイトボックス  

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

• ブラックボックス  

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

• ex.  VAddy,  OWASP  ZAP,  AppScan

5

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

OWASP ZAP

6

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

資料

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

• 安全なSQLの呼び出し方  

• ウェブ健康診断仕様  

• 書籍  

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

7

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

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

8

開発チーム

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

コーディング

単体テスト

結合テスト

脆弱性診断

開発チーム

修正

リリース

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

•スケジュール遅延  

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

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

9

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

10

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

が必要

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

世界の流れ

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

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

11

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

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

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

12

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

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

13

開発チーム

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

コーディング

単体テスト

結合テスト

脆弱性診断

開発チーム

修正

リリース

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

コーディング

単体テスト

結合テスト

リリース

脆弱性診断

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

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

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

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

• 環境構築・運用コスト  

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

14

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

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

15

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

把握した検査

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

16

ツールの設定を常に  

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

ビジネスに関わる開発に  

注力できない・・・

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

17

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

CIサイクルに組込み

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

18

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

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

VAddyの特徴

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

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

• CI連携を前提に設計  

• WebAPI連携  

• Jenkinsプラグイン  

• Travis,  CircleCI,  etc  連携可能

19

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

よくある構成

20

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

VAddyの特徴

21

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

正確に検査できるように

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

VAddyの特徴

22

機械学習を使った  

セキュリティ検査の  

エンジンを独自開発

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

VAddyのポリシー

23

開発者が  

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

24

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

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

25

まずは  VAddyやOWASP  ZAP  

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

26

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

DEMO

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

VAddy DEMO

27

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

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

28

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

再現用の攻撃リクエスト

29

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

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

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

• 2015年9月  有料版公開  

• Freeプラン  

• Standardプラン  $100/月  

• Proプラン  $300/月

30

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

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

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

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

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

31

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

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

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

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

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

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

32

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

33

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

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

Recommended