Agenda
• EC-CUBEとは
• VAddy導入前
• VAddy導入のきっかけ
• EC-CUBEの開発プロセス
• EC-CUBEの開発プロセスに組み込む
• VAddyを使ってみて
EC-CUBE
とは
VAddy
導入前
社内脆弱性診断ツール比較検討
• OWASP ZAPとかどうなん?
• あとみんな活用できてる?
ネットでの評判
Price and Feature Comparison of Web Application Scanners
http://www.sectoolmarket.com/price-and-feature-comparison-of-web-application-scanners-unified-list.html
データが古かったので取り直してみる
• WAVSEP
• https://github.com/sectooladdict/wavsep
• ベンチマークの対象となったアプリケーション
• 脆弱性の含まれる画面が大量に用意されている
VAddy以外の有償ツールを採用
• 高機能
• 検出できる脆弱性の種類も多い
• 設定は複雑なので徐々に教育していく
• 実行方法はJenkinsからキックできる仕組みを構築
• 実行時間がかかるので(数日かかることも)、リリース前にスキャン
をかける
社内脆弱性対策講座
• AppGoatを使った社内エンジニア向け講座を実施
• https://www.ipa.go.jp/security/vuln/appgoat/
• どのツールを使ってもレポートの内容がわからなければ意味がな
い
• 脆弱性を理解しておけば普段書くコードにも気を使う
VAddy
導入
きっかけ
どうやってVAddyを組み込むか?
• せっかく(スキャン回数無制限)なので頻繁にスキャンさせたい
• 普段の開発に負担がかからないようにしたい(仕事を増やしたくな
い)
• 可能な限り自動化したい
EC-CUBEの開発方法
EC-CUBEの普段の開発
• GitHub Flow
• 直接pushせずにPull Reuestを送る
• PHPUnitによる自動テスト
• TravisCI上で実行され、すべてパスしないとマージされない
• MySQL/PostgreSQL、PHP複数バージョン
• Codeceptionによる自動Webテスト
• 1日1回夜中に実行
• Chrome/Firefox、MySQL/PostgreSQL、PHP複数バージョン
VAddyを使うためにやること
• アカウント作成
• 検証用サーバ構築
• クロールデータ作成
• スキャン実行
VAddyを使うためにやること
• アカウント作成
• 検証用サーバ構築
• クロールデータ作成 ← めんどくさそう
• スキャン実行
クロールデータ作成
• 手動
• プロキシ設定してひたすらクリックする人
• 自動
• プロキシ設定してひたすらクリックするスクリプト
• 画面が追加されたときにスクリプトもメンテし続ける強い気持ち
• 自分が離れたときに忘れず引き継いでもらえるか?
Webテストを流用する
• 既存のテストケースから画面を網羅できるだけのテストケースを
抽出
• https://github.com/EC-CUBE/eccube-codeception/commit/7115700
2dcd8ff9eede9fc6faff2adc2b24828c1
• 普段のテスト実行
$ codecept run
• VAddyクローラデータ作成(画面を網羅するケースだけ実行)
$ codecept run --group vaddy
Webテスト
WebDriver HTTP
Webテストを利用したクロールデータ作成
WebDriver
internet
HTTP Proxy
画面を網羅できるだけ
のテストケースを実行
クロールデータを保存
VAddyによるスキャン
internet
最後に作成したクロール
データを元にスキャン
脆弱性診断を行うための事前申請
• AWS他クラウドサーバーに対する脆弱性診断の事前申請につい
て
• 事前申請が必要だと、頻繁にはスキャンできない
• さくらのクラウドは事前申請不要
VAddyを使ってみて
• Webテストを書けばバグも脆弱性も発見できる仕組み
• 実行時間が短いので早めのフィードバックが得られる
• 毎日の開発に組み込むことができるのはありがたい
• まだ始めたところなのでいろいろ改善していきたい
• クロールデータが重複していて時間が掛かる
• クロール時に削除されたページに対して、スキャン時にPOSTしてしまて
る。。
• VAddy上にクロールデータが溜まり続ける
• OWASP ZAPのスパイダー機能つかってクロールデータ作れないか
な?
ご清聴ありがとう
ございました。

20171122_VAddyMeetUp_EC-CUBEでのVAddy活用事例