JP2019523949A - ネットワークセキュリティマイクロサービスを負荷に基づいて動的に自動スケーリングするアーキテクチャ - Google Patents
ネットワークセキュリティマイクロサービスを負荷に基づいて動的に自動スケーリングするアーキテクチャ Download PDFInfo
- Publication number
- JP2019523949A JP2019523949A JP2018566206A JP2018566206A JP2019523949A JP 2019523949 A JP2019523949 A JP 2019523949A JP 2018566206 A JP2018566206 A JP 2018566206A JP 2018566206 A JP2018566206 A JP 2018566206A JP 2019523949 A JP2019523949 A JP 2019523949A
- Authority
- JP
- Japan
- Prior art keywords
- microservice
- microservices
- new
- hierarchy
- data
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/0816—Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1031—Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Stored Programmes (AREA)
Abstract
データセンターのネットワークトラフィックを監視して、セキュリティの脅威を報告するのに用いられるシステム、方法、及び装置が説明される。例えば、1つの実施形態が、セキュリティシステム内のマイクロサービスの階層をスケールアウトする。具体的には、当該実施形態は、そのようなセキュリティシステム内のマイクロサービスの階層をスケールアウトすることを要求し、第1の階層の新規のマイクロサービスを作成し、新規のマイクロサービスと第2の上位レベルの階層のマイクロサービスとの間にデータプレーン接続を構成し、新規のマイクロサービスと第3の下位レベルの階層のマイクロサービスとの間にデータプレーン接続を構成し、第1の階層に対する負荷分散決定に新規のマイクロサービスを含めるように第3のレベルの階層のマイクロサービスを構成する。
Description
本明細書で説明される実施形態は概して、ネットワークセキュリティに関する。具体的には、説明される実施形態は概して、ネットワークセキュリティマイクロサービスを負荷に基づいて動的に自動スケーリングするアーキテクチャに関する。
現代のデータセンターを標的とした、ネットワークセキュリティの脅威の広さと複雑性は、広い範囲にわたっており常に増え続けている。ネットワークセキュリティの脅威をいくつか挙げると、そのリストには、ワーム、スプーフィング、スニッフィング、ハイジャック、トロイの木馬、サービス拒否(DoS)攻撃、及びフィッシングが含まれる。
ネットワークセキュリティ機器をデータセンター全体にわたってデプロイすることに頼るネットワークセキュリティソリューションは、複数の欠点に悩まされている。高いトラフィック量を監視するのに必要とされる複数のそのような機器を設けることは、経済的にも管理上も実現可能とは言えないかもしれない。これらの機器の数を増やしたり減らしたりすることも、複雑で時間がかかることがある。これらの機器がデータセンターネットワークの様々な構成要素にアクセスすることを可能にするのに十分なネットワークポート密度を提供することも、実現可能とは言えないかもしれない。これらの機器を最新の脅威シグネチャに応じて絶えず刷新し続けることも、難しいかもしれない。そのような機器を、特に、例えばクラウドコンピューティング環境を保護するためにデプロイするのは難しいかもしれない。
本明細書に開示される実施形態の様々な利点は、以下の明細書及び添付の特許請求の範囲を読み、以下の図面を参照することによって、当業者には明らかになるであろう。
以下の説明では、多数の具体的な詳細が記載される。しかしながら、本開示の実施形態はこれらの具体的な詳細がなくても実施され得ることを理解されたい。他の例では、この説明の理解を不明瞭にしないように、回路、構造、及び技術が詳細に示されてはいないことがある。
本明細書において、「1つの実施形態」、「一実施形態」、「代表的な実施形態」などへの言及は、説明された実施形態が特定の特徴、構造、又は特性を含み得るが、その特定の特徴、構造、又は特性を全ての実施形態が必ずしも含む必要がないことを示している。さらに、そのような表現は必ずしも同じ実施形態を指してはいない。さらに、特定の特徴、構造、又は特性が一実施形態に関連して説明される場合、他の実施形態に関連してそのような特徴、構造、又は特性に影響を与えることは、明示的に記載されているかどうかにかかわらず、当業者の知識の範囲内であることを申し述べておく。
コンフィギュレーション、トラフィック負荷に応じたスケールアウト若しくはスケールイン、容易なデプロイメント、及び/又は新規のセキュリティポリシーによる自動更新を可能にする、データセンターネットワークセキュリティ検知及び保護に関する実施形態が本明細書で詳述される。
図2は、一実施形態による、データセンターへの各セキュリティサービスのデプロイメントを例示する。データセンターは、セキュリティサービスの階層を物理サーバに提供するデプロイされたセキュリティ機器で構成される。図示するように、データセンターラック202が、物理セキュリティ機器204と3つの物理サーバ206、210、及び214とを含み、これらの物理サーバは仮想アプリケーションサーバ208、212、及び216を含み、各仮想アプリケーションサーバは、仮想アプリケーション1〜nをホストする。物理セキュリティ機器204は、限定されないが、インタフェースサービス232、TCP/IP(L3−L4プロトコル)サービス230、SSL/TLS(暗号化/復号)サービス228、DPI(ディープパケットインスペクション)サービス226、NOX(ネットワークオブジェクトエクストラクション)サービス224、DLP(データ漏洩防止)サービス222、及びコンフィギュレーションサービス220を含むサービス218を提供する。電子メール処理サービス、侵入検知サービス、及び他のサービスなどの追加サービスがデプロイされてもよい。
図3は、データセンターラックを含むデータセンターの一実施形態に関する別の説明図である。図示するように、データセンター300は、可変数のデータセンターラックを含むが、示されているのは2つ、302及び304だけである。例示するようにデータセンターラック302は、物理セキュリティ機器306、並びにそれぞれ310、314、及び318とラベル付けされた3つの物理サーバA、B、及びCを含む。同様に、データセンターラック304は、物理セキュリティ機器308、並びに312、316、及び320とラベル付けされた3つの物理サーバX、Y、及びZを含む。
セキュリティサービスの接続は、実行される逐次分析と、上位レベルの分析の前に下位レベルの分析を行う一般要件とを考慮すると、セキュリティ階層であると考えられ得る。この概念は、ネットワークスイッチ及び他の機器が上位レベル(例えばIP)に進む前にOSIスタックの1つのレベル(例えばイーサネット(登録商標))で処理を行うという要件と同様である。一例として、TCP/IP処理がアプリケーションによって運ばれるストリームをリアセンブルする。NOX処理は、リアセンブルされたストリームの出力に依存し、一般に単一のパケットを処理しない。同様に、暗号化された又は圧縮されたストリームは、NOX処理の前に、それぞれ復号されるか又は解凍されなければならない。同じソースデータに対して行われ得る複数の分析は、同時に行われる必要も、任意の特定の順序で行われる必要もない。
このセキュリティ階層の一般特性は、階層構造の各レイヤが下位の階層レベルから提供されたデータを受け入れ、受け入れたデータを処理して、処理されたデータを階層構造の上位レベルに送るというものである。いくつかの実施形態では、階層構造の各レベルで、ルールによって、特定のネットワークトラフィックがセキュリティポリシーに従っているか又は違反しているかを判定することと、「承諾」応答又は「拒否」応答を下位レベルの階層に返すことによって処理を終了することとが行われ得る。そのようなルールが構成されてよく、また複数のポリシーにグループ化されてもよい。いくつかの状況(暗号化が用いられていないことが検知されたなど)の下では、階層構造のレイヤを飛び越えて、階層構造の上位レベルにデータが提供されてよい。一例として、2つのネットワーク間の暗号化されたトラフィックを拒否するようにルールが構成されてよい。リアセンブルされたTCP/IPパケットの処理結果が、暗号化されたペイロードの存在を示す場合、「拒否」メッセージがTCP/IPレイヤに伝送されて、トラフィックが中断されることになる。
図4は、一実施形態による、データセンターラックへの各セキュリティサービスのデプロイメントを例示する。仮想セキュリティ機器400のデータセンターラック402は、セキュリティサービスの階層を物理サーバに提供するデプロイされたセキュリティ機器で構成される。図示するように、データセンターラック402は、仮想セキュリティ機器1(406)と仮想アプリケーションサーバA(408)とを提供する物理サーバ404を含む。データセンターラック402はまた、仮想アプリケーションサーバB(412)を提供する物理サーバB(410)と、仮想アプリケーションサーバC(416)を提供する物理サーバC(414)とを提供する。物理サーバA(404)は、限定されないが、インタフェースサービス432、TCP/IP(L3−L4プロトコル)サービス430、SSL/TLS(暗号化/復号)サービス428、DPI(ディープパケットインスペクション)サービス426、NOX(ネットワークオブジェクトエクストラクション)サービス424、DLP(データ漏洩防止)サービス422、及びコンフィギュレーションサービス420を含むセキュリティ機器サービス418を提供する。電子メール処理サービス、侵入検知サービス、及び他のサービスなどの追加サービスもデプロイされてよい。
図5は、物理サーバ又は仮想セキュリティ機器をホストするデータセンターラックを含むデータセンターの一実施形態である。図示するように、データセンター500は複数のデータセンターラック502及び512を含み、これらのデータセンターラックは、物理サーバ504、508、510、514、518、及び520を含む。物理サーバ504及び514は仮想セキュリティ機器506及び516を含むように示されている。デプロイされたセキュリティ機器が、物理機器であっても、又はデータセンター内のサーバ上にデプロイされた仮想機器であってもよい。いずれの場合でも、機器内で実行されるセキュリティサービスの階層は、その機器自体の領域内でスケーリングする。結果として、需要の増加を満たすようにセキュリティサービスをスケーリング(スケールアウト)することは、1つ又は複数の追加のセキュリティ機器(セキュリティ専用の追加の物理サーバ、又は仮想セキュリティ機器を含む物理サーバのいずれか)をデプロイすることを意味する。これらの複数の機器はインタフェースレベル(ルーティング又は物理インタフェース)で負荷分散される。これは、IPアドレス範囲などのレイヤ2〜4の特性に基づいて、トラフィックが複数の機器の間で分割されることを意味する。各機器にはコンフィギュレーションインタフェースがあるので、この複数の機器の全てのコンフィギュレーションは同期されて、一貫性が保たれている。
追加機器を加えることによってセキュリティサービスをスケーリングすると、データセンターの管理に問題が生じることがある。例えば、追加性能を必要とするサービス又は階層レベルだけではなく、機器全体を複製するので、データセンターのリソースが無駄になる。
図6は、3倍のスケールアウト要件を満たすようにスケールアウトしたデータセンターの一実施形態を例示している。図示するように、セキュリティ機器600は、コンフィギュレーションサービス602、DLPサービス604、NOXサービス606、DPIサービス608、SSL/TLSサービス610、TCP/IPサービス612、及びインタフェース614を含むようにプロビジョニングされている。例示するように、3倍のスケールアウト要件は、追加セキュリティ機器616と第2の追加セキュリティ機器632とをプロビジョニングすることによって満たされる。追加セキュリティ機器616は、コンフィギュレーションサービス618、DLPサービス620、NOXサービス622、DPIサービス624、SSL/TLSサービス626、TCP/IPサービス628、及びインタフェース630を含み、第2の追加セキュリティ機器632は、コンフィギュレーションサービス634、DLPサービス636、NOXサービス638、DPIサービス640、SSL/TLSサービス642、TCP/IPサービス644、及びインタフェース646を含む。
残念ながら、図6に例示するスケールアウトには複数の欠点があり得る。例えば、複数のマイクロサービス620、622、626、628、636、638、642、及び644がプロビジョニングされているが使用されないので、これらのリソースが無駄になり得る。したがって、2つの余分なDLPサービス、NOXサービス、SSL/TLSサービス、及びTCP/IPサービスのリソースが、使用されるように構成されているが無駄になる。また、3つのコンフィギュレーションサービス602、618、及び634は、同期して状態情報を共有する必要がある。さらに、図6に従ってスケールアウトされたシステムの負荷分散がインタフェースレベルで行われる。これが望ましくないのは、トラフィックストリームをインタフェースレベルでパーティションして、セキュリティサービスの負荷のバランスをもたらすことは不可能な場合が多いからである。一例として、トラフィックストリームを3分の1ずつ分割しても、セキュリティサービスの特定のレイヤによる著しく多くの処理を必要とする特定の3分の1をもたらすことがある。トラフィックの各部分が必要とする処理量も絶えず変化し得る。
物理機器の挿入及び除去は概して、急速に変化する需要又は変化するネットワークトラフィックプロファイルに対して、この形態のスケーリングを不向きにする複雑なプロセスである。全ての機器コンフィギュレーションの一貫性を維持することは、データセンターの管理者にさらなる負担を負わせる。複数の機器の負荷分散をどのように構成するかを決定することは、各セキュリティサービスの階層における異なるトラフィックストリームの需要が容易に認識できないかもしれないので、可能ではないかもしれない。例えば、暗号化されたどのトラフィックストリームがより多くのDLPサービスを必要としているかを、これらのストリームを最初に復号することなく予測するのは不可能であるが、負荷分散決定は復号が行われる前になされる。
図7は、本発明の一実施形態に従い、マイクロサービスを用いて、3倍のスケールアウト要件を満たすことを例示している。この例では、単一のマイクロサービス(DPI)だけが、追加リソースを必要としている。図示するように、DLPマイクロサービス704、NOXマイクロサービス706、DPIマイクロサービス708、SSL/TLSマイクロサービス710、TCP/IPマイクロサービス712、及びセグメントマイクロサービス714を含むスケーラブルなマイクロサービスアーキテクチャ700を利用して、セキュリティサービス階層の各レイヤはスケーリングされ、次の階層レベルへの処理データの供給を負荷分散するように個別に構成される。図示するように、コンフィギュレーションマイクロサービス702及びDLPマイクロサービス704はそれぞれ、マイクロサービス1及び2として物理サーバA(720)で実行されるように割り当てられている。NOXマイクロサービス706は、マイクロサービス3として物理サーバB(722)で実行されるように割り当てられている。DPIマイクロサービス708は3倍にスケールアウトされており、この例では、マイクロサービス4〜6として物理サーバB(722)及び物理サーバC(724)で実行されるように割り当てられている。スケーラブルなセキュリティアーキテクチャの残りのマイクロサービスは、物理サーバX(728)、物理サーバY(730)、及び物理サーバZ(732)を含むデータセンターラック718及び726によってデータセンター716に実装されているものとして示されている。コンフィギュレーションマイクロサービス702は、セキュリティサービスを受け取る各物理サーバにソフトウェアコンポーネントとしてデプロイされるコンフィギュレーションバックプレーン及びデータプレーンを作成する。この作成プロセスは、ルーティングルールを構成し、ネットワークアドレススペース(サブネットなど)を予約し、仮想環境を構成して、セキュアなサーバの内外でネットワーク通信のゲートウェイとして、予約されたアドレススペースの一部を利用するという形態を取る。したがって、バックプレーン及びデータプレーンは両方とも、セキュリティシステムによって管理される仮想ネットワークとみなされてよい。次に、全てのセキュリティマイクロサービスはこれらのネットワークを利用して、互いの間でパケット、コンテンツ情報、状態情報、及び他の情報を伝送してよい。バックプレーン及びデータプレーンの特性は、セキュリティシステムの外部からのパケットトラフィックを拒否し、物理サーバ及び仮想環境のコンフィギュレーションにかかわらず、マイクロサービス間で情報をルーティングするように構成される。
図8は、一実施形態に従って任意のスケールアウト要件を満たすことを例示している。図示するように、スケーラブルなセキュリティアーキテクチャ800は、コンフィギュレーションマイクロサービス802、DLPマイクロサービス804(2倍のスケールアウトを必要とする)、NOXマイクロサービス806、DPIマイクロサービス808(3倍のスケールアウトを必要とする)、SSL/TLSマイクロサービス810、TCP/IPマイクロサービス812(3倍のスケールアウトを必要とする)、及びセグメントマイクロサービス814を含む。図示するように、コンフィギュレーションマイクロサービス816は、最下位の階層から最上位の階層まで、11個のマイクロサービスをプロビジョニングし(818、820、822、824、826、及び828)、これらのマイクロサービスをバックプレーンを介して互いに通信するように構成する。
図9は、一実施形態に従ってマイクロサービスをスケールアウトすることにより、任意のスケールアウト要件を満たすことを例示している。図示するように、スケーラブルなセキュリティアーキテクチャ900は、コンフィギュレーションマイクロサービス902、DLPマイクロサービス904(2倍のスケールアウトを必要とする)、NOXマイクロサービス906、DPIマイクロサービス908(3倍のスケールアウトを必要とする)、SSL/TLSマイクロサービス910、TCP/IPマイクロサービス912(3倍のスケールアウトを必要とする)、及びセグメントマイクロサービス914を含む。図示するように、コンフィギュレーションマイクロサービス916は、最下位の階層から最上位の階層まで、11個のマイクロサービスをプロビジョニングし(918、920、922、924、926、及び928)、これらのマイクロサービスをデータプレーン930と接続するように構成する。
異なるセキュリティサービスの性能をスケーリングすると、通常、バランスを欠くことになる。すなわち、ほとんどの場合、セキュリティ階層の異なるレベルの性能要件は異なり、1つのレベルの要件の増加によって、相当する性能増加要件が伴うことは稀である。
図10は、セキュリティシステム内のマイクロサービスの階層の中のマイクロサービスをスケールアウトする方法を例示するフロー図である。通常、この方法の実施形態は、ハードウェアプロセッサでコンフィギュレーションマイクロサービスを実行することによって行われる。しかしながら、他のマイクロサービス又はアクターが、この方法の実施形態の1つ又は複数の態様を実行し得る。例示するように、コンフィギュレーションマイクロサービスが、特定の階層の既存のマイクロサービスが過剰なリソースを消費しているか、又はそうでなければセキュリティシステムの性能を制限していることを検知すると、特定のセキュリティサービス(階層)をスケールアウトする。検知方法は、マイクロサービスの負荷及びレイテンシの統計値、仮想サーバ及び物理サーバの性能特性、又は他の利用可能な指標を監視することと、これらの監視指標を閾値と比較して評価することとを含み得る。1004で、コンフィギュレーションマイクロサービスは次に、サーバにおいて特定の階層のセキュリティサービスを行うように構成された新規のマイクロサービスを初期設定する。1006で、コンフィギュレーションマイクロサービスは、新規のマイクロサービスと上位の階層レベル及び下位の階層レベルのマイクロサービスとの間のデータ接続を有効にするようにデータプレーンを構成する。1008で、コンフィギュレーションマイクロサービスは、下位の階層レベルのマイクロサービスを、上位レベルのセキュリティサービスへの負荷分散を目的に、新規のマイクロサービスを選択メカニズムに含めるように構成する。
図11は、セキュリティシステム内のマイクロサービスの階層の中のマイクロサービスをスケールインする方法を例示するフロー図である。通常、この方法の実施形態は、ハードウェアプロセッサでコンフィギュレーションマイクロサービスを実行することによって行われる。しかしながら、他のマイクロサービス又はアクターが、この方法の実施形態の1つ又は複数の態様を実行し得る。1104で、コンフィギュレーションマイクロサービスは、第1の階層の第1の特定のセキュリティサービス(階層)を選択してスケールインする。一実施形態において、コンフィギュレーションマイクロサービスは、特定の階層の既存のマイクロサービスが十分に利用されていないか、又はそうでなければセキュリティシステム内のリソースを無駄にしていることを検知すると、特定のセキュリティサービスを選択する。1106で、コンフィギュレーションマイクロサービスは、第2の下位の階層レベル(特定のセキュリティサービスに対して)のマイクロサービスを、上位レベルのセキュリティサービスへの負荷分散を目的に、選択メカニズムから特定のマイクロサービスを除外するように構成する。1108で、コンフィギュレーションマイクロサービスは、特定のマイクロサービスと上位の階層レベル及び下位の階層レベルのマイクロサービスとの間のデータ接続を無効にする(又は除去する)ようにデータプレーンを構成する。1110で、コンフィギュレーションマイクロサービスは特定のマイクロサービスを終了する(又は終わらせる)。
図12は、セキュリティシステム内のマイクロサービスの階層を最適化する方法を例示するフロー図である。通常、この方法の実施形態は、ハードウェアプロセッサでコンフィギュレーションマイクロサービスを実行することによって行われる。しかしながら、他のマイクロサービス又はアクターが、この方法の実施形態の1つ又は複数の態様を実行し得る。1204で、第1の階層の第1のマイクロサービスが選択される。一実施形態において、特定のセキュリティマイクロサービスのリソース利用効率を高めるために、第1の階層の選択された第1のマイクロサービスが動作しているサーバが(メモリ、IO、ディスク、又は他の利用指標によって)当該マイクロサービスをサポートするのに適していないことを、コンフィギュレーションマイクロサービスが検知する。1206で、コンフィギュレーションマイクロサービスは、下位の階層レベル(特定のセキュリティサービスに対して)のマイクロサービスを、上位レベルのセキュリティサービスへの負荷分散を目的に、選択メカニズムから特定のマイクロサービスを無効にするように構成する。1208で、コンフィギュレーションマイクロサービスは、当該マイクロサービスを別のサーバに移動させる。1210で、コンフィギュレーションマイクロサービスは、データプレーンコンフィギュレーションを変更して、新規のサーバを反映させる。1212で、コンフィギュレーションマイクロサービスは、下位の階層レベルのマイクロサービスを、上位レベルのセキュリティサービスへの負荷分散を目的に、移動したマイクロサービスを選択メカニズムに含めるように構成する。このプロセスは1214で終わる。
[ネットワークセキュリティシステム]
図1は、複数のマイクロサービスを用いるスケーラブルなマイクロサービスアーキテクチャのコンポーネントの一実施形態を例示するブロック図である。ネットワークセキュリティシステムのマイクロサービスはメモリ(例えば、ランダムアクセスメモリ(RAM)などの揮発性メモリ及び/又はディスクなどの不揮発性メモリ)に格納されており、1つ又は複数のハードウェアプロセッサ若しくはプロセッサコアによって実行される。特定のセキュリティサービスを行うための実行可能命令で構成される、ネットワークセキュリティシステムのマイクロサービスは、利用可能な物理サーバ全体のコンフィギュレーションに基づいてデプロイされる。通常、各マイクロサービスは仮想シャーシ106のバックプレーンを介してコンフィギュレーション及びタスクを受け取り、ステータス、統計値、及び他の情報をバックプレーンに返す。マイクロサービスの一般的な特性は、他のマイクロサービスからのメモリの分離及び保護である。この方式では、個々のマイクロサービスが、他のマイクロサービスに大きな影響を与えることなく、別の物理サーバに移動するか又は異常に終了することがある。
図1は、複数のマイクロサービスを用いるスケーラブルなマイクロサービスアーキテクチャのコンポーネントの一実施形態を例示するブロック図である。ネットワークセキュリティシステムのマイクロサービスはメモリ(例えば、ランダムアクセスメモリ(RAM)などの揮発性メモリ及び/又はディスクなどの不揮発性メモリ)に格納されており、1つ又は複数のハードウェアプロセッサ若しくはプロセッサコアによって実行される。特定のセキュリティサービスを行うための実行可能命令で構成される、ネットワークセキュリティシステムのマイクロサービスは、利用可能な物理サーバ全体のコンフィギュレーションに基づいてデプロイされる。通常、各マイクロサービスは仮想シャーシ106のバックプレーンを介してコンフィギュレーション及びタスクを受け取り、ステータス、統計値、及び他の情報をバックプレーンに返す。マイクロサービスの一般的な特性は、他のマイクロサービスからのメモリの分離及び保護である。この方式では、個々のマイクロサービスが、他のマイクロサービスに大きな影響を与えることなく、別の物理サーバに移動するか又は異常に終了することがある。
セキュリティシステムによって処理されたデータは、あるマイクロサービスから別の(上位の階層の)マイクロサービスにデータプレーンを用いて転送される。いくつかの実施形態において、そのような転送の間に、下位のマイクロサービスは(コンフィギュレーション、現在の統計値、及び他の情報に基づいて)上位階層のマイクロサービスのどれを利用するかに関しての決定を行う。そのような決定は、負荷分散決定を構成し、確実に上位階層のマイクロサービスが効率的に利用されるようにし得る。他の実施形態では、どのマイクロサービスを利用するかについての決定は、より中心のエンティティによって行われる。
例示するように、ネットワークセキュリティシステムはハードウェアプロセッサ102(中央演算処理装置(CPU)又はCPUの1つ若しくは複数のコア、画像処理装置(GPU)又はGPUの1つ若しくは複数のコア、あるいは加速演算処理装置(APU)又はAPUの1つ若しくは複数のコアなど)を利用して、メモリ104(例えば、ランダムアクセスメモリ(RAM)などの揮発性メモリ及び/又はディスクなどの不揮発性メモリ)に格納されたマイクロサービスを実行する。ネットワークインタフェース128(例えば、有線又は無線のファブリック又は相互接続)がデータセンターと通信するための手段を提供する。ネットワークセキュリティシステムが、以下でさらに説明されるように、マイクロサービスを用いてトラフィックを検査し、脅威を検知し、また別の方法でデータセンターを保護し得る。
上記の能力を提供するネットワークセキュリティシステムの実施形態が、ここでより詳細に論じられる。ネットワークセキュリティシステムがデータセンターにセキュリティを追加するか、又はデータセンターのセキュリティを強化する。一実施形態において、ネットワークセキュリティシステムがシードソフトウェアアプリケーションの形態で提供される(例えばダウンロードされる)。シードソフトウェアアプリケーションは、ネットワークセキュリティシステムのマイクロサービスをデータセンターのホストにインスタンス化する。本明細書で使用されるとき、マイクロサービスコンテナとは、マイクロサービスが動作する場所、最も顕著には仮想マシンのことを指す。ネットワークセキュリティシステムは、デプロイされると、(先に詳述したように)利用可能な処理能力102、メモリ104、及びネットワーク接続128を利用する。多くのシナリオにおいて、既存のハードウェアを用いて及び/又は特定の機能用の特殊なラックデバイスを購入する必要もなく、セキュリティが追加/構成され得る。シードソフトウェアアプリケーションは、多岐にわたるホスト、すなわち、低速若しくは高速のホスト、低コスト若しくは高コストのホスト、汎用品若しくはカスタマイズ品のホスト、地理的に分散されたホスト、冗長方式の一部であるホスト、又は定期的なバックアップを行うシステムの一部であるホストのうちのいずれかにインストールされ得る。
以下でもさらに説明されるが、いくつかの実施形態において、ネットワークセキュリティシステムは、起動すると、物理ネットワークインタフェース128を利用してデータセンターを探索し、存在するネットワークセグメントの種類、様々なネットワークセグメントのセキュリティ要件、及び利用可能なホストやハードウェアリソースの種類、並びに必要に応じて追加のコンフィギュレーション情報を見つける。一実施形態において、データセンター自体には、ハイパーバイザを備えたいくつかのマシン、又は物理ハードウェアが含まれ、またネットワークセキュリティシステム100はマイクロサービスを提供して、内部の仮想マシン又は物理ハードウェアのうち1つ又は複数と通信し、それらを保護する。いくつかの実施形態において、データセンターディスカバリを行った後に、ネットワークセキュリティシステムは次に、ユーザインタフェースを通じて、又は既存の企業用管理ソフトウェアとの接続によってのいずれかで選択される利用可能なセキュリティツールを提供又は提案する。1つの実施形態において、ネットワークセキュリティシステムは、構成されると、「インライン」でデプロイされ、データセンターに向かう実質的に全てのパケットを受け取り、ネットワークセキュリティシステムが疑わしいトラフィックをデータセンターに到達する前に捕捉して阻止することを可能にする。データセンターを理解すると、ネットワークセキュリティシステム100はマイクロサービスをデプロイして、トラフィックを進入時だけではなくデータセンター全体にわたって検査することが分かる。いくつかの実施形態において、ネットワークセキュリティシステムが「コピーのみ」のコンフィギュレーションでデプロイされ、この場合、ネットワークセキュリティシステムは、トラフィックを監視し、脅威を検知してアラートを発するが、トラフィックをデータセンターに到達する前に捕捉することはない。
再度図1を参照すると、図示されていないが、1つの実施形態におけるハードウェアプロセッサ102は1つ又は複数のレベルのキャッシュメモリを含む。図示するように、メモリ104は内部にマイクロサービス108、110、112、114、116、118、120、及び122並びに仮想シャーシ106を格納している。仮想シャーシ106は、それ自体がマイクロサービスである。一実施形態において、マイクロサービスはサイズが小さく、比較的少数の命令で構成されている。一実施形態において、マイクロサービスは互いに独立している。例示するように、マイクロサービス108〜122は、メモリからロードされてハードウェアプロセッサ102によって実行されるマイクロサービスである。これらのマイクロサービスは、データパスセキュリティマイクロサービス、例えば、TCP/IP、SSL、DPI、又はDPL検査マイクロサービスを含み、これについては、図14、図17、及び図19に関して以下でさらに説明される。マイクロサービスは管理マイクロサービスも含んでよく、図14、図17、及び図19に関して以下でさらに説明される例をいくつか挙げると、例えば、マイクロサービスを管理するためのシャーシコントローラ、コンフィギュレーションマイクロサービス、インフラストラクチャディスカバリマイクロサービス、データを格納するためのデータベースマイクロサービス、及び外部のセキュリティクラウドからポリシーの最新情報を受け取るためのポリシー更新マイクロサービス、及び様々なソースからポリシーデータを受け取り、マイクロサービスによって用いられるバイナリのポリシー出力を生成するためのコンパイラである。
ネットワークセキュリティシステムは、インタフェース128を介してデータセンターとの間でトラフィックの受け渡しを行う。1つの実施形態において、ネットワークセキュリティシステムはインラインで配置されてトラフィックを検査し、場合によっては、トラフィックがデータセンターに到達する前に又はデータセンターを出る前に脅威を捕捉する。代替実施形態において、ネットワークセキュリティシステムが、データセンターに向かう又はデータセンターを出るトラフィックを監視する。この場合、ネットワークセキュリティシステムは脅威を検知してアラートを発するがデータを阻止することはない。ハードウェアプロセッサ102は次に、様々なデータセキュリティマイクロサービスをデータに対して実行する。例えば、図14、図17、及び図19に関して以下でさらに説明されることになるが、トラフィックは通常、最初にセグメントマイクロサービスに入ってそこを通り、次にTCP/IP検査マイクロサービスを通り、次にSSLマイクロサービスを通り、次にDPIマイクロサービスを通り、次にNOXマイクロサービスを通り、そして次にDLPマイクロサービスを通る。しかしながら、これらのサービスのうち1つ又は複数は有効でなくてもよい。いくつかの実施形態において、セグメントマイクロサービスがネットワークセグメント内に存在し、データパケットのエントリポイントとしての役割を果たし、パケットをさらなる分析のために適切なマイクロサービスに転送する。本明細書で使用されるデータパスマイクロサービスは、ネットワークトラフィックを検査し分析する様々なマイクロサービス、例えば、TCP、TLS、DPI、NOX、又はDLPなどのことを指す。TCPマイクロサービスは、例えば、レイヤ4〜6の任意のネットワークパケットを処理可能なパケット処理マイクロサービスのことを指し、ファイアウォールの一部を含む。TLSマイクロサービスは、例えば、接続の復号/再暗号化を行うトランスポートレイヤセキュリティマイクロサービスのことを指す。DPIマイクロサービスは、例えば、ディープパケットインスペクションマイクロサービスのことを指し、レイヤ7の検査を扱う。NOXマイクロサービスは、例えば、ネットワークオブジェクトエクストラクタマイクロサービスのことを指し、DPIと共に働いて、個々のパケットのオブジェクトを組み立て、組み立てたオブジェクトを他のサービスに提供する。DLPマイクロサービスは、例えば、データ漏洩防止マイクロサービスのことを指し、データ漏洩を検知して防止する。これに対して、制御パスマイクロサービスは、ファクトリ、コンパイラ、コンフィギュレーション、インフラストラクチャディスカバリ、データベース、メッセンジャー、スケーラー、及びシャーシコントローラなどの様々なマイクロサービスであり、これらは、管理プレーンにインスタンス化されて、管理プレーンを構成する。前述のマイクロサービスによって検知された脅威は、1つの実施形態において、改善策を講じるシャーシコントローラマイクロサービスに報告されることになる。
一実施形態において、マイクロサービス108〜122は、インタフェース128を介してインターネットからロードされる。例えば、一実施形態において、マイクロサービスはウェブサイト又はオンラインストアのサイトからダウンロードされる。いくつかの実施形態において、マイクロサービス108〜122は、メモリ104にロードされる。様々な実施形態において、マイクロサービスは非一時的コンピュータ可読媒体にロードされ、非一時的コンピュータ可読媒体から受け取られる。非一時的コンピュータ可読媒体とは、別のディスクドライブ、CD、CDROM、DVD、USBフラッシュドライブ、フラッシュメモリ、セキュアデジタル(SD)メモリカード、メモリカードを含むデジタルメディアなどであるが、これらに限定されるものではない。一例として、デジタルメディアから受け取ったマイクロサービスはメモリ104に格納される。これらの実施形態はこの文脈に限定されない。さらなる実施形態において、デジタルメディアは、プロセッサ及びメモリなどのハードウェア要素の組み合わせを構成するデータソースである。
大部分の実施形態において、ネットワークセキュリティシステムはデータセンターのコンピュータで動作する。しかしながら代替実施形態では、ネットワークセキュリティシステムは、低コストなものから高コストなものまで、また低性能なものから高性能なものまで多岐にわたる代替的なコンピューティングプラットフォームのうちのいずれかにインストールされて、そこで動作する。いくつかの実施形態において、ネットワークセキュリティシステムが、低コストの汎用サーバコンピュータに、又はいくつかの実施形態において、低コストのラックマウント式のサーバにインストールされて、そこで動作する。例示するように、ハードウェアプロセッサ102はシングルコアプロセッサである。代替実施形態において、ハードウェアプロセッサ102はマルチコアプロセッサである。代替実施形態において、ハードウェアプロセッサ102は超並列プロセッサである。
いくつかの実施形態において、仮想シャーシ106及びマイクロサービス108〜122は、データセンターで用いられる多岐にわたるハードウェアプラットフォームのいずれかにホストされ、保護され得る。以下の表1は、複数の代表的なデータセンター環境を列挙して説明している。これらのうちのいずれかが、仮想シャーシ106及びマイクロサービス108〜122をホストする。
いくつかの例において、ネットワークセキュリティシステムは、利用可能なリソースを用いてスケールアウトし、より高いトラフィック又は負荷に対応する。代表的な実施形態において、CPU102及びメモリ104は、必要に応じて動的にスケールアウト又はスケールインが行われ、スケールアウトの場合はさらにCPU及びメモリが追加され、スケールインの場合はいくつかのCPU及び/又はメモリの電源を切る。このスケールアウトは、追加のCPU及びメモリが必要とされるセキュリティ階層の部分に追加のCPU及びメモリを割り当てるが、既存の割り当てを利用して上位のトラフィックに対応できるセキュリティ階層の部分には追加のCPU及びメモリを割り当てないように行われる。
図13は、一実施形態によるネットワークセキュリティシステムの一部を例示するブロック図である。例示するように、ネットワークセキュリティシステムが、仮想シャーシ1301、管理プレーン1302、データパスプレーン1304、及びバックプレーン1306(このソフトウェアを格納し実行するための基本的なハードウェアは図示されていない)を含む。図13は、ネットワークセキュリティシステムの論理システムアーキテクチャを例示しており、その各コンポーネントは、図1のネットワークセキュリティシステムと同様のネットワークセキュリティシステムによって実装される。
[マイクロサービスに基づくアーキテクチャ]
マイクロサービスに基づくアーキテクチャによって、各コンポーネント及びネットワークセキュリティツール(例えば、IP処理、TCP処理、SSL復号、ディープパケットインスペクション)を別個のマイクロサービスとして実装することが可能になる。個々のコンポーネントを分離することで、各コンポーネントは、それぞれの性能要件を満たすためにスケールアウト又はスケールインを行うことが可能である。また、一実施形態において、これらのコンポーネントは互いとは無関係に、別個の地理的位置にさえ配置される。
マイクロサービスに基づくアーキテクチャによって、各コンポーネント及びネットワークセキュリティツール(例えば、IP処理、TCP処理、SSL復号、ディープパケットインスペクション)を別個のマイクロサービスとして実装することが可能になる。個々のコンポーネントを分離することで、各コンポーネントは、それぞれの性能要件を満たすためにスケールアウト又はスケールインを行うことが可能である。また、一実施形態において、これらのコンポーネントは互いとは無関係に、別個の地理的位置にさえ配置される。
一実施形態によれば、仮想シャーシ1301内の各マイクロサービスは、同様のHTTPメソッド(GET(取得)、POST(作成)、PUT(更新)、DELETE(削除)など)を用いてHTTPリクエストをやり取りすることによって通信する。いくつかの実施形態において、仮想シャーシ1301内の各マイクロサービスは、バックプレーンマイクロサービス1306を用いて通信し、メッセージが送信元のマイクロサービスによってバックプレーン1306にパブリッシュされ、宛先のマイクロサービスによってバックプレーン1306から消費される。いくつかの実施形態において、バックプレーン1306は、仮想シャーシ1301内のマイクロサービス同士の通信、及びネットワークセキュリティシステムのマイクロサービスと企業用ソフトウェア1350との間の通信をサポートし、RESTアーキテクチャを用いる。いくつかの実施形態において、RESTに準拠したソフトウェアであるRESTfulなソフトウェアとの通信は、例をいくつか挙げると、HTTP、URI、JSON、及びXMLのような構造に従って、構造化データをやり取りする。RESTfulなアーキテクチャは、複数の変数値を示す階層を有する多変数フィールドとしてユニバーサルリソースインジケータ(URI)を用いることによって、デベロップメント、デバッギング、及びオペレーションのフレキシビリティを可能にする。
例示するように、ネットワークセキュリティシステムは、仮想シャーシ1301、管理プレーン1302、バックプレーン1306、及びデータパスプレーン1304を備え、これらのそれぞれは仮想マシン又はコンテナとして実装されたマイクロサービスであり、コンピューティングハードウェアにデプロイされる。一実施形態によれば、ホストマシンはハイパーバイザを搭載している。ハイパーバイザは、仮想マシンを起動したり無効にしたりするコンピュータソフトウェア、ファームウェア、又はハードウェアである。いくつかの実施形態において、ホストマシンは、マイクロカーネルをマイクロカーネル命令と共に提供する。
管理プレーン1302は、マイクロサービス1308、1310、1312、1314、1316、1318、1320、1322、及び1324を有し、それぞれはコンピュータシステムにデプロイされた仮想マシン又はコンテナとして実装される。
図13に例示するように、管理プレーン1302はファクトリ1310を利用する。一実施形態において、ファクトリ1310は、インフラストラクチャディスカバリマイクロサービス1312、スケーラーマイクロサービス1314、及びシャーシコントローラマイクロサービス1316を含み、いくつかの実施形態では、ポリシーマイクロサービス及びリソースグループマイクロサービスといったマイクロサービスの組み合わせのことを指し、弾力的にスケールイン又はスケールアウトを行う。本明細書で使用されるとき、ポリシーはシャーシをどのようにスケーリングするかを規定するものであり、以下で説明されるように、消極的(lazy)スケーリング又は積極的(aggressive)スケーリングがある。いくつかの実施形態において、シャーシコントローラマイクロサービス1316は、アテステーション、シャーシ、レジストリ、スケーリング、及びインフラストラクチャディスカバリマイクロサービスを含む新規のマイクロサービスを要求に応じて生成し、負荷に従って新規のマイクロサービスをスケールアウト又はスケールインする。いくつかの実施形態において、ファクトリ1310は、ファクトリモデルに従って規定されるマイクロサービス仮想化環境を含む。構造レベルでは、一実施形態によるファクトリは、サーバ及びコンピューティングデバイスを含む。いくつかの実施形態において、ファクトリは一箇所に配置される。他の実施形態において、ファクトリは様々な場所に分散される。さらに他の実施形態において、ファクトリは、サードパーティのインフラストラクチャサプライヤのマイクロサービスを仮想化する。論理レベルでは、ファクトリは、1つ又は複数の仮想CPU、仮想メモリ、及び仮想ストレージで構成された仮想化プラットフォームである。ファクトリは、マイクロサービスの商品化を可能にし、多数の多岐にわたるマイクロサービスが提供されて他のマイクロサービスと区別なく動作することを可能にし、サードパーティのインフラストラクチャサプライヤからのマイクロサービスを含む。
1つの実施形態におけるインフラストラクチャディスカバリマイクロサービス1312は、保護されるべきデータセンター1342とのインタフェースをとり、データセンター1342を探索する。いくつかの実施形態で言及されるように、インフラストラクチャとは、計算リソース、ストレージリソース、及びネットワークリソースの形態で顧客などのエンティティによって提供されるリソースのことを指す。いくつかの実施形態において、双方向通信のために、インフラストラクチャリンクがファクトリ1310とインフラストラクチャとを接続する。そのような実施形態におけるインフラストラクチャディスカバリマイクロサービス1312は、インタフェース1326を介してデータセンター1342を探索し、存在するネットワークセグメントの種類、様々なネットワークセグメントのセキュリティ要件、利用可能なホスト及びハードウェアリソースの種類、及び/又は必要に応じて追加のコンフィギュレーション情報を確定する。
1つの実施形態におけるスケーラー1314は、複数のマイクロサービスのうちの少なくとも1つから負荷統計値を受け取るマイクロサービスであり、各マイクロサービスはそれぞれの負荷統計値を監視して、その負荷統計値をスケーラー1314に報告する。個々のマイクロサービスによって監視される統計値には、例えば、処理されたパケットの数、処理されたリクエストの数、処理するパケット及び/又はリクエストのキューデプス、並びにプロセッサ及びメモリの利用率が含まれる。スケーラー1314は、マイクロサービスの負荷情報を分析し、シャーシコントローラ1316に特定のマイクロサービスをスケールアウト又はスケールインするよう要求するかどうかを判定する。1つの実施形態において、スケーラー1314は、あるマイクロサービスから受け取った負荷統計値をスケールアウト閾値と比較して、シャーシコントローラ1316が追加のマイクロサービスを立ち上げることを提案するかどうか判定する。いくつかの実施形態において、スケーラー1314は、あるマイクロサービスから受け取った負荷統計値をスケールイン閾値と比較して、シャーシコントローラ1316が当該マイクロサービスのインスタンスを停止することを提案するかどうか判定する。
一実施形態におけるシャーシコントローラ1316は、ネットワークセキュリティシステム1300の全てのマイクロサービスをインスタンス化してデプロイする。いくつかの実施形態において、例えばリブート時、電源投入時、又は停電後に、立ち上げられたシャーシコントローラ1316は複数の第1のマイクロサービスの中に入っており、残りのマイクロサービスをインスタンス化してデプロイする。いくつかの実施形態において、ネットワークセキュリティシステム1300がリブート中であるか、又は別の方法で破局的な故障から回復中である場合、シャーシコントローラ1316が、立ち上がる最初のマイクロサービスではないとしても、最初に立ち上がるマイクロサービスがどれであれ、シャーシコントローラ1316が動いているかどうかを確認し、動いていない場合は、シャーシコントローラ1316を立ち上げるようにトリガする。シャーシコントローラ1316が動いているかどうかを確認することは、1つの実施形態において、所定のアドレスにピング(ping)を送ることによって行われる。代替実施形態において、シャーシコントローラ1316が動いているかどうかを確認することは、シャーシコントローラ1316及び場合によっては他のマイクロサービスのステータスを保持するステータスレジスタを確認することを含む。代替実施形態において、シャーシコントローラ1316が自身のステータスを仮想シャーシ1300内のマイクロサービスにブロードキャストして、シャーシコントローラ1316が動いていることをこれらのマイクロサービスに知らせる。
1つの実施形態におけるコンフィギュレーションマイクロサービス1308は、ユーザインタフェースを通じてユーザからコンフィギュレーション情報を受け取る。代替実施形態において、コンフィギュレーションマイクロサービス1308は、インタフェース1348を介して企業用ソフトウェア1350と通信し、企業用ソフトウェア1350からコンフィギュレーション情報を受け取る。一実施形態におけるコンフィギュレーションマイクロサービス1308は、上述したRESTアーキテクチャを用いて企業用ソフトウェア1350と通信する。いくつかの実施形態において、コンフィギュレーションマイクロサービス1308は、データセンターのコンフィギュレーション(例えば、インフラストラクチャディスカバリマイクロサービス1312から得られる)を用い、ユーザが選択するセキュリティポリシー及びツールを提案する。
1つの実施形態におけるコンパイラマイクロサービス1324は、インタフェース1346を介してポリシー更新クラウド1330からセキュリティポリシー更新情報を受け取る。一実施形態において、ポリシー更新クラウド1330は、潜在的なセキュリティの脅威の識別と、それらの脅威に対応するためのポリシーの考案とを常に行うネットワークセキュリティの専門家集団を備えている。新たに考案されたポリシーは、コンパイラマイクロサービス1324によって受け取られ、必要であれば、様々なマイクロサービスが理解できる言語に変換され、それらのマイクロサービスに伝達される。
様々な追加の管理マイクロサービス1318、1320、及び1322は、ネットワークセキュリティシステムにデプロイされるために利用可能である。例示するように、管理プレーン1302は9個のマイクロサービスを有するが、マイクロサービスの数はそのように限定されず、その数はより多くても又はより少なくてもよく、限定されるものではない。
データパスプレーン1304は、セグメントマイクロサービス1332(単に「フロントエンド」又は「FE」と呼ばれることがある)とデータセキュリティマイクロサービス1334、1336、及び1338とを実装するマイクロサービスを有する。例示するように、データパスプレーン1304は、双方向インタフェース1344を介して、外部セキュリティツール1340と通信する。データセキュリティマイクロサービスの様々な実施形態がデプロイされるために利用可能であり、その一部が以下でさらに説明される。例示するように、データパスプレーン1304は、4個のマイクロサービスを有するが、マイクロサービスの数はそのように限定されていない。いくつかの実施形態において、データパスプレーン1304は4個を超えるマイクロサービスを含み、別の実施形態において、データパスプレーン1304は4個より少ないマイクロサービスを含む。
いくつかの実施形態において、セグメントマイクロサービス1332はデータセンター1342とデータをやり取りする。セグメントマイクロサービス1332はインタフェース1328を介して双方向に動作し、データセンター1342から受け取ったパケットを適切なデータパスマイクロサービスに転送し、またデータパスマイクロサービスから受け取った戻りパケットをデータセンター1342に転送する。一実施形態において、セグメントマイクロサービス1332によって受け取られたトラフィックを供給する接続は、当業者が理解しているように、5−タプルを有する接続が特徴のTCP/IPプロトコルに従う。そのような5−タプルは一般に、送信元のIPアドレス及びTCPポート、宛先のIPアドレス及びTCPポート、並びにインタフェースで構成されている。インタフェース1328は、名前、イーサネット(登録商標)のMACアドレス、又は他の手段で指定され得る。一実施形態において、セグメントマイクロサービス1332は、パケットをデータパスマイクロサービスに転送する前に、6番目のタプルをパケット追加する。いくつかの実施形態において、この6番目のタプルは、どのデータパスマイクロサービスがパケットを受け取るべきかについてのルーティング情報を搬送する。一実施形態における6番目のタプルは、特定の接続を一意に識別する識別子も搬送する。データパスマイクロサービスが脅威又はマルウェアを検知した場合、当該データパスマイクロサービスは識別子及び5−タプル情報を用いて、そのイーサネット(登録商標)接続を中断するようセグメントマイクロサービスに要求する。
バックプレーン1306は、データパスプレーン1304のデータパスマイクロサービス1332〜1338の間での通信、管理プレーン1302の管理マイクロサービスとデータパスプレーン1304との間の通信、及び管理マイクロサービス1308〜1324の間での間接通信を可能にする通信マイクロサービスを有する。1つの実施形態において、管理マイクロサービス1308〜1324は互いに直接通信しないので、これらのマイクロサービスのうち1つ又はその他が働かなくなったときに、ゾンビ接続を防ぐことができる。その代わり、1つの実施形態において、管理マイクロサービスは、これらの管理マイクロサービスの間でメッセージを伝達する仲介者としてバックプレーン1306に頼る。
いくつかの実施形態において、マイクロサービス1301〜1338は別個の仮想マシン又はコンテナであり、それぞれは汎用のサーバハードウェアで動作する。この設計を構成要素である複数のマイクロサービスに分けることで、ネットワークセキュリティシステム1300は、必要に応じてこれらの機能のいずれかをスケールアウトする能力を有する。いくつかの実施形態におけるこのスケールアウト能力によって、利用可能な追加のハードウェアを用いることが可能になる。
例示するように、ネットワークセキュリティシステム1300を構成するマイクロサービス1301〜1338は、まとめて単一のエンティティにグループ化され、仮想シャーシ1301として識別される。1つの実施形態において、マイクロサービス1304〜1332は、単一の環境(データセンター、プライベートクラウド、又はパブリッククラウド)に配置される。いくつかの実施形態において、仮想シャーシ1301及びマイクロサービス1304〜1332は、単一のサーバ、コンピュータ、又はラックマウントシステムに収容される。いくつかの実施形態において、仮想シャーシ1301及びマイクロサービス1304〜1330は、複数のハードウェア環境に収容される。その上さらなる実施形態において、仮想シャーシ1301及びマイクロサービス1304〜1332は、地理的に異なった環境に収容される。
動作に際しては、ネットワークセキュリティシステム1300が、ネットワークセキュリティをデータセンター1342に提供する。第1の実施形態において、ネットワークセキュリティシステム1300がデータセンターのEast/Westデプロイメントでデプロイされる。この場合、ネットワークセキュリティシステム1300は、データセンター(仮想化された計算を備える)にデプロイされ、トラフィックを検査して当該トラフィックにポリシーを守らせる。ここで、フローの送信元及び宛先は両方ともデータセンター内に配置されている。第2の実施形態において、ネットワークセキュリティシステムがデータセンターのNorth/Southデプロイメントでデプロイされる。この場合、ネットワークセキュリティシステムはデータセンターにデプロイされ、トラフィックを検査して当該トラフィックにポリシーを守らせる。ここで、フローの送信元又は宛先のいずれかは(両方ではない)データセンターの外部に配置されている。第3の実施形態において、ネットワークセキュリティシステムがパブリッククラウドのデプロイメントでデプロイされる。この場合、ネットワークセキュリティシステムはパブリッククラウドにデプロイされ、当該クラウド内の特定のテナントのパーティションに入るトラフィック又はそこを出るトラフィックのいずれかを検査して当該トラフィックにポリシーを守らせる。さらに第4の代替実施形態において、ネットワークセキュリティシステムが、これらの代替形態のうち1つ又は複数の組み合わせに従ってデプロイされる。
さらに、オペレーション中に、1つの実施形態において、マイクロサービス1302〜1338のいずれかのスケールアウト及びスケールイン機能が、リソース消費ポリシーに従って、他のマイクロサービスとは無関係に使われる。具体的には、1つの実施形態における各マイクロサービスは、各マイクロサービスが処理しているデータパケットの数、各マイクロサービスが担当しているリクエストの数、各マイクロサービスの内部キューの深さ、又は他の手段といった形態で、各マイクロサービスが処理しているトラフィックの量を監視する。1つの実施形態において、各マイクロサービスはそれぞれの負荷統計値をスケーラー1314に転送し、スケーラー1314は新規のマイクロサービスをインスタンス化するのか又は古い方のマイクロサービスを停止するのかを判定する。
1つの実施形態において、シャーシコントローラ1316はマイクロサービス1302〜1338を管理する。具体的には、1つの実施形態においてシャーシコントローラ1316はスケーラー1314から提案を受け取り、様々なマイクロサービスをスケールアウトするのか又はスケールインするのかを判定する。1つの実施形態において、マイクロサービス1302〜1338を管理することは、物理シャーシと同じように、シャーシコントローラ1316を単一のエンティティとして管理することで簡略化される。1つの実施形態において、シャーシコントローラ1316は、1つ又は複数のマイクロサービス1302〜1338に適用される一般リソース制御ポリシーでプログラムされる。したがって、1つの実施形態において、機器が非常に大きくなったとしても、又は機器が複数の環境に広がったとしても、又は機器が複数の地理的位置に広がったとしても、シャーシコントローラ1316は単一で存在し、ネットワーク管理者がアクセスするための管理インタフェースを提供する。
1つの実施形態において、マイクロサービス1302〜1338は組み込み冗長性を提供するが、その理由は、マイクロサービスのそれぞれ個々のインスタンスが同じマイクロサービスの追加のインスタンスによって支えられているからである。単一のインスタンスが働かなくなった場合、その他のマイクロサービスが動作を続け、その間に代替品が立ち上げられる。所与のマイクロサービスのより多くのインスタンスをプロビジョニングして、n+1冗長性を提供することも可能である。
1つの実施形態において、セキュリティ制御マイクロサービスの新規のインスタンス、既存のマイクロサービス用の新規のセキュリティポリシー、又はセキュリティマイクロサービスの新規タイプを追加することは、新規ハードウェアの追加又は既存ハードウェアの変更を必要とせずに行われる。具体的には、そのような実施形態において、セキュリティ制御マイクロサービスの新規のインスタンスが、仮想シャーシ1316のマイクロサービスをホストするコンピュータハードウェアに既存のマイクロサービスの別のインスタンスをインスタンス化することによって作成される。こうして、新規タイプのマイクロサービスが、ネットワークセキュリティシステム1300の性能に大きな影響を与えることなく、シャーシコントローラ1316によってデプロイされる。
図14は、一実施形態によるネットワークセキュリティシステムを例示するブロック図である。例示するように、ネットワークセキュリティシステムは、管理プレーン1402と、データパスプレーン1404と、バックプレーン1406とを含む。図14は、ネットワークセキュリティシステムの論理システムアーキテクチャを例示しており、その各コンポーネントはコンピューティングハードウェアによって実装される。
ネットワークセキュリティシステムは、ネットワークセキュリティ機器を分解したマイクロサービスに基づくアーキテクチャを用い、ネットワークセキュリティシステムを一連の構成要素に分け、それぞれはマイクロサービスとして実装される。
管理プレーン1402は、マイクロサービス1408、1410、1412、1414、1416、1418、1420、1422、及び1424を含み、それぞれはコンピュータシステムにデプロイされた仮想マシン又はコンテナとして実装される。
図14に例示するように、管理プレーン1402はファクトリ1410を利用する。ファクトリ1410は、インフラストラクチャディスカバリマイクロサービス1412と、スケーラーマイクロサービス1414と、シャーシコントローラマイクロサービス1416とを有する。いくつかの実施形態において、管理プレーン1402は、ファクトリモデルに従って規定されるマイクロサービス仮想化環境を利用する。構造レベルでは、ホスティング環境はサーバ及びコンピューティングデバイスを含む。いくつかの実施形態において、ホスティング環境は一箇所に位置しているが、他の実施形態では、ホスティング環境は様々な場所に分散している。他の実施形態において、ホスティング環境はサードパーティのインフラストラクチャサプライヤを含む。論理レベルでは、ホスティング環境は複数のファクトリに分割される。ファクトリは、1つ又は複数の仮想プロセッサ、仮想メモリ、及び仮想ストレージで構成された仮想化プラットフォームである。ファクトリは、マイクロサービスの商品化を可能にし、そのことによって多岐にわたるマイクロサービスが提供されて他のマイクロサービスと区別なく動作することを可能にし、サードパーティのインフラストラクチャサプライヤからのマイクロサービスを含む。
いくつかの実施形態におけるコンフィギュレーションマイクロサービス1408、シャーシコントローラ1416、スケーラー1414、コンパイラ1424、及びインフラストラクチャディスカバリマイクロサービス1412は、図13に例示され図13に関して論じられ、同様の名前が付けられ、同様の番号が付けられた、対応するマイクロサービスと同様に動作する。
例示するように、データパスプレーン1404のセグメントマイクロサービス1432は、インタフェース1428を介してデータセンターと結合する。図示するように、データパスプレーン1404は、マイクロサービス1434、1436、1438、1440、及び1442を含み、トラフィックの様々な側面を検査して様々な脅威に注目しており、またインタフェース1444を介してバックプレーン1406と通信する。データパスサービスによって検知される特定の脅威は当業者が認識しているので、網羅的なリストはここで提供しない。以下の表2は、ネットワークセキュリティシステムのデータパスマイクロサービスが関係しているセキュリティの脅威の例を列挙している。これらの脅威及び他の潜在的な脅威を防ぐために、セキュリティポリシーが図14の各マイクロサービスにロードされる。セキュリティポリシーの受け取り、変換、コンパイル、及び配布は、例えば、以下の図18に関して例示される。さらに、ポリシー更新クラウド1430のサポートに取り組む専門家チームが、識別された最新の脅威シグネチャ、疑わしいTCP/IP 5−タプルマルウェア、及び脅威挙動に従って最新情報をセキュリティポリシーに提供する。一実施形態において、更新されたセキュリティポリシーが、コンパイラ1424によって自動的にロードされ、一般的なネットワークセキュリティシステムの言語に変換され、バイナリデータにコンパイルされ、各マイクロサービスに配布される。こうしたことは、例えば、以下の図18に関して例示され説明される。マイクロサービスの既存セキュリティポリシーをシステムの電源を切ることなくアップグレードすることが、以下の図25に例示される。
データベース1418(図14)は、図15にさらに例示するように、マイクロサービスが用いるデータを格納する。1つの実施形態において、データベース1418は、マイクロサービスが必要に応じて読み出すために、最近使用され更新されたセキュリティポリシーを保管している。いくつかの実施形態におけるデータベース1418は、1つ又は複数のマイクロサービスの状態情報を保持し、当該マイクロサービスが故障から回復し、自身の状態を必要なときに再設定することを可能にする。いくつかの実施形態におけるデータベース1418は検索可能なデータベースを含み、ネットワークトラフィックから抽出されたオブジェクトを保管し、これらのオブジェクトの検索を可能にする。一実施形態において、データベース1418は、データベースエントリをフロー識別子と関連付けて、同じフローに関連したデータを共に関連付ける。本明細書で使用されるとき、ストリームコンテキストという用語は、中に含まれる特性にもかかわらず、フローを一意に識別するのに用いられる追加フィールドのことを指す。一実施形態において、ポリシーが当該追加フィールドから抽出される。データベース1418は、1つの実施形態において、認証されたマイクロサービス用の識別子を保持するキーバリューペアを保管した高性能な小型データベースであるキーバリューストア1508を含み、なりすましを検知する。
図15は、いくつかの実施形態によるマイクロサービスをサポートするのに用いられる複数の異なるデータベースタイプを例示している。特定の状況に用いる特定のデータベースタイプの選択は、データベースの所望の速さ及び機能に従って選択される。例示するように、データベース1500は、SQLデータベース1502、NoSQLデータベース1504、検索可能なデータベース1506、及びキーバリューストア1508を含む。いくつかの実施形態におけるSQLデータベース1502、NoSQLデータベース1504、及び検索可能なデータベース1506は、様々なネットワークセキュリティマイクロサービスによって用いられているファイル、中間データ、抽出されたオブジェクト、又は部分的に抽出されたオブジェクトを保管する。データベースの数及びタイプは、そのように限定されるものではなく、異なる実施形態がより多くの又はより少ないデータベースを用いる。異なる実施形態が異なるタイプのデータベースを用いる。
一実施形態におけるSQLデータベース1502は、リレーショナルデータベース管理システム(RDBMS)を実装する。
NoSQLデータベース1504は、自身の特定の性能又は使いやすい特徴に従って選択される。一実施形態において、NoSQLデータベース1504はキーバリューストアを提供し、これにより、マイクロサービスがレコードデータを取得するのに用いるキーによって、レコードにインデックスが設けられる。いくつかの実施形態において、NoSQLデータベース1504は、カウンターをインクリメントするなどのアトミック操作を可能にする。一実施形態によれば、NoSQLデータベース1504は、世代数(データ変更)を追跡するためにメタデータも含んだレコードと、読み出しオペレーション中にマイクロサービスに返す数字とを含み、書き込まれるデータが最後に読み出してから変更されていなかったことを保証するのに用いられ得る。いくつかの実施形態において、NoSQLデータベース1504は負荷分散機能を含み、データベースリクエストを複数のデータベースインスタンスに分散させる。
一実施形態における検索可能なデータベース1506は、抽出されたネットワークファイルに対して文字認識を行い、これらのネットワークファイルが検索可能なデータベースで検索されることを可能にする。いくつかの実施形態において、検索可能なデータベース1506は、ネットワークデータを、実質的にリアルタイムで閲覧し分析するのに利用できるようにする。一実施形態において、検索可能なデータベース1506はスケーラブルであり、追加のデータベースノードを自動的にインスタンス化して、トラフィック負荷の増加に対応することができる。いくつかの実施形態において、検索可能なデータベース1506は、追加のコンピューティングリソースが利用可能になるように、水平方向にスケーリングしてこれらのコンピューティングリソースを活用する。一実施形態において、検索可能なデータベース1506は、自身のハードウェアノードのうち1つ又は複数が故障した場合、残りの1つ又は複数の利用可能なノードを認識して、それらのノードの間でデータを再分散することによって対応する。
キーバリューストア1508は、マイクロサービスを認証する識別子への高速アクセスを提供し、なりすましを検知するキーバリューペアを保持している。
一実施形態において、データベース1502〜1508のうちいずれか1つ又は複数が、フォールトトレランスをサポートする冗長性を含む。いくつかの実施形態において、データベース1502〜1508のうちいずれか1つ又は複数が、性能要件を満たすために動的にスケールアウト又はスケールインすることを可能にする。一実施形態において、データベース1502〜1508のうちいずれか1つ又は複数が、削除されるか又は用いられない。いくつかの実施形態において、データベース1502〜1508のうち1つ又は複数を用いる代わりに、レジスタファイル、フラッシュメモリ、スタティックRAM又はダイナミックRAMなどのメモリが、そのようなデータを格納するのに用いられる。データベース1502〜1508は、他のマイクロサービスと同様に、複数のマイクロサービスで構成され、マイクロサービスアーキテクチャに従って実装され、デプロイされる。
再度図14を参照すると、1つの実施形態におけるメッセンジャー1420は、ポリシー最新情報を含むメッセージをコンパイラ1424及びシャーシコントローラ1416から受け取って格納する。1つの実施形態における関係のあるマイクロサービスが、ポリシー最新情報を含むメッセージをメッセンジャー1420から受け取るためにサブスクライブする。いくつかの実施形態において、リソースグループとは、リソースグループへのポリシーの義務付けと呼ばれることがあるプロセスによってポリシーをサブスクライブする、インフラストラクチャからのオブジェクトの集合である。いくつかの実施形態において、マイクロサービスプールとは、ポリシー及びコンフィギュレーションからなる一般的なセットを有するマイクロサービスの集合である。次に、メッセンジャー1420は、サブスクライブするマイクロサービスにポリシー最新情報をパブリッシュする。1つの実施形態におけるメッセンジャー1420は、サブスクライブするマイクロサービスにポリシー最新情報を一定の時間間隔でパブリッシュする。いくつかの実施形態において、メッセンジャー1420は、新規又は更新済みのポリシーをコンパイラ1424から受け取ると、サブスクライブするマイクロサービスにポリシーをパブリッシュする。いくつかの実施形態において、メッセンジャー1420からのパブリケーションをサブスクライブする代わりに、ポリシー最新情報に関係するマイクロサービスが、メッセンジャー1420、コンパイラ1424、又はデータベース1502〜1508のうち1つ又は複数をポーリングして、最新情報の存在を検知する。ポリシー最新情報に関係するマイクロサービスは、例えば、脅威を識別するTCP/IP 5−タプルを含むポリシー最新情報を受け取ることに関係があるTCP/IPマイクロサービス1434などのデータパスマイクロサービスを含む。1つの実施形態におけるインフラストラクチャディスカバリマイクロサービス1412は、インタフェース1426を介してデータセンターのディスカバリを行う。1つの実施形態におけるインフラストラクチャディスカバリマイクロサービス1412は、新規のセキュリティポリシーをメッセンジャー1420から受け取る。セキュリティポリシーはまだ新しいので、ユーザも企業用ソフトウェアもこのセキュリティポリシーを有効にする機会を持ったことがない。したがって、インフラストラクチャディスカバリマイクロサービス1412は、接続1448を介してコンフィギュレーションマイクロサービス1408に、新規のセキュリティポリシーをユーザ又は企業用ソフトウェアに提案させる。一実施形態において、ディスカバリマイクロサービスは、コンフィギュレーションマイクロサービス1408に、ユーザが任意のポリシー更新情報を更新することを提案させる。
図16は、一実施形態に従って、管理プレーンからネットワークセキュリティシステムの複数のマイクロサービスのうち1つ又は複数に送られる制御パケットを例示するブロック図である。本明細書で使用されるとき、マイクロサービスの特性は、ポリシーに応じて変更可能である。例えば、DPIマイクロサービスは、例をいくつか挙げると、脅威検知、URL分類、又はアプリケーション識別用のエンジンになり得る。本明細書で使用されるとき、アプリケーション挙動プロファイルは、アプリケーションによって示される典型的な挙動を規定し、異常を抽出するのに用いられる。例示し且つ上述したように、いくつかの実施形態におけるネットワークセキュリティシステムは、データセンターに組み込まれる。ここで、ネットワークセキュリティシステムは、データセンターのいくつかの仮想環境に組み込まれる。具体的には、NetXエージェント1612AがVMware(ESX)ハイパーバイザ1614Aによって管理され、SDNエージェント1612BがOpenStack(KVM)1614Bによって管理され、WFPエージェント1612CがMicrosoft(Hyper−V)1614Cによって管理され、NAT1612DがAmazon(EC−2)1614Dによって管理され、ACIエージェント1612EがCisco(ACI)1614Eによって管理され、ネットワークエージェント1612Fがベアメタル1614Fによって管理される。例示されたネットワークセキュリティシステムは、2つの仮想シャーシ1608及び1609を含む。一実施形態における管理プレーン1602は、仮想シャーシ1608及び1609並びにデータセンターの仮想環境1614A〜1614Fと制御パケットをやり取りする。
一実施形態によれば、ネットワークセキュリティシステムは、既存の仮想システム及び物理システムと対話形式でやり取りするようにそれぞれがカスタマイズされた複数のセグメントマイクロサービスを提供する。ここで、特別に設計されたセグメントマイクロサービス1610Aが、VMware(ESX)1614A及びNetXエージェント1612Aと対話形式でやり取りし、特別に設計されたセグメントマイクロサービス1610Bが、SDN1612B及びKVM1614Bと対話形式でやり取りするように設計され、特別に設計されたセグメントマイクロサービス1610Cが、WFP1612C及びHyper−V1614Cと対話形式でやり取りするように設計され、特別に設計されたセグメントマイクロサービス1610Dが、NAT1612D及びAmazon(EC−2)1614Dと対話形式でやり取りするように設計され、特別に設計されたセグメントマイクロサービス1610Eが、ACI1612E及びCisco(ACI)1614Eと対話形式でやり取りするように設計され、特別に設計されたセグメントマイクロサービス1610Fが、ベアメタル1614Fで動作するネットワークエージェント1612Fと対話形式でやり取りするように設計される。動作に際しては、ネットワークセキュリティシステムがインラインでデプロイされている場合、特別に設計されたセグメントマイクロサービス1610A〜1610Fのそれぞれが、パケットを捕捉し、これらのパケットをデータパスマイクロサービスを通じてルーティングし、次にこれらのパケットを対応するデータセンター環境に転送するように構成される。「コピーのみ」のコンフィギュレーションでデプロイされている場合、ネットワークセキュリティシステムはトラフィックを監視し、どんな脅威でも検知されるか又は疑われる場合にはアラートを発する。
例示するように、管理プレーン1602は、仮想シャーシ1(1608)及び仮想シャーシ2(1609)内の複数のマイクロサービスのうちの少なくとも1つ、並びにデータセンター環境1610A〜−F、1612A〜F、及び1614A〜Fのうちの少なくとも1つに制御メッセージを伝える。したがって、ネットワークセキュリティシステムの管理プレーン1602は、コンフィギュレーション中にそうすることが有効である場合、管理プレーン1602のデプロイメント前に配置されたものであっても、任意のデータセンター環境に制御メッセージを送る。動作に際しては、いくつかの実施形態においてセグメントマイクロサービス1610A−Fによって捕捉されたトラフィックが、仮想シャーシ1(1608)又は仮想シャーシ2(1609)のデータセキュリティマイクロサービスに転送される。仮想シャーシ1(1608)又は仮想シャーシ2(1609)は、脅威を検知した場合、関連するデータセンター環境に通知する。いくつかの実施形態におけるそのようなシナリオでは、管理プレーン1602が「停止」メッセージを関連するデータセンター環境に送る。代替実施形態において、そのようなシナリオでは、管理プレーン1602がハイパーバイザ1614A〜1614Fのうち1つ又は複数に命令して、自身の関連するマイクロサービスをリブート又は再起動させる。
図17は、一実施形態に従って、脅威イベントへのネットワークセキュリティシステムの対応を例示するブロックフロー図である。例示するように、数字「1」で示されるセキュリティの脅威が仮想シャーシ2(1709)のあるマイクロサービスによって検知される。この脅威は、数字「1」で示される矢印を経てイベント結果BigDB1718に転送され、そこに格納される。この脅威は次に、ラベル「2」で示される矢印を経て管理プレーン1702に転送される。管理プレーン1702は次に、自身のセキュリティポリシーを確認して、検知された脅威への対応として、ネットワークセキュリティシステムの1つ又は複数のマイクロサービスを停止して再起動するために、「4」とラベルが付いた矢印を経てオーケストレータ1720に通知することを要求するかどうかを判定する。オーケストレータ1720は、「5」とラベルが付いた矢印を経て、1710A〜F、1712A〜F、及び1714A〜Fの中の1つ又は複数のマイクロサービスの停止及び再起動を要求することで対応する。管理プレーン1702は、いくつかの実施形態において、「3」とラベルが付いた矢印を経て、1710A〜F、1712A〜F、及び1714A〜F並びに仮想シャーシ1(1708)及び仮想シャーシ2(1709)のマイクロサービスの中の少なくとも1つのマイクロサービスを停止、再起動、又は別の状況では変更することによって、検知された脅威に対応する。
図18は、一実施形態に従って、セキュリティポリシーを受け取り、セキュリティポリシーをセキュリティ言語に変換し、セキュリティポリシーをバイナリにコンパイルし、セキュリティポリシーを各マイクロサービスにロードすることを例示するフロー図である。例示するように、ネットワークセキュリティシステムは、ACL1802(アクセス制御リスト:TCP/IP N−タプルに基づくシグネチャ)、URL1804(ユニフォームリソースロケータ)、AppID1806(アプリケーションID)、IPRep1808(インターネットプロトコル表現)、ファイルRep1810(ファイル表現)、エクスプロイトシグネチャ1812、及びポリシー1814Aを含む新規又は更新済みのセキュリティポリシーを受け取る。いくつかの実施形態において、ネットワークセキュリティシステム1800は、異なるメッセージ形式のメッセージを受け取って変換するようにカスタマイズされた変換器1814B〜1814Gを提供する。変換器1814B〜Gは、入ってくるシグネチャをSLコンパイラ1818が理解できる共通言語に変換する。SLコンパイラ1818は、マイクロサービス1828〜1838が理解できるバイナリ表現又は他の表現にシグネチャをコンパイルする。いくつかの実施形態において、新規又は更新済みのシグネチャは、コンパイルされると、メッセンジャー1420(図14)などのメッセンジャーに配置されて、関係のあるマイクロサービスによって消費される。いくつかの実施形態において、SLコンパイラ1818は、メッセンジャー1420(図14)などのメッセンジャーを迂回して、新規又は更新済みのポリシーを関係のあるマイクロサービスに直接パブリッシュする。いくつかの実施形態において、新規又は更新済みのシグネチャは、コンパイルされると、データベース1418(図14)などのデータベースに配置される。
図19は、一実施形態に従って、サードパーティのセキュリティツールとインタフェースで接続したネットワークセキュリティシステムを例示するブロック図である。例示するように、ネットワークセキュリティシステムは、管理プレーン1902と、バックプレーン1906と、データパスプレーン1904とを含む。例示するように、管理プレーン1902は、インフラストラクチャディスカバリマイクロサービス1912と、スケーラーマイクロサービス1914と、シャーシコントローラマイクロサービス1916とを含むファクトリ1910、及びデータベース1918を利用する。いくつかの実施形態において、ファクトリ1910は、上述したように、ファクトリモデルに従って規定されたマイクロサービス仮想化環境を有する。管理プレーン1902は、コンフィギュレーションマイクロサービス1908も含み、これはいくつかの実施形態において、図14に関して例示され説明されたコンフィギュレーションマイクロサービス1408と同様に機能する。例示するように、管理プレーン1902及びデータパスプレーン1904は、データセンターと通信するためのインタフェース1926及び1928を含む。
データパスプレーン1904は、例示するように、セグメントマイクロサービス1932、TCP/IPマイクロサービス1934、SSLマイクロサービス1936、DPIマイクロサービス1938、NOXマイクロサービス1940、及びDLPマイクロサービス1942を含む。これらのマイクロサービスは図14に関して上述されたので、その説明はここで繰り返さない。図19は、サードパーティのスレットインテリジェンスツール1944、サンドボックス1946、及びダイナミックスレットインテリジェンス1948を例示している。一実施形態において、サードパーティのスレットインテリジェンスツール1944は、DPIマイクロサービス1938、NOXマイクロサービス1940、又はDLPマイクロサービス1942から、これらのマイクロサービスのいずれかが、あるファイルタイプ、ファイルコンテンツ、シグネチャ、TCP/IPの5−タプル特性、疑わしいバイナリ、又は疑わしいコードシーケンスに遭遇したがどのセキュリティポリシーにも認識されていない場合に、電子通信リンクを介して連絡を受ける。そのような状況において、データパスプレーン1904は、データを分析のためにサードパーティのスレットインテリジェンスツール1944に転送する。
一実施形態において、サードパーティのインテリジェンスツール1944は、通信リンクを提供し、データパスプレーン1904がサードパーティのインテリジェンスツール1944と通信するのに用いるAPIを規定する。いくつかの実施形態において、サードパーティのスレットインテリジェンスツール1944は、サードパーティのスレットインテリジェンスツール1944が認識している脅威と一致する、サードパーティのスレットインテリジェンスツール1944が認識している挙動パターンと、転送されたデータとを比較する。一実施形態において、サードパーティのスレットインテリジェンスツール1944は、サードパーティの脅威情報を定期的にやり取りするネットワークセキュリティツール及びサービスのグローバルネットワークと関連している。例示された実施形態において、サードパーティのスレットインテリジェンスツール1944は、4つの仮想マシンをインスタンス化して4つのオペレーティングシステムを動作させ、これらの仮想マシンはハイパーバイザによって管理される。
次に、サードパーティのスレットインテリジェンスツール1944が脅威を検知して解決した場合、サードパーティのスレットインテリジェンスツール1944は、この新たな脅威を取り扱う新規のセキュリティポリシーをダイナミックスレットインテリジェンス1948に通知する。1つの実施形態において、ダイナミックスレットインテリジェンス1948は、更新情報を受け取って当該更新情報をセキュリティマイクロサービスにパブリッシュする有人又は自動化されたセキュリティオフィスで構成される。一実施形態において、ダイナミックスレットインテリジェンス1948は次に、更新されたセキュリティポリシーをSLコンパイラ1950に転送し、SLコンパイラ1950は、一実施形態において、図18に関して説明されたように、ポリシーフィードを共通言語に変換し、変換されたポリシーフィードをバイナリにコンパイルして、コンパイルされたポリシーフィードをマイクロサービスに配布させる。
いくつかの実施形態において、サンドボックス1946は、DPIマイクロサービス1938、NOXマイクロサービス1940、又はDLPマイクロサービス1942が、疑わしいがどのセキュリティポリシーにも認識されていないファイルタイプ、シグネチャ、TCP/IPの5−タプル特性、バイナリ、又はコードシーケンスに遭遇した場合に連絡を受ける。そのようなシナリオにおいて、疑わしいが認識されていないデータ及びパケットがサンドボックス1946に転送され、ここで、未検証のサードパーティやサプライヤ、信頼できないユーザ、及び信頼できないURLからの、未検査のコード又は信頼できないプログラムが検査を受ける。サンドボックス1946で分かったことは何であれ、ダイナミックスレットインテリジェンス1948に提供され、その後SLコンパイラ1950に提供される。SLコンパイラ1950は、一実施形態において、図18に関して説明されたように、ポリシーフィードを共通言語に変換し、変換されたポリシーフィードをバイナリにコンパイルして、コンパイルされたポリシーフィードをマイクロサービスに配布させる。
図20は、一実施形態に従って、データパケットのマイクロサービスキューへのロードスタックを例示するフロー図である。いくつかの実施形態が、コンテキストに基づく負荷のロードスタックを行う。ロードスタックは、複数のマイクロサービスの間で負荷を分散する手法のことを指す。セグメントマイクロサービス2032、TCP/IPマイクロサービス2034A〜Bという2つのインスタンス、DPIマイクロサービス2036A〜Dという4つのインスタンスが例示されている。DPIデータキュー2040A〜Dに注目すると、各DPIマイクロサービスは、データを保持するための4つの「バケット」又は「スロット」を含むキューを持っている。合計16個のバケットが2010としてラベル付けされている。一実施形態において、入ってくるデータパケット2012が、利用できる第1のマイクロサービスキューにロードスタックされる。本明細書で使用されるとき、ロードスタックとは、パケットを第2のキューにロードする前に、第1のキューに閾値レベルまで積み上げることを指す。ロードスタックには、未使用のマイクロサービスの電源を切って節電するように、使用されるマイクロサービスの数を最小限に抑えるという利点がある。ロードスタックには、マイクロサービスのスケールアウトをサポートするのに利用できる実質的に空のキューがあるという利点もある。いくつかの実施形態において、入ってくる4つのパケットが、4つ全てのマイクロサービスキューに均等に分散されることでバランスを保つ。負荷分散手法によって、ネットワークセキュリティシステムがより低い性能のマイクロサービスで済ますことが可能になる。
図21は、一実施形態によるシステム内データ通信を例示するブロック図である。例示するように、データセンターは、4つの仮想ネットワークインタフェースカードである2104A〜Dに分割されており、様々なマイクロサービスである2102、2104A〜D、2106、2108、2110、2112、2114、2116、2118、2120、2122、2124、2126、及び2128を含む。一実施形態において、一実施形態における仮想ラインカード間の通信は直接的ではなく、通信は最初にバックプレーン2102に行き、次に宛先ラインカードに行く。図21は、3つの通信パス、すなわち、2106を中継点として利用したVM1(2102)からセグメントマイクロサービス2108までのパス、2106を中継点として利用したセグメントマイクロサービス2108からDPI2118までのパス、及び2106を中継点として利用したDPI2118からVM3(2112)までのパスを例示している。他の実施形態において、ある管理マイクロサービスから別の管理マイクロサービスへの通信はどれも、バックプレーン2106を中継点として利用した、この同じ2段階プロセスを用いる。
図22は、一実施形態に従って、ネットワークセキュリティをデータセンターに提供するためにインストールするマイクロサービスの選択プロセスを例示するフロー図である。例示するように、開始した後に2202で、仮想マシン(VM)がインターネット又はコンピュータ可読媒体からダウンロードされ、次いでインストールされ、起動される。2204で、ファクトリ1410(図14)などのファクトリがインスタンス化され、管理プレーン1402(図14)などの管理プレーン、バックプレーン1406(図14)などのバックプレーン、及びデータベースマイクロサービス1418(図14)などのデータベースマイクロサービスが同様にインスタンス化される。2204の後に、これらのマイクロサービスは、個別ではなく、集合体として連絡を受ける。次に、2206で、ディスカバリマイクロサービス1422(図14)などのディスカバリマイクロサービスが、データセンター830(図8)などのデータセンターに接続してディスカバリを行う。この状態でのディスカバリは、セキュリティサービスのデプロイメントの候補であるネットワーク及びサーバを識別することと、これらの要素の間の接続をマッピングすることとで構成される。2208で、コンフィギュレーションマイクロサービス1408(図14)などのコンフィギュレーションマイクロサービスが、ユーザインタフェースを用いるか、又はRESTfulな命令を企業用ソフトウェアから受け取って、所望のマイクロサービスを選択する。2210で、選択されたセグメントマイクロサービス及び様々なデータパスマイクロサービスがインスタンス化される。2211で、ポリシーがコンパイルされ、キー/バリューストア型データベースに配布される。2212で、ポリシーは、マイクロサービスが自動的にインスタンス化されスケーリングされるということであり、複数のポリシーがインストールイメージなどの最新のソース、製品ウェブサイト若しくはアプリケーションストア、又は他の場所から取得される。図22には図示されていないが、2212がマイクロサービスをそのセキュリティポリシーで構成するように実行されるので、ネットワークセキュリティシステムもキーバリューストア1508(図15)を更新して、暗号化通信に用いられる全てのキーをセキュアに格納し、これらのキーへの高速アクセスを提供する。2213で、脅威ポリシーがコンフィギュレーションマイクロサービスによってコンパイルされ、全てのマイクロサービスに配布される。最後に2214で、標準的な検査オペレーションが始まり継続する。
ネットワークセキュリティシステムのマイクロサービスをインストールし、構成し、実行するプロセスを完了した後に、コンパイラマイクロサービス1418(図14)は、1つの実施形態において、更新済みポリシー又は新規のマイクロサービスが存在するかどうかポリシー更新クラウド1430(図14)を定期的に確認する。いくつかの実施形態において、ポリシー更新クラウド1430(図14)は、新規のポリシー又は新規のマイクロサービスをコンパイラマイクロサービス1418(図14)にプッシュする。いずれの場合でも、ネットワークセキュリティシステムは、自身のマイクロサービスを更新する。このことは、図25を参照して以下に例示され、説明される。
図23は、デプロイメント仕様に従って、ネットワークセキュリティシステムをインストールして構成し、ネットワークセキュリティをデータセンターに提供するプロセスの一実施形態を例示するフロー図である。本明細書で使用されるとき、デプロイメント仕様は、マイクロサービスをインスタンス化するためのパラメータ(場所、データストア、ネットワークなど)を規定する。2302で、仮想マシンがダウンロードされ、ハイパーバイザにデプロイされ、起動し、自身のユーザインタフェースがアクセスされる。2304で、データセンターの仮想化環境に対する認証情報がVMに提供される。2306で、インフラストラクチャディスカバリサービス1312(図13)などのインフラストラクチャディスカバリマイクロサービスが、データセンターを探索し、ネットワーク、ホスト、VM、及びデータストアを識別する。ディスカバリマイクロサービス1312(図13)によって発見されたプロファイルによって、コンフィギュレーションマイクロサービス1314(図13)がデプロイメントオプションを提案し、マイクロサービスを構成することが可能になる。本明細書で使用されるとき、マイクロサービスのコンフィギュレーションは、マイクロサービスの挙動をポリシーから独立して規定する一組の可変データを規定する。提案されたデプロイメントオプションは、任意の利用可能な新規のセキュリティポリシー及び利用可能なマイクロサービスタイプも含む。2308で、マイクロサービスデプロイメント仕様が作成される。この仕様には、マイクロサービスをどこにどれだけデプロイするかを指定することが含まれる。一実施形態において、マイクロサービスデプロイメント仕様は、仕様を確認して提案されたマイクロサービスアップグレードを受け入れるユーザインタフェース又は企業用ソフトウェアに伝達される。ユーザ又は企業用ソフトウェアは、マイクロサービスをどこにどれだけデプロイするかに関する制約の遵守を含めた、デプロイメント仕様の管理を行う。2310で、セキュリティグループが作成され、セキュリティポリシーと関連付けられる。2312で、マイクロサービスは自動的にスケーリングされる。次に、マイクロサービスはセキュリティ結果の保護及び抽出を開始する。2314で、結果が生成されて提供され、カスタマイズ可能応答で応答される。
図24は、一実施形態に従って、ネットワークセキュリティシステムを通るデータフローを処理するプロセスを例示するフロー図である。2402で、ネットワークセキュリティシステムは、データセンター内のVMが外部から切り離されていること、次にログインされていることを検知する。ソーシャルエンジニアリングを利用して、一実施形態における外部のハッカーが、データセンターの仮想マシンマネージャにログインする方法を見つける。2404で、SSHトラフィック(すなわち、データセンター内のリソースにアクセスするセキュアシェルコマンド)が検知される。2406で、悪性バイナリのダウンロード若しくは作成、又は悪性バイナリにコンパイルされるソースコードの作成さえも検知される。2408で、バイナリを用いて他のVMホストを調査する偵察(上記の表2を参照)が検知される。同様に、2410で、他の利用可能なホストを探すホストスイープが検知される。そのようなホストスイープは、データセンターに組み込まれているネットワークセキュリティシステムからは認識できるが、データセンターの外部からは認識できない。2412で、攻撃が検知される。この攻撃は悪性バイナリを他の利用可能なVMに横展開する企てである。ネットワークセキュリティシステムは既に2408で偵察を確認したので、誰か(ハッカー)が別の利用可能なVMを探していることが分かっている。2414で、攻撃及び関連した横展開が防止され、このことは以前に経験したことがないため、報告が生成される。さらに、複数のVMの間を動き回る未知のバイナリを観察することで、ゼロデイ攻撃が検知される。例示されるように、ネットワークセキュリティシステムは、2402、2404、2406、2408、2410、及び2412で疑わしいイベントを検知する。しかしながら、こうしたイベントのサブセットが検知された場合は、いくつかの実施形態において対応策が取られる。これがゼロデイ攻撃である。
図25は、一実施形態に従って、実行時にネットワークセキュリティシステムの電源を切ることなく、マイクロサービスセキュリティポリシーをアップグレードするプロセスを例示するフロー図である。2502で、コンパイラ(図19に要素1950として示されている)が新規のマイクロサービスを検知して、それをダウンロードする。2504で、ディスカバリマイクロサービスが、その新規のマイクロサービスをインスタンス化するようにオーケストレータに命令する。2506で、新規のマイクロサービスが顧客のデータセンターにインストールされる。2508で、セキュリティポリシーが取得され、新規のマイクロサービスに適用される。これで、新規のマイクロサービスはトラフィックに対応する準備が整う。2510で、シャーシコントローラ1416(図14)は、これまで使われていたマイクロサービスを新規のマイクロサービスに割り当てる。例えば、新規のTCP/IPマイクロサービスをインストールする場合、これまで使われていたものはセグメントマイクロサービスである。さらなる例として、新規のSSLマイクロサービスをインストールする場合、これまで使われていたものはTCP/IPマイクロサービスである。2512で、シャーシコントローラは、古い方のマイクロサービスに自身の状態を保存するように命令し、新規のマイクロサービスにその保存された状態を受け取るように命令する。2514で、これまで使われていたマイクロサービスは、自身のロードスタックアルゴリズムを調整して、パケットを新規のマイクロサービスに転送する。新規のマイクロサービスは引き続きトラフィックを受け取るが、古い方のマイクロサービスは受け取るトラフィックが次第に少なくなる。その結果、あるマイクロサービスが、残りのマイクロサービスに影響を与えることなく又は残りのマイクロサービスを必要とすることさえもなく、アップグレードされる。これによって、特定のマイクロサービスがシステムの電源を切ることなくアップグレードされることも可能になる。
図26は、一実施形態に従って、ネットワークセキュリティシステムの電源を切ることなく、負荷状態に応じてマイクロサービスを動的にスケールアウトするプロセスを例示するフロー図である。2602で、マイクロサービスが自身の負荷を監視して、その負荷をスケーラーマイクロサービスに報告する。1つの実施形態において、マイクロサービスの負荷が、これまで使われていたマイクロサービスから受け取るパケットの数を反映する。いくつかの実施形態において、マイクロサービスの負荷が、当該マイクロサービス内のデータキューの現在の深さを反映する。2604で、スケーラーマイクロサービスが、各マイクロサービスの負荷を監視して、その負荷を閾値と比較する。2606で、閾値を超えている場合には、スケーラーマイクロサービス1414(図14)は、新規のマイクロサービスにとって最適な場所を識別する。一実施形態において、新規のマイクロサービスにとって最適な場所を識別する際には、他の関連するマイクロサービス又は関連のないマイクロサービスにかかる負荷、データパスプレーン又はネットワークセキュリティシステム全体のスループット、データパスプレーンを通って移動するパケットのレイテンシ、及び機能又はリソースの可用性を考慮に入れる。ユーザ又は企業用ソフトウェアによってコンフィギュレーション中に提供されるサービス品質の要件が、例えばブロック2208(図22)で、新規のマイクロサービスをインストールするかどうか、また新規のマイクロサービスをどこにインストールするかを判定する場合に考慮される。1つの実施形態において、スケーラー1414(図14)は「消極的」ポリシーを適用し、新規のマイクロサービスをインスタンス化するのにより多くのサポートを必要とする。例えば、「消極的」ポリシーを適用する際に、スケーラー1414(図14)は、新規のマイクロサービスをインスタンス化する前に、追加のマイクロサービスの必要性を示唆する最小数の高負荷マイクロサービス、又は最小継続時間の過負荷状態、又は潜在的な障害、又は他の根拠を必要とする。いくつかの実施形態において、スケーラー1414(図14)は「積極的(vivacious)」ポリシーを適用して、追加のマイクロサービスを自由にインスタンス化し、マイクロストラクチャの負荷統計値を分析し、追加のマイクロサービスのインスタンス化に向かう傾向がある。2608で、新規のマイクロサービスインスタンスが必要であるとスケーラー1414が判定した場合、スケーラー1414は、インフラストラクチャディスカバリマイクロサービス1412(図14)に新規のマイクロサービスインスタンスをインスタンス化するよう命令する。2610で、インフラストラクチャディスカバリマイクロサービス1412(図14)が、新規のマイクロサービスを仮想化環境に通知する。本明細書で使用されるとき、保護されているデータセンターの顧客側でのマイクロサービスのインスタンス化及びデプロイメントを、仮想化環境が管理する。2612で、シードコンフィギュレーションデータが、新規のマイクロサービスが用いるために用意されるので、新規のマイクロサービスはどのデータバスを用いるか、及びどのデータベースを用いるかを認識する。2614で、新規のマイクロサービスが起動し、シードデータを利用して新規のマイクロサービス自体を構成する。2616で、制御が図25の2508に転送される。
図27は、一実施形態に従って、ネットワークセキュリティシステムとローカルに又はリモートに対話形式でやり取りするプロセスを例示するフロー図である。例示するように、プロセス2700は、ネットワークセキュリティシステムとインタフェースで接続する3つの異なる方法を試みる。2702で、ユーザインタフェースの存在を確認する。ユーザインタフェースは、顧客が対話形式でやり取りするローカルUIである。2704で、ユーザがRESTfulなAPIを用いて伝達される選択肢をUIに、そしてAPIゲートウェイに、次に他のマイクロサービスに入力する。2706で、RESTfulなAPIとやり取りするOSS(Operational Support Systems:オペレーションサポートシステム)又はBSS(Business Support Systems:ビジネスサポートシステム)ソフトウェアの存在が判定される。2708で、OSS/BSSソフトウェアはRESTfulな通信を用いて、所望のコンフィギュレーションをRESTfulなAPIに、次にAPIゲートウェイに、次いで他のマイクロサービスに提供する。2710で、コマンドラインインタフェース(CLI)の存在が判定される。2712で、CLIコマンドが用意され、RESTfulなAPIに、次にAPIゲートウェイに、次いで他のマイクロサービスに送られる。
前述の明細書には、特定の代表的な実施形態が開示されている。しかしながら、添付の特許請求の範囲に記載されるような本発明の広範な意図及び範囲から逸脱することなく、様々な修正及び変更がこれらの実施形態に施され得ることは明らかである。したがって、本明細書及び図面は、限定的な意味ではなく、例示的なものとみなされることになる。
本明細書に開示されたいくつかの実施形態は、ハードウェア実行ユニット及び論理回路の文脈で、データ処理及びデータ配布を含むが、他の実施形態は、マシンによって実行された場合に少なくとも1つの実施形態に適合した機能をマシンに実行させる、非一時的な有形のマシン可読媒体に格納されたデータ又は命令によって実現され得る。1つの実施形態において、本開示の実施形態と関連する機能がマシン実行可能命令で具現化される。これらの命令は、当該命令でプログラムされた汎用プロセッサ又は専用プロセッサに、少なくとも1つの実施形態の各段階を実行させるのに用いられ得る。本発明の実施形態は、コンピュータ(又は、他の電子デバイス)をプログラムして、少なくとも1つの実施形態による1つ又は複数のオペレーションを実行するのに用いられ得る命令を格納したマシン可読媒体又はコンピュータ可読媒体を含み得る、コンピュータプログラム製品又はソフトウェアとして提供され得る。あるいは、これらの実施形態の各段階は、これらの段階を実行するための固定機能ロジックを含む特定のハードウェアコンポーネントによって、又はプログラムされたコンピュータコンポーネントと固定機能ハードウェアコンポーネントとの任意の組み合わせによって実行されてもよい。
回路をプログラムして少なくとも1つの実施形態を実行するのに用いられる命令は、DRAM、キャッシュ、フラッシュメモリ、又は他の記憶装置などの、システム内のメモリに格納され得る。さらに、これらの命令は、ネットワークを介して、又は他のコンピュータ可読媒体によって配布され得る。したがって、コンピュータ可読媒体は、マシン(例えばコンピュータ)が可読な形態で情報を格納又は伝送するための任意のメカニズムを含んでよく、限定されないが、フロッピー(登録商標)ディスケット、光ディスク、コンパクトディスクリードオンリメモリ(CD−ROM)、光磁気ディスク、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、消去可能プログラム可能型リードオンリメモリ(EPROM)、電気的消去可能プログラム可能型リードオンリメモリ(EEPROM)、磁気カード若しくは光カード、フラッシュメモリ、又は電気的、光学的、音響的、若しくは他の形態の伝搬信号(例えば、搬送波、赤外線信号、デジタル信号など)によってインターネットを介して情報を伝送するのに用いられる有形のマシン可読記憶装置などである。したがって、非一時的コンピュータ可読媒体は、電子命令又は情報をマシン(例えばコンピュータ)が可読な形態で格納又は伝送するのに適した任意のタイプの有形なマシン可読媒体を含む。
いくつかの実施形態において、第1の階層の新規のマイクロサービスを作成する段階と、新規のマイクロサービスと第2の上位レベルの階層のマイクロサービスとの間にデータプレーン接続を構成する段階と、新規のマイクロサービスと第3の下位レベルの階層のマイクロサービスとの間にデータプレーン接続を構成する段階と、第1の階層に対する負荷分散決定に新規のマイクロサービスを含めるように第3の下位レベルの階層のマイクロサービスを構成する段階とのうち1つ又は複数の段階を行うことを含む、システム、装置、コンピュータ実装方法が説明される。いくつかの実施形態において、新規のマイクロサービスが既存のマイクロサービスによって作成される。いくつかの実施形態において、既存のマイクロサービスはコンフィギュレーションマイクロサービスである。いくつかの実施形態において、新規及び既存のマイクロサービスはバックプレーンを介して通信する。いくつかの実施形態において、新規のマイクロサービスはデータプレーンを用いるように構成される。いくつかの実施形態において、新規のマイクロサービスを作成する前に、新規のマイクロサービスと同じ階層レベルのマイクロサービスが存在する。いくつかの実施形態において、負荷分散決定は、第1の階層より上位レベルの階層のマイクロサービスからの情報を利用する。いくつかの実施形態において、データプレーン接続がバックプレーンによる通信によって構成される。いくつかの実施形態において、バックプレーン及びデータプレーンは、管理されたネットワークを含む。
いくつかの実施形態において、命令を実行するハードウェアプロセッサと、ハードウェアプロセッサによって実行された場合にある方法を実行させる命令を格納するメモリとのうち1つ又は複数を含むシステム、装置、コンピュータ実装方法が説明される。本方法は、第1の階層の第1のマイクロサービスを選択する段階と、第1のマイクロサービスを第1の階層に対する負荷分散決定から除外するように第2の下位レベルの階層のマイクロサービスを構成する段階と、第1のマイクロサービスと第2の階層のマイクロサービスとの間のデータプレーン接続を無効にする段階と、第1のマイクロサービスを終了させる段階とを含む。いくつかの実施形態において、第1のマイクロサービスは既存のマイクロサービスによって終了する。いくつかの実施形態において、既存のマイクロサービスはコンフィギュレーションマイクロサービスである。いくつかの実施形態において、第1及び既存のマイクロサービスはバックプレーンを介して通信する。いくつかの実施形態において、第1のマイクロサービスを終了させる間に、第1のマイクロサービスと同じ階層レベルのマイクロサービスが存在する。いくつかの実施形態において、負荷分散決定は、第1の階層より上位レベルの階層のマイクロサービスからの情報を利用する。いくつかの実施形態において、データプレーン接続がバックプレーンによる通信によって構成される。いくつかの実施形態において、バックプレーン及びデータプレーンは、管理されたネットワークを含む。
いくつかの実施形態において、第1の階層の第1のマイクロサービスを選択する段階と、第1の階層に対する負荷分散決定から第1のマイクロサービスを除外するように第2の下位レベルの階層のマイクロサービスを構成する段階と、第1のマイクロサービスを別のサーバに移動させる段階と、サーバの変更を反映させるように第1のマイクロサービスへのデータプレーン接続を構成する段階と、第1の階層に対する負荷分散決定に第1のマイクロサービスを含めるように第2の階層のマイクロサービスを構成する段階とのうち1つ又は複数の段階を行うことを含む、システム、装置、コンピュータ実装方法が説明される。いくつかの実施形態において、第1のマイクロサービスは既存のマイクロサービスによって作成された。いくつかの実施形態において、既存のマイクロサービスはコンフィギュレーションマイクロサービスである。いくつかの実施形態において、第1のマイクロサービス及び第2の下位レベルの階層のマイクロサービスは、バックプレーンを介して通信する。いくつかの実施形態において、第1のマイクロサービスはデータプレーンを用いるように構成される。いくつかの実施形態において、第1のマイクロサービスを別のサーバに移動させる前に、第1のマイクロサービスと同じ階層レベルのマイクロサービスが存在する。いくつかの実施形態において、負荷分散決定は、第1の階層より上位レベルの階層のマイクロサービスからの情報を利用する。いくつかの実施形態において、データプレーン接続がバックプレーンによる通信によって構成される。いくつかの実施形態において、バックプレーン及びデータプレーンは、管理されたネットワークを含む。
いくつかの実施形態において、第1の階層の新規のマイクロサービスを作成する段階と、新規のマイクロサービスと第2の上位レベルの階層のマイクロサービスとの間にデータプレーン接続を構成する段階と、新規のマイクロサービスと第3の下位レベルの階層のマイクロサービスとの間にデータプレーン接続を構成する段階と、第1の階層に対する負荷分散決定に新規のマイクロサービスを含めるように第3のレベルの階層のマイクロサービスを構成する段階とのうち1つ又は複数の段階を行うことを含む、システム、装置、コンピュータ実装方法が説明される。いくつかの実施形態において、新規のマイクロサービスは既存のマイクロサービスによって作成される。いくつかの実施形態において、既存のマイクロサービスはコンフィギュレーションマイクロサービスである。いくつかの実施形態において、新規及び既存のマイクロサービスはバックプレーンを介して通信する。いくつかの実施形態において、新規のマイクロサービスはデータプレーンを用いるように構成される。いくつかの実施形態において、新規のマイクロサービスを作成する前に、新規のマイクロサービスと同じ階層レベルのマイクロサービスが存在する。いくつかの実施形態において、負荷分散決定は、第1の階層より上位レベルの階層のマイクロサービスからの情報を利用する。いくつかの実施形態において、データプレーン接続がバックプレーンによる通信によって構成される。いくつかの実施形態において、バックプレーン及びデータプレーンは、管理されたネットワークを含む。
いくつかの実施形態において、第1の階層の第1のマイクロサービスを選択する段階と、第1のマイクロサービスを第1の階層に対する負荷分散決定から除外するように第2の下位レベルの階層のマイクロサービスを構成する段階と、第1のマイクロサービスと第2の階層のマイクロサービスとの間のデータプレーン接続を無効にする段階と、第1のマイクロサービスを終了させる段階とのうち1つ又は複数の段階を行うことを含む、システム、装置、コンピュータ実装方法が説明される。いくつかの実施形態において、第1のマイクロサービスは既存のマイクロサービスによって終了する。いくつかの実施形態において、既存のマイクロサービスはコンフィギュレーションマイクロサービスである。いくつかの実施形態において、第1及び既存のマイクロサービスはバックプレーンを介して通信する。いくつかの実施形態において、第1のマイクロサービスを終了させる間に、第1のマイクロサービスと同じ階層レベルのマイクロサービスが存在する。いくつかの実施形態において、負荷分散決定は、第1の階層より上位レベルの階層のマイクロサービスからの情報を利用する。いくつかの実施形態において、データプレーン接続がバックプレーンによる通信によって構成される。いくつかの実施形態において、バックプレーン及びデータプレーンは、管理されたネットワークを含む。
いくつかの実施形態において、第1の階層の第1のマイクロサービスを選択する段階と、第1の階層に対する負荷分散決定から第1のマイクロサービスを除外するように第2の下位レベルの階層のマイクロサービスを構成する段階と、第1のマイクロサービスを別のサーバに移動させる段階と、サーバの変更を反映させるように第1のマイクロサービスへのデータプレーン接続を構成する段階と、第1の階層に対する負荷分散決定に第1のマイクロサービスを含めるように第2の階層のマイクロサービスを構成する段階とのうち1つ又は複数の段階を行うことを含む、システム、装置、コンピュータ実装方法が説明される。いくつかの実施形態において、第1のマイクロサービスは既存のマイクロサービスによって作成された。いくつかの実施形態において、既存のマイクロサービスはコンフィギュレーションマイクロサービスである。いくつかの実施形態において、第1のマイクロサービス及び第2の下位レベルの階層のマイクロサービスは、バックプレーンを介して通信する。いくつかの実施形態において、第1のマイクロサービスはデータプレーンを用いるように構成される。いくつかの実施形態において、第1のマイクロサービスを別のサーバに移動させる前に、第1のマイクロサービスと同じ階層レベルのマイクロサービスが存在する。いくつかの実施形態において、負荷分散決定は、第1の階層より上位レベルの階層のマイクロサービスからの情報を利用する。いくつかの実施形態において、データプレーン接続がバックプレーンによる通信によって構成される。いくつかの実施形態において、バックプレーン及びデータプレーンは、管理されたネットワークを含む。
いくつかの実施形態において、第1の階層の新規のマイクロサービスを作成する段階と、新規のマイクロサービスと第2の上位レベルの階層のマイクロサービスとの間にデータプレーン接続を構成する段階と、新規のマイクロサービスと第3の下位レベルの階層のマイクロサービスとの間にデータプレーン接続を構成する段階と、第1の階層に対する負荷分散決定に新規のマイクロサービスを含めるように第3のレベルの階層のマイクロサービスを構成する段階とのうち1つ又は複数の段階をプロセッサに実行させる非一時的コンピュータ可読媒体に含まれるコンピュータ実行可能命令を実行する段階を含む、システム、装置、コンピュータ実装方法が説明される。いくつかの実施形態において、新規のマイクロサービスは既存のマイクロサービスによって作成される。いくつかの実施形態において、既存のマイクロサービスはコンフィギュレーションマイクロサービスである。いくつかの実施形態において、新規及び既存のマイクロサービスはバックプレーンを介して通信する。いくつかの実施形態において、新規のマイクロサービスはデータプレーンを用いるように構成される。いくつかの実施形態において、新規のマイクロサービスを作成する前に、新規のマイクロサービスと同じ階層レベルのマイクロサービスが存在する。いくつかの実施形態において、負荷分散決定は、第1の階層より上位レベルの階層のマイクロサービスからの情報を利用する。いくつかの実施形態において、データプレーン接続がバックプレーンによる通信によって構成される。いくつかの実施形態において、バックプレーン及びデータプレーンは、プロセッサによって管理されるネットワークを含む。
いくつかの実施形態において、第1の階層の第1のマイクロサービスを選択する段階と、第1のマイクロサービスを第1の階層に対する負荷分散決定から除外するように第2の下位レベルの階層のマイクロサービスを構成する段階と、第1のマイクロサービスと第2の階層のマイクロサービスとの間のデータプレーン接続を無効にする段階と、第1のマイクロサービスを終了させる段階とのうち1つ又は複数の段階をプロセッサに実行させる非一時的コンピュータ可読媒体に含まれるコンピュータ実行可能命令を実行する段階を含む、システム、装置、コンピュータ実装方法が説明される。いくつかの実施形態において、第1のマイクロサービスは既存のマイクロサービスによって終了する。いくつかの実施形態において、既存のマイクロサービスはコンフィギュレーションマイクロサービスである。いくつかの実施形態において、第1及び既存のマイクロサービスはバックプレーンを介して通信する。いくつかの実施形態において、第1のマイクロサービスを終了させる間に、第1のマイクロサービスと同じ階層レベルのマイクロサービスが存在する。いくつかの実施形態において、負荷分散決定は、第1の階層より上位レベルの階層のマイクロサービスからの情報を利用する。いくつかの実施形態において、データプレーン接続がバックプレーンによる通信によって構成される。いくつかの実施形態において、バックプレーン及びデータプレーンは、プロセッサによって管理されるネットワークを含む。
いくつかの実施形態において、第1の階層の第1のマイクロサービスを選択する段階と、第1の階層に対する負荷分散決定から第1のマイクロサービスを除外するように第2の下位レベルの階層のマイクロサービスを構成する段階と、第1のマイクロサービスを別のサーバに移動させる段階と、サーバの変更を反映させるように第1のマイクロサービスへのデータプレーン接続を構成する段階と、第1の階層に対する負荷分散決定に第1のマイクロサービスを含めるように第2の階層のマイクロサービスを構成する段階とのうち1つ又は複数の段階をプロセッサに実行させる非一時的コンピュータ可読媒体に含まれるコンピュータ実行可能命令を実行する段階を含む、システム、装置、コンピュータ実装方法が説明される。いくつかの実施形態において、第1のマイクロサービスは既存のマイクロサービスによって作成された。いくつかの実施形態において、既存のマイクロサービスはコンフィギュレーションマイクロサービスである。いくつかの実施形態において、第1のマイクロサービス及び第2の下位レベルの階層のマイクロサービスは、バックプレーンを介して通信する。いくつかの実施形態において、第1のマイクロサービスはデータプレーンを用いるように構成される。いくつかの実施形態において、第1のマイクロサービスを別のサーバに移動させる前に、第1のマイクロサービスと同じ階層レベルのマイクロサービスが存在する。いくつかの実施形態において、負荷分散決定は、第1の階層より上位レベルの階層のマイクロサービスからの情報を利用する。いくつかの実施形態において、データプレーン接続がバックプレーンによる通信によって構成される。いくつかの実施形態において、バックプレーン及びデータプレーンは、プロセッサによって管理されるネットワークを含む。
Claims (20)
- 第1の階層の新規のマイクロサービスを作成する段階と、
前記新規のマイクロサービスと第2の上位レベルの階層のマイクロサービスとの間にデータプレーン接続を構成する段階と、
前記新規のマイクロサービスと第3の下位レベルの階層のマイクロサービスとの間にデータプレーン接続を構成する段階と、
前記第1の階層に対する負荷分散決定に前記新規のマイクロサービスを含めるように前記第3の下位レベルの階層の前記マイクロサービスを構成する段階と
を備えた、コンピュータ実装方法。 - 前記新規のマイクロサービスは既存のマイクロサービスによって作成される、請求項1に記載のコンピュータ実装方法。
- 前記既存のマイクロサービスはコンフィギュレーションマイクロサービスである、請求項2に記載のコンピュータ実装方法。
- 前記新規及び既存のマイクロサービスはバックプレーンを介して通信する、請求項2又は3に記載のコンピュータ実装方法。
- 前記新規のマイクロサービスは前記データプレーン接続を用いるように構成される、請求項2から4のいずれか一項に記載のコンピュータ実装方法。
- 前記新規のマイクロサービスを作成する前に、前記新規のマイクロサービスと同じ階層レベルのマイクロサービスが存在する、請求項5に記載のコンピュータ実装方法。
- 前記負荷分散決定は、前記第1の階層より上位レベルの階層のマイクロサービスからの情報を利用する、請求項1から6のいずれか一項に記載のコンピュータ実装方法。
- データプレーン接続がバックプレーンによる通信によって構成される、請求項1から7のいずれか一項に記載のコンピュータ実装方法。
- バックプレーン及びデータプレーンは管理されたネットワークを含む、請求項1から8のいずれか一項に記載のコンピュータ実装方法。
- ある方法をハードウェアプロセッサに実行させるためのプログラムであって、
前記方法は、
第1の階層の新規のマイクロサービスを作成する段階と、
前記新規のマイクロサービスと第2の上位レベルの階層のマイクロサービスとの間にデータプレーン接続を構成する段階と、
前記新規のマイクロサービスと第3の下位レベルの階層のマイクロサービスとの間にデータプレーン接続を構成する段階と、
前記第1の階層に対する負荷分散決定に前記新規のマイクロサービスを含めるように前記第3の下位レベルの階層の前記マイクロサービスを構成する段階と
を備える、プログラム。 - 前記新規のマイクロサービスは既存のマイクロサービスによって作成される、請求項10に記載のプログラム。
- 前記既存のマイクロサービスはコンフィギュレーションマイクロサービスである、請求項11に記載のプログラム。
- 前記新規及び既存のマイクロサービスはバックプレーンを介して通信する、請求項11又は12に記載のプログラム。
- 前記新規のマイクロサービスは前記データプレーン接続を用いるように構成される、請求項11から13のいずれか一項に記載のプログラム。
- 前記新規のマイクロサービスを作成する前に、前記新規のマイクロサービスと同じ階層レベルのマイクロサービスが存在する、請求項14に記載のプログラム。
- 前記負荷分散決定は、前記第1の階層より上位レベルの階層のマイクロサービスからの情報を利用する、請求項10から15のいずれか一項に記載のプログラム。
- データプレーン接続がバックプレーンによる通信によって構成される、請求項10から16のいずれか一項に記載のプログラム。
- 命令を実行するハードウェアプロセッサと、
前記ハードウェアプロセッサに結合されたメモリと
を備え、
前記メモリは、前記ハードウェアプロセッサによって実行された場合に、
第1の階層の新規のマイクロサービスを作成することと、
前記新規のマイクロサービスと第2の上位レベルの階層のマイクロサービスとの間にデータプレーン接続を構成することと、
前記新規のマイクロサービスと第3の下位レベルの階層のマイクロサービスとの間にデータプレーン接続を構成することと、
前記第1の階層に対する負荷分散決定に前記新規のマイクロサービスを含めるように前記第3の下位レベルの階層の前記マイクロサービスを構成することと
を行わせる命令を格納する、装置。 - 前記新規及び既存のマイクロサービスは仮想バックプレーンを介して通信する、請求項18に記載の装置。
- 前記負荷分散決定は、前記第1の階層より上位レベルの階層のマイクロサービスからの情報を利用する、請求項18又は19に記載の装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/182,573 | 2016-06-14 | ||
US15/182,573 US9716617B1 (en) | 2016-06-14 | 2016-06-14 | Dynamic, load-based, auto-scaling network security microservices architecture |
PCT/US2016/058512 WO2017218029A1 (en) | 2016-06-14 | 2016-10-24 | Dynamic, load-based, auto-scaling network security microservices architecture |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019523949A true JP2019523949A (ja) | 2019-08-29 |
Family
ID=57286819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018566206A Pending JP2019523949A (ja) | 2016-06-14 | 2016-10-24 | ネットワークセキュリティマイクロサービスを負荷に基づいて動的に自動スケーリングするアーキテクチャ |
Country Status (6)
Country | Link |
---|---|
US (4) | US9716617B1 (ja) |
EP (1) | EP3469781B1 (ja) |
JP (1) | JP2019523949A (ja) |
KR (1) | KR102569766B1 (ja) |
CN (1) | CN109716729B (ja) |
WO (1) | WO2017218029A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021171389A1 (ja) * | 2020-02-26 | 2021-09-02 | 日本電信電話株式会社 | サービス提供システム、サービス提供方法、マスターノード、および、プログラム |
Families Citing this family (121)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9917851B2 (en) | 2014-04-28 | 2018-03-13 | Sophos Limited | Intrusion detection using a heartbeat |
US10122753B2 (en) | 2014-04-28 | 2018-11-06 | Sophos Limited | Using reputation to avoid false malware detections |
IN2014MU04068A (ja) | 2014-12-18 | 2015-06-05 | Cyberoam Technologies Pvt Ltd | |
US11283697B1 (en) | 2015-03-24 | 2022-03-22 | Vmware, Inc. | Scalable real time metrics management |
US20160359906A1 (en) * | 2015-06-02 | 2016-12-08 | Vmware, Inc. | Automatic security hardening of an entity |
US9787641B2 (en) | 2015-06-30 | 2017-10-10 | Nicira, Inc. | Firewall rule management |
US10594562B1 (en) | 2015-08-25 | 2020-03-17 | Vmware, Inc. | Intelligent autoscale of services |
US10212041B1 (en) | 2016-03-04 | 2019-02-19 | Avi Networks | Traffic pattern detection and presentation in container-based cloud computing architecture |
US10931548B1 (en) | 2016-03-28 | 2021-02-23 | Vmware, Inc. | Collecting health monitoring data pertaining to an application from a selected set of service engines |
US10484331B1 (en) * | 2016-06-28 | 2019-11-19 | Amazon Technologies, Inc. | Security appliance provisioning |
US11128555B2 (en) * | 2016-07-22 | 2021-09-21 | Intel Corporation | Methods and apparatus for SDI support for automatic and transparent migration |
US10313362B2 (en) | 2016-07-29 | 2019-06-04 | ShieldX Networks, Inc. | Systems and methods for real-time configurable load determination |
US10142356B2 (en) | 2016-07-29 | 2018-11-27 | ShieldX Networks, Inc. | Channel data encapsulation system and method for use with client-server data channels |
US10735394B2 (en) * | 2016-08-05 | 2020-08-04 | Oracle International Corporation | Caching framework for a multi-tenant identity and data security management cloud service |
US10516672B2 (en) * | 2016-08-05 | 2019-12-24 | Oracle International Corporation | Service discovery for a multi-tenant identity and data security management cloud service |
WO2018039792A1 (en) * | 2016-08-31 | 2018-03-08 | Wedge Networks Inc. | Apparatus and methods for network-based line-rate detection of unknown malware |
US10178045B2 (en) * | 2016-09-07 | 2019-01-08 | Sap Se | Dynamic discovery and management of microservices for multi-cluster computing platforms |
US10489275B2 (en) | 2016-10-20 | 2019-11-26 | Cisco Technology, Inc. | Agentless distributed monitoring of microservices through a virtual switch |
MY195590A (en) * | 2016-10-24 | 2023-02-02 | Certis Cisco Security Pte Ltd | Quantitative Unified Analytic Neural Networks |
US11018970B2 (en) | 2016-10-31 | 2021-05-25 | Nicira, Inc. | Monitoring resource consumption for distributed services |
US10567440B2 (en) | 2016-12-16 | 2020-02-18 | Nicira, Inc. | Providing application visibility for micro-segmentation of a network deployment |
US10298619B2 (en) * | 2016-12-16 | 2019-05-21 | Nicira, Inc. | Application template generation and deep packet inspection approach for creation of micro-segmentation policy for network applications |
US11258681B2 (en) | 2016-12-16 | 2022-02-22 | Nicira, Inc. | Application assessment and visibility for micro-segmentation of a network deployment |
US10223109B2 (en) * | 2016-12-22 | 2019-03-05 | Juniper Networks, Inc. | Automatic scaling of microservices applications |
CN106533804A (zh) * | 2016-12-22 | 2017-03-22 | 成都西加云杉科技有限公司 | 一种网络运营支撑系统 |
US10078552B2 (en) | 2016-12-29 | 2018-09-18 | Western Digital Technologies, Inc. | Hierarchic storage policy for distributed object storage systems |
US10013550B1 (en) * | 2016-12-30 | 2018-07-03 | ShieldX Networks, Inc. | Systems and methods for adding microservices into existing system environments |
US10721275B2 (en) | 2017-01-23 | 2020-07-21 | Fireeye, Inc. | Automated enforcement of security policies in cloud and hybrid infrastructure environments |
US10172043B2 (en) * | 2017-02-02 | 2019-01-01 | International Business Machines Corporation | Cognitive reliability engine for smooth handoff in phone-hosted microservices |
US10411973B2 (en) * | 2017-03-20 | 2019-09-10 | Red Hat, Inc. | Automatic microservice problem detection in enterprise applications |
US10659496B2 (en) * | 2017-03-28 | 2020-05-19 | ShieldX Networks, Inc. | Insertion and configuration of interface microservices based on security policy changes |
US11582291B2 (en) | 2017-07-28 | 2023-02-14 | Kong Inc. | Auto-documentation for application program interfaces based on network requests and responses |
US11171842B2 (en) * | 2019-09-05 | 2021-11-09 | Kong Inc. | Microservices application network control plane |
US10645153B2 (en) * | 2017-08-15 | 2020-05-05 | Sap Se | Modeling session states in microservices on cloud infrastructures |
US10769274B2 (en) | 2017-08-15 | 2020-09-08 | Sap Se | Security in microservice architectures |
US10528450B2 (en) | 2017-08-15 | 2020-01-07 | Sap Se | Predicting defects in software systems hosted in cloud infrastructures |
CN109802924B (zh) * | 2017-11-17 | 2022-05-17 | 华为技术有限公司 | 一种识别加密数据流的方法及装置 |
US10742673B2 (en) | 2017-12-08 | 2020-08-11 | Nicira, Inc. | Tracking the dynamics of application-centric clusters in a virtualized datacenter |
US10554675B2 (en) * | 2017-12-21 | 2020-02-04 | International Business Machines Corporation | Microservice integration fabrics network intrusion detection and prevention service capabilities |
CN108418862B (zh) * | 2018-01-31 | 2021-01-22 | 金蝶软件(中国)有限公司 | 基于人工智能服务云平台的微服务管理方法和系统 |
US20190268353A1 (en) * | 2018-02-23 | 2019-08-29 | ShieldX Networks, Inc. | Systems and methods for preventing malicious network traffic from accessing trusted network resources |
US11296960B2 (en) | 2018-03-08 | 2022-04-05 | Nicira, Inc. | Monitoring distributed applications |
US10911493B2 (en) * | 2018-03-14 | 2021-02-02 | ShieldX Networks, Inc. | Identifying communication paths between servers for securing network communications |
US10826931B1 (en) | 2018-03-29 | 2020-11-03 | Fireeye, Inc. | System and method for predicting and mitigating cybersecurity system misconfigurations |
US20190303187A1 (en) * | 2018-03-29 | 2019-10-03 | The United States Of America As Represented By The Secretary Of The Navy | Methods, devices, and systems for distributing software to and deploying software in a target environment |
US10601942B2 (en) | 2018-04-12 | 2020-03-24 | Pearson Management Services Limited | Systems and methods for automated module-based content provisioning |
US11062315B2 (en) | 2018-04-25 | 2021-07-13 | At&T Intellectual Property I, L.P. | Fraud as a service |
US10896084B2 (en) * | 2018-05-02 | 2021-01-19 | International Business Machines Corporation | Isolating service issues in a microservice architecture |
US10999168B1 (en) | 2018-05-30 | 2021-05-04 | Vmware, Inc. | User defined custom metrics |
US11216516B2 (en) * | 2018-06-08 | 2022-01-04 | At&T Intellectual Property I, L.P. | Method and system for scalable search using microservice and cloud based search with records indexes |
CN108712309B (zh) * | 2018-06-11 | 2022-03-25 | 郑州云海信息技术有限公司 | 一种微服务架构下的微服务节点防护方法和系统 |
US10764266B2 (en) | 2018-06-19 | 2020-09-01 | Cisco Technology, Inc. | Distributed authentication and authorization for rapid scaling of containerized services |
WO2020015838A1 (en) * | 2018-07-20 | 2020-01-23 | Nokia Solutions And Networks Oy | Zero trust perimeterization for microservices |
US10860339B2 (en) | 2018-08-03 | 2020-12-08 | Dell Products L.P. | Autonomous creation of new microservices and modification of existing microservices |
US10673708B2 (en) | 2018-10-12 | 2020-06-02 | International Business Machines Corporation | Auto tuner for cloud micro services embeddings |
US11140093B2 (en) * | 2018-10-22 | 2021-10-05 | Microsoft Technology Licensing, Llc | Distributed database-driven resource management and locking in a cloud native mobile core network node architecture |
EP3857381B1 (en) | 2018-10-26 | 2023-07-12 | VMware, Inc. | Collecting samples hierarchically in a datacenter |
US11134059B2 (en) | 2018-12-04 | 2021-09-28 | Cisco Technology, Inc. | Micro-firewalls in a microservice mesh environment |
US20200186433A1 (en) * | 2018-12-05 | 2020-06-11 | At&T Intellectual Property I, L.P. | Adaptive coordinator system |
US11121943B2 (en) * | 2018-12-13 | 2021-09-14 | Sap Se | Amplifying scaling elasticity of microservice meshes |
US10911332B2 (en) | 2018-12-17 | 2021-02-02 | Cisco Technology, Inc. | Time sensitive networking in a microservice environment |
US11120148B2 (en) * | 2019-01-10 | 2021-09-14 | Fortinet, Inc. | Dynamically applying application security settings and policies based on workload properties |
RU2746105C2 (ru) | 2019-02-07 | 2021-04-07 | Акционерное общество "Лаборатория Касперского" | Система и способ конфигурирования шлюза для защиты автоматизированных систем |
RU2724796C1 (ru) * | 2019-02-07 | 2020-06-25 | Акционерное общество "Лаборатория Касперского" | Система и способ защиты автоматизированных систем при помощи шлюза |
US11636198B1 (en) * | 2019-03-30 | 2023-04-25 | Fireeye Security Holdings Us Llc | System and method for cybersecurity analyzer update and concurrent management system |
CN110244943B (zh) * | 2019-05-08 | 2022-11-15 | 武汉宏途科技有限公司 | 基于web和移动端的图形化业务设计方法、系统及软件存储器 |
EP3745761A1 (en) | 2019-05-28 | 2020-12-02 | Samsung Electronics Co., Ltd. | Virtualization of ran functions based on load of the base stations |
US11290358B2 (en) | 2019-05-30 | 2022-03-29 | Vmware, Inc. | Partitioning health monitoring in a global server load balancing system |
US11700233B2 (en) * | 2019-06-04 | 2023-07-11 | Arbor Networks, Inc. | Network monitoring with differentiated treatment of authenticated network traffic |
US11240345B2 (en) | 2019-06-19 | 2022-02-01 | Hewlett Packard Enterprise Development Lp | Method for deploying an application workload on a cluster |
US11057271B2 (en) * | 2019-06-20 | 2021-07-06 | Citrix Systems, Inc. | Systems and method updating ADC configuration with intended state using desired state API |
US11743135B2 (en) | 2019-07-23 | 2023-08-29 | Vmware, Inc. | Presenting data regarding grouped flows |
US11140090B2 (en) | 2019-07-23 | 2021-10-05 | Vmware, Inc. | Analyzing flow group attributes using configuration tags |
US11288256B2 (en) | 2019-07-23 | 2022-03-29 | Vmware, Inc. | Dynamically providing keys to host for flow aggregation |
US10911335B1 (en) | 2019-07-23 | 2021-02-02 | Vmware, Inc. | Anomaly detection on groups of flows |
US11188570B2 (en) | 2019-07-23 | 2021-11-30 | Vmware, Inc. | Using keys to aggregate flow attributes at host |
US11349876B2 (en) | 2019-07-23 | 2022-05-31 | Vmware, Inc. | Security policy recommendation generation |
US11436075B2 (en) | 2019-07-23 | 2022-09-06 | Vmware, Inc. | Offloading anomaly detection from server to host |
US11176157B2 (en) | 2019-07-23 | 2021-11-16 | Vmware, Inc. | Using keys to aggregate flows at appliance |
US11398987B2 (en) | 2019-07-23 | 2022-07-26 | Vmware, Inc. | Host-based flow aggregation |
US11340931B2 (en) | 2019-07-23 | 2022-05-24 | Vmware, Inc. | Recommendation generation based on selection of selectable elements of visual representation |
US11405280B2 (en) | 2019-07-24 | 2022-08-02 | Cisco Technology, Inc. | AI-driven capacity forecasting and planning for microservices apps |
CN110474797B (zh) * | 2019-07-25 | 2022-07-26 | 北京旷视科技有限公司 | Api业务系统、主备切换的方法及装置 |
US11595272B2 (en) | 2019-09-05 | 2023-02-28 | Kong Inc. | Microservices application network control plane |
US11556321B2 (en) * | 2019-09-06 | 2023-01-17 | International Business Machines Corporation | Deploying microservices across a service infrastructure |
US11363441B2 (en) | 2019-09-24 | 2022-06-14 | At&T Intellectual Property I, L.P. | Facilitating mobility as a service in fifth generation (5G) or other advanced networks |
US20210112081A1 (en) * | 2019-10-15 | 2021-04-15 | ShieldX Networks, Inc. | Resolving the disparate impact of security exploits to resources within a resource group |
US11599283B2 (en) | 2019-10-29 | 2023-03-07 | Western Digital Technologies, Inc. | Power reduction in distributed storage systems |
US11159990B2 (en) | 2019-10-29 | 2021-10-26 | At&T Intellectual Property I, L.P. | Microservices coordinator for 5G or other next generation network |
US11038763B1 (en) | 2019-12-02 | 2021-06-15 | At&T Intellectual Property I, L.P. | Intelligent policy control engine for 5G or other next generation network |
CN111225030B (zh) * | 2019-12-16 | 2023-01-10 | 航天信息股份有限公司 | 一种基于信任评估策略对微服务进行选择的方法及系统 |
US11588854B2 (en) | 2019-12-19 | 2023-02-21 | Vmware, Inc. | User interface for defining security groups |
CN111245925B (zh) * | 2020-01-09 | 2021-08-24 | 北京理工大学 | 一种用于现代分布式微服务架构的通信方法与系统 |
US11321213B2 (en) | 2020-01-16 | 2022-05-03 | Vmware, Inc. | Correlation key used to correlate flow and con text data |
CN111464592B (zh) * | 2020-03-09 | 2023-07-25 | 平安科技(深圳)有限公司 | 基于微服务的负载均衡方法、装置、设备及存储介质 |
CN111600930B (zh) * | 2020-04-09 | 2022-12-09 | 网宿科技股份有限公司 | 微服务请求的流量管理方法、装置、服务器及存储介质 |
US11032160B1 (en) * | 2020-07-31 | 2021-06-08 | Boomi, Inc. | Serverless elastic scale API gateway management system and method of an API service control plane system |
CN111897641B (zh) * | 2020-08-03 | 2023-07-28 | 海信电子科技(武汉)有限公司 | 微服务监控调度方法及显示设备 |
US11153227B1 (en) * | 2020-08-05 | 2021-10-19 | International Business Machines Corporation | Managing communication between microservices |
CN114363233B (zh) * | 2020-10-12 | 2023-12-22 | 网联清算有限公司 | 一种分组路由方法、装置、电子设备及存储介质 |
CN112799724B (zh) * | 2021-01-12 | 2023-11-28 | 许继集团有限公司 | 一种稳定控制装置策略表解析计算方法及装置 |
US11223522B1 (en) * | 2021-01-15 | 2022-01-11 | Dell Products L.P. | Context-based intelligent re-initiation of microservices |
US11991187B2 (en) | 2021-01-22 | 2024-05-21 | VMware LLC | Security threat detection based on network flow analysis |
US11785032B2 (en) | 2021-01-22 | 2023-10-10 | Vmware, Inc. | Security threat detection based on network flow analysis |
US11526617B2 (en) | 2021-03-24 | 2022-12-13 | Bank Of America Corporation | Information security system for identifying security threats in deployed software package |
CN115208748A (zh) * | 2021-04-13 | 2022-10-18 | 瞻博网络公司 | 用于网络设备配置会话管理的网络控制器水平缩放 |
CN113190327B (zh) * | 2021-04-30 | 2023-02-03 | 平安证券股份有限公司 | 微服务部署方法、装置、设备及存储介质 |
US11811861B2 (en) | 2021-05-17 | 2023-11-07 | Vmware, Inc. | Dynamically updating load balancing criteria |
US11799824B2 (en) | 2021-06-14 | 2023-10-24 | Vmware, Inc. | Method and apparatus for enhanced client persistence in multi-site GSLB deployments |
US11693766B2 (en) * | 2021-06-15 | 2023-07-04 | International Business Machines Corporation | Resource allocation in microservice architectures |
US11831667B2 (en) | 2021-07-09 | 2023-11-28 | Vmware, Inc. | Identification of time-ordered sets of connections to identify threats to a datacenter |
US11997120B2 (en) | 2021-07-09 | 2024-05-28 | VMware LLC | Detecting threats to datacenter based on analysis of anomalous events |
US11792151B2 (en) | 2021-10-21 | 2023-10-17 | Vmware, Inc. | Detection of threats based on responses to name resolution requests |
CN114118560A (zh) * | 2021-11-22 | 2022-03-01 | 深圳前海微众银行股份有限公司 | 一种基于微服务的路由方法、装置、设备及存储介质 |
CN114296925A (zh) * | 2021-12-29 | 2022-04-08 | 武汉思普崚技术有限公司 | 一种基于微服务架构的文件类型识别系统及方法 |
US11799887B2 (en) * | 2022-01-11 | 2023-10-24 | Expel, Inc. | Systems and methods for intelligently generating cybersecurity contextual intelligence and generating a cybersecurity intelligence interface |
WO2023136755A1 (en) * | 2022-01-13 | 2023-07-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for tailored data monitoring of microservice executions in mobile edge clouds |
CN114866614A (zh) * | 2022-05-05 | 2022-08-05 | 浙江工业大学 | 基于网络环境和服务器负载的服务自适应弹性调整的方法 |
CN115208738B (zh) * | 2022-06-07 | 2023-06-27 | 珠海金智维信息科技有限公司 | 基于微服务架构的rpa升级系统、方法和装置 |
CN115049269A (zh) * | 2022-06-20 | 2022-09-13 | 华润水泥技术研发有限公司 | 一种应用于建材行业的客户信用管理系统 |
US20240121321A1 (en) * | 2022-10-05 | 2024-04-11 | Hong Kong Applied Science and Technology Research Institute Company Limited | Method and apparatus for removing stale context in service instances in providing microservices |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11323508B2 (en) * | 2009-05-22 | 2022-05-03 | Comcast Interactive Media, Llc | Web service system and method |
US9280504B2 (en) * | 2012-08-24 | 2016-03-08 | Intel Corporation | Methods and apparatus for sharing a network interface controller |
US10171594B2 (en) * | 2013-09-28 | 2019-01-01 | Mcafee, Llc | Service-oriented architecture |
US10225137B2 (en) | 2014-09-30 | 2019-03-05 | Nicira, Inc. | Service node selection by an inline service switch |
US9749428B2 (en) * | 2014-10-21 | 2017-08-29 | Twilio, Inc. | System and method for providing a network discovery service platform |
US9886267B2 (en) * | 2014-10-30 | 2018-02-06 | Equinix, Inc. | Interconnection platform for real-time configuration and management of a cloud-based services exchange |
US9917746B2 (en) * | 2014-11-04 | 2018-03-13 | Futurewei Technologies, Inc. | Adaptive allocation of server resources |
US9467476B1 (en) * | 2015-03-13 | 2016-10-11 | Varmour Networks, Inc. | Context aware microsegmentation |
US10785334B2 (en) * | 2015-06-03 | 2020-09-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Implanted agent within a first service container for enabling a reverse proxy on a second container |
CN105162884A (zh) * | 2015-09-25 | 2015-12-16 | 浪潮(北京)电子信息产业有限公司 | 一种基于微服务架构的云管理平台 |
CN105577780B (zh) * | 2015-12-21 | 2018-12-04 | 武汉理工大学 | 一种基于微服务的高校教学云平台 |
US10255413B2 (en) * | 2016-02-04 | 2019-04-09 | International Business Machines Corporation | Microservices inter-operational trust management |
-
2016
- 2016-06-14 US US15/182,573 patent/US9716617B1/en active Active
- 2016-06-27 US US15/194,561 patent/US10148504B2/en active Active
- 2016-10-24 WO PCT/US2016/058512 patent/WO2017218029A1/en unknown
- 2016-10-24 CN CN201680086793.0A patent/CN109716729B/zh active Active
- 2016-10-24 EP EP16794811.6A patent/EP3469781B1/en active Active
- 2016-10-24 JP JP2018566206A patent/JP2019523949A/ja active Pending
- 2016-10-24 KR KR1020197000805A patent/KR102569766B1/ko active IP Right Grant
-
2018
- 2018-10-30 US US16/174,884 patent/US10498601B2/en active Active
-
2019
- 2019-11-26 US US16/696,679 patent/US10958519B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021171389A1 (ja) * | 2020-02-26 | 2021-09-02 | 日本電信電話株式会社 | サービス提供システム、サービス提供方法、マスターノード、および、プログラム |
JP7351400B2 (ja) | 2020-02-26 | 2023-09-27 | 日本電信電話株式会社 | サービス提供システム、サービス提供方法、マスターノード、および、プログラム |
Also Published As
Publication number | Publication date |
---|---|
EP3469781B1 (en) | 2023-08-30 |
US10498601B2 (en) | 2019-12-03 |
US9716617B1 (en) | 2017-07-25 |
US20170359217A1 (en) | 2017-12-14 |
EP3469781A1 (en) | 2019-04-17 |
US10958519B2 (en) | 2021-03-23 |
CN109716729A (zh) | 2019-05-03 |
US20190140903A1 (en) | 2019-05-09 |
WO2017218029A1 (en) | 2017-12-21 |
CN109716729B (zh) | 2021-10-01 |
KR102569766B1 (ko) | 2023-08-23 |
KR20190018162A (ko) | 2019-02-21 |
US20200195503A1 (en) | 2020-06-18 |
US10148504B2 (en) | 2018-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10958519B2 (en) | Dynamic, load-based, auto-scaling network security microservices architecture | |
US11122129B2 (en) | Virtual network function migration | |
US11025647B2 (en) | Providing a virtual security appliance architecture to a virtual cloud infrastructure | |
US10659496B2 (en) | Insertion and configuration of interface microservices based on security policy changes | |
US9935829B1 (en) | Scalable packet processing service | |
US10142356B2 (en) | Channel data encapsulation system and method for use with client-server data channels | |
US10979453B2 (en) | Cyber-deception using network port projection | |
EP2932682B1 (en) | Hybrid firewall for data center security | |
US20180173549A1 (en) | Virtual network function performance monitoring | |
US20130074181A1 (en) | Auto Migration of Services Within a Virtual Data Center | |
US11368488B2 (en) | Optimizing a security configuration of a networked environment | |
US9654458B1 (en) | Unauthorized device detection in a heterogeneous network | |
US20090328193A1 (en) | System and Method for Implementing a Virtualized Security Platform | |
US10120779B1 (en) | Debugging of hosted computer programs | |
US10944723B2 (en) | Systems and methods for managing endpoints and security policies in a networked environment | |
CN109218280B (zh) | 实施数据中心中的物理和虚拟应用组件的微分段策略 | |
US9935834B1 (en) | Automated configuration of virtual port channels | |
US11120148B2 (en) | Dynamically applying application security settings and policies based on workload properties | |
US20180212998A1 (en) | Updating computer security threat signature libraries based on computing environment profile information | |
US10417033B2 (en) | Generating efficient computer security threat signature libraries | |
WO2018136941A1 (en) | Generating efficient computer security threat signature libraries | |
US11803766B1 (en) | Active scanning tool for identifying customer misconfigurations of virtual machine instances | |
US11895129B2 (en) | Detecting and blocking a malicious file early in transit on a network | |
Shin et al. | Information Security Group, Korea Internet & Security Agency, Seoul, South Korea {ysshin, khson, hrpark}@ kisa. or. kr |