こんにちは!新卒で入社して以来、約3年間Vexの機能開発を担当している堀口です。

img012023年11月10日に、「第5回 Vexユーザーカンファレンス」を開催しました。
なんと今年は3年ぶりにオフラインでも開催!オンライン・オフライン会場合わせて、約90名の方にご参加いただきました。

今回のカンファレンスでは、Vexファミリーの最新情報のご紹介や、GraphQLの仕組みと攻撃パターンについての解説、そして毎年ご好評いただいておりますVexユーザ様事例のご紹介を行いました。本記事でその模様をお伝えします。

Vexファミリーの最新情報とこれから

2023年7月、ユービーセキュアは『Vex』で培ってきたノウハウをもとに、『VexCloud』という新たなWebアプリケーション脆弱性自動検査ツールをリリースしました。VexとVexCloudを合わせて『Vexファミリー』と銘打ち、それぞれの良さや特徴を生かしながら、皆様に価値提供できるよう画策中です。

本章では、Vexユーザ会にて発表されたVexファミリーの最新情報と今後のロードマップについてお伝えします。

Vexの最新情報

img02Vex』はユービーセキュアが開発している純国産のWebアプリケーション脆弱性検査ツールです。2007年のリリース以来、「脆弱性診断のためのプロツール」として、複雑なWebアプリケーションでも高い精度で脆弱性を検出できるとご好評いただいております。とはいえ現状に満足するのではなく、ユービーセキュアのミッションである「ともにセキュリティを楽しみ、チャレンジする人を楽にする」ために、ユーザ様の要望や市場に合わせて日々進化を遂げています。2023年は運用に役立つ機能提供と検査範囲の拡大を中心に取り組みました。

 

<運用に役立つ機能>

  • スケジューラ機能の大幅改善(Vex10.2.0.0)
  • 引継ぎパラメータ検索機能の追加(Vex10.3.0.0)
  • プロキシログの自動重複機能の追加(Vex10.4.0.0)
  • カスタムシグネチャ機能の強化(Vex10.3.0.0 - Vex10.4.0.0)
  • パラメータ自動スキップ機能(Vex10.5.0.0)
  • メッセージラベル機能の追加(Vex10.6.0.0)

 

<検査対応範囲の拡大>

  • JSONパラメータ分解機能の強化(Vex10.2.0.0)
  • GraphQLアプリケーション対応の強化(Vex10.5.0.0)

 

私事ですが、こちらで紹介している機能の約8割の開発に携わりました!特にメッセージラベル機能の追加は、ユーザ様への要望ヒヤリングから参加し、設計・実装・テストなどの一連の開発を行ったので思い入れが深いです。まだリリースして間もない機能なので、ユーザ様の反応を楽しみにしています。

Vexの機能を強化するだけではなく、情報発信活動にも力を入れています。
2023年はVexユーザ様向けにスキルアップオンライン講義を2回開催し、動画マニュアルのご提供も開始しました。どちらもVexサポートポータルにて動画配信を行っていますので、見逃した方やまだチェックしていない方は是非ご確認ください。
またセキュリティに関わる全ての皆様向けに、脆弱性ブログの公開も行っております。2023年は「Xpathインジェクション」と「SQLインジェクション」に関する記事を公開しました。2024年は「クロスサイトリクエストフォージェリ」を公開予定ですのでご期待ください。

詳細はこちら

詳細はこちら

以上がVexの最新情報についてです。これからもVexでは、

  1. 業務効率の向上
  2. 検査性能の強化
  3. サポートコンテンツの強化

の3つの柱で製品/サービス開発を行ってまいります。ユーザ様のご意見・ご要望をもとに、引き続き “プロ品質” で “使いやすい” 製品にこだわっていきますので、ご愛顧のほどよろしくお願いいたします。

VexCloudの最新情報

2023年7月に新たにリリースされたVexCloudは、長年Vexで培ってきたノウハウを元に生み出されたWebアプリケーション脆弱性自動検査ツールです。同じ ”Vex” という名前はついていますが、製品内容が異なる点も多くあります。2つの製品の主な違いについては次の表をご覧ください。

  Vex VexCloud
コンセプト プロ品質診断ツール お手軽自動診断SaaS
提供方式 オンプレミス SaaS
診断方式 シナリオ診断型
⇒ 複雑なシナリオは手動で作成し、診断は自動で行うことで、効率の良い診断を実現できる
自動巡回型
⇒ シナリオ作成から診断までを全自動で行うことで、少ないコストでの診断を実現できる
シグネチャのカテゴリ 幅広い脆弱性カテゴリをカバーしており、検査パターンのバリエーションも豊富 頻出の脆弱性カテゴリにフォーカスしており、検査パターンもメジャーなものを採用
自動巡回方式 HTMLからURLを探索する JavaScript動的解析によりURLを探索する

 

