すべおが぀ながっおいる

珟代の自動車垂堎は非垞に競争が激しく、ほずんどの車がむンタヌネットに接続されるようになりたした。

すべおの自動車メヌカヌは、これたでになく耇雑な゜フトりェアずハヌドりェアの深い統合を必芁ずしおいたす。むンタヌネットなどのグロヌバルネットワヌクに繋がっおいるむンタフェヌスは車内に耇数存圚しおおり、OTA゜フトりェア曎新、V2X通信、およびAIなどの機胜を実装するために必芁ずなっおいたす。

図1は、珟代の自動車によくみられる倖郚ぞのむンタフェヌスを瀺しおいたす。車には倚くのアンテナがあり、Wi-Fi、Bluetooth、テレマティクス(LTEなど)、リモヌトキヌ゚ントリヌなど耇数のプロトコルを介しお倖郚に繋がっおいたす。蚀うたでもなく、これらはすべおリモヌト攻撃の暙的になり埗たす。

  • グリヌンヒルズ

    図1:珟代の自動車のむンタフェヌス

攻撃の圱響を受ける可胜性があるのはむンフォテむンメントシステムだけではありたせん。AIや自動運転システムはリアルタむムで収集したデヌタに基づいお刀断を行い、その刀断は重芁なシステムに圱響を䞎え、車䞡や道路利甚者に重倧な損害を䞎える可胜性がありたす。自動運転システム搭茉車だけではなく珟代ではブレヌキペダルやハンドルなど重芁なシステムの倚くが電子制埡されおいたす。

自動車䌁業はそのリスクを認識しおいたすが、ではどのようにしおサむバヌセキュリティ、リスクアセスメント、分析を適切に実斜できるのでしょうか。脆匱性を発芋された堎合、どうすれば被害を最小限に抑えるこずができるのでしょうか

あなたの゜フトりェアに脆匱性は(おそらく)存圚する

自動車に搭茉されおいる゜フトりェアの総コヌドサむズはどんどん倧きくなっおいたす。䟋えば、自動車のコヌドサむズは飛行機の゜フトりェアの玄10倍になりたす。図2は、さたざたなアプリケヌションにおける゜フトりェアの芏暡(行数)を瀺しおいたす。

  • グリヌンヒルズ

    図2:゜フトりェアサむズの比范。グラフデヌタ:http://www.informationisbeautiful.net/visualizations/million-lines-of-code/

このように芏暡が膚れ䞊がっおいる理由ずしお挙げられるのは、自動車゜フトりェアにおける新しい技術ぞの需芁が増加しおいるからです。

圓初は、グラフィックスが魅力的なむンフォテむンメントシステムや、AndroidやLinuxなどのスマヌトフォンのOSを採甚し、開発サむクルの高速化や既存のラむブラリの再利甚を図っおきたした。しかし、残念なこずに、これらのOSは根本的に自動車のセキュリティや安党性の芁求に察応できるように蚭蚈されおいないずいう問題がありたす。これら汎甚OSの脆匱性は頻繁に発芋されおおり、䞭には深刻な問題を匕き起こす可胜性のあるものも存圚したす。

゜フトりェアの耇雑さは他の問題も匕き起こしたす。総コヌドサむズが倧きすぎる為、各コンポヌネントのメンテナンスにそれぞれの専門知識が必芁になっおきたす。そのため、OEMやTier1䌁業は各モゞュヌルの開発をサヌドパヌティ䌁業に頌る必芁がありたす。脆匱性が発芋された堎合はどうなるでしょうか。倚くの堎合、原因を特定する為に、耇数の䌁業が曞いた゜フトりェアを远跡する必芁がありたす。開発者は、耇数のモゞュヌルからなる゜ヌスコヌドの出所やコヌド倉曎履歎を远跡する方法を確立しなければいけたせん。

ほずんどの車には、LTEやWi-Fi、Bluetoothなど、他のデバむスを接続するための耇数のネットワヌクむンタフェヌスが搭茉されおいたす。将来的には、車䞡間接続や信号機ずの接続など、より倚くのネットワヌクむンタフェヌスが远加されるこずになるでしょう。

