静的検査ツールの弱点だった過剰検知を、機械学習で補正する――テクマトリックス@ITソフトウェア品質向上セミナー

@ITは2018年12月14日、「@IT ソフトウェア品質向上セミナー」を開催した。本稿ではテクマトリックスの講演「ソースコード診断で手戻りを防ぎ、開発スピードを早めるためのヒント〜開発ツールとの連携による脆弱性診断の早期発見と自動化〜」の模様をお届けする。

» 2019年02月05日 11時15分 公開
[高橋睦美@IT]
テクマトリックス ネットワークセキュリティ事業部 セキュリティ研究所 シニア・セキュリティアナリスト 酒井喜彦氏

 @ITは2018年12月14日、「@IT ソフトウェア品質向上セミナー」を開催した。本稿ではテクマトリックスの講演「ソースコード診断で手戻りを防ぎ、開発スピードを早めるためのヒント〜開発ツールとの連携による脆弱性診断の早期発見と自動化〜」の模様をお届けする。

 アプリケーション開発には素早いリリースだけではなく、セキュリティも含めた品質、そしてリリース後に発覚した新たな脆弱(ぜいじゃく)性への対応といった事柄が要求される。この結果、現場ではアジャイル開発によって高速にソフトウェアをリリースしつつ、高い品質を保つため「セキュアデベロップメントという考え方を取り入れなければならない」と、テクマトリックス ネットワークセキュリティ事業部 セキュリティ研究所 シニア・セキュリティアナリストの酒井喜彦氏は述べる。

 その流れで注目を集めるキーワードが「シフトレフト」だ。設計段階で脆弱性に対応すればコストは1で済むのに対し、テスト段階では15倍に、デプロイ後に修正する場合は100倍以上に跳ね上がり、非常に非効率だ。シフトレフトはこの問題を改善するため、テストフェーズに集約されがちなセキュリティ検査を、設計やコーディングといった前の各工程でしっかり実施していこうというコンセプトだ。

 だが、シフトレフトは決して新しい言葉ではないのに、広く浸透しているとは言い難い。酒井氏はその理由を「セキュリティは自分の仕事ではなく『人ごと』になりがちだから。そしてもう一つ、『セキュリティ』というと、とかく難しく感じられてしまうからだ」と言う。

 この課題を解消するには、早い段階でアプリケーションにどんな脆弱性があるのか、安全かどうかを確認することが必須だ。しかも、それを人手に頼るのではなく開発の各工程で自動化し、「たとえ開発者が当事者意識を持たなくても、普段の仕事をしている中でテストされるような形で、今までのスキームをなるべく変えずにそのまま診断を組み込むことが必要だ」とした。

 テクマトリックスでは、そんな環境作りを支援するために、ソースコードの問題点を検査するツール「IBM Security AppScan」を提供している。これまで検査ツールの弱点だった過剰検知を、機械学習を使ったIBMの自動精査技術「Intelligent Findings Analytics」で補正することが特徴だ。

Intelligent Findings Analyticsの機能(出典:テクマトリックス)

 「これまで一番手間のかかったアラート精査の部分を機械学習に委ねることで、どんな人でも使える形にしようとしている」(酒井氏)

 JenkinsなどのCI(継続的インテグレーション)ツールとも連携できるため、セキュリティテストを通常のテストと同じように繰り返し実施できることも特徴だ。酒井氏は「こうしたツールを活用して作業を自動化し、前倒しする形でより安全なソフトウェアを作ってほしい」とした。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。