JP2023025160A - 自動パケットレスネットワーク到達可能性分析 - Google Patents

自動パケットレスネットワーク到達可能性分析 Download PDF

Info

Publication number
JP2023025160A
JP2023025160A JP2022192707A JP2022192707A JP2023025160A JP 2023025160 A JP2023025160 A JP 2023025160A JP 2022192707 A JP2022192707 A JP 2022192707A JP 2022192707 A JP2022192707 A JP 2022192707A JP 2023025160 A JP2023025160 A JP 2023025160A
Authority
JP
Japan
Prior art keywords
network
ports
virtual
computer
virtual network
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.)
Pending
Application number
JP2022192707A
Other languages
English (en)
Inventor
ドッジ,キャサリン
Dodge Catherine
チェルク,ニキール・レディ
Reddy Cheruku Nikhil
クック,ジョン・バイロン
Byron Cook John
アゼネ,テメスゲン カーサイ
Kahsai Azene Temesghen
コシック,ウィリアム・ジョー
Jo Kocik William
マクラフリン,ショーン
Mclaughlin Sean
スタルザー,マーク・エドワード
Edward Stalzer Mark
ホエーリー,ブレーク
Whaley Blake
ウー,イウェン
Yiwen Wu
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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of JP2023025160A publication Critical patent/JP2023025160A/ja
Pending legal-status Critical Current

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)

Abstract

【課題】自動パケットレスネットワーク到達可能性分析のためのシステム、方法及びコンピュータ可読媒体を提供する。【解決手段】ネットワークセキュリティ評価装置は、ホストコンピュータを含むネットワークに対して、ネットワーク構成データの分析を行う。この分析に少なくとも部分的に基づいて、別のコンピュータから到達可能な、ホストコンピュータにある1つ以上のポートが判定される。この分析に少なくとも部分的に基づいて、1つ以上のポートへの1つ以上のルートが判定される。1つ以上のポートおよび1つ以上のルートを記述しているレポートが生成される。【選択図】図1

Description

