KR20190018162A - 동적, 로드 기반, 오토 스케일링 네트워크 보안 마이크로서비스 아키텍처 - Google Patents

동적, 로드 기반, 오토 스케일링 네트워크 보안 마이크로서비스 아키텍처 Download PDF

Info

Publication number
KR20190018162A
KR20190018162A KR1020197000805A KR20197000805A KR20190018162A KR 20190018162 A KR20190018162 A KR 20190018162A KR 1020197000805 A KR1020197000805 A KR 1020197000805A KR 20197000805 A KR20197000805 A KR 20197000805A KR 20190018162 A KR20190018162 A KR 20190018162A
Authority
KR
South Korea
Prior art keywords
micro
service
services
layer
new
Prior art date
Application number
KR1020197000805A
Other languages
English (en)
Other versions
KR102569766B1 (ko
Inventor
라틴더 폴 싱 아후자
마뉴엘 네드발
Original Assignee
쉴드엑스 네트웍스, 인크.
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 쉴드엑스 네트웍스, 인크. filed Critical 쉴드엑스 네트웍스, 인크.
Publication of KR20190018162A publication Critical patent/KR20190018162A/ko
Application granted granted Critical
Publication of KR102569766B1 publication Critical patent/KR102569766B1/ko

Links

Images

Classifications

    • 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/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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
    • 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/0803Configuration setting
    • 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/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1002
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • H04L67/16
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • 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/1408Network 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 계층의 새로운 마이크로서비스를 생성하는 것, 새로운 마이크로서비스와 제2 상위 레벨 계층의 마이크로서비스 사이에 데이터 평면 연결성을 구성하는 것; 새로운 마이크로서비스와 제3 하위 레벨 계층의 마이크로서비스 사이에 데이터 평면 연결성을 구성하는 것; 및 제1 계층에 대한 로드 밸런싱 결정들에서 새로운 마이크로서비스를 포함하기 위해 계층의 제3 레벨의 마이크로서비스들을 구성하는 것을 필요로 한다.

Description

동적, 로드 기반, 오토 스케일링 네트워크 보안 마이크로서비스 아키텍처
본원에 설명되는 실시예들은 일반적으로 네트워크 보안에 관한 것이다. 특히, 설명되는 실시예들은 일반적으로 동적, 로드 기반, 오토 스케일링 네트워크 보안 마이크로서비스 아키텍처에 관한 것이다.
현대 데이터 센터들을 타겟팅하는 네트워크 보안 위협들의 폭 및 복잡성은 광범위하고, 계속 증가한다. 리스트는 네트워크 보안 위협들의 몇개만 예를 들면, 웜, 스푸핑, 스니핑, 하이재킹, 트로이 목마, 서비스 거부 공격, 및 피싱을 포함한다.
데이터 센터 도처에 네트워크 보안 기기들을 전개하는 것에 의존하는 네트워크 보안 솔루션들은 다수의 단점을 겪는다. 높은 트래픽량들을 감시하기 위해 요구되는 다수의 그러한 기기들을 제공하는 것은 경제적으로 또는 관리적으로 실현가능하지 않을 수 있다. 기기들의 수를 스케일 아웃 또는 스케일 인하는 것은 또한 복잡하고 시간 소비적일 수 있다. 기기들이 데이터 센터 네트워크의 다양한 부분들에 액세스하는 것을 허용하기 위해 충분한 네트워크 포트 밀도를 제공하는 것은 실현가능하지 않을 수 있다. 또한 기기들에게 최신 위협 서명들을 알리는 것은 어려울 수 있다. 그러한 기기들을 전개하는 것은 예를 들어, 클라우드 컴퓨팅 환경을 보호하기 위해, 특히 어려울 수 있다.
본원에 개시되는 실시예들의 다양한 장점들은 이하의 명세서 및 첨부된 청구항들을 판독함으로써, 그리고 이하의 도면들을 참조함으로써 본 기술분야의 통상의 기술자에게 분명해질 것이다.
도 1은 메모리로부터 네트워크 보안 시스템 마이크로서비스들을 로딩하고 프로세서에 의해 그들을 실행하는 컴퓨터 하드웨어를 예시하는 블록도이다.
도 2는 데이터 센터 내에 보안 서비스들의 전개를 위한 방법의 일 실시예를 예시한다.
도 3은 물리적 서버 또는 물리적 보안 기기를 호스팅하기 위해 데이터 센터 랙들을 포함하는 데이터 센터의 일 실시예를 예시한다.
도 4는 가상 보안 기기의 일 실시예를 예시한다.
도 5는 물리적 서버 또는 가상 보안 기기를 호스팅하기 위해 데이터 센터 랙들을 포함하는 데이터 센터의 일 실시예를 예시한다.
도 6은 쓰리 타임 스케일 아웃 요건을 충족시키기 위해 스케일 아웃하는 데이터 센터의 일 실시예를 예시한다.
도 7은 본 발명의 일 실시예에 따른 쓰리 타임 스케일 아웃 요건을 충족시키는 것을 예시한다.
도 8은 일 실시예에 따른 임의적 스케일 아웃 요건을 충족시키는 것을 예시한다.
도 9는 일 실시예에 따른 마이크로서비스를 스케일 아웃함으로써 임의적 스케일 아웃 요건을 충족시키는 것을 예시한다.
도 10은 보안 시스템에서 마이크로서비스들의 계층을 스케일 아웃하는 방법을 예시하는 흐름도이다.
도 11은 보안 시스템에서 마이크로서비스들의 계층을 스케일 인하는 방법을 예시하는 흐름도이다.
도 12는 보안 시스템에서 마이크로서비스들의 계층을 최적화하는 방법을 예시하는 흐름도이다.
도 13은 일 실시예에 따른 네트워크 보안 시스템을 예시하는 다른 블록도이다.
도 14는 일 실시예에 따른 네트워크 보안 시스템을 예시하는 다른 블록도이다.
도 15는 일부 실시예들에 따른 마이크로서비스들을 지원하기 위해 사용되는 다수의 상이한 데이터베이스 타입들을 예시한다.
도 16은 일 실시예에 따른 관리 평면으로부터 네트워크 보안 시스템의 모든 마이크로서비스로 송신되는 제어 패킷들을 예시하는 흐름도이다.
도 17은 일 실시예에 따른 위협 이벤트에 대한 네트워크 보안 시스템 응답을 예시하는 블록 흐름도이다.
도 18은 일 실시예에 따른 보안 정책들을 수신하는 것, 그들을 보안 언어로 변환하는 것, 그들을 2진수들로 컴파일하는 것, 및 그들을 마이크로서비스들에 로딩하는 것을 예시하는 흐름도이다.
도 19는 일 실시예에 따른 제3자 보안 도구들과 인터페이스하는 네트워크 보안 시스템을 예시하는 블록도이다.
도 20은 일 실시예에 따른 데이터 패킷들을 마이크로서비스 큐들에 로드 스태킹하는 것을 예시하는 흐름도이다.
도 21은 일 실시예에 따른 인트라 시스템 데이터 통신을 예시하는 블록도이다.
도 22는 일 실시예에 따른 관리 마이크로서비스들 및 데이터 경로 마이크로서비스들을 포함하는 네트워크 보안 시스템의 블록도를 예시한다.
도 23은 전개 사양에 따른 데이터 센터를 위한 네트워크 보안을 제공하기 위해 네트워크 보안 시스템을 설치하고 구성하는 프로세스를 예시하는 흐름도이다.
도 24는 일 실시예에 따른 네트워크 보안 시스템을 통해 데이터 흐름을 처리하는 프로세스를 예시하는 흐름도이다.
도 25는 일 실시예에 따른 네트워크 보안 시스템의 전원을 차단하는 것 없이 런타임 동안 마이크로서비스 보안 정책을 업그레이드하는 프로세스를 예시하는 흐름도이다.
도 26은 일 실시예에 따른 로드 조건들에 따라 네트워크 보안 시스템의 전원을 차단하는 것 없이 마이크로서비스를 동적으로 스케일 아웃하는 프로세스를 예시하는 흐름도이다.
도 27은 일 실시예에 따른 네트워크 보안 시스템과 국부적으로 또는 원격으로 상호작용하는 프로세스를 예시하는 흐름도이다.
이하의 설명에서, 다수의 구체적 상세들이 제시된다. 그러나, 개시의 실시예들이 이러한 구체적 상세들 없이 실시될 수 있다는 점이 이해된다. 다른 사례들에서, 회로들, 구조들 및 기술들은 이러한 설명의 이해를 모호하게 하지 않도록 상세히 도시되지 않았다.
명세서에서 "하나의 실시예", "일 실시예", "예시적 실시예" 등에 대한 참조는 설명되는 실시예가 특정 특징, 구조, 또는 특성을 포함할 수 있지만, 모든 실시예가 특정 특징, 구조, 또는 특성을 반드시 포함할 필요가 없는 것을 표시한다. 더욱이, 그러한 구들은 동일한 실시예를 반드시 언급하고 있는 것은 아니다. 게다가, 특정 특징, 구조, 또는 특성이 일 실시예와 관련하여 설명될 때, 명시적으로 설명되든 안되든 다른 실시예들과 관련하여 그러한 특징, 구조, 또는 특성에 영향을 미치는 것이 본 기술분야의 통상의 기술자의 지식 내에 있는 것으로 제출된다.
트래픽 로드, 용이한 전개, 및/또는 새로운 보안 정책들에 의한 자동 갱신에 따라 스케일 아웃 또는 스케일 인하는, 구성을 허용하는 데이터 센터 네트워크 보안 검출 및 보호의 실시예들이 본원에 상세히 설명된다.
도 2는 일 실시예에 따른 데이터 센터 내에 보안 서비스들의 전개를 예시한다. 데이터 센터는 보안 서비스들의 계층을 물리적 서버들에 제공하는 전개된 보안 기기로 구성된다. 도시된 바와 같이, 데이터 센터 랙(202)은 물리적 보안 기기(204) 및 3개의 물리적 서버(206, 210, 및 214)를 포함하며, 물리적 서버들은 가상 애플리케이션 서버들(208, 212, 및 216)을 포함하고, 그것의 각각은 가상 애플리케이션들 1 내지 n을 호스팅한다. 물리적 보안 기기(204)는 인터페이스 서비스들(232), TCP/IP(L3-L4 프로토콜) 서비스들(230), SSL/TLS(암호화/복호화) 서비스(228), 심층 패킷 검사(Deep packet Inspection)(DPI) 서비스들(226), 네트워크 객체 추출(Network Object Extraction)(NOX) 서비스들(224), 데이터 누설 보호(Data Leakage Protection)(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 스택의 하나의 레벨(예를 들어, 이더넷)에서 처리를 수행하는 요건과 유사하다. 일 예로서, TCP/IP 처리는 애플리케이션들에 의해 전송되는 스트림들을 리어셈블리할 것이다. NOX 처리는 리어셈블리된 스트림들의 출력에 의존하고 일반적으로 단일 패킷들에 동작하지 않는다. 마찬가지로 암호화되거나 압축된 스트림들은 NOX 처리 전에 각각 복호화되거나 압축 해제되어야 한다. 동일한 소스 데이터 상에 수행될 수 있는 분석들은 동시에 발생하도록 요구되지 않으며 임의의 특정 순서로 발생하도록 요구되지 않는다.
이러한 보안 계층의 일반적 성질은 계층의 각각의 층이 하위 계층 레벨로부터 서비스된 데이터를 수락하고, 수락된 데이터를 처리하고, 처리된 데이터를 계층의 상위 레벨에 제출하는 것이다. 일부 실시예들에서, 계층의 각각의 레벨에서, 규칙은 특정 네트워크 트래픽이 보안 정책을 따르거나 위반하는 것을 결정하고 계층의 하위 레벨들에 대한 "수락" 또는 "거부" 응답을 반환함으로써 처리를 종결시킬 수 있다. 그러한 규칙들은 정책들로 구성될 수 있고 또한 정책들로 그룹화될 수 있다. 일부 상황들(암호화가 사용되지 않는 것을 검출하는 것과 같은) 하에, 계층의 층은 스킵되고 데이터는 계층 내의 상위 레벨에 제공될 수 있다. 일 예로서, 규칙은 2개의 네트워크 사이에서 암호화된 트래픽을 허용하지 않도록 구성될 수 있다. 리어셈블리된 TCP/IP 패킷들을 처리하는 결과가 암호화된 페이로드들의 존재를 표시하면, "거부" 메시지는 TCP/IP 층에 송신되어 트래픽으로 하여금 중단되게 할 것이다.
도 4는 일 실시예에 따른 데이터 센터 랙 내에 보안 서비스들의 전개를 예시한다. 가상 보안 기기(400)의 데이터 센터 랙(402)은 보안 서비스들의 계층을 물리적 서버들에 제공하는 전개된 보안 기기로 구성된다. 도시된 바와 같이, 데이터 센터 랙(402)은 물리적 서버(404)를 포함하며, 물리적 서버는 가상 보안 기기 1(406) 및 가상 애플리케이션 서버 A(408)를 제공한다. 데이터 센터 랙(402)은 또한 가상 애플리케이션 서버 B(412)를 제공하는 물리적 서버 B(410), 및 가상 애플리케이션 서버 C(416)를 제공하는 물리적 서버 C(414)를 제공한다. 물리적 서버 A(404)는 인터페이스 서비스들(432), TCP/IP(L3-L4 프로토콜) 서비스들 430, SSL/TLS(암호화/복호화) 서비스들(428), 심층 패킷 검사(Deep packet Inspection)(DPI) 서비스들(426), 네트워크 객체 추출(Network Object Extraction)(NOX) 서비스들(424), 데이터 누설 보호(Data Leakage Protection)(DLP) 서비스들(422), 및 구성 서비스들(420)을 포함하지만, 이들에 제한되지 않는 보안 기기 서비스들(418)을 제공한다. 이메일 처리 서비스들, 침입 탐지 서비스들 및 다른 서비스들과 같은 부가 서비스들이 전개될 수 있다.
도 5는 물리적 서버 또는 가상 보안 기기를 호스팅하기 위해 데이터 센터 랙들을 포함하는 데이터 센터의 일 실시예이다. 도시된 바와 같이, 데이터 센터(500)는 다수의 데이터 센터 랙(502 및 512)을 포함하며, 데이터 센터 랙은 물리적 서버들(504, 508, 510, 514, 518, 및 520)을 포함한다. 물리적 서버들(504 및 512)은 가상 보안 기기들(506 및 516)을 포함하도록 도시된다. 전개된 보안 기기는 물리적 기기, 또는 데이터 센터 내의 서버 상에 전개되는 가상 기기일 수 있다. 어느 하나의 경우에, 기기 내에 실행하는 보안 서비스들의 계층은 기기 자체의 한계들 내에서 스케일된다. 결과적으로, 증가된 요구를 충족시키기 위해 보안 서비스를 스케일하는 것(스케일 아웃)은 하나 이상의 부가 보안 기기(보안에 전용인 부가 물리적 서버, 또는 가상 보안 기기를 포함하는 물리적 서버)를 전개하는 것을 의미한다. 이러한 복수의 기기는 트래픽이 IP 어드레스 범위들과 같은 층 2 내지 4 성질에 기초하여 기기들 간에 분할되는 것을 의미하는 인터페이스 레벨(라우팅 또는 물리적 인터페이스들)에서 로드 밸런싱된다. 각각의 기기가 구성 인터페이스를 가짐에 따라, 이러한 복수의 기기의 모든 구성들은 동기화되고 일관되게 유지된다.
부가 기기들을 부가함으로써 보안 서비스들을 스케일하는 것은 데이터 센터 관리를 위한 문제들을 야기할 수 있다. 예를 들어, 단지 서비스 또는 계층 레벨이 부가 성능을 필요로 하는 것보다는 오히려, 전체 기기를 복제하는 것은 데이터 센터 자원들을 폐기한다.
도 6은 쓰리 타임 스케일 아웃 요건을 충족시키기 위해 스케일 아웃하는 데이터 센터의 일 실시예를 예시한다. 도시된 바와 같이, 보안 기기(600)는 구성 서비스(602), DLP 서비스(604), NOX 서비스(606), DPI 서비스(608), SSL/TLS 서비스(610), TCP/IP 서비스(612), 및 인터페이스들(614)를 포함하기 위해 프로비저닝되었다. 예시된 바와 같이, 3X 스케일 아웃 요건은 구성 서비스(618), DLP 서비스(620), NOX 서비스(622), DPI 서비스(624), SSL/TLS 서비스(626), TCP/IP 서비스(628), 및 인터페이스들(630)을 포함하는 부가 보안 기기(616), 및 구성 서비스(634), DLP 서비스(636), NOX 서비스(638), DPI 서비스(640), SSL/TLS 서비스(642), TCP/IP 서비스(644), 및 인터페이스들(646)을 포함하는 제2 부가 보안 기기(632)를 프로비저닝함으로써 충족된다.
불행하게도, 도 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은 일 실시예에 따른 쓰리 타임 스케일 아웃 요건을, 마이크로서비스들을 사용하여 충족시키는 것을 예시한다. 이러한 예에서, 단일 마이크로서비스(DPI)만이 부가 자원들을 필요로 한다. 도시된 바와 같이, DLP 마이크로서비스(704), NOX 마이크로서비스(706), DPI 마이크로서비스(708), SSL/TLS 마이크로서비스(710), TCP/IP 마이크로서비스(712), 및 세그먼트 마이크로서비스(714)를 포함하는 스케일가능 마이크로서비스 아키텍처(700)를 이용함으로써, 보안 서비스 계층의 각각의 층은 다음 계층 레벨에의 처리된 데이터의 공급을 로드 밸런싱하기 위해 독립적으로 스케일되고 구성된다. 도시된 바와 같이, 구성 마이크로서비스(702) 및 DLP 마이크로서비스(704)는 물리적 서버 A(720) 상에, 마이크로서비스들 1 및 2로서 수행되도록 각각 할당되었다. NOX 마이크로서비스(706)는 물리적 서버 B(722) 상에 마이크로서비스 3으로서 수행되도록 할당되었다. DPI 마이크로서비스들(708)은 3X 스케일 아웃되었고, 이러한 사례에서 물리적 서버 B(722) 및 물리적 서버 C(724) 상에 마이크로서비스들 4 내지 6으로서 수행되도록 할당되었다. 스케일가능 보안 아키텍처의 나머지 마이크로서비스들은 데이터 센터(716)에서 데이터 센터 랙들(718 및 726)에 의해 구현되는 것으로 도시되며, 데이터 센터 랙(726)은 물리적 서버들 X, Y, 및 Z(728, 730, 및 732)를 포함한다. 구성 마이크로서비스(702)는 보안 서비스들을 수신할 각각의 물리적 서버 상에 소프트웨어 구성요소로서 전개되는 구성 백플레인 및 데이터 평면을 생성한다. 이러한 생성 프로세스는 라우팅 규칙들을 구성하는 형태, 네트워크 어드레스 s6e(서브넷과 같은)를 예약하는 형태 및 보안되는 서버들 내외에서의 네트워크 통신을 위한 게이트웨이들로서 예약된 어드레스 s6e의 부분들을 이용하기 위해 가상 환경들을 구성하는 형태를 취한다. 따라서, 백플레인 및 데이터 평면 둘 다는 보안 시스템에 의해 관리되는 가상 네트워크들로 간주될 수 있다. 그 후, 모든 보안 마이크로서비스들은 이러한 네트워크들을 이용하여 그들 자체 간에 패킷들, 콘텐츠, 상태 및 다른 정보를 송신할 수 있다. 백플레인 및 데이터 평면의 성질들은 보안 시스템 외부로부터 패킷 트래픽을 거부하고 물리적 서버 및 가상 환경 구성에 관계없이 마이크로서비스들 사이에 정보를 라우팅하도록 구성된다.
도 8은 일 실시예에 따른 임의적 스케일 아웃 요건을 충족시키는 것을 예시한다. 도시된 바와 같이, 스케일가능 보안 아키텍처(800)는 구성 마이크로서비스(802), DLP 마이크로서비스(804)(2X 스케일 아웃을 요구함), NOX 마이크로서비스(806), DPI 마이크로서비스(808)(3X 스케일 아웃을 요구함), SSL/TLS 마이크로서비스(810), TCP/IP 마이크로서비스(812)(3x 스케일 아웃을 요구함), 및 세그먼트 마이크로서비스(814)를 포함한다. 도시된 바와 같이, 구성 마이크로서비스(816)는 최저 계층으로부터 최고 계층으로 (818, 820, 822, 824, 826, 및 828) 11 마이크로서비스를 프로비저닝하고, 그들을 구성하여 백플레인을 통해 서로 통신한다.
도 9는 일 실시예에 따른 마이크로서비스를 스케일 아웃함으로써 임의적 스케일 아웃 요건을 충족시키는 것을 예시한다. 도시된 바와 같이, 스케일가능 보안 아키텍처(900)는 구성 마이크로서비스(902), DLP 마이크로서비스(904)(2X 스케일 아웃을 요구함), NOX 마이크로서비스(906), DPI 마이크로서비스(908)(3X 스케일 아웃을 요구함), SSL/TLS 마이크로서비스(910), TCP/IP 마이크로서비스(912)(3x 스케일 아웃을 요구함), 및 세그먼트 마이크로서비스(914)를 포함한다. 도시된 바와 같이, 구성 마이크로서비스(916)는 최저 계층으로부터 최고 계층으로 (918, 920, 922, 924, 926, 및 928) 11 마이크로서비스를 프로비저닝하고, 그들을 구성하여 데이터 평면(930)과 연결한다.
상이한 보안 서비스들의 성능을 스케일하는 것은 통상 언밸런싱되며, 즉 보안 계층의 상이한 레벨들의 성능 요건들은 대부분 종종 상이하고 하나의 레벨의 요건의 증가는 등가 성능 증가 요건에 드물게 동방된다.
도 10은 보안 시스템 내의 마이크로서비스들의 계층 내에서 마이크로서비스들을 스케일 아웃하는 방법을 예시하는 흐름도이다. 전형적으로, 이러한 방법의 실시예들은 하드웨어 프로세서 상의 구성 마이크로서비스의 실행에 의해 수행된다. 그러나, 다른 마이크로서비스들 또는 액터들은 이러한 방법의 실시예들의 하나 이상의 양태를 수행할 수 있다. 예시된 바와 같이, 구성 마이크로서비스는 특정 계층의 기존 마이크로서비스들이 너무 많은 자원들을 소비하고 있거나 보안 시스템의 성능을 다른 방법으로 제한하고 있는 것을 검출할 시에, 특정 보안 서비스(계층)를 스케일 아웃한다. 검출의 방법은 마이크로서비스들의 로드 및 레이턴시 통계들, 가상 및 물리적 서버들의 성능 특성들 또는 다른 이용가능 메트릭들을 감시하는 단계 및 임계치들에 대해 이러한 감시된 메트릭들을 평가하는 단계를 포함할 수 있다. 1004에서, 구성 마이크로서비스는 서버 상에 특정 계층의 보안 서비스를 수행하도록 구성되는 새로운 마이크로서비스를 나중에 초기화한다. 1006에서, 구성 마이크로서비스는 새로운 마이크로서비스와 상위 및 하위 계층 레벨들의 마이크로서비스들 사이에서 데이터 연결성을 인에이블하기 위해 데이터 평면을 구성한다. 1008에서, 구성 마이크로서비스는 상위 레벨 보안 서비스에 대한 로드 밸런싱을 위한 선택 메커니즘에서 새로운 마이크로서비스를 포함하기 위해 하위 계층 레벨의 마이크로서비스들을 구성한다.
도 11은 보안 시스템 내의 마이크로서비스들의 계층 내에서 마이크로서비스들을 스케일 인하는 방법을 예시하는 흐름도이다. 전형적으로, 이러한 방법의 실시예들은 하드웨어 프로세서 상의 구성 마이크로서비스의 실행에 의해 수행된다. 그러나, 다른 마이크로서비스들 또는 액터들은 이러한 방법의 실시예들의 하나 이상의 양태를 수행할 수 있다. 1104에서, 구성 마이크로서비스는 스케일 인되는 제1 계층의 제1, 특정 보안 서비스(계층)를 선택한다. 일 실시예에서, 구성 마이크로서비스는 특정 계층의 기존 마이크로서비스들이 완전히 이용되고 있지 않거나 보안 시스템 내의 자원들을 다른 방법으로 폐기하고 있는 것을 검출할 시에 특정 보안 서비스를 선택한다. 1106에서, 구성 마이크로서비스는 상위 레벨 보안 서비스를 로드 밸런싱하는 선택 메커니즘으로부터 특정 마이크로서비스를 제거하기 위해 제2 하위 계층 레벨의 마이크로서비스들을 (특정 보안 서비스에 대해) 구성한다. 1108에서, 구성 마이크로서비스는 특정 마이크로서비스와 상위 및 하위 계층 레벨들의 마이크로서비스들 사이에서 데이터 연결성을 디스에이블(또는 제거)하기 위해 데이터 평면을 구성한다. 1110에서, 구성 마이크로서비스는 특정 마이크로서비스를 종결(또는 종료)시킨다.
도 12는 보안 시스템에서 마이크로서비스들의 계층을 최적화하는 방법을 예시하는 흐름도이다. 전형적으로, 이러한 방법의 실시예들은 하드웨어 프로세서 상의 구성 마이크로서비스의 실행을 통해 수행된다. 그러나, 다른 마이크로서비스들 또는 액터들은 이러한 방법의 실시예들의 하나 이상의 양태를 수행할 수 있다. 1204에서, 제1 계층의 제1 마이크로서비스가 선택된다. 일 실시예에서, 특정 보안 마이크로서비스의 자원 이용 효율을 증가시키기 위해, 구성은 제1 계층의 제1 선택된 마이크로서비스가 실행하고 있는 서버가 마이크로서비스를 (메모리, IO, 디스크 또는 다른 이용 메트릭들로 인해) 지원하는데 더 이상 적당하지 않은 것을 검출한다. 1206에서, 구성 마이크로서비스는 상위 레벨 보안 서비스에 대한 로드 밸런싱을 위한 선택 메커니즘으로부터 특정 마이크로서비스을 디스에이블하기 위해 하위 계층 레벨의 마이크로서비스를 (특정 보안 서비스에 대해) 구성한다. 1208에서, 구성 마이크로서비스는 마이크로서비스를 다른 서버로 이동시킨다. 1210에서, 구성 마이크로서비스는 새로운 서버를 반영하기 위해 데이터 평면 구성을 수정한다. 1212에서, 구성 마이크로서비스는 상위 레벨 보안 서비스에 대한 로드 밸런싱을 위한 선택 메커니즘에서 이동된 마이크로서비스를 포함하기 위해 하위 계층 레벨의 마이크로서비스들을 구성한다. 프로세스는 1214에서 종료된다.
네트워크 보안 시스템
도 1은 마이크로서비스들을 사용하여 스케일가능 마이크로서비스 아키텍처의 구성요소들의 일 실시예를 예시하는 블록도이다. 네트워크 보안 시스템 마이크로서비스들은 메모리(예를 들어, 랜덤 액세스 메모리(Random Access Memory)(RAM)와 같은 휘발성 메모리 및/또는 디스크와 같은 비휘발성 메모리)에 저장되고 하나 이상의 하드웨어 프로세서 또는 프로세서 코어들에 의해 실행된다. 특정 보안 서비스를 수행하기 위해 실행가능 명령어들로 구성되는 네트워크 보안 시스템 마이크로서비스들은 이용가능 물리적 서버들에 걸친 구성에 기초하여 전개된다. 전형적으로, 각각의 마이크로서비스는 가상 섀시(106)의 백플레인을 통해 구성 및 작업들을 수신하고 상태, 통계들 및 다른 정보를 백플레인에 반환한다. 마이크로서비스의 공통 성질은 다른 마이크로서비스들로부터의 메모리의 분리 및 보호이다. 이러한 방식으로, 개별 마이크로서비스는 다른 물리적 서버로 이동되거나 다른 마이크로서비스들을 im6ting하는 것 없이 비정상적으로 종결될 수 있다.
보안 시스템에 의해 처리되는 데이터는 데이터 평면을 사용하여 마이크로서비스로부터 다른(상위 계층) 마이크로서비스로 전달된다. 일부 실시예들에서, 그러한 전달 동안, 하위 마이크로서비스는 어느 상위 계층 마이크로서비스가 이용되는지에 관한 결정을 (구성, 현재 통계들 및 다른 정보에 기초하여) 한다. 그러한 결정은 상위 계층 마이크로서비스들이 효율적으로 이용되는 것을 보장하기 위해 로드 밸런싱 결정을 구성할 수 있다. 다른 실시예들에서, 어느 마이크로서비스가 이용되는지의 결정은 보다 중앙의 엔티티에 의해 이루어진다.
예시된 바와 같이, 네트워크 보안 시스템은 메모리(104)(예를 들어, 랜덤 액세스 메모리(RAM)와 같은 휘발성 메모리 및/또는 디스크와 같은 비휘발성 메모리)에 저장되는 마이크로서비스들을 실행하기 위해 하드웨어 프로세서(102)(중앙 처리 유닛(central processing unit)(CPU) 또는 그것의 하나 이상의 코어, 그래픽 처리 유닛(graphics processing unit)(GPU) 또는 그것의 하나 이상의 코어, 또는 가속 처리 유닛(accelerated processing unit)(APU) 또는 그것의 하나 이상의 코어와 같은)를 이용한다. 네트워킹 인터페이스(예를 들어, 유선 또는 무선인 패브릭 또는 인터커넥트)(128)는 데이터 센터와 통신하는 수단을 제공한다. 네트워크 보안 시스템은 아래에 추가로 설명되는 바와 같이, 마이크로서비스들을 사용하여, 트래픽을 검사하고, 위협들을 검출하고, 데이터 센터를 다른 방법으로 보호할 수 있다.
상기 ca4ilities를 제공하는 네트워크 보안 시스템의 실시예들은 이제 더 상세히 논의된다. 네트워크 보안 시스템은 보안을 데이터 센터에 추가하고, 데이터 센터의 보안을 향상시킨다. 일 실시예에서, 네트워크 보안 시스템은 시드 소프트웨어 애플리케이션의 형태로 전달(예를 들어, 다운로드)된다. 시드 소프트웨어 애플리케이션은 데이터 센터 내의 호스트 상에 네트워크 보안 시스템의 마이크로서비스들을 인스턴스화한다. 본원에 사용되는 바와 같이, 마이크로서비스 컨테이너는 마이크로서비스가 실행하는 곳, 대부분 현저히 가상 머신을 언급한다. 전개되면, 네트워크 보안 시스템은 이용가능 처리 파워(위에 상세히 설명된 바와 같은)(102), 메모리(104), 및 네트워크 연결(128)을 이용한다. 많은 시나리오들에서, 보안은 기존 하드웨어를 사용하여 그리고/또는 특정 기능성을 위한 특정 랙 디바이스들을 구매해야 하는 것 없이 추가/구성될 수 있다. 시드 소프트웨어 애플리케이션은 매우 다양한 호스트들 중 어느 하나 상에 설치될 수 있다 - 그들은 저속 또는 고속이거나, 저비용 또는 고비용이거나, 상품화 또는 맞춤화되거나, 지리적으로 분산되거나, 중복 방식의 일부이거나, 또는 규칙적 백업들을 가진 시스템의 일부이다.
개시되면, 또한 아래에 추가로 설명되는 바와 같이, 네트워크 보안 시스템은 일부 실시예들에서, 어떤 네트워크 세그먼트들이 존재하는지, 다양한 네트워크 세그먼트들의 보안 요건들, 및 어떤 호스트들 및 하드웨어 자원들이 이용가능하지, 및 필요에 따라 부가 구성 정보를 발견하기 위해 데이터 센터를 탐색하도록 물리적 네트워크 인터페이스(128)를 이용할 것이다. 일 실시예에서, 데이터 센터 자체는 하이퍼바이저들을 가진 수개의 머신들, 또는 물리적 하드웨어를 포함하고, 네트워크 보안 시스템(100)은 그러한 내부 가상 머신들 중 하나 이상 또는 물리적 하드웨어와 통신하고 이들을 보호하기 위해 마이크로서비스들을 제공한다. 데이터 센터 발견을 수행한 후에, 네트워크 보안 시스템은 일부 실시예들에서, 이때 사용자 인터페이스를 통해, 또는 기존 기업 관리 소프트웨어와의 연결들에 의해 선택되는 이용가능 보안 도구들을 제공하거나 제안할 것이다. 일 실시예에서, 구성되면, 네트워크 보안 시스템은 "인라인"으로 전개되어, 데이터 센터로 향하게 되는 실질적으로 모든 패킷들을 수신하여, 네트워크 보안 시스템이 데이터 센터 전에 의심 트래픽을 인터셉트하고 차단하는 것을 허용한다. 데이터 센터의 이해에서, 네트워크 보안 시스템(100)은 입구에서가 아닌 데이터 센터 도처에서 트랙픽을 검사하기 위해 마이크로서비스들을 전개한다. 일부 실시예들에서, 네트워크 보안 시스템은 "카피 전용" 구성으로 전개되며, 그것은 트래픽을 감시하고, 위협들을 검출하고, 경보들을 발생시키지만, 데이터 센터에 도달하기 전에 트래픽을 인터셉트하지 않는다.
도 1을 다시 참조하면, 도시되지 않지만, 하드웨어 프로세서(102)는 일 실시예에서 하나 이상의 레벨의 캐시 메모리를 포함한다. 도시된 바와 같이, 메모리(104)는 마이크로서비스 자체인 가상 섀시(106)뿐만 아니라, 마이크로서비스들(108, 110, 112, 114, 116, 118, 120, 및 122)을 그 안에 저장했다. 일 실시예에서, 마이크로서비스들은 크기가 작으며, 상대적으로 작은 수의 명령어들로 구성된다. 일 실시예에서, 마이크로서비스들은 서로 독립적이다. 예시된 바와 같이, 마이크로서비스들(108 내지 122)은 메모리로부터 로딩되고 하드웨어 프로세서(102)에 의해 실행되는 마이크로서비스들이다. 그러한 마이크로서비스들은 도 14, 도 17, 및 도 19에 대해 아래에 추가로 설명되는 바와 같이, 데이터 경로 보안 마이크로서비스들, 예를 들어 TCP/IP, SSL, DPI, 또는 DPL 검사 마이크로서비스들을 포함한다. 마이크로서비스들은 또한 도 14, 도 17, 및 도 19에 대해 아래에 추가로 설명되는 수개의 예를 들자면, 관리 마이크로서비스들, 예를 들어 마이크로서비스들을 관리하는 섀시 컨트롤러, 구성 마이크로서비스, 인프라스트럭처 발견 마이크로서비스, 데이터를 저장하는 데이터베이스 마이크로서비스, 및 외부 보안 클라우드로부터 정책 갱신들을 수신하는 정책 갱신 마이크로서비스, 및 다양한 소스들로부터 정책 데이터를 수신하고 마이크로서비스들에 의해 사용되는 이진 정책 출력들을 생산하는 컴파일러를 포함할 수 있다.
네트워크 보안 시스템은 s 데이터 센터로/로부터 인터페이스(128)를 통해 트래픽을 수신한다. 일 실시예에서, 네트워크 보안 시스템은 인라인으로 배치되어 트래픽을 검사하고, 그것이 데이터 센터에 도달하거나 데이터 센터를 출발하기 전에 위협을 잠재적으로 인터셉트한다. 대체 실시예들에서, 네트워크 보안 시스템은 데이터 센터 내로, 또는 데이터 센터 외로 향하는 트래픽을 감시하며, 그 경우에 네트워크 보안 시스템은 위협들을 검출하고 경보들을 발생시키지만, 데이터를 차단하지 않는다. 그 후, 하드웨어 프로세서(102)는 데이터 상에 다양한 데이터 보안 마이크로서비스들을 실행한다. 예를 들어, 도 14, 도 17, 및 도 19에 대해 아래에 추가로 설명되는 바와 같이, 전형적으로 트래픽은 우선 세그먼트 마이크로서비스, 그 후 TCP/IP 검사 마이크로서비스, 그 후 SSL 마이크로서비스, 그 후 DPI 마이크로서비스, 그 후 NOX 마이크로서비스, 및 그 후 DLP 마이크로서비스에 이르고 이들을 통과한다. 그러나, 그러한 서비스들 중 하나 이상은 인에이블되지 않을 수 있다. 일부 실시예들에서, 세그먼트 마이크로서비스는 네트워크 세그먼트 내에 상주하고 데이터 패킷들을 위한 엔트리 포인트의 역할을 하고 추가 분석을 위해 패킷들을 적절한 마이크로서비스들에 전송한다. 본원에 사용되는 바와 같은 데이터 경로 마이크로서비스들은 TCP, TLS, DPI, NOX, 또는 DLP와 같은, 네트워크 트래픽을 검사하고 분석하는 다양한 마이크로서비스들을 언급한다. TCP 마이크로서비스는 예를 들어, 임의의 층 4 내지 6 네트워크 패킷을 처리할 수 있는 패킷 취급 마이크로서비스를 언급하고 파이어월링의 부분을 포함한다. TLS 마이크로서비스는 예를 들어, 전송 층 보안 마이크로서비스를 언급하며, 그것은 연결들을 복호화/재암호화한다. DPI 마이크로서비스는 예를 들어, 심층 패킷 검사 마이크로서비스를 언급하고 층 7 검사를 취급한다. NOX 마이크로서비스는 예를 들어, 네트워크 객체 추출기 마이크로서비스를 언급하고, 개별 패킷들로부터 객체들을 어셈블리하고 그들을 다른 서비스들에 전달하기 위해 DPI와 함께 동작한다. DLP 마이크로서비스는 예를 들어, 데이터 손실 방지 마이크로서비스를 언급하며, 그것은 데이터 손실을 검출하고 방지한다. 다른 한편, 제어 경로 마이크로서비스들은 관리 평면에서 인스턴스화되고 관리 평면을 구성하는, 팩토리, 컴파일러, 구성, 인프라스트럭처 발견, 데이터베이스, 메신저, 스케일러, 및 섀시 컨트롤러와 같은 다양한 마이크로서비스들이다. 상술한 마이크로서비스들에 의해 검출되는 위협들은 일 실시예에서, 섀시 컨트롤러 마이크로서비스에 보고될 것이며, 이 마이크로서비스는 교정 액션을 취한다.
일 실시예에서, 마이크로서비스들(108 내지 122)은 인터페이스(128)를 통해, 인터넷으로부터 로딩된다. 예를 들어, 일 실시예에서, 마이크로서비스들은 웹 사이트 또는 온라인 스토어 사이트로부터 다운로드된다. 일부 실시예들에서, 마이크로서비스들(108 내지 122)은 메모리(104)에 로딩된다. 다양한 실시예들에서, 마이크로서비스들은 다른 디스크 드라이브, CD, CDROM, DVD, USB 플래시 드라이브들, 플래시 메모리, 보안 디지털(Secure Digital)(SD) 메모리 카드, 메모리 카드를 제한 없이 포함하는, 디지털 매체들과 같은 비일시적 컴퓨터 판독가능 매체 상에 로딩되고 비일시적 컴퓨터 판독가능 매체로부터 수신된다. 디지털 매체로부터 수신되는 마이크로서비스들은 하나의 사례에서 메모리(104)로 저장된다. 실시예들은 이러한 맥락에서 제한되지 않는다. 추가 실시예들에서, 디지털 매체는 프로세서 및 메모리와 같은 하드웨어 요소들의 조합을 구성하는 데이터 소스이다.
대부분의 실시예들에서, 네트워크 보안 시스템은 데이터 센터 컴퓨터 상에 실행한다. 그러나, 대체 실시예들에서, 네트워크 보안 시스템은 저비용에서 고비용까지, 및 저전력에서 고전력까지의 범위인 매우 다양한 대체 컴퓨팅 플랫폼들 중 어느 하나 상에 설치되고 실행한다. 일부 실시예들에서, 네트워크 보안 시스템은 저비용 일용품 서버 컴퓨터 상에, 또는, 일부 실시예들에서, 저비용 랙 장착 서버 상에 설치되고 실행한다. 예시된 바와 같이, 하드웨어 프로세서(102)는 단일 코어 프로세서이다. 대체 실시예들에서, 하드웨어 프로세서(102)는 다중 코어 프로세서이다. 대체 실시예들에서, 하드웨어 프로세서(102)는 대량 병렬 프로세서이다.
일부 실시예들에서, 가상 섀시(106) 및 마이크로서비스들(108 내지 122)은 보호되는 데이터 센터에 사용되는 매우 다양한 하드웨어 플랫폼들 중 어느 것 상에 호스팅될 수 있다.
아래의 표 1은 다수의 예시적 데이터 센터 환경들을 열거하고 설명하며, 그 중 어느 하나는 가상 섀시(106) 및 마이크로서비스들(108 내지 122)을 호스팅한다:
표 1. 가상 섀시(106)를 호스팅하는 환경들
Figure pct00001
일부 예들에서, 네트워크 보안 시스템은 상위 트래픽 또는 로드를 수용하기 위해 이용가능 자원들을 사용하여 스케일 아웃한다. 예시적 실시예에서, CPU(102) 및 메모리(104)는 필요에 따라 동적으로 스케일 아웃 또는 스케일 인된다: 부가 CPU들 및 메모리는 스케일 아웃되면 추가되고, 일부 CPU들 및/또는 메모리는 스케일 인되면 전원 차단된다. 이러한 스케일 아웃은 기존 할당을 이용하는 상위 트래픽을 수용할 수 있는 보안 계층의 그러한 부분들에 부가 CPU들 및 메모리를 할당하지 않으면서 요구되는 보안 계층의 그러한 부분들에 부가 CPU들 및 메모리를 할당하기 위해 수행된다.
도 13은 일 실시예에 따른 네트워크 보안 시스템의 일부를 예시하는 블록도이다. 예시된 바와 같이, 네트워크 보안 시스템은 가상 섀시(1301), 관리 평면(1302), 데이터 경로 데이터 평면(1304), 및 백플레인(1306)을 포함한다(이러한 소프트웨어를 저장하고 실행하는 기본 하드웨어는 도시되지 않음). 도 13은 네트워크 보안 시스템의 논리 시스템 아키텍처를 예시하며, 그것의 구성요소들 각각은 도 1의 네트워크 보안 시스템과 유사한 네트워크 보안 시스템에 의해 구현된다.
마이크로서비스 기반 아키텍처
마이크로서비스 기반 아키텍처는 구성요소들 및 네트워크 보안 도구들(예를 들어, 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 아키텍처들은 계층이 가변 값들을 표시하는 상태에서 다변수 필드로서의 범용 자원 표시자(Universal Resource Indicator)(URI)의 사용을 통해 전개, 디버깅 및 동작의 유연성을 허용한다.
예시된 바와 같이, 네트워크 보안 시스템은 가상 섀시(1301), 관리 평면(1302), 백플레인(1306), 및 데이터 경로 평면(1308)을 포함하며, 그것의 각각은 가상 머신 또는 컨테이너로서 구현되고 컴퓨팅 하드웨어 상에 전개되는 마이크로서비스이다. 일 실시예에 따르면, 호스트 머신은 하이퍼바이저를 구비하며, 하이퍼바이저는 가상 머신들을 개시하고 파괴하는 하나의 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어이다. 일부 실시예들에서, 호스트 머신은 마이크로 커널 명령어들과 함께 마이크로 커널을 제공한다.
관리 평면(1302)은 컴퓨터 시스템 상에 전개되는 가상 머신 또는 컨테이너로서 각각 구현되는, 마이크로서비스들(1308, 1310, 1312, 1314, 1316, 1318, 1320, 1322, 및 1324)을 포함한다.
도 13에 예시된 바와 같이, 관리 평면(1302)은 팩토리(1310)를 이용하여, 팩토리는 일 실시예에서, 인프라스트럭처 발견 마이크로서비스(1312), 스케일러 마이크로서비스(1314), 및 섀시 컨트롤러 마이크로서비스(1316)를 포함하고, 일부 실시예들에서, 마이크로서비스들, 정책 마이크로서비스 및 자원 그룹 마이크로서비스의 조합을 언급하고, 탄력적으로 스케일 인 또는 스케일 아웃한다. 본원에 사용되는 바와 같이, 정책은 아래에 설명되는 바와 같이, 섀시를 스케일링하는 법을 정의하며, 그것은 느긋한 스케일링 또는 공격적 스케일링이다. 일부 실시예들에서, 섀시 컨트롤러 마이크로서비스(1316)는 요구에 따라 새로운 마이크로서비스들을 생산하거나 입증, 섀시, 등록, 스케일링 및 인프라스트럭처 발견 마이크로서비스들을 포함하는, 로드에 따라 그들을 스케일 아웃 또는 스케일 인한다. 일부 실시예들에서, 팩토리(1310)는 팩토리 모델에 따라 정의되는 마이크로서비스 가상화 환경을 포함한다. 구조적 레벨 상에서, 일 실시예에 따른 팩토리는 서버들 및 컴퓨팅 디바이스들을 포함한다. 일부 실시예들에서, 팩토리는 하나의 위치에 배치된다. 다른 실시예들에서, 팩토리는 다양한 위치들에 걸쳐 분배된다. 또 다른 실시예들에서, 팩토리는 제3자 인프라스트럭처 공급자들로부터 마이크로서비스들을 가상화한다. 논리 레벨 상에서, 팩토리는 하나 이상의 가상 CPU, 가상 메모리, 및 가상 스토리지로 구성되는 가상화된 플랫폼이다. 팩토리는 마이크로서비스들이 상품화되는 것을 허용하여, 다수의 및 매우 다양한 마이크로서비스가 제3자 인프라스트럭처 공급자들로부터의 마이크로서비스들을 포함하는 다른 마이크로서비스들과 교환가능하게 제공되고 동작되는 것을 허용한다.
인프라스트럭처 발견 마이크로서비스(1312)는 일 실시예에서, 보호되는 데이터 센터(1342)와 인터페이스되고 데이터 센터를 탐색한다. 일부 실시예들에서 참조되는 바와 같이, 인프라스트럭처는 고객과 같은 엔티티에 의해 제공되는 자원들을, 계산, 저장 및 네트워킹 자원들의 형태로 언급한다. 일부 실시예들에서, 인프라스트럭처 링크는 양방향 통신을 위해 팩토리(1310) 및 인프라스트럭처를 연결한다. 인프라스트럭처 발견 마이크로서비스(1312)는 그러한 실시예에서, 어떤 네트워크 세그먼트들이 존재하는지, 다양한 네트워크 세그먼트들의 보안 요건들, 어떤 호스트들 및 하드웨어 자원들이 이용가능한지, 및/또는 필요에 따라 구성 정보를 결정하기 위해 인터페이스(1326)를 통해 데이터 센터(1342)를 탐색한다.
스케일러(1314)는 일 실시예에서, 마이크로서비스들 중 적어도 하나로부터 로드 통계들을 수신하는 마이크로서비스이며, 그것의 각각은 그 자체의 로드 통계들을 감시하고 그들을 스케일러(1314)에 보고한다. 개별 마이크로서비스들에 의해 감시되는 통계들은 예를 들어, 취급되는 패킷들의 수, 취급되는 요청들의 수, 취급하는 패킷들 및/또는 요청들의 큐 깊이, 및 그것의 프로세서 및 메모리 이용을 포함한다. 스케일러(1314)는 마이크로서비스들의 로딩 정보를 분석하고 섀시 컨트롤러(1316)에게 특정 마이크로서비스들을 스케일 아웃하거나 스케일 인하는 것을 요청하는지를 결정한다. 일 실시예에서, 스케일러(1314)는 섀시 컨트롤러(1316)가 부가 마이크로서비스를 스핀 업하는 것을 제안하는지를 결정하기 위해 마이크로서비스로부터 수신되는 로드 통계들을 스케일 아웃 임계치와 비교한다. 일부 실시예들에서, 스케일러(1314)는 섀시 컨트롤러(1316)가 마이크로서비스의 인스턴스를 정지하는 것을 제안하는지를 결정하기 위해 마이크로서비스로부터 수신되는 로드 통계들를 스핀 인 임계치와 비교한다.
섀시 컨트롤러(1316)는 일 실시예에서 네트워크 보안 시스템(1300)의 마이크로서비스들의 전부를 인스턴스화하고 전개한다. 일부 실시예들에서, 예를 들어 리부트, 파워 온 동안, 또는 전원 고장 후에, 섀시 컨트롤러(1316)는 스핀 업되는 제1 마이크로서비스들 간에 있고, 나머지 마이크로서비스들을 인스턴스화하고 전개한다. 일부 실시예들에서, 네트워크 보안 시스템(1300)이 리부트되고 있거나 돌발 고장으로부터 다른 방법으로 복구되고 있을 때, 섀시 컨트롤러(1316)는 스핀 업하는 제1 마이크로서비스가 아니더라도, 어느 마이크로서비스든 우선 스핀 업하는 것은 섀시 컨트롤러(1316)가 얼라이브인지를 체크하고, 그렇지 않으면, 그것이 스핀 업되는 것을 트리거한다. 섀시 컨트롤러(1316)가 얼라이브인지를 체크하는 것은 일 실시예에서, 미리 결정된 어드레스을 핑잉함으로써 달성된다. 대체 실시예들에서, 섀시 컨트롤러(1316)가 얼라이브인지를 체크하는 것은 섀시 컨트롤러(1316)에 대한 상태를 유지하는 상태 레지스터, 및 잠재적으로 다른 마이크로서비스들을 체크하는 것을 포함한다. 대체 실시예들에서, 섀시 컨트롤러(1316)는 그것의 상태를 가상 섀시(1300) 내의 마이크로서비스들에 브로드캐스팅하여, 그들이 얼라이브인 것을 알게 해준다.
구성 마이크로서비스(1308)는 일 실시예에서, 사용자 인터페이스를 통해 사용자로부터 구성 정보를 수신한다. 대체 실시예들에서, 구성 마이크로서비스(1308)는 인터페이스(1348)를 통해 기업 소프트웨어(1350)와 통신하고 기업 소프트웨어로부터 구성 정보를 수신한다. 구성 마이크로서비스(1308)는 일 실시예에서, 상기 설명되는, REST 아키텍처를 사용하여 기업 소프트웨어(1350)와 통신한다. 일부 실시예들에서, 구성 마이크로서비스(1308)는 데이터 센터 구성(예를 들어, 인프라스트럭처 발견 마이크로서비스(1312)로부터 습득됨)을 사용하고, 사용자가 선택하기 위한 보안 정책들 및 도구들을 제안한다.
컴파일러 마이크로서비스(1324)는 일 실시예에서, 정책 갱신 클라우드(1330)로부터 인터페이스(1346)를 통해 보안 정책 갱신들을 수신하며, 그것은 일 실시예에서, 잠재적 보안 위협들을 일정하게 식별하고 그들에 응답하는 정책들을 고안하는 네트워크 보안 전문가들의 그룹을 포함한다. 새롭게 고안된 정책들은 컴파일러 마이크로서비스(1324)에 의해 수신되고, 필요하면 다양한 마이크로서비스들에 의해 이해되는 언어로 변환되고, 마이크로서비스들에 운반된다.
다양한 부가 관리 마이크로서비스들(1318, 1320, 및 1322)은 네트워크 보안 시스템에 전개되는데 이용가능하다. 예시된 바와 같이, 관리 평면(1304)은 9개의 마이크로서비스를 포함하지만, 마이크로서비스들의 수는 그렇게 제한되지 않으며; 수는 제한 없이, 더 높거나 더 낮을 수 있다.
데이터 경로 평면(1304)은 세그먼트 마이크로서비스(1332)(때때로 "프런트 엔드" 또는 "FE"로 간단히 언급됨) 및 데이터 보안 마이크로서비스들(1334, 1336, 및 1338)을 구현하는 마이크로서비스들을 포함한다. 예시된 바와 같이, 데이터 경로 평면(1304)은 양방향 인터페이스(1344)를 통해, 외부 보안 도구들(1340)과 통신한다. 데이터 보안 마이크로서비스들의 다양한 실시예들은 전개되는데 이용가능하고, 일부는 아래에 추가로 설명된다. 예시된 바와 같이, 데이터 경로 평면(1304)은 4개의 마이크로서비스를 포함하지만, 마이크로서비스들의 수는 그렇게 제한되지 않는다. 일부 실시예들에서, 데이터 경로 평면(1304)은 4개보다 많은 마이크로서비스를 포함하고, 다른 실시예에서, 데이터 경로 평면(1304)은 4개보다 적은 마이크로서비스를 포함한다.
일부 실시예들에서, 세그먼트 마이크로서비스(1332)는 데이터 센터(1342)와 데이터를 교환한다. 세그먼트 마이크로서비스(1332)는 데이터 센터(1342)로부터 수신되는 패킷들을 적절한 데이터 경로 마이크로서비스들에 전송하고, 데이터 경로 마이크로서비스들로부터 수신되는 반환 패킷들을 데이터 센터(1342)에 전송하기 위해 인터페이스(1328)를 통해 양방향으로 동작한다. 일 실시예에서, 통상의 기술자에 의해 이해되는 바와 같이, 세그먼트 마이크로서비스(1332)에 의해 수신되는 트래픽을 제공하는 연결들은 TCP/IP 프로토콜을 준수하며, 그것은 5-튜플을 이용한 연결을 특징으로 한다. 그러한 5-튜플은 일반적으로 소스 IP 어드레스 및 TCP 포트, 목적지 IP 어드레스 및 TCP 포트 및 인터페이스로 구성된다. 인터페이스(1328)는 명칭, 이더넷 MAC 어드레스 또는 다른 수단에 의해 지정될 수 있다. 일 실시예에서, 세그먼트 마이크로서비스(1332)는 패킷들을 데이터 경로 마이크로서비스들에 전송하기 전에 제6 튜플을 패킷들에 추가한다. 일부 실시예들에서, 제6 튜플은 데이터 경로 마이크로서비스들이 패킷을 수신해야 하는 라우팅 정보를 가지고 있다. 제6 튜플은 일 실시예에서, 또한 특정 연결을 고유하게 식별하기 위해 식별자를 가지고 있다. 데이터 경로 마이크로서비스가 위협 또는 멀웨어를 검출하면, 그것은 세그먼트 마이크로서비스에 그러한 이더넷 연결을 중단하는 것을 요청하기 위해 식별자 및 5-튜플 정보를 사용한다.
백플레인(1306)은 데이터 경로 평면(1304)의 데이터 경로 마이크로서비스들(1332 내지 1338) 간의 통신들, 관리 평면(1302) 및 데이터 경로 평면(1304)의 관리 마이크로서비스들 사이의 통신들, 및 관리 마이크로서비스들(1308 내지 1324) 사이의 간접 통신들을 가능하게 하는 통신 마이크로서비스를 포함한다. 일 실시예에서, 관리 마이크로서비스들(1308 내지 1324)은 마이크로서비스들 중 하나 또는 다른 것이 실패할 때 좀비 연결을 회피하기 위해, 서로 직접 통신하지 않는다. 대신에, 일 실시예에서, 관리 마이크로서비스들은 그들 사이에 메시지들을 운반하는 중개인으로서 백플레인(1306)에 의존한다.
일부 실시예들에서, 마이크로서비스들(1301 내지 1338)은 일용품 서버 하드웨어 상에 각각 실행하는, 개별 가상 머신들 또는 컨테이너들이다. 디자인을 그것의 구성 마이크로서비스들에 침입시킴으로써, 네트워크 보안 시스템(1300)은 요구된 바와 같이, 이러한 기능들 중 어느 것을 스케일 아웃하는 능력을 갖는다. 이러한 스케일 아웃 ca4ility는 일부 실시예들에서, 부가 이용가능 하드웨어를 이용할 수 있다.
예시된 바와 같이, 네트워크 보안 시스템(1300)을 구성하는 마이크로서비스들(1301 내지 1338)은 가상 섀시(1302)로서 식별되는 단일 엔티티로 집합적으로 그룹화된다. 일 실시예에서, 마이크로서비스들(1304 내지 1332)은 단일 환경(데이터 센터, 개인 클라우드 또는 공공 클라우드)에 위치된다. 일부 실시예들에서, 가상 섀시(1302) 및 마이크로서비스들(1304 내지 1332)은 단일 서버, 컴퓨터, 또는 랙 장착 시스템에 수용된다. 일부 실시예들에서, 가상 섀시(1302) 및 마이크로서비스들(1304 내지 1330)은 다수의 하드웨어 환경에 수용된다. 더 추가 실시예들에서, 가상 섀시(1302) 및 마이크로서비스들(1304 내지 1332)은 지리적으로 별개의 환경들에 수용된다.
동작에서, 네트워크 보안 시스템(1300)은 네트워크 보안을 데이터 센터(1342)에 제공한다. 제1 실시예에서, 네트워크 보안 시스템(1300)은 데이터 센터 동/서 전개에 전개되며, 그것은 흐름의 소스 및 목적지 둘 다가 데이터 센터 내에 위치되는 곳에서 트랙픽에 관한 정책을 검사하고 집행하기 위해 데이터 센터(가상화된 계산을 가짐)에 전개된다. 제2 실시예에서, s 네트워크 보안 시스템은 데이터 센터 북/남 전개에 전개되며, 그것은 흐름의 소스 또는 목적지 중 어느 하나(그러나 둘 다는 아님)가 데이터 센터 외부에 위치되는 곳에서 트래픽에 관한 정책을 검사하고 집행하기 위해 데이터 센터에 전개된다. 제3 실시예에서, s 네트워크 보안 시스템은 공공 클라우드 전개에 전개되며, 그것은 공공 클라우드 내의 특정 테넌트의 파티션에 들어가거나 나가고 있는 트래픽에 관한 정책을 검사하고 집행하기 위해 그러한 클라우드에 전개된다. 또한 제4 대체 실시예에서, 네트워크 보안 시스템은 이러한 대안들 중 하나 이상의 조합에 따라 전개된다.
게다가, 동작 동안, 일 실시예에서, 마이크로서비스들(1302 내지 1338) 중 어느 것의 스케일 아웃 및 스케일 인 기능성은 자원 소비 정책들에 따라, 다른 마이크로서비스들과 독립적으로 취급된다. 특히, 마이크로서비스들 각각은 일 실시예에서, 취급하고 있는 트래픽의 양을 감시하며, 그것은 취급하고 있는 데이터 패킷들의 수, 서빙하고 있는 요청들의 수, 그것의 내부 큐들의 깊이, 또는 다른 수단의 형태이다. 일 실시예에서, 마이크로서비스들 각각은 그것의 로드 통계들을 스케일러(1314)에 전송하며, 그것은 새로운 마이크로서비스들을 인스턴스화하거나 오래된 것들을 정지하는지를 결정할 것이다.
일 실시예에서, 섀시 컨트롤러(1316)는 마이크로서비스들(1302 내지 1338)을 관리한다. 특히, 일 실시예에서, 섀시 컨트롤러(1316)는 스칼라(1314)로부터 제안들을 수신하고, 다양한 마이크로서비스들에서 스케일 아웃 또는 스케일 인하는지를 결정한다. 일 실시예에서, 마이크로서비스들(1302 내지 1338)을 관리하는 것은 물리적 섀시가 하는 것처럼, 섀시 컨트롤러(1316)가 단일 엔티티로서 관리됨으로써 단순화된다. 일 실시예에서, 섀시 컨트롤러(1316)는 하나 이상의 마이크로서비스(1302 내지 1338)에 적용되는 일반적 자원 제어 정책으로 프로그램된다. 그러므로, 일 실시예에서, 기기가 매우 커짐에도 불구하고, 또는 그것이 다수의 환경에 걸치면, 또는 그것이 다수의 지리적 위치에 걸침에도 불구하고, 네트워크 관리자가 액세스하기 위한 관리 인터페이스를 제공하는 단일 섀시 컨트롤러(1316)가 있다.
일 실시예에서, 마이크로서비스들(1302 내지 1338)은 마이크로서비스의 각각의 개별 인스턴스가 그러한 동일한 마이크로서비스의 부가 인스턴스들에 의해 지원되기 때문에 내장 중복을 제공한다. 단일 인스턴스가 실패한다면, 다른 마이크로서비스들은 대체가 스핀 업되면서 계속 동작하고 있을 것이다. 또한 n+1 중복을 제공하기 위해 주어진 마이크로서비스의 더 많은 인스턴스들을 프로비저닝하는 것이 가능하다.
일 실시예에서, 보안 제어 마이크로서비스의 새로운 인스턴스, 기존 마이크로서비스를 위한 새로운 보안 정책, 또는 보안 마이크로서비스의 새로운 타입을 추가하는 것은 새로운 하드웨어가 추가되는 것, 또는 기존 하드웨어가 변경되는 것을 필요로 하는 것 없이 행해진다. 특히, 그러한 실시예에서, 보안 제어 마이크로서비스의 새로운 인스턴스는 가상 섀시(1316)의 마이크로서비스들을 호스팅하는 컴퓨터 하드웨어 상에 기존 마이크로서비스들의 다른 인스턴스를 인스턴스화함으로써 생성된다. 따라서, 새로운 타입의 마이크로서비스는 네트워크 보안 시스템(1300)의 성능을 im6ting하는 것 없이, 섀시 컨트롤러(1316)에 의해 전개된다.
도 14는 일 실시예에 따른 네트워크 보안 시스템을 예시하는 블록도이다. 예시된 바와 같이, 네트워크 보안 시스템은 관리 평면(1402), 데이터 경로 평면(1404), 및 백플레인(1406)을 포함한다. 도 14는 s 네트워크 보안 시스템의 논리 시스템 아키텍처를 예시하며, 그것의 구성요소들 각각은 컴퓨팅 하드웨어에 의해 구현된다.
네트워크 보안 시스템은 네트워크 보안 기기를 해체하는 마이크로서비스 기반 아키텍처를 사용하여, 그것을 마이크로서비스로 각각 구현되는 일련의 빌딩 블록들로 구분한다.
관리 평면(1402)은 컴퓨터 시스템 상에 전개되는 가상 머신 또는 컨테이너로 각각 구현되는 마이크로서비스들(1408, 1410, 1412, 1414, 1416, 1418, 1420, 1422, 및 1424)을 포함한다.
도 14에 예시된 바와 같이, 관리 평면(1402)은 팩토리(1410)를 이용하며, 팩토리는 인프라스트럭처 발견 마이크로서비스(1412), 스케일러 마이크로서비스(1414), 및 섀시 컨트롤러 마이크로서비스(1416)를 포함한다. 일부 실시예들에서, 관리 평면(1402)은 팩토리 모델에 따라 정의되는 마이크로서비스 가상화 환경을 이용한다. 구조적 레벨 상에서, 호스팅 환경은 서버들 및 컴퓨팅 디바이스들을 포함한다. 일부 실시예들에서, 호스팅 환경은 하나의 위치에 위치되는 반면에, 다른 실시예들에서, 호스팅 환경은 다양한 위치들에 걸쳐 분배된다. 다른 실시예들에서, 호스팅 환경은 제3자 인프라스트럭처 공급자들을 포함한다. 논리 레벨 상에서, 호스팅 환경은 팩토리들로 분할된다. 팩토리는 하나 이상의 가상 프로세서, 가상 메모리, 및 가상 스토리지로 구성되는 가상화된 플랫폼이다. 팩토리는 마이크로서비스들이 상품화되는 것을 허용하며, 그것에 의해 매우 다양한 마이크로서비스들은 제3자 인프라스트럭처 공급자들로부터 포함하는 다른 마이크로서비스들을 교환가능하게 제공되고 동작될 수 있다.
구성 마이크로서비스(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-튜플, 멀웨어, 및 위협 행위에 따라 갱신들을 보안 정책들에 제공한다. 일 실시예에서, 갱신된 보안 정책들은 아래의 도 18에 대해 예시되고 설명된 바와 같이, 컴파일러(1424)에 의해 자동적으로 로딩되고, 공통 네트워크 보안 시스템 언어로 변환되고, 2진수로 컴파일되고, 마이크로서비스들에 분배된다. 시스템의 전원을 차단하는 것 없이 마이크로서비스의 기존 보안 정책을 업그레이드하는 것은 아래의 도 25에 예시된다.
표 2. 네트워크 보안 시스템(1400)에 중요한 보안 위협들
Figure pct00002
데이터베이스들(1418)(도 14)은 도 15에 추가로 예시된 바와 같이, 마이크로서비스들에 의한 사용을 위한 데이터를 저장한다. 일 실시예에서, 데이터베이스들(1418)은 필요에 따라 마이크로서비스들에 의해 판독되는 최근에 사용되고 갱신된 보안 정책들을 유지한다. 데이터베이스들(1418)은 일부 실시예들에서, 하나 이상의 마이크로서비스를 위한 상태 정보를 유지하여, 마이크로서비스가 장애로부터 복구되고 필요할 때 그것의 상태를 재도입할 수 있게 한다. 데이터베이스들(1418)은 일부 실시예들에서, 네트워크 트래픽으로부터 추출되는 객체들의 검색을 유지하고 허용하기 위해 검색가능 데이터베이스를 포함한다. 일 실시예에서, 데이터베이스들(1418)은 동일한 흐름과 관련되는 데이터를 함께 연관시키기 위해 데이터베이스 엔트리들을 흐름 식별자들과 연관시킨다. 본원에 사용되는 바와 같이, 용어 스트림 맥락은 포함되는 특성들에도 불구하고 흐름들을 고유하게 식별하기 위해 사용되는 부가 필드를 언급한다. 일 실시예에서, 정책은 그러한 부가 필드로부터 유도된다. 데이터베이스들(1418)은 키 값 스토어(1508)를 포함하며, 이 스토어는 일 실시예에서, 인증된 마이크로서비스들을 위한 식별자들을 유지하고, 사기꾼들을 검출하는 키 값 쌍을 유지하기 위한 고성능 소형 데이터베이스이다.
도 15는 일부 실시예들에 따른 마이크로서비스들을 지원하기 위해 사용되는 다수의 상이한 데이터베이스 타입들을 예시한다. 특정 상황에서 사용하기 위한 특정 데이터베이스 타입의 선택권은 데이터베이스의 원하는 속도 및 기능성에 따라 선택된다. 예시된 바와 같이, 데이터베이스들(1500)은 SQL 데이터베이스(1502), NoSQL 데이터베이스(1504), 검색가능 데이터베이스(1506), 및 키 값 스토어(1508)를 포함한다. SQL 데이터베이스(1502), NoSQL 데이터베이스(1504), 및 검색가능 데이터베이스(1506)는 일부 실시예들에서, 다양한 네트워크 보안 마이크로서비스들에 의해 사용되는 파일들, 중간 데이터, 추출된 객체들, 또는 부분적으로 추출된 객체들을 유지한다. 데이터베이스들의 수 및 타입들은 그렇게 제한되지 않으며; 상이한 실시예들은 더 많거나 더 적은 데이터베이스들을 사용한다. 상이한 실시예들은 상이한 타입들의 데이터베이스들을 사용한다.
SQL 데이터베이스(1502)는 일 실시예에서, 관계형 데이터베이스 관리 시스템(Relational Database Management System)(RDBMS)을 구현한다.
NoSQL 데이터베이스(1504)는 그것의 특정 성능 또는 사용 특성들의 용이성에 따라 선택된다. 일 실시예에서, NoSQL 데이터베이스(1504)는 키 값 스토어를 제공하며, 그것에 의해 기록들은 마이크로서비스들이 기록 데이터를 검색하기 위해 사용하는 키에 의해 인덱싱된다. 일부 실시예들에서, NoSQL 데이터베이스(1504)는 카운터들을 증분시키는 것과 같은 미세한 동작들을 허용한다. 일 실시예에 따르면, NoSQL 데이터베이스(1504)는 또한 발생 카운트(데이터 수정)를 추적하기 위해 메타데이터를 포함하는 기록들, 판독 동작들 동안 마이크로서비스로 반환되는 수를 포함하고, 데이터가 기록되는 것이 마지막 판독 이후로 수정되지 않는 것을 보장하기 위해 사용될 수 있다. 일부 실시예들에서, NoSQL 데이터베이스(1504)는 다수의 데이터베이스 인스턴스 상에 데이터베이스 요청들을 확산하기 위해 로드 밸런싱 기능성을 포함한다.
검색가능 데이터베이스(1506)는 일 실시예에서, 추출된 네트워크 파일들에 관한 문자 인식을 수행하여, 그들이 검색가능 데이터베이스에서 검색되는 것을 허용한다. 일부 실시예들에서, 검색가능 데이터베이스(1506)는 네트워크 데이터를 실질적인 실시간으로 조사되고 분석되는 것에 이용가능하게 한다. 일 실시예에서, 검색가능 데이터베이스(1506)는 스케일가능하고 증가된 트래픽 로드들을 수용하기 위해 부가 데이터베이스 노드들을 자동적으로 인스턴스화할 수 있다. 일부 실시예들에서, 검색가능 데이터베이스(1506)는 이용가능해짐에 따라 부가 컴퓨팅 자원들을 이용하기 위해 수평으로 스케일된다. 일 실시예에서, 검색가능 데이터베이스(1506)는 하나 이상의 나머지 이용가능 노드 간에 데이터를 재조직하고 리밸런싱함으로써 그것의 하드웨어 노드들 중 하나 이상의 실패에 반응한다.
키 값 스토어(1508)는 마이크로서비스들을 인증하는 식별자들에 신속한 액세스를 제공하고 사기꾼들을 검출하는 키 값 쌍을 유지한다.
일 실시예에서, 데이터베이스들(1502 내지 1508) 중 임의의 하나 이상은 장애 허용을 지원하기 위해 중복을 포함한다. 일부 실시예들에서, 데이터베이스들(1502 내지 1508) 중 임의의 하나 이상은 성능 요건들을 충족시키기 위해 동적 스케일 아웃 또는 스케일 인을 허용한다. 일 실시예에서, 데이터베이스들(1502 내지 1508) 중 임의의 하나 이상이 생략되거나 사용되지 않는다. 일부 실시예들에서, 데이터베이스들(1502 내지 1508) 중 하나 이상을 사용하는 대신, 레지스터 파일, 플래시 메모리, 정적 또는 동적 RAM과 같은 메모리는 그러한 데이터를 저장하기 위해 사용된다. 데이터베이스들(1502 내지 1508)은 다른 마이크로서비스들과 같이, 마이크로서비스들로 구성되고 마이크로서비스 아키텍처에 따라 구현 및 전개된다.
도 14를 다시 참조하면, 메신저(1420)는 일 실시예에서, 컴파일러(1424), 및 섀시 컨트롤러(1416)로부터 정책 갱신들을 포함하는 메시지들을 수신하고 저장한다. 관심있는 마이크로서비스들은 일 실시예에서, 메신저(1420)로부터, 정책 갱신들을 포함하는 메시지들을 수신하는 것에 가입한다. 일부 실시예들에서, 자원 그룹은 때때로 자원 그룹을 정책에 결합하는 것으로 언급되는 프로세스에 의해, 정책에 가입하는 인프라스트럭처로부터의 객체들의 그룹이다. 일부 실시예들에서, 마이크로서비스 풀은 공통 세트의 정책들 및 구성을 가진 마이크로서비스들의 그룹이다. 결국, 메신저(1420)는 정책 갱신들을 가입된 마이크로서비스들에 발행한다. 메신저(1420)는 일 실시예에서, 정책 갱신들을 가입 마이크로서비스들에 규칙적인 시간 간격들로 발행한다. 일부 실시예들에서, 메신저(1420)는 새로운 또는 갱신된 정책이 컴파일러(1424)로부터 수신됨에 따라 정책들을 가입 마이크로서비스들에 발행했다. 일부 실시예들에서, 메신저(1420)로부터의 발행들을 가입하는 대신에, 정책 갱신들에 관심있는 마이크로서비스들은 갱신들의 존재를 검출하기 위해 메신저(1420), 컴파일러(1424), 또는 데이터베이스들(1502 내지 1508) 중 하나 이상을 폴링한다. 정책 갱신들에 관심있는 마이크로서비스들은 예를 들어, TCP/IP 5-튜플 식별 위협들을 포함하는 정책 갱신들을 수신하는데 관심있는, TCP/IP 마이크로서비스(1434)와 같은 데이터 경로 마이크로서비스들을 포함한다. 인프라스트럭처 발견 마이크로서비스(1412)는 일 실시예에서, 인터페이스(1426)를 통해 데이터 센터의 발견을 수행한다. 인프라스트럭처 발견 마이크로서비스(1412)는 일 실시예에서, 메신저(1420)로부터 새로운 보안 정책들을 수신하며, 보안 정책들은 너무 새로워서 사용자 또는 기업 소프트웨어는 그들을 가능하게 할 기회를 갖지 않았다. 따라서, 인프라스트럭처 발견 마이크로서비스(1412)는 구성 마이크로서비스(1408)로 하여금 새로운 보안 정책을 연결(1448)을 통해, 사용자 또는 기업 소프트웨어에 제안하게 한다. 일 실시예에서, 발견 마이크로서비스는 구성 마이크로서비스(1408)로 하여금 사용자가 임의의 정책 갱신을 갱신하는 것을 제안하게 한다.
도 16은 일 실시예에 따른 관리 평면으로부터 네트워크 보안 시스템의 마이크로서비스들 중 하나 이상으로 송신되는 제어 패킷들을 예시하는 블록도이다. 본원에 사용되는 바와 같이, 마이크로서비스 개성은 정책들에 따라, 변경될 수 있다. DPI 마이크로서비스는 예를 들어, 몇 개만 예를 들면 위협 검출, URL 분류, 또는 애플리케이션 식별을 위한 엔진이 될 수 있다. 본원에 사용되는 바와 같이, 애플리케이션 행위 프로파일은 애플리케이션에 의해 표시되는 전형적인 행위를 정의하고, 비정상들을 유도하기 위해 사용된다. 상기 예시되고 설명된 바와 같이, 네트워크 보안 시스템은 일부 실시예들에서, 데이터 센터와 통합된다. 여기서, 네트워크 보안 시스템은 데이터 센터 내의 수개의 가상 환경들과 통합된다. 특히, NetX 에이전트(1612A)는 VM웨어 ESX 하이퍼바이저(1614A)에 의해 관리되고, SDN 에이전트(1612B)는 오픈스택 KVM(1614B)에 의해 관리되고, WFP 에이전트(1612C)는 마이크로소프트 하이퍼-V(1614C)에 의해 관리되고, NAT(1612D)는 아마존 EC-2(1614D)에 의해 관리되고, ACI 에이전트(1612E)는 시스코 ACI(1614E)에 의해 관리되고, 네트워크 에이전트(1612F)는 베어 메탈(1614F)에 의해 관리된다. 예시된 네트워크 보안 시스템은 2개의 가상 섀시(1608 및 1609)를 포함한다. 관리 평면(1602)은 일 실시예에서, 제어 패킷들을 가상 섀시(1608 및 1609)와 교환하고, 데이터 센터의 가상 환경(1614A 내지 1614F)과 교환한다.
일 실시예에 따르면, 네트워크 보안 시스템은 기존 가상 및 물리적 시스템들과 상호작용하도록 각각 맞춤화되는 세그먼트 마이크로서비스들을 제공한다. 여기서, 특별히 디자인된 세그먼트 마이크로서비스(1610A)는 VM웨어 ESX(1614A) 및 NetX 에이전트(1612A)와 상호작용하고, 특별히 디자인된 세그먼트 마이크로서비스(1610B)는 SDN(1612B) 및 KVM(1614B)과 상호작용하도록 디자인되고, 특별히 디자인된 세그먼트 마이크로서비스(1610C)는 WFP(1612C) 및 하이퍼-V(1614C)와 상호작용하도록 디자인되고, 특별히 디자인된 세그먼트 마이크로서비스(1610D)는 NAT(1612D) 및 아마존 EC-2(1614D)와 상호작용하도록 디자인되고, 특별히 디자인된 세그먼트 마이크로서비스(1610E)는 ACI 1612E 및 시스코 ACI(1614E)와 상호작용하도록 디자인되고, 특별히 디자인된 세그먼트 마이크로서비스(1610F)는 베어 메탈(1614F) 상에 실행하는 네트워크 에이전트(1612F)와 상호작용하도록 디자인된다. 동작에서, 네트워크 보안 시스템이 인라인으로 전개되면, 특별히 디자인된 세그먼트 마이크로서비스들(1610A 내지 1610F) 각각은 패킷들을 인터셉트하고, 데이터 경로 마이크로서비스들을 통해 그들을 라우팅하고, 그 후 그들을 대응하는 데이터 센터 환경에 전송하도록 구성된다. "카피 전용" 구성으로 전개되면, 네트워크 보안 시스템은 트래픽을 감시하고 임의의 위협들이 검출되거나 의심되면 경보들을 발생시킨다.
예시된 바와 같이, 관리 평면(1602)은 가상 섀시 1(1608), 가상 섀시 2(1609) 내의 마이크로서비스들 중 적어도 하나, 및 데이터 센터 환경들(1610A 내지 F, 1612A 내지 F, 및 1614A 내지 F) 중 적어도 하나와 제어들을 통신한다. 따라서, 네트워크 보안 시스템의 관리 평면(1602)은 구성 동안 그렇게 행하도록 인에이블되면, 제어 메시지들, 심지어 관리 평면(1602)의 전개 전에 제자리에 있던 것들을 임의의 데이터 센터 환경에 송신한다. 동작에서, 세그먼트 마이크로서비스들(1610A 내지 F)에 의해 인터셉트되는 트래픽은 일부 실시예들에서, 가상 섀시 1 또는 2(1608 또는 1609) 내의 데이터 보안 마이크로서비스들에 전송된다. 가상 섀시 1(1608) 또는 가상 섀시 2(1609)가 위협을 검출하면, 그것은 관련 데이터 센터 환경을 통지한다. 그러한 시나리오에서, 일부 실시예들에서, 관리 평면(1602)은 "중단" 메시지를 관련 데이터 센터 환경에 송신한다. 대체 실시예들에서, 그러한 시나리오에서, 관리 평면(1602)은 그것의 연관된 마이크로서비스를 재부트하고 재시작하도록 하이퍼바이저들(1614A 내지 1614F) 중 하나 이상에 명령한다.
도 17은 일 실시예에 따른 위협 이벤트에 대한 네트워크 보안 시스템 응답을 예시하는 블록 흐름도이다. 예시된 바와 같이, 번호 '1'로 표시되는 보안 위협은, 가상 섀시 2(1709) 내의 마이크로서비스에 의해 검출된다. 위협은 번호 '1'로 표시되는 화살표를 통해, 이벤트 결과 BigDB(1718)에 전달되고 이에 저장된다. 그 후, 위협은 라벨 '2'로 표시되는 화살표를 통해, 관리 평면(1702)에 전달된다. 결과적으로, 관리 평면(1702)은 그것의 보안 정책들을 체크하고 검출된 위협에 대한 응답이 네트워크 보안 시스템의 하나 이상의 마이크로서비스를 정지하고 재시작하기 위해, '4'로 라벨링되는 화살표를 통해, 통지하는 오케스트레이터(1720)를 호출하는지를 결정한다. 오케스트레이터(1720)는 '5'로 라벨링되는 화살표를 통해, 1710A 내지 F, 1712A 내지 F, 및 1714A 내지 F 간의 하나 이상의 마이크로서비스의 정지 및 재시작을 호출함으로써 반응한다. 관리 평면(1702)은 일부 실시예들에서, '3'으로 라벨링되는 화살표를 통해, 1710A 내지 F, 1712A 내지 F, 및 1714A 내지 F 간의 적어도 하나의 마이크로서비스 및 가상 섀시 1 및 2(1708 및 1709)의 마이크로서비스들을 정지하거나, 재시작하거나, 다른 방법으로 수정함으로써, 검출된 위협에 응답한다.
도 18은 일 실시예에 따른 보안 정책들을 수신하는 것, 그들을 보안 언어로 변환하는 것, 그들을 2진수들로 컴파일하는 것, 및 그들을 마이크로서비스들에 로딩하는 것을 예시하는 흐름도이다. 예시된 바와 같이, 네트워크 보안 시스템은 액세스 제어 리스트들(1802)((Access Control Lists)(ACLs). TCP/IP N-튜플 기반 서명들), 균일 자원 위치 지정자들(1804)(Uniform Resource Locators)(URLs), 애플리케이션 ID들(1806)(Application ID's)(AppID's), 인터넷 프로토콜 표현(1808)(Internet Protocol representation)(IP Rep), 파일 표현(1810)(file representation)(File Rep), 익스플로잇 서명(1812), 및 정책(1814A)을 포함하는, 새로운 또는 갱신된 보안 정책들을 수신한다. 일부 실시예들에서, 네트워크 보안 시스템(1800)은 상이한 메시지 포맷들을 가진 메시지들을 수신하고 변환하기 위해 맞춤화되는 변환기들(1814B 내지 1814G)을 제공한다. 변환기들(1814B 내지 G)은 착신 서명들을 SL 컴파일러(1818)에 의해 이해되는 공통 언어로 변환하며, 이 컴파일러는 서명들을 마이크로서비스들(1828 내지 1838)에 의해 이해되는 2진수 또는 다른 표현으로 컴파일한다. 일부 실시예들에서, 컴파일되면, 새롭거나 갱신된 서명들은 메신저(1420)(도 14)와 같은 메신저에 배치되어, 관심있는 마이크로서비스들에 의해 소비된다. 일부 실시예들에서, SL 컴파일러(1818)는 메신저(1420)(도 14)와 같은 메신저를 바이패스하고, 새롭거나 갱신된 정책들을 관심있는 마이크로서비스들에 직접 발행한다. 일부 실시예들에서, 컴파일되면, 새로운 또는 갱신된 서명들은 데이터베이스들(1418)(도 14)과 같은 데이터베이스에 배치된다.
도 19는 일 실시예에 따른 제3자 보안 도구들과 인터페이스하는 네트워크 보안 시스템을 예시하는 블록도이다. 예시된 바와 같이, 네트워크 보안 시스템은 관리 평면(1902), 백플레인(1906), 및 데이터 경로 평면(1904)을 포함한다. 예시된 바와 같이, 관리 평면(1902)은 팩토리(1910)를 이용하며, 그것은 인프라스트럭처 발견 마이크로서비스(1912), 스케일러 마이크로서비스(1914), 섀시 컨트롤러 마이크로서비스(1916), 및 데이터베이스들(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는 제3자 위협 지능 도구(1944), 샌드박스(1946), 및 동적 위협 지능(1948)을 예시한다. 일 실시예에서, 제3자 위협 지능 도구(1944)는 그러한 마이크로서비스들 중 어느 것이 파일 타입, 파일 콘텐츠, 서명, TCP/IP 5-튜플 특성, 의심 2진수, 또는 의심 코드 시퀀스에 직면할 때 전자 통신 링크를 통해, DPI 마이크로서비스(1938), NOX 마이크로서비스(1940), 또는 DLP 마이크로서비스(1942)에 의해 접촉되지만, 임의의 보안 정책에 알려져 있지 않다. 그러한 상황들에서, 데이터 경로 평면(1904)은 분석을 위해 데이터를 제3자 위협 지능 도구(1944)에 전송한다.
일 실시예에서, 제3자 지능 도구(1944)는 통신 링크를 제공하고 데이터 경로 평면(1904)이 그것과 통신하기 위해 사용하는 API를 정의한다. 일부 실시예들에서, 제3자 위협 지능 도구(1944)는 전송된 데이터를 제3자 위협 지능 도구(1944)에 알려진 위협과 매칭하는 그것에 알려진 행위의 패턴들과 비교한다. 일 실시예에서, 제3자 위협 지능 도구(1944)는 그것이 제3자 위협들의 지식을 규칙적으로 교환하는, 네트워크 보안 도구들 및 서비스들의 글로벌 네트워크와 연관된다. 예시된 실시예에서, 제3자 위협 지능 도구(1944)는 4개의 가상 머신을 인스턴스화하여 4개의 운영 시스템을 동작시키고, 그러한 가상 머신들은 하이퍼바이저에 의해 관리된다.
결과적으로, 제3자 위협 지능 도구(1944)가 위협을 검출하고 해결하면, 그것은 그러한 새로운 위협을 커버하기 위해 새로운 보안 정책을 동적 위협 지능(1948)에 통지한다. 일 실시예에서, 동적 위협 지능(1948)은 갱신들을 수신하고 그들을 보안 마이크로서비스들에 발행하는 유인 또는 자동화 보안 오피스로 구성된다. 그 후, 일 실시예에서, 동적 위협 지능(1948)은 도 18에 대해 설명된 바와 같이, 갱신된 보안 정책들을 SL 컴파일러(1950)에 전송하며, 그것은 일 실시예에서, 정책 피드들을 공통 언어로 변환하고, 그들을 2진수들로 컴파일하고, 그들로 하여금 마이크로서비스들에 분배되게 한다.
일부 실시예들에서, 샌드박스(1946)는 DPI 마이크로서비스(1938), NOX 마이크로서비스(1940), 또는 DLP 마이크로서비스(1942)가 의심스럽지만, 임의의 보안 정책에 알려져 있지 않는 파일 타입, 서명, TCP/IP 5-튜플 특성, 2진수, 또는 코드 시퀀스에 직면할 때 접촉된다. 그러한 시나리오에서, 의심스럽지만 알려져있지 않은 데이터 및 패킷들은 샌드박스(1946)에 전송되며, 비테스트된 코드, 또는 비검증된 제3자들, 공급자들, 비신뢰된 사용자들 및 비신뢰된 URL들로부터의 비신뢰된 프로그램들이 테스트된다. 샌드박스(1946)로부터 습득되는 어떤 것은 동적 위협 지능(1948)에 공급되고, 그 후 SL 컴파일러(1950)에 공급되며, 그것은 도 18에 대해 설명된 바와 같이, 일 실시예에서, 정책 피드들을 공통 언어로 변환하고, 그들을 2진수들로 컴파일하고, 그들로 하여금 마이크로서비스들에 분배되게 한다.
도 20은 일 실시예에 따른 데이터 패킷들을 마이크로서비스 큐들에 로드 스태킹하는 것을 예시하는 흐름도이다. 일부 실시예들은 맥락 기반 로드 스태킹을 수행하며, 이 로드 스태킹은 마이크로서비스들 간에 로드를 분배하는 접근법을 언급한다. 세그먼트 마이크로서비스(2032), TCP/IP 마이크로서비스(2034A 내지 B)의 2개의 인스턴스, 및 DPI 마이크로서비스(2036A 내지 D)의 4개의 인스턴스가 예시된다. DPI 데이터 큐들(2040A 내지 D)에 초점을 맞추면, 각각의 DPI 마이크로서비스는 데이터를 유지하는 4개의 "버킷" 또는 "슬롯"을 포함하는 큐를 갖는다. 16 전체 버킷은 2010으로 라벨링된다. 일 실시예에서, 착신 데이터 패킷들(2012)은 제1 이용가능 마이크로서비스 큐에 로드 스태킹된다. 본원에 사용되는 바와 같이, 로드 스태킹은 패킷들을 제2 큐에 로딩하기 전에 제1 큐를 임계 레벨로 로딩 업하는 것을 언급한다. 로드 스태킹은 사용되는 마이크로서비스들의 수를 최소화하는 이득을 가져서, 비사용된 마이크로서비스들은 전원 차단되어 전력을 절약한다. 로드 스태킹은 또한 마이크로서비스를 스케일 아웃하는 것을 지원하기 위해 이용가능한 실질적으로 빈 큐들을 갖는 이득을 갖는다. 일부 실시예들에서, 4개의 착신 패킷은 모든 우리의 마이크로서비스 큐들에 균일하게 확산됨으로써 밸런싱되며, 로드 밸런싱 접근법은 네트워크 보안 시스템이 더 낮은 성능 마이크로서비스들을 사용할 수 있게 한다.
도 21은 일 실시예에 따른 인트라 시스템 데이터 통신을 예시하는 블록도이다. 예시된 바와 같이, 데이터 센터는 다양한 마이크로서비스들(2102, 2104A 내지 D, 2106, 2108, 2110, 2112, 2114, 2116, 2118, 2120, 2122, 2124, 2126, 및 2128)을 포함하는 4개의 가상 네트워크 인터페이스 카드(2104A 내지 D)로 분할되었다. 일 실시예에서, 가상 라인 카드들 사이의 통신들은 일 실시예에서, 직접적이지 않으며; 통신들은 우선 백플레인(2102)으로 진행하고, 그 후 목적지 라인 카드로 진행한다. 도 21은 3개의 통신 경로를 예시한다: 중개자로서 2106을 사용하는 VM1(2102)에서 세그먼트 마이크로서비스(2108)까지, 중개자로서 2106을 사용하는 세그먼트 마이크로서비스(2108)에서 DPI(2118)까지, 및 중개자로서 2106을 사용하는 DPI(2118) 및 VM3(2112)으로부터. 다른 실시예들에서, 하나의 관리 마이크로서비스로부터 다른 것으로의 임의의 통신들은 중개자로서 백플레인(2106)을 사용하여, 이러한 동일한 2 단계 프로세스를 사용한다.
도 22는 일 실시예에 따른 네트워크 보안을 데이터 센터에 제공하기 위해 설치하는 마이크로서비스들을 선택하는 프로세스를 예시하는 흐름도이다. 예시된 바와 같이, 시작 후에, 2202에서, 가상 머신(virtual machine)(VM)은 인터넷 또는 컴퓨터 판독가능 매체로부터 다운로드되고, 그 후 설치되고 론칭된다. 2204에서, 팩토리(1410)(도 14)와 같은 팩토리는 관리 평면(1402)(도 14)과 같은 관리 평면, 백플레인(1406)(도 14)과 같은 백플레인, 및 데이터베이스 마이크로서비스들(1418)(도 14)과 같은 데이터베이스 마이크로서비스들인 바와 같이, 인스턴스화된다. 2204 후에, 마이크로서비스들은 개별적으로 보다는 오히려, 풀로서 접촉된다. 다음에, 2206에서, 발견 마이크로서비스들(1422)(도 14)과 같은 발견 마이크로서비스들은 데이터 센터(830)(도 8)와 같은 데이터 센터에 연결되고 발견을 수행한다. 이러한 상태에서의 발견은 보안 서비스들의 전개를 위한 후보들인 네트워크들 및 서버들을 식별하는 것 및 그러한 요소들 간에 연결성을 매핑하는 것으로 구성된다. 2208에서, 원하는 마이크로서비스들은 사용자 인터페이스를 사용하거나 기업 소프트웨어로부터 RESTful 명령어들을 수신하여, 구성 마이크로서비스들(1408)(도 14)과 같은 구성 마이크로서비스들에 의해 선택된다. 2210에서, 선택된 세그먼트 마이크로서비스 및 다양한 데이터 경로 마이크로서비스들은 인스턴스화된다. 2211에서, 정책은 컴파일되고 키/값 스토어 데이터베이스에 분배된다. 2212에서, 정책 마이크로서비스들은 자동적으로 인스턴스화되고 스케일되며, 정책들은 가장 현재의 소스, 예컨대 설치 이미지, 제품 웹사이트 또는 앱 스토어 또는 다른 위치로부터 검색된다. 도 22에 도시되지 않지만, 2212가 보안 정책들을 가진 마이크로서비스들을 구성하도록 실행되므로, 네트워크 보안 시스템은 또한 암호화된 통신들을 위해 사용되는 모든 키들을 보안 저장하고 모든 키들에 신속한 액세스를 제공하기 위해 키 값 스토어(1508)(도 15)를 갱신한다. 2213에서, 위협 정책들은 구성 마이크로서비스에 의해 컴파일되고, 모든 마이크로서비스들에 분배된다. 최종적으로, 2214에서, 정상 검사 동작들이 시작되고 계속된다.
네트워크 보안 시스템 마이크로서비스들을 설치하고, 구성하고, 실행하는 프로세스를 완료한 후에, 컴파일러 마이크로서비스(1418)(도 14)는 일 실시예에서, 갱신된 정책들 또는 새로운 마이크로서비스들을 위한 정책 갱신 클라우드(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에서, 악성 2진수의 다운로딩 또는 생성, 또는 심지어 악성 2진수로 컴파일되는 소스 코드의 생성이 검출된다. 2408에서, 다른 VM 호스트들을 스캔하기 위해 2진수들을 사용하는 정찰(상기 표 2 참조)이 검출된다. 유사하게, 2410에서, 다른 이용가능 호스트들을 찾는 호스트 스위프가 검출된다. 그러한 호스트 스위프는 데이터 센터와 통합되는 네트워크 보안 시스템에 보여지지만, 데이터 센터 외부에서 보여지지 않는다. 2412에서, 공격이 검출되며, 공격은 악성 2진수를 다른 이용가능 VM들에 측방으로 이동시키는 시도이다. 네트워크 보안 시스템은 2408에서 정찰을 이미 인지했으므로, 사람(해커)이 다른 이용가능 VM을 찾고 있는 것을 알게 된다. 2414에서, 공격 및 연관된 측방 이동이 방지되고, 보고가 발생되는데, 왜냐하면 그것은 전에 인지되지 않았기 때문이다. 게다가, 제로 데이 공격들은 VM들 간에 바운싱하는 미지의 2진수를 관찰함으로써 검출된다. 예시된 바와 같이, 네트워크 보안 시스템은 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에서, 마이크로서비스는 그 자체의 로드를 감시하고 그것을 스케일러 마이크로서비스에 보고한다. 일 실시예에서, 마이크로서비스의 로드는 선행자 마이크로서비스로부터 수신되는 패킷들의 수를 반영한다. 일부 실시예들에서, 마이크로서비스의 로드는 마이크로서비스 내의 데이터 큐들의 현재 깊이를 반영한다. 2604에서, 스케일러 마이크로서비스는 각각의 마이크로서비스를 위한 로드를 감시하고 그것을 임계치와 비교한다. 2606에서, 임계치가 초과되면, 스케일러 마이크로서비스(1414)(도 14)는 새로운 마이크로서비스를 위한 최상의 장소를 식별한다. 일 실시예에서, 새로운 마이크로서비스를 위한 최상의 위치를 주문하는 것은 다른 관련되거나 비관련된 마이크로서비스들에 관한 로드, 전체로서 데이터 경로 평면 또는 네트워크 보안 시스템의 처리율, 데이터 경로 평면을 통해 이동하는 패킷들의 레이턴시, 및 특징들 또는 자원들의 이용가능성을 고려한다. 구성 동안 사용자 또는 기업 소프트웨어에 의해 제공되는 서비스 요건들의 품질은 예를 들어, 블록(2208)(도 22)에서 새로운 마이크로서비스를 설치하는지 및 이것을 설치하는 곳을 결정할 때 고려된다. 일 실시예에서, 스케일러(1414)(도 14)는 "느긋한" 정책을 적용하여, 새로운 마이크로서비스를 인스턴스화하기 위해 더 많은 지원을 필요로 한다. 예를 들어, "느긋한" 정책을 적용할 시에, 스케일러(1414)(도 14)는 새로운 마이크로서비스를 인스턴스화하기 전에, 높게 로딩된 마이크로서비스들의 최소 수, 또는 오버로딩된 조건의 최소 지속, 또는 잠재적 보틀넥, 또는 부가 마이크로서비스를 위한 요구를 제안하는 다른 증거를 필요로 한다. 일부 실시예들에서, 스케일러(1414)(도 14)는 "활발한" 정책을 적용하여, 부가 마이크로서비스들을 자유롭게 인스턴스화하고, 부가 마이크로서비스들을 인스턴스화하는 것을 향하는 취향으로 마이크로구조들의 로딩 통계들을 분석한다. 2608에서, 스케일러(1414)는 새로운 마이크로서비스 인스턴스가 요구되는 것을 결정하면, 그것은 인프라스트럭처 발견 마이크로서비스(1412)(도 14)에 새로운 마이크로서비스 인스턴스를 인스턴스화할 것을 고지한다. 2610에서, 인프라스트럭처 발견 마이크로서비스(1412)(도 14)는 새로운 마이크로서비스에 가상화 환경을 통지한다. (본원에 사용되는 바와 같이, 가상화 환경은 보호되는 데이터 센터의 고객 측 상에서 마이크로서비스들의 인스턴스화 및 전개를 관리한다. 2612에서, 시드 구성 데이터는 새로운 마이크로서비스에 의한 사용을 위해 준비되어, 새로운 마이크로서비스는 어떤 데이터 버스 및 어느 데이터베이스를 사용하는지를 알 것이다. 2614에서, 새로운 마이크로서비스가 발생하고 시디드 데이터(seeded data)를 이용하여 그 자체를 구성한다. 2616에서, 제어는 도 25의 2508로 전달된다.
도 27은 일 실시예에 따른 네트워크 보안 시스템과 국부적으로 또는 원격으로 인터페이스하는 프로세스를 예시하는 흐름도이다. 예시된 바와 같이, 프로세스(2700)는 네트워크 보안 시스템과 상호작용하는 3개의 상이한 방식을 시도한다. 2702에서, 사용자 인터페이스의 존재가 체크되며, 사용자 인터페이스는 고객들이 상호작용하는 로컬 UI이다. 2704에서, 사용자는 RESTful API를 사용하여 운반되는 선택권들을 UI, 및 API 게이트웨이 및 후속적으로 다른 마이크로서비스들에 입력한다. 2706에서, RESTful API와 토킹하는 운영 지원 시스템들(Operational Support Systems)(OSS) 또는 사업 지원 시스템들(Business Support Systems)(BSS) 소프트웨어의 존재가 결정된다. 2708에서, OSS/BSS 소프트웨어는 원하는 구성들을 RESTful API, 그 후 API 게이트웨이, 그 후 다른 마이크로서비스들에 전달하기 위해 RESTful 통신을 사용한다. 2710에서, 커맨드 라인 인터페이스(CLI)의 존재가 결정된다. 2712에서, CLI 커맨드들이 준비되고 RESTful API, 그 후 API 게이트웨이, 그 후 다른 마이크로서비스들에 전달된다.
상술한 명세서에서, 구체적인 예시적 실시예들이 개시되었다. 그러하, 다양한 수정들 및 변경들이 첨부된 청구항들에 제시된 바와 같이 발명의 더 넓은 사상 및 범위로부터 벗어나는 것 없이 그것에 이루어질 수 있다는 점은 분명할 것이다. 따라서, 명세서 및 도면들은 제한적 의미보다 오히려 예시적 의미로 간주되어야 한다.
본원에 개시되는 일부 실시예들이 하드웨어 실행 유닛들 및 논리 회로들의 맥락에서 데이터 취급 및 분배를 수반하지만, 다른 실시예들은 머신에 의해 수행될 때, 머신으로 하여금 적어도 하나의 실시예와 일치하는 기능들을 수행하게 하는, 비일시적 머신 판독가능 유형의 매체 상에 저장되는 데이터 또는 명령어들로서 달성될 수 있다. 일 실시예에서, 본 개시의 실시예들과 연관되는 기능들은 머신 실행가능 명령어들로 구체화된다. 명령어들은 명령어들로 프로그램되는 일반 목적 또는 특수 목적 프로세서로 하여금 적어도 하나의 실시예의 단계들을 수행하게 하기 위해 사용될 수 있다. 본 발명의 실시예들은 적어도 하나의 실시예에 따른 하나 이상의 동작을 수행하기 위해 컴퓨터(또는 다른 전자 디바이스들)를 프로그램하도록 사용될 수 있는 명령어들을 저장하는 머신 또는 컴퓨터 판독가능 매체를 포함할 수 있는 컴퓨터 프로그램 제품 또는 소프트웨어로서 제공될 수 있다. 대안적으로, 실시예들의 단계들은 단계들을 수행하는 고정 기능 로직을 포함하는 특정 하드웨어 구성요소들에 의해 수행되거나, 프로그램된 컴퓨터 구성요소들 및 고정 기능 하드웨어 구성요소들의 임의의 조합에 의해 수행될 수 있다.
적어도 하나의 실시예를 수행하기 위해 회로를 프로그램하도록 사용되는 명령어들은 DRAM, 캐시, 플래시 메모리, 또는 다른 스토리지와 같은, 시스템 내의 메모리 내에 저장될 수 있다. 더욱이, 명령어들은 네트워크를 통해 또는 다른 컴퓨터 판독가능 매체들로서 분배될 수 있다. 따라서, 컴퓨터 판독가능 매체는 정보를 머신(예를 들어, 컴퓨터)에 의해 판독가능한 형태로 저장하거나 송신하는 임의의 메커니즘을 포함할 수 있지만, 전파된 신호들(예를 들어, 반송파들, 적외선 신호들, 디지털 신호들 등)의 전기, 광, 음향 또는 다른 형태들에 의해 인터넷을 통한 정보의 송신에 사용되는 플로피 디스켓들, 광 디스크들, 콤팩트 디스크, 판독 전용 메모리(CD-ROMs), 및 자기 광 디스크들, 판독 전용 메모리(Read-Only Memory)(ROMs), 랜덤 액세스 메모리(RAM), 소거가능 프로그램가능 판독 전용 메모리(Erasable Programmable Read-Only Memory)(EPROM), 전기적 소거가능 프로그램가능 판독 전용 메모리(Electrically Erasable Programmable Read-Only Memory)(EEPROM), 자기 또는 광학 카드들, 플래시 메모리, 또는 유형의 머신 판독가능 스토리지에 제한되지 않는다. 따라서, 비일시적 컴퓨터 판독가능 매체는 전자 명령어들 또는 정보를 머신(예를 들어, 컴퓨터)에 의해 판독가능한 형태로 저장하거나 송신하는데 적절한 임의의 타입의 유형의 머신 판독가능 매체를 포함한다.
일부 실시예들에서, 시스템들, 장치들, 컴퓨터에 의해 구현되는 방법들이 설명되며, 이들은 제1 계층의 새로운 마이크로서비스를 생성하는 것, 새로운 마이크로서비스와 제2 상위 레벨 계층의 마이크로서비스 사이에 데이터 평면 연결성을 구성하는 것, 새로운 마이크로서비스와 제3 하위 레벨 계층의 마이크로서비스 사이에 데이터 평면 연결성을 구성하는 것, 및 제1 계층에 대한 로드 밸런싱 결정들에서 새로운 마이크로서비스를 포함하기 위해 제3 하위 레벨 계층의 마이크로서비스들을 구성하는 것 중 하나 이상을 수행하는 것을 포함한다. 일부 실시예들에서, 새로운 마이크로서비스는 기존 마이크로서비스에 의해 생성된다. 일부 실시예들에서, 기존 마이크로서비스는 구성 마이크로서비스이다. 일부 실시예들에서, 새로운 그리고 기존 마이크로서비스들은 백플레인을 통해 통신한다. 일부 실시예들에서, 새로운 마이크로서비스는 데이터 평면을 사용하도록 구성된다. 일부 실시예들에서, 새로운 마이크로서비스의 생성 전에, 새로운 마이크로서비스와 동일한 계층 레벨의 마이크로서비스가 존재한다. 일부 실시예들에서, 로드 밸런싱 결정은 제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 마이크로서비스 및 제2 하위 레벨 계층의 마이크로서비스들은 백플레인을 통해 통신한다. 일부 실시예들에서, 제1 마이크로서비스는 데이터 평면을 사용하도록 구성된다. 일부 실시예들에서, 제1 마이크로서비스를 다른 서버로 이동시키기 전에, 제1 마이크로서비스와 동일한 계층 레벨의 마이크로서비스가 존재한다. 일부 실시예들에서, 로드 밸런싱 결정은 제1 계층보다 상위 레벨 계층의 마이크로서비스들로부터의 정보를 이용한다. 일부 실시예들에서, 데이터 평면 연결성은 통신을 통해 백플레인 상에 구성된다. 일부 실시예들에서, 백플레인 및 데이터 평면은 관리된 네트워크들을 포함한다.
일부 실시예들에서, 시스템들, 장치들, 컴퓨터에 의해 구현되는 방법들이 설명되며, 이들은 제1 계층의 새로운 마이크로서비스를 생성하는 것, 새로운 마이크로서비스와 제2 상위 레벨 계층의 마이크로서비스 사이에 데이터 평면 연결성을 구성하는 것, 새로운 마이크로서비스와 제3 하위 레벨 계층의 마이크로서비스 사이에 데이터 평면 연결성을 구성하는 것, 및 제1 계층에 대한 로드 밸런싱 결정들에서 새로운 마이크로서비스를 포함하기 위해 계층의 제3 레벨의 마이크로서비스들을 구성하는 것 중 하나 이상을 수행하는 것을 포함한다. 일부 실시예들에서, 새로운 마이크로서비스는 기존 마이크로서비스에 의해 생성된다. 일부 실시예들에서, 기존 마이크로서비스는 구성 마이크로서비스이다. 일부 실시예들에서, 새로운 그리고 기존 마이크로서비스들은 백플레인을 통해 통신한다. 일부 실시예들에서, 새로운 마이크로서비스는 데이터 평면을 사용하도록 구성된다. 일부 실시예들에서, 새로운 마이크로서비스의 생성 전에, 새로운 마이크로서비스와 동일한 계층 레벨의 마이크로서비스가 존재한다. 일부 실시예들에서, 로드 밸런싱 결정은 제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 마이크로서비스 및 제2 하위 레벨 계층의 마이크로서비스들은 백플레인을 통해 통신한다. 일부 실시예들에서, 제1 마이크로서비스는 데이터 평면을 사용하도록 구성된다. 일부 실시예들에서, 제1 마이크로서비스를 다른 서버로 이동시키기 전에, 제1 마이크로서비스와 동일한 계층 레벨의 마이크로서비스가 존재한다. 일부 실시예들에서, 로드 밸런싱 결정은 제1 계층보다 상위 레벨 계층의 마이크로서비스들로부터의 정보를 이용한다. 일부 실시예들에서, 데이터 평면 연결성은 통신을 통해 백플레인 상에 구성된다. 일부 실시예들에서, 백플레인 및 데이터 평면은 관리된 네트워크들을 포함한다.
일부 실시예들에서, 시스템들, 장치들, 컴퓨터에 의해 구현되는 방법들이 설명되며, 이들은 프로세서로 하여금 제1 계층의 새로운 마이크로서비스를 생성하는 것, 새로운 마이크로서비스와 제2 상위 레벨 계층의 마이크로서비스 사이에 데이터 평면 연결성을 구성하는 것, 새로운 마이크로서비스와 제3 하위 레벨 계층의 마이크로서비스 사이에 데이터 평면 연결성을 구성하는 것, 및 제1 계층에 대한 로드 밸런싱 결정들에서 새로운 마이크로서비스를 포함하기 위해 계층의 제3 레벨의 마이크로서비스들을 구성하는 것 중 하나 이상을 수행하게 하도록 비일시적 컴퓨터 판독가능 매체 상에 포함되는 컴퓨터 실행가능 명령어들을 실행하는 것을 포함한다. 일부 실시예들에서, 새로운 마이크로서비스는 기존 마이크로서비스에 의해 생성된다. 일부 실시예들에서, 기존 마이크로서비스는 구성 마이크로서비스이다. 일부 실시예들에서, 새로운 그리고 기존 마이크로서비스들은 백플레인을 통해 통신한다. 일부 실시예들에서, 새로운 마이크로서비스는 데이터 평면을 사용하도록 구성된다. 일부 실시예들에서, 새로운 마이크로서비스의 생성 전에, 새로운 마이크로서비스와 동일한 계층 레벨의 마이크로서비스가 존재한다. 일부 실시예들에서, 로드 밸런싱 결정은 제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 마이크로서비스 및 제2 하위 레벨 계층의 마이크로서비스들은 백플레인을 통해 통신한다. 일부 실시예들에서, 제1 마이크로서비스는 데이터 평면을 사용하도록 구성된다. 일부 실시예들에서, 제1 마이크로서비스를 다른 서버로 이동시키기 전에, 제1 마이크로서비스와 동일한 계층 레벨의 마이크로서비스가 존재한다. 일부 실시예들에서, 로드 밸런싱 결정은 제1 계층보다 상위 레벨 계층의 마이크로서비스들로부터의 정보를 이용한다. 일부 실시예들에서, 데이터 평면 연결성은 통신을 통해 백플레인 상에 구성된다. 일부 실시예들에서, 백플레인 및 데이터 평면은 프로세서에 의해 관리되는 네트워크들을 포함한다.

Claims (20)

  1. 컴퓨터에 의해 구현되는 방법으로서,
    제1 계층의 새로운 마이크로서비스를 생성하는 단계;
    상기 새로운 마이크로서비스와 제2 상위 레벨 계층의 마이크로서비스 사이에 데이터 평면 연결성을 구성하는 단계;
    상기 새로운 마이크로서비스와 제3 하위 레벨 계층의 마이크로서비스 사이에 데이터 평면 연결성을 구성하는 단계; 및
    상기 제1 계층에 대한 로드 밸런싱 결정들에서 상기 새로운 마이크로서비스를 포함하기 위해 상기 제3 하위 레벨 계층의 마이크로서비스들을 구성하는 단계
    를 포함하는, 컴퓨터에 의해 구현되는 방법.
  2. 제1항에 있어서, 상기 새로운 마이크로서비스는 기존 마이크로서비스에 의해 생성되는, 컴퓨터에 의해 구현되는 방법.
  3. 제2항에 있어서, 상기 기존 마이크로서비스는 구성 마이크로서비스인, 컴퓨터에 의해 구현되는 방법.
  4. 제2항에 있어서, 상기 새로운 그리고 기존 마이크로서비스들은 백플레인을 통해 통신하는, 컴퓨터에 의해 구현되는 방법.
  5. 제2항에 있어서, 상기 새로운 마이크로서비스는 상기 데이터 평면을 사용하도록 구성되는, 컴퓨터에 의해 구현되는 방법.
  6. 제5항에 있어서, 상기 새로운 마이크로서비스의 생성 전에, 상기 새로운 마이크로서비스와 동일한 계층 레벨의 마이크로서비스가 존재하는, 컴퓨터에 의해 구현되는 방법.
  7. 제1항에 있어서, 상기 로드 밸런싱 결정은 상기 제1 계층보다 상위 레벨 계층의 마이크로서비스들로부터의 정보를 이용하는, 컴퓨터에 의해 구현되는 방법.
  8. 제1항에 있어서, 데이터 평면 연결성은 통신을 통해 백플레인 상에 구성되는, 컴퓨터에 의해 구현되는 방법.
  9. 제1항에 있어서, 백플레인 및 데이터 평면은 관리된 네트워크들을 포함하는, 컴퓨터에 의해 구현되는 방법.
  10. 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체로서, 상기 명령어들은 하드웨어 프로세서에 의해 실행될 때 상기 프로세서로 하여금 방법을 수행하게 하고, 상기 방법은,
    제1 계층의 새로운 마이크로서비스를 생성하는 단계;
    상기 새로운 마이크로서비스와 제2 상위 레벨 계층의 마이크로서비스 사이에 데이터 평면 연결성을 구성하는 단계;
    상기 새로운 마이크로서비스와 제3 하위 레벨 계층의 마이크로서비스 사이에 데이터 평면 연결성을 구성하는 단계; 및
    상기 제1 계층에 대한 로드 밸런싱 결정들에서 상기 새로운 마이크로서비스를 포함하기 위해 상기 제3 하위 레벨 계층의 마이크로서비스들을 구성하는 단계
    를 포함하는, 비일시적 컴퓨터 판독가능 매체.
  11. 제10항에 있어서, 상기 새로운 마이크로서비스는 기존 마이크로서비스에 의해 생성되는, 비일시적 컴퓨터 판독가능 매체.
  12. 제11항에 있어서, 상기 기존 마이크로서비스는 구성 마이크로서비스인, 비일시적 컴퓨터 판독가능 매체.
  13. 제11항에 있어서, 상기 새로운 그리고 기존 마이크로서비스들은 백플레인을 통해 통신하는, 비일시적 컴퓨터 판독가능 매체.
  14. 제11항에 있어서, 상기 새로운 마이크로서비스는 상기 데이터 평면을 사용하도록 구성되는, 비일시적 컴퓨터 판독가능 매체.
  15. 제14항에 있어서, 상기 새로운 마이크로서비스의 생성 전에, 상기 새로운 마이크로서비스와 동일한 계층 레벨의 마이크로서비스가 존재하는, 비일시적 컴퓨터 판독가능 매체.
  16. 제10항에 있어서, 상기 로드 밸런싱 결정들은 상기 제1 계층보다 상위 레벨 계층의 마이크로서비스들로부터의 정보를 이용하는, 비일시적 컴퓨터 판독가능 매체.
  17. 제10항에 있어서, 데이터 평면 연결성은 통신을 통해 백플레인 상에 구성되는, 비일시적 컴퓨터 판독가능 매체.
  18. 장치로서,
    명령어들을 실행하는 하드웨어 프로세서; 및
    상기 프로세서에 결합되는 메모리를 포함하고, 상기 메모리는 명령어들을 저장하고, 상기 명령어들은 상기 프로세서에 의해 실행될 때,
    제1 계층의 새로운 마이크로서비스를 생성하는 것;
    상기 새로운 마이크로서비스와 제2 상위 레벨 계층의 마이크로서비스 사이에 데이터 평면 연결성을 구성하는 것;
    상기 새로운 마이크로서비스와 제3 하위 레벨 계층의 마이크로서비스 사이에 데이터 평면 연결성을 구성하는 것; 및
    상기 제1 계층에 대한 로드 밸런싱 결정들에서 상기 새로운 마이크로서비스를 포함하기 위해 상기 제3 하위 레벨 계층의 마이크로서비스들을 구성하는 것을 야기하는, 장치.
  19. 제18항에 있어서, 상기 마이크로서비스들은 가상 백플레인을 통해 통신하는, 장치.
  20. 제18항에 있어서, 상기 로드 밸런싱 결정들은 상기 제1 계층보다 상위 레벨 계층의 마이크로서비스들로부터의 정보를 이용하는, 장치.
KR1020197000805A 2016-06-14 2016-10-24 동적, 로드 기반, 오토 스케일링 네트워크 보안 마이크로서비스 아키텍처 KR102569766B1 (ko)

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 (2)

Publication Number Publication Date
KR20190018162A true KR20190018162A (ko) 2019-02-21
KR102569766B1 KR102569766B1 (ko) 2023-08-23

Family

ID=57286819

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197000805A KR102569766B1 (ko) 2016-06-14 2016-10-24 동적, 로드 기반, 오토 스케일링 네트워크 보안 마이크로서비스 아키텍처

Country Status (6)

Country Link
US (4) US9716617B1 (ko)
EP (1) EP3469781B1 (ko)
JP (1) JP2019523949A (ko)
KR (1) KR102569766B1 (ko)
CN (1) CN109716729B (ko)
WO (1) WO2017218029A1 (ko)

Families Citing this family (122)

* Cited by examiner, † Cited by third party
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 (ko) 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
JP7351400B2 (ja) 2020-02-26 2023-09-27 日本電信電話株式会社 サービス提供システム、サービス提供方法、マスターノード、および、プログラム
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

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160094384A1 (en) * 2014-09-30 2016-03-31 Nicira, Inc. Controller Driven Reconfiguration of a Multi-Layered Application or Service Model

Family Cites Families (11)

* Cited by examiner, † Cited by third party
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
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160094384A1 (en) * 2014-09-30 2016-03-31 Nicira, Inc. Controller Driven Reconfiguration of a Multi-Layered Application or Service Model

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
JP2019523949A (ja) 2019-08-29
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
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
US10680946B2 (en) Adding multi-tenant awareness to a network packet processing device on a software defined network (SDN)
US10778756B2 (en) Location of actor resources
US10659496B2 (en) Insertion and configuration of interface microservices based on security policy changes
US9690683B2 (en) Detection and handling of virtual network appliance failures
US10142356B2 (en) Channel data encapsulation system and method for use with client-server data channels
US11368488B2 (en) Optimizing a security configuration of a networked environment
US20130074181A1 (en) Auto Migration of Services Within a Virtual Data Center
US20180173549A1 (en) Virtual network function performance monitoring
US20090328193A1 (en) System and Method for Implementing a Virtualized Security Platform
US10944723B2 (en) Systems and methods for managing endpoints and security policies in a networked environment
US10120779B1 (en) Debugging of hosted computer programs
US10419396B2 (en) Deep packet inspection with enhanced data packet analyzers
US11120148B2 (en) Dynamically applying application security settings and policies based on workload properties
US20200351306A1 (en) Configuring security policies in response to detecting a pivot of an intrusion
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
US20210112081A1 (en) Resolving the disparate impact of security exploits to resources within a resource group
Shin et al. Information Security Group, Korea Internet & Security Agency, Seoul, South Korea {ysshin, khson, hrpark}@ kisa. or. kr

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right