VAddyの仕組み

VAddyの検査の流れを説明した図

VAddyはDynamic Security Application Testing(DAST)を採用しています。
お客様のテスト環境のWebサーバに対してHTTPリクエストを実際に送信し、受け取ったレスポンスデータを検証して脆弱性の有無を判断しています。
サーバのOS、ミドルウェア、開発言語に関わらず検査できます。

検査項目

  • SQLインジェクション
  • クロスサイトスクリプティング(XSS)
  • リモートファイルインクルージョン
  • コマンドインジェクション
  • ディレクトリトラバーサル
検査項目は5種類です(※スタータープランは2種類)
検査回数は無制限で、1日に何度でも実行できます。
※Dom based XSSの検査は将来対応予定です。

検査できる環境、アプリケーション

VAddyの検査例

例えば、検査したいURLが下記の場合

http://example.com/search.php?keyword1=foo&keyword2=bar

keyword1のデータ foo を検査用のデータに差し替えて検査対象サーバに送ります。
そのレスポンスの状況を確認して、脆弱性の有無を判定します。

http://example.com/search.php?keyword1=foo&keyword2=ba
http://example.com/search.php?keyword1=foo<script>vaddy</script>&keyword2=bar
...

keyword1 の検査が完了した後に、同じようにkeyword2に対しても検査を実行します。

開発現場に浸透するセキュリティテストツール

セキュリティエンジニアでなくても使える操作性を追求。
簡単な設定で手軽に正確な検査を自動で行えるVAddy

VAddyは開発者、テスター、発注者など、セキュリティエンジニア以外の方々にも利用してもらえるようユーザフレンドリーに力を入れています。
人工知能の技術を利用したVAddyは、検査前の複雑な設定を無くしアプリケーションの動きを自動で把握します。例えば、ログインセッションやフォームのCSRF対策トークンなどの有効期限が検査中に切れてしまった場合は、自動的に再ログインしたり、トークンを再取得します。
これらを、お客様側で細かな設定をしなくても手軽に正確な検査を自動で行えることがVAddyの特徴です。

レポート

VAddyが脆弱性を発見するとメールで通知します。管理画面上で問題点の確認ができます。

VAddyのスクリーンショット:脆弱性一覧

発見した脆弱性一覧

脆弱性があったURL、パラメータ名、脆弱性の種別が表示されます。

VAddyのスクリーンショット:リクエストデータを参照してる様子

リクエストデータ

脆弱性を発見した際に送信した検査リクエストのデータが参照できます。お手元で問題の再現をする際に便利です。

VAddyのスクリーンショット:レスポンスデータの表示

レスポンスデータ

脆弱性を発見した際に受信したレスポンスデータが参照できます。どのようなエラーだったのか、XSSの場合はhtmlのどの箇所がエスケープされていなかったのか確認できます。

VAddyのスクリーンショット:全体の検査レポート

全体の検査レポート

脆弱性の発見の有無に関わらず、どのURLに検査したのか、問題があったURLはどこかをレポートで一覧表示します。全体の把握や、上長への報告などにご利用に便利です。

自動化で意識せずにセキュリティレベルを保つ

VAddyではWebAPIと、WebAPIを操作するコマンドラインツールを提供しています。
これにより検査実行や結果の確認の自動化が簡単にできます。

例えば、cronを使って1日1回の定期実行や、CI(継続的インテグレーション)ツールを使ってリリース前に必ず検査を実行する、などが簡単に実現できます。自動化を一度設定してしまえば、普段は意識せずに一定のセキュリティレベルを保てます。

関連記事:VAddyのWeb脆弱性検査を定期的に実行して結果をSlack通知

チームで使える

VAddyは管理権限、検査実施権限、参照権限といった権限を、VAddy契約者や開発協力会社、納品先企業にそれぞれ個別に付与することが可能です

検査の実行や検査結果の参照を複数のアカウントで共有できます。
アカウント毎に、検査結果の参照のみ、検査の実施可能といった権限を付与できます。
チームメンバーは、組織や会社を超えて権限付与できます。

  • 開発している協力会社の方に検査結果の参照のみの権限を付与して、脆弱性の修正をしてもらう
  • 納品先の企業の方に検査の実施を確認してもらう

というような柔軟な情報の共有が可能です。

VAddyの思想

ユーザーフレンドリー✕高速✕自動化

セキュリティ製品の多くはセキュリティエンジニア向け

セキュリティ製品において、ユーザフレンドリー・速さ・価格と、検査の範囲や深さは、トレードオフの関係です。多くのセキュリティ製品はセキュリティエンジニア向けに設計されており、検査の範囲や項目数を競うように増やしています。それに伴って検査時間も増え、ツールの検査完了までに1日や2日かかる現場も多々あります。またリスクの大小様々な検査レポートが上がり、開発現場ではどこまで修正するのか現場で判断しなければいけません。

VAddyと他社セキュリティエンジニア向けの比較した図です。他社セキュリティエンジニア向け商品は設定項目が多く難しく、VAddyは設定項目が少なく使いやすい商品であることを示してます

セキュリティエンジニアがいない多くの現場で使われるレベルに

VAddyは、開発現場に浸透するセキュリティツールを目指し、従来の製品とは異なる視点・思想で開発しています。
セキュリティエンジニアがいない多くの現場でも、使い続けられる製品として設計しています。

私たちは、セキュリティテストにおいて人が判断している中で機械化できるところを機械化して設定を無くし、誰でも使えるレベルを目指しました。
検査は、自動化や頻繁にリリースされる環境を想定して、検査の速度を上げ、すぐに検査が終わるように検査項目を5つに絞っています。リクスが低いもの・あまり攻撃されないパターンの検査項目を減らし、日々の検査で必ず検査すべきリスクの高い検査項目に限定しています。

これによりVAddyの検査は平均12分以内には終わり、問題を発見した場合も必ず修正すべき項目のみのため、現場での修正の有無の判断が不要になりました。

今まで脆弱性診断ができなかった多くの開発現場で喜ばれ、安全なアプリケーションがあたりまえの世の中を作りたい、VAddyは開発現場に寄り添う製品です。