現在、自動車はWireless KeyやETC、GPSなど多くの通信で外部と繋がっており、Connected(コネクテッド)、Autonomous(自動運転)、Shared & Services(シェアリング&サービス)、Electric(電気自動車)のCASEを制す企業が2020年代以降の自動車業界を制す、と言われています。
このCASEに代表されるように、自動車に求められる機能は拡大しつつあります。これまで自動車メーカーは特定のハードに合わせてソフトウェアを開発してきたハード定義型自動車を開発してきましたが、現在、開発を効率化し、自動車産業の新たな発展に寄与するとして「ソフトウェア定義型自動車(SDV)」への転換を目指す自動車メーカーが増加しています。
従来、顧客が車に求めたのはハード面的観点である「外形・色・内装のデザイン」でした。それに追加して、近年求められているのはGPSによる地図表示と道の案内、センサーによる事故防止機能などドライバーを支援するソフト面的観点の機能にスイッチしてきています。これより、自動車メーカーは「各種センサー・カメラ・レーダー、距離計測デバイス」などの機能を付加することに主眼を置いたソフトウェア定義型自動車(SDV)の開発を進めています。
ハードウェアの標準化が加速している今、従来のハードウェア中心主義から付加価値を決定する要因と想定されるソフトウェア中心へと自動車の開発の軸がシフトしています。日本、海外に関わらず、自動車の進化がソフトウェアによって実現される世界が近づいています。
先述の通り、特定のハードウェアに合わせてソフトウェアを個別に開発してきた既存の自動車と異なり、開発したソフトを様々なハードウェア上で実行できるような自動車が注目を集めています。
具体的には、顧客に求められる機能を実現するため、コネクティビティユニット、インフォテインメントシステム、自動運転システムなどのより高度なシステムが開発されるのに伴い、多くのソフトウェアが使用されています。これらの増加するソフトウェアのニーズにこたえるため、オープンソースソフトウェア(OSS)をより多く採用し、開発されたシステムに統合する動きが増えてきています。
オープンソースソフトウェア(OSS)を使用する理由は以下の通りです。まず、通信スタックと暗号化ライブラリなど、すぐに利用できるコードで様々な機能を実現できるためです。次に、OSSの開発をサポートするための大規模なコミュニティが存在するためです。最後に、ライセンスの種類によって条件があるものの多くのコードが無償で使用できるためです。
自動車産業を対象としたOSSの一つ、AGL(Automotive Grade Linux)を紹介します。AGLは2018年発売のトヨタ自動車「カムリ」に採用されており、車載インフォテインメントシステムに焦点をあてています。その他にも、自動運転を実現するAutowareや機能安全を考慮したRTOS(リアルタイムOS)のZephyr Projectなど様々な自動車産業を対象としたOSSが知られています。
このように利益が多いため、自動車産業を対象としたOSSは多く使用されていますが、自動車産業でソフトウェア開発を行う際の課題もあります。
考慮すべき主な課題はライセンスコンプライアンスとセキュリティです。
まず、ライセンスコンプライアンスについて説明します。OSSにはライセンス条件が異なるさまざまなライセンスタイプがあり、ライセンスタイプによって、OSSコンポーネントを自由に使用できるかどうか、帰属告知が必要か否か、またはOSSコンポーネントを含むリリースされた製品に対しても同じライセンス条件でリリースする必要があるのかどうかが規定されています。法的な観点から、ソフトウェアを開発する組織は各ライセンスタイプで定義されたライセンス条件を順守することが重要であり、遵守できなければ、訴訟のリスクが発生しえます。
実際に、自動車の事例ではないが、スマートテレビやDVDプレーヤーなどに含まれるBusyBoxと呼ばれるGPLのUNIXユーティリティーの著作権を侵害したことによる、家電メーカー14社に対する訴訟が発生しました。このうち13社が和解し、残る1社は欠席裁判で敗訴し罰金の支払いを命じられています。
次に、OSSとセキュリティについて説明します。自動車に限らず、ソフトウェアは開発中にセキュリティの脆弱性がソフトウェアコードに混入する可能性があります。自動車産業は他業界と比較して特に、ソフトウェア開発に厳しい条件があることで知られています。しかし、自動車産業に限定しない目的で開発されたOSSコンポーネントを一部組み込むと、それが自動車産業の要件を満たさず、セキュリティリスクをもたらす可能性があります。
実際に、OSSの脆弱性が車載システムへの攻撃を引き起こした事例は数多くあります。そのうちの一つ、Tesla(テスラ)「モデルS」に対するハッキングを紹介します。まず、車載システム(Linux)のOSSであるWebブラウザ上に存在した脆弱性により、攻撃者がブラウザ権限を獲得したことで、攻撃者がターゲットシステムにアクセス可能となりました。その後OSSであるLinuxカーネルの脆弱性によって攻撃者が管理者権限を獲得し、ターゲットシステムの乗っ取りに成功しました。管理者権限を獲得することで、攻撃者がCANパス上で任意のメッセージをリモートで送信でき、様々な車両機能に影響を与えるエントリポイントになりました。
このような課題に対して、どのような解決策があるのでしょうか。
AutoCrypt Security Anaylzerは、OSSの脆弱性検出、ライセンス違反などのセキュリティリスクを管理する「車載OSS脆弱性診断・自動分析ソリューション」です。これがどのようにして上記で挙げた課題を解決していくか、以下で説明します。
まず、ライセンスコンプライアンスの課題に対する解決策を紹介します。最初のステップとして、正確なSBOM(ソフトウェア部品表)を作成することが重要です。SBOMは、調達される製品に含まれるソフトウェアコンポーネントを明確に表示しており、サプライチェーンの各段階で製品の配送にSBOMを含めることが推奨されています。SBOMは手動でも作成可能ですが、手間がかかりミスも発生しやすいため自動化した作成が望ましいとされています。自動化のツールとして例えば、弊社が提供する「AutoCrypt Security Analyzer」などのソフトウェアコンポジション解析ツールを使用して、ソースコードまたはバイナリをスキャンし、SBOMを自動的に作成することができます。これにより識別されたコンポーネントとそれに該当するバージョンに基づいて、関連するライセンス情報を特定し、識別されたコンポーネントに該当するライセンス条件を順守しているかどうかを確認できるようになります。
さらに、OpenChain仕様としても知られる新規格のISO 5230が2020年12月にリリースされ、トヨタが強力なプロモーターとして、サプライチェーンに関与する全ての企業がOpenChain認証を取得することを目指しています。
次に、OSSのセキュリティの課題に対する解決策を紹介します。SBOMで識別されたコンポーネントとそのバージョンに基づいて、各ソフトウェアに存在する脆弱性情報を特定することができます。例えばSBOMがソフトウェアコンポーネントの特定のバージョンを識別した場合、そのバージョンに紐づく既知の脆弱性情報であるCVE番号と、脆弱性の深刻度の評価であるCVSS(Common Vulnerability Scoring System)スコアを知ることができます。
さらに、ISO/SAE 21434およびUNECE WP 29 UN R155には、サプライチェーン管理に関する要件とサイバーセキュリティの証拠に関する要件が含まれており、自動車業界にとって、サプライチェーン全体にて共有される情報についての共通の理解と合意を得ることがより重要視されてきています。
自動車産業での新しい顧客のニーズに応えるため、ソフトウェア中心に開発の軸が変化しています。自動車にとっての新しい価値を創出する未来へ向かうために、車両ライフサイクル全体でのセキュリティを強化することが求められています。
AutoCyrpt Security Anaylzerについて、詳しくはこちらをご覧ください。