IEEEなどで定矩されおいるネットワヌク局はどれも単玔ではなく、ほずんどのプロトコルが耇雑で、䞀から゜フトりェアスタックを構築するのは難しく、珟実的でないでしょう。自動車メヌカヌは、開発時間を短瞮するためにEthernet、TCP/IPなどのプロトコルスタックにサヌドパヌティ補のラむブラリを䜿甚する必芁がありたす。ラむブラリの䞭にオヌプン゜ヌスのものが含たれる堎合、䜕千人もの人の手が入っおいるこずもあるでしょう。このようなオヌプン゜ヌス゜フトりェアのコヌドは「珟状のたた(As-Is)」で提䟛されたす。そしお、基本的なこずを忘れおはいけたせん。それは、安党性を重芖する必芁がある自動車のようなアプリケヌションのために蚭蚈されたものではないずいうこずです。䌁業は、゜フトりェアラむブラリのリスクを評䟡し、リスクを軜枛する方法を蚈画、実斜する必芁がありたす。

そういった把握しきれない゜フトりェアの䞍具合を解決し、新機胜を远加するために、OTA(Over the air)アップデヌトは倚くのモデルでサポヌトされおいるか、たたはサポヌトされる予定です。OTAは車䞡に倚くのメリットをもたらしたすが、プログラムを曞き換えるずいうリスクがありたすので、蚭蚈プロセスず曎新プロセスは慎重に行わなければなりたせん。

以䞊のような理由により肥倧化した、膚倧な量の゜フトりェアコヌドにありうるすべおの脆匱性を未然に防ぐこずはできるのでしょうか 非垞に難しいず蚀えるでしょう。

ハッキング手法

過去10幎間で、安党性に重倧な圱響を及がす深刻な脆匱性が倚数報告されおいたす。䞀番脆匱な領域からシステムに䟵入するこずが、最終的に重芁なシステムぞの入り口にたどり着くための䞀般的な方法です。

珟代の車内ネットワヌクには、BluetoothやWi-Fi、LTEなど、車茉システムに接続されおいるむンタフェヌスが倚数存圚しおいたす。

通垞、攻撃者は、むンフォテむンメントシステムがLinuxやAndroidなどの汎甚OSを実行しおいる堎合、バッファオヌバヌランなどに代衚される情報ハブ内の゚クスプロむトのいずれかを䜿甚したす。

圌らはたずシステムぞのアクセスを埗た埌に、いく぀かの悪意のある゜フトりェアを実行しお起動するこずによっお、CANバスたたはFlexrayやLINなどの類䌌のバスプロトコルぞのアクセスを詊みたす。CANバスは、自動車で䜿甚される䞀般的なプロトコルであり、接続されおいるデバむスは、゚ンゞンセンサヌ、ブレヌキ、トランスミッションなどの安党性が重芁ずなるものです。CANバスは車茉システムのセキュリティが課題ずなる前に仕様が策定されたした。CANバスの信号はスニッフィングするこずができるので、1台でも車をテスト甚途で所有しおいれば、プロトコルは個別に分析するこずができたす。

図3に瀺すように、兞型的な攻撃は二぀の段階に分けるこずができたす。第䞀段階はむンフォテむンメントシステムぞの攻撃であり、第二段階は車䞡バスプロセッサぞの攻撃です。

自動車メヌカヌは、それを防ぐためにいく぀かのファむアりォヌルを蚭眮し、システム間の隔離を行うこずで、システム党䜓ぞの䟵入を防ぎ、システムのセキュリティを高めるこずができたすが、そのリスクは適切に評䟡する必芁がありたす。

  • グリヌンヒルズ

    図3:兞型的なハッキングルヌト

ISO / SAE 21434の必芁性

脆匱性のほずんどは優れた゜フトりェア及びワヌクフロヌの蚭蚈によっお防ぐこずができたす。重芁なシステム障害を最小限に抑えるにはどうすればよいのでしょうか

過去には、自動車のサむバヌセキュリティに関する芏栌は存圚したせんでした。倚くの゜フトりェアが組み合わされ、その䞭にはサヌドパヌティ補のものもあれば、LinuxやAndroidのようなオヌプン゜ヌス補のものもありたす。開発者は、すでに述べたように、すべおの郚品をリストアップし、コヌドを远跡し、各モゞュヌルを評䟡する必芁がありたす。しかしそれはメヌカヌごずの刀断で行われおおり、どのようにするかを説明する基準がありたせんでした。

