自動車業界を動かすソフトウェアとセキュリティの重要性 by ゲイリー・マッグロウ(シノプシス)
メインフレームからコネクテッドカーへ
ゲイリー・マッグロウ
(シノプシス セキュリティ技術担当バイスプレジデント)
現代社会において、どれほどテクノロジーを否定しようとも、ソフトウェアを使わないようにすることは不可能です。ソフトウェアは、目には見えなくても、私たちが日常的に使うさまざまなものの一部として必要不可欠なものになっているからです。
現代の経済にとってソフトウェアは不可欠なものとなっていること、完璧なソフトウェアを構築するのは非常に難しいなどの理由から、ソフトウェアの不具合は、その信頼性、安全性、セキュリティ課題と切っても切れない関係になりました。
本記事では、信頼性と安全性はちょっと脇において、自動車業界におけるソフトウェアとセキュリティの関係に注目していきます。
自動車メーカーは、今か今かと待ち構える消費者のもとへと製造ラインから送りだす“まえ”に、できるかぎり安全でセキュアな車を作ろうとします。
自動車メーカーは、自動車のように複雑な人工物―いまや車輪のついたスマートフォンへとあっという間の進化を遂げようとしている―を設計するために、自身のソフトウェアおよび自動車開発に関わる全サプライヤーのソフトウェアがセキュアであることを確認しておくことが重要です。
現代の自動車を安全にするために金属学や衝突保護、シートベルト、素材科学に対して払ってきたのと同じくらいの注意を、ソフトウェアをセキュアにするためにも払っていく必要があります。
セキュアな設計が欠けていると何が起きるのか?
設計とは妥協の繰り返しです。自動車メーカーが自動車を設計する場合、タンク1つあたり平均Xキロ走るための燃料タンクの大きさを決めるのは設計上の判断になります。燃料タンクをレイアウトのどこに配置するかということも同様の判断です。
こうした判断のいくつかは試行錯誤の中で決定されますが、それはタイトなフィードバックループの中だけのことであり、しかも製造を開始するずっと前に結論を出しておかなくてはなりません。
ソフトウェアは燃料タンクと同様の「もの」であり、セキュリティはそうではないという考えです(セキュリティはシステムのプロパティなので)。そして、ソフトウェアのセキュリティならば対処の仕方を知っています。むしろ、設計段階で、かつ設計がコードに実装される時点で(燃料タンクと同様に)セキュリティを考慮する必要があることを知っていると言えます。
自動車メーカーには、長い間に培ったエンジニアリングの伝統というものがあります。ソフトウェアがこの伝統に食い込み、自動車設計にとって当たり前になればなるほど、同じ論理的な設計思考を取り入れなければならないのです。ソフトウェアはセキュアなものにすることができます。そのやり方もわかっています。ならば、そうすべきです。
ソフトウェアセキュリティの第一歩とは?
ソフトウェアセキュリティへの第一歩は、それを誰かの仕事にしてしまうことです。ソフトウェアセキュリティグループ(SSG)を構成し、そのグループの責任者としてきちんとした権威を持った役員を配置するのです。
このSSGのタスクとして、社内に強力なソフトウェアセキュリティイニシアティブを開発させます。
このSSGには、ファイアウォールに通じたネットワークエンジニアよりも、セキュリティに関する知識を持ったソフトウェア人材がいたほうがいいのは言うまでもありません。
組織がSSGを構成することは、測定ツールであるセキュリティ構築の成熟度モデル(BSIMM)を使用し、BSIMMコミュニティに参加するための必要最低ラインです。
開設から10年を迎えたBSIMMはいまや、ソフトウェアセキュリティとセキュリティ構築のデファクトスタンダードとなりました。
残念なことに、数多くの業界を代表する100を超えるメンバー企業がBSIMMに参加しているにもかかわらず、自動車業界からはまだ参加企業がありません。自動車業界は、ソフトウェアセキュリティを急速に前進させるためにもBSIMMを活用できますし、そうすべきです。
自動車にソフトウェアが搭載されるという概念がいまだに初期段階にあるからといって、業界が追いつくまでハッカーたちは手を出すのを待っていてはくれません。ますます接続性の高まるシステムのエコシステムにあっては、キーフォブ機能を持ったスマートフォンから、自動走行車両に仕込まれたファームウェア・ソフトウェアにいたるまで、不具合を起こしうるものには事欠きません。
ソフトウェアの不良によってシステム機能不全が起きたり、ハッカーが悪意を持って車両を操ったりすれば、笑い事ではすまされません。
このような理由から、ソフトウェアセキュリティおよび自動車に組み込まれるソフトウェアに関して、受け身でいてはいけないのです。SSGをスタート地点として、セキュリティエンジニアリング能力を評価し、自社で作る(あるいはサプライヤーから購入する)ソフトウェアの強みと弱みを把握して、ビジネスに力を与え、かつ顧客を守るソフトウェアのセキュリティを強化するための明快なロードマップを確立しましょう。