「現在のソフトウェア開発におけるセキュリティや品質に対する意識は、30年前の電子設計の世界と似ている」。半導体などの電子設計(EDA)大手ベンダー米Synopsysで、ソフトウェア インテグリティ グループのジェネラルマネージャーを務めるAndreas Kuehlmann氏は、ソフトウェア開発の現状をこう指摘する。
米Synopsys ソフトウェア インテグリティ グループ ジェネラルマネージャーのAndreas Kuehlmann氏
ソフトウェア インテグリティ グループは、2014年のSynopsysによるソフトウェア解析ツールベンダーCoverityの買収に伴って創設された。Kuehlmann氏は、CoverityやCadence Research Laboratories、IBMなどで長年にわたってシステムやソフトウェアの検証技術の研究開発に携わった。IBM時代は、同氏の機能的等価性検証に関する研究がIBMのプロセッサ開発にも大きく貢献したという。
同氏によれば、ソフトウェア開発を取り巻く状況は、モノのインターネット(IoT)やクラウド、モバイルなどの広がりからアジャイルやDevOps、継続的なインテグレーション/デリバリーといった“高速性”や“俊敏性”などが求められる一方、開発言語やツールの多様化、オープンソース依存の高まりといった複雑性が増しており、ソフトウェアの品質やセキュリティをどう確保するかが大きなテーマとなっている。
1986年に設立されたSynopsysのツールは、EDA分野ではデファクトスタンダードの存在として知られ、エレクトロニクス製品の設計開発における品質の向上に大きな影響をもたらしてきた。従来のITとエレクトロニクスは、隣接分野ながら互いに異なる世界ととらえられてきた。昨今ではIoT化の進展も相まって両分野の融合が進みつつある。
ソフトウェア インテグリティ グループは、Coverityを皮切りとして、2017年11月に買収したオープンソースソフトウェア(OSS)管理ソリューションを手掛けるBlack Duckまで4年間に9社を買収し、ソフトウェア インテグリティ グループのポートフォリオを拡充させた。現在ではソフトウェアの静的・動的解析、セキュリティテスト、ライセンス管理、プロフェッショナル/マネージドサービス、トレーニングなど広範なソリューションを提供し、4000社以上の顧客を抱える。
かつてチップの設計開発を手掛けていたというKuehlmann氏は、「1980年代のチップ開発は非常に未成熟であり、この30年は設計プロセスを確立していく歴史だった」と振り返る。特に課題だったのは、設計開発における生産性の向上とセキュリティを含めた品質の確保の両立であり、これはITのソフトウェア開発にとっても同様だろう。
加えて、上述の環境変化からソフトウェアの脆弱性が時に、社会的な影響をもたらしかねないセキュリティ問題を引き起こすケースも目立つ。例えば、2014年に発覚した「Heartbleed」と呼ばれるOpenSSLの脆弱性は、インターネットサービスに対する信頼の根幹を揺るがしかねないとして世界的な話題を集めた。近年でもApache Strutsの脆弱性を突く不正アクセスなどが原因で情報が流出する事故が続く。SynopsysがBlack Duckを買収した狙いは、こうしたOSSに関するセキュリティソリューションを自社のポートフォリオに加えるためという。
ソフトウェア インテグリティ グループを率いるKuehlmann氏にとってその目標は、ソフトウェアの開発段階からセキュリティや品質を確保していく“文化”を醸成することにある。
ITでも、例えば、PCが世に広がり始めた30年近く昔はトラブルが頻発し、ユーザーによる再起動やOSの再インストールといった対応が当たり前だった。ITの重要性が高まるにつれてそうした機会は減りつつあるが、現在でもそうしたことが皆無になったとは言いづらい。
「もちろんこれまでのプロセスを一夜にして変えられるわけではないが、例えば、トヨタが長い年月をかけてテストとフィードバックに基づくプロセス改善を続けたことが自動車の安全や品質を高めたように、現在のITはその目標を実現していく大きな転換点にある」(Kuehlmann氏)
従来のITセキュリティは、どちらかといえば、製品が使われ始めた“後”に発生する問題や被害に備えたり、対応したりしていくアプローチが主流だった。しかし、サイバー攻撃などの脅威への懸念や、ウォーターフォールからアジャイルへといったソフトウェア開発の変化を受けて、最近ではDevOpsに“Security”を加えた「DevSecOps」という概念も提唱されるなど、製品が使われる“前”から安全性を確保していくアプローチの重要性も認識され始めた。
Kuehlmann氏は、「もちろんセキュリティや品質のためのプロセスが加わることによって、効率性や生産性が低下してしまってはいけない」と話し、同社のソリューションやノウハウの提供を通じて「開発プロセスをより良いものにしていく支援から取り組みたい」と述べている。