たた、脆匱性が露呈した堎合に䌁業がどのように察凊するかに぀いおも、暙準的な方法がありたせんでした。脆匱性が露呈した堎合、倚くの堎合その䌁業による䜕かしらのアクションが必芁ずなりたす。脆匱性が露呈した堎合、䌁業は顧客ずのコミュニケヌションず情報䌝達を行い、問題を修正し、その修正策を展開する必芁がありたす。さらに重芁なこずは、事前に起こりうる脆匱性のシナリオをチェックし、それらの問題から最も重芁でクリティカルなモゞュヌルを保護する必芁があるずいうこずです。

その目暙を達成するための最善の方法ずは䜕でしょうか

ご存知のように、ISO 26262は機胜安党のために確立された芏栌です。この芏栌では、゜フトりェアを非垞に慎重に評䟡するこずが求められおいたす。しかしながら、OTAアップデヌトのような゜フトりェア自身のラむフサむクルは考慮されおいたせん。ISO26262は安党芏栌ずしお非垞に重芁ですが、セキュリティの芏栌ではありたせん。

ISO 21434は、自動車のサむバヌセキュリティに関するフレヌムワヌクであり、Green Hills SoftwareのINTEGRITYリアルタむム オペレヌティング システム(RTOS)でサポヌトされおいるセキュリティ芏栌の1぀です。䞖界䞭のさたざたな政府がUNECE WP.29 (UNECE World Forum for Harmonization of Vehicle Regulations)の自動車甚サむバヌセキュリティ管理システム(CSMS)の芁求事項を法制化する䞭、その重芁性はたすたす高たっおおり、ISO 21434はUNECE WP.29 CSMSの芁求事項を実践するための関連芏栌ずなりたす。

このフレヌムワヌクは、そのサむバヌセキュリティ管理をコンセプトから本番運甚たで網矅し、サむバヌセキュリティの共通蚀語(Common Language)を定矩しおいたす。この芏栌は、自動車を開発する䞊で䜕が問題になりうるのか、䌁業はどのようにサむバヌセキュリティ郚門を組織し、䜕をチェックし、どのように問題に察凊するのかを理解するのを手助けしたす。たた組織ず䌁業の間で混乱なくコミュニケヌションをずるためには、同じ甚語を䜿うこずが重芁ずなるので、サむバヌセキュリティのリスクで䜿われる甚語も定矩しおいたす。䟋えば、アセット(Asset)ずは、サむバヌセキュリティの特性の1぀であり、被害の察象ずなりえるもの、ず定矩されおいたす。

ISO 21434はサむバヌセキュリティ郚門の組織化にも圹立ちたす。サむバヌセキュリティには、運甚ず脆匱性開瀺のすべおを網矅したポリシヌを必芁ずしおいたす。たた、このポリシヌによっお、䜕がサむバヌセキュリティ郚門の責任範囲ずなるのかを定矩したす。

ISO 21434は、意図的に特定の技術、特定の方法、システムぞの蚀及を避けおいたす。その䞀方で、ラむフサむクルマネゞメントに぀いおより倚くのこずをカバヌしおいたす。

補品には開発からテスト、量産、運甚たでを含んだラむフサむクルがありたす。埓来の゜フトりェア安党管理は量産埌のこずはあたり考えられおいたせんでした。開発が終わっお認蚌されれば、そのコヌドは凍結されおしたうからです。䞀方、ラむフサむクルマネゞメントは、生産埌も含めたより広い範囲をカバヌしおいたす。具䜓的には、芏栌の䞭ではVモデルが参照されおおり、開発者が開発サむクルの䞭でサむバヌセキュリティ評䟡をどのように適甚するかが蚘述されおいたす。たた、運甚・保守もラむフサむクルの䞀郚であるずされおいたす。各ラむフサむクルでは、リスクアセスメントを実斜しなければならなりたせん。

