導入事例ヴェルク株式会社様
VAddyは利用者がやらなくてはいけないことが少ない
- 主な業務
- 業務・経営管理システムの開発
- サービスの規模
- 有料導入1000社
- 脆弱性検査での課題
- 自分たちでセキュリティテストをやろうとしたが正しく使えているのか不安だった。
都内で受託開発業務と自社サービスを手がけているヴェルク株式会社。近年では自社サービス「board」における顧客サポートとセキュリティへの独自の取り組みが同業他社からの注目を浴びています。今年(2016年)にはベストベンチャー100にも選出されたヴェルク株式会社の代表取締役田向祐介氏にお話を伺いました。
ヴェルク株式会社について
弊社の事業の中心はWebアプリケーションやスマホアプリの受託開発業務です。もともと私が前職で業務系のシステムに携わっていたので、業務系のアプリケーション開発を強みとしていますが、ゲームなどのエンターテイメント系のシステム以外は幅広く対応できます。
2013年からは受託開発で得たノウハウをフィードバックする形で、自社サービスの提供を始めました。特に、2014年にリリースしたクラウド型業務・経営管理システム「board」はおかげさまで順調に売上を伸ばしています。
自社サービスの運用で得られた経験を、受託開発のお客様にも積極的に提案させて頂いています。
サービスリリース時からセキュリティは意識していた
boardはサービスリリース当初からセキュリティに力を入れていました。
業務・経営管理システムという性質上、お預かりするデータの取扱いは特に慎重にならないといけません。もちろん、いかなるデータも重要ではあるのですが、boardがお預かりするデータは会社経営の核となるものなので、「漏れてはいけない度合い」が高い。情報漏洩のリスクに対してはかなり神経質にやっています。
受託開発業務の中でお客様が診断会社に脆弱性診断を依頼されたのを何度か見てきたので、セキュリティに対する意識は自然と高まっていました。boardのリリース前には診断会社に脆弱性診断をお願いしましたが、その時WAF注1のScutumを入れる前提だったので、WAFでカバーできない領域を重点的に診断していただくようお願いしました。
現在でも機密データの暗号化はもちろんのこと、WAFやIDS・IPS注2などの侵入対策や弊社内アクセス管理など、考えうる対策は可能な限りとっています。
★boardのセキュリティ対策
それまでもセキュリティテストツールを試してはみたが・・・
boardを始める前、OWASP ZAPを使って自分たちでセキュリティテストをやろうとしたことがありましたが、正直言ってめんどくさかった(笑)
セキュリティテストツールは正しく使えないと意味がありません。自分たちの勉強不足といえばそれまでですが、当時はツールを正しく使えているのかどうかが分かりませんでした。
使い方を理解する時間が取れるのであれば強力なツールになると思いますが、私たちのようなアプリケーション開発者がカジュアルに使うにはハードルが高い。せっかくセキュリティテストをやっているのに、正しく使えてるのか不安になるようでは本末転倒だなと。
その点、VAddyは利用者がやらなくてはいけないことが少ない。クロール注3さえできていれば、後は自動で検査してくれます。クロールが正しく行えたかどうかのサーバーのログを見れば判断できます。VAddyは利用者の責任範囲が非常に狭いのです。
セキュリティにかけるコスト
セキュリティは非常に専門性の高い領域です。私はサービスの料金というのは専門性の高さに応じて上がるべきだと考えているので、VAddyの料金(月額$100)はWebサービスとしては高く感じるかもしれませんが、その分の価値はあると思っています。
幸い弊社では受託開発で得た利益をboardの開発に回すことができたので、セキュリティにも比較的余裕をもって費用をかけることができましたが、限られた予算の中でプロジェクトを進めなければならないスタートアップでは、セキュリティに回す予算が無いこともあるかもしれません。ただ、VAddyの料金程度のコスト(月額$100)で安全を担保できるのであれば、やっておくべきでじゃないかと思いますね。
VAddyの導入で変わったこと
VAddyの導入をきっかけに、boardのEnd to Endテスト(以下EtoEテスト)を整備するようになりました。VAddyを使うためには検査対象のアプリケーションを正しくクロールする必要があるのですが、boardのような画面数の多いアプリケーションを手動クロールするのは現実的では無いので、EtoEテストを整備する必要があったのです。
boardではEtoEテストのシナリオを、単体テスト的なものと結合テスト的なものにわけています。結合テストのシナリオにはVAddy用のクロールとしては重複する項目がたくさんあって、全てをVAddyの検査対象にすると時間がかかりすぎるので、VAddyのスキャンには単体テストのシナリオだけを使っています。
今はVAddyのクロールデータを20個くらいに分けていて、一日に一回スケジュール実行させています。CircleCI上でVAddy Rubyクライアントツールを使ってVAddyのスキャンを自動実行していて、結果はSlackに通知するようにしています。
ちなみに、VAddyにクロールデータを流す時はSeleniumを使ってますが、普段はCircleCI上でPhantomJSを使ってEtoEテストを行っています。
EtoEテストの整備は確かに面倒な作業ではあります。ただ、お客様からするとブラウザで正しく操作できることが全てです。例えばサーバーサイドでRubyのアプリケーションが正しく動いたとしても、フロントのJavaScriptが動かなかったら意味が無いですよね(笑)
そういう意味でもEtoEテストは整備しておいたほうが安心です。
それ以外には、VAddyを使うことでセキュリティ知識も増えてきたことを感じています。
セキュリティは意図的にそれに触れていないと知識はなかなか入ってきません。VAddyの検査ログ(注:テストサーバーのアクセスログ)を見るとかなり勉強になりますしね。
めったにありませんが、万が一脆弱性が見つかった場合でも原因と対策を調べることで、セキュリティの知識が上がっていきます。
VAddyを使うことで日常的にセキュリティに触れるようになったことが大きいと思います。
VAddyに望むこと
あまり思いつかないのですが、あえて言うとクロールデータのメンテナンス性が高まると良いかなと感じています。現在は一画面に収まる程度のシナリオ数ですが、これがもっと増えていった時にメンテナンスが大変になりそうなので。
検査項目は今のままで良いと思います。さほど重要じゃない検査項目が追加されてスキャン時間が長くなるのも困りますし。もし検査項目が増えるのであれば、スキャン毎に実施する検査項目が選べるようになると良いかもしれませんね。デイリーのスキャンはこれとこれ、ウィークリーのスキャンはこれとこれといった感じで。
注1 Web Application Firewall:Webアプリケーションを狙った攻撃を防御する仕組み
注2 Intrusion Detection System/ Intrusion Prevention System:サーバーへの侵入を検知し、防御する仕組み
注3 検査対象となるWebアプリケーションのURLやパラメータをVAddyに記録するための設定
インタビューを終えて
今回お話を伺った中で、田向氏が非常にバランス感覚の優れた方という印象を受けました。
少ない人数で運営されているboardが、製品の質だけでなく顧客サポートやセキュリティ対策で注目を集めているのは、ビジネス全体を見渡すことができる田向氏のバランス感覚によるものだと思います。
そのように考えると、boardで同業他社から問い合わせが来るほどのセキュリティ対策が取られているのも当然のことかもしれません。