img03近年の攻撃者は特定のサイトを狙うのではなく、「攻めやすいサイト」を探すように動向が変化しているため、企業規模・業種を問わずセキュリティへの投資を当たり前として考える必要があります。しかしながら、セキュリティ対策に対しハードルが高いと感じてしまう方も少なくなく、もっと身近で、もっと簡単な診断ツールの需要が高まってきました。
VexCloudは、そんな方々に寄り添いたい!という背景から生まれた製品であり、特に次のような悩みを持つ方々にお勧めしております。

①初めて診断ツールを利用したい

VexCloudは、自動診断で操作が簡単、さらにクラウドSaaSとして提供しているため、学習や運用のコストを抑えて導入することができます。また、自動巡回が難しいシナリオに関しては、ブラウザを操作しながら手動でシナリオを作成することも可能です。

②大量にサイトがあり診断しきれない

VexCloudでは大量にサイトがある場合にも運用コストをかけずに診断が可能です。また、Webサイト単位での管理が可能で、繰り返しスキャンした結果も集約されるため比較が容易です。また、権限の設定を柔軟に行うことができるため、分業することも可能です。

③開発チームで自律的に検査したい

VexCloudは診断対象URLを選んでスキャンすることができるため、改修があった箇所を順次検査していく運用が可能です。脆弱性ごとにチケットでステータス管理や担当者、コメントの記載が可能なため、チーム運用を容易に行うことができます。

脆弱性診断を自社でできるようにしたいけど、なかなかハードルが高い…とお考えの方々にピッタリな製品です。無料トライアルも可能なので、ご興味のある方はお気軽にお問合せください! 

Vexファミリーのこれから

VexとVexCloudにはそれぞれの良さや特徴がありますが、今後はそれらを十二分に発揮するための連携機能の提供を予定しています。
その足掛かりとして、2024年前半にVexからVexCloudへ診断結果をインポートする機能をリリース予定です。本機能により、VexCloud上で、今後のVexの検査結果の蓄積やステータス管理、各担当者間での情報連携などの共有ポータルとして活用することができるようになる予定です。
また、自動で手軽に診断したいサイトはVexCloud、しっかりと深掘りしたいサイトはVexと、サイトの特徴に合わせた診断運用が可能になります。

引き続きユーザ様のニーズやセキュリティ市場に伴って日々進化し続けますので、Vexファミリーの今後にご期待ください。

GraphQLの仕組みと攻撃パターン

皆様は「GraphQL」という言葉をご存じでしょうか。「名前は知っているが仕組みはよく知らない」、「概要は知っているが、セキュリティの観点から考えたことはない」、といった方も多いのではないかと思います。
そこでVexユーザ会では、「そろそろ知っトク?GraphQL!~便利さの裏に潜む罠~」と題して、GraphQLの仕組みと攻撃パターンについて解説を行いました。

GraphQLの仕組み

GraphQLは2012年ごろに公開されたAPI向けのクエリ言語およびそのランタイムのことです。従来よく使われているREST API と比較して、主に次のような特徴があります。

REST API GraphQL
パスに定義されたリソースしか取得できない(エンドポイントが複数必要) 複数リソースの情報を1つのリクエストで取得できる(エンドポイントが1つ)
指定したリソースの情報全てが返されるため、オーバーフェッチもしくはアンダーフェッチが起きる 必要な情報のみをレスポンスに含めることができる

GraphQLのリクエスト形式はある程度決まっており、GETのクエリパラメータもしくはPOSTのJSON形式で記載されることが多いです。また動的パラメータはvariablesというパラメータを使ってやり取りを行うことができます。

<GETリクエストの例(理解しやすくするためURLデコードした状態で表記)>

GET /graphql?query=query($id:ID!){user(id:$id){name}}&variables={"id":"123"}

<POSTリクエストの例>

POST /graphql HTTP/1.0
Content-Type: application/json

{
  "query": "query($id:ID!){user(id:$id){name}}",
  "variables": {
    "id": "123"
  }
}

しかしながら、まだ新しい技術であるため、今後も発展していく可能性があり、傾向に合わせた対応が必要です。Vex10.5.0.0では、変数がハードコーディングされているGraphQLリクエストも検査が可能になりました。

<POSTリクエストの例>

POST /graphql HTTP/1.0
Content-Type: application/json

{
  "query": "query{user(id:\"123\"){name}}"
}

GraphQLリクエストに対する攻撃パターン

GraphQLといえど、従来のREST API と同じくAPI構築の手段であるため、SQLインジェクションやクロスサイトリクエストフォージェリなど、一般的な脆弱性に対する検査が必要です。一方、GraphQL特有の脆弱性も存在しており、検査するためには特殊なクエリを送信する必要があります。次に示すのは、GraphQL特有の脆弱性の例です。