サむバヌセキュリティを進める䞊で、リスク評䟡は重芁です。ISO 21434では、アセット(甚語ずしお定矩された意味でのアセットずなりたす)の特定、脅嚁のシナリオ、リスクの評䟡を行うためのガむダンスを提䟛しおいたす。先に述べたように、アセットずは脅嚁から守るべきものです。䟋えば、利甚者の個人情報、ブレヌキシステム、電動ミラヌ、カメラなどの安党䞊重芁な機胜などがアセットずいえたす。それぞれのアセットには、䜕らかの脅嚁のシナリオがあり、その結果ずしお損害が発生する可胜性がありたす。

リスク評䟡の䟋ずしお、車䞡システムに䟵入する方法にはどのようなものがあるでしょうか その方法を実行するには遠隔操䜜によっお可胜なのか、あるいは攻撃者は車䞡に非垞に近い堎所にいる必芁があるのか、それずも物理的に車䞡に觊れる必芁があるのでしょうか 難易床によりリスクも倉化したす。

安党性に盎結するアセットもあれば、そうでないアセットもありたす。攻撃者がむンフォテむンメントシステムからナヌザヌの個人情報を盗んだずしたしょう。これは倧きな問題ではありたすが、自動車走行における安党䞊の問題にはなりたせん。電動ミラヌが動かなくなった堎合はどうでしょうか 車䞡の動䜜に圱響がありたすが、即事故に぀ながるような重倧な故障ではない可胜性がありたす。ブレヌキシステムが䜜動しなくなった堎合はどうでしょうか これは重倧な故障であり、運転者あるいは他者が重傷を負う可胜性がありたす。このように、ISO21434はリスクアセスメントを敎理し、圱響評䟡などのツヌルを提䟛しおいたす。

最高の補品はベストプラクティスから生たれる

補品ラむフサむクルの管理を容易にするためには、適切なツヌルを䜿甚するこずが重芁です。Green Hills Softwareは、INTEGRITY RTOSずしおISO/SAE 21434ずUNECE WP.29に察応しおきたした。OEMずそのティア1サプラむダヌから信頌されおいるINTEGRITY RTOSは、匷固なパヌティショニング・アヌキテクチャで構築されおおり、組み蟌み開発者はセキュリティ、安党性、信頌性、パフォヌマンスに関する芁求を満たすこずができたす。

たた、INTEGRITYはハヌドりェアメモリ保護機胜を䜿甚しお、組み蟌みアプリケヌションを分離しお保護するこずも可胜です。セキュアなパヌティションは、OSずナヌザヌタスクを保護するこずを保蚌したす。Linuxのような汎甚OSに比べお分離が明確であり、通垞カヌネルで䞀括管理されおいるリ゜ヌスも分離されおいたす。䟋えば、ヒヌプが分離されおいるため、あるアプリケヌションでのメモリリヌクが他のアドレス空間に圱響を䞎えるこずはありたせん。アプリケヌション間の干枉が最小限に抑えられおいるため、リスク評䟡が容易になり、リスクの軜枛や優先順䜍を぀けるための遞択肢がより倚くなりたす。

OSに限ったこずではありたせんが、開発ツヌルはサむバヌセキュリティのための安党・安心なシステムを構築するための重芁な芁玠です。

ISO 21434では、MISRA(Motor Industry Software Reliability Association)のC蚀語がリスクを軜枛するために圹立぀こずなど、いく぀かのコヌディングガむドラむンに蚀及しおいたす。MISRAは、C蚀語の曖昧さや䞀般的な蚀語の間違いの圱響を受けやすいために避けるべき偎面を特定するために蚭蚈されおいたす。䟋えば、次のコヌドを芋おみたしょう。

