KR101877655B1 - 지능적 방화벽 액세스 규칙 - Google Patents

지능적 방화벽 액세스 규칙 Download PDF

Info

Publication number
KR101877655B1
KR101877655B1 KR1020167013252A KR20167013252A KR101877655B1 KR 101877655 B1 KR101877655 B1 KR 101877655B1 KR 1020167013252 A KR1020167013252 A KR 1020167013252A KR 20167013252 A KR20167013252 A KR 20167013252A KR 101877655 B1 KR101877655 B1 KR 101877655B1
Authority
KR
South Korea
Prior art keywords
real
dynamic object
firewall
data
network
Prior art date
Application number
KR1020167013252A
Other languages
English (en)
Other versions
KR20160075610A (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 KR20160075610A publication Critical patent/KR20160075610A/ko
Application granted granted Critical
Publication of KR101877655B1 publication Critical patent/KR101877655B1/ko

Links

Images

Classifications

    • 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
    • H04L63/0263Rule management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/282Hierarchical databases, e.g. IMS, LDAP data stores or Lotus Notes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/062Generation of reports related to network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • 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
    • 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
    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

방화벽 규칙에서의 동적 객체의 사용을 가능케 함으로써 방화벽은 개선된 네트워크 보안을 제공하는데, 동적 객체는 디바이스의 가변 세트로 평가된다. 동적 객체는 실시간 데이터 소스 및 데이터의 비실시간 인벤토리로부터 업데이트될 수 있다. 방화벽 규칙 내의 소스 및 목적지 중 어느 것이든 하나 또는 양자 모두를 위해 동적 객체가 사용될 수 있다. 동적 객체가 비실시간 데이터를 포함하는 경우에, 동적 객체는 구성가능한 단위로 비실시간 데이터 인벤토리와 동기화될 수 있다. 동적 객체를 사용함으로써, 방화벽은 사용자 소유 및 제어의 디바이스에 대한 제어를 허용하도록 규칙 내에 융통성을 제공할 수 있다.

Description

지능적 방화벽 액세스 규칙{INTELLIGENT FIREWALL ACCESS RULES}
본 문서에 기술된 실시예는 일반적으로 네트워크 보안(network security)에 관련되고, 특히 "자기의 디바이스를 가지고 다닌다"(bring-your-own-device)는 환경 내의 지능적 방화벽 액세스 규칙에 관련된다.
갈수록 근로자들은 근무를 할 때에 회사가 제공하는(company-provided) 디바이스에 제한되지 않는다. 점점 더 많은 근로자들이 스마트폰과 태블릿과 같은 개인용 모바일 디바이스를 직장에 가지고 다닐 뿐만 아니라, 다시 사무실에 연결하기 위해 원격 위치에서 그것을 사용하기도 함에 따라, 종래의 방화벽은 이 디바이스들의 기업 리소스로의 액세스를 제어하기 위한 규정을 정의하지 못하는 것 때문에 애를 먹고 있다.
BYOD(Bring Your Own Device)(BYOT(Bring Your Own Technology), BYOP(Bring Your Own Phone) 및 BYOPC(Bring Your Own PC)로 불리기도 함)는 근로자들로 하여금 개인적으로 소유한 모바일 디바이스(랩톱, 태블릿 및 스마트폰)를 자신의 직장에 가지고 다니고, 특별권한을 요하는(privileged) 회사 정보 및 애플리케이션을 액세스하는 데에 그 디바이스를 사용하도록 허용하는 정책을 나타낸다.
몇몇 출전에 따르면, BYOD는 실업계를 상당히 잠식해 가고 있으니, 회사 정책이 명확히 BYOD를 허용하는지 여부를 막론하고, 브라질과 러시아와 같은 고성장 시장의 근로자의 약 75%가, 그리고 선진 시장에서는 44%가 이미 자기 자신의 장비를 근무 중에 사용하고 있다. 몇몇 사람들은 BYOD가 근로자들이 더욱 생산적이도록 도울 수 있다고 믿는다. 다른 이들은 그것이 근로자 의욕과 편의를, 자기의 디바이스를 사용하는 것에 의해 증대시키고 회사가 융통성 있고 매력적인 고용주처럼 보이게 한다고 말한다. 몇몇 회사는 BYOD가 심지어 새로운 피채용인을 매료시키는 수단일 수 있다고 여기면서, 구직자의 44%가 조직이 자기의 디바이스를 지원하면 조직을 더욱 긍정적으로 본다는 것을 보여주는 조사를 지목한다.
종래의 방화벽 액세스 규칙 또는 정책은 "네트워크 Y 내로 IP 주소 X를 허용"(Allow IP address X into network Y) 및 "사용자 X에게는 인터넷으로의 액세스를 거부"(Deny user X access to the Internet) 등등과 같은 일차원적(one dimensional) 액세스 규칙에 의존하였다. 그러한 액세스 규칙은 BYOD 환경에서 불충분하다.
도 1은 선행 기술에 따른 방화벽 규칙을 예시하는 표이다.
도 2는 하나의 실시예에 따라 동적 객체를 이용하는 방화벽 규칙을 예시하는 표이다.
도 3은 하나의 실시예에 따라 동적 객체를 생성하기 위한 기법을 예시하는 블록도이다.
도 4는 하나의 실시예에 따라 동적 객체와의 매치(match)를 판정하기 위한 조건을 예시하는 블록도이다.
도 5는 하나의 실시예에 따라 동적 객체와의 매치를 판정하기 위한 다른 조건을 예시하는 블록도이다.
도 6은 하나의 실시예에 따라 동적 객체들을 위해 데이터를 수집하는 데에 사용되는 디바이스들의 네트워크를 예시하는 블록도이다.
도 7은 하나의 실시예에 따라 동적 객체를 정의하기 위한 사용자 인터페이스(user interface)를 예시하는 스크린샷(screenshot)이다.
도 8은 하나의 실시예에 따라 동적 객체를 이용하는 규칙을 평가하기 위한 기법을 예시하는 흐름도이다.
도 9는 하나의 실시예에 따라 동적 객체를 비실시간 데이터 인벤토리(non-real time data inventory)와 동기화하기 위한 기법을 예시하는 흐름도이다.
도 10은 하나의 실시예에 따라 방화벽의 구성요소를 예시하는 블록도이다.
도 11은 하나의 실시예에 따라 동적 객체를 이용하는 방화벽이 구현될 수 있는 네트워크 인프라스트럭처(network infrastructure)를 예시하는 블록도이다.
도 12는 하나의 실시예에 따라 동적 객체를 이용하는 방화벽이 구현될 수 있는 프로그램가능 디바이스(programmable device)를 예시하는 블록도이다.
도 13은 다른 실시예에 따라 동적 객체를 이용하는 방화벽이 구현될 수 있는 프로그램가능 디바이스를 예시하는 블록도이다.
이하의 서술에서, 설명의 목적으로, 발명의 철저한 이해를 제공하기 위해서 다수의 특정 세부사항이 개진된다. 그러나, 발명이 이들 특정 세부사항 없이 실시될 수 있음은 당업자에게 명백할 것이다. 다른 사례에서, 발명을 모호하게 하는 것을 피하기 위해서 구조 및 디바이스가 블록도 형태로 도시된다. 첨자(subscript) 및 접미사(suffix) 없이 숫자에 대해 언급하는 것은 언급된 숫자에 대응하는 첨자 및 접미사의 모든 사례를 언급하는 것으로 이해된다. 나아가, 이 개시에서 사용되는 언어는 주로 가독성(readability) 및 지도용(instructional) 목적으로 선택되었고, 발명 대상물(inventive subject matter)을 묘사하거나 제한하기 위해 선택되지 않았을 수 있는데, 그러한 발명 대상물을 판정하는 데에는 청구항에 대한 의존이 필요하다. "하나의 실시예" 또는 "일 실시예"에 대한 명세서 내에서의 언급은 그 실시예와 관련하여 기술된 특정한 특징, 구조 또는 특성이 발명의 적어도 하나의 실시예에 포함됨을 의미하고, "하나의 실시예" 또는 "일 실시예"에 대한 여러 언급이 반드시 모두 동일한 실시예를 나타내는 것으로 이해되어서는 안 된다.
본 문서에서 사용되는 바와 같이, 용어 "컴퓨터 시스템"(computer system)은 단일 컴퓨터를 나타내거나 컴퓨터 시스템 상에서 또는 이에 의해 수행되는 것으로 기술된 기능을 수행하기 위해 함께 작동하는 복수의 컴퓨터를 나타낼 수 있다. 유사하게, 용어 "프로그램가능 디바이스"(programmable device)는 단일 프로그램가능 디바이스를 나타내거나 프로그램가능 디바이스 상에서 또는 이에 의해 수행되는 것으로 기술된 기능을 수행하기 위해 함께 작동하는 복수의 프로그램가능 디바이스를 나타낼 수 있고, 용어 "머신 판독가능 매체"(machine readable medium)는 단일의 물리적 머신 판독가능 매체를 나타내거나 머신 판독가능 매체 상에 저장된 것으로 기술된 제재(material)를 함께 저장하는 복수의 물리적 머신 판독가능 매체를 나타낼 수 있다.
BYOD 환경은 상당한 보안 문제를 제기하였다. 이들 문제 중 몇몇은 BYOD 환경에 특정되지 않다. 예컨대, 기업의 데이터를 액세스하는 데에 회사 또는 근로자 소유의 랩톱과 같은 디바이스가 사용되고 기업의 데이터가 디바이스 상에 남겨져, 그것이 추후 유실되거나 도난당하는 경우 데이터 누출이 일어날 수 있다. BYOD 환경에서, 회사를 떠나는 근로자는 자신의 개인용 디바이스를 회사에 반환할 필요가 없는데, 이는 그 디바이스 상의 데이터의 노출을 초래할 수 있다. 게다가, 그런데도, 보안화된(secure) 기업 리소스로의 액세스가 어떤 디바이스에게 허용되어야 할지를 제어하는 것은 종래의 방화벽 정책으로써 감당하기가 매우 어려웠다.
아래에서 개시되는 바와 같이, BYOD 액세스 제어는 방화벽 정책 내의 다차원적(multidimensional) 액세스 규칙을 통하여 다루어진다. 예컨대, 정보 기술(Information Technology: IT) 관리자는 다음과 같이 행하는 방화벽 액세스 규칙을 통하여 제어를 부과할 수 있다:
특정 보안 소프트웨어(가령, 맥아피 엔드포인트 보안(McAfee® Endpoint Security)를 구동하는 지원되는 모바일 디바이스가 네트워크를 액세스할 수 있게 한다. (MCAFEE는 맥아피 사(McAfee, Inc.)의 등록 상표이다.)
·인사부(Human Resources: HR) 사용자는 안드로이드(Android®) 디바이스를 사용하도록 허용되지 않는다. (ANDROID는 구글 사(Google, Inc.)의 등록 상표이다.)
·스마트폰은 피어-투-피어(peer-to-peer: P2P) 애플리케이션을 사용하도록 허용되지 않는다.
·스마트폰/태블릿은 유선 네트워크로부터의 액세스가 허용되지 않는다(가령, 그의 또는 그녀의 랩톱을 핫스팟(hotspot)으로서 사용하려고 하는 누군가를 막음).
·액티브 디렉토리(Active Directory®: AD) 도메인의 일부이고 기업 승인 엔드포인트 보호(corporate approved endpoint protection)를 구동하고 있는 머신만 기업 리소스를 액세스하도록 허용한다. (ACTIVE DIRECTORY는 마이크로소프트 사(Microsoft Corporation)의 등록 상표이다.)
후술되는 바와 같이 다차원적 액세스 규칙을 허용함으로써, 기업 방화벽 내에 배치된 신뢰받는 규칙으로부터 BYOD 액세스가 관리될 수 있다.
종래의 방화벽 규칙은 대개 일차원적이고, 통상적으로 도 1의 규칙세트(ruleset)(100) 내에 예시된 바와 같은 구성요소를 수반한다. 이 선행 기술 도표에 예시된 바와 같은 각각의 규칙은 규칙 속성(rule attributes)(110), 소스 지시자(source indicator)(120), 목적지 지시자(destination indicator)(130), 애플리케이션(application)(140), 시간(time)(150), 방향(direction)(160) 및 응답(response)(170)을 포함한다. 각각에 대한 예시적 값이 행(180)에 예시된다. 이와 같이 소스 지시자(120)는 인터넷 프로토콜(Internet Protocol: IP) 주소(IP 버전 4 포맷으로 된 것이든 또는 IP 버전 6 포맷으로 된 것이든), 네트워크, 그룹(group), 사용자 및 그룹, 도메인 이름(domain name), 나라(country) 등등을 식별할 수 있다. 유사하게, 목적지 지시자(130)는 IP 주소, 네트워크, 도메인 이름, 나라, 평판(reputation) 등등을 식별할 수 있다. 애플리케이션(140)은 특정 애플리케이션(가령, 스카이프(Skype), 페이스북(Facebook)) 또는 애플리케이션 유형, 예를 들어 피어-투-피어(peer-to-peer: P2P) 대화(chat), 또는 파일 전송 프로토콜(File Transfer Protocol: FTP)을 식별할 수 있다. 시간(150)은 이 규칙이 적용가능한 시간, 예를 들어 평일(week days), 주말(weekend), 언제든지(anytime), 또는 맞춤형(custom) 시구간을 나타낼 수 있다. 방향(160)은 규칙이 유입(incoming) 패킷 또는 유출(outgoing) 패킷 또는 양자 모두에 적용되는지를 나타낼 수 있다. 응답(170)은, 트래픽을 허용하는 것, 트래픽을 차단하는 것(blocking), 인터페이스를 재설정하는 것(resetting), 트래픽을 속도 제한하는 것(rate limiting), 트래픽을 격리하는 것(quarantining), 또는 패킷을 캡처하는 것(capturing)과 같이, 규칙을 충족시키는 효과를 나타낼 수 있다.
이와 같이, 예컨대, 규칙(102 내지 108)이 수립될(established) 수 있다. 규칙(102)은, 하루 중 아무 때나, 모든 애플리케이션과 연계되어, 데이터 센터(data center) 내의 아무 곳이나 목적지이자, 소스가 IP 주소 10.20.30.0/24(24 비트 서브넷 마스크(subnet mask)를 갖는 IPv4 주소를 나타냄)인 양 방향 모두에서의 네트워크 트래픽을 허용할 것이다. 규칙(104)은, 평일 동안에 일어나는 것으로서 소스가 사용자 "John D"이자, 목적지가 인터넷(Internet)인 외향(outbound) 대화 트래픽에 적용될 것이다. 이 트래픽은 허용되지만, 속도 제한이 될 것이다. 규칙(106)은, 애플리케이션 및 트래픽의 방향에 상관없이, 소스가 제한된 구역(restricted zone) 내이고 목적지가 인터넷인 근무 시간 동안의 트래픽을 차단할 것이다. 그리고 예시적 규칙(108)은 언제나 소스가 인터넷이고 목적지가 DMZ인 내향(inbound) FTP 트래픽을 차단할 것이다.
종래의 방화벽 규칙에서, IP, 사용자, 도메인 이름, 위치, 평판 등등의 속성들은 내장된다(built-in). 예컨대, 엔드포인트 보안 소프트웨어가 설치된 모든 마이크로소프트 윈도우즈 2008(Microsoft Windows® 2008) 서버, 또는 안드로이드 3.0 이하의 운영 체제를 구동하는 모든 모바일 디바이스에 적용될, 도 1에 예시된 바와 같은 종래의 규칙 내에서의 콘텍스트 기반 제한(context-based limitation)을 제공할 길이 전혀 없다. (WINDOWS는 마이크로소프트 사의 등록 상표이다.)
BYOD 및 소비적합화(consumerization)는 인기 있는 경향인데, 그것들은 작업자로 하여금 자기 자신의 개인용 디바이스를 사용할 수 있게 하여 작업 효율을 개선하는 데에 도움이 되기 때문이다. 따라서 방화벽 관리자는 디바이스 및 사용자와 연관된 리치 콘텍스트 정보(rich context information)에 주목하는 액세스 정책을 생성하고, 모니터링하며, 시행할 수 있기를 바란다.
도 2는, 종래의 소스 및 목적지 속성들에 더하여, 규칙세트(200)의 행(210)에 예시된 바와 같이 콘텍스트 기반 동적 객체를 포함하도록 소스 및 목적지 속성들을 확장하는 하나의 실시예에 따른 규칙세트를 예시하는 표이다. 이와 같이, 예컨대, 규칙(202)은 엔드포인트 보안 소프트웨어가 설치되지 않은 임의의 모바일 디바이스에 적용되어, 애플리케이션, 시간 또는 방향에 상관없이 데이터 센터와의 통신을 차단한다. 규칙(204)은 X 운영 체제를 구동하는 인사부서 내에서의 사용을 위한 평일의 인터넷으로의 모든 유출 액세스를 차단한다. 규칙(206)은 X 운영 체제를 구동하는 스마트폰에 의한 근무 시간 동안의 임의의 P2P 애플리케이션에 의한 인터넷으로의 액세스를 차단한다. 규칙(208)은 액티브 디렉토리의 일부이고 안티바이러스(antivirus) 프로그램을 구동하고 있는 마이크로소프트 윈도우즈(Microsoft Windows)를 구동하는 임의의 디바이스로 하여금, 애플리케이션과는 상관없이, 아무 때나 DMZ를 액세스하도록 허용한다. 액티브 디렉토리는 윈도우즈 도메인 네트워크를 위해 마이크로소프트에 의해 구현된 디렉토리 서비스(directory service)이다. 그것은 대부분의 윈도우즈 서버(Windows Server) 운영 체제에 포함된다. 다른 디렉토리 서비스 또는 비실시간 데이터(non-real time data)의 소스의 다른 유형이 규칙 내에 지정될 수 있다. 이 규칙들은 단지 예로 드는 것이고 예시가 되는 것이며, 원하는 대로 규칙세트 내에 다른 동적 객체가 구현되고 지정될 수 있고, 원하는 대로 다른 규칙 속성이 사용될 수 있다.
몇몇 실시예에서, 규칙세트 내에서 사용되는 동적 객체는 맥아피 네트워크 보안 센서(McAfee Network Security Sensor)와 같은, 네트워크 세그먼트 상의 트래픽을 분석하는 기기에 의해 실시간으로 생성될 수 있다. 다른 실시예에서, 동적 객체는 비실시간 데이터 소스에 의해 유지되는 데이터와 동기화될 수 있다. 규칙세트 내의 동적 객체는 어떻게 객체가 생성되고 유지되는지를 정의하는 데에서 방화벽 관리자에게 융통성(flexibility)을 제공하여, BYOD 제어를 위해 융통성을 제공할 수 있다. 동적 객체는, 종래의 규칙 세트에서와 같이 디바이스의 사전정의된 정적 세트(pre-defined static set) 대신에, 동적 객체에 대응하는 디바이스의 가변 세트(variable set)를 정의할 수 있다.
그것들은 동적 객체들이므로, 규칙세트 내에 놓일 용어를 정의하는 것만으로는 충분하지 않은바, 동적 객체는 생성되어 의미가 주어져야 한다. 다양한 실시예에서, 방화벽 관리자는 동적 객체를 구축하도록(build) 다양한 데이터 소스 및 조건을 구성할 수 있다. 도 3은 동적 객체를 생성하는 몇몇 방식을 예시하는 블록도이다.
도 3에서, 블록(310)에서의 동적 객체 생성은 두 유형의 소스 중 하나 또는 양자 모두로부터의 동적 객체를 위한 데이터의 획득에 의존한다: 실시간 학습(real-time learning)(320) 및 비실시간 데이터 인벤토리(non-real time data inventory)(330). 실시간 학습(320)은 실시간으로 동적 객체를 실장하기(populating) 위해 데이터를 능동적으로(actively) 또는 수동적으로(passively) 모으는 것을 수반한다. 그러한 실시간 학습은 통상, 네트워크 세그먼트 상에서의 트래픽을 분석하는 기기와 같은, 데이터를 얻는 하드웨어 및 소프트웨어 모니터들 중 하나 이상을 통해 획득된다. 아래에서 더욱 상세히 기술되는 바와 같이, 그 모니터링은 수동적(340), 네트워크 흐름 핑거프린트(network flow fingerprint)를 수집하는 것이거나, 능동적(350), 예를 들어 유용한 데이터를 능동적으로 수집하는 엔드포인트 지능 에이전트(endpoint intelligent agent)에 의해 데이터를 얻는 것일 수 있다. 동적 객체는, 일단 생성되면, 실시간 학습이 일어남에 따라 실시간으로 자동으로 업데이트된다(updated).
비실시간 데이터 인벤토리(330) 데이터는 방화벽 규칙 생성 프로세스의 제어 밖에 있을 수 있는 소스로부터 획득되는 데이터이다. 통상적인 실시예에서, 그 데이터는 방화벽 규칙의 생성이 아닌 이유로 획득되고, 동적 객체 생성 프로세스에 의해 액세스될 수 있는 데이터 저장소(data repository) 내에 저장된다. 원하는 대로, 비실시간 데이터 소스는 방화벽을 구동하는 기업에 의해 제어될 수 있거나 제3자에 의해 제어될 수 있다. 이 데이터는 동적 객체 생성 프로세스에 외부에서 수집되고 저장되므로, 동적 객체를 생성하고 실장하는 데에 사용되는 데이터는 일정에 맞추어(on a scheduled basis), 예를 들어 주기적으로 추출될 수 있다. 일단 동적 객체가 생성되면, 비실시간 데이터 인벤토리를 다시 액세스하는 것 및 비실시간 데이터 인벤토리 내의 변화에 기반하여 필요에 따라 동적 객체를 업데이트하는 것에 의해 비실시간 데이터 인벤토리는 동적 객체와 동기화된다. 비실시간 데이터 인벤토리는 텍스트 파일(360), 데이터베이스(370), 애플리케이션 프로그래밍 인터페이스(Application Programming Interface: API)(380) 또는 스크립트(390)를 포함하는 임의의 원하는 유형의 데이터 소스에 의존할 수 있다. 동적 객체를 비실시간 데이터 인벤토리와 동기화하는 경우, 비실시간 데이터 인벤토리는 원하는 데이터(동적 객체(310)를 실장하기 위해 이후 회신될 수 있음)를 위해 액세스되거나 질의될 수 있다.
예컨대, 도 2의 예시적 규칙(202) 내의 동적 객체인 "mobile_devices_with_security"와 같은 동적 객체를 고려하자. 다양한 실시예는 방화벽 관리자에 의해 구성된 동적 객체가 도 4의 블록도 내에 예시된 바와 같이 실장될 수 있게 할 수 있다.
이 예에서, 동적 객체(410) "mobile_devices_with_security"는 조건(420 내지 440)의 조합으로서 구성될 수 있다. 조건(420)에서, 디바이스가 모바일 디바이스를 위한 시그니처(signature)에 대응하는 패턴과 매칭됨을 발견하는 데에 실시간 학습이 사용될 수 있다. 이 패턴들은 동적 객체 생성 소프트웨어에 내장될 수 있거나 사용자 정의될(user defined) 수 있다. 이 예에서, 그 조건은, 모바일 디바이스에 대응하는 패킷 데이터를 찾으면서, 전송 제어 프로토콜(Transmission Control Protocol: TCP), 동적 호스트 구성 프로토콜(Dynamic Host Configuration Protocol: DHCP), 또는 하이퍼텍스트 전송 프로토콜(Hypertext Transfer Protocol: HTTP) 사용자 에이전트 네트워크 트래픽의 수동적 핑거프린팅(passive fingerprinting)을 사용함으로써 시험될 수 있다. 수동적 핑거프린팅 데이터 소스의 이 리스트(list)는 단지 예로 드는 것이고 예시가 되는 것이며, 능동적으로 획득된 데이터에 더하여, 다른 수동적 데이터 소스와 다른 유형의 네트워크 트래픽이 사용될 수 있다.
제2 조건(430)은 디바이스가 보안 벤더 매니저 서버(security vendor manager server)와 보안 통신(secure communication)을 한다는 것을 확인하는 시그니처에 대응하는 패턴에 네트워크 트래픽이 매칭되는지를 판정한다. 제3 조건(440)은 디바이스를 위한 IP 주소가 보안적으로 관리되는(securely managed) 모바일 디바이스를 위한 IP 주소 범위 내에 있는지를 판정한다. 만약 조건(420)이, 그리고 조건(430 또는 440) 중 어느 것이든지 충족되면, 모바일 디바이스는 보안을 구비한 모바일 디바이스로 간주되고, 동적 객체는 해당 디바이스에 대응하는 정보로 실장된다.
도 4에 예시된 바와 같이, 조건(440)은, 다른 동적 객체, 이 예에서는 "all_managed_mobile_devices" 네트워크 객체(network object)(450)로서, 비실시간 데이터 인벤토리 객체인 것에 의존할 수 있다. 이와 같이 조건(440)은 또한 비실시간 데이터 인벤토리 객체이다. 몇몇 실시예에서, 동적 객체는 동적 객체의 임의적인 계층구조(hierarchy)에 기반하여 정의될 수 있지만, 만약 그 계층구조 내의 어느 객체라도 비실시간 데이터 인벤토리 객체인 경우, 그 동적 객체는 또한 비실시간 데이터 인벤토리 객체로 간주된다.
도 4에 예시된 바와 같이, all_managed_mobile_devices 네트워크 객체(450)는 모바일 디바이스에 대응하는 것으로 알려진 IP 주소 범위에 대한 정보를 제공한다. 블록(460)에서, 네트워크 객체(450)는 IP 주소 A.B.C.D, 포트 XYZ에서, mobile_IP_addresses로 명명된 데이터 베이스로부터 네트워크 객체를 실장하기 위한 명령어를 포함한다. 네트워크 객체(450)는 120분마다 원격 데이터베이스와 동기화하도록 정의된다. 동기화 간에 mobile_IP_addresses 데이터베이스 내에서 발생하는 변화는 다음 동기화 이벤트까지 동적 객체 내에 반영되지 않을 것이다.
도 5는 동적 객체 구성의 다른 예를 보여주는 도표인데, 이 경우에 동적 객체(510)는 도 2의 규칙(208)에서 사용되는 것과 같이, 액티브 디렉토리의 일부이고 안티바이러스 프로그램을 구동하고 있는 모든 마이크로소프트 윈도우즈(Microsoft Windows) 디바이스를 나타낸다. 동적 객체(510)를 정의하는 데에 두 가지 조건이 사용된다. 조건(520)은 액티브 디렉토리 사용자의 비실시간 IP 주소 리스트를 사용하여서, 디바이스가 액티브 디렉토리의 일부인 윈도우즈(Windows) 머신인지를 판정하기 위해 현재의 디바이스의 IP 주소를 그 IP 주소 리스트와 매칭시킨다. 조건(530)은 실시간 학습 조건인데, 그것은 디바이스가 안티바이러스 소프트웨어를 구동하고 있는지를 나타내는 엔드포인트 지능 에이전트 소프트웨어(endpoint intelligence agent software)를 구동하는 엔드포인트로부터 실시간 정보를 수신하는 것에 의존한다. 만약 조건(520 및 530) 양자 모두가 충족되면, 현재의 디바이스는 규칙세트 내의 동적 객체(510)와 매칭된다.
도 6은 하나의 실시예에 따라 동적 객체를 이용하는 네트워크 보안 시스템을 예시하는 블록도이다. 네트워크 보안 매니저(network security manager)(610)는 도 2에 예시된 것과 같은 규칙세트에 기반하여 방화벽 서비스를 제공한다. 전술된 바와 같은, 실시간 학습 조건을 이용하는 동적 객체가 네트워크 보안 매니저(610) 방화벽 기능성에 의해 사용된다. 네트워크 보안 매니저(610)는 원하는 대로 다른 네트워크 보안 서비스를 제공할 수 있다.
네트워크 보안 센서(620A,B)는 각각 네트워크(622A 및 622B) 상의 네트워크 트래픽을 모니터링한다. BYOD 디바이스(630(마이크로소프트 윈도우즈 디바이스), 640(리눅스(Linux®) 디바이스), 650(서버) 및 660(모바일 디바이스))는 네트워크(622A)에 연결된다. (LINUX는 리누스 토발즈(Linus Torvalds)의 등록 상표이다.) 네트워크 보안 센서(620A)는 네트워크 보안 매니저(610)에 의해 사용되는 규칙세트에 의해 이용되는 동적 객체를 위해 실시간 데이터를 제공하도록 네트워크 트래픽 흐름 데이터를 캡처할 수 있다. 추가로, 윈도우즈 디바이스(630)는 디바이스(630)로부터 능동적 또는 수동적 데이터 모음(collection)을 제공하는 에이전트 소프트웨어를 설치하였을 수 있다(네트워크 보안 매니저(610)에 의해 사용되는 동적 객체를 실장하는 데에서의 사용을 위해 네트워크 보안 센서(620A)에 실시간으로 해당 데이터를 전달함).
도 6에 예시된 네트워크 보안 매니저(610)에게 또한 비실시간 데이터 소스들이 이용가능한 것들이다. 이것들은 액티브 디렉토리를 위한 로그온 수집기(logon collector)(690), 엔드포인트를 위한 모바일 보안 매니저(mobile security manager)(680) 및 다른 네트워크 인벤토리 데이터 소스(670)를 포함할 수 있다. 네트워크 보안 매니저(610)는 네트워크 보안 매니저(610)의 규칙세트에 의해 사용되는 동적 객체를 실장하기 위해 이 비실시간 데이터 소스들에게서 비실시간 데이터를 질의하거나 아니면 획득할 수 있다. 임의의 원하는 통신 기법이 네트워크 보안 매니저(610) 및 비실시간 데이터 소스(670 내지 690) 간에 사용될 수 있다. 네트워크 보안 매니저(610)는 그것의 동적 객체 데이터를 일정에 맞추어, 예를 들어 구성가능한 주기 단위(configurable periodic basis)로, 비실시간 데이터 소스(670 내지 690)와 동기화할 수 있거나, 원하는 대로 부정기적인 이벤트 구동식 기준에 따라(on a non-scheduled event-driven basis) 동기화를 수행할 수 있다.
도 7은 동적 객체를 사용하여 방화벽 규칙세트를 구현하는 네트워크 보안 매니저(610)를 위한 예시적 사용자 인터페이스(700)를 보여준다. 방화벽 관리자 사용자는 소스 또는 목적지 속성 중 어느 것이든 하나(또는 양자 모두)로서 동적 객체를 이용할 수 있는 규칙 세트 내의 규칙을 가능화하거나 불능화할 수 있다. 이 예에서, 사용자는 소스 속성이 동적 객체(710)인 규칙을, 맥아피 안티바이러스(McAfee Antivirus)를 구동하고 있지 않은 스마트폰 및 태블릿에 그것이 적용됨을 명시하여 정의하였다. 목적지(720)는 데이터센터 내의 임의의 디바이스를 나타내고, 애플리케이션(730)은 임의의 애플리케이션을 나타내며, 응답(740)은 만약 규칙이 충족되는 경우에 네트워크 트래픽이 차단될 것임을 나타낸다.
디바이스, 사용자 및 콘텍스트(context)에 대해 지능(intelligence)을 가진 네트워크 보안 매니저(610)로써, 종래의 방화벽 규칙세트 내에 생성될 수 없었던 동적 객체를 이용하는 많은 유형의 규칙이 생성될 수 있다. 예컨대, 특정한 보안 소프트웨어를 구동하는 IOS 디바이스만 네트워크를 액세스하도록 허용될 수 있다. 스마트폰 또는 태블릿은 유선 네트워크 상에서 금지될 수 있어, 자기의 모바일 디바이스를 핫스팟으로 사용하려고 하는 누군가를 저지한다. 기업 리소스 또는 네트워크로의 적절한 보안 보호 액세스를 갖는 머신만 허용함으로써 기업 보안 정책이 BYOD 디바이스 상에서 시행될 수 있다. 이것들은 방화벽을 위한 규칙 세트 내에서 이용될 수 있는 동적 콘텍스트 인지(context-aware) 객체에 의해 제공되는 향상된 능력의 예들일 뿐이다.
도 7에 예시된 사용자 인터페이스는 또한 방화벽 관리자로 하여금, 그 관리자가 동기화를 구성할 수 있게 하는 것에 더하여, 비실시간 데이터 인벤토리와 동기화되는 동적 객체의 동기화 상태를 볼 수 있게 할 수 있다. 동기화는 바람직하게는 동적 객체마다 구성가능하고, 비실시간 데이터 인벤토리 데이터 소스와 교환되는 데이터를 보여주는 것은 물론, 임의의 동기화 실패를 포함하여, 동기화의 상태에 대한 정보를 제공하는 데에 로그 파일이나 다른 기법이 사용될 수 있다.
도 8은 규칙 평가(rule evaluation)에서의 동적 객체의 사용을 예시하는 흐름도이다. 규칙이 여러 동적 객체를 이용하는 경우에, 이 기법은 원하는 대로 병렬로 또는 순차적으로 각각의 동적 객체를 위해 수행될 수 있다. 블록(810)에서, 규칙에 의해 이용되는 동적 객체가 평가될 수 있다. 만약 블록(820)에서 동적 객체가 그것의 데이터를 실시간 데이터 소스로부터 획득하는 것이면, 블록(830)에서 실시간 데이터가 그 데이터 소스로부터 추출되고 블록(840)에서 동적 객체는 동적 객체에 대응하는 디바이스를 식별하는 실시간 데이터로 실장된다. 리스트 및 룩업 테이블(lookup table)을 포함하여, 동적 객체를 실장하는 데이터를 저장하기 위해 임의의 원하는 기법이 사용될 수 있다. 예컨대, 동적 객체는 평가되는 경우, 동적 객체와 매칭되는, 현재 네트워크 내에 있는 디바이스의 IP 주소의 리스트를 야기할 수 있다. 대체 실시예에서, 동적 객체가 평가되는 경우 실시간 데이터 소스로부터 데이터를 추출하는 것 대신에, 실시간 데이터 소스는 네트워크 센서(620A,B)가 동적 객체에 관련된 것에서의 변화를 검출할 때는 언제든지 동적 객체를 업데이트하기 위해 네트워크 보안 매니저(610)에 데이터를 송신할 수 있다. 그러므로 몇몇 실시예에서, 네트워크 센서(620A, B)는 네트워크 보안 매니저(610)에 의해 관리되는 동적 객체를 인지할 수 있는 반면, 다른 실시예에서, 네트워크 센서는 그저 네트워크 보안 매니저(610)로부터의 데이터에 대한 실시간 요청에 응답할 수 있을 필요가 있다.
동적 객체가 실시간 객체가 아닌 경우 또는 실시간 업데이트의 완료 후, 블록(850)에서 규칙은 실장된 동적 객체를 사용하여 평가된다. 블록(860)에서 판정되는 바와 같이, 규칙이 방화벽에 의해 고려되고 있는 네트워크 트래픽에 적용되면, 블록(870)에서 규칙 행동(rule action)이 취해지니, 트래픽을 차단하기, 트래픽을 허용하기, 기타 등등이다.
도 9는 비실시간 데이터 인벤토리 데이터 소스와의 동적 객체의 동기화를 예시하는 흐름도이다. 블록(910)에서, 만약, 예를 들어 주기적 시간의 경과 또는 구성된 이벤트의 발생에 의해, 구성된 동기화 시간이 발생하였으면, 블록(920)에서는 업데이트된 데이터가 동적 객체 구성 내에 식별된 비실시간 데이터 인벤토리에게서 요청될 수 있다. 업데이트된 데이터에 대한 요청으로서 기술되었으나, 대체 실시예에서는, 비실시간 데이터 인벤토리에 요청이 행해지는 것 대신에, 비실시간 데이터 인벤토리가 데이터 전송을 개시할 수 있다.
블록(930)에서, 일단 업데이트된 데이터가 비실시간 데이터 인벤토리로부터 획득되었다면, 업데이트된 데이터는 동적 객체를 실장하는 데에 사용되는데, 전술한 바와 같이 실시간 동적 객체가 업데이트되는 방식과 유사하다. 하나의 실시예에서, 동적 객체를 위한 실장된 데이터는, 동적 객체가 실시간으로 또는 비실시간 데이터 인벤토리와의 동기화에 의해 업데이트되는지에 상관없이, 동일하게 저장된다.
실장된 데이터 객체는 이후 다음 동기화 시간 또는 이벤트까지 동일하게 남아 있는 데이터로써의 규칙 평가를 위해 사용될 수 있다.
도 10은 하나의 실시예에 따라 전술된 동적 객체 규칙 기법을 구현하는 방화벽(1000)의 구성요소를 예시하는 블록도이다. 방화벽은 전용 기기 디바이스(dedicated appliance device)로서 구현될 수 있거나 다른 네트워크 보안 동작을 수행하는 더 광범위한 네트워크 보안 매니저 디바이스의 구성요소로서 구현될 수 있다. 위의 개시에 특히 관련된 방화벽의 구성요소들만 도 10에 예시되는데, 당업자는 다른 방화벽 구성요소가 존재할 수 있음을 이해할 것이다.
네트워크 인터페이스(network interface)(1010)는 방화벽에 그것이 보호하는 네트워크 또는 네트워크들로의 네트워크 연결성(network connectivity)을 제공한다. 여러 네트워크 인터페이스(1010)가 원하는 대로 제공될 수 있다. 몇몇 실시예에서, 방화벽은 네트워크 트래픽을 모니터링하기 위해 하나의 네트워크 인터페이스(1010)를 사용할 수 있고 동적 객체를 실장하는 데에서의 사용을 위한 비실시간 데이터를 수집하기 위해서 비실시간 데이터 인벤토리 디바이스를 액세스하는 데에 상이한 네트워크 인터페이스가 사용될 수 있다. 다른 실시예에서는, 동일한 인터페이스가 양자 모두를 위해 사용될 수 있다. 유사하게, 방화벽은 네트워크 트래픽을 모니터링하기 위해 하나의 네트워크 인터페이스(1010)를, 그리고 동적 객체를 실장하는 데에서의 사용을 위한 실시간 데이터를 수집하기 위해 상이한 네트워크 인터페이스를 사용할 수 있다.
규칙 엔진(rules engine)(1020)은 방화벽(1000)에 의해 어떤 트래픽이 차단, 허용 등등이 되는지를 제어하는 방화벽 규칙을 평가하기 위한 지원을 제공한다. 하나의 실시예에서 규칙 엔진(1020)은 방화벽 규칙을 평가하기 위한 규칙 평가기 모듈(rule evaluator module)(1021), 규칙 평가기 모듈(1021)에 의한 사용을 위한 동적 객체를 평가하도록 구성된 동적 객체를 평가하기 위한 동적 객체 평가기(dynamic object evaluator)(1022), 동적 객체를 실장하는 데에서의 사용을 위한 실시간 데이터를 획득하기 위한 실시간 데이터 수집기(real-time data collector)(1023), 비실시간 데이터 인벤토리 소스와 동기화하기 위한 비실시간 데이터 수집기(non-real time data collector)(1024), 그리고 동적 객체를 생성하여 실시간 데이터, 비실시간 데이터 또는 양자 모두로 실장하기 위한 동적 객체 생성기 모듈(dynamic object creator module)(1025)을 포함한다.
규칙 데이터 스토어(rules data store)(1030)는 규칙 데이터를 저장하기 위해 사용될 수 있다. 동적 객체 데이터를 포함하여, 규칙 데이터를 저장하기 위한 임의의 원하는 방식이 사용될 수 있다. 규칙 데이터 스토어(1030)는 임의의 원하는 방식으로 조직화될(organized) 수 있다. 동적 객체 생성기 모듈은 방화벽 규칙과의 사용을 위해 동적 객체를 규칙 데이터 스토어(1030) 내에 저장할 수 있다.
사용자 인터페이스(1040)는, 동적 객체를 포함하여, 방화벽 규칙을 생성하고 편집하기 위해 제공될 수 있다. 그 목적으로, 규칙 평가 시간에 동적 객체와 매칭되도록 만족될 필요가 있는 조건을 포함하여, 동적 객체를 정의하기 위해 동적 객체 정의기(dynamic object definer)(1042)가 제공될 수 있다.
규칙 엔진(1020) 및 사용자 인터페이스(1040)는 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 임의의 조합으로 구현될 수 있다.
이제 도 11을 참조하면, 전술된 기법이 구현될 수 있는 예시적 인프라스트럭처(infrastructure)(1100)가 도식적으로 예시된다. 인프라스트럭처(1100)는 전술된 바와 같이 동적 객체가 있는 규칙세트를 사용하여 방화벽에 의해 보호될 수 있는 컴퓨터 네트워크(1102)를 포함한다. 컴퓨터 네트워크(1102)는 오늘날 이용가능한 많은 상이한 유형의 컴퓨터 네트워크, 예를 들어 인터넷, 기업망(corporate network), 또는 로컬 영역 네트워크(Local Area Network: LAN)를 포함할 수 있다. 이들 네트워크 각각은 유선 또는 무선 프로그램가능 디바이스를 포함하고 임의의 개수의 네트워크 프로토콜(가령, TCP/IP)을 사용하여 동작할 수 있다. 네트워크(1102)는 게이트웨이 및 라우터(1108에 의해 나타내어짐), 최종 사용자 컴퓨터(1106) 및 컴퓨터 서버(1104)에 연결될 수 있다. 인프라스트럭처(1100)는 모바일 통신 디바이스와의 사용을 위한 셀룰러 네트워크(1103)를 또한 포함한다. 모바일 셀룰러 네트워크는 모바일 전화 및 많은 다른 유형의 디바이스를 지원한다. 인프라스트럭처(1100) 내의 모바일 디바이스는 모바일 전화(1110), 랩톱(112) 및 태블릿(1114)으로서 예시된다. 도 11에 예시된 디바이스 중 어느 것이든 BYOD 디바이스일 수 있는데, 다만 통상적으로 BYOD 디바이스는 모바일 전화(1110), 랩톱(112) 및 태블릿(1114)과 같은 모바일 디바이스이다. 방화벽(1120)은 컴퓨터 네트워크(1002)로의, 그리고 컴퓨터 네트워크(1002)로부터의 액세스를 보호한다.
이제 도 12를 참조하면, 블록도는 하나의 실시예에 따라 전술된 일반적인 언패킹(unpacking) 기법을 이용할 수 있는 프로그램가능 디바이스(1200)를 예시한다. 도 12에 예시된 프로그램가능 디바이스는 제1 처리 구성요소(processing element)(1270) 및 제2 처리 구성요소(1280)를 포함하는 멀티프로세서(multiprocessor) 프로그램가능 디바이스(1200)이다. 두 처리 구성요소(1270 및 1280)가 도시되나, 프로그램가능 디바이스(1200)의 일 실시예는 오직 하나의 그러한 처리 구성요소를 포함할 수도 있다.
프로그램가능 디바이스(1200)는 점대점(point-to-point) 상호연결 시스템으로서 예시되는데, 여기에서 제1 처리 구성요소(1270) 및 제2 처리 구성요소(1280)는 점대점 상호연결(1250)을 통하여 커플링된다(coupled). 도 12에 예시된 상호연결 중 임의의 것 또는 전부는 점대점 상호연결보다는 멀티 드롭 버스(multi-drop bus)로서 구현될 수 있다.
도 12에 예시된 바와 같이, 처리 구성요소(1270 및 1280) 각각은 제1 및 제2 프로세서 코어들(즉, 프로세서 코어(1274a 및 1274b) 및 프로세서 코어(1284a 및 1284b))을 포함하는 멀티코어(multicore) 프로세서일 수 있다. 그러한 코어(1274a, 1274b, 1284a, 1284b)는 도 1 내지 도 3과 관련하여 앞서 논의된 것과 유사한 방식으로 명령어 코드를 실행하도록 구성될 수 있다. 그러나, 다른 실시예는 원하는 대로 단일 코어 프로세서인 처리 구성요소를 사용할 수 있다. 여러 처리 구성요소(1270, 1280)가 있는 실시예에서, 각각의 처리 구성요소는 원하는 대로 상이한 개수의 코어로써 구현될 수 있다.
각각의 처리 구성요소(1270, 1280)는 적어도 하나의 공유된 캐시(shared cache)(1246)를 포함할 수 있다. 공유된 캐시(1246a, 1246b)는 각각, 코어(1274a, 1274b 및 1284a, 1284b)와 같은, 처리 구성요소의 하나 이상의 컴포넌트에 의해 활용되는 데이터(가령, 명령어)를 저장할 수 있다. 예컨대, 공유된 캐시는 처리 구성요소(1270, 1280)의 컴포넌트에 의한 더 빠른 액세스를 위해 메모리(1232, 1234) 내에 저장된 데이터를 로컬로(locally) 캐싱할(cache) 수 있다. 하나 이상의 실시예에서, 공유된 캐시(1246a, 1246b)는 하나 이상의 중간 레벨(mid-level) 캐시, 예를 들어 레벨 2(L2), 레벨 3(L3), 레벨 4(L4), 또는 다른 레벨의 캐시, 최종 레벨 캐시(Last Level Cache: LLC), 또는 이들의 조합을 포함할 수 있다.
도 12가 도면의 명확성을 위해 두 처리 구성요소(1270, 1280)가 있는 프로그램가능 디바이스를 예시하나, 본 발명의 범주는 그렇게 한정되지 않으며 임의의 개수의 처리 구성요소가 존재할 수 있다. 대안적으로, 처리 구성요소(1270, 1280) 중 하나 이상은 프로세서가 아닌 구성요소, 예를 들어 그래픽 처리 유닛(Graphics Processing Unit: GPU), 디지털 신호 처리(Digital Signal Processing: DSP) 유닛, 필드 프로그램가능 게이트 어레이(field programmable gate array), 또는 임의의 다른 프로그램가능 처리 구성요소일 수 있다. 처리 구성요소(1280)는 처리 구성요소(1270)와 이종이거나 비대칭적일 수 있다. 아키텍처상(architectural), 마이크로아키텍처상(microarchitectural), 열적(thermal), 전력 소모(power consumption) 특성들 및 유사한 것을 포함하는 가치의 메트릭의 스펙트럼(a spectrum of metrics of merit)의 측면에서 처리 구성요소(1270, 1280) 간에 여러 가지 차이가 있을 수 있다. 이 차이들은 처리 구성요소(1270, 1280) 사이에서 비대칭성(asymmetry) 및 이종성(heterogeneity)으로서 그것들 자체를 효과적으로 드러내 보일 수 있다. 몇몇 실시예에서, 다양한 처리 구성요소(1270, 1280)는 동일한 다이 패키지(die package) 내에 상주할(reside) 수 있다.
제1 처리 구성요소(1270)는 메모리 제어기 로직(Memory Controller logic: MC)(1272) 및 점대점(Point-to-Point: P-P) 상호연결(1276 및 1278)을 더 포함할 수 있다. 유사하게, 제2 처리 구성요소(1280)는 MC(1282) 및 P-P 상호연결(1286 및 1288)을 포함할 수 있다. 도 12에 예시된 바와 같이, MC(1272 및 1282)는 처리 구성요소(1270, 1280)를 각각의 메모리, 즉 메모리(1232) 및 메모리(1234)에 커플링하는데, 이것들은 각자의 프로세서에 로컬로 부착된(attached) 주 메모리의 부분들일 수 있다. MC 로직(1272 및 1282)은 처리 구성요소(1270, 1280) 내에 통합된(integrated) 것으로 예시되나, 몇몇 실시예에서 MC 로직은 내부에 통합된 것이 아니라 처리 구성요소(1270, 1280) 외부의 이산 로직(discrete logic)일 수 있다.
처리 구성요소(1270) 및 처리 구성요소(1280)는 각각 P-P 상호연결(1276, 1286 및 1284)을 통하여 I/O 서브시스템(1290)에 커플링될 수 있다. 도 12에 예시된 바와 같이, I/O 서브시스템(1290)은 P-P 상호연결(1294 및 1298)을 포함한다. 나아가, I/O 서브시스템(1290)은 I/O 서브시스템(1290)을 고성능 그래픽 엔진(1238)과 커플링하기 위한 인터페이스(1292)를 포함한다. 하나의 실시예에서, 그래픽 엔진(1238)을 I/O 서브시스템(1290)에 커플링하는 데에 버스(1249)가 사용될 수 있다. 대안으로, 점대점 상호연결(1239)이 이 컴포넌트들을 커플링할 수 있다.
다음으로, I/O 서브시스템(1290)은 인터페이스(1296)를 통하여 제1 링크(1216)에 커플링될 수 있다. 하나의 실시예에서, 제1 링크(1216)는 주변 컴포넌트 상호연결(Peripheral Component Interconnect: PCI) 버스, 또는 PCI 익스프레스 버스(PCI Express bus) 또는 다른 I/O 상호연결 버스와 같은 버스일 수 있는데, 다만 본 발명의 범주는 그렇게 한정되지 않는다.
도 12에 예시된 바와 같이, 제1 링크(1216)를 제2 링크(1210)에 커플링할 수 있는 브릿지(bridge)(1218)와 더불어, 제1 링크(1216)에 다양한 I/O 디바이스(1214)가 커플링될 수 있다. 하나의 실시예에서, 제2 링크(1220)는 로우 핀 카운트(Low Pin Count: LPC) 버스일 수 있다. 예컨대, 하나의 실시예에서, 키보드/마우스(1212), 통신 디바이스(들)(1226)(이는 결국 컴퓨터 네트워크(1203)와 통신을 할 수 있음), 그리고 코드(1230)를 포함할 수 있는 디스크 드라이브 또는 다른 대용량 저장 디바이스와 같은 데이터 저장 유닛(1228)을 포함하여, 다양한 디바이스가 제2 링크(1220)에 커플링될 수 있다. 코드(1230)는 전술된 기법 중 하나 이상의 기법의 실시예를 수행하기 위한 명령어를 포함할 수 있다. 또한, 오디오 I/O(1224)가 제2 버스(1220)에 커플링될 수 있다.
다른 실시예가 고려됨에 유의하시오. 예컨대, 도 12의 점대점 아키텍처 대신, 시스템은 멀티 드롭 버스 또는 다른 그러한 통신 토폴로지(communication topology)를 구현할 수 있다. 링크(1216 및 1220)가 도 12에서 버스로서 예시되나, 임의의 원하는 유형의 링크가 사용될 수 있다. 또한, 도 12의 구성요소들은 대안적으로 도 12에 예시된 것보다 더 많거나 더 적은 집적 칩(integrated chip)을 사용하여 분할될(partitioned) 수 있다.
이제 도 13을 참조하면, 블록도는 다른 실시예에 따라 프로그램가능 디바이스(1300)를 예시한다. 도 13의 다른 양상을 모호하게 하는 것을 피하기 위해서 도 12의 어떤 양상은 도 13에서 생략되었다.
도 13은 처리 구성요소(1370, 1380)가 각각, 통합된 메모리 및 I/O 제어 로직(control logic)("CL")(1372 및 1382)을 포함할 수 있음을 보여준다. 몇몇 실시예에서, CL(1372, 1382)은 도 12와 관련하여 전술된 것과 같은 메모리 제어 로직(Memory Control logic: MC)을 포함할 수 있다. 추가로, CL(1372, 1382)은 또한 I/O 제어 로직을 포함할 수 있다. 도 13은 메모리(1332, 1334)가 CL(1372, 1382)에 커플링될 수 있을 뿐만 아니라, I/O 디바이스(1314)가 또한 제어 로직(1372, 1382)에 커플링될 수 있음을 보여준다. 레거시(legacy) I/O 디바이스(1315)가 I/O 서브시스템(1390)에 커플링될 수 있다.
도 12 및 도 13에 묘사된 프로그램가능 디바이스는 본 문서에서 논의된 다양한 실시예를 구현하는 데에 활용될 수 있는 프로그램가능 디바이스의 실시예의 도식적인 예시이다. 도 12 및 도 13에 묘사된 프로그램가능 디바이스의 다양한 컴포넌트가 시스템 온 칩(System-on-a-Chip: SoC) 아키텍처 내에 조합될 수 있음이 인식될 것이다.
예들
다음의 예들은 추가 실시예들에 관한 것이다.
예 1은, 실행되는 경우 방화벽 디바이스(firewall device)로 하여금, 방화벽 규칙(firewall rule)에서의 사용을 위한 동적 객체를 생성하고(위 동적 객체는 디바이스의 가변 그룹을 정의함), 그 방화벽 외부의 소스로부터 수신된 데이터로부터 위 동적 객체를 실장하며, 위 동적 객체를 위 위 방화벽 규칙을 평가하는 것의 일부로서 평가하게 하는 명령어를 포함하는, 명령어가 저장된 머신 판독가능 매체(machine readable medium)이다.
예 2는 예 1의 대상물(subject matter)을 포함하되, 실행되는 경우 위 방화벽 디바이스로 하여금 위 동적 객체를 실장하게 하는 명령어는 실행되는 경우 위 방화벽 디바이스로 하여금, 실시간 데이터 소스로부터 디바이스 데이터를 수신하고, 위 수신된 디바이스 데이터로 위 동적 객체를 실장하게 하는 명령어를 포함한다.
예 3은 예 2의 대상물을 포함하되, 실행되는 경우 위 방화벽 디바이스로 하여금 실시간 데이터 소스로부터 디바이스 데이터를 수신하게 하는 명령어는 실행되는 경우 위 방화벽 디바이스로 하여금 네트워크를 모니터링하는 네트워크 보안 디바이스에게서 디바이스 데이터를 요청하게 하는 명령어를 포함한다.
예 4는 예 1의 대상물을 포함하되, 실행되는 경우 위 방화벽 디바이스로 하여금 위 동적 객체를 실장하게 하는 명령어는 실행되는 경우 위 방화벽 디바이스로 하여금, 비실시간 데이터 인벤토리로부터 디바이스 데이터를 수신하고, 위 수신된 디바이스 데이터로 위 동적 객체를 실장하게 하는 명령어를 포함한다.
예 5는 예 1의 대상물을 포함하되, 실행되는 경우 위 방화벽 디바이스로 하여금 비실시간 데이터 인벤토리로부터 디바이스 데이터를 수신하게 하는 명령어는 실행되는 경우 위 방화벽 디바이스로 하여금 위 동적 객체를 위 비실시간 데이터 인벤토리와 동기화하게 하는 명령어를 포함한다.
예 6은 예 1의 대상물을 포함하되, 실행되는 경우 위 방화벽 디바이스로 하여금 비실시간 데이터 인벤토리로부터 디바이스 데이터를 수신하게 하는 명령어는 실행되는 경우 위 방화벽 디바이스로 하여금 디바이스 정보를 위해 위 비실시간 데이터 인벤토리에 대해 질의하게 하는 명령어를 포함한다.
예 7은 예 1 내지 예 6의 대상물을 포함하되, 위 명령어는 실행되는 경우 위 방화벽 디바이스로 하여금 동적 객체들을 정의하는 것 및 동적 객체들을 이용하는 규칙들을 정의하는 것을 위한 사용자 인터페이스를 제공하게 하는 명령어를 더 포함한다.
예 8은 예 1의 대상물을 포함하되, 위 동적 객체는 디바이스의 가변 세트로 평가된다.
예 9는 예 1의 대상물을 포함하되, 실행되는 경우 위 방화벽 디바이스로 하여금 위 동적 객체를 실장하게 하는 명령어는 실행되는 경우 위 방화벽 디바이스로 하여금, 실시간 데이터 소스로부터 디바이스 데이터를 수신하고, 위 수신된 디바이스 데이터로 위 동적 객체를 실장하게 하는 명령어를 포함하되,
실행되는 경우 위 방화벽 디바이스로 하여금 실시간 데이터 소스로부터 디바이스 데이터를 수신하게 하는 명령어는 실행되는 경우 위 방화벽 디바이스로 하여금 네트워크를 모니터링하는 네트워크 보안 디바이스에게서 디바이스 데이터를 요청하게 하는 명령어를 옵션으로(optionally) 포함한다.
예 10은 예 1의 대상물을 포함하되, 실행되는 경우 위 방화벽 디바이스로 하여금 위 동적 객체를 실장하게 하는 명령어는 실행되는 경우 위 방화벽 디바이스로 하여금 비실시간 데이터 인벤토리로부터 디바이스 데이터를 수신하고, 위 수신된 디바이스 데이터로 위 동적 객체를 실장하게 하는 명령어를 포함하되, 실행되는 경우 위 방화벽 디바이스로 하여금 비실시간 데이터 인벤토리로부터 디바이스 데이터를 수신하게 하는 명령어는 실행되는 경우 위 방화벽 디바이스로 하여금 위 동적 객체를 위 비실시간 데이터 인벤토리와 동기화하게 하는 명령어를 포함한다.
예 11은, 동적 객체를 이용하는 방화벽 규칙을 정의하는 단계(위 동적 객체는 대응하는 디바이스의 가변 세트를 정의함)와, 실시간 데이터 소스 및 비실시간 데이터 인벤토리 중 적어도 하나로부터 위 동적 객체의 위 가변 세트를 실장하는 단계와, 위 방화벽 규칙을 평가하는 것의 일부로서 위 동적 객체에 대해 네트워크 트래픽에 대응하는 디바이스를 매칭하는 단계를 포함하는, 네트워크를 위해 방화벽을 제공하는 방법이다.
예 12는 예 11의 대상물을 포함하되, 위 방화벽 규칙을 평가하는 것에 응답하여 행동(action)을 취하는 단계를 더 포함한다.
예 13은 예 11 내지 예 12의 대상물을 포함하되, 위 동적 객체를 디바이스 정보의 비실시간 데이터 인벤토리와 동기화하는 단계를 더 포함한다.
예 14는 예 13의 대상물을 포함하되, 위 동적 객체를 디바이스 정보의 비실시간 데이터 인벤토리와 동기화하는 단계는, 위 비실시간 데이터 인벤토리에 대해 질의하는 단계와, 위 비실시간 데이터 인벤토리에 대해 질의함으로써 획득된 결과로써 위 동적 객체를 업데이트하는 단계를 포함한다.
예 15는 예 11 내지 예 12의 대상물을 포함하되, 실시간 디바이스 정보를 획득하는 단계와, 위 실시간 디바이스 정보로 위 동적 객체를 실장하는 단계를 더 포함한다.
예 16은 예 15의 대상물을 포함하되, 실시간 디바이스 정보를 획득하는 단계는, 네트워크 흐름을 수동적으로 모니터링하는 디바이스로부터 디바이스 정보를 획득하는 단계를 포함한다.
예 17은 예 11 내지 예 16에 기술된 바와 같은 방법을 수행하는 수단을 포함하는 방화벽 장치이다.
예 18은, 네트워크 인터페이스(network interface)와, 위 네트워크 인터페이스에 커플링된 규칙 엔진(rules engine)(동적 객체들을 포함하는 규칙들을 평가하도록 구성된 규칙 평가기 모듈과, 위 규칙 평가기 모듈에 의한 사용을 위해 동적 객체를 평가하도록 구성된 동적 객체 평가기 모듈과, 실시간 데이터 소스로부터 데이터를 획득하도록 구성된 실시간 데이터 수집기와, 비실시간 데이터 인벤토리로부터 데이터를 획득하도록 구성된 비실시간 데이터 수집기와, 동적 객체를 생성하여 실시간 데이터 및 비실시간 데이터 중 하나 이상으로 실장하도록 구성된 동적 객체 생성기 모듈을 포함함)과, 위 규칙 엔진에 커플링된 규칙 데이터 스토어(rules data store)를 포함하는 방화벽이다.
예 19는 예 18의 대상물을 포함하되, 사용자 인터페이스(방화벽 규칙과의 사용을 위해 동적 객체들을 정의하도록 구성된 동적 객체 정의기를 포함함)를 더 포함한다.
예 20은 예 18 내지 예 19의 대상물을 포함하되, 위 동적 객체는 실시간 데이터 또는 비실시간 데이터와 연관된 하나 이상의 조건을 포함한다.
예 21은 예 18 내지 예 19의 대상물을 포함하되, 위 동적 객체 생성기 모듈은 위 규칙 데이터 스토어 내에 동적 객체들을 저장한다.
예 22는 예 18의 대상물을 포함하되, 사용자 인터페이스(방화벽 규칙과의 사용을 위해 동적 객체들을 정의하도록 구성된 동적 객체 정의기를 포함함)를 더 포함하는데, 위 동적 객체는 실시간 데이터 또는 비실시간 데이터와 연관된 하나 이상의 조건을 포함하고, 위 동적 객체 생성기 모듈은 위 규칙 데이터 스토어 내에 동적 객체들을 저장한다.
예 23은, 네트워크 디바이스 데이터의 실시간 소스(real-time source), 네트워크 디바이스 데이터의 비실시간 소스(non-real time source), 방화벽(프로세서와, 위 프로세서에 커플링된 방화벽 규칙 데이터 스토어와, 위 프로세서에 커플링되고, 실행되는 경우 위 프로세서로 하여금, 방화벽 규칙에서의 사용을 위해 동적 객체를 생성(위 동적 객체는 디바이스의 가변 그룹을 정의함)하고, 네트워크 디바이스 데이터의 위 실시간 소스 및 네트워크 디바이스 데이터의 위 비실시간 소스 중 하나 이상으로부터 수신된 데이터로부터 위 동적 객체를 실장하며, 위 동적 객체를 이용하는 위 방화벽 규칙을 평가하는 것의 일부로서 위 동적 객체를 평가하게 하는 명령어가 저장된 메모리를 포함함)을 포함하는, 방화벽으로써 네트워크를 보호하기 위한 시스템이다.
예 24는 예 23의 대상물을 포함하되, 네트워크 디바이스 데이터의 위 실시간 소스는 네트워크를 수동적으로 모니터링하는 네트워크 보안 디바이스를 포함한다.
예 25는 예 23의 대상물을 포함하되, 네트워크 디바이스 데이터의 위 비실시간 소스는 엔드포인트 디바이스를 위한 모바일 보안 매니저를 포함한다.
예 26은 예 23의 대상물을 포함하되, 네트워크 디바이스 데이터의 위 비실시간 소스는 디렉토리 서비스를 위한 로그온 수집기(logon collector)를 포함한다.
예 27은 예 23 내지 예 26의 대상물을 포함하되, 위 메모리 상에 저장된 명령어는 실행되는 경우 위 프로세서로 하여금 동적 개체들을 정의하는 것 및 동적 객체들을 이용하는 규칙들을 정의하는 것을 위한 사용자 인터페이스를 제공하게 하는 명령어를 더 포함한다.
예 28은 예 23 내지 예 26의 대상물을 포함하되, 실행되는 경우 위 프로세서로 하여금 위 동적 객체를 실장하게 하는 명령어는 실행되는 경우 위 프로세서로 하여금 위 동적 객체를 데이터의 위 비실시간 소스와 동기화하게 하는 명령어를 포함한다.
예 29는, 방화벽 규칙에서의 사용을 위해 동적 객체를 생성하는 수단(위 동적 객체는 디바이스의 가변 그룹을 정의함)과, 그 방화벽 외부의 소스로 수신된 데이터로부터 위 동적 개체를 실장하는 수단과, 위 동적 객체를 위 방화벽 규칙을 평가하는 것의 일부로서 평가하는 수단을 포함하는 방화벽 디바이스이다.
예 30은 예 29의 대상물을 포함하되, 위 동적 객체를 실장하는 수단은 실시간 데이터 소스로부터 디바이스 데이터를 수신하는 수단과, 위 수신된 디바이스 데이터로 위 동적 객체를 실장하는 수단을 포함한다.
예 31은 예 30의 대상물을 포함하되, 실시간 데이터 소스로부터 디바이스 데이터를 수신하는 수단은 네트워크를 모니터링하는 네트워크 보안 디바이스에게서 디바이스 데이터를 요청하는 수단을 포함한다.
예 32는 예 29의 대상물을 포함하되, 위 동적 객체를 실장하는 수단은 비실시간 데이터 인벤토리로부터 디바이스 데이터를 수신하는 수단과, 위 수신된 디바이스 데이터로 위 동적 객체를 실장하는 수단을 포함한다.
예 33은 예 29의 대상물을 포함하되, 비실시간 데이터 인벤토리로부터 디바이스 데이터를 수신하는 수단은 위 동적 객체를 위 비실시간 데이터 인벤토리와 동기화하는 수단을 포함한다.
예 34는 예 29의 대상물을 포함하되, 비실시간 데이터 인벤토리로부터 디바이스 데이터를 수신하는 수단은 디바이스 정보를 위해 위 비실시간 데이터 인벤토리에 대해 질의하는 수단을 포함한다.
예 35는 예 29 내지 예 34의 대상물을 포함하되, 동적 객체들을 정의하는 것 및 동적 객체들을 이용하는 규칙들을 정의하는 것을 위한 사용자 인터페이스를 제공하는 수단을 더 포함한다.
예 36은 예 29의 대상물을 포함하되, 위 동적 객체는 디바이스의 가변 세트로 평가된다.
위의 설명은 예시적인 것이며, 제한적이지 않은 것으로 의도된다는 점이 이해되어야 한다. 예컨대, 앞서 기술된 실시예들은 서로 조합되어 사용될 수 있다. 위의 설명을 검토할 때 많은 다른 실시예가 당업자에게 명백할 것이다. 따라서 발명의 범주는 부기된 청구항에 덧붙여, 그러한 청구항에 자격이 주어지는 균등물의 전 범주(full scope)를 함께 참조하여 정해져야 한다.

Claims (25)

  1. 명령어가 저장된 머신 판독가능 매체로서,
    상기 명령어는 실행되는 경우 방화벽 디바이스(firewall device)로 하여금
    방화벽 규칙(firewall rule)에서 사용하기 위한 동적 객체(dynamic object)를 생성 - 상기 동적 객체는 디바이스의 가변 그룹(variable group)을 정의하고, 상기 동적 객체는 실시간 데이터 소스(real-time data source)로부터 디바이스 데이터를 수신하는 것, 상기 수신된 디바이스 데이터에 기초하여 복수의 조건(condition)을 생성하는 것, 및 상기 복수의 조건으로 상기 동적 객체를 실장하는 것(populating)에 의해 생성됨 - 하고,
    방화벽 외부의 소스로부터 수신된 데이터로부터 상기 동적 객체를 실장하며(populate),
    상기 방화벽 규칙을 평가하는 것의 일부로서 상기 동적 객체를 평가하게 하는 명령어를 포함하는,
    머신 판독가능 매체.
  2. 삭제
  3. 제1항에 있어서,
    실행되는 경우 상기 방화벽 디바이스로 하여금 실시간 데이터 소스로부터 디바이스 데이터를 수신하게 하는 명령어는 실행되는 경우 상기 방화벽 디바이스로 하여금
    네트워크를 모니터링하는 네트워크 보안 디바이스에게서 디바이스 데이터를 요청하게 하는 명령어를 포함하는,
    머신 판독가능 매체.
  4. 제1항에 있어서,
    실행되는 경우 상기 방화벽 디바이스로 하여금 상기 동적 객체를 실장하게 하는 명령어는 실행되는 경우 상기 방화벽 디바이스로 하여금
    비실시간 데이터 인벤토리(non-real time data inventory)로부터 디바이스 데이터를 수신하고,
    상기 수신된 디바이스 데이터로 상기 동적 객체를 실장하게 하는 명령어를 포함하는,
    머신 판독가능 매체.
  5. 제4항에 있어서,
    실행되는 경우 상기 방화벽 디바이스로 하여금 비실시간 데이터 인벤토리로부터 디바이스 데이터를 수신하게 하는 명령어는 실행되는 경우 상기 방화벽 디바이스로 하여금
    상기 동적 객체를 상기 비실시간 데이터 인벤토리와 동기화하게 하는 명령어를 포함하는,
    머신 판독가능 매체.
  6. 제5항에 있어서,
    실행되는 경우 상기 방화벽 디바이스로 하여금 비실시간 데이터 인벤토리로부터 디바이스 데이터를 수신하게 하는 명령어는 실행되는 경우 상기 방화벽 디바이스로 하여금
    디바이스 정보에 관해 상기 비실시간 데이터 인벤토리에 대해 질의하게 하는 명령어를 포함하는,
    머신 판독가능 매체.
  7. 제1항에 있어서,
    상기 명령어는 실행되는 경우 상기 방화벽 디바이스로 하여금
    동적 객체들을 정의하기 위한 그리고 동적 객체들을 이용하는 규칙들을 정의하기 위한 사용자 인터페이스를 제공하게 하는 명령어를 더 포함하는,
    머신 판독가능 매체.
  8. 제1항에 있어서,
    상기 동적 객체는 디바이스의 가변 세트(variable set)로 평가되는,
    머신 판독가능 매체.
  9. 네트워크를 위해 방화벽을 제공하는 방법으로서,
    동적 객체를 이용하는 방화벽 규칙(firewall rule)을 정의하는 단계 - 상기 동적 객체는 대응하는 디바이스의 가변 세트를 정의함 - 와,
    실시간 데이터 소스 및 비실시간 데이터 인벤토리 중 적어도 하나로부터 상기 동적 객체의 상기 가변 세트를 실장하는 단계 - 상기 동적 객체는 상기 실시간 데이터 소스로부터의 데이터 및 상기 비실시간 데이터 인벤토리로부터의 데이터에 기초하여 생성된 복수의 조건을 포함함 - 와,
    상기 방화벽 규칙을 평가하는 것의 일부로서 상기 동적 객체에 대해 네트워크 트래픽(network traffic)에 대응하는 디바이스를 매칭하는 단계를 포함하는
    방법.
  10. 제9항에 있어서,
    상기 방화벽 규칙을 평가하는 것에 응답하여 행동(action)을 취하는 단계를 더 포함하는
    방법.
  11. 제9항에 있어서,
    상기 동적 객체를 디바이스 정보의 비실시간 데이터 인벤토리(non-real time data inventory)와 동기화하는 단계를 더 포함하는
    방법.
  12. 제11항에 있어서,
    상기 동적 객체를 디바이스 정보의 비실시간 데이터 인벤토리와 동기화하는 단계는
    상기 비실시간 데이터 인벤토리에 대해 질의하는 단계와,
    상기 비실시간 데이터 인벤토리에 대해 질의함으로써 획득된 결과로써 상기 동적 객체를 업데이트하는 단계를 포함하는,
    방법.
  13. 제9항에 있어서,
    실시간 디바이스 정보를 획득하는 단계와,
    상기 실시간 디바이스 정보로 상기 동적 객체를 실장하는 단계를 더 포함하는
    방법.
  14. 제13항에 있어서,
    실시간 디바이스 정보를 획득하는 단계는
    네트워크 흐름(network flow)을 수동적으로 모니터링하는(passively monitoring) 디바이스로부터 디바이스 정보를 획득하는 단계를 포함하는
    방법.
  15. 방화벽으로서,
    네트워크 인터페이스(network interface)와,
    상기 네트워크 인터페이스에 커플링된 규칙 엔진(rules engine)과,
    상기 규칙 엔진에 커플링된 규칙 데이터 스토어(rules data store)를 포함하되, 상기 규칙 엔진은
    동적 객체를 포함하는 규칙을 평가하도록 구성된 규칙 평가기 모듈(rule evaluator module)과,
    상기 규칙 평가기 모듈에 의한 사용을 위해 동적 객체를 평가하도록 구성된 동적 객체 평가기 모듈(dynamic object evaluator module)과,
    실시간 데이터 소스로부터 데이터를 획득하도록 구성된 실시간 데이터 수집기(real-time data collector)와,
    비실시간 데이터 인벤토리로부터 데이터를 획득하도록 구성된 비실시간 데이터 수집기(non-real time data collector)와,
    동적 객체를 생성하고 실시간 데이터 및 비실시간 데이터의 분석에 기초한 복수의 조건으로 상기 동적 객체를 실장하도록 구성된 동적 객체 생성기 모듈(dynamic object creator module)을 포함하는,
    방화벽.
  16. 제15항에 있어서,
    방화벽 규칙과의 사용을 위해 동적 객체를 정의하도록 구성된 동적 객체 정의기(dynamic object definer)를 포함하는 사용자 인터페이스(user interface)를 더 포함하는
    방화벽.
  17. 제15항에 있어서,
    상기 동적 객체는 실시간 데이터 또는 비실시간 데이터와 연관된 하나 이상의 조건(condition)을 포함하는,
    방화벽.
  18. 제15항에 있어서,
    상기 동적 객체 생성기 모듈은 상기 규칙 데이터 스토어 내에 동적 객체를 저장하는,
    방화벽.
  19. 방화벽을 이용하여 네트워크를 보호하기 위한 시스템으로서,
    네트워크 디바이스 데이터의 실시간 소스(real-time source)와,
    네트워크 디바이스 데이터의 비실시간 소스(non-real time source)와,
    방화벽을 포함하고, 상기 방화벽은
    프로세서와,
    상기 프로세서에 커플링된 방화벽 규칙 데이터 스토어와,
    상기 프로세서에 커플링된 메모리를 포함하되,
    상기 메모리 상에는 명령어가 저장되고, 상기 명령어는 실행되는 경우 상기 프로세서로 하여금
    방화벽 규칙에서 사용하기 위한 동적 객체를 생성 - 상기 동적 객체는 디바이스의 가변 그룹을 정의함 - 하고,
    상기 네트워크 디바이스 데이터의 실시간 소스 및 상기 네트워크 디바이스 데이터의 비실시간 소스의 분석에 기초한 복수의 조건으로부터 수신된 데이터로부터 상기 동적 객체를 실장하며,
    상기 동적 객체를 이용하는 상기 방화벽 규칙을 평가하는 것의 일부로서 상기 동적 객체를 평가하게 하는,
    시스템.
  20. 제19항에 있어서,
    네트워크 디바이스 데이터의 상기 실시간 소스는 네트워크를 수동적으로 모니터링하는 네트워크 보안 디바이스를 포함하는,
    시스템.
  21. 제19항에 있어서,
    네트워크 디바이스 데이터의 상기 비실시간 소스는 엔드포인트(endpoint) 디바이스를 위한 모바일 보안 매니저(mobile security manager)를 포함하는,
    시스템.
  22. 제19항에 있어서,
    네트워크 디바이스 데이터의 상기 비실시간 소스는 디렉토리 서비스(directory service)를 위한 로그온 수집기(logon collector)를 포함하는,
    시스템.
  23. 제19항에 있어서,
    상기 메모리 상에 저장된 명령어는 실행되는 경우 상기 프로세서로 하여금
    동적 객체들을 정의하기 위한 그리고 동적 객체들을 이용하는 규칙들을 정의하기 위한 사용자 인터페이스를 제공하게 하는 명령어를 더 포함하는,
    시스템.
  24. 제19항에 있어서,
    실행되는 경우 상기 프로세서로 하여금 상기 동적 객체를 실장하게 하는 명령어는 실행되는 경우 상기 프로세서로 하여금
    상기 동적 객체를 데이터의 상기 비실시간 소스와 동기화시키는 하는 명령어를 포함하는,
    시스템.
  25. 삭제
KR1020167013252A 2013-12-20 2013-12-20 지능적 방화벽 액세스 규칙 KR101877655B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/077233 WO2015094372A1 (en) 2013-12-20 2013-12-20 Intelligent firewall access rules

Publications (2)

Publication Number Publication Date
KR20160075610A KR20160075610A (ko) 2016-06-29
KR101877655B1 true KR101877655B1 (ko) 2018-07-11

Family

ID=53403451

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167013252A KR101877655B1 (ko) 2013-12-20 2013-12-20 지능적 방화벽 액세스 규칙

Country Status (6)

Country Link
US (2) US10367787B2 (ko)
EP (1) EP3085013B1 (ko)
JP (1) JP6329267B2 (ko)
KR (1) KR101877655B1 (ko)
CN (1) CN105765901B (ko)
WO (1) WO2015094372A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015094372A1 (en) 2013-12-20 2015-06-25 Mcafee, Inc. Intelligent firewall access rules
US10193863B2 (en) 2016-10-07 2019-01-29 Microsoft Technology Licensing, Llc Enforcing network security policy using pre-classification
US10063519B1 (en) * 2017-03-28 2018-08-28 Verisign, Inc. Automatically optimizing web application firewall rule sets
US10778645B2 (en) 2017-06-27 2020-09-15 Microsoft Technology Licensing, Llc Firewall configuration manager
US10917384B2 (en) * 2017-09-12 2021-02-09 Synergex Group Methods, systems, and media for modifying firewalls based on dynamic IP addresses
US11128530B2 (en) 2018-03-29 2021-09-21 Hewlett Packard Enterprise Development Lp Container cluster management
US10848552B2 (en) * 2018-03-29 2020-11-24 Hewlett Packard Enterprise Development Lp Determining whether to perform address translation to forward a service request or deny a service request based on blocked service attributes in an IP table in a container-based computing cluster management system
US20200314066A1 (en) * 2019-03-29 2020-10-01 Cloudflare, Inc. Validating firewall rules using data at rest
RU2746101C2 (ru) * 2019-09-30 2021-04-07 Акционерное общество "Лаборатория Касперского" Система и способ определения устройств компьютерной сети с использованием правил инвентаризации

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0909074A1 (en) * 1997-09-12 1999-04-14 Lucent Technologies Inc. Methods and apparatus for a computer network firewall with multiple domain support
KR20040008171A (ko) * 2001-05-09 2004-01-28 텔레콤 이탈리아 소시에떼 퍼 아찌오니 세션 트래킹을 이용하는 동적 패킷 필터
JP2005071218A (ja) * 2003-08-27 2005-03-17 Nec Fielding Ltd 不正アクセス防御システム、ポリシ管理装置、不正アクセス防御方法、及びプログラム
US20100333165A1 (en) * 2009-06-24 2010-12-30 Vmware, Inc. Firewall configured with dynamic membership sets representing machine attributes
US20120304277A1 (en) * 2011-05-26 2012-11-29 Qing Li System and Method for Building Intelligent and Distributed L2 - L7 Unified Threat Management Infrastructure for IPv4 and IPv6 Environments

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7159125B2 (en) 2001-08-14 2007-01-02 Endforce, Inc. Policy engine for modular generation of policy for a flat, per-device database
US7467142B2 (en) * 2002-07-11 2008-12-16 Oracle International Corporation Rule based data management
JP4271062B2 (ja) * 2004-03-09 2009-06-03 日本電信電話株式会社 移動情報通信対応認証連携型分散ファイアウォールシステム、ファイアウォール装置、およびセキュリティポリシ管理サーバ
US7760882B2 (en) * 2004-06-28 2010-07-20 Japan Communications, Inc. Systems and methods for mutual authentication of network nodes
EP1866789B8 (en) * 2005-02-28 2020-04-15 McAfee, LLC Mobile data security system and methods
JP4005090B2 (ja) * 2005-03-16 2007-11-07 東日本電信電話株式会社 通信プロファイル自動配布設定システムおよび方法ならびに管理装置、プログラム
US8056124B2 (en) 2005-07-15 2011-11-08 Microsoft Corporation Automatically generating rules for connection security
US20070083924A1 (en) * 2005-10-08 2007-04-12 Lu Hongqian K System and method for multi-stage packet filtering on a networked-enabled device
GB0620855D0 (en) * 2006-10-19 2006-11-29 Dovetail Software Corp Ltd Data processing apparatus and method
US7937353B2 (en) 2007-01-15 2011-05-03 International Business Machines Corporation Method and system for determining whether to alter a firewall configuration
EA200970833A1 (ru) * 2007-03-05 2010-04-30 Йогги Секьюрити Системс Лтд. Система и способ для обеспечения безопасности данных и устройства между внешним и главным устройствами
US8365272B2 (en) * 2007-05-30 2013-01-29 Yoggie Security Systems Ltd. System and method for providing network and computer firewall protection with dynamic address isolation to a device
US20100324945A1 (en) * 2009-05-12 2010-12-23 Ronald Paul Hessing Data insurance system based on dynamic risk management
US9047441B2 (en) * 2011-05-24 2015-06-02 Palo Alto Networks, Inc. Malware analysis system
US9457927B2 (en) * 2012-09-29 2016-10-04 ShotWater, Inc. Multi-chamber beverage container and cap
US10277465B2 (en) * 2013-01-22 2019-04-30 Proofpoint, Inc. System, apparatus and method for dynamically updating the configuration of a network device
US9460417B2 (en) * 2013-03-15 2016-10-04 Futurewei Technologies, Inc. Using dynamic object modeling and business rules to dynamically specify and modify behavior
US9338134B2 (en) * 2013-03-27 2016-05-10 Fortinet, Inc. Firewall policy management
WO2014184671A2 (en) * 2013-04-15 2014-11-20 Tactegic Holdings Pty Limited Systems and methods for efficient network security adjustment
US10341296B2 (en) * 2013-09-13 2019-07-02 Vmware, Inc. Firewall configured with dynamic collaboration from network services in a virtual network environment
WO2015094372A1 (en) 2013-12-20 2015-06-25 Mcafee, Inc. Intelligent firewall access rules
US9215213B2 (en) * 2014-02-20 2015-12-15 Nicira, Inc. Method and apparatus for distributing firewall rules
US9871823B2 (en) * 2014-12-23 2018-01-16 Intel Corporation Techniques to deliver security and network policies to a virtual network function
US9609023B2 (en) * 2015-02-10 2017-03-28 International Business Machines Corporation System and method for software defined deployment of security appliances using policy templates
US9787641B2 (en) * 2015-06-30 2017-10-10 Nicira, Inc. Firewall rule management
US9948679B2 (en) * 2015-08-21 2018-04-17 Cisco Technology, Inc. Object-relation user interface for viewing security configurations of network security devices
US11457030B2 (en) * 2018-02-20 2022-09-27 Darktrace Holdings Limited Artificial intelligence researcher assistant for cybersecurity analysis

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0909074A1 (en) * 1997-09-12 1999-04-14 Lucent Technologies Inc. Methods and apparatus for a computer network firewall with multiple domain support
KR20040008171A (ko) * 2001-05-09 2004-01-28 텔레콤 이탈리아 소시에떼 퍼 아찌오니 세션 트래킹을 이용하는 동적 패킷 필터
JP2005071218A (ja) * 2003-08-27 2005-03-17 Nec Fielding Ltd 不正アクセス防御システム、ポリシ管理装置、不正アクセス防御方法、及びプログラム
US20100333165A1 (en) * 2009-06-24 2010-12-30 Vmware, Inc. Firewall configured with dynamic membership sets representing machine attributes
US20120304277A1 (en) * 2011-05-26 2012-11-29 Qing Li System and Method for Building Intelligent and Distributed L2 - L7 Unified Threat Management Infrastructure for IPv4 and IPv6 Environments

Also Published As

Publication number Publication date
US10904216B2 (en) 2021-01-26
US20210152521A1 (en) 2021-05-20
WO2015094372A1 (en) 2015-06-25
JP6329267B2 (ja) 2018-05-23
US10367787B2 (en) 2019-07-30
EP3085013A1 (en) 2016-10-26
US20160315911A1 (en) 2016-10-27
US20190349335A1 (en) 2019-11-14
KR20160075610A (ko) 2016-06-29
EP3085013A4 (en) 2017-06-07
EP3085013B1 (en) 2020-01-22
CN105765901B (zh) 2019-11-08
JP2017505942A (ja) 2017-02-23
CN105765901A (zh) 2016-07-13

Similar Documents

Publication Publication Date Title
US10904216B2 (en) Intelligent firewall access rules
US20220207143A1 (en) Cloud storage scanner
US10686758B2 (en) Elastic outbound gateway
US10397273B1 (en) Threat intelligence system
JP6626095B2 (ja) 機密情報処理方法、装置、及び、サーバ、ならびに、セキュリティ決定システム
US9900322B2 (en) Method and system for providing permissions management
CN106464686B (zh) 社交图感知的策略建议引擎
AU2015296791B2 (en) Method and system for providing a virtual asset perimeter
Shumate et al. Bring your own device: Benefits, risks and control techniques
JP2022094938A (ja) データアクセスを監視及び制御する為の方法、コンピュータ・プログラム、及びセキュリティシステムエージェント機器
US11425150B1 (en) Lateral movement visualization for intrusion detection and remediation
US11997069B2 (en) Intelligent firewall access rules
US20190104110A1 (en) Method and system for controlling transmission of data packets in a network
Grigorescu et al. CODA footprint continuous security management platform
CN114679290B (zh) 一种网络安全管理方法及电子设备
Dik et al. New Security Challenges of Internet of Things
RU2571725C2 (ru) Система и способ управления параметрами приложений на компьютерных устройствах пользователя
Satyal Enhancing IoT security in the 5G era: Threats, vulnerabilities, and solutions
AU2017228252B2 (en) Method and system for providing permissions management
Teymourlouei et al. Combat security and privacy challenges of the Internet of Things, as an intelligent system
Alquhayz et al. Protecting the End User Device in 4G Heterogeneous Networks

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
GRNT Written decision to grant