JP7491424B2 - ソフトウェアパッケージ構成情報の保護 - Google Patents

ソフトウェアパッケージ構成情報の保護 Download PDF

Info

Publication number
JP7491424B2
JP7491424B2 JP2023033952A JP2023033952A JP7491424B2 JP 7491424 B2 JP7491424 B2 JP 7491424B2 JP 2023033952 A JP2023033952 A JP 2023033952A JP 2023033952 A JP2023033952 A JP 2023033952A JP 7491424 B2 JP7491424 B2 JP 7491424B2
Authority
JP
Japan
Prior art keywords
identifier
vulnerability
package
software
vehicle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2023033952A
Other languages
English (en)
Other versions
JP2023133209A (ja
Inventor
アミア キャシャニー
カーロース モラー・ゴールディング
ゴパラクリシュナン アイアー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Publication of JP2023133209A publication Critical patent/JP2023133209A/ja
Application granted granted Critical
Publication of JP7491424B2 publication Critical patent/JP7491424B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Description

本明細書で説明する主題は、概して、ソフトウェアパッケージ構成情報を保護するためのシステム及び方法に関し、より具体的には、ソフトウェアパッケージ構成の安全な登録及び監視に関する。
従来、車両のセキュリティには、車両の所有者が物理的なキーを使用してドアをロックする、及び/又は、手動で車両を始動することが含まれていた。技術が進歩するにつれて、車両システムは、追加機能を含むより複雑なシステムに移行したが、追加の/異なるリスクに直面することにもなった。例えば、現在、多くの車両には、オペレーティングシステム、アプリケーション、及び様々な機能を提供するためのソフトウェアパッケージの様々な組み合わせを含み得るその他のソフトウェアなど、複雑なソフトウェアシステムを実装する電子システムが含まれている。
ソフトウェアパッケージの管理は、車両が、様々なハードウェア(例えば、センサ)などとともに機能し得る様々なオペレーティングシステム、アプリケーションなどを備えた複数の異なるシステムを含み得ることを考慮した場合、複雑なタスクになる可能性がある。従って、一例として、記載した問題の認識は、インストールされたコンポーネントに関する正確な知識に依拠することになるので、ソフトウェアパッケージの更新の管理、脆弱性の特定などは、通常、インストールされた様々なパッケージの正確な追跡に依存する。ただし、ソフトウェアパッケージの管理は、車両に実装されているソフトウェアに関する機密情報を暴露する可能性がある。例えば、敵対者は、車両のシステムのリバースエンジニアリングを容易とするために、ソフトウェアパッケージの知識を利用することができる。そのため、利用可能なアプローチは、適切なセキュリティを提供しない可能性があり、別の脆弱性につながる可能性がある。
一実施形態では、ソフトウェア管理環境においてソフトウェア構成情報を保護することに関連する例示的なシステム及び方法が開示される。前述のように、車両は、様々な機能を提供するため、複雑なソフトウェアを実装した複雑な電子システムを含むことがある。そして、複雑さが増すと、そのようなソフトウェアの管理に問題が生じる。特に、ソフトウェアには、エンティティがインストール後に発見する可能性のある脆弱性が含まれる可能性がある。このため、ソフトウェアパッケージの管理と、記載した脆弱性の監視は、関連するシステムの継続的な機能を確保するための重要な側面になる。ただし、インストールされているソフトウェアの安全対策が施されていないリストを提供すると、車両システムの構成に関する機密情報が敵対者に渡るなど、悪影響につながる可能性があるため、ソフトウェアの管理は、複合サービスのコンテキストにおいて独特の困難さをもたらす。
従って、1つのアプローチにおいて、開示のシステムは、脆弱性に関してソフトウェアを管理するメカニズムを実装しながら、ソフトウェアパッケージに関する情報を隠すように機能する。例えば、少なくとも1つのアプローチでは、ソフトウェア管理システムは、車両などのリモートデバイスと通信して、そこに格納されているソフトウェアパッケージに関する情報を取得する。特定のソフトウェアパッケージに関する機密性を保持するために、リモートデバイスは、パッケージ識別子に対して固有の識別子(例えば、乱数、暗号化キーなど)を付加してパッケージ識別子を隠し、次いで、安全な識別子を出力として提供するために、組み合わされた識別子のハッシュを生成する。このように、リモートデバイスは、例えば、ソフトウェアに関する基本的な情報を明らかにすることなく、複数の異なるエンティティ(たとえば、異なる車両メーカー)についての同様の情報を管理することができるクラウドベースの管理デバイス/サービスにソフトウェアパッケージを登録することができる。通常、リモートデバイスは、固有の識別子と共に安全な識別子を管理サービスに提供して登録する。その後、管理サービスは脆弱性を監視する。
1つの構成では、管理サービスが脆弱性を識別すると、サービスは保存された安全な識別子をスキャンして、リモートデバイスが脆弱性のあるソフトウェアパッケージを含むかどうかを判断することができる。管理サービスは、セキュリティを提供するため、安全な識別子に関連付けられたオリジナルソフトウェアパッケージに関する知識を持っていないので、管理サービスは、安全な識別子を形成する際にリモートデバイスによって実行されるプロセスを模倣する。つまり、例えば、管理サービスは、脆弱性ソフトウェアパッケージのパッケージ識別子をリモートデバイスの固有の識別子と組み合わせて、次いで、その組み合わせをハッシュして、脆弱性識別子にする。結果として得られる脆弱性識別子は、リモートデバイスに含まれているものと同じソフトウェアパッケージの場合、基本的な情報を敵対者に明らかにすることなく、関連付けられた安全な識別子を忠実に映し出すはずである。
次いで、管理サービスは脆弱性識別子をメカニズムとして使用して、リモートデバイスの保存された安全な識別子と比較する。脆弱性識別子がリモートデバイスの安全な識別子の1つと一致する場合、一致した安全な識別子は、関連するソフトウェアパッケージに脆弱性が存在することを示す。このように、本アプローチは、異なるエンティティによってアクセス可能な管理サービスを促進しつつ、ソフトウェア構成情報のセキュリティを改善する。
一実施形態において、管理システムが開示される。管理システムは、1つ以上のプロセッサと、1つ以上のプロセッサに通信可能に結合されたメモリとを含む。メモリは、1つ以上のプロセッサによる実行時に、1つ以上のプロセッサに、管理デバイスにおいて、ソフトウェアパッケージと関連付けられたエンティティの固有の識別子と、固有の識別子ソフトウェアパッケージのパッケージ識別子と組み合わせをハッシュして生成される安全な識別子とを含む、リモートデバイスにインストールされたソフトウェアパッケージに関する識別情報を取得させる命令を含む制御モジュールを記憶する。脆弱性の識別に応答するための命令を含む制御モジュールは、安全な識別子を生成する際に実行されるプロセスを模倣するべく、エンティティの固有の識別子と、脆弱性を含む脆弱なパッケージを識別するパッケージ識別子に対応する脆弱性ラベルとの組み合わせをハッシュして、脆弱性識別子を生成する。ソフトウェアパッケージに脆弱性が含まれかどうかを判断するために、制御モジュールは、脆弱性識別子を安全な識別子と比較する命令を含む。制御モジュールは、脆弱性識別子が安全な識別子と一致する場合に、脆弱性に関する対応を提供する命令を含む。
一実施形態において、非一時的なコンピュータ可読記憶媒体が開示される。コンピュータ可読記憶媒体は、1つ以上のプロセッサによる実行時に、1つ以上のプロセッサに、開示される機能を実行させる命令を格納する。命令は、管理デバイスにおいて、ソフトウェアパッケージと関連付けられたエンティティの固有の識別子と、固有の識別子ソフトウェアパッケージのパッケージ識別子と組み合わせをハッシュして生成される安全な識別子とを含む、リモートデバイスにインストールされたソフトウェアパッケージに関する識別情報を取得する命令を含む。命令は、脆弱性の識別に応答して、安全な識別子を生成する際に実行されるプロセスを模倣するべく、エンティティの固有の識別子と、脆弱性を含む脆弱なパッケージを識別するパッケージ識別子に対応する脆弱性ラベルとの組み合わせをハッシュして、脆弱性識別子を生成する命令を含む。命令は、ソフトウェアパッケージに脆弱性が含まれかどうかを判断するために、脆弱性識別子を安全な識別子と比較する命令を含む。命令は、脆弱性識別子が安全な識別子と一致する場合に、脆弱性に関する対応を提供する命令を含む。
一実施形態において、1つ以上のプロセッサによって実行される方法が開示される。一実施形態では、この方法は、管理デバイスにおいて、ソフトウェアパッケージと関連付けられたエンティティの固有の識別子と、固有の識別子ソフトウェアパッケージのパッケージ識別子と組み合わせをハッシュして生成される安全な識別子とを含む、リモートデバイスにインストールされたソフトウェアパッケージに関する識別情報を取得することを含む。この方法は、脆弱性の識別に応答して、安全な識別子を生成する際に実行されるプロセスを模倣するべく、エンティティの固有の識別子と、脆弱性を含む脆弱なパッケージを識別するパッケージ識別子に対応する脆弱性ラベルとの組み合わせをハッシュして、脆弱性識別子を生成することを含む。この方法は、ソフトウェアパッケージに脆弱性が含まれかどうかを判断するために、脆弱性識別子を安全な識別子と比較することを含む。この方法は、脆弱性識別子が安全な識別子と一致する場合に、脆弱性に関する対応を提供することを含む。
本明細書に組み込まれ、その一部を構成する添付の図面は、本開示の様々なシステム、方法、及び他の実施形態を示す。図において示される要素の境界(例えば、ボックス、ボックスのグループ、又は他の形状)は、境界の一実施形態を表すことを理解されたい。いくつかの実施形態では、1つの要素が複数の要素として設計されても良く、又は複数の要素が1つの要素として設計されても良い。いくつかの実施形態では、別の要素の内部コンポーネントとして示されている要素が、外部コンポーネントとして実現されても良いし、その逆であっても良い。さらに、要素はスケール通りに描かれていない場合がある。
例示的なシステム及び方法を実施することができる車両の構成の一実施形態を示す。 安全なソフトウェアパッケージ構成情報と関連付けられる管理システムの一実施形態を示す。 異なるソフトウェアパッケージ間の関係を識別するグラフの一例を示す。 リモートデバイスがソフトウェアパッケージを管理システムに登録することに関連する方法の一実施形態を示す。 ソフトウェア構成情報の中から脆弱性を識別することに関連する方法の一実施形態を示す。
ソフトウェア管理環境においてソフトウェア構成情報を保護することに関連するシステム、方法、及び他の実施形態が開示される。前述のように、車両には、複雑なソフトウェアを実装する自動運転/自律運転機能用の複雑な電子システムが含まれる場合がある。そして、複雑さが増すと、そのようなソフトウェアの管理に問題が生じる。特に、ソフトウェアには、エンティティがインストール後まで発見できない可能性のある様々な脆弱性の対象となる多くの異なるコンポーネントが含まれる可能性がある。このため、ソフトウェアパッケージの管理と、記載した脆弱性の監視は、関連するシステムの継続的な機能を確保するための重要な側面になる。ただし、インストールされているソフトウェアの安全対策が施されていないリストを提供すると、車両システムの構成に関する機密情報が敵対者に明らかになるなど、悪影響につながる可能性があるため、ソフトウェアの管理は、複合サービスのコンテキストにおいて独特の困難さをもたらす。
従って、1つのアプローチにおいて、開示のシステムは、脆弱性に関してソフトウェアを管理するメカニズムを実装しながら、ソフトウェアパッケージに関する情報を隠すように機能する。例えば、少なくとも1つのアプローチでは、ソフトウェア管理システムは、車両などのリモートデバイスと通信して、そこに格納されているソフトウェアパッケージに関する情報を取得する。特定のソフトウェアパッケージに関する機密性を保持するために、リモートデバイスは、パッケージ識別子に対して固有の識別子(例えば、乱数、暗号化キーなど)を付加してパッケージ識別子を隠し、次いで、安全な識別子を出力として提供するために、組み合わされた識別子のハッシュを生成する。このように、リモートデバイスは、例えば、ソフトウェアに関する基本的な情報を明らかにすることなく、複数の異なるエンティティ(たとえば、異なる車両メーカー)についての同様の情報を管理することができるクラウドベースの管理デバイス/サービスにソフトウェアパッケージを登録することができる。通常、リモートデバイスは、固有の識別子と共に安全な識別子を管理サービスに提供して登録する。その後、管理サービスは脆弱性を監視する。
1つの構成では、管理サービスが脆弱性を識別すると、サービスは保存された安全な識別子をスキャンして、リモートデバイスが脆弱性のあるソフトウェアパッケージを含むかどうかを判断することができる。管理サービスは、セキュリティを提供するため、安全な識別子に関連付けられたオリジナルソフトウェアパッケージに関する知識を持っていないので、管理サービスは、安全な識別子を形成する際にリモートデバイスによって実行されるプロセスを模倣する。つまり、例えば、管理サービスは、脆弱性ソフトウェアパッケージのパッケージ識別子をリモートデバイスの固有の識別子と組み合わせて、次いで、その組み合わせをハッシュして、脆弱性識別子とする。結果として得られる脆弱性識別子は、リモートデバイスに含まれているものと同じソフトウェアパッケージの場合、基本的な情報を敵対者に明らかにすることなく、関連付けられた安全な識別子を忠実に映し出すはずである。
次いで、管理サービスは脆弱性識別子をメカニズムとして使用して、リモートデバイスの保存された安全な識別子と比較する。脆弱性識別子がリモートデバイスの安全な識別子の1つと一致する場合、一致した安全な識別子は、関連するソフトウェアパッケージに脆弱性が存在することを示す。このように、本アプローチは、異なるエンティティによってアクセス可能な管理サービスを促進しつつ、ソフトウェア構成情報のセキュリティを改善する。
図1を参照すると、車両100の一例が示されている。本明細書で使用される場合、「車両」は、任意の形態の動力輸送機である。1つ以上の実施形態では、車両100は自動車である。本明細書では自動車に関して構成を説明するが、実施形態は自動車に限定されないことを理解されたい。いくつかの実装形態では、車両100に代えて、電子デバイス、リモートデバイスと通信するクラウドベースのシステム、又は脆弱なソフトウェアコンポーネントを含み、それゆえ、本明細書で説明する機能から恩恵を受ける電子システムを実現可能である他のデバイスであっても良い。
車両100は、様々な要素も含む。様々な実施形態において、車両100は、図1に示される要素のすべてを有していない場合があることが理解されたい。車両100は、図1に示される様々な要素の異なる組み合わせを有することができる。さらに、車両100は、図1に示される要素に対して、追加の要素を有することができる。いくつかの構成では、車両100は、図1に示される1つ以上の要素を有することなく、実現され得る。図1では、様々な要素が車両100内に配置されているように示されているが、これらの要素の1つ以上を車両100の外部に配置できることを理解されたい。さらに、示されている要素は物理的に大きな距離だけ離されて、リモートサービス(例えば、クラウドコンピューティングサービス)として提供されても良い。少なくとも1つの構成において、管理システム170は、多数の異なるソースからのソフトウェアパッケージを登録するように機能するリモートクラウドベースのリソース内のインスタンスも含みながら、車両100上のローカルクライアントとして実装される。
車両100の可能な要素のいくつかが図1に示されており、これらは、後続の図とともに説明される。図1の要素の多くに関する説明は、この説明を簡潔にするために、図2-図5の説明の後に提供される。さらに、説明を簡単かつ明確にするために、必要に応じて、対応する、類似の、又は同様の要素を示すために、異なる図面間で参照番号が繰り返されることを理解されたい。さらに、本明細書に記載の実施形態は、記載された要素の様々な組み合わせを使用して実施できることを理解されたい。
いずれの場合も、車両100は、車両にインストールされたソフトウェアパッケージを登録し、追跡するように機能する管理システム170を含む。さらに、スタンドアロンのコンポーネントとして示されているが、1つ以上の実施形態では、管理システム170は、支援システム160、又は車両100の別の類似のシステムと統合される。加えて、前述のように、管理システム170は、さらにクラウドベースのリソースとして実装され、1つの構成では、後でさらに説明するように、新たな脆弱性を独立して監視するように機能し得るソフトウェア情報の中央リポジトリを提供する。言及された機能及び方法は、図のさらなる説明によってより明らかになる。
図2を参照すると、管理システム170の一実施形態がさらに示されている。示されるように、管理システム170は、プロセッサ110を含む。このように、プロセッサ110は、管理システム170の一部であっても良いし、あるいは管理システム170は、データバス又は別の通信経路を介してプロセッサ110にアクセスしても良い。1つ以上の実施形態では、プロセッサ110は、制御モジュール220に関連する機能を実行するように構成された特定用途向け集積回路である。より一般的には、1つ以上の態様において、プロセッサ110は、管理システム170に関連付けられたコード化された機能を実行するとき、本明細書で説明する様々な機能を実行することが可能な、マイクロプロセッサなどの電子プロセッサである。さらに、プロセッサ110又は管理システム170に関連付けられた別の電子処理ユニットは、脆弱性に関して、登録され、追跡されるべき様々なプログラムを実行する。本明細書で使用される、プログラム、アプリケーション、ソフトウェアパッケージ、及びソフトウェアという用語はすべて、ソフトウェアの一部の同じ要素を指すことを理解されたい。
様々な実施形態では、ソフトウェアパッケージの特定の機能は様々であり得るが、自動運転機能(例えば、ADAS機能、機械認識、マッピング、物体検出/識別、経路計画、車両制御ルーチンなど)、車両の制御に関連する機能や、車両100内のインフォテインメントシステム、オペレーティングシステム及び関連コンポーネントの実行などを含むことができる。このように、プログラムの様々な態様は、車両100の機能的安全性、機密情報/個人情報、システム操作などに関連する場合がある。さらに、プログラムは概して機能的な観点から説明されるが、プログラムは異なる形式を取り得ることを理解されたい。つまり、プログラムは、ファームウェア、オペレーティングシステム、アプリケーションなどであっても良い。
図2に戻ると、一実施形態では、管理システム170は、制御モジュール220、及び、様々な構成において、追加の要素(例えば、ソフトウェアパッケージ)を格納するメモリ210を含む。メモリ210は、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、ハードディスクドライブ、フラッシュメモリ、又はモジュール220を格納するための他の適切なメモリである。いずれの場合も、制御モジュール220は、例えば、プロセッサ110による実行時に、プロセッサ110に本明細書に開示される様々な機能を実行させるコンピュータ可読命令である。1つ以上の実施形態では、モジュール220は、メモリ210に組み込まれた命令であるが、さらなる態様では、モジュール220は、説明される機能の1つ以上を独立して実行するための処理コンポーネント(例えば、コントローラ)、回路などのハードウェアを含む。このように、制御モジュール220は、メモリ210内の命令として、又はシステムオンチップ(SoC)、ASIC、又は別の電子デバイスなどのスタンドアロンコンポーネントとして具現化され得る。
さらに、一実施形態では、管理システム170は、データストア230を含む。データストア230は、1つの構成では、情報を格納するための電子ベースのデータ構造である。例えば、1つのアプローチにおいて、データストア230は、メモリ210又は別の適切な電子記憶媒体(例えば、RAM、ROM、オンチップキャッシュなど)に記憶され、記憶されたデータを分析し、記憶されたデータを提供し、記憶されたデータを組織化するなどのためにプロセッサ110によって実行され得るルーチンを備えて構成される、データベースである。いずれの場合も、1つの構成において、データストア230は、様々な機能を実行する際に制御モジュール220によって使用されるデータを格納する。一実施形態では、データストア230は、例えば、制御モジュール220によって使用される他の情報(例えば、実行プログラムの観察された特徴)とともに、グラフ240を含む。データストア230は、さらに、車両100の固有識別子、車両100に含まれるソフトウェアパッケージの安全識別子などをさらに含むことができる。
グラフ240は、1つ以上の構成において、ソフトウェアの別個のプログラム/パッケージ間の関係を識別する。様々な例において、別個のプログラムのいくつかは実際に一緒にインストールされて、より大きなアプリケーションを定義することがある。いずれの場合も、グラフ240は、脆弱性の影響及び/又は脆弱性の解決方法を決定するのに有用である、プログラムの実行順序及びプログラム間の関係を具現化する。このように、グラフ240は、システム内の様々なソフトウェアパッケージを追跡するための情報を提供する。さらに、前述の識別子、特にパッケージ識別子は、様々な形式を取ることができる。様々な実施形態では、パッケージ識別子は、中央当局によって統制される可能性がある、ソフトウェアパッケージの標準名称である。さらなるアプローチでは、パッケージ識別子は、名称に加えてバージョン番号などの情報を含む。
制御モジュール220の機能に目を向けると、概して、制御モジュール220は、プロセッサ110を制御して車両100内にインストールされたソフトウェアパッケージのソフトウェア脆弱性を追跡するように機能する命令を含む。車両100にローカルにインストールされる管理システム170のインスタンスにおいて、管理システム170は、概して、例えばクラウドベースのリソースである管理システム170のインスタンスにソフトウェアパッケージを登録することによって、車両100のソフトウェアパッケージを追跡するように機能する。
ソフトウェアパッケージを登録するために、制御モジュール220は、ソフトウェアパッケージの安全識別子を生成する。1つのアプローチでは、制御モジュール220は、パッケージ識別子(例えば、ソフトウェアパッケージの名称及びバージョン番号)を車両100に関連付けられた固有識別子と組み合わせる。固有識別子は、特定の実施例に応じて異なる形式を取ることができるが、一般に、暗号化キー、乱数、又は秘密であり、車両に固有の他の値などの、車両100に固有の安全なデータを含む。制御モジュール220は、固有識別子とパッケージ識別子との組み合わせをハッシュして、安全識別子を生成するように処理を進める。
1つの構成において、制御モジュール220は、MD5、SHA-1、SHA-2、又は別の適切なハッシュ関数などの一方向暗号ハッシュ関数を使用する。従って、様々な構成において、固有識別子をパッケージ識別子に付加する代わりに、制御モジュール220は固有識別子をハッシュ関数のソルト値又はシード値として使用して、ハッシュを逆転させて、基本情報を提供するための悪意のある攻撃に対して、安全識別子が堅牢であることを保証することができる。いずれの場合も、制御モジュール220が安全識別子を生成すると、制御モジュール220は、固有識別子とともに安全識別子を管理サービスに通信することによってソフトウェアパッケージを登録する。
管理サービスは、例えば、管理システム170のインスタンスを実現するクラウドベースのリソースである。それゆえ、制御モジュール220は、クラウドベースの管理サービスのコンテキストにおいて、前述の通信を介して、ソフトウェアパッケージ及びソフトウェアパッケージが存在するエンティティに関する識別情報(すなわち、安全識別子及び固有識別子)を取得するように機能する。次いで、制御モジュール220は、管理サービスが脆弱性を監視できるように、車両100のソフトウェアパッケージに関する情報を記録することができる。個々の車両100が議論されているが、さらなるアプローチでは、提供エンティティは、車両製造業者、部品供給業者、又は製品ごとにソフトウェアパッケージを登録する別のエンティティであり得ることに留意されたい。すなわち、個々の車両を監視する代わりに、管理サービスは、特定の製品(すなわち、車両のメーカー/モデル、ソフトウェア一式を実装する特定の部品/コンポーネントなど)を監視しても良い。
ソフトウェアパッケージ及び安全識別子のさらなる例として、図3を検討する。図3は、グラフ240の一例を示す。図3に示されるように、グラフ240は、含まれる矢印によって示される処理の関係を有する、複数の別個のソフトウェアパッケージを含む。ソフトウェアパッケージ300と310は、ソフトウェアパッケージ320と依存関係のブランチを確立する一方で、ソフトウェアパッケージ330も、ソフトウェアパッケージ320との処理の依存関係を有する。さらに、示されるように、パッケージ識別子は、ソフトウェアパッケージ300について「パーティDからのコンポーネント」と「V1.0」としても良い。このように、制御モジュール220は、パッケージ300のパッケージ識別子として、連結された形式で言及された要素を使用することができる。同様に、制御モジュール220は、追加のパッケージ310、320、及び330のパッケージ識別子を形成する。さらに、制御モジュール220は、パッケージ識別子のそれぞれについて安全識別子(340、350、360、及び370)を生成する。上述のように、制御モジュール220は、エンティティ(すなわち、車両100及び/又はエンティティ)の固有識別子を使用してハッシュを適用し、安全識別子を生成する。安全識別子自体は、16進文字列(例えば、128ビット)の形式であり得る。最後に、制御モジュール220は、適切なパッチ適用及び/又はデータのその他のチェックを確保するため、脆弱性が別のコンポーネントの動作に影響を与える可能性があり、脆弱性を識別したときにその関係を明示的に示し得る上流コンポーネントを特定するために、グラフ構造とその関係をグラフ240として維持することができる。
図2に戻ると、制御モジュール220は、管理サービスのコンテキストにおいて、脆弱性と、どのパッケージが脆弱性の対象となり得るかを識別するようにさらに機能する。特定の脆弱性を識別するために、管理システム170は、業界団体、ソフトウェア開発者、セキュリティ監視サービスなどの複数の異なるソースからの情報を集約する。制御モジュール220がこれらのソースを通じて確認された脆弱性を識別すると、制御モジュール220は、監視されている車両100及び/又は他のエンティティからの格納された安全識別子と比較するためのメカニズムとして脆弱性識別子を生成する。
例えば、1つのアプローチでは、制御モジュール220は、安全識別子を忠実に映し出す脆弱性識別子を使用する。従って、脆弱性識別子は、概して、脆弱性ラベルと固有識別子とから形成される。すなわち、脆弱性はソフトウェアパッケージに関連付けられるので、制御モジュール220は、パッケージ識別子を模倣するために使用されている、脆弱性を伴うソフトウェアパッケージの識別子と任意の追加情報(例えば、バージョン番号)を使用する。このようにして、制御モジュール220は、エンティティ(例えば、車両100)の固有識別子と組み合わせたパッケージ識別子に対応することになる脆弱性ラベルを形成し、組み合わされた要素をハッシュすることによって脆弱性識別子を形成する。もちろん、この努力は、別個のエンティティが異なる固有識別子を有するので、制御モジュール220は、別個のエンティティごとに脆弱性識別子を個別に生成することを伴う。
いずれの場合も、制御モジュール220が脆弱性識別子を生成すると、制御モジュール220は、脆弱性識別子と同じエンティティ(例えば、車両100)の安全識別子との比較を開始する。比較は、一般に、脆弱性識別子と安全識別子との1対1の比較であり、一致するかどうかを判定する。従って、同じ方法でハッシュへの入力として同じ情報を使用することに加えて(つまり、固有識別子が識別子に付加されるか、ハッシュのソルト/シードとして使用されるかどうか)、識別子を生成するハッシュアルゴリズムも同じである。
いずれの場合も、制御モジュール220が脆弱性識別子と一致する安全識別子を識別すると、制御モジュール220は、エンティティの関連するソフトウェアパッケージが脆弱性を含むと決定する。このため、制御モジュール220は、脆弱性識別子が安全識別子と一致する場合、脆弱性に関する対応を提供する。対応には、通信/警告を通じて脆弱性の検出をエンティティに報告するだけの場合もあれば、より複雑な措置を伴う場合もあり得る。例えば、制御モジュール220は、エンティティが脆弱性を解決できるように、通信と共にパッチを提供することができる。さらなる例では、制御モジュール220は、脆弱性が解決されるまで悪意のある攻撃を防止するために、機能を無効にするための命令を通信することができる。この機能の無効は、脆弱性を含むソフトウェアパッケージに加えて、グラフ240から把握される、脆弱性を含むソフトウェアパッケージと関係するソフトウェアパッケージを対象としても良い。いずれにせよ、管理システム170は、脆弱性に関してソフトウェアを安全かつ効率的に監視するためのメカニズムを提供することによって、車両システムの機能を改善する。
ソフトウェアパッケージを登録し、脆弱性を監視することの追加の態様が、図4及び図5に関して説明される。図4は、集中型サービスによる監視のためにソフトウェアパッケージを登録することに関連する方法400を示している。方法400は、図1及び図2の管理システム170の観点から論じられる。方法400は管理システム170と組み合わせて論じられるが、方法400は管理システム170内で実施されることに限定されず、むしろ方法400を実施することができるシステムの一例であることを理解されたい。
410で、制御モジュール220は、脆弱性監視のために登録されるソフトウェアパッケージに関する情報を受信する。1つ以上の構成では、制御モジュール220は、OEM車両へのソフトウェアパッケージの配置に応答して情報を受信する。前述のように、ソフトウェアパッケージを実装しているエンティティが情報を提供するか、個々のインスタンス(例えば、車両100内の)が個別の実装の発生ごとに情報を直接提供することができる。いずれの場合も、情報は、概して、エンティティ名、ソフトウェア自体の標準化された名称、及びバージョン番号を含むことができるパッケージ識別子を少なくとも含む。さらに、エンティティは、エンティティを明確に識別する固有の識別子も有しているか、もしくは個別に取得する。固有識別子は、乱数、暗号化キー、又はエンティティに固有の別の固有値であり得る。
420で、エンティティ(すなわち、車両100又はエンティティの資産管理システム)のインスタンス内の制御モジュール220が、安全識別子を生成する。1つの構成では、制御モジュール220は、パッケージ識別子を固有識別子と組み合わせて組み合わせ識別子を形成することにより、安全識別子を生成する。一般に、値の組み合わせには、固有識別子をパッケージ識別子に付加することが含まれる。ただし、前述のように、1つ以上の構成において、代わりに固有識別子がハッシュアルゴリズムのシード/ソルト値として使用されても良い。組み合わせ識別子が形成されると、制御モジュール220は組み合わせ識別子をハッシュして安全識別子を生成し、組み合わせ識別子が識別されないよう偽装する。
430で、制御モジュール220は、ソフトウェアパッケージを管理デバイスに登録する。1つ以上の構成では、制御モジュール220は、登録のため、安全識別子及び固有識別子を管理デバイスに通信する。管理デバイスは、様々なアプローチにおいて、利害が競合/対立する可能性がある異なるビジネスを含む、複数の異なるエンティティのソフトウェアパッケージを監視するクラウドベースのリソースである。従って、上述のようにソフトウェアパッケージ情報を隠すことにより、管理システム170は、エンティティ及びエンティティに関連付けられたソフトウェアパッケージの匿名性を維持しながら、組み合わせた資産監視に役立つことができる。
図5は、難読化されたソフトウェアパッケージの脆弱性を監視することに関連する方法500を示している。方法500は、図1及び図2の管理システム170の観点から説明される。方法500は管理システム170と組み合わせて論じられるが、方法500は管理システム170内で実施されることに限定されず、むしろ方法500を実施することができるシステムの一例であることを理解されたい。
510で、制御モジュール220は、様々なソフトウェアパッケージの脆弱性を監視する。制御モジュール220は、管理デバイスのインスタンスにおいて、登録された特定のソフトウェアパッケージについての知識を持たず、エンティティが監視のためにソフトウェアパッケージを登録したことを単に知っているだけである。このように、制御モジュール220は、どのソフトウェアパッケージが監視されているかを区別せず、代わりに広範囲の異なるソフトウェアパッケージからの脆弱性を考慮する。従って、制御モジュール220は、ソフトウェア速報、ソフトウェア会社からの勧告、脆弱性データベースなどを含む様々な情報源から情報を収集することによって脆弱性を識別する。かくして、制御モジュール220が脆弱性を検出すると、制御モジュール220は、登録されたソフトウェアパッケージのいずれかが脆弱性に関連するソフトウェアパッケージと一致するかどうかの決定に進む。一般的な問題として、ここで使用されている脆弱性とは、ソフトウェアパッケージの動作に意図しない結果をもたらすように、悪意のある攻撃者によって悪用される可能性がある、ソフトウェアパッケージのセキュリティ上の欠陥、グリッチ、または弱点を指す。
520で、制御モジュール220は脆弱性識別子を生成する。1つの構成では、脆弱性識別子は、安全識別子の形式を模倣する。すなわち、制御モジュール220は、脆弱性が同じソフトウェアパッケージにある場合、脆弱性識別子と安全識別子が一致するように、安全識別子で使用されるのと同じ情報を使用して脆弱性識別子を生成する。かくして、制御モジュール220は、エンティティの固有識別子と、脆弱性を含む脆弱なパッケージを特定する脆弱性ラベルとを使用して、脆弱性識別子を生成する。制御モジュール220は、情報をハッシュし、比較のために脆弱性識別子を提供する。
530で、制御モジュール220は、脆弱性識別子を安全識別子と比較して、ソフトウェアパッケージが脆弱性を含むかどうかを判定する。制御モジュール220は、1つの構成では、登録されたソフトウェアパッケージのいずれかが脆弱性を含むかどうかを判定するために、エンティティのすべての登録済み安全識別子を脆弱性識別子と比較する。さらに、図3に関して説明したように、制御モジュール220は、グラフ240で定義された関係に従って、脆弱性識別子を異なる安全識別子とさらに比較することができる。すなわち、異なるソフトウェアパッケージ間の関係がグラフ240に従って既知である場合、制御モジュール220は、脆弱性によって影響を受ける可能性のあるソフトウェアパッケージの包括的なレビューを提供するために、脆弱性識別子をグラフ240からのそれらの関係/依存関係とさらに比較することができる。さらに、脆弱性が存在する場合、制御モジュール220は、グラフ240のレビュー/検索によって影響を受けるソフトウェア パッケージを定義することができ、これにより、ソフトウェアのその後のパッチ適用が容易になり得る。
540で、制御モジュール220は、脆弱性識別子が安全識別子と一致する場合、脆弱性に関する対応を提供する。制御モジュール220は、特定の実施例に応じて、また、管理対象デバイスの能力に応じて、異なる対応を取ることができる。いずれの場合も、制御モジュール220は、1つのアプローチにおいて、脆弱性に関する警告をエンティティに少なくとも通信する。さらなるアプローチでは、制御モジュール220は、脆弱性を解決するためのパッチ又は少なくともパッチの識別子を含むアラートを生成する。このように、管理システム170は、エンティティ及びエンティティによって実装されるソフトウェアパッケージを隠す/偽装するメカニズムを定義し、それによって効率的な監視システムを提供しながらセキュリティを改善する。
さらに、図1の管理システム170は、別個の集積回路及び/又は電子チップを用いて様々な配置で構成できることを理解されたい。そのような実施形態では、制御モジュール220は、別個の集積回路として具現化することができる。回路は、接続パスを介して接続され、別個の回路間で信号を通信する。もちろん、別個の集積回路が論じられているが、様々な実施形態において、回路は共通の集積回路及び/又は集積回路基板に統合されてもよい。さらに、集積回路は、より少ない集積回路に組み合わされても良いし、より多くの集積回路に分割されてもよい。別の実施形態では、モジュール220に関連する機能の一部は、プロセッサによって実行可能であり、非一時的メモリに格納されるファームウェアとして具現化されても良い。さらに別の実施形態では、モジュール220は、プロセッサ110のハードウェアコンポーネントとして統合される。
別の実施形態では、説明された方法、及び/又は、それらの等価物は、コンピュータ実行可能命令で実装されてもよい。従って、一実施形態では、非一時的コンピュータ可読媒体は、機械(例えば、プロセッサ、コンピュータなど)によって実行されるとき、機械(及び/又は関連するコンポーネント)に方法を実行させる、格納されたコンピュータ実行可能命令を備えて構成される。
説明を簡単にするために、図に示されている方法論は一連のブロックとして示され説明されているが、いくつかのブロックは図示及び説明されたものから異なる順序で、及び/又は、他のブロックと同時に実行することができるので、方法論はブロックの順序によって制限されないことが理解されるべきである。さらに、例示されたすべてのブロックよりも少ないブロックを使用して、例示的な方法論を実施してもよい。ブロックは、組み合わされても良いし、複数のコンポーネントに分離されても良い。さらに、追加及び/又は代替の方法論は、図示されていない追加のブロックを使用することができる。
ここで、本明細書で開示されるシステム及び方法が動作することができる例示的な環境について、図1で詳細に説明する。場合によっては、車両100は、自律モード、1つ以上の半自律動作モード、及び/又は手動モードの間で選択的に切り替えられるように構成される。このような切り替えは、適切な方法で実施することができる。「手動モード」とは、車両の航行及び/又は操縦のすべて又は大部分が、ユーザ(例えば、人間のドライバ)から受けた入力に従って実行されることを意味する。
1つ以上の実施形態において、車両100は自律車両である。本明細書で使用される「自律車両」は、自律モードで動作する車両を指す。「自律モード」は、人間のドライバからの最小限の入力で、又は入力なしで、車両100を制御する1つ以上のコンピューティングシステムを使用して、移動経路に沿って車両100を航行及び/又は操縦することを指す。1つ以上の実施形態において、車両100は完全に自動化される。1つの実施形態では、車両100は、1つ以上のコンピューティングシステムが移動経路に沿った車両100の航行及び/又は操縦の一部を実行し、車両運転者(すなわち、ドライバ)が移動経路に沿った車両100の航行及び/又は操縦の一部を実行するための入力を車両に提供する、1つ以上の半自律動作モードを備えて構成される。そのような半自律動作は、車両100が定義された状態制約内に留まることを確実にするために、管理システム170によって実施されるような監視制御を含むことができる。
車両100は、1つ以上のプロセッサ110を含むことができる。1つ以上の構成では、プロセッサ110は、車両100のメインプロセッサであり得る。例えば、プロセッサ110は、電子制御ユニット(ECU)であり得る。車両100は、1つ以上のタイプのデータを格納するための1つ以上のデータストア115(例えば、データストア230)を含むことができる。データストア115は、揮発性及び/又は不揮発性メモリを含むことができる。適切なデータストア115の例には、RAM(ランダムアクセスメモリ)、フラッシュメモリ、ROM(リードオンリーメモリ)、PROM(プログラマブルリードオンリーメモリ)、EPROM(消去可能プログラマブルリードオンリーメモリ)、EEPROM(電気的消去可能プログラマブルリードオンリーメモリ)、レジスタ、磁気ディスク、光ディスク、ハードドライブ、その他の適切な記憶媒体、又はそれらの任意の組み合わせが含まれる。データストア115は、プロセッサ110のコンポーネントとすることができ、又はデータストア115は、使用のためプロセッサ110に動作可能に接続することができる。この説明全体を通して使用される「動作可能に接続される」又は「通信可能に接続される」という用語は、直接的な物理的接触のない接続を含む、直接又は間接の接続を含み得る。
1つ以上の構成において、1つ以上のデータストア115は地図データを含むことができる。地図データには、1つ以上の地理的領域の地図を含めることができる。場合によっては、地図データは、1つ以上の地理的領域における、道路、交通管制装置、道路標示、構造物、特徴、及び/又はランドマークに関する情報(例えば、メタデータ、ラベルなど)を含むことができる。場合によっては、地図データに航空/衛星ビューを含めることができる。場合によっては、地図データに、360度の地上ビューを含む、領域の地上ビューを含めることができる。地図データは、測定値、寸法、距離、及び/又は地図データに含まれる1つ以上のアイテムの情報、及び/又は地図データに含まれる他のアイテムに関連する情報を含むことができる。地図データには、道路の形状に関する情報を含むデジタル地図を含めることができる。地図データは、建物、縁石、電柱などの相対的な位置に関する情報など、特徴ベースの地図データをさらに含むことができる。1つ以上の構成では、地図データは1つ以上の地形図を含むことができる。
1つ以上のデータストア115は、センサデータを含むことができる。この文脈において、「センサデータ」とは、車両100が装備しているセンサからの、当該センサに関する能力及びその他の情報を含む任意の情報を意味する。
前述したように、車両100はセンサシステム120を含むことができる。センサシステム120は、1つ以上のセンサを含むことができる。「センサ」とは、何かを検出、認識、及び/又は感知することができる任意のデバイス、コンポーネント、及び/又はシステムを意味する。1つ以上のセンサは、リアルタイムで動作するように構成することができる。本明細書で使用される「リアルタイム」という用語は、特定のプロセス又は決定が行われるのに十分に即時であるとユーザ又はシステムが感じる、又はプロセッサが何らかの外部プロセスに追いつくことができる処理応答性のレベルを意味する。
センサシステム120が複数のセンサを含む構成では、センサは互いに独立して機能することができる。あるいは、2つ以上のセンサが相互に組み合わされて機能することができる。このような場合、2つ以上のセンサがセンサネットワークを形成することができる。センサシステム120及び/又は1つ以上のセンサは、プロセッサ110、データストア115、及び/又は車両100の別の要素(図1に示す要素のいずれかを含む)に動作可能に接続することができる。センサシステム120は、車両100の外部環境の少なくとも一部のデータを取得することができる。
センサシステム120は、任意の適切なタイプのセンサを含むことができる。本明細書では、異なるタイプのセンサの様々な例について説明する。しかしながら、実施形態は、記載された特定のセンサに限定されないことが理解されよう。センサシステム120は、1つ以上の車両センサ121を含むことができる。車両センサ121は、車両100自体又は車両100の内部乗員室に関する情報を検出、決定、及び/又は感知することができる。1つ以上の構成において、車両センサ121は、例えば慣性加速度に基づいてなど、車両100の位置及び向きの変化を検出及び/又は感知するように構成することができる。1つ以上の構成において、車両センサ121は、1つ以上の加速度計、1つ以上のジャイロスコープ、慣性測定ユニット(IMU)、推測航法システム、全地球航法衛星システム(GNSS)、グローバル測位システム(GPS)、ナビゲーションシステム、及び/又はその他の適切なセンサを含むことができる。車両センサ121は、車両100の1つ以上の特性を検出及び/又は感知するように構成することができる。1つ以上の構成において、車両センサ121は、車両100の現在の速度を決定するための速度計を含むことができる。さらに、センサシステム120は、シート内の圧力/重量センサ、シートベルトセンサ、カメラなどの乗員室全体に及ぶセンサを含むことができる。
代替的又は追加的に、センサシステム120は、運転環境データを取得及び/又は感知するように構成された1つ以上の環境センサ122を含むことができる。「運転環境データ」は、自律車両が位置する外部環境、又はその1つ以上の部分に関するデータ又は情報を含む。例えば、1つ以上の環境センサ122は、車両100の外部環境の少なくとも一部における障害物及び/又はそのような障害物に関する情報/データを検出及び/又は感知するように構成することができる。このような障害物は、静止物体及び/又は動的物体であり得る。1つ以上の環境センサ122は、例えば、レーンマーク、標識、信号機、交通標識、車線、横断歩道、車両100近傍の縁石、道路外物体など、車両100の外部環境における他のものを検出及び/又は感知するように構成され得る。
センサシステム120のセンサの様々な例が、本明細書で説明される。例示的なセンサは、1つ以上の環境センサ122及び/又は1つ以上の車両センサ121の一部であっても良い。しかしながら、実施形態は、記載された特定のセンサに限定されないことが理解されよう。一例として、1つ以上の構成において、センサシステム120は、1つ以上のレーダセンサ、1つ以上のLIDARセンサ、1つ以上のソナーセンサ、及び/又は1つ以上のカメラを含むことができる。1つ以上の構成において、1つ以上のカメラは、高ダイナミックレンジ(HDR)カメラ又は赤外線(IR)カメラであり得る。
車両100は、入力システム130を含むことができる。「入力システム」は、限定するものではないが、情報/データを機械に入力できるようにするデバイス、コンポーネント、システム、要素、又はそれらの取り合わせ又はグループを含む。入力システム130は、車両の乗員(例えば、運転者又は同乗者)からの入力を受け取ることができる。車両100は、出力システム140を含むことができる。「出力システム」は、情報/データを車両の乗員(例えば、人、車両の同乗者など)に提示できるようにする任意のデバイス、コンポーネント、又はそれらの取り合わせ又はグループを含む。
車両100は、1つ以上の車両システム150を含むことができる。1つ以上の車両システム150の様々な例は図1に示されているが、車両100は、与えられた例に示されるものとは異なるシステムの組み合わせを含むことができる。1つの例では、車両100は、推進システム、ブレーキシステム、ステアリングシステム、スロットルシステム、トランスミッションシステム、信号システム、ナビゲーションシステムなどを含むことができる。前述のシステムは、1つ以上のデバイス、コンポーネント、及び/又はそれらの組み合わせを別々に又は組み合わせて含むことができる。
例として、ナビゲーションシステムは、車両100の地理的位置を決定し、及び/又は車両100の走行経路を決定するように構成された、1つ以上のデバイス、アプリケーション、及び/又はそれらの組み合わせを含むことができる。ナビゲーションシステムは、車両100の走行経路を決定するための1つ以上のマッピングアプリケーションを含むことができる。ナビゲーションシステムは、グローバルポジショニングシステム、ローカルポジショニングシステム、又はジオロケーションシステムを含むことができる。
プロセッサ110、管理システム170、及び/又は支援システム160は、様々な車両システム150及び/又はその個々のコンポーネントと通信するように動作可能に接続することができる。例えば、図1に戻ると、プロセッサ110、管理システム170、及び/又は、支援システム160は、車両100の動き、速度、操縦、進路、方向などを制御するために、様々な車両システム150と情報を送信及び/又は受信するように通信することができる。プロセッサ110、管理システム170、及び/又は支援システム160は、これら車両システム150の一部又はすべてを制御することができ、従って、部分的又は完全に自律的であり得る。
プロセッサ110、管理システム170、及び/又は支援システム160は、1つ以上の車両システム150及び/又はそれらのコンポーネントを制御することによって、車両100の航行及び/又は操縦を制御するように動作可能であり得る。例えば、自律モードで動作する場合、プロセッサ110、管理システム170、及び/又は支援システム160は、車両100の方向及び/又は速度を制御することができる。プロセッサ110、管理システム170、及び/又は支援システム160は、車両100を加速させ(例えば、エンジンに与えられるエネルギーの供給を増加させることによって)、減速させ(例えば、エンジンへのエネルギーの供給を減少させる、及び/又はブレーキをかけることによって)、及び/又は、方向を変化させる(例えば、前輪2輪を回すことによって)ことができる。
さらに、管理システム170及び/又は支援システム160は、さまざまな運転関連タスクを実行するように機能することができる。車両100は、1つ以上のアクチュエータを含むことができる。アクチュエータは、プロセッサ110及び/又は支援システム160からの信号又は他の入力の受信に応答して、1つ以上の車両システム又はそのコンポーネントを修正、調整、及び/又は変更するように動作可能な任意の要素又は要素の組み合わせとすることができる。任意の適切なアクチュエータが使用され得る。例えば、1つ以上のアクチュエータは、いくつかの可能性を挙げると、モータ、空気圧アクチュエータ、油圧ピストン、リレー、ソレノイド、及び/又は圧電アクチュエータを含むことができる。
車両100は、1つ以上のモジュールを含むことができ、そのうちの少なくともいくつかは本明細書に記載されている。モジュールは、プロセッサ110による実行時に、本明細書に記載された様々なプロセスのうちの1つ以上を実行するコンピュータ可読プログラムコードとして実装することができる。1つ以上のモジュールは、プロセッサ110のコンポーネントとすることができ、又は1つ以上のモジュールは、プロセッサ110が動作可能に接続されている他の処理システム上で実行及び/又は他の処理システム間で分散することができる。モジュールは、1つ以上のプロセッサ110によって実行可能な命令(例えば、プログラムロジック)を含むことができる。代替的に、あるいは追加して、1つ以上のデータストア115が、そのような命令を含むことができる。
1つ以上の構成において、本明細書に記載の1つ以上のモジュールは、人工又は計算知能要素、例えばニューラルネットワーク、ファジーロジック、又は他の機械学習アルゴリズムを含むことができる。さらに、1つ以上の構成において、1つ以上のモジュールが、本明細書で説明される複数のモジュールに分散されることができる。1つ以上の構成では、本明細書に記載のモジュールのうちの2つ以上を組み合わせて単一のモジュールにすることができる。
車両100は、支援システム160を形成する1つ以上のモジュールを含むことができる。支援システム160は、センサシステム120から、及び/又は、車両100及び/又は車両100の外部環境に関する情報を取得できる任意の他のタイプのシステムから、データを受信するように構成することができる。1つ以上の構成では、支援システム160は、そのようなデータを使用して、1つ以上の運転シーンモデルを生成することができる。支援システム160は、車両100の位置及び速度を決定することができる。支援システム160は、障害物、又は、交通標識、樹木、低木、近隣車両、歩行者などを含む他の環境的特徴の位置を決定することができる。
支援システム160は、プロセッサ110、及び/又は本明細書に記載の1つ以上のモジュールによる使用のため、車両100の外部環境内の障害物の位置情報を受信及び/又は決定するように構成され、車両100の位置及び向き、複数の衛星からの信号に基づくグローバル座標における車両位置、又は、車両100の現在の状態を決定するために、又は地図を作成するか、地図データに関して車両100の位置を決定するかのいずれかでの使用のため環境に対する車両100の位置を決定するために使用され得る任意の他のデータ及び/又は信号を推定する。
支援システム160は、独立して又は管理システム170と組み合わせて、センサシステム120によって取得されたデータ、運転シーンモデル、及び/又はシステム状態からの判定などの任意の他の適切なソースからのデータに基づいて、移動経路、車両100の現在の自律運転操作、将来の自律運転操作、及び/又は現在の自律運転操作に対する修正を決定するように構成することができる。「運転操作」とは、車両の動きに影響を与える1つ以上のアクションを意味する。運転操作の例には、いくつかの可能性を挙げると、加速、減速、ブレーキ、旋回、車両100の横方向への移動、走行車線の変更、走行車線への合流、及び/又は後退が含まれる。支援システム160は、決定された運転操作を実施するように構成することができる。支援システム160は、直接的又は間接的に、そのような自律運転操作を実行させることができる。本明細書で使用される場合、「させる」又は「させている」は、直接的又は間接的に、イベント又はアクションが発生するように又は少なくともそのようなイベント又はアクションが発生し得る状態となるようにする、命令する、指示する、及び/又は可能にすることを意味する。支援システム160は、様々な車両機能を実行し、及び/又は車両100又はその1つ以上のシステム(例えば、車両システム150の1つ以上)にデータを送信し、それらからデータを受信し、それらと相互作用し、及び/又はそれらを制御するように構成することができる。
詳細な実施形態が本明細書に開示される。しかしながら、開示された実施形態は、例としてのみ意図されていることを理解されたい。従って、本明細書に開示される特定の構造的及び機能的詳細は、限定するものとして解釈されるべきではなく、単に請求項の基礎として、及び、実質的に任意の適切な詳細な構造で本明細書の態様を様々に使用することを当業者に教示するための代表的な基礎としてのみ解釈されるべきである。さらに、本明細書で使用される用語及び語句は、限定することを意図するものではなく、むしろ可能な実施形態の理解可能な説明を提供することを意図している。様々な実施形態が図1~図5に示されているが、実施形態は、図示された構造又は用途に限定されない。
図中のフローチャート及びブロック図は、様々な実施形態による、システム、方法、及びコンピュータプログラム製品の可能な実施形態のアーキテクチャ、機能、及び動作を示している。これに関して、フローチャート又はブロック図の各ブロックは、特定される論理機能を実行するための1つ以上の実行可能な命令を含むモジュール、セグメント、又はコードの一部を表すことができる。また、一部の代替実施形態では、ブロックに記載されている機能が、図に記載されている順序とは異なる順序で発生する場合があることにも注意されたい。例えば、連続して示された2つのブロックは、実際には、実質的に同時に実行されても良いし、関係する機能に応じて、時には、ブロックが逆の順序で実行されても良い。
上記のシステム、コンポーネント、及び/又はプロセスは、ハードウェア又はハードウェアとソフトウェアの組み合わせで実現でき、1つの処理システムにおいて集中方式によって、又は、様々な要素が相互接続されたいくつかの処理システムに分散している分散方式によって実現することができる。本明細書に記載の方法を実行するように適合された任意の種類の処理システム又は別の装置が適している。ハードウェアとソフトウェアの組み合わせが、コンピュータで使用可能なプログラムコードを備えた処理システムであり、読み込まれて実行されるとき、本明細書で説明する方法を実行するように処理システムを制御する。システム、コンポーネント、及び/又はプロセスはまた、コンピュータプログラム製品又は他のデータプログラム記憶装置などのコンピュータ読み取り可能ストレージに埋め込まれ、機械によって読み取り可能であり、本明細書に記載された方法及びプロセスを実行するために機械によって実行可能な命令のプログラムを実体的に具現化することができる。これらの要素は、本明細書に記載の方法の実施を可能にする全ての特徴を備え、処理システムにロードされたときにこれらの方法を実行できるアプリケーション製品に組み込むこともできる。
さらに、本明細書で説明された構成は、例えば記憶されて、具現化されるコンピュータ可読プログラムコードを有する1つ以上のコンピュータ可読媒体に具現化されるコンピュータプログラム製品の形をとることができる。1つ以上のコンピュータ可読媒体の任意の組み合わせが利用されてもよい。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体であり得る。「コンピュータ可読記憶媒体」との語句は、非一時的な記憶媒体を意味する。コンピュータ可読媒体は、限定されるものではないが、不揮発性媒体及び揮発性媒体を含む、形態をとることができる。不揮発性媒体には、例えば、光ディスク、磁気ディスクなどが含まれ得る。揮発性媒体には、例えば、半導体メモリ、ダイナミックメモリなどが含まれ得る。このようなコンピュータ可読媒体の例には、限定されるものではないが、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の磁気媒体、ASIC、CD、他の光学媒体、RAM、ROM、メモリチップ又はカード、メモリスティック、及びコンピュータ、プロセッサ、又は他の電子デバイスが読み取ることが可能な他の媒体が含まれる。本明細書の文脈において、コンピュータ可読記憶媒体は、命令実行システム、装置、又はデバイスによる使用のための、又はそれと接続された、プログラムを含むことができる又は格納できる任意の有形の媒体であっても良い。
以下は、本明細書で使用される選択された用語の定義を含む。定義は、用語の範囲内にあり、様々な実施形態に使用できる様々な例及び/又はコンポーネントの形式を含む。例は、限定することを意図していない。用語の単数形と複数形の両方が定義内に含まれ得る。
「1つの実施形態」、「一実施形態」、「1つの例」、「一例」などへの言及は、そのように記載された実施形態又は例が、特定の特徴、構造、特性、性質、要素、又は制限を含み得ることを示すが、すべての実施形態又は例が、必ずしも、その特定の特徴、構造、特性、性質、要素、又は制限を含むわけではないことを示す。さらに、「1つの実施形態では」という語句の繰り返しの使用は、同じ実施形態を指す場合もあるが、必ずしもそうとは限らない。
本明細書で使用される「モジュール」は、機能又はアクションを実行するように構成された、及び/又は、別のロジック、方法、及び/又はシステムから機能又はアクションを発揮させるように構成された、コンピュータ又は電気ハードウェアコンポーネント、ファームウェア、命令を格納する非一時的コンピュータ可読媒体、及び/又は、これらのコンポーネントの組み合わせを含む。モジュールは、アルゴリズムによって制御されるマイクロプロセッサ、ディスクリート論理回路(例えば、ASIC)、アナログ回路、デジタル回路、プログラムされた論理デバイス、実行時にアルゴリズムを実行する命令を含むメモリデバイスなどを含むことができる。モジュールは、1つ以上の実施形態では、1つ以上のCMOSゲート、ゲートの組み合わせ、又は他の回路コンポーネントを含む。複数のモジュールが説明される場合、1つ以上の実施形態では、複数のモジュールを1つの物理的なモジュールコンポーネントに組み込むことを含む。同様に、単一のモジュールが説明される場合、1つ以上の実施形態では、複数の物理的なコンポーネント間に、単一のモジュールを分散させることを含む。
さらに、本明細書で使用されるモジュールは、特定のタスクを実行する、又は、特定のデータ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。さらなる態様では、メモリは、一般に、記載されたモジュールを格納する。モジュールに関連付けられたメモリは、プロセッサ内に埋め込まれたバッファ又はキャッシュ、RAM、ROM、フラッシュメモリ、又は、別の適切な電子記憶媒体であっても良い。さらに別の態様では、本開示によって想定されるモジュールは、特定用途向け集積回路(ASIC)、システムオンチップ(SoC)のハードウェアコンポーネント、プログラマブルロジックアレイ(PLA)、又は開示された機能を実行するための定義された構成セット(例えば、命令)が組み込まれた別の適切なハードウェアコンポーネントとして実現される。
1つ以上の構成において、本明細書で説明する1つ以上のモジュールは、人工又は計算知能要素、例えば、ニューラルネットワーク、ファジー論理、又は他の機械学習アルゴリズムを含むことができる。さらに、1つ以上の構成では、1つ以上のモジュールは、本明細書で説明する複数のモジュールに分散させることができる。1つ以上の構成において、本明細書に記載の2つ以上のモジュールは単一のモジュールに組み合わせることができる。
コンピュータ可読媒体に具現化されるプログラムコードは、無線、有線、光ファイバ、ケーブル、RFなど、又は、前述の任意の適切な組み合わせを含むが、これらに限定されない任意の適切な媒体を使用して送信され得る。本構成の態様の動作を実行するためのコンピュータプログラムコードは、Java(登録商標)、Smalltalk、C++などのオブジェクト指向プログラミング言語、及び、Cプログラミング言語又は同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで記述することができる。プログラムコードは、スタンドアロンソフトウェアパッケージとして、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、あるいは、一部をユーザのコンピュータ上でかつ一部をリモートコンピュータ上で、もしくは、完全にリモートコンピュータ又はサーバ上で実行することができる。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されても良く、又は、その接続が外部コンピュータ(例えば、インターネットサービスプロバイダを使用してインターネットを介して)になされても良い。
本明細書で使用される要素の数は、1つ、又は、2つ以上として定義される。本明細書で使用される「複数」という用語は、2つ、又は、3つ以上として定義される。本明細書で使用される「別の」という用語は、少なくとも2番目、又は、それ以上として定義される。本明細書で使用される「含む」、及び/又は、「有する」という用語は、「備える」を意味し、すなわち、他の要素の存在を許容する用語として定義される。本明細書で使用される「・・・と・・・との少なくとも1つ」という表現は、関連付けて列挙された項目の1つ、又は、複数のありとあらゆる可能な組み合わせを指し、それらを包含する。一例として、「A、B、及び、Cのうちの少なくとも1つ」という表現は、Aのみ、Bのみ、Cのみ、又はそれらの任意の組み合わせ(例えば、AB、AC、BC、又は、ABC)を含む。
本明細書の態様は、その主旨又は本質的な特質から逸脱することなく、他の形態で具現化することができる。従って、本明細書の範囲を示すものとして、前述した明細書ではなく、以下の特許請求の範囲を参照すべきである。
100:車両、110:プロセッサ、115:データストア、120:センサシステム、121:車両センサ、122:環境センサ、130:入力システム、140:出力システム、150:車両システム、160:支援システム、170:管理システム、210:メモリ、220:制御モジュール、230:データストア、240:グラフ

Claims (17)

  1. 1つ以上のプロセッサと、
    1つ以上のプロセッサに通信可能に結合されたメモリと、を含み、
    メモリは、1つ以上のプロセッサによる実行時に、1つ以上のプロセッサに、
    管理デバイスにおいて、ソフトウェアパッケージと関連付けられたエンティティの固有の識別子と、固有の識別子ソフトウェアパッケージのパッケージ識別子と組み合わせをハッシュして生成される安全な識別子とを含む、リモートデバイスにインストールされたソフトウェアパッケージに関する識別情報を取得させる命令、
    脆弱性の識別に応答して、安全な識別子を生成する際に実行されるプロセスを模倣するべく、エンティティの固有の識別子と、脆弱性を含む脆弱なパッケージを識別するパッケージ識別子に対応する脆弱性ラベルとの組み合わせをハッシュして、脆弱性識別子を生成させる命令、
    ソフトウェアパッケージに脆弱性が含まれかどうかを判断するために、脆弱性識別子を安全な識別子と比較させる命令、及び
    脆弱性識別子が安全な識別子と一致する場合に、脆弱性に関する対応を提供させる命令、を含む制御モジュールを格納する管理システム。
  2. 安全な識別子は、パッケージ識別子を固有の識別子と組み合わせて、組み合わせ識別子を形成し、そして、組み合わせ識別子をハッシュすることにより生成され、組み合わせ識別子が識別されないよう偽装される、請求項1の管理システム。
  3. 組み合わせ識別子は、固有の識別子をパッケージ識別子に付加することによって形成される、請求項2の管理システム。
  4. 制御モジュールが含む脆弱性識別子を安全な識別子と比較する命令は、ソフトウェアパッケージを含むソフトウェアコンポーネント間の関係を示すグラフに従って定義される、リモートデバイスの安全な複数の識別子と脆弱性識別子を比較する命令を含む、請求項1の管理システム。
  5. 制御モジュールが含む対応を提供する命令は、脆弱性を解決するためのパッチを含む、リモートデバイスへの警告を生成する命令を含む、請求項1の管理システム。
  6. 制御モジュールが含む脆弱性を識別する命令は、脆弱性に関連するソフトウェアを特定する速報通信を受信する命令を含み、リモートデバイスは車両である、請求項1の管理システム。
  7. 管理デバイスは、複数の異なるエンティティのソフトウェアパッケージを管理するために、安全識別子を集中データベースに保持する、請求項1の管理システム。
  8. 1つ以上のプロセッサによる実行時に、1つ以上のプロセッサに、
    管理デバイスにおいて、ソフトウェアパッケージと関連付けられたエンティティの固有の識別子と、固有の識別子ソフトウェアパッケージのパッケージ識別子と組み合わせをハッシュして生成される安全な識別子とを含む、リモートデバイスにインストールされたソフトウェアパッケージに関する識別情報を取得させる命令、
    脆弱性の識別に応答して、安全な識別子を生成する際に実行されるプロセスを模倣するべく、エンティティの固有の識別子と、脆弱性を含む脆弱なパッケージを識別するパッケージ識別子に対応する脆弱性ラベルとの組み合わせをハッシュして、脆弱性識別子を生成させる命令、
    ソフトウェアパッケージに脆弱性が含まれかどうかを判断するために、脆弱性識別子を安全な識別子と比較させる命令、及び
    脆弱性識別子が安全な識別子と一致する場合に、脆弱性に関する対応を提供させる命令、を格納する非一時的コンピュータ可読記憶媒体。
  9. 安全な識別子は、パッケージ識別子を固有の識別子と組み合わせて、組み合わせ識別子を形成し、そして、組み合わせ識別子をハッシュすることにより生成され、組み合わせ識別子が識別されないよう偽装される、請求項の非一時的コンピュータ可読記憶媒体。
  10. 組み合わせ識別子は、固有の識別子をパッケージ識別子に付加することによって形成される、請求項の非一時的コンピュータ可読記憶媒体。
  11. 脆弱性識別子を安全な識別子と比較する命令は、ソフトウェアパッケージを含むソフトウェアコンポーネント間の関係を示すグラフに従って定義される、リモートデバイスの安全な複数の識別子と脆弱性識別子を比較する命令を含む、請求項の非一時的コンピュータ可読記憶媒体。
  12. 1つ以上のプロセッサによって実行される方法であって、
    管理デバイスにおいて、ソフトウェアパッケージと関連付けられたエンティティの固有の識別子と、固有の識別子とソフトウェアパッケージのパッケージ識別子と組み合わせをハッシュして生成される安全な識別子とを含む、リモートデバイスにインストールされたソフトウェアパッケージに関する識別情報を取得すること、
    脆弱性の識別に応答して、安全な識別子を生成する際に実行されるプロセスを模倣するべく、エンティティの固有の識別子と、脆弱性を含む脆弱なパッケージを識別するパッケージ識別子に対応する脆弱性ラベルとの組み合わせをハッシュして、脆弱性識別子を生成すること、
    ソフトウェアパッケージに脆弱性が含まれかどうかを判断するために、脆弱性識別子を安全な識別子と比較すること、及び
    脆弱性識別子が安全な識別子と一致する場合に、脆弱性に関する対応を提供すること、を備える方法。
  13. 安全な識別子は、パッケージ識別子を固有の識別子と組み合わせて、組み合わせ識別子を形成し、そして、組み合わせ識別子をハッシュすることにより生成され、組み合わせ識別子が識別されないよう偽装される、請求項12の方法。
  14. 組み合わせ識別子は、固有の識別子をパッケージ識別子に付加することによって形成される、請求項13の方法。
  15. 脆弱性識別子を安全な識別子と比較することには、ソフトウェアパッケージを含むソフトウェアコンポーネント間の関係を示すグラフに従って定義される、リモートデバイスの安全な複数の識別子と脆弱性識別子を比較することが含まれる、請求項1の方法。
  16. 対応を提供することには、脆弱性を解決するためのパッチを含む、リモートデバイスへの警告を生成することが含まれる、請求項12の方法。
  17. 脆弱性を識別することは、脆弱性に関連するソフトウェアを特定する速報通信を受信することが含まれ、リモートデバイスは車両である、請求項12の方法。
JP2023033952A 2022-03-10 2023-03-06 ソフトウェアパッケージ構成情報の保護 Active JP7491424B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/691,474 2022-03-10
US17/691,474 US12039056B2 (en) 2022-03-10 2022-03-10 Securing software package composition information

Publications (2)

Publication Number Publication Date
JP2023133209A JP2023133209A (ja) 2023-09-22
JP7491424B2 true JP7491424B2 (ja) 2024-05-28

Family

ID=87931794

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023033952A Active JP7491424B2 (ja) 2022-03-10 2023-03-06 ソフトウェアパッケージ構成情報の保護

Country Status (2)

Country Link
US (1) US12039056B2 (ja)
JP (1) JP7491424B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020004006A (ja) 2018-06-27 2020-01-09 Nttテクノクロス株式会社 脆弱性管理装置、脆弱性管理方法及びプログラム
US20200074084A1 (en) 2018-08-29 2020-03-05 Microsoft Technology Licensing, Llc Privacy-preserving component vulnerability detection and handling
WO2020050355A1 (ja) 2018-09-05 2020-03-12 Necソリューションイノベータ株式会社 脆弱性情報管理装置、脆弱性情報管理方法、およびプログラム
CN111104677A (zh) 2019-12-18 2020-05-05 哈尔滨安天科技集团股份有限公司 基于cpe规范的漏洞补丁检测方法及装置
JP2021012428A (ja) 2019-07-03 2021-02-04 本田技研工業株式会社 ソフトウェア更新装置、サーバ装置、ソフトウェア更新方法、およびプログラム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8434151B1 (en) * 2008-01-04 2013-04-30 International Business Machines Corporation Detecting malicious software
JP5781616B2 (ja) * 2011-09-08 2015-09-24 株式会社日立製作所 脆弱性対策装置、および脆弱性対策方法
GB2507357B (en) * 2013-01-21 2016-04-20 F Secure Corp Agent based application reputation system for operating systems
US9565202B1 (en) * 2013-03-13 2017-02-07 Fireeye, Inc. System and method for detecting exfiltration content
US10223534B2 (en) * 2015-10-15 2019-03-05 Twistlock, Ltd. Static detection of vulnerabilities in base images of software containers
CN105912926A (zh) * 2016-04-28 2016-08-31 北京小米移动软件有限公司 合法安装包获取方法、装置及系统
US20170353476A1 (en) * 2016-06-06 2017-12-07 Google Inc. Disabling Malicious Browser Extensions
US10678921B2 (en) * 2016-09-30 2020-06-09 AVAST Software s.r.o. Detecting malware with hash-based fingerprints
US10579803B1 (en) * 2016-11-17 2020-03-03 Jpmorgan Chase Bank, N.A. System and method for management of application vulnerabilities
US11100232B1 (en) * 2017-02-23 2021-08-24 Ivanti, Inc. Systems and methods to automate networked device security response priority by user role detection
EP3797372B1 (en) * 2018-05-21 2024-09-11 Google LLC Identifying malicious software
US10896260B2 (en) * 2018-10-16 2021-01-19 International Business Machines Corporation Implementing package vulnerability assessment for microcontainers
GB2579034B (en) * 2018-11-15 2021-05-05 Trustonic Ltd Software installation method
US11861595B2 (en) * 2018-12-19 2024-01-02 Jpmorgan Chase Bank , N.A. Systems and methods for generation and use of a device wallet identifier
US20200242251A1 (en) * 2019-01-24 2020-07-30 Citrix Systems, Inc. Providing application security, validation and profiling to an application
WO2020168194A1 (en) * 2019-02-15 2020-08-20 Bug Zero Llc Techniques for identifying and remediating operational vulnerabilities
US11336684B2 (en) * 2019-06-07 2022-05-17 Lookout, Inc. Mobile device security using a secure execution context
US11593491B2 (en) * 2019-10-30 2023-02-28 Rubrik, Inc. Identifying a software vulnerability
US11770385B2 (en) * 2019-12-31 2023-09-26 Paypal, Inc. Systems and methods for malicious client detection through property analysis
KR102340021B1 (ko) * 2020-06-08 2021-12-21 한국전자통신연구원 컨테이너 이미지에 대한 보안 가시성 제공 방법 및 장치
US11392705B1 (en) * 2021-07-29 2022-07-19 Netskope, Inc. Disk encryption key management for booting of a device
WO2023239813A1 (en) * 2022-06-09 2023-12-14 Darktrace Holdings Limited A unifying of the network device entity and the user entity for better cyber security modeling along with ingesting firewall rules to determine pathways through a network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020004006A (ja) 2018-06-27 2020-01-09 Nttテクノクロス株式会社 脆弱性管理装置、脆弱性管理方法及びプログラム
US20200074084A1 (en) 2018-08-29 2020-03-05 Microsoft Technology Licensing, Llc Privacy-preserving component vulnerability detection and handling
WO2020050355A1 (ja) 2018-09-05 2020-03-12 Necソリューションイノベータ株式会社 脆弱性情報管理装置、脆弱性情報管理方法、およびプログラム
JP2021012428A (ja) 2019-07-03 2021-02-04 本田技研工業株式会社 ソフトウェア更新装置、サーバ装置、ソフトウェア更新方法、およびプログラム
CN111104677A (zh) 2019-12-18 2020-05-05 哈尔滨安天科技集团股份有限公司 基于cpe规范的漏洞补丁检测方法及装置

Also Published As

Publication number Publication date
US12039056B2 (en) 2024-07-16
US20230289448A1 (en) 2023-09-14
JP2023133209A (ja) 2023-09-22

Similar Documents

Publication Publication Date Title
Liu et al. Computing systems for autonomous driving: State of the art and challenges
El-Rewini et al. Cybersecurity attacks in vehicular sensors
US20230022152A1 (en) Systems and methods for implementing data security
Dominic et al. Risk assessment for cooperative automated driving
US11900663B2 (en) Computer-assisted or autonomous driving traffic sign recognition method and apparatus
JP7491423B2 (ja) リスクスコアに応じた事象対応
US10852734B2 (en) Autonomous driving device
US10754348B2 (en) Encoded road striping for autonomous vehicles
US10054678B2 (en) Minimizing incorrect sensor data associations for autonomous vehicles
JP2020057379A (ja) 車両制御パラメータのキャリブレーション方法、装置、車載コントローラ及び無人車両
US20180218606A1 (en) Systems and methods for operating a vehicle on a roadway
KR20220054549A (ko) 차량용 프로세서의 안전한 부트
US20210109538A1 (en) Restricted area autonomous vehicle control techniques
US20210064778A1 (en) Systems and methods for securing personally identifiable information within telematics data
CN110869865B (zh) 用于运行较高程度自动化的车辆(haf)、尤其高度自动化车辆的方法
Certad et al. Jku-its automobile for research on autonomous vehicles
JP7491424B2 (ja) ソフトウェアパッケージ構成情報の保護
CN114691800A (zh) 数据处理方法、装置及计算机可读存储介质
JP7494968B2 (ja) 実行シーケンス処理を通じてのブートシーケンスの検証
Bock Unsettled issues on HD mapping technology for autonomous driving and ADAS
US20210110622A1 (en) System and method for capturing data stored on a volatile memory
US20230290193A1 (en) Detecting tampering of an electronic device
US20230306110A1 (en) Dynamic adaptation of memory elements to prevent malicious attacks
US20240118692A1 (en) System and method for preforming live migration from a source host to a target host
US20230199450A1 (en) Autonomous Vehicle Communication Gateway Architecture

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230306

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240403

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240416

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240429

R150 Certificate of patent or registration of utility model

Ref document number: 7491424

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150