多くの企業および他の組織は、コンピューティングシステムが同じ場所に配置されてい
るか(例えば、ローカルネットワークの一部として)、またはその代わりに複数の異なる
地理的場所に位置する(例えば、1つ以上の私的なまたは公共の中間ネットワークを介し
て接続された)状態でなど、多数のコンピューティングシステムを相互接続して、それら
の業務をサポートするコンピュータネットワークを運用する。例えば、単一の組織によっ
て、また単一の組織のために運営されるプライベートデータセンタや、顧客にコンピュー
ティングリソースを提供するビジネスとして企業により運営されるパブリックデータセン
タなど、かなりの数の相互接続されたコンピューティングシステムを収容するデータセン
タが普及している。パブリックデータセンタオペレータの中には、様々な顧客が所有する
ハードウェアにネットワークアクセス、電力、および安全な設置設備を提供するものもあ
れば、顧客が使用できるようにされたハードウェアリソースも含む「フルサービス」設備
を提供するものもある。
いくつかの実施形態による、自動パケットレスネットワーク到達可能性分析のためのシステム環境例を示す。 いくつかの実施形態による、分析を補助するための仮想ネットワーク検証サービスとの相互作用を含む、自動パケットレスネットワーク到達可能性分析のためのシステム環境例のさらなる態様を示す。 いくつかの実施形態による、分析の対象となるコンピュータ上のエージェントの使用を含む、自動パケットレスネットワーク到達可能性分析のためのシステム環境例のさらなる態様を示す。 いくつかの実施形態による、是正処置の勧告および/または実施を含む、自動パケットレスネットワーク到達可能性分析のためのシステム環境例のさらなる態様を示す。 いくつかの実施形態による、自動パケットレスネットワーク到達可能性分析を使用して生成されたレポートの例を示す。 いくつかの実施形態による、自動パケットレスネットワーク到達可能性分析を使用して、また分析の対象となるコンピュータ上のエージェントを使用して、生成されたレポートの例を示す。 いくつかの実施形態による、自動パケットレスネットワーク到達可能性分析のための方法を示すフローチャートである。 いくつかの実施形態による、プロバイダネットワーク環境における仮想ネットワーク検証サービスを示す。 いくつかの実施形態による、仮想ネットワーク検証サービス例の構成要素および動作を示す。 いくつかの実施形態による、仮想ネットワークについての情報をプロバイダネットワークのクライアントに提供するための方法のフローチャートである。 いくつかの実施形態による、クライアントが仮想ネットワーク検証サービスに記述情報およびクエリを提供する、プロバイダネットワークのクライアントに仮想ネットワークについての情報を提供するための方法のフローチャートである。 いくつかの実施形態による、クライアントが、記述情報、および仮想ネットワークにアクセスするためのパーミッションを仮想ネットワーク検証サービスに提供する、プロバイダネットワークのクライアントに仮想ネットワークについての情報を提供するための方法のフローチャートである。 いくつかの実施形態による、2つ以上のピア型仮想ネットワークを含む、プロバイダネットワーク環境におけるクライアントの仮想ネットワーク実装形態を示す。 いくつかの実施形態による、プロバイダネットワーク上の仮想ネットワーク例内のサブネットおよびセキュリティグループを示す。 いくつかの実施形態で使用され得るコンピューティングデバイス例を示す。
実施形態は、いくつかの実施形態および説明的な図面の例として本明細書に記載されて
いるが、当業者は、実施形態が記載された実施形態または図面に限定されないことを認識
するであろう。図面およびその詳細な説明は、実施形態を開示された特定の形態に限定す
ることを意図するものではなく、むしろ、その意図は、添付の特許請求の範囲によって定
義される趣旨および範囲に該当する全ての修正形態、均等物、および代替物を包含するこ
とが理解されるべきである。本明細書で使用される見出しは、単に編成の便宜上のもので
あり、本明細書または特許請求の範囲を限定するために使用されることを意図したもので
はない。本出願全体にわたる使用では、「であり得る(may)」という語は、義務的な
意味合い(すなわち、「しなければならない(must)」という意味)ではなく、許容
の意味合い(すなわち、「する可能性がある」という意味)で使用される。同様に、「含
む(include)」、「含む(including)」、および「含む(inclu
des)」という語は、「含むがそれに限定されない」ことを意味する。
自動パケットレスネットワーク到達可能性分析のための方法、システム、およびコンピ
ュータ可読媒体の様々な実施形態について述べる。実施形態によっては、ネットワーク到
達可能性分析は、必ずしも従来のポートスキャンを行わないでも、行われる。ポート走査
法に対するこれまでの取り組みでは、パケットが、外部エンティティから(例えば、パブ
リックネットワーク上で)1つ以上のコンピュータ上の様々なポートに送信される可能性
があり、応答が待たれる可能性があり、このようなポートスキャンには、数日かかり、過
度のネットワーク帯域幅を使用する可能性があった。ポートにパケットを送信せずに、本
明細書に記載のネットワーク到達可能性分析では、コンピュータにあるどのポート(もし
あれば)が、例えば、パブリックインターネットまたは同じネットワーク上の別のコンピ
ュータに到達可能であるかを判定することができる。ネットワーク到達可能性分析では、
外部エンティティからそれらのポートへの1つ以上のルートを判定することもできる。ネ
ットワーク到達可能性分析では、様々なソースからのデータを組み合わせて結論を出すこ
とができる。一実施形態において、ネットワーク到達可能性分析では、コンピュータが属
するネットワークに対しネットワーク構成データのセットを問い合わせることができる。
一実施形態において、ネットワーク到達可能性分析では、コンピュータにインストールさ
れたエージェントソフトウェアからデータを取得して、例えば、どのプロセスが開ポート
をリッスンしているかを判定することができる。ネットワーク到達可能性分析では、その
調査結果の側面、例えば、開いており、かつ到達可能なポート、それらのポートへのルー
ト、それらのポートをリッスンしているプロセス、ポートが開いており、かつ到達可能で
あることに対応している構成設定、開いており、かつ到達可能なポートに付随するセキュ
リティ上の懸念、セキュリティ上の懸念を改善する是正措置(例えば、構成設定の変更)
、および/または他の任意の適切な情報、を記述したレポートを作成することができる。
ネットワーク到達可能性分析は、自動化された形で、例えば、スケジュールに従って、ま
たはイベントによってトリガされるのにつれて行われ得、必ずしもエンドユーザによって
直接開始されるとは限らない。本明細書に記載の技法を使用すると、従来のポート走査法
の時間がかかり、リソース集中型の性質とは対照的に、ネットワークのセキュリティが迅
速かつ効率的に分析され得る。
当業者が本開示に照らして理解するように、実施形態は、特定の技術的利点を得ること
ができる可能性があり、特定の技術的利点には、(1)多くのコンピュータ上の多数のポ
ートにパケットを送信し、応答を待つ必要性をなくすることによって、ネットワーク到達
可能性分析の速さを改善すること、(2)多くのコンピュータ上の多数のポートにパケッ
トを送信する必要をなくすことにより、ネットワーク到達可能性分析のネットワーク帯域
幅要件を減らすこと、(3)それによりポートに到達することができるルートを見抜く力
を提供することにより、ネットワークのセキュリティを向上させること、(4)開いてお
り、かつ到達可能なポートをリッスンしているプロセスを見抜く力を提供することにより
、ネットワークのセキュリティを向上させること、(5)ポートが到達可能であることを
もたらす構成設定を報告するとともに、セキュリティ上の懸念を改善すると考えられる設
定への変更を報告することにより、ネットワークのセキュリティを向上させること、(6
)スキャナの場所からの到達可能性のみを確認する従来のポートスキャンよりも完全な見
通しを提供することにより、ネットワークのセキュリティを向上させること、などのうち
のいくつかまたはすべてが含まれる。
図1は、いくつかの実施形態による、自動パケットレスネットワーク到達可能性分析の
ためのシステム環境例を示す。実施形態によっては、ネットワークセキュリティ評価装置
100は、ネットワーク上の1つ上のコンピューティングデバイスのセキュリティを分析
して、例えば、それらのコンピュータ上のどのポートが開いており、かつ到達可能である
か(もしあれば)を判定することができる。分析の対象となるデバイスは、コンピュータ
、ホストコンピュータ、ホスト、サーバ、インスタンス、またはコンピューティングリソ
ースと呼ばれることもある。図1に示されるように、ホスト170A~170Nなどのコ
ンピューティングデバイスのセットは、プライベートネットワーク180内に構成され得
る。図示および例の目的で、2つのホスト170Aおよび170Nが示されているが、任
意の適切な個数および構成のホストが、ネットワークセキュリティ評価装置100によっ
て分析され得る。ホスト170A~170Nは、それらのハードウェアリソース、ソフト
ウェアリソース、ネットワーク構成などが同じであっても異なっていてもよい。
ホスト170A~170Nは、プライベートネットワーク180のネットワークリソー
スを使用して互いに通信するように構成され得る。ホスト170A~170Nのそれぞれ
は、ホスト170Aにはポート171A、またホスト170Nにはポート171Nなど、
ネットワークポートを提供することができる。ポート171A~171Nは、ネットワー
ク通信のエンドポイントを表し得、ポート番号によって特定され得る。ポートは、ネット
ワークキングプロトコル、または伝送制御プロトコル(TCP:Transmissio
n Control Protocol)およびユーザデータグラムプロトコル(UDP
:User Datagram Protocol)などのトランスポート層プロトコル
によって使用され得る。慣例上、特定のポート番号が特定のサービスに予約されている場
合がある。共益サービスを実装するアプリケーションは、予約済みのポート番号を使用し
て、ポートを「リッスン」し、要求に応じて1対1のサーバークライアントダイアログを
確立することにより、クライアントからのサービス要求を受信することができる。例えば
、Simple Mail Transfer Protocol(SMTP)を実装す
るアプリケーションは、通常、入ってくる要求があるかTCPポート25をリッスンし、
Post Office Protocol(POP)を実装するアプリケーションは、
通常、入ってくる要求があるかTCP110をリッスンする。
プライベートネットワーク180は、特定の事業体または他の組織によって所有され、
かつ/または運用されているコンピュータを含み得る。一実施形態において、プライベー
トネットワーク180の所有者またはオペレータは、ホスト170A~170Nが通常ア
クセスできないか、または外部エンティティ、例えば、パプリックインタ-ネットなどの
1つ以上のパブリックネットワーク190を介して接続されたコンピュータに対してある
程度の分離を有するはずであると予想し得る。しかし、ホスト170A~170N上の1
つ以上のポートは、実際には、パブリックネットワーク190に到達可能であり得、また
セキュリティ上の懸念をもたらす可能性があるように到達可能であり得る。例えば、例え
ばホスト170A~170Nから機密データを集めるために、またはホストを制御するた
めに、特定の開ポートをリッスンしている特定のプロセスは、外部エンティティからの悪
意のある攻撃に対して脆弱である可能性がある。本明細書に記載の技法を使用すると、ホ
スト170A~170N上のいずれの到達可能ポートも見付けることができ、場合によっ
ては、セキュリティ上の懸念を解消するために修復することができる。
必ずしもポート171A~171Nにパケットを送信しなくても、ネットワークセキュ
リティ評価装置100は、どのポートが到達可能であるか(もしあれば)を判定すること
ができる。一実施形態において、到達可能性分析では、ポートがパブリックネットワーク
190を介して到達可能であるかどうかを判定することができる。一実施形態において、
到達可能性分析では、ポートがプライベートネットワーク190を介して、例えば、ホス
ト170A~170Nのうちの別の1つに到達可能であるかどうかを判定することができ
る。一実施形態において、到達可能性分析では、ホスト上のポートが到達可能性ではない
ことを確認することができる。特定の1つ以上のホストに対して、分析は、自動化された
形で、例えば、スケジュールに従って、またはイベントによってトリガされるのにつれて
、行われ得、必ずしもエンドユーザによって直接開始されるとは限らない。例えば、分析
は、ホストのネットワーク構成の変更に関連するイベントによってトリガされ得る。イベ
ントは、このような変更を監視するプライベートネットワーク180のサービスまたはシ
ステムによって発行され得る。
一実施形態において、ネットワークセキュリティ評価装置100は、ネットワーク構成
データ110のセットを使用して、ホスト170A~170Nのうちの1つ以上に対して
ネットワーク到達可能性分析を行うことができる。ネットワーク構成データ110は、分
析下のホストが属するネットワーク(例えば、プライベートネットワーク180)に関連
する場合がある。ネットワーク構成データは、ホスト170A~170N、およびネット
ワーキングデバイス(ルータ、スイッチなど)のネットワーク構成またはその他のプロパ
ティのスナップショットを表し得る。例えば、データ110は、仮想プライベートクラウ
ド(VPC:Virtual Private Cloud)、サブネット、インスタン
ス、セキュリティグループ、アクセス制御リスト(ACL:Access Contro
l List)、ロードバランサなどに関する情報を含み得る。データ110は、例えば
仮想ネットワーキングルールのセットに従って、ネットワーク180においてネットワー
キングがどのように働くかをモデル化するために使用され得る。一実施形態において、ネ
ットワーク構成データ110の要素が、プライベートネットワーク180のサービスによ
って提供され得る。例えば、ネットワーク180は、仮想計算インスタンスに関するネッ
トワーク構成データを提供する(例えば、APIを介して)、コンピューティング仮想化
サービスを含み得、ネットワークは、仮想ストレージインスタンスに関するネットワーク
構成データを提供する(例えば、APIを介して)、様々な類のストレージ仮想化サービ
スを含み得る。データ110は、例えば、ネットワーク180に実装され、インスタンス
の記述(例えば、計算インスタンスに割り当てられた役割、リソースインスタンスに与え
られたまたは与えられていないパーミッション、インスタンスに割り当てられたIPアド
レスなど)を含み、インスタンス間の関係(例えば、インスタンス間のネットワークにわ
たるパス)を記述し、また外部エンティティ(例えば、仮想ネットワークの外部のエンテ
ィティによってアクセスされ得る計算インスタンス)へのインターフェースまたはアクセ
スポイントを記述する、ネットワーキングプリミティブのインスタンスを特定し得る。ネ
ットワーク構成データ110およびその取得のさらなる態様は、図8~図15に関して以
下で述べる。
図1に戻ると、一実施形態において、ネットワークセキュリティ評価装置100は、ネ
ットワーク構成データ110を問い合わせることができるクエリ処理コンポーネント12
0を含み得る。ネットワークセキュリティ評価装置100は、クエリ125を生成し、ク
エリをクエリ処理コンポーネント120に提供し、クエリ結果126を受信し、その結果
の分析を行って、どのポートが到達可能であるか(もしあれば)を判定することができる
、クエリ集計・分析コンポーネント130も含み得る。クエリ125は、クエリ言語に従
って表され得る。一実施形態において、クエリ言語は、ネットワークセキュリティ評価装
置100が、制約問題としてネットワークについての再帰クエリを含むクエリを表し、制
約ソルバ(例えば、充足可能性モジュロ理論(SMT:Satisfiability
Modulo Theory)ソルバ)エンジンを使用してクエリを解決することによっ
て、クエリに対する結果を提供することを可能にする、宣言型論理プログラミング言語に
相当し得る。クエリの例としては、「VNVS query-i Iist:canーs
sh(AB)」を挙げることができ、これは、インスタンスAがインスタンスBにSSH
することができるようなすべてのインスタンス対のリストを提供するよう、仮想ネットワ
ーク検証サービス(VNVS:Virtual Network Varificati
on Service)に要求する。ネットワークセキュリティ評価装置100は、分析
の必要性に応じて、クエリ125を動的にビルドするか、または事前ビルドのクエリを選
択することができる。一実施形態において、クエリは、アナライザ100のエンドユーザ
、例えば、彼女または彼の管理下にある1つ以上のホストのネットワークセキュリティを
分析しようとするネットワーク管理者によって書かれる必要はない。クエリ125のさら
なる態様は、図8~図15に関して以下に述べる。
図1に戻ると、一実施形態において、ネットワークセキュリティ評価装置100は、ネ
ットワーク到達可能性に関連するルール135のパッケージに従って、働くことができる
。一実施形態において、クエリ125は、ルール135に従って生成され得る。例えば、
ルール135は、到達可能性について確認される共通サービスに対しポート番号のセット
を定義することができ、アナライザ100は、分析下のホストがそれらのポート番号に到
達可能であるかどうかを見極めるためのクエリを生成することができる。クエリ125は
、分析下の1つ以上のホスト用のネットワークアクセスに影響を与える構成データを取得
するために生成され得る。ルールパッケージ135は、セキュリティグループ、仮想プラ
イベートクラウド(VPC)、サブネット、アクセス制御リスト、エラスティックロード
バランサ、インターネットゲートウェイ、egress-onlyインターネットゲート
ウェイ、ネットワークアドレス変換、ルーティングテーブル、ピア型VPC、仮想プライ
ベートネットワーク(VPN:Virtual Private Network)、D
irect Connection(DX)などのネットワーキングコンポーネントを分
析することができる。一実施形態において、クエリ結果126をルール135に従って分
析し、例えば、様々なタイプのネットワーキングコンポーネントがどのように働くかの理
解を使用して、どのポートが到達可能であるかを判定することができる。
いずれかのポートが到達可能であると見なされる場合、ネットワークセキュリティ評価
装置100は、外部エンティティからそれらのポートへの1つ以上のルートを判定するこ
ともできる。一実施形態において、ルートは、ルール135に従って、かつ/またはクエ
リ言語を使用して判定され得る。例えば、1つ以上のクエリを使用して、アナライザ10
0は、ホスト間またはホストと外部エンティティとの間にネットワークにわたるパスまた
はルート(例えば、リソースからHTTPSゲートウェイへのパスであり、それを介して
外部エンティティが仮想ネットワーク上のリソースにアクセスすることができる)がある
(すなわち、ネットワーク接続性がある)と判断することができる。パスは、エンドポイ
ント間にネットワーク接続性をもたらすネットワークにわたる直接パスであってもよく、
あるいはルート上の1つ以上のホップを通過し、エンドポイント間にネットワーク接続性
をもたらす推移的なパスであってもよい。ホストのネットワーク到達可能性を見極めるの
に、事前定義されたルール135のセットを適用することによって、クエリ集計・分析コ
ンポーネント130は、手動分析(例えば、ネットワーク管理者による)の当て推量およ
び複雑さを取り除く自動ソリューションを表し得る。
一実施形態において、例えば、クエリ集計・分析コンポーネント130は、ルール13
5を使用して、インスタンスがインターネットから、または信頼できる場所の外側からの
インターネット制御メッセージプロトコル(ICMP:Internet Contro
l Message Protocol)アクセスを許すかどうかを確認することができ
る(そのように構成されている場合)。一実施形態において、別の例として、クエリ集計
・分析コンポーネント130は、ルール135を使用して、開いており、かつインターネ
ットからまたは信頼できる場所の外側から到達可能であるTCP/UDPポートをインス
タンスが有するかどうかを確認することができる(そのように構成されている場合)。ル
ール135は、具体的には、安全性の低いポート、管理ポート、データベースポート、イ
ントラネットポート、および他のタイプのポートを調査することができる。一実施形態に
おいて、クエリ集計・分析コンポーネント130は、ルール135を使用して、インスタ
ンスが任意のポートのどこからもアクセスできないようになっているかどうかを確認する
ことができる。一実施形態において、クエリ集計・分析コンポーネント130は、ルール
135を使用して、サブネットが、セキュリティグループごとに、信頼できる場所の外側
からのICMPまたはTCP/UDPポートアクセスを許すかどうかを確認することがで
きる。一実施形態において、クエリ集計・分析コンポーネント130は、ルール135を
使用して、サブネットにどこからもアクセスすることができないインスタンスがあるかど
うか、すべてのインバウンドトラフィックが阻止されているかどうか、またはエラスティ
ックネットワークインターフェース(ENI:Elastic Network Int
erface)がないかどうかを確認することができる。
一実施形態において、いずれの到達可能ポートも、従来のポートスキャンを行うことな
く、評価装置100によって見付けられ得る。一実施形態において、評価装置100は、
例えば、影響を受けたポートに対してのみ、限られた範囲のポートスキャンを行うことに
よって、パケットレス調査結果を確認することができる。例えば、TCPポート22がホ
スト170A上で到達可能であることが分かった場合、ネットワークセキュリティ評価装
置100は、外部エンティティ(例えば、パブリックネットワーク190を介してホスト
170Aに接続された別のサーバ)に、1つ以上のパケットをホスト170A上のTCP
ポート22に送信させ、ホストからの応答を待たせ、アナライザへ報告させることができ
る。このような応答が受信されない場合、ネットワークセキュリティ評価装置100は、
ポートが実際には到達可能ではないと判断することができる。例えば、ポートがファイア
ウォールによって保護されている可能性がある。応答が受信された場合、ネットワークセ
キュリティ評価装置100は、ポートが開いており、かつ到達可能であることを確認する
ことができる。このようなポートスキャンを、すでに到達可能であると推定されているポ
ートに制限することにより、ネットワークセキュリティ評価装置100は、フルポートス
キャンに必要な時間およびネットワーク帯域幅を大幅に縮小することができる。
ネットワークセキュリティ評価装置100は、分析下のホスト170A~170Nのう
ちの1つ以上に対して、ネットワーク到達可能性および/またはネットワークセキュリテ
ィに関する調査結果を生成することができる。図3に関して以下に述べるように、ネット
ワークセキュリティ評価装置100は、様々なソースからのデータ(場合によっては、エ
ージェントによって収集されたオンホストデータを含む)を組み合わせて、このような調
査結果を生成することができる。図1に戻ると、報告コンポーネント140を使用して、
ネットワークセキュリティ評価装置100は、その調査結果の側面を記述したレポートを
作成することができる。一実施形態において、報告コンポーネント140は、特定のホス
トにとって到達可能である1つ以上のポート141を示すか、または記述することができ
る。一実施形態において、報告コンポーネント140は、特定のホストにとって到達でき
ない1つ以上のポート141を示すか、または記述することができる。一実施形態におい
て、報告コンポーネント140は、到達可能であるポートへの1つ以上のルート142を
示すか、または記述することができる。一実施形態において、報告コンポーネント140
は、その代わりに、特定のホストにとって到達可能なポートがないことを開示することが
できる。このような報告の一例が、図5に関して述べられている。
一実施形態において、ホワイトリストは、信頼できる場所を示すことができ、信頼でき
る場所から到達可能であることが判明した場合、特定のポートまたはポートの範囲が報告
140から除外され得る。様々な実施形態において、業界標準の知識、顧客入力、複数の
顧客に基づく機械学習、および/または他の適切なソースなど、様々なデータソースを使
用してホワイトリストを生成することができる。ホワイトリストの内容は、顧客によって
異なる可能性がある。ホワイトリストの内容は、時間の経過とともに変わる可能性がある
図1に戻ると、報告コンポーネント140は、任意の適切な方法で調査結果を提示する
ことができる。一実施形態において、報告コンポーネント140は、例えば、ネットワー
ク管理者に、グラフィカルユーザインターフェース(GUI:Graphical Us
er Interface)で調査結果を提示することができる。一実施形態において、
GUIは、例えば、図4に関して以下に述べるように、調査結果に関連するユーザ入力を
受信することができるような相互作用部分を含み得る。図1に戻ると、一実施形態におい
て、報告コンポーネント140は、調査結果をファイルまたは他のデータオブジェクトに
永続的に格納することができ、ファイルまたはデータオブジェクトは、ネットワーク管理
者または他の適切なエンティティによって読み取られ得る。一実施形態において、報告コ
ンポーネント140は、電子メールまたは別のメッセージングシステムを使用して、例え
ば、ネットワーク管理者によってアクセス可能なアカウントに調査結果を送信することが
できる。
ネットワークセキュリティ評価装置100およびホスト170A~170Nは、任意の
適切な個数および構成のコンピューティングデバイスを使用して実装され得、コンピュー
ティングデバイスのいずれも、図15に示されるコンピューティングデバイス例1500
によって実装され得る。コンピューティングデバイスは、任意の適切な個数のデータセン
タまたは地理的な場所に位置し得る。様々な実施形態において、ネットワークセキュリテ
ィ評価装置100の機能性の少なくともいくつかは、同じコンピューティングデバイスに
よって、または様々なコンピューティングデバイスによって提供され得る。ネットワーク
セキュリティ評価装置100の構成要素のいずれかが様々なコンピューティングデバイス
を使用して実装される場合、構成要素およびそれらのそれぞれのコンピューティングデバ
イスは、例えば、1つ以上のネットワークを介して通信可能に結合され得る。ネットワー
クセキュリティ評価装置100の構成要素のそれぞれは、以下に述べるように、それらの
それぞれの機能を果たすために使用可能なソフトウェアとハードウェアとの任意の組み合
わせに相当し得る。ネットワークセキュリティ評価装置100によって実施される動作は
、例えば、初期構成段階後のユーザ開始またはユーザ介入を必要とせずに、またプログラ
ムに従って、例えば、少なくとも1つのコンピューティングデバイス上でプログラム命令
を実行することによって自動的に行われ得る。脅威モデラネットワークセキュリティ評価
装置100およびネットワーク180が図示されていない構成要素をさらに含んでもよく
、図示よりも構成要素を少なく含んでもよく、または図示とは異なる組み合わせ、構成も
しくは個数の構成要素を含んでもよいことが、考えられている。
ネットワークセキュリティ評価装置100は、サービス指向アーキテクチャに従って複
数のサービスが協働する、サービス指向システムに実装され得る。このような環境では、
ネットワークセキュリティ評価装置100は、その機能性をサービスとして複数のクライ
アントに提供することができる。サービスは、1つ以上のネットワーク全体にわたって分
散されている複数の異なるインスタンスを使用して実装され得、各インスタンスは、対応
するサービスの機能性へのアクセスを様々なクライアントに提供することができる。任意
の適切な個数および構成のクライアントが、ネットワークセキュリティ評価装置100と
相互作用し得ることが、考えられている。クライアントがその機能性を呼び出すことを可
能にするために、ネットワークセキュリティ評価装置100は、1つ以上のAPIもしく
は他のプログラマチックインターフェースおよび/またはグラフィカルユーザインターフ
ェース(GUI)などの任意の適切なインターフェースを公開することができる。一実施
形態において、ネットワークセキュリティ評価装置100の機能性は、料金と引き換えに
クライアントに提供され得る。
ネットワークセキュリティ評価装置100は、1つ以上のネットワークを介して、ホス
ト170A~170N、サービスクライアント、他のサービス、または他のエンティティ
に結合され得る。様々な実施形態において、ネットワーク190は、ネットワークセキュ
リティ評価装置100とホスト170A~170Nとの間にネットワークベースの通信を
確立するのに必要なネットワーキングハードウェアおよびプロトコルの任意の適切な組み
合わせを包含し得る。例えば、ネットワークは、通常、インターネットを集合的に実装す
る様々な電気通信ネットワークおよびサービスプロバイダを包含し得る。ネットワークは
、ローカルエリアネットワーク(LAN:Local Area Network)また
は広域ネットワーク(WAN:Wide Area Network)などのプライベー
トネットワーク、およびパブリックまたはプライベート無線ネットワークも含み得る。例
えば、ネットワークセキュリティ評価装置100およびホスト170A~170Nの両方
は、それら自身の内部ネットワークを有する企業内にそれぞれ備えられ得る。このような
実施形態では、ネットワークは、ネットワークセキュリティ評価装置100とインターネ
ットとの間に、またインターネットとホスト170A~170Nとの間にネットワーキン
グリンクを確立するのに必要な、ハードウェア(例えば、モデム、ルータ、スイッチ、ロ
ードバランサ、プロキシサーバなど)およびソフトウェア(例えば、プロトコルスタック
、会計ソフトウェア、ファイアウォール/セキュリティソフトウェアなど)を含み得る。
実施形態によっては、ネットワークセキュリティ評価装置100が、パブリックインター
ネットではなくプライベートネットワークを使用してホスト170A~170Nと通信す
ることができることに留意する。
実施形態によっては、ネットワークセキュリティ評価装置100および/またはホスト
170A~170Nの態様は、プロバイダネットワークのコンピューティングリソースを
使用して実装され得る。プロバイダネットワークは、インターネットおよび/または他の
ネットワークを介してアクセス可能な1つ以上のサービス(様々なタイプのネットワーク
アクセス可能なコンピューティングまたは記憶域など)を分散型クライアントセットに提
供するために、企業または公共部門の組織などのエンティティによって立ち上げられたネ
ットワークに相当し得る。プロバイダネットワークは、プロバイダによって提供されるイ
ンフラストラクチャおよびサービスを実装し、分散させるのに使用される、物理コンピュ
ータサーバおよび/または仮想化コンピュータサーバ、記憶デバイス、ネットワーキング
機器などの集合体など、様々なリソースプールをホストする多数のデータセンタを含み得
る。計算リソースは、実施形態によっては、仮想計算インスタンスまたは物理計算インス
タンスなどの「インスタンス」と呼ばれる単位でクライアントに提供され得る。仮想計算
インスタンスは、例えば、指定の計算能力(CPUのタイプと個数、メインメモリサイズ
などを示すことによって指定され得る)および指定のソフトウェアスタック(例えば、次
にはハイパーバイザ上で実行され得る、特定のバージョンのオペレーティングシステム)
を有する1つ以上のサーバを含み得る。汎用または特殊目的のコンピュータサーバ、記憶
デバイス、ネットワークデバイスなどを含む、いくつかの異なるタイプのコンピューティ
ングデバイスを単独でまたは組み合わせて使用して、様々な実施形態でプロバイダネット
ワークのリソースを実装することができる。プロバイダネットワークのリソースが同時に
複数のクライアント(またはテナント)の制御下にあり得るため、プロバイダネットワー
クは、マルチテナンシーを提供すると言われることがあり、マルチテナントプロバイダネ
ットワークと呼ばれることもある。
実施形態によっては、プロバイダネットワークのオペレータは、それらのクライアント
のために、リソース予約、制御、およびアクセスのインターフェースの柔軟なセットを実
装することができる。例えば、リソースマネージャは、クライアント(場合によっては、
プロバイダネットワーク内の他のコンポーネントを含む)が、プロバイダネットワークに
よって提供される計算インスタンスについて知り、それを選択し、それへのアクセスを購
入し、かつ/またはそれを予約することを可能にする、プログラムに基づくリソース予約
インターフェースを実装し得る(例えば、Webサイトまたは一連のWebページを介し
て)。このようなインターフェースは、リソースカタログの閲覧を可能にし、サポートさ
れるリソースの様々なタイプまたはサイズ、サポートされる様々な予約タイプまたはモー
ド、価格設定モデルなどの詳細および仕様を提供する能力を含み得る。
図2は、いくつかの実施形態による、分析を補助するための仮想ネットワーク検証サー
ビスとの相互作用を含む、自動パケットレスネットワーク到達可能性分析のためのシステ
ム環境例のさらなる態様を示す。一実施形態において、ネットワーク構成データ110が
、仮想ネットワーク検証サービス230によって取得、維持され得る。仮想ネットワーク
検証サービス230はまた、クエリ125を受信し、ネットワーク構成データ110を使
用してクエリに答え、クエリ結果126で応答することができるクエリ処理コンポーネン
ト120を含み得る。仮想ネットワーク検証サービス230は、そのサービスを、ネット
ワークセキュリティ評価装置100を含む1つ以上のクライアントに提供することができ
る。仮想ネットワーク検証サービスのさらなる態様は、図8~図14に関して以下に述べ
られる。
図3は、いくつかの実施形態による、分析の対象となるコンピュータ上のエージェント
の使用を含む、自動パケットレスネットワーク到達可能性分析用のシステム環境例のさら
なる態様を示す。一実施形態において、ネットワークセキュリティ評価装置100は、様
々なソースからのデータを組み合わせて結論を出すことができる。一実施形態において、
ネットワークセキュリティ評価装置100は、例えば、どのプロセスがポートをリッスン
しているかを判定するために、コンピュータにインストールされたエージェントソフトウ
ェアからデータを取得することができる。プロセスがポートをリッスンしている場合、ポ
ートは「開いている」と見なされ得る。プロセスは、サービス、アプリケーション、サー
ビスデーモン、およびその他の形態の実行可能プログラムコードを含み得る。図3の例に
示されるように、エージェント175Aがホスト170Aにインストールされ得、エージ
ェント175Nがホスト170Nにインストールされ得る、などである。また図3の例に
示されるように、プロセス176Aは、ホスト170A上に常駐し得(また、ポート17
1Aをリッスンしている可能性がある)、プロセス176Nは、ホスト170N上に常駐
し得(また、ポート171Nをリッスンしている可能性がある)。実施形態によっては、
エージェント175A~175Nは、例えば、ホスト170A~170Nが同じまたは異
なる構成のハードウェアおよびオペレーティングシステムソフトウェアに相当する場合、
同じバイナリファイルまたは異なるバイナリファイルに相当し得る。
エージェント175A~175Nは、ホスト170A~170Nの構成を見抜く力を集
めることができる可能性がある。一実施形態において、エージェント175A~175N
は、例えば、いつポートが開かれ、どのプロセスがそのポートに関連しているかを判定す
るために、対応するホストの動作を監視することができる。一実施形態において、エージ
ェント175A~175Nは、例えば、どのポートが開いているか、かつ/またはどのプ
ロセス176A~176Nがポートをリッスンしているかについて問い合わせるために、
対応するホストのオペレーティングシステムと相互作用することができる。一実施形態に
おいて、エージェント175A~175Nは、ネットワーク到達可能性アナライザが、ア
ナライザが到達可能であると既に見なした特定のポートをリッスンしているプロセスを見
つけるようにエージェントに命令し得るような、ネットワークセキュリティ評価装置10
0の制御下にあり得る。エージェント175A~175Nは、それらの調査結果をクエリ
集計・分析コンポーネント130に報告するように構成され得る。
一実施形態において、エージェント175A~175Nから中継された情報に基づいて
、クエリ集計・分析コンポーネント130は、ルール135を使用して、プロセスが異例
のポート番号のポートを開いたかどうかを確認することができる。一実施形態において、
エージェント175A~175Nから中継された情報に基づいて、クエリ集計・分析コン
ポーネント130は、ルール135を使用して、インスタンスに、どこからも到達できな
い開ポートがあるかどうかを確認することができる。どのプロセスがどのポートをリッス
ンしているかの知識など、エージェント175A~175Nによって集められたデータの
分析を使用して、報告コンポーネント140は、開いており、かつ到達可能なポート14
1をリッスンしているプロセス143を示すか、または記述したレポートを作成すること
ができる。一実施形態において、報告コンポーネント140は、普通ではないまたは予期
せぬポートを使用しており、したがってセキュリティの脅威をもたらす可能性があるプロ
セスを示すか、または記述することができる。
図4は、いくつかの実施形態による、是正措置の勧告および/または実施を含む、自動
パケットレスネットワーク到達可能性分析用のシステム環境例のさらなる態様を示す。一
実施形態において、クエリ集計・分析130は、ポートが到達可能である理由を判定する
ことができる。例えば、1つ以上の構成設定が到達可能なポートの原因である可能性があ
る。1つ以上のソースから集められたデータ(例えば、ネットワーク構成データ110お
よびエージェント175A~175N)にルール135を適用することによって、ネット
ワーク構成アナライザは、ポートが到達可能であることに関与している1つ以上の構成設
定を判定することができる。それにより、報告コンポーネント140は、このような調査
結果を報告することができる。
一実施形態において、ネットワークセキュリティ評価装置100はまた、取られた場合
、到達可能なポートに付随するセキュリティ上の懸念を解消または修正することが期待さ
れ得る、是正措置144を勧告することができる。例えば、特定のセキュリティグループ
におけるホストのメンバーシップに起因してポートが到達可能である場合、勧告には、外
部コンピュータがポートにアクセスできないように、そのセキュリティグループの構成設
定を変更することが含まれ得る。一実施形態において、このような是正措置144は、報
告コンポーネント140によって示されるか、または記述され得る。一実施形態において
、是正措置は、ユーザによって選択された場合に問題を自動的に是正するインターフェー
ス要素を備えたGUIに提示され得る。例えば、報告コンポーネント140は、勧告され
た修正を記述し、ユーザによって押された場合に適切な構成設定への変更を実施するボタ
ン(または他のGUI要素)を含む、画面をユーザインターフェースに生成することがで
きる。
図5は、いくつかの実施形態による、自動パケットレスネットワーク到達可能性分析を
使用して生成されたレポートの例を示す。ネットワークセキュリティ評価装置100は、
その調査結果の側面、例えば、到達可能なポート、それらのポートへのルート、それらの
ポートをリッスンしているプロセス、ポートが到達可能であることに関与している構成設
定、到達可能ポートに付随するセキュリティ上の懸念、セキュリティ上の懸念を改善し得
る是正措置(例えば、構成設定を変更する)、および/または任意のその他の適切な情報
を記述したレポートを作成することができる。図5は、特定のホスト(インスタンスID
で言われる)およびそのホスト上の特定のポートについてのネットワーク到達可能性レポ
ート500の例を示す。レポート500には、例えば、分析下のインスタンスのインスタ
ンスID、影響を受けるTCPポート番号、および通常そのポートに関連しているサービ
スを示す高レベルの調査結果510が含まれ得る。この例では、TCPポート番号は、2
2であり、通常は、セキュアシェル(SSH:Secure SHell)の目的で使用
される。レポート500には、問題の重大度520(例えば、高、中、または低)の表示
も含まれ得る。レポート500には、調査結果のより詳細な記述530が含まれ得る。図
5の例に示されるように、記述530は、ポートがパブリックインターネットから、この
場合、特定のインターネットゲートウェイを介して到達可能であるルートを示し得る。一
実施形態において、記述530は、例えば、セキュリティグループ、アクセス制御リスト
、ルーティングテーブル、インターネットゲートウェイなどの構成に起因して、アクセス
が許される理由を示し得る。記述530は、インスタンスが属する特定の仮想プライベー
トクラウド(VPC)、インスタンス用のネットワークインターフェースのID、インス
タンス用のセキュリティグループのIDなども示し得る。さらに、記述530には、ポー
トが到達可能であることによって引き起こされる、あり得るセキュリティ問題を記述する
ことができる。最後に、レポート500には、セキュリティ上の懸念を改善するための是
正措置の勧告540が含まれ得る。この例では、勧告は、セキュリティグループを編集し
て、パブリックインターネット経由でこの特定のポートへのアクセスを取り除くことであ
る。図4に関して上で述べたように、一実施形態において、レポート500は、ユーザ入
力によって有効にされた場合に、勧告540を自動的に実施するユーザインターフェース
要素を含み得る。一実施形態では、レポート500は、分析対象のネットワークトポロジ
ーを示す視覚化を含み得る。視覚化には、強調表示された調査結果、脅威重大度の色分け
、およびユーザ相互作用が含まれ得る。
図6は、いくつかの実施形態による、自動パケットレスネットワーク到達可能性分析を
使用して、また分析の対象となるコンピュータ上のエージェントを使用して生成されたレ
ポートの例を示す。一実施形態において、上で述べたレポート500は、分析下のホスト
上のエージェントを使用せずに生成され得る。図6の例に示されるように、このようなエ
ージェントの使用は、より詳細な到達可能性レポート600を可能にし得る。上で述べた
ように、レポート600には、高レベルの調査結果610、重大度620の表示、詳細な
記述630、および問題を是正するための勧告640が含まれ得る。エージェントによっ
て集められたデータを信頼することにより、レポート600は、開いており、かつ到達可
能なポートをリッスンしている特定のプロセスを示すことができる。この例では、プロセ
スは、SSHデーモン「sshd」である。レポート600は、sshdプロセスに対応
する特定のバイナリファイルのパスも示すことができる。このようなプロセス情報をネッ
トワーク到達可能性レポートに追加することにより、セキュリティ問題の診断および是正
を助けることができる。
図7は、いくつかの実施形態による、自動パケットレスネットワーク到達可能性分析の
ための方法を示すフローチャートである。710に示されるように、ネットワーク構成デ
ータの自動分析が行われ得る。ネットワーク構成データは、ホストコンピュータと、場合
によっては、他のコンピュータおよびネットワーキングデバイス(ルータ、スイッチなど
)を含む他のデバイスと、を有するネットワーク(プライベートネットワークなど)に関
係している可能性がある。一実施形態において、分析は、1つ以上のクエリを使用してネ
ットワーク構成データを問い合わせることを含み得る。クエリは、クエリ言語に従って表
され得る。ネットワーク到達可能性分析では、分析の必要性に応じて、クエリを動的にビ
ルドするか、または、事前ビルド済みのクエリを選択することができる。一実施形態にお
いて、クエリは、アナライザ100のエンドユーザ、例えば、彼女または彼の管理下にあ
る1つ以上のホストのネットワークセキュリティを分析しようとするネットワーク管理者
によって書かれる必要はない。
720に示されるように、分析に基づいて、この方法は、別のコンピュータから到達可
能であるホストコンピュータにある1つ以上のポートを判定することができる。到達可能
性は、パブリックインターネットを介するか、またはホストが属するプライベートネット
ワークを介してであり得る。分析に基づいて、この方法はまた、それによりポートが到達
可能である1つ以上のルートを判定することができる。例えば、ルートは、コンポーネン
トが、インターネットゲートウェイを介してインターネットから、インターネットゲート
ウェイを介して仮想プライベートネットワーク(VPN)から、ピア型仮想プライベート
クラウド(VPC)から、など、到達可能であることを示し得る。
730に示されるように、この方法は、エージェントが分析下のホストコンピュータに
インストールされているかどうかを判定することができる。エージェントは、例えば、開
ポートをリッスンしているプロセスを判定するために、ホストコンピュータの動作の局面
を監視するように構成され得る。エージェントが存在しない場合、740に示されるよう
に、この方法は、到達可能ポート、およびそれによってポートが到達可能になるルートを
示すかまたは記述したレポートを生成することができる。一実施形態において、レポート
には、セキュリティグループまたはアクセス制御リスト(ACL)に関係している1つ以
上の構成設定など、ポートが到達可能である理由を示すか、または記述することもできる
。一実施形態において、レポートにはまた、1つ以上の構成設定の変更などの是正措置の
1つ以上の勧告を示すかまたは記述することができる。
エージェントが存在する場合、750に示されるように、この方法は、エージェントに
よって提供されたデータを使用して、ポートをリッスンしているプロセスを判定すること
ができる。760に示されるように、この方法は、開いており、かつ到達可能なポート、
それによりポートが到達可能になるルート、およびポートをリッスンしているプロセスを
示すかまたは記述したレポートを生成することができる。一実施形態において、レポート
にはまた、1つ以上の構成設定など、ポートが開いており、かつ到達可能である理由を示
すかまたは記述することができる。一実施形態において、レポートにはまた、1つ以上の
構成設定の変更などの是正措置の1つ以上の勧告を示すかまたは記述することができる。
ネットワーク到達可能性の例示的なルール
上で述べたように、ネットワークセキュリティ評価装置100は、ネットワーク到達可
能性に伴うルール135のパッケージに従って働くことができる。このようなルールの例
を以下に述べるが、以下のルールのリストは、網羅的であることを意図したものではない
。ネットワークセキュリティ評価装置100は、以下のルールの一部のみを実装すること
ができ、かつ/またはコンピューティングデバイスの到達可能性を評価するために追加の
ルールを実装することができる。
一実施形態において、第1のルールは、エージェントを用いてインスタンスを分析して
、信頼できる場所の外側のどこかからのアクセスを許されたポートをリッスンしている安
全性の低いプロトコルをインスタンスが有するかどうかを判定することができる。この調
査結果の重大度は、高である。この調査結果は、ポート番号、そのポートのTCPまたは
UDP関連付け、そのポートをリッスンしているアプリケーション(およびバージョン)
、そのポートに到達することができるアドレス範囲、またアクセスを許可するセキュリテ
ィグループ、アクセス制御リスト、インターネットゲートウェイ、仮想ゲートウェイ、お
よびその他のチャネルとともに、報告され得る。第1のルールでは、是正措置の勧告には
、アクセス制御構成を編集してアクセスを制限すること(信頼できる場所の外側からのア
クセスが必要ない場合)、およびアプリケーションを停止すること(作業に必要ない場合
)が含まれ得る。
一実施形態において、第2のルールは、エージェントを用いてインスタンスを分析して
、信頼できる場所の外側のどこかからアクセス可能であるポートをリッスンしているSH
Sサーバをインスタンスが有するかどうかを判定することができる。この調査結果の重大
度は、中である。この調査結果は、ポート番号、そのポートのTCPまたはUDP関連付
け、そのポートをリッスンしているアプリケーション(およびバージョン)、そのポート
に到達することができるアドレス範囲、またアクセスを許可するセキュリティグループ、
アクセス制御リスト、インターネットゲートウェイ、仮想ゲートウェイ、およびその他の
チャネルとともに、報告され得る。第1のルールでは、修正措置の勧告には、アクセス制
御構成を編集してアクセスを制限すること(信頼できる場所の外側からのアクセスが必要
ない場合)、およびアプリケーションを停止すること(作業に必要ない場合)が含まれ得
る。
一実施形態において、第3のルールは、エージェントを用いてインスタンスを分析して
、信頼できる場所の外側のどこかからアクセス可能であるポートをリッスンしているRD
Pサーバーをインスタンスが有するかどうかを判定することができる。この調査結果の重
大度は、中である。この調査結果は、ポート番号、そのポートのTCPまたはUDP関連
付け、そのポートをリッスンしているアプリケーション(およびバージョン)、そのポー
トに到達することができるアドレス範囲、またアクセスを許可するセキュリティグループ
、アクセス制御リスト、インターネットゲートウェイ、仮想ゲートウェイ、およびその他
のチャネルとともに、報告され得る。第3のルールでは、是正措置の勧告には、アクセス
制御構成を編集してアクセスを制限すること(信頼できる場所の外側からのアクセスが必
要ない場合)、およびアプリケーションを停止すること(作業に必要ない場合)が含まれ
得る。
一実施形態において、第4のルールは、エージェントを用いてインスタンスを分析して
、信頼できる場所の外側のどこかからアクセス可能であるポートをリッスンしているデー
タベースサーバをインスタンスが有するかどうかを判定することができる。この調査結果
の重大度は、中である。この調査結果は、ポート番号、そのポートのTCPまたはUDP
関連付け、そのポートをリッスンしているアプリケーション(およびバージョン)、その
ポートに到達することができるアドレス範囲、またアクセスを許可するセキュリティグル
ープ、アクセス制御リスト、インターネットゲートウェイ、仮想ゲートウェイ、およびそ
の他のチャネルとともに、報告され得る。第4のルールでは、是正措置の勧告には、アク
セス制御構成を編集してアクセスを制限すること(信頼できる場所の外側からのアクセス
が必要ない場合)、およびアプリケーションを停止すること(作業に必要ない場合)が含
まれ得る。
一実施形態において、第5のルールは、エージェントを用いてインスタンスを分析して
、信頼できる場所の外側のどこかからアクセス可能であるポートをリッスンしているイン
トラネットサービスをインスタンスが有するかどうかを判定することができる。この調査
結果の重大度は、中である。この調査結果は、ポート番号、そのポートのTCPまたはU
DP関連付け、そのポートをリッスンしているアプリケーション(およびバージョン)、
そのポートに到達することができるアドレス範囲、またアクセスを許可するセキュリティ
グループ、アクセス制御リスト、インターネットゲートウェイ、仮想ゲートウェイ、およ
びその他のチャネルとともに、報告され得る。第5のルールでは、是正措置の勧告には、
アクセス制御構成を編集してアクセスを制限すること(信頼できる場所の外側のアクセス
が必要ない場合)、およびアプリケーションを停止すること(作業に必要ない場合)が含
まれ得る。
一実施形態において、第6のルールは、エージェントを用いてインスタンスを分析して
、インスタンスが、信頼できる場所の外側のどこかからのアクセスが許されているポート
への接続が開いているかどうかを判定することができる。この調査結果の重要度は、低で
ある。この調査結果は、ポート番号、そのポートのTCPまたはUDP関連付け、そのポ
ートをリッスンしているアプリケーション(およびバージョン)、そのポートに到達する
ことができるアドレス範囲、またアクセスを許可するセキュリティグループ、アクセス制
御リスト、インターネットゲートウェイ、仮想ゲートウェイ、およびその他のチャネルと
ともに、報告され得る。第6のルールでは、是正措置の勧告には、アクセス制御構成を編
集してアクセスを制限すること(信頼できる場所の外側からのアクセスが必要ない場合)
、およびアプリケーションを停止すること(作業に必要ない場合)が含まれ得る。
一実施形態において、第7のルールは、エージェントを用いてインスタンスを分析して
、インスタンスが、異例のポートで接続を開くアプリケーションを有するかどうかを判定
することができる。この調査結果の重大度は、低であり、特定の脅威ではなく情報提供と
見なされ得る。この調査結果は、ポート番号、そのポートのTCPまたはUDP関連付け
、そのポートをリッスンしているアプリケーション(およびバージョン)、そのポートに
到達することができるアドレス範囲、またアクセスを許可するセキュリティグループ、ア
クセス制御リスト、インターネットゲートウェイ、仮想ゲートウェイ、およびその他のチ
ャネルとともに、報告され得る。第7のルールでは、是正措置の勧告には、アプリケーシ
ョンが期待通りに挙動しているかどうかを確認することが含まれ得る。
一実施形態において、第8のルールは、エージェントなしでインスタンスを分析して、
インスタンスが、信頼できる場所の外側のどこかからのICMPアクセスを許可するかど
うかを判定することができる。この調査結果の重大度は、中である。この調査結果は、そ
のポートに到達することができるアドレス範囲、またアクセスを許可するセキュリティグ
ループ、アクセス制御リスト、インターネットゲートウェイ、仮想ゲートウェイ、および
その他のチャネルとともに、報告され得る。第8のルールでは、是正措置の勧告には、ア
クセス制御構成を編集してアクセスを制限することが含まれ得る(信頼できる場所の外側
のアクセスが必要ない場合)。
一実施形態において、第9のルールは、エージェントを用いずにインスタンスを分析し
て、インスタンスが、信頼できる場所の外側のどこかからの通常は安全性の低いポート(
例えば、ポート20、21、23など)へのアクセスを許可するかどうかを判定すること
ができる。この調査結果の重大度は、中である。この調査結果は、ポート番号、ポートの
TCPまたはUDP関連付け、通常そのポートを使用するアプリケーション、そのポート
に到達することができるアドレス範囲、またアクセスを許可するセキュリティグループ、
アクセス制御リスト、インターネットゲートウェイ、仮想ゲートウェイ、およびその他の
チャネルとともに、報告され得る。第9のルールでは、是正措置の勧告には、アクセス制
御構成を編集してアクセスを制限することが含まれ得る(信頼できる場所の外側のアクセ
スが必要ない場合)。
一実施形態において、第10のルールは、エージェントを用いずインスタンスを分析し
て、インスタンスが、信頼できる場所の外側のどこかからの管理ポート番号22(通常、
SSHに使用される)へのアクセスを許可するかどうかを判定することができる。この調
査結果の重大度は、中である。この調査結果は、ポート番号、ポートのTCPまたはUD
P関連付け、通常そのポートを使用するアプリケーション、そのポートに到達することが
できるアドレス範囲、またアクセスを許可するセキュリティグループ、アクセス制御リス
ト、インターネットゲートウェイ、仮想ゲートウェイ、およびその他のチャネルとともに
、報告され得る。第10のルールでは、是正措置の勧告には、アクセス制御構成を編集し
てアクセスを制限することが含まれ得る(信頼できる管理場所の外側からの管理者アクセ
スが必要ない場合)。
一実施形態において、第11のルールは、エージェントを用いずインスタンスを分析し
て、インスタンスが、信頼できる場所の外側のどこかからの管理ポート番号3389(通
常、RDPに使用される)へのアクセスを許可するかどうかを判定することができる。こ
の調査結果の重大度は、中である。この調査結果は、ポート番号、ポートのTCPまたは
UDP関連付け、通常そのポートを使用するアプリケーション、そのポートに到達するこ
とができるアドレス範囲、またアクセスを許可するセキュリティグループ、アクセス制御
リスト、インターネットゲートウェイ、仮想ゲートウェイ、およびその他のチャネルとと
もに、報告され得る。第11のルールでは、是正措置の勧告には、アクセス制御構成を編
集してアクセスを制限することが含まれ得る(信頼できる管理者場所の外側からの管理者
アクセスが必要ない場合)。
一実施形態において、第12のルールは、エージェントを用いずインスタンスを分析し
て、インスタンスが、信頼できる場所の外側のどこかからのデータベースポート(例えば
、ポート1433、1434、3306など)へのアクセスを許可するかどうかを判定す
ることができる。この調査結果の重要度は、低である。この調査結果は、ポート番号、ポ
ートのTCPまたはUDP関連付け、通常そのポートを使用するアプリケーション、その
ポートに到達することができるアドレス範囲、またアクセスを許可するセキュリティグル
ープ、アクセス制御リスト、インターネットゲートウェイ、仮想ゲートウェイ、およびそ
の他のチャネルとともに、報告され得る。第12のルールでは、是正措置の勧告には、ア
クセス制御構成を編集してアクセスを制限することが含まれ得る(インターネットからの
データベースアクセスが必要ない場合)。
一実施形態において、第13のルールは、エージェントを用いずにインスタンスを分析
して、インスタンスが、信頼できる場所の外側のどこかからのイントラネットポートへの
アクセスを許可するかどうかを判定することができる。この調査結果の重要度は、低であ
る。この調査結果は、ポート番号、ポートのTCPまたはUDP関連付け、通常そのポー
トを使用するアプリケーション、そのポートに到達することができるアドレス範囲、また
アクセスを許可するセキュリティグループ、アクセス制御リスト、インターネットゲート
ウェイ、仮想ゲートウェイ、およびその他のチャネルとともに、報告され得る。第13の
ルールでは、是正措置の勧告には、アクセス制御構成を編集してアクセスを制限すること
が含まれ得る(インターネットからのイントラネットポートアクセスが必要ない場合)。
一実施形態において、第14のルールは、エージェントを用いずにインスタンスを分析
して、インスタンスが、信頼できる場所の外側のどこかからの他のすべてのポート(例え
ば、ルール8~13が適用されないポート)へのアクセスを許可するかどうかを判定する
ことができる。この調査結果の重要度は、低である。この調査結果は、ポート番号、ポー
トのTCPまたはUDP関連付け、通常そのポートを使用するアプリケーション、そのポ
ートに到達することができるアドレス範囲、またアクセスを許可するセキュリティグルー
プ、アクセス制御リスト、インターネットゲートウェイ、仮想ゲートウェイ、およびその
他のチャネルとともに、報告され得る。第14のルールでは、是正措置の勧告には、アク
セス制御構成を編集してアクセスを制限することが含まれ得る(信頼できる場所の外側か
らのアクセスが必要ない場合)。
一実施形態において、第15のルールは、エージェントを用いてインスタンスを分析し
て、インスタンスが、どこからもアクセスできないポートへの接続が開いているかどうか
を判定することができる。この調査結果の重大度は、低であり、情報提供と見なされ得る
。この調査結果は、ポート番号、各ポートに関連しているアプリケーション(およびバー
ジョン)、および該当するアクセス制御リストおよびセキュリティグループとともに、報
告され得る。第15のルールでは、是正措置の勧告には、必要ない場合にアクセスできな
いサービスを終わらせることが含まれ得る。
一実施形態において、第16のルールは、エージェントの有無に関わらずインスタンス
を分析して、インスタンスへのすべてのインバウンドトラフィックが、阻止されているか
どうかを判定することができる。この調査結果の重大度は、低であり、情報提供と見なさ
れ得る。この調査結果は、該当するアクセス制御リストおよびセキュリティグループとと
もに報告され得る。第16のルールでは、是正措置の勧告には、遮断が適切であるかどう
か確認することが含まれ得る。
仮想ネットワーク検証サービス
実施形態によっては、ネットワーク構成分析は、仮想ネットワーク検証サービスを使用
して実施され得る。実施形態によっては、仮想ネットワーク検証サービスは、宣言型論理
プログラミング言語を活用して、ネットワーク到達可能性アナライザが、プロバイダネッ
トワーク上の仮想ネットワークについての再帰クエリを含むクエリを制約問題として表し
、制約ソルバ(例えば、充足可能性モジュロ理論(SMT:Satisfiabilit
y Modulo Theories)ソルバ)エンジンを使用してクエリを解決するこ
とによって、クエリに対する結果を提供することを可能にする。いくつかの実施形態で使
用され得る宣言型論理プログラミング言語例は、Datalogである。他の宣言型論理
プログラミング言語が使用されてもよいことに留意されたい。
クライアントの仮想ネットワーク内にネットワーキングプリミティブを備え、構成する
ために、クライアントは様々なプロバイダネットワークサービスを使用することができ、
各サービスは、それ自身のアプリケーションプログラミングインターフェース(API:
Application Programming Interface)およびネット
ワーキングセマンティクスを提供することができる。従来、コードサンプルおよびドキュ
メンテーションが各サービスに提供され得るが、仮想ネットワークにおけるネットワーキ
ングプリミティブ間の相互作用の正式な記述がなかった。実施形態によっては、ネットワ
ーキングプリミティブのための仮想ネットワーキングセマンティクスおよび論理は、論理
プログラミング言語に従って仮想ネットワーキングルールのセットとして表され、符号化
され得る。仮想ネットワーキングルールは、仮想ネットワークに実装され得、またプロバ
イダネットワークのサービスおよびAPIによって提供される、様々なネットワーキング
プリミティブ間の共通の関係および相互作用を表すルールを含み得る。したがって、実施
形態は、プロバイダネットワーク環境において仮想ネットワーキングがどのように働くか
の論理を記述する仮想ネットワーキングルールを1つの場所またはファイルに備えること
ができる。
実施形態によっては、仮想ネットワーキングルールは、ペイメントカード業界データセ
キュリティ基準(PCI DSS:Payment Card Industry Da
ta Security Standard)、米国連邦リスクおよび承認管理プログラ
ム (FedRAMP:Federal Risk and Authorizatio
n Management Program)基準、もしくは医療保険の相互運用性と説
明責任に関する法律(HIPAA:Health Insurance Portabi
lity and Acoundability Act)基準などのセキュリティ基準
、またはクライアントの内部セキュリティ基準を符号化するルールを組み込み得る。実施
形態によっては、仮想ネットワーク検証サービスは、仮想ネットワーキングルールの2つ
以上の異なるセットを提供することができ、このセットのそれぞれは、特定の基準へのそ
の仮想ネットワークの準拠を検証するのに選択的に使用され得る、様々なネットワーキン
グセキュリティ基準を符号化する。実施形態によっては、仮想ネットワーク検証サービス
は、クライアントの内部セキュリティ基準、ベストプラクティス、または他のネットワー
キング要件を符号化するカスタムルールをクライアント(ネットワーク到達可能性アナラ
イザなど)が定義することを可能にし得、それにより、それらの特定の仮想ネットワーク
に適用するためにクライアントによって定義されたカスタムルールを含む、仮想ネットワ
ーキングルールのセットが実装され得る。
実装形態によっては、仮想ネットワーク検証サービスは、クライアントの仮想ネットワ
ークに関する記述情報を得る。記述情報は、例えば、仮想ネットワークに実装されたネッ
トワーキングプリミティブのインスタンスを特定し、インスタンスの記述(例えば、計算
インスタンスに割り当てられた役割、リソースインスタンスに与えられたまたは与えられ
ていないパーミッション、インスタンスに割り当てられたIPアドレスなど)を含み、イ
ンスタンス間の関係(例えば、インスタンス間のネットワークにわたるパス)を記述し、
外部エンティティへのインターフェースまたはアクセスポイント(例えば、仮想ネットワ
ークの外部のエンティティによってアクセスされ得る計算インスタンス)を記述し得る。
実施形態によっては、クライアントは、仮想ネットワークから記述情報を得て、その記述
情報を仮想ネットワーク検証サービスに提供することができる。あるいは、実施形態によ
っては、クライアントは、仮想ネットワーク検証サービスが仮想ネットワークから記述情
報を直接得ることを可能にするパーミッションを、仮想ネットワーク検証サービスに与え
ることができる。仮想ネットワーク検証サービスは、宣言型論理プログラミング言語に従
って、記述情報を論理プログラムとして符号化することができる。
仮想ネットワーク検証サービスの実施形態は、ポート走査方法および構文チェック方法
などの従来のネットワーク分析方法と比較すると、多大な利点をもたらすことができる。
これらの従来の方法とは異なり、符号化された仮想ネットワーキングルールおよび仮想ネ
ットワーク記述を通して、仮想ネットワーク検証サービスは、すべてのネットワーキング
プリミティブおよびリソースインスタンス、ならびにそれらの複雑な相互関係についての
知識を得ることができる。走査時に稼働しているデバイスに頼り、それにより走査時に存
在するデバイス間のネットワークにわたるパスしか特定できない可能性がある従来の方法
とは異なり、記述情報は、仮想ネットワークを記述するメタデータを維持する1つ以上の
プロバイダネットワークサービスのAPIへのDESCRIBEコールのみを使用して、
クライアントによってまたはサービスによって得られ得、それにより、それぞれのデバイ
スまたはインスタンスが稼働しておらず、リッスンしていなくても、ネットワークにわた
るパスが特定され得る。また、ポート走査方法では、脅威が起こっていることは確認でき
るが、脅威が起こっていないことを確認できない可能性がある。構文チェック方法は、個
々のネットワークデバイスのシャロープロバティをチェックすることができるが、攻撃ベ
クトルの有無を確認しない。一方、実施形態によっては、仮想ネットワーク検証サービス
は、符号化された仮想ネットワーキングルールで表されるようなネットワークポリシから
の起こり得る逸脱をすべて見付けることができ、脅威および攻撃ベクトルの有りおよび無
しの両方を確認することができる。さらに、記述情報は、仮想ネットワークを記述するメ
タデータを維持する1つ以上のプロバイダネットワークサービスへのDESCRIBEコ
ールのみを使用して、クライアントによってまたはサービスによって得られ得、それによ
り、実体的なネットワークおよびCPU帯域幅を必要とするポート走査方法などの従来の
方法とは異なって、クライアントの仮想ネットワークへの影響はほとんどまたは全くなく
、また、ポート走査方法の場合のように、プロバイダネットワーク上のあらゆるデバイス
への完全なネットワークアクセスが必要とされない。
実施形態によっては、仮想ネットワーク検証サービスは、クライアント(ネットワーク
到達可能性アナライザなど)からクエリを受信する。実施形態によっては、クエリは、S
QLに類似しているがネットワーク構成に適用される表出型クエリ言語で提示され得る。
このようなクエリの非限定的な例としては、「VNVSquery-i Iist:ca
n-ssh(AB)を挙げることができ、これは、インスタンスAがインスタンスBにS
SHすることができるようなすべてのインスタンス対のリストを提供するよう、仮想ネッ
トワーク検証サービス(VNVS)に要求する。あるいは、実施形態によっては、クエリ
は、人に分かりやすい形で提示され得る。このようなクエリの非限定的な例は、「インス
タンスAがインスタンスBにSSHすることができるようなすべてのインスタンス対のリ
ストを示してください」のようなものであり得る。実施形態によっては、少なくともいく
つかのクエリが、予め定義され、仮想ネットワーク検証サービスへのグラフィカルインタ
ーフェースを介して、ユーザインターフェース要素(例えば、メニュー)においてユーザ
に提供され得る。
クエリは、生成された論理プログラムに関する定理に対応し、制約問題を表し得る。仮
想ネットワーク検証サービスは、宣言型論理プログラミング言語に従って制約問題を解決
するように構成された制約ソルバプログラム(制約ソルバエンジンとも呼ばれる)を使用
して、符号化されたルールに従って、符号化された記述に対するクエリによって表される
制約問題を解決し、結果をクライアントに提供することができる。実施形態によっては、
仮想ネットワーク検証サービスは、クエリを提示するためのAPIおよびインターフェー
スを提供することができる。実施形態によっては、仮想ネットワーク検証サービスは、ク
ライアントがAPIおよびインターフェースを介して選択することができる標準クエリの
セットを提供することができる。実施形態によっては、仮想ネットワーク検証サービスは
、クライアントがカスタムクエリを作成し、APIおよびインターフェースを介して提出
すえることを可能にし得る。
実施形態において、コンソール上のサービスへのグラフィカルインターフェースを介し
て、またはコマンドラインインターフェース(CLI:Command Line In
terface)を介して、クライアントが仮想ネットワーク検証サービスを使用して、
プロバイダネットワーク上のクライアントの仮想ネットワークについての質問(制約を明
示するクエリとして提示される)に対する回答を得ることができる。提示される可能性が
ある質問の例としては、以下が挙げられるが、これらに限定されない。
●仮想ネットワーク内のどのインスタンスにインターネットからアクセス可能であるか

