AIとRPAを活用したセキュリティテストツール
ここで関根氏は画面を切り替え、AeyeScanを実際に動かし始めた。WebアプリケーションのトップページのURLだけを指定して、テスト開始のボタンを押しただけでAeyeScanは動き始めた。関根氏はAeyeScanについて、「クラウド上に立ち上げたブラウザをAIとRPAの技術を使ってセキュリティテストを自動で実行していく」と説明する。
AeyeScanは動き始めるとまず、Webサイトのページ遷移図を作り始める。テストするページはAeyeScanが自分で探してくれる。テストするページのURLをいちいち列挙する必要はないのだ。さらに、郵便番号、住所、氏名、電話番号などの入力フィールドが現れても、AeyeScanは自動で適切な文字列を入力して先に進めてくれる。従来であれば、人間が一つひとつ入力フィールドに入力していかなければならないところだ。
フィールドへの自動入力の部分ではAIの技術を使っているという。日本のさまざまなWebサイトを機械学習させて、どういう入力フィールドには何を入力するべきかを自動で判断させて、自動入力させているのだ。Webサイトを対象としたセキュリティテストには時間がかかるものだが、AeyeScanはテストの進行状況をSlackやMicrosoft Teamsなどのチャットアプリに流すことができるので、チーム全体でテストの進行状況を共有できる。
テスト結果は、分かりやすいGUI画面で表示してくれる。問題が起こった場所では、その証拠となるスクリーンショットを記録するなど、一目見て分かるということに重点を置いているが、一方で脆弱性があった部分のパラメーター情報や、HTTPのリクエストレスポンスなど通信のログ、詳細で技術的な情報も提示してくれるので、開発者は脆弱性修正に向けた作業に取りかかりやすい。
また、テスト結果はドキュメント形式でも出力できる。顧客や経営層への説明に使うには、文書になっている方が都合が良いことも多い。その文書を自動で作成してくれればデベロッパーとしては時間を節約できる。
さらに、AeyeScanはWeb APIも備えている。これを利用すれば定期的にテストを自動実行させることも可能になる。すでにAeyeScanを使っている企業では、毎週決まった曜日にテストを実行することが多いという。また、GitHub ActionsやCircleCIなどを利用して定期的にテストを実行させて、見つかった脆弱性をGiHubなどのソースコード管理システムに課題として登録させるということも可能だという。
すべて自動で実行するだけでなく、手動テストにもAeyeScanは対応している。ピンポイントで「この画面だけテストしたい」といった要望に応える機能だ。これにはWebブラウザのプラグインを利用しており、ユーザーが操作したところをたどってテストを進めていく。
これだけ便利に使えそうなツールとなると、利用価格が気になるところだが、関根氏は「外部業者にテストを委託するよりもずっと安く上がる」と答えた。また外部にテストを委託すると、テストを実施する回数はおのずと少なくなっていく。DevOpsの速い流れに比べると、セキュリティだけが置いていかれてしまうわけだ。
そこでAeyeScanのような自動化ツールを導入すれば、手間をかけずに頻繁にテストができ、DevSecOpsの理想に近づくことができる。関根氏は「開発チームが小さいうちは、兼任担当者が片手間でセキュリティテストをしていても何とかなるかもしれないが、チームが大きくなってきたら自分たちの手でテストをすることが現実的でなくなっていく」と指摘し、早めにセキュリティテストの自動化に投資するよう呼びかけた。