【イントロスペクション機能の設定不備】
GraphQLを採用したAPIであれば、多くの場合イントロスペクション機能を持っています。この機能はAPIがサポートしているクエリの情報や、フィールド定義の情報を取得することができる機能であり、特殊なクエリを送信する必要があります。この機能が有効になっていると、攻撃に必要な情報収集に悪用される恐れがあるため、意図して公開していない場合は機能を無効化することを推奨します。

【フィールド名サジェスト機能の設定不備】
GraphQLにはフィールド名サジェスト機能も存在します。この機能は、GraphQLクエリ内で誤ったフィールド名を指定した場合に、適切なフィールド名を提案してくれる機能であり、大体のGraphQLライブラリではサポートされています。この機能が有効になっていると、先述のイントロスペクション機能と同じく、攻撃に必要な情報収集に悪用される恐れがあるため、機能を無効化することを推奨します。

一般的な脆弱性に対する検査はもちろん、この2つの脆弱性はVex10.5.0.0以上のバージョンで検査が可能です。今後はその他のGraphQL特有の脆弱性についても対応を進めていく予定です。

Vexユーザ様事例 : TIS株式会社様

ユーザ様事例紹介では、Vex導入のきっかけやその後の運用事例について、Webアプリ診断や内製化支援サービスの一部メニューにてVexをご利用いただいているTIS株式会社様にご登壇いただきました。

今回のユーザ企業様は、Vexの評価ポイントとして次の3つを挙げてくださいました。

  • GUI操作が直感的にわかりやすい
  • サポートの品質が良い
  • 定期的にシグネチャ更新がある

以前は海外製のツールを利用しており、操作性や使い勝手の悪さや、サポートの品質に課題を感じていたそうです。Vex導入後は操作性・品質ともに向上したため、「日本人が日本のシステムを診断するために作った診断ツールの使いやすさを実感することができた」というご感想をいただきました。

img04続いて、新規要員を育成するための独自プログラムのお話も伺いました。今回のユーザ企業様は、Vexと自社で用意した脆弱性を含んだサンプルサイトを活用して、以下の4つのサイクルを繰り返し行うことで、新規要員が独り立ちできるまでフォローアップを行われていました。

①    学習 ── Webアプリの仕組みについて理解する
②    操作 ── Vexの基本動作について理解する
③    診断 ── Vexを用いて検査する一連の流れを理解する
④    精査 ── 検出結果に対する精査方法について理解する

また、Vexに対するご要望も伺いました。シナリオマップの操作性に関してや、複数の検査結果に対する同時操作についてのご要望をいただき、耳が痛い部分も多かったですが、ユーザ様から直接ご要望をいただけるのは大変ありがたいと感じました。

最後は、高品質な診断サービスが提供できることと、常日頃のサポート対応について感謝の言葉をいただくことができました。私はユーザ企業様のお話を伺い、これからも多くのユーザ様にVexをご愛顧いただけるように、機能開発やサービスの提供を続けていこうと思いました!

今回のユーザ企業様は、Vexをうまく運用する方法が確立しておりましたが、自社だけでは運用の確立が難しい…と感じる方も少なくないと思います。ユービーセキュアでは、ツール導入前のコンサル、運用やマニュアル策定はもちろん、ツールのハンズオントレーニングや育成環境の提供など、導入前後の課題解決のサポートをしております。また、オンラインセミナーや動画コンテンツも提供しているので、お悩みの際はお気軽にお問合せください。

感想

img05今回オフライン会場では、カンファレンス後にユーザ様と弊社社員による懇親会も実施しました。懇親会では、おいしい料理や飲み物を頂きながら、様々なユーザ様と直接お話をすることができました。私は今まで開発チームしか経験しておらず、ユーザ様がどのような機能やシグネチャを求めているのかを直接ヒヤリングできる機会が多くなかったため、とても貴重な体験となりました!また、多くのユーザ様が「今までたくさん問い合わせや要望をしたり、時にはキツイ言葉を言ったりしたが、ユービーセキュアのメンバーは毎回真摯に受け止め、対応してくれる。今後も関係を続けていきたい。」と仰っており、お客様との信頼関係を強く感じました。

最後までお読みいただきありがとうございます。ユービーセキュア一同は、引き続きユーザ様と一体になって、Vexファミリーをよりよい製品にしていけるように努めてまいります。また、この記事を読んでくださっているあなたが、もしまだVexファミリーのユーザではない場合は、ユーザとなっていただける日を心よりお待ちしております。

 

Webアプリの脆弱性検査ツール「Vex」

新規CTA

セキュリティ課題の分析を無料でサポート!「無料相談会」実施中

セキュリティ課題の分析を無料でサポート!「無料相談会」実施中