●どのインスタンスが仮想ネットワーク上の指定されたリソースにアクセスすることが
できるか(例えば、データベース、キャッシュ、ストレージエンドポイント、他のインス
タンスなど)?
●仮想ネットワークは、ネットワーキングセキュリティ基準のベストプラクティスに準
拠しているか?
●仮想ネットワークは、このルールのセットに符号化された自分の会社のベストプラク
ティスに準拠しているか。
より一般的には、クライアント(ネットワーク到達可能性アナライザなど)が仮想ネッ
トワーク検証サービスを使用して、仮想ネットワーク内のリソースと仮想ネットワーク内
の他のリソースとの間の期待されるパイプ、ならびに外部エンティティへの期待されるパ
イプが開いているか、また期待されるパイプが唯一の開いたパイプであるか(例えば、外
部エンティティが、それらが達することを許されるべきではない仮想ネットワーク内のリ
ソースに達することができないか)を検証することができる。
仮想ネットワーク内のあるリソースと他のリソースとの間のパイプ、または仮想ネット
ワーク内のリソースと外部エンティティとの間のパイプが開いているかを検証することは
、リソース間、またはリソースと外部エンティティとの間にネットワークにわたるパスま
たはルート(例えば、リソースから、それを介して外部エンティティが仮想ネットワーク
上のリソースにアクセスすることができるHTTPSゲートウェイへのパス)があるか(
すなわち、ネットワーク接続性があるか)を検証することを含み得る。パスは、エンドポ
イント間にネットワーク接続性をもたらすネットワークにわたる直接パスであってもよく
、あるいはルート上の1つ以上のホップを通過し、エンドポイント間にネットワーク接続
性をもたらす推移的なパスであってもよい。仮想ネットワークを記述するメタデータを維
持する1つ以上のプロバイダネットワークサービスのAPIへのDESCRIBEコール
のみを使用して、仮想ネットワークについての記述情報を得ることができ、それにより、
それぞれのデバイスまたはインスタンスが稼働しておらず、リッスンしていない場合でも
パスを検証することができる。実施形態によっては、仮想ネットワークについての記述情
報は、リソースに与えられたまたは与えられていないパーミッション(例えば、仮想ネッ
トワーク上のエンドポイントへの1つのリソースアクセスを与えるもしくは与えないパー
ミッション、または、所与のエンドポイント(例えば、ストレージエンドポイント)にア
クセスすることができる、もしくはできない、IPアドレス範囲もしくはリソースインス
タンスの特定のポートを指定するパーミッションなど)を含み得る。これらの実施形態で
は、仮想ネットワーク内のパスが開いていることを検証することは、そのパスに必要なパ
ーミッションが与えられていることを検証することを含み得る。同様に、期待されるパス
が唯一の開いたパスであることを検証することは、仮想ネットワークまたは外部エンティ
ティ内のリソースが、アクセスするべきではないリソースにアクセスするためのパーミッ
ションを有していないと判断することを含み得る。
仮想ネットワーキングルールの適切なセットを有する仮想ネットワーク検証サービスの
実施形態は、例えば、顧客が顧客の仮想ネットワークが、ペイメントカード業界データセ
キュリティ基準(PCI DSS)、米国連邦リスクおよび承認管理プログラム(Fed
RAMP)基準、もしくは医療保険の相互運用性と説明責任に関する法律(HIPPA)
基準などのネットワーキングセキュリティ基準に準拠していることを検証するのを助ける
ために、または顧客の仮想ネットワークがクライアントの内部セキュリティ基準またはそ
の他の内部ネットワーキング要件に準拠していることを検証するために、クライアント(
ネットワーク到達可能性アナライザ)によって使用され得る。
仮想ネットワーク検証サービスの別の適用例としては、ネットワークセキュリティ問題
またはソフトウェアバグなどの脆弱性の仮想ネットワークにおける起こり得る影響を突き
止めるためがある。例えば、仮想ネットワーク内の特定のインスタンス上で作動している
特定のソフトウェアプログラムに脆弱性が発見された場合、クライアント(ネットワーク
到達可能性アナライザなど)は、このインスタンスが仮想ネットワーク内の他のインスタ
ンスと通信することができる、すべての方法を判定するためにクエリを作成し、提出する
ことができる。結果は、クライアントが、脆弱性の起こり得る影響を特定し、したがって
状況を最もうまく処理する方法に関して決定を行うことを可能にし得る。例えば、脆弱性
を有するインスタンスからミッションクリティカルなデータベースを有するインスタンス
への直接のパスがない場合、問題に、通常の保守スケジュールに従って処理される低い優
先度を与えることができる。脆弱性を有するインスタンスがミッションクリティカルなデ
ータベースを有するインスタンスに影響を与える場合、仮想ネットワークの少なくとも一
部をシャットダウンして脆弱性に直ちに対処するという決定を行うことができる。
仮想ネットワーク検証サービスの別の適用例は、プロバイダネットワーク環境のための
仮想ネットワーキングの変更のオフラインテストの際である。例えば、プロバイダネット
ワーク環境で仮想ネットワーキングがどのように働くかの論理を記述する仮想ネットワー
キングルールをテスト環境で使用して、仮想ネットワーキングプリミティブの変更を、そ
れがプロバイダネットワークに適用される前にテストし、この変更が仮想ネットワークに
どのような影響を与え得るかを判定することができる。
仮想ネットワーク検証サービスの別の適用例は、クライアント用の仮想ネットワークを
自動的に統合する際である。例えば、クライアント(ネットワーク到達可能性アナライザ
など)が、特定のネットワーキングセキュリティ基準に準拠し、また指定されたネットワ
ーキングプリミティブののセットを含む、仮想ネットワークを確立することを望む場合が
ある。クライアントが自ら仮想ネットワークをビルドし、テストする必要がないように、
仮想ネットワーク検証サービスおよび仮想ネットワーキングルールを使用して、制約(ク
ライアント指定プリミティブ、ネットワーキングセキュリティ基準、仮想ネットワーキン
グがプロバイダネットワーク環境内でどのように働くかの論理を記述する仮想ネットワー
キングルール、など)のすべてを満たす仮想ネットワークを自動的に統合し、検証するこ
とができる。例えば、基準によって課せられた制約をクエリとして提示することができ、
クエリを解決して、制約を満たす仮想ネットワーク構成を判定することができ、あるいは
仮想ネットワークの構成が制約に従っているかどうかを判定することができる。それによ
り、制約に従う仮想ネットワークが統合されてもよく、あるいは仮想ネットワークが制約
に従うように修正されてもよい。
仮想ネットワーク検証サービスの別の適用例は、構成または変更がプロバイダネットワ
ークに実装される前に、クライアント(ネットワーク到達可能性アナライザなど)が新た
な仮想ネットワーク構成または既存の仮想ネットワークの変更を検証することを可能にす
ることである。例えば、仮想ネットワーク構成は、クライアントによって生成または修正
されてもよく、その構成に対する制約はクエリとして提示することが可能であって、構成
がプロバイダネットワークに実装される前に、クエリを解決して、構成がクエリで提示さ
れたクライアントの制約に準拠していることを検証してもよい。
図8は、いくつかの実施形態による、プロバイダネットワーク環境における仮想ネット
ワーク検証サービスを示す。クライアントにプロバイダネットワーク800を提供するサ
ービスプロバイダは、クライアントがプロバイダネットワーク800上の仮想ネットワー
ク810にリソースを確立し、管理することを可能にするサービスおよびアプリケーショ
ンプログラミングインターフェース(API)802を提供することができる。プロバイ
ダネットワーク800環境における仮想ネットワーク810は、それぞれのクライアント
のプロバイダネットワークリソースのセットを含むネットワーク空間であって、クライア
ントのリソース用のプロバイダネットワーク800上の論理的に隔離されたセクションと
して機能する、ネットワーク空間として、広く定義され得る(例えば、アドレス範囲また
はアドレス空間によって論理的に定義される)。仮想ネットワーク810は、ネットワー
クプロトコルに従ってプライベートまたはローカルのインターネットプロトコル(IP:
Internet Protocol)アドレス空間、例えばインターネットプロトコル
バージョン4(IPv4:Internet Protocol version4)ア
ドレス範囲またはサブネット内の32ビットIPアドレスを実装することができる。仮想
ネットワーク810上のソース(例えば、計算リソース、ストレージリソース、サーバ、
ホストデバイスなどのエンドポイント)には、仮想ネットワーク810のアドレス空間内
のIPアドレス(例えば、32ビットのIPv4アドレス)が割り当てられ得る。プロバ
イダネットワーク800上のクライアントの仮想ネットワーク810は、クライアントに
よって仮想コンピューティングリソースインスタンスとして構成されたホストデバイス上
の仮想マシン(VM:Virtual Machine)などのクライアントのリソース
インスタンスを含む。プロバイダネットワーク上のリソースインスタンスの少なくともい
くつかは、複数のオペレーティングシステムをホストコンピュータ上で同時に、すなわち
ホストデバイス上のVMとして実行することを可能にするハードウェア仮想化技術に従っ
て実装することができる。ホストデバイス上のハイパーバイザ、または仮想マシンモニタ
(VMM:Virtual Machine Monitor)は、それぞれのホスト上
のVMに仮想プラットフォームを提示し、ホストデバイス上のVMの実行を監視する。各
VMには1つ以上のIPアドレスが与えられ、それぞれのホスト上のVMMは、ホスト上
のVMのIPアドレスを分かっている可能性がある。
様々なネットワークリソース、構造、および機能性(ネットワーキングプリミティブと
呼ばれる)が、様々なプロバイダネットワークサービス802を介してプロバイダネット
ワーク800のクライアントに提供され得る。クライアントは、少なくとも部分的に様々
なサービスおよびAPI802を使用して、プロバイダネットワーク800上でクライア
ントの仮想ネットワーク810を作成し、構成し、ポピュレートし、修正することができ
る。以下では、サービス802によって提供され得、限定的であることを意図するもので
はない、ネットワーキングプリミティブ例を挙げる。
●仮想ネットワーク
●リソースインスタンス(例えば、サービス802を使用するクライアントによる、仮
想コンピューティングリソースインスタンスとして構成されたVM(例えば、アプリケー
ションサーバ、Webサーバ、データベースサーバ、アクセスポイント、ゲートウェイ、
ロードバランサ、ロギングサービスなどの特定のプロバイダネットワークサービスのイン
スタンス、ネットワーク監視および分析サービス、コードリポジトリサービス、コンテナ
管理サービスなど)。
●タグ-実施形態によっては、クライアントは、リソースインスタンスをタグ付けする
ことによって、クライアントの仮想ネットワーク内の特定のリソースインスタンス(例え
ば、VM)に特定の役割を割り当てることが許され得る。タグは、例えば、PRODやD
EVなどのテキスト文字列であり得る。タグは、リソースインスタンス用のメタデータに
格納され得る。タグは、標準プロバイダネットワーク定義タグおよび/またはクライアン
ト定義タグを含み得る。リソースインスタンスの役割例には、セキュアソケットシェル(
SSH:Secure Socket Shell)アクセスインスタンス、ロギングサ
ービスインスタンス、コードリポジトリインスタンス、本番リソースインスタンス、およ
び開発リソースインスタンスが含まれるが、これらに限定されるわけではない。
●仮想ネットワークエンドポイント(例えば、計算リソース、ストレージリソース、サ
ーバ、ホストデバイスなどのエンドポイント)。
●仮想ネットワークピアリング接続実施形態によっては、クライアントは、プロバイダ
ネットワーク上に2つ以上の仮想ネットワークを確立することができる。仮想ネットワー
クがインターネットなどの外部ネットワークを横断する必要なしにプロバイダネットワー
クにわたって安全に通信することを可能にするピアリング接続が、仮想ネットワーク間で
確立され得る。
●仮想ネットワークの外部のエンティティから仮想ネットワークのリソースの少なくと
もいくつかへのアクセスを提供するインターネットゲートウェイ
●例えば、仮想ネットワーク上のリソースインスタンスのグループまたはクラスタ間で
ネットワークトラフィックを分散させる仮想化ロードバランサインスタンスである、ロー
ドバランサ
●ネットワークアドレス変換(NAT:Network Address Trans
lation)インスタンス
●NATゲートウェイ
●ネットワークアクセス制御リスト(ACL)
●ネットワークインターフェース。
●ルートテーブル
●サブネット-仮想ネットワークは、必ずしもではないが、2つ以上のサブネットワー
ク、またはサブネットに細分され得る。
●セキュリティグループ-実施形態によっては、プロバイダネットワークは、クライア
ントが、クライアントの仮想ネットワーク内に、サブネット内に、またはサブネットにわ
たって、仮想セキュリティグループを確立し、管理することを可能にし得る。セキュリテ
ィグループは、リソースインスタンスを論理的にグループ化したものであり、セキュリテ
ィグループルールに従ってセキュリティグループ内の1つ以上のリソースインスタンスに
到達することを許されたトラフィックを制御する仮想ファイアウォールとして機能する。
●リージョン-プロバイダネットワークサービスおよびリソース(例えば、仮想ネット
ワーク、VMインスタンス、データストレージ、ゲートウェイ、ロードバランサなど)は
、複数の地理的な場所または範囲でサポートされ得る。本明細書で使用される際、リージ
ョンとは、プロバイダネットワークサービスをサポートし、そこで、クライアントがリソ
ースを起動し、構成することができる別個の地理的範囲である。サービスおよびAPIに
より、クライアントは1つ以上のリージョンでクライアントのリソースを起動または複製
することが可能になり得る。
●ゾーン-各地域には、本明細書でゾーンと呼ばれる複数の孤立した場所が含まれ得る
。クライアントのリソースインスタンスは、1つのゾーン内のリソースインスタンスに障
害が発生した場合に、別のゾーン内のインスタンスが要求を処理できるように、リージョ
ン内の複数のゾーンに分散させることができる。
実施形態によっては、クライアントは、それぞれのプロバイダネットワークサービス8
02を使用して、上記のネットワーキングプリミティブのうちの1つ以上のインスタンス
を含む仮想ネットワーク810をプロバイダネットワーク800上に確立することができ
る。図8は、プロバイダネットワーク800上の仮想ネットワーク例810を示し、この
例は、限定的であることを意図するものではない。クライアントの仮想ネットワーク81
0は、仮想ネットワークの機能性を実装するリソースインスタンス818(例えば、VM
)、例えばアプリケーションサーバ、Webサーバ、データベースサーバなどを含み得る
。リソースインスタンス818は、インスタンス818Aおよび818Bのグループまた
はクラスタを含み得、例えば、インスタンス818Aは、本番環境に相当し得る一方、イ
ンスタンス818Bは、開発環境に相当し得る。実施形態によっては、インスタンス81
8Aと818Bとは、異なるサブネットおよび/またはセキュリティグループ内にあり得
る。
クライアントの仮想ネットワーク810はまた、アプリケーションおよびオペレーティ
ングシステムロギングサービス、ネットワーク監視および分析サービス、コードリポジト
リサービス、コンテナ管理サービスなど、クライアントの仮想ネットワーク810内に特
定のプロバイダネットワークサービスを実装するサービスインスタンス816(例えば、
VM)を含み得る。
クライアントの仮想ネットワーク810はまた、クライアントネットワーク880上の
デバイス882および他の外部エンティティ890がインターネットなどの中間ネットワ
ーク850を介して仮想ネットワーク810内のリソースおよびエンドポイントと通信す
ることを可能にするアクセスインスタンスを含み得る。アクセスインスタンスは、例えば
、ロードバランサおよびゲートウェイ(インターネットゲートウェイ、NATゲートウェ
イなど)を含み得る。この例に示されるように、実施形態によっては、アクセスインスタ
ンスは、HTTPSアクセスインスタンス814およびSSHアクセスインスタンス81
2を含み得る。HTTPSアクセスインスタンス814は、HTTPSプロトコルを使用
して外部エンティティ890からリソースインスタンス818Aおよび818Bにそれぞ
れアクセスするためのインスタンス814Aおよび814B、ならびにHTTPSプロト
コルを使用してクライアントネットワーク880上のデバイス882からサービスインス
タンス816にアクセスするためのインスタンス814Cを含み得る。実施形態によって
は、クライアントは、例えばSSHを使用して、クライアントネットワーク880上のデ
バイス882(例えば、コンソール)から仮想ネットワーク810内のリソースインスタ
ンスにアクセスすることができる。実施形態によっては、SSHを使用してリソースイン
スタンスにアクセスするために、クライアントにインスタンスのIPアドレスとキーとが
与えられる。クライアントは、提供された情報を使用してインスタンスに直接SSH接続
することができる。実施形態によっては、SSHアクセスインスタンス812は、クライ
アントがSSHプロトコルを使用してクライアントネットワーク880上のデバイス88
2(例えば、コンソール)から仮想ネットワーク810上のクライアントのリソースイン
スタンスにアクセスすることを可能にするプロキシとして機能し得る。例えば、SSHア
クセスインスタンス812は、クライアントの仮想ネットワークの公にアクセス可能なサ
ブネット内にあり得る。クライアントのリソースインスタンスの少なくとも一部が、公に
アクセスできないサブネットにある場合がある。これらのリソースインスタンスは、SS
Hアクセスインスタンス812に付設されたセキュリティグループからのSSHアクセス
を許可するセキュリティグループ内にあり得る。クライアントは、クライアントのリソー
スインスタンスに接続するためにSSHアクセスインスタンス112に接続することがで
きる。
図8に示すように、プロバイダネットワーク800は、プロバイダネットワーク800
上の1つ以上のコンピューティングデバイスによって実装される仮想ネットワーク検証サ
ービス830を含み得る。実施形態によっては、仮想ネットワーク検証サービス830の
インスタンスは、例えば、図8に示すようにSSHアクセスインスタンス812によって
、クライアントの仮想ネットワーク800上に実装され得る。仮想ネットワーク検証サー
ビス830は、宣言的論理プログラミング言語(例えば、Datalog)を利用して、
クライアントがプロバイダネットワーク上のクライアントの仮想ネットワークについて再
帰クエリを含むクエリを制約問題として表すことを可能にし得、制約ソルバエンジンを使
用してクエリを解決することにより、クエリに対する結果を提供する。
仮想ネットワーク検証サービス830において、サービス802によって提供されるネ
ットワーキングプリミティブのための仮想ネットワーキングセマンティクスおよび論理は
、論理プログラミング言語に従って仮想ネットワーキングルールのセットとして表され、
符号化され得る。仮想ネットワーキングルールは、仮想ネットワーク810に実装されて
いる様々なネットワーキングプリミティブ間の共通の関係および相互作用を表わすルール
を含み得る。仮想ネットワーキングルールは、ネットワーキングセキュリティ基準(例え
ば、PCI、FedRAMP、HIPPAなど)、またはクライアントの内部セキュリテ
ィ基準もしくは他のネットワーキング要件を符号化するルールも組み込むことができる。
仮想ネットワーク検証サービス830は、クライアントの仮想ネットワーク810につ
いての記述情報を得る。記述情報は、例えば、仮想ネットワーク810に実装されている
ネットワーキングプリミティブのインスタンスを特定し、様々なインスタンスの記述(例
えば、インスタンスに割り当てられた役割、インスタンスに与えられたまたは与えられて
いないパーミッション、インスタンスに割り当てられたIPアドレスなど)を含み、イン
スタンス間の関係(例えば、インスタンス間のパス)を記述し、また外部エンティティ8
90へのインターフェースまたはアクセスポイントを記述することができる。実施形態に
よっては、クライアントは、仮想ネットワーク810から記述情報を得て、その記述情報
を仮想ネットワーク検証サービス830に提供することができる。あるいは、実施形態に
よっては、クライアントは、仮想ネットワーク検証サービス830が仮想ネットワーク8
10から記述情報を直接得ることを可能にするパーミッションを、仮想ネットワーク検証
サービス830に与えることができる。仮想ネットワーク検証サービス830は、宣言型
論理プログラミング言語に従って記述情報を論理プログラムとして符号化することができ
る。
仮想ネットワーク検証サービス830は、宣言型論理プログラミング言語を利用し、ク
ライアントがプロバイダネットワーク800上のクライアントの仮想ネットワーク810
についてのクエリを、例えばグラフィカルインターフェースまたはコマンドラインインタ
ーフェース(CLI:Command Line Interface)を介して、クラ
イアントネットワーク880内のクライアントデバイス882上のサービス830に提示
することを可能にし得る。いくつかの実施形態において使用され得る論理プログラミング
言語例には、Datalogがある。他の宣言型論理プログラミング言語が使用されても
よいことに留意されたい。実施形態によっては、クエリは、SQLに幾分類似している可
能性があるがネットワーク構成に適用される表出型クエリ言語で提示され得る。あるいは
、実施形態によっては、クエリは、人に分かりやすい形で提示され得る。クエリは、生成
された論理プログラムに関する定理に対応し、制約問題を表す。仮想ネットワーク検証サ
ービス830は、制約ソルバエンジンを使用して、符号化されたルールに従って、符号化
された記述に対するクエリによって表された制約問題を解決することができ、その結果を
クライアントに提供する。実施形態によっては、仮想ネットワーク検証サービス830は
、クエリを提示するためのAPIおよびインターフェースを提供することができる。実施
形態によっては、仮想ネットワーク検証サービス830は、クライアントがAPIおよび
インターフェースを介して選択することができる標準クエリのセットを提供することがで
きる。実施形態によっては、仮想ネットワーク検証サービス830は、クライアントがA
PIおよびインターフェースを介してカスタムクエリを作成し、提出することを可能にし
得る。
以下は、図8に示される仮想ネットワーク例について、クライアントによって提示され
得るクエリ例を説明するものであり、このクエリ例は、限定的であることを意図するもの
ではない。
仮想ネットワーク810のいくつかの実施形態では、仮想ネットワーク810上のリソ
ースは、クライアントネットワーク880上の指定されたエンドポイントからSSHアク
セスインスタンス812を通じてSSHを介してのみアクセス可能であるべきである。し
たがって、クライアントは、仮想ネットワーク810内のどのインスタンスも中間ネット
ワーク850上のエンドポイントからSSHを介してアクセス可能ではないことを検証し
たい場合がある。これを検証するためのクエリ例は、次のように表され得る。
すべてのインスタンス:
!internet-can-ssh-to-instance(Instance
クライアントはまた、クライアントネットワーク880から、仮想ネットワーク810
上のSSHアクセスインスタンス812がSSHを介してアクセス可能であることを検証
したい場合もある。先に述べたように、実施形態によっては、仮想ネットワーク810内
のクライアントのインスタンスの少なくともいくつかに特定の役割を割り当てることがで
き、役割は、インスタンス用のメタデータに格納されているタグによって示され得る。タ
グは、記述情報に含まれ得、それにより仮想ネットワーク810についての符号化された
記述に示され得る。したがって、実施形態によっては、タグは、例えば、特定の役割を割
り当てられたインスタンスが実際にそれらの役割を果たすことができることを検証するた
めに、クエリで使用され得る。クライアントネットワーク880から、仮想ネットワーク
810上のSSHアクセスインスタンス812がSSHを介してアクセス可能であること
を検証するためのクエリ例は、次のように表され得る。
すべてのインスタンス:
atom/instance-tag(Instance、tag-key/Nam
e、tag-value/SSHAccessInstance)
<=>ClientNetwork-can-ssh-to-instance(I
nstance)
上記の式は、制約ソルバによって評価されると、仮想ネットワーク810上のすべての
インスタンスをチェックし、SSHAccessInstanceとしてタグ付けされた
インスタンスについては、制約ソルバは、そのインスタンスがクライアントネットワーク
880からSSHを介して到達可能であるかどうかを判定し、そうである場合にTRUE
を返し、そうでない場合にFALSEを返す。
以下では、クライアントが仮想ネットワーク検証サービス830に適切なクエリを提示
することによって検証することができる仮想ネットワーク810の態様の他の例のいくつ
かを挙げているが、これは限定的であることを意図したものではない。
●SSHを介してクライアントネットワーク880からSSHアクセスインスタンス8
12のみがアクセス可能である。
●リソースインスタンス818Aおよび818Bは、中間ネットワーク850B(例え
ばインターネット)を介して外部エンティティ890によってそれぞれのHTTPSアク
セスインスタンス814Aおよび814Bを通して到達可能である。
●リソースインスタンス818Aおよび818Bは、要求を認証するために中間ネット
ワーク850Bに到達することができる。
●リソースインスタンス818Aおよび818Bは、指定サービスインスタンス816
に書き込むことができる。
●指定サービスインスタンス816は、HTTPSアクセスインスタンス814Cを介
してクライアントネットワーク880から到達することができる。
●指定サービスインスタンス816は、仮想ネットワーク810上の指定エンドポイン
トに到達することができる。
●すべてのインスタンスは、指定されたタグのセットのうちの1つでタグ付けされる。
図9は、いくつかの実施形態による、仮想ネットワーク検証サービス例の構成要素およ
び動作を示す。仮想ネットワーク検証サービス930は、プロバイダネットワーク上の1
つ以上のコンピューティングデバイスによって実装することができる。実施形態によって
は、仮想ネットワーク検証サービス930のインスタンスは、例えば図8に示されるよう
にSSHアクセスインスタンス812によって、クライアントの仮想ネットワーク上に実
装され得る。図9に示されるように、実施形態によっては、仮想ネットワーク検証サービ
ス930は、サービスエンジン934、制約ソルバ936エンジン、およびAPI932
を含み得る。サービスエンジン934は、以下に限定されるわけではないが、ルール符号
化950ロジック、クエリ処理960ロジック、および記述符号化970ロジックを実装
し得る。制約ソルバ936は、符号化された仮想ネットワーキングルール938に基づい
て、符号化された記述940によって表されるような、仮想ネットワークについての再帰
クエリを含むクエリを解決するように構成された宣言型論理プログラミング言語エンジン
に相当し得る。API932は、クライアントを含むがこれに限定されない外部エンティ
ティにサービス910の機能性を公開する。
図9の(1A)および(1B)において、サービス930のルール符号化950ロジッ
クは、仮想ネットワークに適用されるべき仮想ネットワーキングルール938を得て(1
A)、符号化する(1B)ことができる。符号化されるルールは、サービスプロバイダか
ら、クライアントから、または他の外部のエンティティもしくは情報源から得られ得る。
符号化されたルール例938は、後で本明細書で示される。
実施形態において、仮想ネットワークで使用されるネットワーキングプリミティブのた
めの仮想ネットワーキングセマンティクスおよび論理は、論理プログラミング言語に従っ
て、仮想ネットワーキングルール938のセットとして得られ、符号化され得る。仮想ネ
ットワーキングルール938は、仮想ネットワークに実装され得、またプロバイダネット
ワークのサービスおよびAPIによって提供される、様々なネットワーキングプリミティ
ブ間の共通の関係および相互作用を表すルールを含み得る。したがって、実施形態は、プ
ロバイダネットワーク環境において仮想ネットワーキングがどのように働くかの論理を記
述する仮想ネットワーキングルール938を1つの場所またはファイルに備えることがで
きる。
実施形態によっては、仮想ネットワーク検証サービス930は、ペイメントカード業界
データセキュリティ基準(PCI DSS)、米国連邦リスクおよび承認管理プログラム
(FedRAMP)基準、または医療保険の相互運用性と説明責任に関する法律(HIP
PA)基準などのネットワーキングセキュリティ基準のためのルールを得て、符号化する
ことができ、それにより、ネットワーキングセキュリティ基準を検証するためのルールを
含む仮想ネットワーキングルール938のセットが実装され得る。実施形態によっては、
仮想ネットワーク検証サービス930は、クライアントの仮想ネットワークが特定の標準
に準拠していることを検証するためにクライアントによって選択的に使用され得る、様々
なネットワーキングセキュリティ基準をそれぞれが符号化する、仮想ネットワーキングル
ール938の2つ以上の異なるセットを提供することができる。実施形態によっては、仮
想ネットワーク検証サービス930は、クライアントの内部セキュリティ基準、ベストプ
ラクティス、または他のネットワーキング要件を符号化するカスタムルールをクライアン
トが定義することを可能にすることができ、それにより、それらの特定の仮想ネットワー
クに適用するようにクライアントによって定義されたカスタムルールを含む、仮想ネット
ワーキングルール938のセットが実装され得る。
図9の(2)において、サービス930のクエリ処理960ロジックは、仮想ネットワ
ーキングルール938に従って仮想ネットワークについて解決されるべきクエリをクライ
アントから受信することができる。実施形態によっては、クライアントは、グラフィカル
インターフェースまたはコマンドラインインターフェース(CLI)を介して、プロバイ
ダネットワーク上でクライアントの仮想ネットワークについてのクエリをサービスAPI
932に提供することができる。実施形態によっては、クエリは、SQLに類似している
がネットワーク構成に適用される表出型言語で提示され得る。あるいは、実施形態によっ
ては、クエリは、人に分かりやすい形で提示され得る。クエリ例は、図8に関連して上に
説明されている。
図9の(3A)および(3B)において、サービス930の記述符号化970ロジック
は、仮想ネットワークの記述を得て(3A)、符号化する(3B)ことができる。実施形
態によっては、サービス930の記述符号化970ロジックは、仮想ネットワークについ
ての記述情報を得て(3A)、記述符号化970ロジックが受信する各クエリに対して、
符号化された記述940として、記述情報をエンコードし(3B)、クエリを解決する際
に記述940が最新のものであることを保証する。しかし、実施形態によっては、記述符
号化970ロジックは、仮想ネットワークについての記述情報を得て、符号化し、符号化
された記述940を使用して2つ以上のクエリを処理することができる。図9の(3A)
において、サービス930の記述符号化970ロジックは、クライアントの仮想ネットワ
ークについての記述情報を得る。記述情報は、例えば、仮想ネットワークに実装されてい
るネットワーキングプリミティブのインスタンスを特定し、様々なインスタンスの記述(
例えば、インスタンスに割り当てられた役割、インスタンスに与えられたまたは与えられ
ていないパーミッション、インスタンスに割り当てられたIPアドレスなど)を含み、イ
ンスタンス間の関係(例えば、インスタンス間のパスなど)を記述し、また外部エンティ
ティへのインターフェースまたはアクセスポイントを記述することができる。実施形態に
よっては、クライアントは、仮想ネットワークから記述情報を得て、その記述情報を仮想
ネットワーク検証サービスに提供することができる。あるいは、実施形態によっては、ク
ライアントは、仮想ネットワーク検証サービス930がクエリに応答して、仮想ネットワ
ークから記述情報を直接得ることを可能にするパーションを仮想ネットワーク検証サービ
ス230に与えることができる。図9の(3B)において、サービス930の記述符号化
970ロジックは、宣言型論理プログラミング言語に従って、得られた記述情報を論理プ
ログラムとして符号化することができる。
図9の(4)において、サービス930のクエリ処理960ロジックは、クエリを制約
ソルバ936に提供することができる。制約ソルバ936は、符号化されたルール938
に従って、符号化された記述940に対するクエリによって表された制約問題を解決し、
(5A)において、結果(例えば、クエリによって提示された質問に対する回答)を、結
果をフォーマットするクエリ処理960に提供し、(5B)において、フォーマットされ
た結果をAPI932を介してクライアントに提供する。フォーマットされた結果は、文
字形式結果(例えば、「YES」、「NO」、「TRUE」、または「FALSE」など
のクエリによって提示された制約に対する回答を表すテキスト、クエリによって提示され
た制約を満たすインスタンスのリストなど)、および/またはグラフィカル結果(例えば
、クエリを解決することによって判定された2つ以上のインスタンス間の関係のグラフィ
カル表現、クエリを解決することによって特定された仮想ネットワーク特定インスタンス
のグラフィカル表現など)を含み得る。
図10は、いくつかの実施形態による、仮想ネットワークについての情報をプロバイダ
ネットワークのクライアントに提供するための方法のフローチャートである。1000に
示されるように、仮想ネットワーキングルールが得られ、符号化され得る。符号化される
ルールは、サービスプロバイダから、クライアントから、または他の外部のエンティティ
もしくは情報源から得られ得る。仮想ネットワーキングルールは、プロバイダネットワー
ク上の仮想ネットワークで使用されるネットワーキングプリミティブのための仮想ネット
ワーキングセマンティクスおよび論理を表すことができる。実施形態によっては、仮想ネ
ットワーキングルールは、ペイメントカード業界データセキュリティ基準(PCI DS
S)、米国連邦リスクおよび認可管理プログラム(FedPAMP)基準、または医療保
険の相互運用性と説明責任に関する法律(HIPAA)などのネットワーキングセキュリ
ティ基準のためのルールを表し得る。実施形態によっては、仮想ネットワーキングルール
は、クライアントの内部セキュリティ基準または他のネットワーキング要件を表すクライ
アント定義ルールを含み得る。符号化されたルール例は、本明細書において後で示される
1010に示されるように、仮想ネットワーク検証サービスは、クライアント(ネット
ワーク到達可能性アナライザなど)から仮想ネットワークについてのクエリを受信するこ
とができる。実施形態では、コンソール上のサービスへのグラフィカルインターフェース
を介して、またはコマンドラインインターフェース(CLI)を介して、クライアントが
仮想ネットワーク検証サービスを使用して、プロバイダネットワーク上のクライアントの
仮想ネットワークについての質問(再帰的クエリを含むクエリとして提示される)に対す
る回答を得ることができる。実施形態によっては、クエリは、SQLに類似しているがネ
ットワーク構成に適用される表出型言語で提示され得る。あるいは、実施形態によっては
、クエリは、人に分かりやすい形で提示され得る。クエリ例は、図8に関連して上に説明
されている。
1020に示されるように、仮想ネットワーク検証サービスは、仮想ネットワークにつ
いての記述情報を得て、符号化することができる。記述情報は、例えば、仮想ネットワー
クに実装されているネットワーキングプリミティブのインスタンスを特定し、インスタン
スの記述(例えば、計算インスタンスに割り当てられた役割、リソースインスタンスに与
えられたまたは与えられていないパーミッション、インスタンスに割り当てられたIPア
ドレスなど)を含み、インスタンス間の関係(例えば、インスタンス間のパス)を記述し
、また外部エンティティ(例えば、仮想ネットワークの外部のエンティティによってアク
セスされ得る計算インスタンス)へのインターフェースまたはアクセスポイントを記述す
ることができる。実施形態によっては、クライアントは、仮想ネットワークから記述情報
を得て、その記述情報を仮想ネットワーク検証サービスに提供することができる。あるい
は、実施形態によっては、クライアントは、仮想ネットワーク検証サービスが仮想ネット
ワークから記述情報を直接得ることを可能にするパーミッションを、仮想ネットワーク検
証サービスに与えることができる。仮想ネットワーク検証サービスは、宣言型論理プログ
ラミング言語(例えば、Datalog)に従って記述情報を論理プログラムとして符号
化することができる。
1030に示されるように、仮想ネットワーク検証サービスは、宣言型論理プログラミ
ング言語(例えば、Datalog)制約ソルバエンジンを使用して、符号化された仮想
ネットワーキングルールに従って、符号化された記述に対するクエリを解決し得る。10
40に示されるように、クエリ解決の結果(例えば、クエリによって提示された質問に対
する回答)がフォーマットされ、クライアントに提供され得る。フォーマットされた結果
は、文字形式結果(例えば、「YES」、「NO」、「TRUE」、または「FALSE
」などのクエリによって提示された制約に対する回答を表すテキスト、クエリによって提
示された制約を満たすインスタンスのリストなど)、および/またはグラフィカル結果(
例えば、クエリを解決することによって判定された2つ以上のインスタンス間の関係のグ
ラフィカル表現、クエリを解決することによって特定された仮想ネットワーク特定インス
タンスのグラフィカル表現など)を含み得る。
要素1040から要素1010に戻る矢印によって示されるように、要素1010~1
040を繰り返し行って、クライアントの仮想ネットワークについての複数のクエリを提
示し、解決することができる。実施形態によっては、例えば、クライアントは、一連のク
エリを含むスクリプトを書いて、そのスクリプトを実行してクエリを仮想ネットワーク検
証サービスに提示し、またそこから結果を受信することができる。図10に示すように、
実施形態によっては、仮想ネットワーク検証サービスは、仮想ネットワークについての記
述情報を得て、仮想ネットワーク検証サービスが受信する各クエリに対して記述情報を符
号化された記述として符号化し、クエリを解決する際に記述が最新のものであることを保
証することができる。しかし、実施形態によっては、仮想ネットワーク検証サービスは、
仮想ネットワークについての記述情報を取て、符号化し、符号化された記述を使用して2
つ以上のクエリを処理することができる。
図11は、いくつかの実施形態による、クライアントが記述情報およびクエリを仮想ネ
ットワーク検証サービスに提供する、プロバイダネットワークのクライアントに仮想ネッ
トワークについての情報を提供するための方法のフローチャートである。1100に示さ
れるように、クライアント(ネットワーク到達可能性アナライザなど)は、例えばプロバ
イダネットワークサービスAPIによって提供されるDESCRIBEコールを使用して
、仮想ネットワークから記述情報を得る。1110に示されるように、クライアントが、
仮想ネットワーク検証サービスにクエリおよび記的情報を送信する。1120に示される
ように、検証サービスが、仮想ネットワークについての記述情報を符号化する。1130
に示されるように、検証サービスが、制約ソルバエンジンを使用して、符号化された仮想
ネットワークルールに従って、符号化された記述に対するクエリを解決する。1140に
示されるように、仮想ネットワーク検証サービスは、クエリ解決の結果をクライアントに
提供する。
図12は、いくつかの実施形態による、クライアントが、記述情報、および仮想ネット
ワークにアクセスするためのパーミッションを仮想ネットワーク検証サービスに提供する
、プバイダネットワークのクライアントに仮想ネットワークについての情報を提供する方
法のフローチャートである。1200に示されるように、クライアント(ネットワーク到
達可能性アナライザなど)が、サービスが仮想ネットワークから記述的情報を得ることを
可能にするパーミッション、例えば、仮想ネットワークを記述するメタデータを維持する
1つ以上のプロバイダネットワークサービスへのDESCRIBEコールを使用して、仮
想ネットワークについての情報を得るためのパーミッションを、仮想ネットワーク検証サ
ービスに与える。1210に示されるように、クライアントが、仮想ネットワーク検証サ
ービスにクエリを送信する。1220に示されるように、仮想ネットワーク検証サービス
が、例えば、仮想ネットワークを記述するメタデータを維持する1つ以上のプロバイダネ
ットワークサービスへのDESCRIBEコールを使用して、仮想ネットワークから記述
情報を得る。1230に示されるに、仮想ネットワーク検証サービスが仮想ネットワーク
についての記述情報を符号化する。1240に示されるように、仮想ネットワーク検証サ
ービスが、制約ソルバエンジンを使用して、ルールに従って、符号化された記述に対する
クエリを解決する。1250に示されるように、仮想ネットワーク検証サービスは、クエ
リ解決の結果をクライアントに提供する。
図13は、いくつかの実施形態による、2つ以上のピア型仮想ネットワークを含む、プ
ロバイダネットワーク環境におけるクライアントの仮想ネットワーク実装形態を示す。図
13は、本明細書で説明される、仮想ネットワーク検証サービス1330において使用さ
れ得る仮想ネットワーキングルール例を部分的に説明するために提供される。図13に示
されるように、プロバイダネットワーク1300上のクライアントの仮想ネットワーク実
装形態1310は、2つ以上の仮想ネットワーク1320を含み得る。図13は、クライ
アントの仮想ネットワーク実装形態1310における2つの仮想ネットワーク1320A
および1320Bを示す。実施形態によっては、仮想ネットワーク1320Aおよび13
20Bは、それぞれ1つ以上のサブネットを含み得、セキュリティグループは、仮想ネッ
トワーク1320Aおよび1320内に確立され得る。ネットワークエンドポイント13
22Aおよび1322Bは、それぞれの仮想ネットワーク1320Aおよび1320Bに
おけるネットワーキングプリミティブの様々なインスタンス(例えば、リソースインスタ
ンス)のネットワークインターフェースを表す。仮想ネットワーク1320Aおよび13
20B上のインスタンスがインターネットなどの外部ネットワーク1350を横断する必
要なしにプロバイダネットワーク1300にわたって安全に通信することを可能にするピ
アリング接続1324が、仮想ネットワーク1320Aと1320Bとの間にプロバイダ
ネットワーク1300にわたって確立され得る。
「プライベートルーティング」のルール例を以下に示す。これらの例は、限定的である
ことを意図するものではない。これらの例で使用される「ルーティング」とは、ファイア
ウォールなしで、IPパケットが1つのエンドポイントから別のエンドポイントに流れる
ことができるかどうかを意味する。仮想ネットワーク実装形態1310内の2つのエンド
ポイント間のルーティングは、「プライベートルーティング」と呼ばれることがある。仮
想ネットワーク実装形態1310において、両方のエンドポイントが同じ仮想ネットワー
ク1320にあるか、または異なる仮想ネットワーク1320にあるかに応じて、このル
ールは、異なる可能性がある。以下では、仮想ネットワーク実装形態1310においてパ
ケットが2つのエンドポイント間を流れ得るかどうかを判断するための記述的論理プログ
ラミング言語に従うルール例を記述する。
routable-private:endpoint->endpoint->ty
pe
-:routable-private Endpoint1 Endpoint2
<-routable-private-one-way Endpoint1 E
ndpoint2
<-routable-private-one-way Endpoint2 E
ndpoint1
最初の行は、エンドポイントのタイプを定義する。Endpoint1およびEndp
oint2は、変数である。(routable-private-one-way E
ndpoint1 Endpoint2)および(routable-private-
one-way Endpoint2 Endpoint1)が両方とも真の場合、ルー
ル(routable-private Endpoint1 Endpoint2)は
、真と評価される(そうでなければ偽)。仮想ネットワーク1320内のエンドポイント
間のルーティングでは、ルールroutable-private-one-wayは、
以下のように定義され得る。
routable-private-one-way:endpoint->endp
oint ->type
-:routable-private-one-way Endpoint1 En
dpoint2
<-endpoint-has-virtual-network Endpoin
t1 Vnetwork
<-endpoint-has-virtual-network Endpoin
t2 Vnetwork
Endpoint1およびEndpoint2は、変数である。Vnetworkは、
同じ変数である(すなわち、同じ仮想ネットワーク1320を示す)。このルールは、E
ndpoint1およびEndpoint2の両方が同じ仮想ネットワーク1320内に
ある場合には真(そうでない場合には偽)と評価する。
ピアリング接続1324を通した、様々な仮想ネットワーク1320内のエンドポイン
ト2022間のルーティングでは、ルールroutable-private-one-
wayは、以下のように定義され得る。「//」で始まるテキストは、コメントである。
-:routable-private-one-way Endpoint1 En
dpoint2
//エンドポイントのIPを調べる
<-endpoint-has-private-ip Endpoint1 Ip

<-endpoint-has-private-ip Endpoint1 Ip

//エンドポイントの仮想ネットワークを調べる
<-endpoint-has-virtual-network Endpoin
t1 Vnetwork1
<-endpoint-has-virtual-network Endpoin
t2 Vnetwork2
//ピアリングのCIDR(クラスレスドメイン間ルーティング)を調べる
<-peered-cidrs Pcx Vnetwork1 Cidr1 Vne
twork2 Cidr2
//ソースエンドポイントのルートテーブルを調べる
<-endpoint-has-rtb Endpoint1 Rtb1
//テーブル内のルートのCIDRを調べ、そのルートが有効であるか確認する
<-atom/pcx-route Rtb1 Pcx Cidr3 route-
state/active
//3つのCIDRすべてがそれぞれのIPと一致することを確認する
<-cidr-matches-private-ip Cidr1 Ip1
<-cidr-matches-private-ip Cidr2 Ip2
<-cidr-matches-private-ip Cidr3 Ip2
図14は、いくつかの実施形態による、プロバイダネットワーク上の仮想ネットワーク
例内のサブネットおよびセキュリティグループを示す。上で述べたように、ネットワーク
到達可能性アナライザは、セキュリティグループに変更を行うことを含め、ポートを閉じ
る、かつ/またはポートを到達不能にするという是正措置を勧告する、かつ/または行う
ことができる。実施形態によっては、プロバイダネットワークは、クライアントが、クラ
イアントの仮想ネットワーク1410内に、サブネット1414内に、またはサブネット
1414にわたって、仮想セキュリティグループ1416を確立し、管理することを可能
にし得る。一実施形態において、セキュリティグループ1416は、リソースインスタン
ス1418の論理上のグループ化であり、セキュリティグループルールに従って、セキュ
リティグループ1416内の1つ以上のリソースインスタンス1418に到達することを
許されたトラフィックを制御する仮想ファイアウォールとして機能する。クライアントは
、仮想ネットワーク1410内に1つ以上のセキュリティグループ1416を確立し、仮
想ネットワーク1410内の各リソースインスタンス1418をセキュリティグループ1
416のうちの1つ以上に関連付けることができる。実施形態によっては、クライアント
は、セキュリティグループ1416に関連付けられたリソースインスタンス1418に到
達することを許されたインバウンドトラフィックを制御する各セキュリティグループ14
16に対するルールを確立し、かつ/または修正することができる。
図14に示される仮想ネットワーク例1410では、仮想ネットワークは1410は、
2つのサブネット1414Aと1414Bとに細分される。仮想ネットワーク1410へ
のアクセスは、ゲートウェイ1430によって制御される。各サブネット1414は、そ
れぞれのサブネット1414上のリソースインスタンス1418へ(また、それから)ト
ラフィックを送るように働く少なくとも1つのルータ1412を含み得る。実施形態によ
っては、ネットワークアクセス制御リスト(ACL)を使用して、ルータ1412におい
てサブネット1414へのアクセスを制御することができる。図14に示される例では、
リソースインスタンス1418A~1418Eがサブネット1414A上にあり、リソー
スインスタンス1418F~1418Jがサブネット1414B上にある。クライアント
は、4つのセキュリティグループ1416A~1416Dを確立している。図14に示さ
れるように、セキュリティグループは、サブネット1414A上のリソースインスタンス
1418Aおよび1418Bとサブネット1414B上のリソースインスタンス1418
Fとを含むセキュリティグループ1416Aがそうであるように、サブネット1414に
わたって延在し得る。また、リソースインスタンス1418は、セキュリティグループ1
416Aおよび1416Bに含まれるリソースインスタンス1418Aがそうであるよう
に、2つ以上のセキュリティグループ1416に含まれ得る。
例示的なコンピュータシステム
少なくともいくつかの実施形態では、本明細書に記載の技術のうちの1つ以上の一部ま
たは全部を実装するコンピュータシステムは、1つ以上のコンピュータ可読媒体を含むか
、またはそれにアクセスするように構成されるコンピュータシステムを含み得る。図15
は、そのようなコンピューティングデバイス1500を示している。図示の実施形態では
、コンピューティングデバイス1500は、入力/出力(I/O)インターフェース15
30を介してシステムメモリ1520に結合された1つ以上のプロセッサ1510A-1
510Nを含む。コンピューティングデバイス1500は、I/Oインターフェース15
30に結合されたネットワークインターフェース1540をさらに含む。
様々な実施形態において、コンピューティングデバイス1500は、1つのプロセッサ
を含む単一プロセッサシステム、またはいくつかのプロセッサ1510A~1510N(
例えば、2、4、8、または別の適切な個数)を含むマルチプロセッサシステムであり得
る。プロセッサ1510A~1510Nは、命令を実行することができる任意の適切なプ
ロセッサを含み得る。例えば、様々な実施形態において、プロセッサ1510A~151
0Nは、x86、PowerPC、SPARC、もしくはMIPS ISAなどの様々な
命令セットアーキテクチャ(ISA:Instruction Set Archite
cture)のいずれか、または他のいずれかのISAを実装するプロセッサであり得る
。マルチプロセッサシステムでは、プロセッサ1510A~1510Nのそれぞれは、通
常、同じISAを実装することができるが、必ずしもそうとは限らない。
システムメモリ1520は、プロセッサ1510A~1510Nによってアクセス可能
なプログラム命令およびデータを格納するように構成され得る。様々な実施形態において
、システムメモリ1520は、スタティックランダムアクセスメモリ(SRAM:Sta
tic Random Access Memory)、シンクロナスダイナミックRA
M(SDRAM:Synchronous Dynamic RAM)、不揮発性/フラ
ッシュ型メモリ、または任意の他のタイプのメモリなどの任意の適切なメモリテクノロジ
ーを使用して実装され得る。図示の実施形態では、上記のこれらの方法、技法、およびデ
ータなど、1つ以上の望ましい機能を実装するプログラム命令およびデータが、コード(
すなわち、プログラム命令)1525およびデータ1526としてシステムメモリ152
0内に格納されて示されている。図示の実施形態では、システムメモリ1520は、上で
述べたネットワークセキュリティ評価装置100の態様を実装するプログラムコードおよ
びデータも格納する。
ある実施形態では、I/Oインターフェース1530は、プロセッサ1510A~15
10Nと、システムメモリ1520と、ネットワークインターフェース1540または他
の周辺インターフェースを含むデバイス内の任意の周辺デバイスと、の間のI/Oトラフ
ィックを調整するように構成され得る。実施形態によっては、I/Oインターフェース1
530は、ある構成要素(例えば、システムメモリ1520)からのデータ信号を別の構
成要素(例えば、プロセッサ1510A~1510N)による使用に適したフォーマット
に変換するために必要ないかなるプロトコル、タイミング、または他のデータの変換も行
うことができる。実施形態によっては、I/Oインターフェース1530は、例えば、周
辺コンポーネント相互接続(PCI:Peripheral Component In
terconnect)バス規格またはユニバーサルシリアルバス(USB:Unive
rsal Serial Bus)規格の一種など、様々なタイプの周辺バスを通して付
設されたデバイスへのサポートを含み得る。実施形態によっては、I/Oインターフェー
ス1530の機能は、例えば、ノースブリッジおよびサウスブリッジなどの2つ以上の別
々の構成要素に分割され得る。また、実施形態によっては、システムメモリ1520への
インターフェースなど、I/Oインターフェース1530の機能性の一部または全部が、
プロセッサ1510A~1510Nに直接組み込まれ得る。
ネットワークインターフェース1540は、コンピューティングデバイス1500と、
1つまた複数のネットワーク1550に付設された他のデバイス1560との間でデータ
を交換することを可能にするように構成され得る。様々な実施形態において、ネットワー
クインターフェース1540は、例えば、イーサネットネットワーク型など、任意の適切
な有線または無線の一般的なデータネットワークを介した通信に対応することができる。
さらに、ネットワークインターフェース1540は、アナログ音声ネットワークもしくは
デジタルファイバ通信ネットワークなどの電気通信/電話ネットワーク、ファイバチャネ
ルSANなどのストレージエリアネットワーク、または他の任意の適切なタイプのネット
ワークおよび/もしくはプロトコルを介した通信に対応することができる。
実施形態によっては、システムメモリ1520は、対応する方法および装置の実施形態
を実装するための上記のようなプ ログラム命令およびデータを格納するように構成され
たコンピュータ可読(すなわち、コンピュータアクセス可能)媒体の一実施形態であり得
る。例えば、システムメモリ1520は、ネットワークセキュリティ評価装置100に関
連するプログラムコードおよびデータを格納することができる。実施形態によっては、プ
ログラム命令および/またはデータは、様々なタイプのコンピュータ可読媒体上で受信さ
れ、送信され、または格納され得る。一般的に言えば、コンピュータ可読媒体は、I/O
インターフェース1530を介してコンピューティングデバイス1500に結合された磁
気または光学媒体、例えばディスクまたはDVD/CDなどの非一時的記憶媒体またはメ
モリ媒体を含み得る。非一時的コンピュータ可読記憶媒体は、システムメモリ1520ま
たは別のタイプのメモリとしてコンピューティングデバイス1500のいくつかの実施形
態に含まれ得る、RAM(例えば、SDRAM、DDR SDRAM、RDRAM、SR
AMなど)、ROMなどの任意の揮発性媒体または不揮発性媒体も含み得る。さらに、コ
ンピュータ可読媒体は、伝送媒体、またはネットワークインターフェース1540を介し
て実装され得るような、ネットワークおよび/または無線リンクなどの通信媒体を介して
伝達される、電気信号、電磁信号、もしくはデジタル信号などの信号を含み得る。図15
に示されるものなどの複数のコンピューティングデバイスの一部またはすべてを使用して
、様々な実施形態において、記載の機能性を実装することができ、例えば、様々な異なる
デバイスおよびサーバで実行されるソフトウェアコンポーネントが連携して機能性を提供
し得る。実施形態によっては、記載の機能性の一部は、記憶装置デバイス、ネットワーク
デバイス、または様々なタイプのコンピュータシステムを使用して実装され得る。本明細
書で使用される際、「コンピューティングデバイス(computing device
)」という用語は、少なくともこれらのタイプのデバイスのすべてを指すが、これらのタ
イプのデバイスに限定されるものではない。
図面に示され、本明細書で説明される様々な方法は、方法の実施形態の例を表す。方法
は、ソフトウェア、ハードウェア、またはそれらの組み合わせで実装され得る。方法のう
ちの様々な方法で、ステップの順序が変更され得、様々な要素の追加、並べ替え、組み合
わせ、省略、修正などが可能である。ステップのうちの様々なステップが自動的に(例え
ば、ユーザ入力によって直接促されることなく)、かつ/またはプログラムによって(例
えば、プログラム命令に従って)行われ得る。
本開示の実施形態は、以下の条項によって記述され得る。
1.システムであって、
ネットワークセキュリティ評価装置を実装するように構成された1つ以上のコンピュー
ティングデバイスを備え、前記ネットワークセキュリティ評価装置が、
ホストコンピュータを含むネットワークに対して、ネットワーク構成データの1つ以
上のクエリを生成することであって、前記1つ以上のクエリがクエリ言語で表され、前記
1つ以上のクエリが、少なくとも部分的にルールのセットに基づいて生成される、生成す
ることと、
開いており、かつ前記ネットワークの外側から到達可能である、前記ホストコンピュ
ータにある1つ以上のポートを判定することであって、前記1つ以上のポートが、前記1
つ以上のクエリの結果に少なくとも部分的に基づいて判定される、判定することと、
前記1つ以上のポートをリッスンしている1つ以上のプロセスを判定することであっ
て、前記1つ以上のプロセスが、前記ホストコンピュータにインストールされたエージェ
ントを使用して判定される、判定することと、
前記1つ以上のポートおよび前記1つ以上のプロセスを記述したレポートを生成する
ことと、を行うように、構成されている、システム。
2.前記ネットワークセキュリティ評価装置が、
前記ネットワークの外側から前記1つ以上のポートへの1つ以上のルートを判定決およ
び報告するようにさらに構成されている、条項1に記載のシステム。
3.前記ネットワークセキュリティ評価者が、
前記1つ以上のポートを、開いており、かつ前記ネットワークの外側から到達可能であ
るようにする、1つ以上の構成設定を判定および報告するようにさらに構成されている、
条項1または2のいずれか一項に記載のシステム。
4.前記ネットワークセキュリティ評価装置が、
行われる場合、前記ポートのうちの1つ以上を閉じるか、または前記ポートのうちの1
つ以上を前記ネットワークの外側から到達不能にする、1つ以上の是正措置を判定および
報告するようにさらに構成されている、条項1から3のいずれか一項に記載のシステム。
5.1つ以上のコンピューティングデバイスによって行われるコンピュータ実装方法で
あって、
コンピューティングデバイスを含むネットワークに対して、ネットワーク構成データの
分析を行うことと、
別のコンピューティングデバイスから到達可能である前記コンピューティングデバイス
にある1つ以上のポートを判定することであって、前記1つ以上のポートが前記分析に少
なくとも部分的に基づいて判定される、判定することと、
前記1つ以上のポートへの1つ以上のルートを判定することであって、前記1つ以上の
ルートが、少なくとも部分的に前記分析に基づいて判定される、判定することと、
前記1つ以上のポートおよび前記1以上のルートを記述するレポートを生成することと
、を含む、コンピュータ実装方法。
6.
前記1つ以上のポートをリッスンしている1つ以上のプロセスを判定および報告するこ
とであって、前記1つ以上のプロセスが、前記コンピューティングデバイスにインストー
ルされたエージェントソフトウェアを使用して判定される、ことをさらに含む、条項5に
記載の方法。
7.
前記1つ以上のポートを到達可能であるようにする、1つ以上の構成設定を判定および
報告することをさらに含む、条項5または6のいずれか一項に記載の方法。
8.
行われる場合、前記ポートのうちの1つ以上を到達不能にする、1つ以上の是正措置を
判定および報告することをさらに含む、条項5から7のいずれか一項に記載の方法。
9.
ユーザーインターフェイスに、選択された場合に前記是正措置のうちの少なくとも1つ
が行われるようにする、1つ以上のインターフェース要素を表示することをさらに含む、
条項8に記載の方法。
10.前記分析が、前記ネットワーク構成データの1つ以上のクエリに少なくとも部分
的に基づいて行われ、前記1つ以上のクエリが、クエリ言語で表され、前記1つ以上のク
エリが、少なくとも部分的にルールのセットに基づいて生成される、条項5から9のいず
れか一項に記載の方法。
11.前記1つ以上のポートにパケットを送信せずに、前記1つ以上のポートが判定さ
れる、条項5から10のいずれか一項に記載の方法。
12.
追加のコンピューティングデバイスから前記1つ以上のポートに1つ以上のパケットを
送信することにより、前記1つ以上のポートが到達可能であることを検証することをさら
に含む、条項5から11のいずれか一項に記載の方法。
13.プログラム命令を格納するコンピュータ可読記憶媒体であって、前記プログラム
命令が、
ホストコンピュータを含むネットワークに対して、ネットワーク構成データの分析を行
うことと、
開いており、かつ別のコンピュータから到達可能である、前記ホストコンピュータにあ
る1つまたは複数のポートを判定することであって、前記1つ以上のポートが、少なくと
も部分的に前記分析の結果に基づいて判定される、判定することと、
前記1つ以上のポートをリッスンしている1つ以上のプロセスを判定することであって
、前記1つ以上のプロセスが、前記ホストコンピュータにインストールされたエージェン
トを使用して判定される、判定することと、
前記1つ以上のポートおよび前記1つ以上のプロセスを記述したレポートを生すること
と、を行うようにコンピュータ実行可能である、コンピュータ可読記憶媒体。
14.前記プログラム命令が、
前記1つ以上のポートをリッスンしている1つ以上のプロセスを判定および報告するこ
とであって、前記1つ以上のプロセスが、ホストコンピュータにインストールされたエー
ジェントソフトウェアを使用して判定される、判定および報告すること、を行うようにさ
らにコンピュータ実行可能である、条項13に記載のコンピュータ可読記憶媒体。
15.前記プログラム命令が、
前記1つ以上のポートを開いており、かつ到達可能であるようにする、1つ以上の構成
設定を判定および報告すること、を行うようにさらにコンピュータ実行可能である、条項
13または14のいずれか一項に記載のコンピュータ可読記憶媒体。
16.前記プログラム命令が、
行われる場合、前記ポートのうちの1つ以上を閉じるか、または前記ポートのうちの1
つ以上を到達不能にする、1つ以上の是正措置を判定および報告すること、を行うように
、さらにコンピュータ実行可能である、条項13から15のいずれか一項に記載のコンピ
ュータ可読記憶媒体。
17.前記プログラム命令が、
ユーザーインターフェイスに、選択された場合に前記是正措置のうちの少なくとも1つ
が行われるようにする、1つ以上のインターフェース要素を表示することをさらに含む、
条項16に記載の方法。
18.前記分析が、前記ネットワーク構成データの1つ以上のクエリに少なくとも部分
的に基づいて行われ、前記1つ以上のクエリが、クエリ言語で表され、前記1つ以上のク
エリが、少なくとも部分的にルールのセットに基づいて生成される、条項13から17の
いずれか一項に記載のコンピュータ可読記憶媒体。
19.別のコンピュータから前記1つ以上のポートにパケットを送信することなく、前
記1つ以上のポートが判定される、条項13から18のいずれか一項に記載のコンピュー
タ可読記憶媒体。
20.信頼できる場所のホワイトリストに少なくとも部分的に基づき、前記リポートか
ら、さらに1つ以上の開いており、かつ到達可能なポートが前記リポートから除外される
、条項13から19のいずれか一項に記載のコンピュータ可読記憶媒体。
本明細書の本発明の記載で使用される用語は、特定の実施形態のみを説明するためのも
のであり、本発明を限定することを意図するものではない。本発明の明細書および添付の
特許請求の範囲で使用される際、単数形「a」、「an」、および「the」は、文脈上
そうでないことが明確に示されない限り、複数形も含むことを意図している。本明細書で
使用される「および/または(and/or)」という用語は、関連の挙げられた項目の
1つ以上のありとあらゆる考えられる組み合わせを指し、含むことも理解されるであろう
。本明細書で使用される際、用語「含む(includes)」、「含む(includ
ing)」、「備える(comprises)」、および/または「備える(compr
ising)」は、述べられた特徴、整数、ステップ、動作、要素、および/または構成
要素の存在を明示するが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素
、および/またはそれらのグループの存在または追加を排除するものではことがさらに理
解されるであろう。
本明細書で使用される際、用語「の場合(if)」は、文脈に応じて、「いつ」または
「時に」または「判定に応答して」または「検出に応答して」を意味すると解釈され得る
。同様に、「判定された場合」または「(規定の条件またはイベント)が検出された場合
」という言い回しは、文脈に応じて、「決定時に」または「判定に応答して」または「(
規定の条件またはイベント)の検出時に」、または「(規定の条件またはイベント)の検
出に応答して」を意味すると解釈され得る。
本明細書では、第1、第2などの用語を使用して様々な要素を説明している場合がある
が、これらの要素は、これらの用語によって限定されるべきではないことも理解されるで
あろう。これらの用語は、ある要素と別の要素を区別するためにのみ使用される。例えば
、本発明の範囲から逸脱しない限り、第1のコンタクトを第2のコンタクトと言うことが
でき、同様に、第2のコンタクトを第1のコンタクトと言うことができる。第1のコンタ
クトと第2のコンタクトは、両方ともコンタクトであるが、同じコンタクトではない。
請求項に係る発明の対象の完全な理解をもたらすように、多数の特定の細目が本明細書
に示されている。しかし、これらの特定の細目を伴わずに請求項に係る発明の対象が実施
されることが、当業者には理解されるであろう。他の例では、請求項に係る発明の対象を
不明瞭にしないために、当業者に知られていると思われる方法、装置、またはシステムは
、詳細には説明されていない。本開示の恩恵を受ける当業者に明らかであるように、様々
な修正および変更がなされ得る。このような修正および変更をすべて受け入れ、したがっ
て上記の説明が限定的な意味合いではなく例示的な意味合いで見られることを意図してい
る。

Claims (15)

  1. システムであって、
    ネットワークセキュリティ評価装置を実装するように構成された1つ以上のコンピュー
    ティングデバイスを備え、前記ネットワークセキュリティ評価装置が、
    ホストコンピュータを含むネットワークに対して、ネットワーク構成データの1つ以
    上のクエリを生成することであって、前記1つ以上のクエリがクエリ言語で表され、前記
    1つ以上のクエリが、少なくとも部分的にルールのセットに基づいて生成される、生成す
    ることと、
    開いており、かつ前記ネットワークの外側から到達可能である、前記ホストコンピュ
    ータにある1つ以上のポートを判定することであって、前記1つ以上のポートが、前記1
    つ以上のクエリの結果に少なくとも部分的に基づいて判定される、判定することと、
    前記1つ以上のポートをリッスンしている1つ以上のプロセスを判定することであっ
    て、前記1つ以上のプロセスが、前記ホストコンピュータにインストールされたエージェ
    ントを使用して判定される、判定することと、
    前記1つ以上のポートおよび前記1つ以上のプロセスを記述したレポートを生成する
    ことと、を行うように、構成されている、システム。
  2. 前記ネットワークセキュリティ評価装置が、
    前記ネットワークの外側から前記1つ以上のポートへの1つ以上のルートを判定決およ
    び報告するようにさらに構成されている、請求項1に記載のシステム。
  3. 前記ネットワークセキュリティ評価装置が、
    前記1つ以上のポートを、開いており、かつ前記ネットワークの外側から到達可能であ
    るようにする、1つ以上の構成設定を判定および報告するようにさらに構成されている、
    請求項1に記載のシステム。
  4. 前記ネットワークセキュリティ評価装置が、
    行われる場合、前記ポートのうちの1つ以上を閉じるか、または前記ポートのうちの1
    つ以上を前記ネットワークの外側から到達不能にする、1つ以上の是正措置を判定および
    報告するようにさらに構成されている、請求項1に記載のシステム。
  5. 1つ以上のコンピューティングデバイスによって行われるコンピュータ実装方法であっ
    て、
    コンピューティングデバイスを含むネットワークに対して、ネットワーク構成データの
    分析を行うことと、
    別のコンピューティングデバイスから到達可能である前記コンピューティングデバイス
    にある1つ以上のポートを判定することであって、前記1つ以上のポートが前記分析に少
    なくとも部分的に基づいて判定される、判定することと、
    前記1つ以上のポートへの1つ以上のルートを判定することであって、前記1つ以上の
    ルートが、少なくとも部分的に前記分析に基づいて判定される、判定することと、
    前記1つ以上のポートおよび前記1以上のルートを記述するレポートを生成することと
    、を含む、コンピュータ実装方法。
  6. 前記1つ以上のポートをリッスンしている1つ以上のプロセスを判定および報告するこ
    とであって、前記1つ以上のプロセスが、前記コンピューティングデバイスにインストー
    ルされたエージェントソフトウェアを使用して判定される、ことをさらに含む、請求項5
    に記載の方法。
  7. 前記1つ以上のポートを到達可能であるようにする、1つ以上の構成設定を判定および
    報告することをさらに含む、請求項5に記載の方法。
  8. 行われる場合、前記ポートのうちの1つ以上を到達不能にする、1つ以上の是正措置を
    判定および報告することをさらに含む、請求項5に記載の方法。
  9. 前記分析が、前記ネットワーク構成データの1つ以上のクエリに少なくとも部分的に基
    づいて行われ、前記1つ以上のクエリが、クエリ言語で表され、前記1つ以上のクエリが
    、少なくとも部分的にルールのセットに基づいて生成される、請求項5に記載の方法。
  10. 前記1つ以上のポートにパケットを送信せずに、前記1つ以上のポートが判定される、
    請求項5に記載の方法。
  11. プログラム命令を格納するコンピュータ可読記憶媒体であって、前記プログラム命令が

    ホストコンピュータを含むネットワークに対して、ネットワーク構成データの分析を行
    うことと、
    開いており、かつ別のコンピュータから到達可能である、前記ホストコンピュータにあ
    る1つまたは複数のポートを判定することであって、前記1つ以上のポートが、少なくと
    も部分的に前記分析の結果に基づいて判定される、判定することと、
    前記1つ以上のポートをリッスンしている1つ以上のプロセスを判定することであって
    、前記1つ以上のプロセスが、前記ホストコンピュータにインストールされたエージェン
    トを使用して判定される、判定することと、
    前記1つ以上のポートおよび前記1つ以上のプロセスを記述したレポートを生成するこ
    とと、を行うようにコンピュータ実行可能である、コンピュータ可読記憶媒体。
  12. 前記プログラム命令が、
    前記1つ以上のポートをリッスンしている1つ以上のプロセスを判定および報告するこ
    とであって、前記1つ以上のプロセスが、ホストコンピュータにインストールされたエー
    ジェントソフトウェアを使用して判定される、判定および報告すること、を行うようにさ
    らにコンピュータ実行可能である、請求項11に記載のコンピュータ可読記憶媒体。
  13. 前記プログラム命令が、
    前記1つ以上のポートを開いており、かつ到達可能であるようにする、1つ以上の構成
    設定を判定および報告すること、を行うようにさらにコンピュータ実行可能である、請求
    項11に記載のコンピュータ可読記憶媒体。
  14. 前記プログラム命令が、
    行われる場合、前記ポートのうちの1つ以上を閉じるか、または前記ポートのうちの1
    つ以上を到達不能にする、1つ以上の是正措置を判定および報告すること、を行うように
    、さらにコンピュータ実行可能である、請求項11に記載のコンピュータ可読記憶媒体。
  15. 前記1つ以上のポートが、別のコンピュータから前記1つ以上のポートにパケットを送
    信することなく判定される、請求項11に記載のコンピュータ可読記憶媒体。
JP2022192707A 2018-06-27 2022-12-01 自動パケットレスネットワーク到達可能性分析 Pending JP2023025160A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US16/020,865 US11108805B2 (en) 2018-06-27 2018-06-27 Automated packetless network reachability analysis
US16/020,865 2018-06-27
PCT/US2019/039250 WO2020006084A1 (en) 2018-06-27 2019-06-26 Automated packetless network reachability analysis
JP2020570434A JP7189236B2 (ja) 2018-06-27 2019-06-26 自動パケットレスネットワーク到達可能性分析

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020570434A Division JP7189236B2 (ja) 2018-06-27 2019-06-26 自動パケットレスネットワーク到達可能性分析

Publications (1)

Publication Number Publication Date
JP2023025160A true JP2023025160A (ja) 2023-02-21

Family

ID=67303518

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020570434A Active JP7189236B2 (ja) 2018-06-27 2019-06-26 自動パケットレスネットワーク到達可能性分析
JP2022192707A Pending JP2023025160A (ja) 2018-06-27 2022-12-01 自動パケットレスネットワーク到達可能性分析

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2020570434A Active JP7189236B2 (ja) 2018-06-27 2019-06-26 自動パケットレスネットワーク到達可能性分析

Country Status (6)

Country Link
US (3) US11108805B2 (ja)
EP (1) EP3814962A1 (ja)
JP (2) JP7189236B2 (ja)
KR (2) KR102545124B1 (ja)
CN (2) CN112334901B (ja)
WO (1) WO2020006084A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10469324B2 (en) * 2016-11-22 2019-11-05 Amazon Technologies, Inc. Virtual network verification service
US11108805B2 (en) 2018-06-27 2021-08-31 Amazon Technologies, Inc. Automated packetless network reachability analysis
IL263958B (en) * 2018-12-25 2020-05-31 Hayman Meir A method and system for detecting vulnerability levels in devices operating in a given communication network
WO2020206361A1 (en) * 2019-04-05 2020-10-08 Google Llc Cloud network reachability analysis
CN111817907B (zh) * 2019-04-11 2022-12-30 华为技术有限公司 一种可达性的验证方法和装置
US11442959B2 (en) * 2019-08-07 2022-09-13 Nutanix, Inc. System and method of time-based snapshot synchronization
CN111866124B (zh) * 2020-07-17 2022-06-24 北京金山云网络技术有限公司 访问网页页面的方法、装置、服务器和机器可读存储介质
WO2022031694A1 (en) * 2020-08-03 2022-02-10 Cazena, Inc. Scalable security for saas data lakes
US11516088B1 (en) * 2021-10-28 2022-11-29 Microsoft Technology Licensing, Llc Network configuration verification in computing systems
CN114679465B (zh) * 2022-03-28 2024-07-16 北京火山引擎科技有限公司 资源操作方法、装置、电子设备及存储介质
US20240054228A1 (en) * 2022-08-10 2024-02-15 Wiz, Inc. Techniques for technology stack discovery using external exposure in cloud environments
CN115314419B (zh) * 2022-06-21 2023-05-16 清华大学 一种面向云网络自适应连通性分析方法、系统、设备及存储介质
CN115801391A (zh) * 2022-11-14 2023-03-14 浪潮云信息技术股份公司 一种使用Openstack安全组纳管云物理主机的方法及系统

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5892903A (en) * 1996-09-12 1999-04-06 Internet Security Systems, Inc. Method and apparatus for detecting and identifying security vulnerabilities in an open network computer communication system
US7047288B2 (en) 2000-01-07 2006-05-16 Securify, Inc. Automated generation of an english language representation of a formal network security policy specification
US7003562B2 (en) 2001-03-27 2006-02-21 Redseal Systems, Inc. Method and apparatus for network wide policy-based analysis of configurations of devices
AU2002245262B2 (en) * 2002-01-15 2007-03-15 Mcafee, Llc System and method for network vulnerability detection and reporting
WO2005101789A1 (en) 2004-04-14 2005-10-27 Gurunath Samir Kalekar A system for real-time network based vulnerability assessment of a host/device
GB2424539A (en) 2005-03-22 2006-09-27 Hewlett Packard Development Co Modelling network to determine assess security properties
US9083748B2 (en) 2004-12-16 2015-07-14 Hewlett-Packard Development Company, L.P. Modelling network to assess security properties
US8250654B1 (en) * 2005-01-27 2012-08-21 Science Applications International Corporation Systems and methods for implementing and scoring computer network defense exercises
US10015140B2 (en) * 2005-02-03 2018-07-03 International Business Machines Corporation Identifying additional firewall rules that may be needed
WO2006099303A1 (en) * 2005-03-11 2006-09-21 Tracesecurity, Inc. Integrated, rules-based security compliance and gateway system
US8566269B2 (en) 2006-08-01 2013-10-22 George Mason Intellectual Properties, Inc. Interactive analysis of attack graphs using relational queries
US8281396B2 (en) 2008-08-15 2012-10-02 Qualys, Inc. System and method for performing remote security assessment of firewalled computer
US20100107257A1 (en) * 2008-10-29 2010-04-29 International Business Machines Corporation System, method and program product for detecting presence of malicious software running on a computer system
CN101699801B (zh) 2009-10-30 2011-09-28 孙喜明 一种数据传输方法及传输数据的虚拟对等网络系统
CN102170457A (zh) 2010-02-26 2011-08-31 国际商业机器公司 向应用的多租户提供服务的方法和装置
US9129086B2 (en) 2010-03-04 2015-09-08 International Business Machines Corporation Providing security services within a cloud computing environment
JP5383927B2 (ja) * 2010-11-17 2014-01-08 株式会社日立製作所 通信ネットワークに接続されている通信装置を発見する方法及び管理装置
JP5961638B2 (ja) * 2011-02-17 2016-08-02 ターセーラ, インコーポレイテッド アプリケーション証明のためのシステムおよび方法
US8782762B2 (en) 2011-08-17 2014-07-15 International Business Machines Corporation Building data security in a networked computing environment
US8650291B2 (en) 2011-09-12 2014-02-11 International Business Machines Corporation Best practices analysis of zones and components in a network
CN102413012B (zh) * 2011-11-21 2014-06-18 上海交通大学 计算机网络连通性自动分析系统
US9426169B2 (en) * 2012-02-29 2016-08-23 Cytegic Ltd. System and method for cyber attacks analysis and decision support
US9923787B2 (en) 2012-04-27 2018-03-20 International Business Machines Corporation Network configuration predictive analytics engine
EP3852316B1 (en) 2012-06-21 2022-10-26 Huawei Technologies Co., Ltd. Method, apparatus, host, and network system for processing packet
US9122510B2 (en) 2013-01-02 2015-09-01 International Business Machines Corporation Querying and managing computing resources in a networked computing environment
US10389608B2 (en) * 2013-03-15 2019-08-20 Amazon Technologies, Inc. Network traffic mapping and performance analysis
US9912549B2 (en) * 2013-06-14 2018-03-06 Catbird Networks, Inc. Systems and methods for network analysis and reporting
US9177250B2 (en) 2013-06-28 2015-11-03 Vmware, Inc. Method and system for determining configuration rules based on configurations of complex systems
US9276951B2 (en) 2013-08-23 2016-03-01 The Boeing Company System and method for discovering optimal network attack paths
US9838253B2 (en) 2014-04-10 2017-12-05 Fujitsu Limited Object-oriented network virtualization
US9710368B1 (en) * 2014-05-02 2017-07-18 Amazon Technologies, Inc. Inter-process communication automated testing framework
CN104363159B (zh) 2014-07-02 2018-04-06 北京邮电大学 一种基于软件定义网络的开放虚拟网络构建系统和方法
US9686162B2 (en) 2014-10-17 2017-06-20 International Business Machines Corporation Identifying configuration inconsistency in edge-based software defined networks (SDN)
US20160344772A1 (en) * 2015-05-22 2016-11-24 Brian Quentin Monahan Modelling network to assess security properties
CN105094996A (zh) * 2015-07-21 2015-11-25 电子科技大学 基于动态权限验证的Android系统安全增强方法及系统
US10079730B2 (en) * 2015-09-30 2018-09-18 Amazon Technologies, Inc. Network based resource configuration discovery service
JP6841228B2 (ja) * 2015-12-04 2021-03-10 日本電気株式会社 ファイル情報収集システム、方法およびプログラム
US10469324B2 (en) * 2016-11-22 2019-11-05 Amazon Technologies, Inc. Virtual network verification service
CN106603507A (zh) * 2016-11-29 2017-04-26 哈尔滨安天科技股份有限公司 一种自动化完成网络安全自检的方法及系统
WO2018130903A1 (en) * 2017-01-11 2018-07-19 Morphisec Information Security Ltd. Protecting computing devices from a malicious process by exposing false information
CN107347078B (zh) * 2017-08-30 2020-06-19 杭州安恒信息技术股份有限公司 一种基于云服务的操作系统弱口令安全检测方法
CN108011893A (zh) * 2017-12-26 2018-05-08 广东电网有限责任公司信息中心 一种基于网络资产信息采集的资产管理系统
CN108200106A (zh) * 2018-04-02 2018-06-22 浙江九州量子信息技术股份有限公司 一种物联网安全检测防护方法
US11108805B2 (en) 2018-06-27 2021-08-31 Amazon Technologies, Inc. Automated packetless network reachability analysis
US11425157B2 (en) 2018-08-24 2022-08-23 California Institute Of Technology Model based methodology for translating high-level cyber threat descriptions into system-specific actionable defense tactics
US11483350B2 (en) 2019-03-29 2022-10-25 Amazon Technologies, Inc. Intent-based governance service

Also Published As

Publication number Publication date
CN112334901A (zh) 2021-02-05
EP3814962A1 (en) 2021-05-05
KR102545124B1 (ko) 2023-06-20
US20230262087A1 (en) 2023-08-17
JP7189236B2 (ja) 2022-12-13
CN112334901B (zh) 2024-07-12
KR20210022732A (ko) 2021-03-03
US20210392157A1 (en) 2021-12-16
JP2021528749A (ja) 2021-10-21
US11671442B2 (en) 2023-06-06
US11108805B2 (en) 2021-08-31
CN118656832A (zh) 2024-09-17
US20200007569A1 (en) 2020-01-02
KR20230091203A (ko) 2023-06-22
WO2020006084A1 (en) 2020-01-02

Similar Documents

Publication Publication Date Title
JP7189236B2 (ja) 自動パケットレスネットワーク到達可能性分析
US11095523B2 (en) Virtual network verification service
EP3939231B1 (en) Intent-based governance service
JP2019153336A (ja) 電子メッセージベースのセキュリティ脅威の自動軽減
US20170223033A1 (en) Multi-Node Affinity-Based Examination for Computer Network Security Remediation
US20150347751A1 (en) System and method for monitoring data in a client environment
Bleikertz et al. Automated information flow analysis of virtualized infrastructures
US11677768B2 (en) Apparatuses, methods, and computer program products for automatic improved network architecture generation
Tudosi et al. Design and implementation of a distributed firewall management system for improved security
Mokhov et al. Automating MAC spoofer evidence gathering and encoding for investigations
US20240348627A1 (en) Application access analyzer
Furnes et al. Secure deployment of applications in Kubernetes on Google Cloud
Wong Classifying and Identifying BGP Hijacking attacks on the internet
WO2024216176A2 (en) Topological co-relation
Cornet Arbós Dockerized MISP (Malware Information Sharing Platform)
Lee Denial of Service Mitigation Using Nat Load Balancing
Terefenko IMPLEMENTATION OF AN INFORMATION SECURITY MANAGEMENT SYSTEM FOR THE DOCUMENT MANAGEMENT SERVICES

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221201

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240430

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20240528

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240930