セキュリティテストを自動化し高精度な問題発見と迅速対応が可能に
そんなSeekerは「セキュリティテストの自動化」を実現するため、以下の3つの特徴を備えている。
(1)開発者のストレスにならない正確さ、誤検知率5%を実現
開発者にとって一番の悩みの種は、せっかくセキュリティテストのツールを導入しても、誤検知が多くて品質の改善につながらないことだった。これまでも「SASTとDASTのギャップを埋め、CI/CD連携を実現」をうたうツールは存在したが、誤検知が非常に多く、発見された課題の半分以上が誤検知というレベルだったからだ。その点、Seekerは誤検知率がわずか5%と、極めて高い精度を誇っている。
IASTの特徴として、アプリケーションの中にエージェントが入れられていて、いわばデバッガの役割を果たしている。アプリケーションにhttpリクエストが投げられて、処理結果を返す際に問題点を検知するのだが、既存のツールはこの精度が低く誤検知が多発。「本当か間違いかわからない」ことが、修正を行う開発者のストレスになっていた。
「これを解決したのが、当社独自の技術です。Seekerのエージェントは一度検知した結果があやしいと判断すると、内部で処理を再度実行して、それが真の脆弱性であるかを確認します。この技術の搭載によって、誤検知率わずか5%という飛躍的な精度の向上を実現できました」(吉井氏)
(2)特別な環境の準備は不要、開発者は機能テストを実行するだけ
Seekerでは、開発環境と別にテスト用環境を用意する必要はまったくない。通常のアプリケーションのテスト環境にSeekerをデプロイし、Seekerのエージェントをアプリケーションに組み込むことによって、機能テストのバックグラウンドでセキュリティテストを実行する仕組みだ。機能テストの結果はJiraに出力され、脆弱性があれば開発者に通知される。
(3)開発者が対応可能な情報を提供、脆弱性のある行数まで特定できる
もし脆弱性が発見された場合、開発者が脆弱性を特定するための詳細なレポートをSeekerが提供する。ここには「ファイル名」「メソッド」「行番号」といった具体的なレベルでコードの中の脆弱性が存在する箇所が示されているので、開発者はレポートを受け取ってすぐに修正対応に取りかかれる。
Seekerが最適の修正方法を提案e-ラーニング情報なども網羅
セッションの後半では、吉井氏がSeekerの機能をデモで詳細に紹介。脆弱性学習用のアプリケーションとして知られる「WebGoat」にSeekerエージェントを組み込み、ログイン処理をするだけで、瞬時に複数の脆弱性が指摘された。この他にもSQLインジェクションの検知など、典型的かつ重要な脆弱性を特定するデモがいくつも披露されると、参加者は一様に見入っていた。
「やはり開発者にとって一番大きなメリットは、問題点がコードの具体的な『場所』として示される点です。セキュリティの専門家の指示を待たずに、すぐに対応できるので開発やテストのフローを止める必要がありません」(吉井氏)
また自分で判断しかねる場合も、Seekerの「Remediation(修復)」機能が最適の修正方法を提示してくれるうえ、関連する技術が学べるeラーニングの情報まで提供してくれるという。
クロスサイトスクリプティングやSQLインジェクションなどは、開発者がコーディングの際に注意すべき脆弱性として、すぐに見つけて修正しておきたい。Seekerなら、従来のようにセキュリティ専門家にしかわからない難解な解析の形ではなく、開発者が簡単に理解し修正できる形で、的確にフィードバックしてくれる。DevOpsのプロセスにセキュリティを組み込み、DevSecOpsを実現するのにうってつけのツールだろう。
最後に吉井氏は、「アジャイルやスクラムなど、短い周期で開発を行って、機能テストの際にセキュリティも固めておきたい場合などに、ぜひ活用してセキュアなアプリケーションをリリースしていただければと思います」と語り、セッションを終えた。
お問い合わせ
日本シノプシス合同会社