避けて通れぬ自動車のセキュリティ、ソフトウェア開発は何をすべきか:セキュアな車載ソフトウェア開発の在り方(1)(2/2 ページ)
サイバーセキュリティにさらに力を入れるには、ソフトウェア開発のライフサイクル中のサイバーセキュリティ活動も含めて、自動車業界における文化的および組織的なシフトの必要性がある。自動車業界の課題や解決策について解説していく。
人材不足ならば自動化ソリューションの活用を
上記の3つの課題、つまりコーディング、テストおよびオープンソースソフトウェアに基づいて、自動車業界の組織がソフトウェア開発ライフサイクル中に利用でき、脆弱性を早期に特定し修正するのに役立つソリューションを簡単に紹介していこう。
自動車業界の組織ではセキュリティの人材が限られていることが多いため、この記事では手動ソリューションより自動化ソリューションを取り上げる。図3は、これら3つの課題に対処するための関連ソリューションがV字モデルにどのようにマッピングされているかを示している。
コーディングに関して、コードの弱点と脆弱性を特定する適切な自動ソリューションは、静的解析を使用することだ。静的解析ツール、例えば「Coverity(※6)」を使用すると、対象ソフトウェアを実行せずにソースコードのみの解析が可能だ。つまり、テストケースを定義する必要もない。これらのツールは、バッファオーバーフロー、リソースリーク、メモリ破損およびコード内の他の問題を見つけるのにも役立つ。
さらに、安全上の目的だけでなくセキュリティ上の理由からもコーディング規約に従うことがますます一般的になっている。静的解析ツールは、開発者が対象コードをスキャンして、MISRA C/C++、AUTOSAR C++、CERT C/C++などのコーディング規約への違反の特定に役立つ。
(※6)Synopsys, “静的解析Coverity”,
https://www.synopsys.com/ja-jp/software-integrity/security-testing/static-analysis-sast.html
テストに関しては、機能的セキュリティテスト、脆弱性スキャン、ファズテスト、侵入テストなど、さまざまなアプローチがある。通常、機能セキュリティテストでは、あるセキュリティ機能の実装をテストして、正確性、堅牢性およびパフォーマンスを確認するための専用のツールが必要だ。例えば、暗号や認証機能の実装をテストするための特有なツールが該当する。
脆弱性スキャンは、ターゲットシステムに関連する既知の脆弱性または既知の攻撃パターンの知識を使用して、ターゲットシステムの脆弱性を特定する。ファズテストツール、例えば「Defensics(※7)」は、ターゲットシステムに不正なデータを入力した上、堅牢性をテストし、未知の脆弱性を特定することを目的としたネガティブテストアプローチのツールだ。
車載システムの場合、ファズテストはCANやCAN-FD、車載イーサネット、Wi-Fi、Bluetoothなどのさまざまな通信プロトコルの実装およびISO-TP、UDS、DoIP、gPTP、WPA3、IP、TCP、RFCOMM、A2DPなどの上位層プロトコルを対象にしている。
機能的セキュリティテストと、脆弱性スキャン、ファズテストは一般に自動ツールを使用して実行できる。しかし、侵入テストは自動ツールを使用する場合もあるが、手動ベースのアプローチであるため、セキュリティ人材のペンテスターが「実際の攻撃者」を模倣してターゲットシステムのセキュリティ目標を攻撃する必要がある(※8)。
(※7)Synopsys, “Defensicsファジングテスト”,
https://www.synopsys.com/ja-jp/software-integrity/security-testing/fuzz-testing.html
(※8)Stephanie Bayer, Thomas Enderle, Dennis Kengo Oka, Marko Wolf, “Security Crash Test ―― Practical Security Evaluations of Automotive Onboard IT Component”, Automotive Safety & Security, 2015
オープンソースソフトウェアに関して、自動車業界の組織の目標は、サプライチェーンでソフトウェアの透明性を達成することだ。この目標達成のために、自動ソリューションのソフトウェアコンポジション解析ツール、例えば「Black Duck(※9)」を使用することができる。
ソフトウェアコンポジション解析ツールは、対象ソフトウェアのソースコードまたはバイナリをスキャンして、対象ソフトウェアに含まれるオープンソースソフトウェアコンポーネントを特定することができる。また、この情報からSPDX(ソフトウェアパッケージデータエクスチェンジ)などの定義されている形式でSBOMを生成することができる。また、ソフトウェアコンポジション解析ツールは、NVD(national vulnerability database)などのデータベースを使用して、特定されたオープンソースソフトウェアコンポーネントに関連する既知の脆弱性をマッピングすることも可能だ。
最後に、セキュリティに特に関連してはいないが、ライセンスコンプライアンスの観点からも重要なのは、自動車業界の組織がソフトウェアコンポジション解析ツールを使用しOSSに該当するライセンスタイプを特定して、ライセンス条項に準拠しているかを確認できることだ。
(※9)Synopsys, “Black Duckソフトウェアコンポジション解析”,
https://www.synopsys.com/ja-jp/software-integrity/security-testing/software-composition-analysis.html
まとめ
CASEの絶え間ない進歩、ソフトウェアの増加、新しいサイバーセキュリティ規格と規制の導入などにより、サイバーセキュリティは自動車業界の要になりつつある。特に車載ソフトウェアの開発に関しては、コーディング、テスト、オープンソースソフトウェアという3つの課題事項がある。これら3つの事項に対処するために、自動車業界の組織は、静的解析ツール、ファズテストツール、ソフトウェアコンポジション解析ツールなどの自動ソリューションを効果的に使用することが有効だ。
次回の記事では、これら3つの課題事項とソリューションをさらに詳しく解説する。
著者プロフィール
岡 デニス 健五
日本シノプシス合同会社のソフトウェアインテグリティグループにてプリンシパルオートモーティブセキュリティストラテジストとしてセキュリティソリューション業務に従事。2006年より車載セキュリティを専門としている。
過去にはスウェーデンでボルボの自動車セキュリティ研究を始め、リモート診断やOTA(over-the-air)アップデートを専門としていた。前職のBoschグループでは国内とグローバルの顧客対応に従事。日本とAPACのエンジニアリング及びコンサルティングマネージャーとして特に車載セキュリティの部署(ESCRYPT)の設立に協力し貢献した。
現在、日本シノプシスでは自動車セキュリティのソリューション、主にソフトウェア開発ライフサイクルとサプライチェーンに特化したソリューションを提供しており、60以上の執筆を手掛け、世界中で講演も多数行っている。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ≫連載「WP29サイバーセキュリティ最新動向」
- ≫連載「いまさら聞けない 車載セキュリティ入門」
- 自動車セキュリティとソフト更新の国際基準が成立、2022年へ対応急務
国連の自動車基準調和世界フォーラム(WP29)が2020年6月24日に開催され、自動車のサイバーセキュリティとソフトウェアアップデートに関する国際基準(UN規則)が成立した。車両の型式認可を受ける際に、国際基準を満たす体制であることを示す必要がある。サプライチェーンや製造後の自動車の使用期間の全体像を見た対応が求められており、自動車メーカーだけでなく、サプライヤーの参加や自動車のユーザーの理解も不可欠だ。 - 自動車メーカーとサプライヤーはどう連携してセキュリティに取り組むべきか
本連載では、2019年9月の改訂案をベースにOEMに課されるWP.29 CS Regulationsのポイントを解説し、OEMならびにサプライヤーが取り組むべき対応について概説する。目次は下記の通り。 - 自動車メーカーに選ばれるのは、セキュリティを理解したサプライヤーだ
本連載では、2019年9月の改訂案をベースにOEMに課されるWP.29 CS Regulationsのポイントを解説し、OEMならびにサプライヤーが取り組むべき対応について概説する。今回は自動車のサイバーセキュリティに必要な組織づくりや、開発フェーズでのプロセス構築について説明していく。 - つながるクルマに求められるサイバーセキュリティ
スパイ映画やSF映画には、自動車がハッキングを受けて乗っ取られるシーンが出てくることがある。つながるクルマ=コネクテッドカーが当たり前になるこれからの時代、これらのシーンは絵空事では済まされない。本連載では、つながるクルマをサイバー攻撃から守る「車載セキュリティ」について解説する。 - 車車間と路車間の通信を守るためのセキュリティ技術
自動車に搭載される通信機能の中でも今後の採用拡大が見込まれているのが、いわゆるITS(高度道路交通システム)に用いる車車間通信や路車間通信だ。今回は、これらV2X通信を守るセキュリティ技術について解説する。