自動車のオープンソースソフトウェア管理のためのソフトウェアコンポジション解析セキュアな車載ソフトウェア開発の在り方(3)(2/3 ページ)

» 2021年06月07日 06時00分 公開
[岡デニス健五MONOist]

OSSとセキュリティ

 他のソフトウェアと同様に、開発中にセキュリティの脆弱性がソフトウェアコードに混入するリスクがある。特に、厳格なプロセスに従い、ソフトウェア開発に厳しい条件があることで知られる自動車業界(※8、9、10)は、同じ厳しい条件のもとでの開発がなされないこともあるOSSコンポーネントを組み込むと、セキュリティリスクをもたらす可能性がある。

(※8)http://www.automotivespice.com/

(※9)ISO, “ISO 26262:2018 Road vehicles -- Functional safety”, https://www.iso.org/standard/68383.html

(※10)MISRA, “MISRA Coding Guidelines”, https://www.misra.org.uk/Publications/tabid/57/Default.aspx

 OSSの脆弱性が車載システムへの攻撃につながった例は数多くある。よく知られた事例は、Tesla(テスラ)「モデルS」に対するハッキングだ。

 初めにOSSであるWebブラウザの脆弱性により攻撃者がブラウザ権限を取得。ターゲットシステムにアクセスが可能になった。その後、OSSであるLinuxカーネルの脆弱性によって攻撃者がルート権限を取得し、ターゲットシステムを完全に乗っ取った事例である。OSSのこれらの脆弱性は、攻撃者がCANバス上で任意のメッセージをリモートで送信でき、さまざまな車両機能に影響を与えるエントリポイントになった(※11)。この事例は図1に示す。

(※11)Nie, Sen; Liu, Ling; Du, Yuefeng, “Free-fall: Hacking Tesla from Wireless to CAN Bus”, Black Hat USA, Las Vegas, NV, USA, 2017

図1:ターゲットシステム乗っ取りにつながるOSSの脆弱性の例。

ソフトウェアコンポジション解析を使用したOSS管理

 ここでは前述の課題、つまりライセンスコンプライアンスの課題とセキュリティの課題に対するいくつかの解決策を紹介する。

ライセンスコンプライアンス

 最初のステップは、正確なSBOM(ソフトウェア部品表)を作成することである。SBOMは、調達される製品に含まれるソフトウェアコンポーネントを明確に表示する。図2に示すように、サプライヤーと調達者間の製品の配送にSBOMを含めると、サプライチェーンへの信頼を築くのに役立つ。

図2:サプライチェーンの各段階での製品の配送にSBOMを含める。

 SBOMは手動で作成できるが、手間がかかりミスも発生しやすいため、自動化でのアプローチを勧めたい。例えば、Black Duck(※12)などのソフトウェアコンポジション解析ツールを使用して、ソースコードまたはバイナリをスキャンし、SBOMを自動的に作成することが可能だ。識別されたコンポーネントとそれに該当するバージョンに基づいて、関連するライセンス情報を特定することができる。これにより、ソフトウェアを開発する組織が、識別されたコンポーネントに該当するライセンス条件を順守しているかどうかを確認できる。識別されたOSSコンポーネントとそのバージョンおよび関連するライセンス情報の例を図3に示す。

(※12)Synopsys, “Black Duckソフトウェアコンポジション解析”, https://www.synopsys.com/ja-jp/software-integrity/security-testing/software-composition-analysis.html

図3:SBOMに含まれる多数のOSSコンポーネントと関連するライセンス情報。

 さらに、OpenChain仕様としても知られる新規格のISO 5230が2020年12月にリリースされた。この規格はサプライチェーンへの信頼を構築する方法についてソフトウェアを開発する組織にガイダンスを提供している(※13)。その組織がISO 5230の規格適合を達成するためのプロセス、プラクティス、ツールなど、さまざまな資料をOpenChain Projectが提供している(※14)。トヨタはOpenChainの強力なプロモーターであり(※15)、その目指すところはサプライチェーンに関与する全ての企業がOpenChain認証を取得することである(※16)

(※13)ISO, “ISO/IEC 5230:2020 Information technology - OpenChain Specification”, https://www.iso.org/standard/81039.html

(※14)OpenChain, “Path To Conformance”, https://www.openchainproject.org/get-started/conformance/path

(※15)OpenChain, “Toyota Is The First Company To Announce Adoption Of ISO/IEC 5230, The International Standard For Open Source Compliance”, https://www.openchainproject.org/featured/2020/12/15/toyota-iso-5230

(※16)Toyota, “Efforts for OpenChain certification”, Automotive Linux Summit 2020

Copyright © ITmedia, Inc. All Rights Reserved.