アプリケーション・セキュリティ・プロセスの自動化でソフトウェア開発の高速化と高度なセキュリティを両立する

INDEX

脆弱性テストツールを活用した開発時間の短縮が主流に

現在のソフトウェア開発環境において、大きく2つの流れがあります。1つはセキュリティ要件が日増しに高まっていることです。システム構築側とユーザー側の双方で、より厳しくなるセキュリティ要件への対応が求められています。

もう1つは市場ニーズの変化が激しく、製品やシステムを取り巻くソフトウェアの開発期間短縮が求められていることです。それに対応するため、短い期間で開発できる単位での開発を繰り返すAgile(アジャイル)や、開発部門と運用部門が連携して開発を進めるDevOps(デブオプス)などの手法の導入も進んでいます。DevOpsの開発速度を犠牲にすることなくセキュリティを担保するDevSecOps(デブセックオプス)といった考え方も広まりつつあります。

ウォーターフォール型の開発では、品質管理部門によるセキュリティのチェックは、多くの場合、ソフトウェアが出来上がってから実施されていました。このやり方を、AgileやDevOps導入後も続けると、開発の足を引っ張る要因になります。短いサイクルで開発したものを、従来通り最後にチェックするのか、開発途中からセキュリティを作り込み完成度を高めていくのか、どちらか選ぶ必要があるでしょう。

column_application-security_1

開発期間短縮のためには、開発の初期段階(上流)からセキュリティの作り込みとそのテストプロセスを取り込んで、開発していくことが重要だと考えます。これは「シフトレフト」という考え方の一つで、上流の段階からセキュリティの専門家を交えてソフトウェアを開発していくことで、下流(後工程)からの大きな手戻りを防止することが可能になります。実際に取り入れることは、なかなか容易ではありませんが、考え方は広まっています。

特に組み込み系ソフトウェア開発では、人命に関わる車載機器や医療機器などの分野で、セキュリティの担保が重要です。セキュリティの問題を見つけ出すために、脆弱性テストは欠かせません。かつては人手で行っていましたが、最近では脆弱性テストツールを使って、高い精度のテストを行い、開発時間を短縮するようになっています。

複数ツールのテスト結果を自動的に統合、整理する「Code Dx」

以前から北米・欧州では、脆弱性テストツールを複数使って、セキュリティの問題を修正するというやり方が行われていました。ただし、ツールベンダーが異なれば、テスト内容や結果の確認方法もまちまちです。そうした複数のテスト結果を人手で整理、分析するのはとても手間がかかります。

例えばAというツールは、そのツール内でしかテスト結果が見られません。当然、Bツール、Cツールも同様です。それらを集約しようと、表計算ソフトに取り込んで、一覧化して見たり、フィルターをかけたりして、分析していました。そうした現場作業の煩雑さをなくすために、複数のテストツールの結果を統合、整理するよう開発されたのが「Code Dx」です。

Code Dxはアプリケーション・セキュリティ、脆弱性管理の統合プラットフォームとして、複数のセキュリティテストツールの結果を一元管理します。一定のルールにより、結果の整理・統合や対策の優先度付けを自動的に実行可能です。従来は労働集約的な作業でしたが、Code Dxを利用することにより大幅な省力化や時間短縮が可能なのです。

日本では、特定の担当者が特定ツールだけを使って、手間を掛けて丁寧にチェックすることが行われてきました。一方で、複数の脆弱性テストツールを使っていても、表計算ソフトなどに手入力でまとめていればよい方で、それぞれのテスト結果を集約していないケースも散見されます。それほど大きくないソフトウェアでも脆弱性テストにかけると、数千、数万という脆弱性が見つかります。それを人海戦術だけで対応しようとすると、短くても数週間はかかってしまい、AgileやDevOpsの開発のスピードに全く追いつきません。

脆弱性テストツールの結果を、表計算ソフトでマクロを組んだり、自前で開発したツールで管理している場合でも、担当者が退職したりすると、メンテナンスできなくなってしまうリスクがあります。そうした属人化を避け、商用ツールを使おうとする流れが生まれているのではないでしょうか。

100種類以上のツールをサポートし、顧客の開発環境と連携

特に注目されているのが、安全性を最優先する自動車製造や、ネットワークに接続し、サイバーセキュリティが大きな要件となる医療機器、同様の要件が課されるIoT機器などのソフトウェア開発です。1つのツールだけでは脆弱性を完全に検出しきれないため、複数のツールやテスト手法が使われますが、その結果を人手で短時間でまとめるのは非常に困難です。

こうした問題の解決にはCode Dxが大きな力を発揮します。Code Dxは目的や実装が異なる複数のアプリケーションセキュリティ・ツールの結果を関連付けし、1つの統合された結果セットに集約します。利用企業の環境で使用中のソフトウェア開発ツールや課題管理ツールとの連携も可能です。

課題管理システムと連携することで、開発者とセキュリティ担当者の間でリスク対策の追跡がスムーズになります。こうして、セキュリティリスクの低減を高速化し、AgileやDevOpsの開発スピードに追随するわけです。

現在、Code Dxは100種類以上の脆弱性診断ツールをサポート。国内で広く利用されている未サポートツールも、開発元のシノプシスにサポートを要請するとともに、丸紅情報システムズで変換ツールを用意します。加えて、顧客企業独自の社内ルールにも対応できるようなカスタマイズも可能です。Code Dxを利用することで、企業は国際標準に合ったソフトウェアを、市場ニーズに適応したスピードで開発できるようになるでしょう。

この記事は参考になりましたか?
はい
いいえ
ご協力いただき、ありがとうございました。
落井裕治
丸紅情報システムズ データソリューション営業部
※所属・職名等は記事公開当時のものです。(敬称略)
昨今のソフトウェア開発環境では、アプリケーション・セキュリティの向上と開発スピードの迅速化が求められています。その両立には、ソフトウェア開発ライフサイクル全体を通したアプリケーション・セキュリティ・プロセスの自動化で、DevSecOps(デブセックオプス)の実現が重要です。そのために、様々な脆弱性診断ツールによるテスト結果から、どのようにしてリスクを可視化し、全体像を把握するのか。昨今の動向と対応ソリューションについて、データソリューション営業部 コンサルタントの落井裕治が解説します。
INDEX