左から:金陽信様 奥清隆様 梶原直樹様
主な業務
ECサイト向けCMS開発
サービスの規模
日本国内ではNo1シェアのEコマース用OSS(実稼働として約3万店舗)
脆弱性検査での課題
検査の事前準備と検査自体に時間がかかりすぎるので、大きなプロジェクトのリリース直前にしか検査できない。

クラウド型Web脆弱性検査サービスVAddyはOSSコミュニティへのVAddy無償提供を行っています。今回は前回に引き続き、本取組の中でVAddyを導入いただいた株式会社イーシーキューブのEC-CUBE開発チームにお話を伺いました。

EC-CUBEとは

2006年9月にリリースしたEC-CUBEはショッピングサイトの構築に特化したCMSソフトウェアで、OSS(オープンソースソフトウェア)として配布しています。Eコマース用のOSSは世界中に数多くありますが、日本国内においてはEC-CUBEがダントツのNo1シェアを誇っていて、現在は実稼働として約3万店舗で使われています。

EC-CUBEマーケティングマネージャー梶原直樹様
EC-CUBEマーケティングマネージャー
梶原直樹様

当初EC-CUBEは自社で行っていた受託案件で利用するためのみに開発していましたが、オリジナリティの高いショッピングサイトを世の中に増やしていく目的のため、手段としてどのような形が良いのか考えた末、OSSという形態にたどり着きました。

現在弊社ではEC-CUBEをベースにした個別カスタマイズ等の開発業務は行っておらず、決済代行会社様とアライアンスを結び、決済プラグインを使って決済された売上の一部を頂戴するというビジネスモデルを取っています。ですのでEC-CUBEでショッピングサイトを構築していただくことや売上を上げていただくためのサポートとして、情報発信開発コミュニティ運営なども行っています。

EC-CUBEにおけるセキュリティ対策

一般的に「OSSの利用は自己責任」と言われます。
OSSにおけるセキュリティ対策も例外ではありませんが、EC-CUBEの本体部分については、以前から有償の検査ツールを利用した脆弱性検査を社内で実施しています。

また、EC-CUBEを利用してショッピングサイトを開設するショップオーナーや開発会社が脆弱性診断を実施して、そのフィードバックをいただくこともあります。

社内で実施している脆弱性検査については、非常に高機能なツールを利用しているということもあって、検査の開始に必要な事前準備(設定等)の工数が多くかかり、検査自体もEC-CUBEの場合は2〜3日かかります。ですので、検査は大きなプロジェクトのリリース直前にしか行うことができませんでした。

そうした「高機能な検査ツールを有効に使えていない」という課題感から、去年の秋頃から脆弱性検査方法の見直しの検討を始めて、OWASP ZAPなどのOSSツールも含めたいくつかの検査ツールの比較を行いました。結果的には従来の検査ツールを継続して使い続けるという結論になったのですが、検査結果の判定を含めて使いこなすにはセキュリティ検査の知識が必要になるので、社内勉強会を開催して開発メンバーのスキルアップを行っています。

VAddy導入の決め手

既に脆弱性検査方法の見直しが終わった後だったのですが、OSSへのVAddy無償提供が始まったと聞いて、せっかくなので(笑)

VAddy公式Twitterアカウントのつぶやきから全てが始まりました。

EC-CUBE 3系からCIを使ったテストを回しているのですが、脆弱性検査の部分だけリリース前に実施するので良いのかという課題感がありました。いま使っている検査ツール以外にもっと気軽に日々使える検査ツールは無いかなと。

EC-CUBE事業部 部長 金陽信様
EC-CUBE事業部 部長
金陽信様

そんな中、今年の7月のphp conference Kansai 2017で市川さん(株式会社ビットフォレストCTO/VAddyプロダクトリーダー)にお会いしてVAddyのことをお聞きしてすぐに試してみました。VAddyは検査項目が絞られているものの、日々気軽に使いたいという我々のニーズにマッチする「ちょうど良いツール」かなという印象でした。高機能な検査ツールだと誤検知のようなものも含めて多量の検査結果が出力されるので、対応すべきかどうかの判断も含めて日々使うには少し負荷が高いので。

VAddyの導入でWebテスト(EtoEテスト)の価値が上がった

そんなこんなで急遽VAddyを使ってみようと思ったのですが、導入は本当に簡単で、苦労した記憶はほとんどありません。
VAddyの検査に必要なクロールデータの作成だけは面倒に見えますが、EC-CUBEではすでにCodeceptionを使ったWebテスト(EtoEテスト)環境が整備されているので、それを応用すればクロールデータの作成は簡単にできます。既存のテストケースの中からVAddyの検査に必要な部分だけを抽出したテストケースを作成して、毎晩TravisCIで自動実行しています。 さくらクラウド上でdockerコンテナがビルドされた後に、EtoEテストの実行、VAddyのクロールデータの作成、VAddyの脆弱性検査までの一連の流れが毎日自動で実行されています。

【参考】2017/11/22開催 VAddyユーザーミートアップ Vol8資料
EC-CUBEでのVAddy活用事例

EC-CUBE事業部 奥清隆様
EC-CUBE事業部
奥清隆様

正直なところEtoEテストのメンテナンスはけっこう大変なのですが、VAddyを使うようになってからそうしたWebテストの価値が倍くらいに上がった気がします。EtoEテストシナリオを頑張ってメンテナンスしていけば、通常のWebテストだけでなく脆弱性検査も同時にできるようになりますから。

もし弊社にEtoEテストが整備されていなかったとしたら、クロールデータの作成でかなり苦労したと思います。とは言え、オートクロール機能(検査対象のWebサイトを自動的に巡回して検査してくれる機能)が備わっている他のツールでも、オートクロール機能だけだと見つけられない部分が出てきます。実際にツールの検査で発見できなかった脆弱性が後になって見つかることがあって、なぜ発見できなかったかを調べると自動検査ではなくステップ操作でしか見つけられない部分だったことがあります。結局、自動的に対象のアプリケーションをクロールしてくれる検査ツールであっても、自分たちでクロールデータを作らないといけない場面は必ず出てきます。

VAddyを使ってみて

良いことずくめです(笑)
特に検査の実行時間が短いことは本当に助かっています。EC-CUBEには多くの社外コミッターがいますが、VAddyで毎晩検査することでコミッターに対して素早いフィードバックを返すことができます。網羅性という点で他の検査ツールをメインで使うことにしたとお話しましたが、VAddyの取り回しの良さは網羅性を補って余りあると感じています。検査回数の制限が無いので「大丈夫かな?」と逆に心配してしまいます。

VAddyは5つの検査項目しかありませんが、本当に重要な脆弱性に絞られています。脆弱性検査方法の見直し時に複数の検査ツールを比較した際は「検査項目が少なすぎる!」と思いましたが、後にいろいろ調べてみるとこれらの現実的な脅威への対策としては十分では無いかと思います。ツール比較時は網羅性を重視していましたが、当時このことを知っていれば、結論も変わっていたかもしれませんね。

この5項目が本当に重要だということをもっとアピールした方が良いと思いますよ(笑)

株式会社イーシーキューブ

設立
2018年10月1日
代表取締役社長
金 陽信
所在地
〒530-0001 大阪市北区梅田2-4-9ブリーゼタワー13F
事業内容
ECオープンプラットフォームの開発・提供等

他の導入事例を見る