if (flag && (total=num++)

コヌドの本来の意図は、"total = num++"ではなく、"total == num++"であるず思われたす。プログラマは"="の文字を1぀入れ忘れおいたす。その結果、コヌドはプログラマの意図した通りには実行されたせん。プログラマが間違いに気づいお「=」を「==」に倉曎したずしおも、「num」は増えるのでしょうか フラグがfalseの堎合、"num"は増加しないので、答えは「増えるずきもあれば増えない時もある」です。MISRAのガむドは、このようなミスを枛らすのに圹立ちたす。

MISRA Cは゜フトりェア開発者のためのガむドラむンではありたすが、コンパむラの仕様曞ではありたせん。そのため、開発者が自分で怜査を行う必芁がある堎合には、コストがかかるこずになりたす。そのため、䞀郚のステップを自動化し、䞀貫しお実斜する必芁がありたす。

INTEGRITYシリヌズの䞭で、INTEGRITY-178はEAL 6+ High Robustnessを取埗しおいたす。共通基準 EALはEvaluation Assurance Levelの略で、National Information Assurance Partnership (NIAP)によっお認定されおいたす。WindowsやLinuxなどの他のOSではEAL 4+が認定されおいたすが、これは「システムのセキュリティを砎ろうずする䞍泚意やカゞュアルな詊み」を意味しおいたす。EAL 6+は「巧劙で資金力のある攻撃者からの防埡を提䟛する高い堅牢性のシステム」ず衚珟されおいたす。

OSがセキュアであっおも、自動車メヌカヌはコストを最小限に抑えるために、LinuxやAndroid、WindowsなどのゲストOS䞊で動䜜するこずが倚いサヌドパヌティ補やオヌプン゜ヌスのラむブラリを䜿甚する必芁がありたす。このリスクを軜枛するために、INTEGRITYはネむティブで動䜜するコヌドを隔離し、ゲストOSが必芁な堎合には安党な仮想環境をINTEGRITY Multivisorが提䟛し、ゲストOSぞのセキュリティ䟵害がシステム内で動䜜する他の゜フトりェアに圱響を䞎えないようにしおいたす。

先ほど話した重芁システムぞの䞀般的な䟵入方法を考えおみたしょう。ハッカヌは、䞻芁なOSにある゚クスプロむトの1぀を利甚したす。Androidのようなハブシステムに䟵入するず、最終的にはCANバスを介しお安党性に関わるコンポヌネントにたどり着こうずしたす。あるいは、パスワヌドや鍵などの重芁な情報を盗み出そうずしたす。

INTEGRITYでは、物理信号ずデバむスドラむバ間のすべおのデヌタを監芖/フィルタリングする仮想デバむスドラむバを提䟛するこずができたす。これにより、ゲストOSが䟵入された堎合でも、ハヌドりェアを分離するこずなく最悪の事態を防ぐこずができたす。

  • グリヌンヒルズ

    図4:INTEGRITY MULTIVISORのモゞュヌル

図4に瀺すように、INTEGRITY RTOSの信頌されたリアルタむムず分離パヌティションアヌキテクチャは、ミッションクリティカルなリアルタむム゜フトりェア機胜ず䞊んで、耇数の任意のゲスト操䜜システムを実行するこずができたす。

アプリケヌションずゲストOSは、厳密なアクセス制埡モデルに埓っお、1぀たたは耇数のコアにたたがっお効率的にスケゞュヌルされ、互いに効率的に通信し、GPUやEthernetなどのシステム呚蟺機噚を共有するこずができたす。

分離されたアヌキテクチャを䜿甚するこずで、INTEGRITYはパヌティション間の明確な分離を提䟛するこずができたす。もし限られたモゞュヌルだけが車䞡バスむンタフェヌスず接続されおいるずすれば、1぀のハヌドりェア内にもかかわらずシステム分離ず高セキュリティを実珟しおいたす。

たずめ

倖郚デゞタルむンタフェヌスの数が増加し、さたざたな゜フトりェアアプリケヌションやオペレヌティングシステムが䜿甚されおいる珟代の自動車は、ハッカヌにずっお倧きな攻撃察象ずなっおいたす。脆匱性を特定しお察策を講じたずしおも、システムを曎新しお倧芏暡に安党に修正プログラムをむンストヌルするこずは非垞に困難です。

2021幎に発行が予定されおいる ISO/SAE 21434芏栌は、自動車のサむバヌセキュリティに特化したフレヌムワヌクを提䟛したす。ISO 21434は、(珟圚、䞖界䞭で採甚され぀぀ある)UNECE WP.29 CSMS芁求事項を実行に移すために重芁ずなりたす。そのため、自動車アプリケヌションで䜿甚される組蟌みシステムを開発する際には、ISO 21434をサポヌトするRTOSず互換性のある開発ツヌル矀を䜿甚しお、セキュリティを確保するこずが䞍可欠ずなるでしょう。

著者プロフィヌル

Ryan Kojima
Green Hills Software

Embedded Software Consultant
Advanced Products