広く使われているソフトウエアに脆弱性が見つかる事例が相次ぎ、ソフトウエアのセキュリティに大きな関心が集まってる。ソフトウエアを開発する際にはセキュリティにどう取り組むべきなのか。OpenSSLの脆弱性である「Heartbleed」を発見したことで有名なフィンランドCodenomicon社(2015年にSynopsys社が買収)の元CEOであり、現在はSynopsys社でソフトウエアセキュリティ関連製品の責任者を務めるDavid Chartier氏(写真)に聞いた。同社はセキュリティ関連製品として、静的解析ツール「Coverity Code Advisor」、自動テストツール「Seeker」、ソフトウエアの既知の脆弱性を調べる「AppChek」、未知の脆弱性を発見する「Defensics」などを提供している。

(聞き手は大森 敏行=日経ソフトウエア


セキュリティを取り巻く環境はどのように変わってきているのか?

[画像のクリックで拡大表示]

 モバイルの普及やクラウド、IoT(Internet of Things)の登場により、コンピューティング環境自体が以前とは大きく変化している。このため、従来のセキュリティ対策がうまくいかなくなり、そうした対策を攻撃者がいとも簡単にすり抜けられるようになっている。運が良ければ、ウイルス対策ソフトでも50~60%程度の攻撃は阻止できるかもしれない。しかし、そうした対策だけに投資を行うのは効率が悪い。

 重要なのは、ソフトウエア開発者が高いセキュリティを持つソフトウエアを開発することだ。こうした考え方が広がるためには、ソフトウエアの買い手側がセキュリティを要件として開発側に伝えていかなければならない。

ソフトウエア開発時にセキュリティを確保するためにツールを導入するとコストがかかる。その点に抵抗があるソフトウエア開発企業もあるのではないか。

 実際には、当社の顧客企業は、開発コストを削減するためにセキュリティ関連のツールを導入している。ソフトウエア開発の早い段階で問題を見つければ、開発の後半や出荷後に問題が見つかるのと比較して、修正コストが10分の1程度で済む。

 修正コストだけの話ではない。製品に問題があったためにユーザーがハッキング被害に遭ったとすると、ユーザーのブランドイメージが毀損してしまうかもしれない。そうなれば、そうしたソフトウエアを開発した企業の製品はもう買ってくれなくなるだろう。