継続的webセキュリティテスト testing casual talks2

32
Copyright (c) Bitforest Co., Ltd. 継続的Webセキュリティテスト VAddy 2015/2/19 VAddy Meetup 1 Testing Casual Talks #2 株式会社ビットフォレスト 市川

Upload: ichikaway

Post on 06-Aug-2015

2.808 views

Category:

Internet


3 download

TRANSCRIPT

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

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

2015/2/19 VAddy Meetup1

Testing  Casual  Talks  #2  !

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

自己紹介

• 市川

• @cakephper / @ichikaway

• 福岡在住

2

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

忘れがちなテスト

•セキュリティテスト  

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

•パフォーマンステスト  

• loader.ioなど

3

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

Webセキュリティテスト

• ホワイトボックス  

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

• ブラックボックス  

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

• ex.  VAddy,  OWASP  ZAP,  AppScan

4

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

OWASP ZAP

5

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

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

6

開発チーム

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

コーディング

単体テスト

結合テスト

脆弱性診断

開発チーム

修正

リリース

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

•スケジュール遅延  

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

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

7

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

8

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

が必要

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

世界の流れ

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

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

9

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

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

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

10

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

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

11

開発チーム

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

コーディング

単体テスト

結合テスト

脆弱性診断

開発チーム

修正

リリース

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

コーディング

単体テスト

結合テスト

リリース

脆弱性診断

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

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

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

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

• 検査に時間がかかる  

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

12

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

重要ポイント

13

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

検査ツールが把握して  

検査できなければ  

まったく意味がない

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

14

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

CIサイクルに組込み

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

15

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

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

http://vaddy.net

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

VAddyの特徴

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

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

• CI連携を前提に設計  

• WebAPI連携  

• 無人の運用が必須

16

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

よくある構成

17

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

VAddyの特徴

18

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

正確に検査できるように

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

VAddyの特徴

• セキュリティ検査エンジンを独自開発  

• ユーザが行う設定作業を最小限に  

• 機械学習の機能を持ったエンジン  

• 無人でもうまく動作  

• 常にアップデート

19

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

20

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

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

21

まずは  VAddyやOWASP  ZAP  

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

22

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

デモ

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

VAddyの現状(2015/5 現在)

• 無料プランのみ提供中  

• 何度でもスキャン実行可能  

• SQLインジェクション、XSS  

• Jenkinsプラグイン提供中  

• Rubyクライアント提供中  

• CircleCI,  TravisCI,  Codeshipなどに対応

23

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

現状、可能な検査(SQLi, XSS)• GET/POST/PUT/DELETEのパラメータの検査  

• RestAPI対応、パラメータがJSON対応  

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

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

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

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

25

http://vaddy.net

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

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

VAddyの操作 3ステップ

• STEP1    テスト対象サーバ登録  

• Verificationファイルの設置  

• STEP2    検査対象のクロール  

• Webアプリケーションの画面操作  

• STEP3    スキャン実行(画面  /  WebAPI)  

• 結果参照

26

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

クロールとは?

27

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

クロールとは?

28

アプリケーションの操作記録を保存  

(URL、パラメータ、ログイン情報など)

ブラウザのProxy設定にてVAddy  Proxy

をセットし、Web

アプリケーションを操作

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

何故手動クロールが必要か?

• 自動クロールの限界  

• 時間がかかる  

• リンク切れURL  

• 認証画面情報  

• アプリケーション特有の動作

29

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

• 検査対象のアプリを一番良く知っている人  

• お客様(開発者、テスター、発注者)  

• SeleniumなどのE2Eテストが普及  

• このデータをクロールに流用すれば!!

30

何故手動クロールが必要か?

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

手動クロールのメリット

• 検査漏れ、設定項目を減らす  

• 検査時間のコントロール  

• スキャン不要な箇所はクロールしなければスキャン時間が短縮できる

31

Copyright  (c)    Bitforest  Co.,  Ltd.

 

 

現状、出来ないこと(順次対応予定)

• 蓄積型XSS、Dom  based  XSSの検査  

• SQLインジェクション、XSS以外の検査  

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

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

32