(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-12
(45)【発行日】2024-06-20
(54)【発明の名称】サイバーセキュリティペネトレーションテストプラットフォーム
(51)【国際特許分類】
G06F 21/57 20130101AFI20240613BHJP
G06F 11/36 20060101ALI20240613BHJP
【FI】
G06F21/57 370
G06F11/36 168
【外国語出願】
(21)【出願番号】P 2019182805
(22)【出願日】2019-10-03
【審査請求日】2022-10-03
(32)【優先日】2019-06-28
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514046574
【氏名又は名称】キーサイト テクノロジーズ, インク.
(74)【代理人】
【識別番号】100099623
【氏名又は名称】奥山 尚一
(74)【代理人】
【氏名又は名称】松島 鉄男
(74)【代理人】
【識別番号】100125380
【氏名又は名称】中村 綾子
(74)【代理人】
【識別番号】100142996
【氏名又は名称】森本 聡二
(74)【代理人】
【識別番号】100166268
【氏名又は名称】田中 祐
(74)【代理人】
【識別番号】100170379
【氏名又は名称】徳本 浩一
(74)【代理人】
【識別番号】100180231
【氏名又は名称】水島 亜希子
(74)【代理人】
【氏名又は名称】有原 幸一
(72)【発明者】
【氏名】ミヒャエル・メッツガー
(72)【発明者】
【氏名】トーマス・ライフェルト
(72)【発明者】
【氏名】スティーヴン・リー・マグレゴリー
(72)【発明者】
【氏名】ディーン・リー
【審査官】岸野 徹
(56)【参考文献】
【文献】特開2006-107387(JP,A)
【文献】特開2018-013921(JP,A)
【文献】米国特許出願公開第2005/0160286(US,A1)
【文献】特開2019-207593(JP,A)
【文献】米国特許出願公開第2007/0185627(US,A1)
【文献】米国特許出願公開第2018/0205754(US,A1)
【文献】米国特許出願公開第2014/0331752(US,A1)
【文献】五島 智明,ネットワークおよびシステムのセキュリティの継続的改善を支援する遠隔システムに関する研究,電子情報通信学会技術研究報告 Vol.103 No.577,日本,社団法人電子情報通信学会,2004年01月16日,第103巻,pp.37-42
【文献】遊☆月,「脆弱性スキャンから攻撃コード(Exploit)実行まで! Nessus超入門」,ハッカージャパン,日本,白夜書房,2013年03月01日,pp.60-73
【文献】加藤 大受 Daiju KATO,オープンソースツール活用ガイド,ソフトウェア・テストPRESS Vol.5 ,日本,(株)技術評論社,2007年08月25日,第5巻
【文献】上林 達,制御システムのセキュリティ改善サイクルとセキュリティ演習,東芝レビュー,日本,株式会社東芝,2014年01月01日,69巻1号,pp.10-13
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/57
G06F 11/36
(57)【特許請求の範囲】
【請求項1】
実行可能命令を記憶するメモリと、該メモリから取り出された前記命令を実行するように構成されたプロセッサとを備えるテストシステムが、攻撃技法及び既知の開放面のうちの1つ以上を受信することと、
前記テストシステムが、回路に対して攻撃を実行して、該回路の脆弱面を決定することと、
前記テストシステムが、新たな開放面が前記回路に存在するとき、該新たな開放面に基づいて攻撃計画を更新することを決定することと、
前記テストシステムが、前記攻撃計画を実行することと、
前記テストシステムが、前記開放面及び前記脆弱面の報告を作成することと、
前記テストシステムが、リグレッションテストスイートを更新して、前記回路の新たに発見された開放面に対する新たな攻撃技法を含めること
と
を含む、
前記テストシステムにより複数の回路をテストして開放面を決定する方法。
【請求項2】
前記テストシステムは、前記攻撃を実行した後に
、新たな開放面が前記回路に存在しないとき、前記攻撃計画を更新しないことを決定することと、
前記テストシステムは、前記攻撃を実行した後に、前記攻撃計画を実行すること
と
を更に含む、請求項1に記載の方法。
【請求項3】
前記テストシステムは、前記攻撃計画を実行した後に
、前記回路の前記決定された開放面の報告を作成するこ
とを更に含む、請求項2に記載の方法。
【請求項4】
前記報告は、新たに発見された攻撃面若しくは新たに決定された開放面又はそれらの双方を含む、請求項1に記載の方法。
【請求項5】
前記テストシステムは、前記新たに発見された攻撃面又は前記新たに発見された開放面を前記リグレッションテストスイートに記憶することを更に含む、請求項4に記載の方法。
【請求項6】
前記テストシステムは開放ポートにおけるサービスがいつ知られたのかを求めることと、
前記テストシステムは前記開放面における前記サービスがいつ知られたのかを前記求めた後に、前記開放ポートに対してエクスプロイトサービスを実行することとを更に含む、請求項1に記載の方法。
【請求項7】
実行可能命令を記憶するメモリと、該メモリから取り出された前記命令を実行するように構成されたプロセッサとを備えるテストオートメーションプラットフォームを備え、
前記命令は、前記プロセッサによって実行されると、
攻撃技法、既知の開放面のうちの1つ以上を受信することと、
回路に対して攻撃を実行して、該回路の脆弱面を決定することと、
新たな開放面が前記回路に存在するとき、該新たな開放面に基づいて攻撃計画を更新することを決定することと、
前記攻撃計画を実行することと、
前記開放面及び前記脆弱面の報告を作成することと、
リポジトリを更新して、前記回路の発見された新たな開放面に対する新たな攻撃技法を含めることと、
を前記プロセッサに行わせる、複数の構成要素をテストして脆弱性及び開放面を決定するシステム。
【請求項8】
前記実行可能命令を記憶するメモリは、実行されると、
新たな開放面が前記回路に存在しないとき、前記攻撃計画を更新しないことを決定することと、
前記攻撃計画の実行を遂行することと、
を前記プロセッサに更に行わせる命令を更に含む、請求項7に記載のシステム。
【請求項9】
前記実行可能命令を記憶するメモリは、実行されると、
前記攻撃計画の実行を遂行した後に、前記回路の前記決定された開放面の報告を作成すること、
を前記プロセッサに更に行わせる命令を更に含む、請求項7に記載のシステム。
【請求項10】
前記メモリは、
セキュリティツールキットと、
テストスイートと、
攻撃データベースと、
を更に含む、請求項7に記載のシステム。
【請求項11】
前記テストスイート及び前記攻撃データベースは、前記命令の少なくとも一部分を含む、請求項10に記載のシステム。
【請求項12】
前記セキュリティツールキットは、前記攻撃計画を実行する前記命令を含む、請求項10に記載のシステム。
【請求項13】
エミュレータを更に備え、
前記エミュレータは、各通信レイヤが前記回路に固有のプロトコルに基づいて前記攻撃計画を前記回路に送信するように適合された複数の通信レイヤを備える、請求項10に記載のシステム。
【請求項14】
前記プロセッサは第1のプロセッサであり、前記回路は第1の回路であり、前記システムは、企業プラットフォームを更に備え、
前記企業プラットフォームは、前記メモリから取り出された前記命令を実行するように構成された第2のプロセッサを備え、前記命令は、実行されると、前記第1のプロセッサに第2の回路のテストを実行させる、請求項13に記載のシステム。
【請求項15】
前記メモリは、セキュリティテストスイート及び攻撃データベースを含む、請求項10に記載のシステム。
【請求項16】
前記メモリは、顧客脅威ライブラリ及び顧客脅威データベースを更に含む、請求項10に記載のシステム。
【請求項17】
前記リポジトリはリグレッションテストスイートである、請求項10に記載のシステム。
【請求項18】
プロセッサにおいて実行可能な機械実行可能命令を記憶する非一時的コンピュータ可読記憶媒体であって、前記機械実行可能命令は、前記プロセッサによって実行されると、前記プロセッサに方法を実行させ、該方法は、
攻撃技法及び既知の開放面のうちの1つ以上を受信することと、
回路に対して攻撃を実行して、該回路の脆弱面を決定することと、
新たな開放面が前記回路に存在するとき、該新たな開放面に基づいて攻撃計画を更新することを決定することと、
前記攻撃計画を実行することと、
前記開放面及び前記脆弱面の報告を作成することと、
リグレッションテストスイートを更新して、前記回路の新たに発見された開放面に対する新たな攻撃技法を含めることと、
を含む、非一時的コンピュータ可読記憶媒体。
【請求項19】
前記方法は、前記攻撃を実行した後に、
新たな開放面が前記回路に存在しないとき、前記攻撃計画を更新しないことを決定する
ことと、
前記攻撃計画を実行することと、
を更に含む、請求項18に記載の非一時的コンピュータ可読
記憶媒体。
【請求項20】
前記方法は、
前記攻撃を実行した後に、
前記回路の前記決定された開放面の報告を作成すること、
を更に含む、請求項18に記載の非一時的コンピュータ可読
記憶媒体。
【発明の詳細な説明】
【背景技術】
【0001】
多くの現代の機器は、インターネット及び周囲のインフラストラクチャに接続されるように構成されている。例えば、現代の自動車、列車、飛行機、農機具及びドローンは、多くの異なるシステムの機能を可能にする様々な有線インタフェース及び無線インタフェースを有するローリングコンピュータクラスタ(rolling computer cluster)を備える。
【0002】
これらのシステムの各々は、インターネット又は他のネットワークに対する1つ以上のインタフェースを有し、このため、開放面(open surfaces)に対する攻撃に対して潜在的に脆弱である。これによって、そのような機器は、サイバー攻撃にとって最も重要なものになり、その結果、機器の様々な構成要素からデータが盗まれる可能性があるだけでなく、機器内のシステムの機能不全をもたらす可能性もある。
【0003】
単なる例として、自動車産業は、サイバー攻撃から構成要素(例えば、電子制御ユニット(ECU)及びテレマティクス制御ユニット(TCU))を保護することを試みているが、これらの技法がサイバー攻撃を回避するのに効果的であることを確認することが必要である。例えば、自動車製造業者は、様々なECU及びTCUにおけるハードウェア、ファームウェア及びソフトウェアを含む様々な構成要素の実装がサイバー攻撃から安全であることを確認する必要がある。
【発明の概要】
【0004】
したがって、エクスプロイト及び攻撃に対して脆弱な構成要素をテストするシステムが必要とされている。
【0005】
例示的な実施形態は、以下の詳細な説明を添付図面の図とともに読むことによって最もよく理解される。種々の特徴は必ずしも一律の縮尺で描かれていないことを強調しておく。実際には、寸法は、議論を明瞭にするために任意に増減させることができる。適用可能な箇所及び実際に役立つ箇所であればどの箇所でも、同様の参照符号は同様の要素を参照する。
【図面の簡単な説明】
【0006】
【
図1】自動車と、様々なタイプの通信システムとの自動車の接続ソースとを示す簡略ブロック図である。
【
図2】代表的な実施形態による、自動車内の構成要素における開放面を特定するように構成されたテストシステムを示す簡略ブロック図である。
【
図3】代表的な実施形態によるテストオートメーションプラットフォームの簡略ブロック図である。
【
図4】代表的な実施形態による、
図2のテストシステムの様々な態様の簡略ブロック図である。
【
図5】代表的な実施形態による、機器をテストして自動車内の構成要素における開放面を特定する方法の簡略フロー図である。
【発明を実施するための形態】
【0007】
以下の詳細な説明では、限定ではなく説明を目的として、具体的な詳細を開示する代表的な実施形態が、本教示による一実施形態の十分な理解を提供するために述べられる。既知のシステム、デバイス、材料、動作方法及び製造方法の説明は、代表的な実施形態の説明を不明瞭にしないように省略される場合がある。それでもなお、当業者の認識範囲内にあるシステム、デバイス、材料及び方法は、本教示の範囲内にあり、代表的な実施形態に従って用いることができる。本明細書に用いられる術語は、特定の実施形態を説明するためのものにすぎず、限定することを意図していないことが理解される。定義された用語は、本教示の技術分野において一般に理解されかつ受け入れられているようなこれらの定義された用語の技術的な意味及び科学的な意味に加えられるものである。
【0008】
用語「第1」、「第2」、「第3」等は、本明細書において様々な要素又は構成要素を説明するのに用いられる場合があるが、これらの要素又は構成要素はこれらの用語によって限定されるべきでないことが理解されるであろう。これらの用語は、或る要素又は構成要素を別の要素又は構成要素と区別するためにのみ用いられる。したがって、以下で論述する第1の要素又は構成要素は、本発明概念の教示から逸脱することなく第2の要素又は構成要素と呼ぶこともできる。
【0009】
本明細書において用いられる術語は、特定の実施形態を説明することのみを目的としたものであり、限定することを意図したものではない。本明細書及び添付の特許請求の範囲において用いられているように、単数形の用語「一(a、an)」及び「その(the)」は、文脈が明確に別段の指定をしていない限り、単数形及び複数形の双方を含むように意図されている。加えて、用語「備える/含む(comprise, comprising)」及び/又は類似の用語は、本明細書において用いられるとき、明記された特徴、要素、及び/又は構成要素の存在を明示しているが、1つ以上の他の特徴、要素、構成要素、及び/又はそれらの群の存在又は追加を排除するものではない。本明細書において用いられるような用語「及び/又は」は、列挙された関連項目のうちの1つ以上の全ての組み合わせを含む。
【0010】
特に断りのない限り、或る要素又は構成要素が、別の要素若しくは構成要素「と接続される」又は別の要素若しくは構成要素「と結合される」というとき、その要素又は構成要素は、別の要素又は構成要素と直接接続又は結合することもできるし、介在する要素又は構成要素が存在する場合もあることが理解されるであろう。すなわち、これらの用語及び類似の用語は、1つ以上の中間の要素又は構成要素が2つの要素又は構成要素を接続するのに用いられる場合があることを包含している。一方、或る要素又は構成要素が、別の要素又は構成要素と「直接接続される」というとき、これは、それらの2つの要素又は構成要素が中間の又は介在する要素又は構成要素なしで互いに接続される場合のみを包含している。
【0011】
上記に鑑み、本開示は、その様々な態様、実施形態及び/又は特定の特徴若しくは部分構成要素のうちの1つ以上を通じて、以下で具体的に言及するような利点のうちの1つ以上を引き出すように意図されている。限定ではなく説明を目的として、具体的な詳細を開示する例示の実施形態が、本教示による一実施形態の十分な理解を提供するために述べられる。しかしながら、本明細書に開示される具体的な詳細からは逸れるが、本開示に沿った他の実施形態も、添付の特許請求の範囲の範囲内にある。その上、よく知られた装置及び方法の説明は、例示の実施形態の説明を不明瞭にしないために省略される場合がある。そのような方法及び装置は、本開示の範囲内にある。
【0012】
本明細書において用いられるような「開放面」は、許可されていないユーザ(「攻撃者」)が或る環境へのデータの入力又は或る環境からのデータの抽出を試みることができる箇所である。本明細書においてより十分に説明するように、開放面は、発見プロセス又は偵察プロセスの後に特定される。
【0013】
本明細書において用いられるような「攻撃面(attack surface)」は、開放面を全て合わせたものである。
【0014】
本明細書において用いられるような「脆弱面」は、本教示のシステム及び方法によって突破された開放面である。
【0015】
本開示の様々な実施形態は、システムの構成要素がサイバー攻撃に対して脆弱な開放面を有するか否かを判断するサイバーセキュリティペネトレーション(penetration)テスト又はサイバーセキュリティ侵入テストを実行するシステム、方法、及び装置を提供する。本教示によって、構成要素は、まず、新たな攻撃に対して脆弱であるか否か(すなわち、何らかの開放面が存在するか否か)を判断するために攻撃計画の対象とされる。攻撃計画の結果に応じて、攻撃計画を更新し、新たに発見された開放面を含めることができる。攻撃計画が完了した後、攻撃が構成要素に対して実行され、攻撃計画の更新のために、リグレッションテスト又は回帰テスト(regression test)が実行される。攻撃の調査結果報告が作成される。この報告に基づいて、構成要素の脆弱面を除去する対策を講じることができる。特に、この報告に基づいて、データベースが更新され、構成要素におけるあらゆる脆弱面又は開放面が含められる。このデータベースは、更なる攻撃が脆弱性及びエクスプロイトの最新の知識を含むように絶えず更新される。
【0016】
代表的な実施形態によれば、複数の回路をテストして開放面を決定する方法が開示される。本方法は、攻撃技法及び既知の開放面のうちの1つ以上を受信することと、回路に対して攻撃を実行して、当該回路の脆弱面を決定することと、新たな開放面が回路に存在するとき、当該新たな開放面に基づいて攻撃計画を更新することを決定することと、攻撃計画を実行することと、開放面及び脆弱面の報告を作成することと、リポジトリを更新して、回路の新たに発見された開放面に対する新たな攻撃技法を含めることとを含む。
【0017】
別の代表的な実施形態によれば、複数の構成要素をテストして開放面を決定するシステムが開示される。本システムは、実行可能命令を記憶するメモリと、当該メモリから取り出された命令を実行するように構成されたプロセッサとを備えるテストオートメーションプラットフォームを備える。命令は、プロセッサによって実行されると、攻撃技法、既知の開放面のうちの1つ以上を受信することと、回路に対して攻撃を実行して、当該回路の脆弱面を決定することと、新たな開放面が回路に存在するとき、当該新たな開放面に基づいて攻撃計画を更新することを決定することと、攻撃計画を実行することと、開放面及び脆弱面の報告を作成することと、リポジトリを更新して、回路の新たに発見された開放面に対する新たな攻撃技法を含めることとをプロセッサに行わせる。
【0018】
プロセッサにおいて実行可能な機械実行可能命令を記憶する非一時的コンピュータ可読記憶媒体であって、機械実行可能命令は、プロセッサによって実行されると、プロセッサに方法を実行させ、当該方法は、攻撃技法及び既知の開放面のうちの1つ以上を受信することと、回路に対して攻撃を実行して、当該回路の脆弱面を決定することと、新たな開放面が回路に存在するとき、当該新たな開放面に基づいて攻撃計画を更新することを決定することと、攻撃計画を実行することと、開放面及び脆弱面の報告を作成することと、リポジトリを更新して、回路の新たに発見された開放面に対する新たな攻撃技法を含めることとを含む、非一時的コンピュータ可読記憶媒体。
【0019】
図1は、自動車101と、様々なタイプの通信システムとの自動車の接続ソースとを備える通信システム100を示す簡略ブロック図を示している。単なる例示として、自動車は、無線リンク102を介して基地局103に接続することができることに留意されたい。無線リンクは、例示として、ロングタームエボリューション(LTE)4Gリンクであるが、他の通信プロトコルも想定される。基地局は、サービスプロバイダ104に接続され、サービスプロバイダ104は、インターネット105に更に接続される。自動車OEMバックエンドシステム106は、自動車製造業者のデータセンタを備える。このOEMバックエンドシステムは、テレマティクスを収集し、データセンタからの自動車とのインタラクションを有する。
【0020】
通信システム内に自動車101が存在する。自動車101の様々な構成要素のテストは、単なる例示にすぎず、本教示に従ってテストを行う他の機器も想定されることに留意されたい。より一般的には、本教示は、以下で論述するように、攻撃面又は開放面のいずれかを通じてサイバー攻撃を受ける可能性がある構成要素を備える多くのタイプの装置を想定している。限定ではなく例示として、自動車101の代わりに又は自動車101に加えて、通信システム100は、飛行機、列車、バス、ボート、又は船舶を含むことができる。更により一般的には、本教示は、いわゆるモノのインターネット(IoT)の構成要素に適応可能である。これらの装置及び機器並びに他の同様の装置及び機器は各々、攻撃面又は開放面のいずれかを通じてサイバー攻撃を受ける可能性がある多くの構成要素を有する。本教示によって、攻撃が開始される前に、絶えず更新される攻撃計画によるテストを実施して、適切な対策を講じることを可能にすることができる。
【0021】
特に、自動車101内の接続又は自動車101との接続は、有線プロトコルを用いて行うことができる。これらのタイプの有線接続及びそれらの関連したプロトコルを非限定的に列挙したものが
図1に示されている。
【0022】
上記から分かるように、自動車101との無線接続を通じた攻撃又は有線接続を通じた攻撃を問わず、自動車の様々な構成要素の開放面を含むサイバー攻撃を生成することができ、新たな攻撃は、憂慮すべき頻度で発生している。
【0023】
図1に示すように、自動車101は、複数の構成要素を備え、それらの構成要素のいずれもがサイバー攻撃を受ける可能性がある。これらの構成要素は、ハードウェア、ソフトウェア、ファームウェア及び/又はそれらの組み合わせを備え、本明細書においては、構成要素又は回路のいずれかで総称される。
図1に示すように、自動車101は、幾つかのECU及びTCUを備えることができる。各ECU及び各TCUは、マイクロプロセッサ及びメモリを備え、このメモリは、マイクロプロセッサによって実行可能なコード/命令と、記憶されたデータとを含む。
【0024】
自動車101は、無線車内4G/LTE接続構成要素(OTA)、車両セキュリティ構成要素(SEC)、ECUバスが接続するヘッドエンドユニット(HEU)、全地球測位受信機(GPS)、IEEE802.11xに基づくワイヤレスフィデリティ(Wi-Fi)構成要素、IEEE802.15xに基づくBluetooth/Bluetooth low energy(BT/BTLE)接続構成要素、近接場通信構成要素(NFC)及び専用短距離通信構成要素(DSRC)等の構成要素/回路を備えることができる。これらの構成要素の各々は、1つ以上のモジュールを含むメモリ(図示せず)を備えることができる。これらのモジュールの各々は、構成要素の特定の機能に対応する関連したプロセッサ実行可能命令のセットを含む。
【0025】
上記から分かるように、自動車101のこれらの構成要素の各々は、開放面が存在することに起因してサイバー攻撃を受ける可能性がある。本教示の方法、システム及び非一時的コンピュータ可読媒体は、自動車101の構成要素におけるそのような脆弱ポイントを求めることを可能にして、攻撃面におけるサイバー攻撃又は開放面におけるデータ操作若しくはデータ窃盗を防止する行動を取ることを可能にする。有利には、様々な代表的な実施形態によれば、攻撃計画は連続的に更新され、本明細書に記載の方法で、構成要素の新たな追加テストが可能になっている。特に、本教示は、以前のテストの繰り返しであるリグレッションテストも想定している。更新された攻撃計画は、新たに発見された攻撃技法を追加として含み、より大きなテストスイートを構築し、一旦実行されると、リグレッションテストとして後に用いられることになる。
【0026】
図2は、代表的な実施形態による、自動車内の構成要素における開放面を特定するように構成されたテストシステム200を示す簡略ブロック図である。
図1に関して説明した通信システム100の幾つかの特定の態様は、テストシステム200の態様と共通したものがあり得るので、必ずしも繰り返して説明されない。
【0027】
テストシステム200は、テスト報告202のメモリを備える企業プラットフォーム201を備える。一般に、企業プラットフォーム201は、テストシステム200によるテスト対象構成要素の順次テストを調整する。
【0028】
テストシステムは、テストオートメーションプラットフォーム(TAP)203を更に備える。TAP203は、そのメモリに記憶されたリグレッションテストスイート(regression test suite)204を含む。以下でより十分に説明するように、TAP203は、プロセッサ(
図2に図示せず)と、このプロセッサによって実行されると、テストシステム200の様々なハードウェア構成要素の間の全ての接続を実行するコンピュータコード/命令を含むメモリとを備える。これらのコードは、テストシステム200の種々のレイヤの接続を可能にするプロトコル固有のライブラリを含むが、これに限定されるものではない。
【0029】
一例示の実施形態では、企業プラットフォームは、企業プラットフォームにおけるプロセッサ上又はTAP203のプロセッサ上で動作させることができるメモリに記憶されたコード/命令を含む。大企業には、テスト対象構成要素(components under test)の種々のソースが存在するので、構成要素のテストに用いられる複数のTAP(図示せず)が存在し得る。例えば、自動車のテストを対象とした代表的な実施形態では、ECUは、自動車の本質的に異なる機能(例えば、エンジン制御、運転支援、車体及びシャーシ等)用に開発されるので、ECUテストは複数のTAPを用い、1つの企業(enterprise)プラットフォーム又はエンタープライズプラットフォームが、各TAPのテスト結果を整理統合する。この企業プラットフォームは、車の全てのECUのレイアウト(ネットワーク)を視覚化し、個々のECUテストの結果を視覚化する。そのため、企業プラットフォームは、顧客のネットワークインフラストラクチャを介して個々のTAPデータベースに接続することによって、(複数のTAPのうちの1つによって実行された)各ECUの個々の結果の結果にアクセスする。
【0030】
テストシステム200は、IP/セルラネットワークエミュレータ(ネットワークエミュレータ)206及びWi-Fi Bluetoothステーションエミュレータ(ステーションエミュレータ)207を更に備える。本明細書においてより十分に説明するように、エミュレータ206及びステーションエミュレータは、テスト対象構成要素との通信を可能にするハードウェア及びソフトウェアを備える。エミュレータ206は、プロトコル固有の接続ゲートウェイであるハードウェア構成要素(例えば、ネットワークエミュレータ、Wi-Fi Bluetoothステーションエミュレータ)を含む。これらの構成要素は、テスト対象デバイス(DUT)における特定のインタフェースに接続するハードウェアHWインタフェースを提供する。したがって、ゲートウェイの一方の端部はプロトコル固有であり(DUTに向けて接続される)、攻撃を実行するコンピュータに接続する他方の端部は汎用的(例えば、RJ45コネクタを用いたTCP/IPインタフェース)である。
【0031】
テストシステム200は、セキュリティトゥールキット(トゥールキット)208を更に備える。セキュリティトゥールキット208は、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、又は同様の記憶媒体等の1つ以上の機械可読非一時的記憶媒体を含むことができる。様々な実施形態では、セキュリティトゥールキット208は、TAP203のプロセッサによって実行されるコード/命令をメモリに記憶している。セキュリティトゥールキット208は、TAP203のプロセッサによって動作され、セキュリティテストスイート(テストスイート)209及びアプリケーション脅威インテリジェンス(Application and Threat Intelligence)データベース210に記憶されたコード/命令に基づいて様々な攻撃を実行する実行エンジンである。
【0032】
アプリケーション脅威インテリジェンスデータベース210は、セキュリティトゥールキット208が、攻撃を実行してテスト対象構成要素の開放面を決定することができるように、マルウェア及び脆弱性の既知のシグネチャ/詳細のリポジトリを含むセキュリティインテリジェントデータベースサービスである。アプリケーション脅威インテリジェンスデータベースは、そのような脆弱性の定義(脆弱性のメタデータレベル、高レベル記述における定義)を含む。他方、セキュリティテストスイート209は、セキュリティトゥールキット208によってプロセッサ上で実行されるコード/命令を含む。より一般的には、テストスイートは、以下でより十分に論述される、テストされている構成要素(複数の場合もある)に固有の攻撃計画を含む。
【0033】
テストは、テストシステム200によってテスト対象構成要素において実行されるので、アプリケーション脅威インテリジェンスデータベース210及びセキュリティテストスイート209に記憶されたマルウェア及び脆弱性のシグネチャ/詳細は、テスト対象構成要素における開放面を発見するために、セキュリティトゥールキット208によって実行される。その上、新たに発見された開放面について、新たなテストケースが、リグレッションテストスイートに追加され、テストシステム200の実行中にそれらの開放面に対して実行される。特に、テストケースは、DUT(例えば、ECU、TCU)において実行され、結果を生成して終了する。攻撃は、テストケースの一タイプであり、スキャニングタイプ又は偵察タイプのテストケースも存在する。
【0034】
その上、これらの新たなテストケースは実行され、テストシステム200の実行中に何らかの新たな攻撃又は開放面が発見されると、リグレッションテストスイート204に追加される。
【0035】
例示として、アプリケーション脅威インテリジェンスデータベース210は、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、又は同様の記憶媒体等の1つ以上の機械可読非一時的記憶媒体を備えることができる。様々な実施形態では、アプリケーション脅威インテリジェンスデータベース210は、TAP203に設けられたプロセッサによって実行される命令、又は、プロセッサが(単独で又はセキュリティトゥールキット208及びセキュリティテストスイート209とともに)演算対象とすることができるデータを記憶することができる。
【0036】
図2に示すように、テストシステム200は、ループ内ハードウェア(HIL)219も備える。HIL219は、ECU及びTCUが車両の外部で動作することを可能にする商用システムである。HIL219システムは、TAP203によって構成及び制御することができ、したがって、それぞれのDUTに対する攻撃を実行するプロセスをユーザが自動化することを可能にする。
【0037】
テストシステム200は、車両内部ネットワーク221のテストECU216に対してTCU213及びゲートウェイ215を通じて攻撃を開始するように構成されている。このテストシステム200は、ネットワークアクセスデバイス(NAD)を介してステーションエミュレータ207を通じて攻撃を開始するようにも構成されている。
【0038】
車両内部ネットワーク221は、製造現場において車両内に見られる構成要素(例えば、ECU)のネットワークである。車両内部ネットワーク221上で攻撃を実行することによって、テストECU(又は他の構成要素)における開放面が特定され、治療措置を講じることができる。
【0039】
図2に示すように、本教示のテストシステム200は、生産の完了後又は日常的なサービス提供中に自動車220とともに用いられることが想定されている。したがって、本教示によって、車両ネットワークインタフェースは、自動車220において使用される前、及び、自動車がサービスを開始した後にテストを受けることができる。上記で示唆したように、また、以下でより十分に説明するように、テストシステム200によってテスト対象構成要素に対して行われる攻撃を定期的に更新して、構成要素における開放面を特定及び発見することができ、それによって、治療行動を講じることができるように、本教示のテストシステムは、マルウェア及び脆弱性の最新のシグネチャ/詳細を用いて絶えず更新されるように構成されている。
【0040】
図3は、代表的な実施形態によるテストオートメーションプラットフォーム(TAP)300の簡略ブロック図である。テストオートメーションプラットフォーム300は、
図2に関して説明したテストシステム200におけるTAP203として実施することができる。
図1及び
図2に関して説明したTAP300の幾つかの特定の態様は、TAP300の態様と共通したものがあり得るので、必ずしも繰り返して説明されない。
【0041】
TAP300は、プロセッサ301、現在進行中の攻撃を記憶するメモリ302、及びリグレッションテストスイート303を備える。プロセッサ301は、プロトコルレイヤ305及びユーザインタフェースを介してデータベース304に保存されたコード/命令を実行するように適合されている。テストオートメーションプラットフォーム300は、通信バス307を用いて様々な構成要素と通信する。
【0042】
代表的な実施形態によれば、データベース304は、セキュリティトゥールキット208、セキュリティテストスイート209、アプリケーション脅威インテリジェンスデータベース210、顧客脅威ライブラリ211及び顧客脅威データベース212を含む。上述したように、テストは、テストシステム200によってテスト対象構成要素に対して実行され、データベース304(例えば、アプリケーション脅威インテリジェンスデータベース210及びセキュリティテストスイート209)に記憶されたマルウェア及び脆弱性のシグネチャ/詳細が、セキュリティトゥールキット208のソフトウェアを用いてプロセッサ301によって実行され、テスト対象構成要素における開放面が発見される。
【0043】
プロセッサ301は、メモリ302及びデータベース304に記憶された命令を実行するとともに、生のデータを別の方法で処理することが可能な任意のハードウェアデバイスとすることができる。プロセッサ301は、これらの命令を実行して、本明細書において説明する方法の一部又は全てを実施することができる。加えて、プロセッサ301を複数のデバイス間に分散させ、例えば、メモリ/プロセッサの組み合わせの複数のセットを必要とする分散形式で必然的に実施される方法に対応することができる。
【0044】
プロセッサ301は、有形かつ非一時的なものであり、1つ以上のプロセッサを代表するものである。本明細書において用いられるような用語「非一時的」は、状態の永久的な特性として解釈されるべきではなく、或る期間の間継続する状態の特性として解釈されるべきである。用語「非一時的」は、特に、任意の場所に任意の時点において一時的にしか存在しない搬送波若しくは信号又は他の形態の特性といった一過性の特性を否定するものである。プロセッサは、製造品及び/又は機械構成要素である。TAP300のプロセッサ301は、本明細書における様々な実施形態において説明されるような機能を実行するソフトウェア命令を実行するように構成されている。プロセッサ301は、汎用プロセッサとすることもできるし、特定用途向け集積回路(ASIC)の一部とすることもできる。プロセッサ301は、マイクロプロセッサ、マイクロコンピュータ、プロセッサチップ、コントローラ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、状態機械、又はプログラマブルロジックデバイスとすることもできる(又はそれらを含むこともできる)。プロセッサ301は、フィールドプログラマブルゲートアレイ(FPGA)等のプログラマブルゲートアレイ(PGA)を含む論理回路、又は、離散ゲート及び/又はトランジスタロジックを含む別のタイプの回路とすることもできる(又はそれらを含むこともできる)。プロセッサ301は、中央処理装置(CPU)とすることもできるし、グラフィックス処理装置(GPU)とすることもできるし、それらの双方とすることもできる。加えて、本明細書において説明するいずれのプロセッサも、複数のプロセッサ、並列プロセッサ、又はそれらの双方を含むことができる。複数のプロセッサは、単一のデバイス又は複数のデバイスに含めることもできるし、それらのデバイスに結合することもできる。
【0045】
メモリ302及びデータベース304は、例えば、キャッシュメモリ又はシステムメモリ等の様々なメモリを含むことができる。したがって、メモリ302、リグレッションテストスイート303、及びデータベース304は各々、テストシステム200に関して上記で論述し、また、以下でも論述するように、スタティックランダムアクセスメモリ(SRAM)、ダイナミックRAM(DRAM)、フラッシュメモリ、リードオンリメモリ(ROM)、又は他の同様のメモリデバイスを含むことができる。プロセッサが、本明細書において説明する機能のうちの1つ以上をハードウェアで実施する1つ以上のASIC(又は他の処理デバイス)を含む実施形態では、他の実施形態においてそのような機能に対応するものとして説明されたソフトウェアは省略することができることが明らかであろう。すなわち、メモリ302、リグレッションテストスイート303、及びデータベース304は各々、プロセッサ301によって実行される命令、及び/又は、プロセッサ301が演算対象とすることができるデータを記憶することができる。
【0046】
メモリ302は、様々なモジュールを含むことができ、それらのモジュールの各々は、TAP300の特定の機能に対応する関連したプロセッサ実行可能命令のセットを含む。
【0047】
データベース304は、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、又は同様の記憶媒体等の1つ以上の機械可読非一時的記憶媒体を含むことができる。様々な実施形態では、データベース304は、プロセッサ301によって実行される命令、又は、プロセッサ301が(単独で又はメモリ302及びリグレッションテストスイート303とともに)演算対象とすることができるデータを記憶することができる。
【0048】
ユーザインタフェース306は、ユーザとの通信を可能にする1つ以上のデバイスを備えることができる。ユーザインタフェース306は、グラフィカルユーザインタフェース(GUI)及びアプリケーションプログラミングインタフェース(API)を備える。GUIは、ユーザがシステム構成及び設定のグラフィカル表示を介してTAP300とインタラクトすることを可能にする。APIは、ユーザがプログラマブルコマンドのセットを介してTAP300とインタラクトすることを可能にする。したがって、APIは、ユーザが解決策を自身の環境内に統合することを可能にするとともに、顧客固有の攻撃及び脅威のライブラリの統合も可能にするプログラミングインタフェースを提供する。このインタフェースは、有線及び無線の双方の将来のプロトコル用にシステムを拡張するのに用いることもできる。
【0049】
プロトコルレイヤ305は、IP/セルラネットワークエミュレータ(ネットワークエミュレータ)206及びWi-Fi Bluetoothステーションエミュレータ(ステーションエミュレータ)207に配置される。特に、これらのプロトコルは例示にすぎず、当業者が認識し得る範囲内にある他の通信プロトコルも考えられる。本明細書においてより十分に説明するように、エミュレータ206及びステーションエミュレータ207のプロトコルレイヤ305は、テスト対象構成要素への通信を可能にするとともに、TAP203、データベース304及びテスト対象構成要素の間の通信を可能にするハードウェア及びソフトウェアを備える。
【0050】
図4は、代表的な実施形態によるテストシステム400の簡略ブロック図である。
図1~
図3に関して説明したテストシステム400の特定の幾つかの態様は、テストシステム400の態様と共通したものがあり得るので、必ずしも繰り返して説明されない。
【0051】
テストシステム400は、例示としてTAPを備える管理サーバ401と、図示するような任意選択の企業プラットフォームとを備える。管理サーバ401の様々な機能は、企業ペネトレーションテストプラットフォーム402に示され、以下で論述される。テストシステムは、偵察ファジング(RF:reconnaissance and fuzzing)サーバ403も備える。RFサーバ403の様々な機能は、通信プロトコル固有ライブラリ404に示され、以下で論述される。
【0052】
テストシステムは、
図1及び
図2に示すようなテスト対象構成要素との接続用のハードウェアゲートウェイを更に備える。このハードウェアゲートウェイは、例示として、セルラインタフェース405、Wi-Fi-BTインタフェース406、イーサネットポートインタフェース407、Zigbeeインタフェース408、ユニバーサルシリアルバスインタフェース409、コントローラエリアネットワーク410及び自動車イーサネットインタフェース411を含む。ハードウェアの様々なインタフェースは単なる例示にすぎず、より多くのインタフェース又はより少ないインタフェースも考えられることを強調しておく。より一般的には、想定されるインタフェースは、タスク固有のものであり、各インタフェースは、所望のプロトコルを用いて通信を達成するために提供される。
【0053】
企業ペネトレーション(PEN)テストプラットフォーム402は、管理サーバ401の様々な構成要素の一例を表したものである。これらの構成要素は、
図2及び
図3に関して上述したようなTAPを含むが、これに限定されるものではない。特に、企業ペネトレーションテストプラットフォーム402は、
図3に関して上記で説明したプロセッサを備える。TAPは、種々の機能の中でもとりわけ、様々な構成要素の間の接続を実施し、上述したセキュリティトゥールキットに記憶されたコード/命令を実行する。より一般的には、管理サーバ401の企業ペネトレーションテストプラットフォーム402は、全体的でオープンな管理フレームワークを提供し、接続、偵察(本明細書では「発見」とも呼ばれる)、ファジング、テスト計画作成、テスト計画実行及び報告を実施する。
【0054】
通信プロトコル固有ライブラリ404は、RFサーバ403の様々な構成要素の一例を表したものである。通信プロトコル固有ライブラリ404は、様々なプロトコル固有ライブラリを含み、例えば、セキュリティトゥールキット、セキュリティテストスイート、アプリケーション脅威インテリジェンスデータベースを含み、
図2の代表的な実施形態に関して上述した顧客脅威ライブラリ及び顧客脅威データベースを含むことができる。通信プロトコル固有ライブラリ404は、TAPのプロセッサによって実行されるスキャニング、ファジング及び攻撃を提供する。これらの機能は、テスト対象構成要素との接続に用いられる様々なハードウェアゲートウェイデバイスによって実行される。
【0055】
PENテストプラットフォーム402は、DUTの種々の攻撃面を通じて脆弱性を探査するプロセスを最大限に自動化する。それらの性質から、エクスプロイトプロセスの幾つかの要素(接続の確立等)は、手動プロセスのままであるのに対して、労働集約型作業の大部分(例えば、エクスプロイト)は、自動化方式で実行される。これらの活動の結果は、自動化された報告によって提供される。
【0056】
図5は、代表的な実施形態による、構成要素に対してテストを実行するプロセス500を示すフローチャートである。プロセス500の幾つかの特定の態様は、
図1~
図4に関して説明した代表的な実施形態において説明したものと共通している。プロセス500の多くの共通の態様は、必ずしも繰り返して説明されない。
【0057】
アプリケーション脅威インテリジェンス自動車攻撃データベース501がプロセス500に提供される。このアプリケーション脅威インテリジェンス自動車攻撃データベースは、例えば、上記で説明したセキュリティテストスイート及びアプリケーション脅威インテリジェンスデータベースを含む。特に、アプリケーション脅威インテリジェンス自動車攻撃データベース501は、プロセス500によって提供された報告を通じて更新されるとともに、外部ソース(図示せず)からのマルウェア及び脆弱性のシグネチャ/詳細の取り出しを通じて更新される。
【0058】
任意選択として、顧客攻撃データベース502がプロセス500に提供される。顧客攻撃データベース502は、例えば、上記で説明した顧客脅威ライブラリ及び顧客脅威データベースを含む。特に、顧客攻撃データベース502は、顧客が、様々なソース(図示せず)からのマルウェア及び脆弱性のシグネチャ/詳細の取り出しを通じて更新することができる。特に、ユーザは、オーサリング及びオートメーションスクリプトを介して顧客攻撃データベース502を作成及び更新することができる。
【0059】
アプリケーション脅威インテリジェンス自動車攻撃データベース501からのデータ及びコード/命令、並びに、任意選択として顧客攻撃データベース502からのデータ及びコード/命令は、攻撃計画503を形成する。一般に、攻撃計画503は、上記で説明したようなセキュリティツールキットによって実行される。プロセス500は、発見シーケンス504も提供する。発見シーケンス504は、テスト対象構成要素に対して初期テストを行い、攻撃計画503に列挙されていない攻撃面若しくは開放面又はそれらの双方が存在するか否かを判断する。
【0060】
発見シーケンス504(偵察とも呼ばれる)は、開放面についての情報を開示する接続ブリッジプロトコルの各々によって提供される方法を用いる。これらの開放面は照会され、応答がある場合、調査され、開放ポート上のサービスがいつ知られたのかが求められる。サービスは、通常、ウェブページを配信するウェブサービスのような、システムをサポートすることを目的としたプロセスである。単なる例として、IPポートスキャニングは、システムの任意の開放ポートを照会する一例示の方法である。開放ポートが特定された場合、本教示によるそのポートに固有のエクスプロイトサービスが実行される。
【0061】
新たな攻撃面も開放面も発見シーケンス504において発見されないとき、プロセス500は、上記で説明したようなセキュリティテストスイートのトゥールキットによる実行を含む攻撃505に進む。攻撃505の完了後、調査結果報告506が作成され、エンジニアリングがステップ507において応答して、攻撃505の間に見つかったあらゆる攻撃面又は開放面を修正する。
【0062】
新たな攻撃面又は開放面が、発見シーケンス504において発見されると、プロセス500は攻撃計画の更新に進む。攻撃505の完了後、調査結果報告506が作成され、エンジニアリングがステップ507において応答して、攻撃505の間に見つかったあらゆる攻撃面又は開放面を修正する。特に、新たに発見された攻撃面若しくは開放面又はそれらの双方を含む報告は、アプリケーション脅威インテリジェンス自動車攻撃データベース501に提供され、次いで、攻撃計画503に提供される。明らかにされた新たな攻撃は、上記で説明したリグレッションテストスイートに記憶される。
【0063】
最後に、プロセスは、テストされる構成要素(例えば、多くの構成要素を備えるECU又は自動車)の新たな構築508を続ける。
【0064】
本開示の様々な実施形態によれば、本明細書において説明する方法は、ソフトウェアプログラムを実行するハードウェアコンピュータシステムを用いて実施することができる。さらに、一例示的な非限定の実施形態では、実施は、分散処理、構成要素/オブジェクト分散処理、及び並列処理を含むことができる。本明細書において説明するような方法又は機能のうちの1つ以上を実施する仮想コンピュータシステム処理を構築することができ、本明細書において説明するプロセッサを用いて、仮想処理環境をサポートすることができる。
【0065】
上記で説明したように、本開示は、様々な態様の例示として意図されている本出願に記載の特定の実施形態について限定されるべきではない。明らかなように、その趣旨及び範囲から逸脱することなく、多くの変更及び変形を行うことができる。本明細書に列挙された方法及び装置に加えて、本開示の範囲内にある機能的に均等な方法及び装置は、上述の代表的な説明から明らかなものとすることができる。そのような変更及び変形は、添付の代表的な請求項の範囲内に含まれることが意図されている。本開示は、添付の代表的な請求項が権利を与えられる均等物の全範囲とともに、そのような代表的な請求項の用語によってのみ限定されるべきである。本明細書において用いられる術語は、特定の実施形態を説明することのみを目的としたものであり、限定することを意図したものでないことも理解されるべきである。
【0066】
本明細書における実質的にあらゆる複数形の用語及び/又は単数形の用語の使用に関して、当業者は、文脈及び/又は用途に適切であるように、複数から単数に及び/又は単数から複数に言い換えることができる。種々の単数/複数の交換は、明確にするために本明細書において明示的に記載される場合がある。
【0067】
本明細書、特に添付の特許請求の範囲(例えば、添付の特許請求の範囲の請求項の本体部分)において用いられる用語は、一般に「非限定(open)」の用語として意図されていることが当業者によって理解することができる(例えば、用語「含む(including)」は、「~を含むが、~に限定されるものではない」と解釈されるべきであり、用語「有する(having)」は、「少なくとも~を有する」と解釈されるべきであり、用語「含む(includes)」は、「~を含むが、~に限定されるものではない」と解釈されるべきである等)。導入された請求項の記載の特定の数が意図されている場合、そのような意図は、その請求項に明示的に記載される場合があり、そのような記載がない場合には、そのような意図は存在しないことも、当業者によって更に理解することができる。
【0068】
上記説明は、その関連した実施形態とともに、単なる例示を目的として提示されたものにすぎない。上記説明は、全てを網羅するものではなく、本明細書に開示された概念を開示されたそれらの正確な形態に限定するものではない。当業者は、変更及び変形が上記教示を考慮して可能であるか、又は、開示された実施形態を実施することから得ることができることを上記説明から認識することができる。例えば、説明したステップは、論述した同じシーケンスで実行されなくてもよいし、同じ分離度でなくてもよい。同様に、同じ又は同様の目的を達成するために、必要に応じて、様々なステップを省略することもできるし、繰り返すこともできるし、組み合わせることもできる。したがって、本開示は、上記で説明した実施形態に限定されるものではなく、代わりに、添付の特許請求の範囲の全範囲の均等物を考慮した上で添付の特許請求の範囲によって画定される。
【0069】
上記記載には、様々な代表的な実施形態が、添付図面を参照して説明されている。しかしながら、これらの実施形態に対して様々な変更及び改変を行うことができ、添付の特許請求の範囲に記載されているような本明細書に開示された発明概念のより広い範囲から逸脱することなく、追加の実施形態を実施することができることは明らかであり得る。本明細書及び図面は、したがって、限定する意味ではなく例示の意味とみなされるべきである。
【0070】
複数の回路をテストして開放面及び攻撃面を決定するシステム及び方法が、幾つかの例示の実施形態に関して説明されているが、用いられた文言は、限定の文言ではなく、説明及び例示の文言であることが理解される。その態様における最適なセンサ配置のシステム及び方法の範囲及び趣旨から逸脱することなく、添付の特許請求の範囲の現在の記載又は補正後の記載の認識範囲内で改変を行うことができる。最適なセンサ配置のシステム及び方法は、特定の手段、材料及び実施形態に関して説明されているが、最適なセンサ配置のシステム及び方法は、開示された詳細に限定されるように意図されておらず、逆に、ウェアラブルセンサを用いて対象を評価するシステム及び方法は、添付の特許請求の範囲の範囲内にあるような全ての機能的な均等な構造、方法、及び使用にまで及ぶ。
【0071】
本明細書において説明した実施形態の説明図は、様々な実施形態の構造の一般的な理解を提供することを意図している。これらの説明図は、本明細書において説明した開示内容の要素及び特徴の全ての完全な記載としての役割を果たすようには意図されていない。本開示を見直すことで、他の多くの実施形態が当業者には明らかであり得る。本開示の範囲から逸脱することなく、構造的及び論理的な代用及び改変を行うことができるような他の実施形態を本開示から利用及び導出することができる。加えて、これらの説明図は、単に代表的なものにすぎず、一律の縮尺で描かれていない場合がある。説明図内の幾つかの特定の比率は誇張されている場合がある一方、他の比率は最小化されている場合がある。したがって、本開示内容及び図は、限定ではなく例示とみなされるべきである。
【0072】
本開示の1つ以上の実施形態が、単に便宜上、そして任意の特定の発明又は発明の概念に対して本出願の範囲を自主的に制限することを意図することなく、「本発明」という用語によって個別に、及び/又はまとめて、本明細書において参照される場合がある。さらに、具体的な実施形態が本明細書において図示及び説明されてきたが、図示される具体的な実施形態の代わりに、同じ、又は類似の目的を果たすために設計された任意の今後の構成が使用される場合があることは理解されたい。本開示は、種々の実施形態のありとあらゆる今後の改変又は変形を包含することを意図している。本明細書を見直すと、上記の実施形態、及び本明細書において具体的には説明されていない他の実施形態の組み合わせが当業者には明らかになるであろう。
【0073】
本開示の要約は、米国特許法施行規則第1.72(b)に準拠するように提供され、特許請求の範囲の範囲又は意味を解釈又は限定するために用いられないという了解の下に提出されたものである。加えて、上記詳細な説明では、開示内容を簡素化することを目的として、様々な特徴が1つにまとめられる場合もあるし、単一の実施形態に記載される場合もある。本開示は、特許請求される実施形態が、各請求項に明示的に記載されているものよりも多くの特徴を必要とするという意図を反映するものと解釈されるべきではない。むしろ、添付の特許請求の範囲が反映するように、本発明の主題は、開示された実施形態の任意のものにおける全ての特徴よりも少ない特徴を対象とすることができる。したがって、添付の特許請求の範囲は詳細な説明に組み込まれており、各請求項は、別々に特許請求される主題を画定するものとして独立している。
【0074】
開示された実施形態の前述の説明は、いずれの当業者も本開示に記載の概念を実施することができるように提供されている。したがって、上記に開示の主題は、限定ではなく例示とみなされるべきであり、添付の特許請求の範囲は、本開示の真の趣旨及び範囲内に含まれる全ての変更、拡張、及び他の実施形態を包含するように意図されている。したがって、法律によって認められる最大限度まで、本開示の範囲は、添付の特許請求の範囲及びその均等物の最も広い許容可能な解釈によって判断されるべきであり、上述の詳細な説明によって制限も限定もされないものとする。
なお、出願当初の特許請求の範囲の記載は以下の通りである。
請求項1:
攻撃技法及び既知の開放面のうちの1つ以上を受信することと、
回路に対して攻撃を実行して、該回路の脆弱面を決定することと、
新たな開放面が前記回路に存在するとき、該新たな開放面に基づいて攻撃計画を更新することを決定することと、
前記攻撃計画を実行することと、
前記開放面及び前記脆弱面の報告を作成することと、
リグレッションテストスイートを更新して、前記回路の新たに発見された開放面に対する新たな攻撃技法を含めることと、
を含む、複数の回路をテストして開放面を決定する方法。
請求項2:
前記攻撃を実行した後に、
新たな開放面が前記回路に存在しないとき、前記攻撃計画を更新しないことを決定することと、
前記攻撃計画を実行することと、
を更に含む、請求項1に記載の方法。
請求項3:
前記攻撃計画を実行した後に、
前記回路の前記決定された開放面の報告を作成すること、
を更に含む、請求項2に記載の方法。
請求項4:
前記報告は、新たに発見された攻撃面若しくは新たに決定された開放面又はそれらの双方を含む、請求項1に記載の方法。
請求項5:
前記新たに発見された攻撃面又は前記新たに発見された開放面を前記リグレッションテストスイートに記憶することを更に含む、請求項4に記載の方法。
請求項6:
開放ポートにおけるサービスがいつ知られたのかを求めることと、前記開放面における前記サービスがいつ知られたのかを前記求めた後に、前記開放ポートに対してエクスプロイトサービスを実行することとを更に含む、請求項1に記載の方法。
請求項7:
実行可能命令を記憶するメモリと、該メモリから取り出された前記命令を実行するように構成されたプロセッサとを備えるテストオートメーションプラットフォームを備え、
前記命令は、前記プロセッサによって実行されると、
攻撃技法、既知の開放面のうちの1つ以上を受信することと、
回路に対して攻撃を実行して、該回路の脆弱面を決定することと、
新たな開放面が前記回路に存在するとき、該新たな開放面に基づいて攻撃計画を更新することを決定することと、
前記攻撃計画を実行することと、
前記開放面及び前記脆弱面の報告を作成することと、
リポジトリを更新して、前記回路の発見された新たな開放面に対する新たな攻撃技法を含めることと、
を前記プロセッサに行わせる、複数の構成要素をテストして脆弱性及び開放面を決定するシステム。
請求項8:
前記実行可能命令を記憶するメモリは、実行されると、
新たな開放面が前記回路に存在しないとき、前記攻撃計画を更新しないことを決定することと、
前記攻撃計画の実行を遂行することと、
を前記プロセッサに更に行わせる命令を更に含む、請求項7に記載のシステム。
請求項9:
前記実行可能命令を記憶するメモリは、実行されると、
前記攻撃計画の実行を遂行した後に、前記回路の前記決定された開放面の報告を作成すること、
を前記プロセッサに更に行わせる命令を更に含む、請求項7に記載のシステム。
請求項10:
前記メモリは、
セキュリティツールキットと、
テストスイートと、
攻撃データベースと、
を更に含む、請求項7に記載のシステム。
請求項11:
前記テストスイート及び前記攻撃データベースは、前記命令の少なくとも一部分を含む、請求項10に記載のシステム。
請求項12:
前記セキュリティツールキットは、前記攻撃計画を実行する前記命令を含む、請求項10に記載のシステム。
請求項13:
エミュレータを更に備え、
前記エミュレータは、各通信レイヤが前記回路に固有のプロトコルに基づいて前記攻撃計画を前記回路に送信するように適合された複数の通信レイヤを備える、請求項10に記載のシステム。
請求項14:
前記プロセッサは第1のプロセッサであり、前記回路は第1の回路であり、前記システムは、企業プラットフォームを更に備え、
前記企業プラットフォームは、前記メモリから取り出された前記命令を実行するように構成された第2のプロセッサを備え、前記命令は、実行されると、前記第1のプロセッサに第2の回路のテストを実行させる、請求項13に記載のシステム。
請求項15:
前記メモリは、セキュリティテストスイート及び攻撃データベースを含む、請求項10に記載のシステム。
請求項16:
前記メモリは、顧客脅威ライブラリ及び顧客脅威データベースを更に含む、請求項10に記載のシステム。
請求項17:
前記リポジトリはリグレッションテストスイートである、請求項10に記載のシステム。
請求項18:
プロセッサにおいて実行可能な機械実行可能命令を記憶する非一時的コンピュータ可読記憶媒体であって、前記機械実行可能命令は、前記プロセッサによって実行されると、前記プロセッサに方法を実行させ、該方法は、
攻撃技法及び既知の開放面のうちの1つ以上を受信することと、
回路に対して攻撃を実行して、該回路の脆弱面を決定することと、
新たな開放面が前記回路に存在するとき、該新たな開放面に基づいて攻撃計画を更新することを決定することと、
前記攻撃計画を実行することと、
前記開放面及び前記脆弱面の報告を作成することと、
リグレッションテストスイートを更新して、前記回路の新たに発見された開放面に対する新たな攻撃技法を含めることと、
を含む、非一時的コンピュータ可読記憶媒体。
請求項19:
前記方法は、前記攻撃を実行した後に、
新たな開放面が前記回路に存在しないとき、前記攻撃計画を更新しないことを決定する
ことと、
前記攻撃計画を実行することと、
を更に含む、請求項18に記載の非一時的コンピュータ可読媒体。
請求項20:
前記方法は、
前記攻撃を実行した後に、
前記回路の前記決定された開放面の報告を作成すること、
を更に含む、請求項18に記載の非一時的コンピュータ可読媒体。
【符号の説明】
【0075】
500 プロセス
501 アプリケーション脅威インテリジェンス自動車攻撃データベース
502 顧客攻撃データベース
503 攻撃計画
504 発見シーケンス
505 攻撃
506 調査結果報告
507 エンジニアリング応答
508 テストされる構成要素の新たな構築