Webアプリケーション開発におけるセキュリティプラットフォームを提供するContrast Security Japanは10月19日、開発・品質管理・運用・セキュリティチームが一体となった開発体制であるDevSecOpsの国内動向とともに、DevSecOps推進するうえでのエージェント方式のツールの利点を紹介する記者向け勉強会を開催した。
Webアプリケーション開発においてスピードが重視される中、開発部門ではアジャイルやDevOpsが広がっている。一方、クラウドネイティブの技術や開発思想が取り入れられ、それらに準ずるセキュリティ対応も課題となる中では、開発・品質管理・運用が一体となったDevOpsに、セキュリティチームを統合したDevSecOpsの必要性が高まっている。
調査で見えてきた、短期開発・短期リリースへの期待
しかし、開発現場では短期リリースへの期待は増すばかりだという。同社グループのContrast研究所が、CIO、CTO、DevOpsの担当者やアジャイル開発チームのリーダーなど450人に行った調査によれば、「以前より短期リリースへの期待が増えたか?」という質問に対して、79%が同意または強く同意と回答した。
Contrast Security Japan セールスエンジニアの梶原史雄氏は、「週当たりのリリース数については、80%が複数回のリリースを行っており、CIO、CTO、CISOの90%が『さらなるリリースペースの加速が必要』と回答している。短期開発・短期リリースに拍車がかかることが予想される中、セキュリティ対応を十分な水準に保つためにはDevSecOpsへの移行を進める必要があるだろう」と説明した。
また、梶原氏は同調査結果を示しながら、外部からWebアプリケーションに対して通信を行い脆弱性を検出するツールであるDAST (Dynamic Application Security Testing) や、ソースコードを解析して脆弱性を検出するSAST (Static Application Security Testing)といった、既存の検査ツールを使った脆弱性の発見と修正には多くの時間がかかるため、リリースを優先するあまり脆弱性が放置されかねない点を指摘した。
「脆弱性の修正にかける時間の中央値は5時間以上、脆弱性検出から修正までの日数の中央値は100日以上だった。開発担当者に、『リリースに間に合わせるために脆弱性検出をスキップするか?』と聞いたところ、『頻繁に』が18%、『たまに』が37%、『まれに』が19%たったのに対して、『絶対ない』は16%に過ぎなかった。試験パターンで網羅できない脆弱性を検出できないDASTや、動作を想定しないため過検出が多いSASTだけでは、セキュリティが置き去りになると理解している」(梶原氏)
検査時間を短縮し、コード内の脆弱性の兆候を見つける
Contrast Security Japanは、Webアプリケーション開発の現状を踏まえ、DevSecOpsの実現にIAST、SCA、RASPといったエージェント方式のツールの活用を提案する。
エージェント方式のツールの利点は、Webアプリの内側に組み込むため脆弱性の検査実施にあたって別途スキャンをする必要がなく、脆弱性チェックの時間短縮を図れる点だ。
DASTやSASTを使用する場合、シナリオを組んで、セキュリティ担当者がスキャンを行い、その結果を開発者に渡して修正を進める。だが、DASTは見逃しが多いうえ、脆弱性を見つけたときにコードのどの部分を修正すればいいかわからないという課題がある。
梶原氏は、「例えば、当社が提供するIAST、SCA、RASPであれば、どのクラスメソッドの間を通ってきたかというスタックトレースで脆弱性を見つけ、コード内の脆弱性の兆候を見つけることができる。SASTを使用している場合、一般的に脆弱性を見つけてから修正するまでの期間は121日と言われているが 当社のIASTのユーザーは平均で7日で修正まで完了している」と明かす。
国内ではウォーターフォール開発でテスト採用が進む
他方で、Contrast Security Japan カントリーマネージャーの田中一成氏は、「エージェント型ツールを導入すればDevSecOpsが実現できるわけではない」と前置き、必要なツール群を活用するための組織や開発プロセスの変更を重要性を指摘した。
同社では、国内20社のDevSecOps支援に関わっているが、どの企業も将来のDevSecOpsへの本格的移行に向けて、現在テスト的にウォーターフォール開発でエージェント型ツールを採用しているのが現状だという。
田中氏は最後に、「本格導入にあたっては優秀な人材の獲得が不可欠だが、そのためには経営陣によるアジャイルやDevSecOpsへの理解が求められる」と語った。