KR101497610B1 - 컴퓨터 네트워크 보안을 보조하기 위한 자산 모델의 실시간식별 및 자산의 카테고리화 - Google Patents

컴퓨터 네트워크 보안을 보조하기 위한 자산 모델의 실시간식별 및 자산의 카테고리화 Download PDF

Info

Publication number
KR101497610B1
KR101497610B1 KR1020097004992A KR20097004992A KR101497610B1 KR 101497610 B1 KR101497610 B1 KR 101497610B1 KR 1020097004992 A KR1020097004992 A KR 1020097004992A KR 20097004992 A KR20097004992 A KR 20097004992A KR 101497610 B1 KR101497610 B1 KR 101497610B1
Authority
KR
South Korea
Prior art keywords
network node
unique identifier
node
address
category
Prior art date
Application number
KR1020097004992A
Other languages
English (en)
Other versions
KR20090061627A (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 KR20090061627A publication Critical patent/KR20090061627A/ko
Application granted granted Critical
Publication of KR101497610B1 publication Critical patent/KR101497610B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • 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
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user
    • 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/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • 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/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • 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/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Abstract

고유 식별자가 네트워크 노드에 할당되어, 노드에 해당하는 "자산 모델"을 획득하고 노드가 특정 카테고리의 맴버인지의 여부를 결정하는데 이용된다. 자산 모델은 노드에 관한 정보의 세트(예를 들면, 기업 내의 노드의 역할, 노드에 설치된 소프트웨어, 및 노드의 공지된 취약성/약점)이다. 식별자 검색 모듈은 검색 데이터 구조 내의 키로서 이용되는 노드의 특성(IP 어드레스, 호스트명, 네트워크 구역, 및/또는 MAC 어드레스 등)에 기초하여 노드의 식별자를 결정한다. 카테고리 검색 모듈은 자산 모델에 부여될 수 있는 카테고리(속성)를 모델링하도록 이행적 폐쇄를 이용하여 특정 노드가 특정 카테고리의 맴버인지(즉, 그 내의 것인지)의 여부를 결정한다. 특정 자산 카테고리에 대한 이행적 폐쇄는 (비트맵 인덱싱과 유사한)비트맵으로 저장된다.
고유 식별자, 네트워크 노드, 카테고리

Description

컴퓨터 네트워크 보안을 보조하기 위한 자산 모델의 실시간 식별 및 자산의 카테고리화{REAL-TIME IDENTIFICATION OF AN ASSET MODEL AND CATEGORIZATION OF AN ASSET TO ASSIST IN COMPUTER NETWORK SECURITY}
본 발명은 포괄적으로는 보안 정보/이벤트 관리(SIM 또는 SIEM)에 관한 것이고, 구체적으로는 네트워크 노드(예를 들면, 이벤트에 의해 목적지가 되는 노드)의 모델을 액세스하여 모델 데이터를 보안 정보/이벤트와 결합하여 이용하는 것에 관한 것이다.
보안 정보/이벤트 관리(SIM 또는 SIEM)의 분야는, 일반적으로 1) 네트워크 및 네트워킹된 디바이스로부터 네트워크 활동 및/또는 디바이스의 동작을 나타내는 데이터를 수집하고 2) 데이터를 분석하여 보안을 강화하는 것과 관련된다. 예를 들면, 데이터를 분석하여, 네트워크 또는 네트워킹된 디바이스에 대한 공격을 식별하고 어떤 사용자 또는 기계에 책임이 있는지를 결정할 수 있다. 공격이 진행 중인 경우, 대항책이 수행되어 공격을 방해하거나 공격에 의해 야기된 손상을 완화할 수 있다. 수집되는 데이터는 네트워킹된 디바이스에 의해 발생되는 메시지(이벤트, 경고, 또는 경보 등) 또는 로그 파일 내의 엔트리(entry)에서 일반적으로 비롯된다.
일반적으로, 메시지 또는 엔트리는 네트워크 활동과 관련되는 하나 이상의 컴퓨터 네트워크 디바이스("네트워크 노드")를 지시한다. 예를 들면, 메시지 또는 엔트리는 활동이 지시된 노드("목표 노드") 및/또는 활동이 비롯된 노드("소스 노드")를 지시할 수 있다. 수집된 데이터만을 이용하여 공격을 식별 및 조사하는 것이 가능하지만, 지시된 네트워크 노드에 관한 정보 등의 추가적인 정보를 가지는 것은 때때로 유용하다.
네트워크 노드에 관한 정보("자산 모델"이라 함)는, 예를 들면 노드의 인터넷 프로토콜(Internet Protocol:IP) 어드레스, 노드의 호스트명, 노드가 속하는 네트워크, 기업 내의 노드의 역할, 노드에 대한 개방 포트, 노드에 설치된 소프트웨어(예를 들면, 운영 체제 및 애플리케이션), 및 공지된 노드의 취약성 또는 약점("노출된 취약성"이라 함)을 포함할 수 있다.
자산 모델은 보안 분석 동안에 액세스된다. 보안 분석은 배치(batch) 모드 또는 실시간 모드 중 어느 하나로 수행될 수 있다. 배치 모드에서, 보안 정보/이벤트들이 수신되는 경우, 그들은 저장된다. 추후, 저장된 보안 정보/이벤트는 분석된다. 실시간 모드에서, 보안 정보/이벤트들이 수신되는 경우, 그들은 실시간 또는 거의 실시간으로 분석된다.
보안 분석이 실시간(또는 거의 실시간)으로 이루어지기 위해서는, 자산 모델이 실시간(거의 실시간)으로 액세스되어야 한다. 매 분마다 수천 개의 이벤트가 발생되고 각각의 이벤트는 하나 이상의 노드를 지시하므로, 이를 달성하기가 매우 곤란하다. 예를 들면, 5,000 이벤트/초의 이벤트 속도 및 4 노드/이벤트는 20,000 노드/초가 된다. 각각의 노드에 대하여, 그것의 자산 모델이 식별 및 액세스된다.
자산 모델을 보안 정보/이벤트와 결합하여 실시간으로 이용하기 위해서는, 자산 모델을 효과적인 방식으로 액세스하는 방법이 필요하다.
일 실시예에 따르면, 네트워크 노드와 연관된 고유 식별자를 결정하는 방법이 제시되며, 이러한 방법은: 상기 네트워크 노드와 연관된 인터넷 프로토콜(Internet Protocol:IP) 어드레스를 포함하는 이벤트 데이터 메시지를 수신하는 단계; 수신된 상기 이벤트 데이터 메시지에 포함되어 있는 상기 네트워크 노드와 연관된 IP 어드레스를 이용하여 IP 어드레스 검색 데이터 구조에 질의하는 단계; 상기 질의에 응답하여 상기 네트워크 노드와 연관된 고유 식별자를 반환하는 단계; 및 상기 반환된 고유 식별자를 이용하여 상기 네트워크 노드와 연관된 자산 모델을 획득하는 단계와 상기 반환된 고유 식별자를 이용하여 상기 네트워크 노드가 카테고리의 맴버인지의 여부를 결정하는 단계 중 어느 하나를 수행하는 단계를 포함하고, 상기 자산 모델은 상기 네트워크 노드의 보안 취약성에 관한 정보를 포함하며, 상기 IP 어드레스 검색 데이터 구조는 인덱스에 저장되는 하나 이상의 요소를 포함하는 어레이를 포함하고, 상기 요소는 특정 네트워크 노드와 연관된 고유 식별자를 포함하며, 상기 인덱스는 상기 특정 네트워크 노드와 연관된 IP 어드레스에 기초하여 결정된다.
매니저는 하나 이상의 이벤트를 수신하고 이벤트를 분석하여 공격을 탐지한다. 이벤트는 컴퓨터 네트워크 디바이스("네트워크 노드"라 함)와 관련된 작동을 나타낸다. 이벤트는 하나 이상의 노드(예를 들면, 작동이 지시된 노드("목표 노드") 및/또는 작동이 비롯된 노드("소스 노드"))에 대한 레퍼런스("노드 레퍼런스"라 함)를 포함한다. 노드 레퍼런스는 인터넷 프로토콜(Internet protocol:IP) 어드레스, 네트워크 구역, 호스트명, 매체 접근 제어(Media Access Control:MAC) 어드레스, 및 자산 식별자(자산ID) 등의 다수의 필드를 포함한다.
자산ID 필드는 네트워크 노드에 할당되는 고유 식별자(ID)를 저장하기 위한 것이다. 초기에 매니저가 이벤트를 수신한 경우, 노드 레퍼런스의 자산ID 필드는 비어 있다. 추후, 노드의 "자산 모델"에 해당하는 식별자가 자산ID 필드에 저장된다. ID는 ID와 연관된 네트워크 노드에 해당하는 자산 모델을 획득하고 네트워크 노드가 특정 카테고리의 맴버(member)인지의 여부를 결정하는데 이용된다. 매니저는 보안 분석을 수행하기 위해, 네트워크 노드의 자산 모델을 액세스한다.
자산 모델은 네트워크 노드에 관한 정보의 세트이다. 이 정보는, 예를 들면 노드의 IP 어드레스, 노드의 호스트명, 노드가 속하는 네트워크, 기업 내의 노드의 역할, 노드에 대한 개방 포트, 노드에 설치된 소프트웨어(예를 들면, 운영 체제 및 애플리케이션), 및 공지된 노드의 취약성 또는 약점("노출된 취약성"이라 함)의 리스트를 포함할 수 있다.
매니저는 식별자 모듈 및 카테고리 모듈을 포함한다. 식별자 모듈은 네트워크 노드에 할당되는 고유 ID와 관련된 기능을 제공하고 검색 모듈 및 관리 모듈을 포함한다. 검색 모듈은 IP 어드레스, 호스트명, 네트워크 구역, 및/또는 매체 접근 제어(Media Access Control:MAC) 어드레스 등의 네트워크 노드의 다양한 특성에 기초하여 네트워크 노드의 ID를 결정한다. 이들 정보의 조각은 하나 이상의 검색 데이터 구조(예를 들면, 검색 테이블) 내의 키로서 이용된다. 검색이 성공적이면(예를 들면, 키와 연관되는 값이 발견됨), 그 값(노드의 자산 모델의 ID)이 반환된다. 관리 모듈은 어느 ID가 네트워크 노드에 할당되었는지 및 어느 ID가 할당되지 않았는지를 추적한다.
카테고리 모듈은 카테고리와 관련된 기능을 제공하고 검색 모듈 및 관리 모듈을 포함한다. 검색 모듈은 특정 네트워크 노드(자산)가 특정 카테고리의 맴버(즉, 그 내의 것)인지의 여부를 결정한다. 이를 결정하기 위해서, 카테고리 모듈은 카테고리 데이터를 이용한다. 카테고리 데이터는 이행적 폐쇄(transitive closure:TC)를 이용하여 자산 모델에 부여될 수 있는 카테고리화의 계층적 및 동적 영역(속성)을 모델링한다. TC는 비트맵(bitmap)의 세트로서 메모리에 저장되고, 여기서 비트맵은 특정 자산 카테고리 또는 그룹에 해당한다. 비트맵 내의 0/1 비트는 특정 자산 카테고리/그룹과 자산 사이에 링크가 있는지의 여부를 나타낸다. 자산의 고유 ID는 이행적 폐쇄 비트맵 내의 인덱스(index)로서 기능한다. 관리 모듈은, 필요한 경우 카테고리 데이터를 갱신한다.
도 1은 일 실시예에 따른 보안 정보/이벤트 관리 시스템을 가지는 환경을 나타내는 상위 수준의 도면.
도 2는 일 실시예에 따른 보안 정보/이벤트 관리 시스템의 매니저로서 기능하는 컴퓨터의 상위 수준의 블록도.
도 3은 일 실시예에 따른 보안 정보/이벤트 관리 시스템의 매니저 내의 모듈을 나타내는 상위 수준의 블록도.
도 4는 일 실시예에 따른 네트워크 노드와 연관된 식별자를 결정하는 방법을 나타내는 흐름도.
도 5는 IP 어드레스 검색 테이블에 대한 데이터 구조의 예시도.
도 6은 호스트명 검색을 수행하는데 이용되는 두 개의 검색 테이블을 나타내는 도면.
도 7은 MAC 어드레스 검색 테이블에 대한 데이터 구조의 예시도.
도면은 단지 설명을 위한 실시예를 나타낸다. 당업자라면, 여기에서 설명하고 있는 원리에서 일탈하지 않고, 여기에 나타낸 구조 및 방법의 대안의 실시예가 채용될 수 있음을 하기의 설명으로부터 쉽게 이해할 것이다.
여기에서는, 이종(heterogeneous) 소스로부터 보안 이벤트를 포착하고, 이 이벤트를 공통 스키마로 정규화하고 이렇게 정규화된 이벤트를 규칙과 상호 상 관(cross-correlation)시켜 메타 이벤트(meta-event)를 생성시키는 컴퓨터 기반 시스템을 설명한다. 시스템(컴퓨터 소프트웨어로서 명시되는 일 실시예)은 다수의 보안 디바이스로부터의 의심스러운 네트워크 활동의 집합, 상관, 및 탐지 및 조사 추적을 가능하게 한다. 또한, 본 시스템은 응답 관리, 특별한(ad-hoc) 질의 해결, 범죄과학 분석에 대한 보고 및 재현, 및 네트워크 위협 및 활동의 그래픽적 시각화를 지원한다.
본 시스템을 다양하게 나타낸 예를 참조하여 설명하지만, 이들 예가 본 발명의 폭넓은 사상 및 범주를 제한하는 것으로 이해해서는 안 된다. 예를 들면, 여기에서 제공되는 예들은 분산된 에이전트, 매니저 및 콘솔을 설명하지만, 이는 단지 본 발명의 일 실시예일 뿐이다. 본 발명의 일반적인 개념 및 범위는 더 광범위하며 임의의 컴퓨터 기반 또는 네트워크 기반 보안 시스템으로 확장될 수 있다. 또한, 본 발명을 한층 더 설명하기 위해, 시스템의 구성요소에 전달되고 그로부터 전달될 수 있는 메시지 및 시스템의 구성요소에 의해 이용될 수 있는 데이터 스키마를 예로 들었지만, 이것이 모든 예를 포함하는 것은 아니며, 그렇게 간주되어서도 안 된다.
다음 상세한 설명의 일부는 컴퓨터 메모리 내의 데이터에 대한 동작의 알고리즘 및 기호 표현에 의하여 제공된다. 이들 알고리즘 설명 및 표현은 컴퓨터 과학 기술 분야의 당업자에 의해 이용되어, 그들의 작업 내용을 다른 당업자에게 가장 효과적으로 전달할 수 있는 수단이다. 그리고 일반적으로, 여기에서의 알고리즘은 원하는 결과에 이르는 일관성 있는 순서의 단계들로 이해된다. 이 단계들은 물리량의 물리적 조작을 요하는 것이다. 일반적으로, 반드시 그러한 것은 아니지만, 이들 양은 저장, 전송, 결합, 비교 및 달리 조작될 수 있는 전기 또는 자기 신호의 형태를 가진다. 주로 공용을 이유로, 이들 신호를 비트, 값, 요소, 기호, 문자, 용어, 숫자 등으로 참조하는 것은 때때로 편리하다고 증명되었다. 그러나, 모든 이들 및 이와 유사한 용어가 적합한 물리량과 연관되어야 하고 이들 양에 부여된 라벨은 단지 편의상임을 유념해야 한다. 구체적으로 달리 언급하지 않더라도, 본 발명의 설명의 전반에 걸쳐, "처리", "컴퓨팅", "연산", "결정", "표시" 등의 용어 사용은 컴퓨터 시스템의 레지스터 및 메모리 내의 물리(전자)량으로서 표현된 데이터를 컴퓨터 시스템 메모리 또는 레지스터 또는 다른 그와 유사한 정보 저장, 전송 또는 디스플레이 디바이스 내에서 물리량으로서 유사하게 표현된 다른 데이터로 조작 및 변형시키는 컴퓨터 시스템, 또는 유사한 전자 컴퓨팅 디바이스의 작동 및 프로세스를 일컫는 것임이 이해될 것이다.
상술한 바와 같이, 컴퓨터 소프트웨어, 즉 하나 이상의 컴퓨터 프로세서/시스템에 의해 수행되는 경우, 프로세서/시스템이 지정된 작동을 수행하도록 명령하는 컴퓨터 판독 가능한 명령 내에서, 본 발명의 일 실시예를 예로 들어 설명한다. 이러한 컴퓨터 소프트웨어는 하드 드라이브, CD-ROM, DVD-ROM, 판독 전용 메모리, 판독 기록 메모리 등과 같은 하나 이상의 컴퓨터 판독 가능한 매체 내에 상주할 수 있다. 이러한 소프트웨어는 하나 이상의 이들 매체에 분산될 수 있거나, 하나 이상의 컴퓨터 네트워크(예를 들면, 인터넷)에 걸쳐 다운로드로 이용될 수 있다. 포맷에 상관없이, 여기에서 논의되는 컴퓨터 프로그래밍, 렌더링 및 처리 기술은 단 지 본 발명의 양태들을 구현하는데 이용될 수 있는 프로그래밍, 렌더링 및 처리 기술 형태의 예들이다. 본 발명은 이 예들로 한정되는 것이 아니며, 본 설명 이후의 특허청구범위를 참조하여 가장 쉽게 이해된다.
시스템 아키텍처
도 1은 일 실시예에 따른 보안 정보/이벤트 관리 시스템(10)을 가지는 환경을 나타내는 상위 수준의 다이어그램이다. 시스템(10)은 에이전트(12), 하나 이상의 매니저(14) 및 하나 이상의 콘솔(16)(그 브라우저 기반 버전을 포함할 수 있음)을 포함한다. 일부 실시예에서는, 에이전트, 매니저 및/또는 콘솔은 단일 플랫폼으로 결합되거나 두 개, 세 개 또는 그 이상의 플랫폼(도시한 예에서와 같음)으로 분산될 수 있다. 이러한 멀티티어(multi-tier) 아키텍처의 이용은 컴퓨터 네트워크 또는 시스템이 커짐에 따라, 확장성(scalability)을 지원한다.
에이전트(12)는 다양한 네트워크 보안 디바이스 및/또는 애플리케이션으로부터 효과적이고, 실시간(또는 거의 실시간)인 로컬 이벤트 데이터 포착 및 필터링을 제공하는 소프트웨어 프로그램이다. 보안 이벤트의 1차 소스는 파이워월(firewall), 침입 탐지 시스템 및 운영 체제 로그를 포함하는 공통 네트워크 요소이다. 에이전트(12)는 이벤트 로그 또는 메시지를 만드는 임의의 소스로부터 이벤트를 수집할 수 있고, 네이티브 디바이스(native device)에서, 네트워크 내의 통합 지점에서, 및/또는 간이 망 관리 프로토콜(simple network management protocol:SNMP) 트랩(trap)을 통해 동작할 수 있다.
에이전트(12)는 수동 및 자동 프로세스 양방을 통해, 또한 연관된 구성 파일 을 통해 구성 가능하다. 각각의 에이전트(12)는 정규화 성분, 시간 보정 성분, 집합 성분, 배치(batch) 성분, 리졸버(resolver) 성분, 전송 성분, 및/또는 추가적인 성분을 포함하는 하나 이상의 소프트웨어 모듈을 포함할 수 있다. 이들 성분은 구성 파일 내에 적합한 명령을 통해 활성화 및/또는 비활성화될 수 있다.
매니저(14)는 에이전트로부터 수신된 이벤트를 더 통합, 필터링 및 상호 상관시키는 서버 기반 성분으로, 규칙 엔진(18) 및 중앙 집중식 이벤트 데이터베이스(20)를 채용할 수 있다. 매니저(14)의 하나의 역할은 모든 실시간 및 히스토리 이벤트 데이터를 포착 및 저장하여 완전하고 전사적인(enterprise-wide) 보안 활동의 그림을 구성(데이터베이스 매니저(22)를 통해)하는 것이다. 또한, 매니저(14)는 지식 베이스(28) 및 사례 관리 작업 흐름뿐만 아니라, 중앙 집중식 관리, 통지(하나 이상의 통지기(24)를 통해), 및 보고를 제공한다. 매니저(14)는 임의의 컴퓨터 하드웨어 플랫폼 상에 전개될 수 있고 일 실시예는 OracleTM 데이터베이스 등의 관계형 데이터베이스 관리 시스템을 이용하여 이벤트 데이터 저장 성분을 구현한다. 매니저(14)와 에이전트(12) 사이의 통신은 양방향(예를 들면, 매니저(14)가 명령을 플랫폼 호스팅 에이전트(12)에 전송하는 것을 허용함) 및 암호화될 수 있다. 일부 설치에서, 매니저(14)는 다수의 에이전트(12)에 대해 집중기(concentrator)로서 기능할 수 있고 다른 매니저(예를 들면, 기업 본부에 전개되는)에게 정보를 보낼 수 있다.
매니저(14)는 에이전트(12)에 의해 전송된 이벤트 데이터 메시지의 수신을 책임지는 하나 이상의 에이전트 매니저(26)를 포함한다. 에이전트(12)와의 양방향 통신이 구현되는 곳에서, 이들 에이전트 매니저(26)는 에이전트(12)에 메시지를 전송하는데 이용될 수 있다. 에이전트-매니저 통신에 대해 암호화가 채택되는 경우(선택적임), 에이전트 매니저(26)는 에이전트(12)로부터 수신하는 메시지를 복호화하고 에이전트(12)에 전송되는 임의의 메시지를 암호화하는 것을 책임진다.
콘솔(16)은 보안 전문가가 이벤트 감시, 규칙 오서링(authoring), 사건 조사 및 보고 등의 관리 및 동작 태스크를 매일 수행하는 것을 허용하게 하는 컴퓨터(예를 들면, 워크스테이션) 기반 애플리케이션이다. 액세스 제어 리스트는 다수의 보안 전문가들이 동일한 시스템 및 이벤트 데이터베이스를 이용하는 것을 허용하게 하며, 각각 그들의 책임에 적합하게 한 그들 자신의 뷰(view), 상관 규칙, 경고, 보고 및 지식 베이스를 갖는다. 단일 매니저(14)는 다수의 콘솔(16)을 지원할 수 있다.
일부 실시예에서, 콘솔(16)의 브라우저 기반 버전은 보안 이벤트, 지식 베이스 항목, 보고, 통지 및 사례로의 액세스를 제공하는데 이용될 수 있다. 즉, 매니저(14)는 개인용 또는 휴대형 컴퓨터(콘솔(6)을 대신함)에 호스트된 웹 브라우저를 통해 액세스 가능한 웹 서버 성분을 포함하여 콘솔(16)의 일부 또는 모든 기능을 제공할 수 있다. 특히, 브라우저 액세스는 콘솔(16)로부터 멀리 떨어진 보안 전문가 및 비상근 사용자에게 특히 유용하다. 콘솔(16)과 매니저(14) 사이의 통신은 양방향이며, 또한 암호화될 수도 있다.
상술한 아키텍처를 통해, 시스템은 중앙 집중식 또는 비중앙 집중식 환경을 지원할 수 있다. 조직이 시스템(10)의 싱글 인스턴스(single instance)를 구현하기 원하고 액세스 제어 리스트를 이용하여 사용자를 구분하기를 원할 수 있으므로, 이는 유용하다. 택일적으로, 조직은 각각의 수많은 그룹에 대해 별개의 시스템(10)을 전개하고 그 결과를 "마스터" 레벨에서 통합하는 것을 선택할 수 있다. 또한, 이러한 전개는 현재 기준 업무 시간으로 작업하는 그룹에 주요 감독 책임을 전가함으로써 지리적으로 분산된 동료 그룹이 서로 협업하는 "팔로우 더 선(follow-the-sun)" 배치를 이룰 수 있다. 또한, 시스템(10)은 업무 부서가 별개로 작업하고 중앙 집중식 관리 기능에 롤업(rollup)을 지원하는 기업 계층에 전개될 수 있다.
보안 정보/이벤트 관리 시스템(10)은 2002년 12월 2일 출원된 U.S. 특허출원 제10/308,415호에 더 기재되어 있고, 본원에는 그 전문이 참조로서 포함된다.
자산 모델의 소개
매니저(14)는 하나 이상의 이벤트를 수신하고 그 이벤트를 분석하여 공격을 탐지한다. 이벤트는 컴퓨터 네트워크 디바이스("네트워크 노드"라 함)와 관련된 작동을 나타낸다. 예시적인 네트워크 노드는 랩탑 또는 데스크탑 컴퓨터, 서버(전자 메일 서버, 액세스 제어 서버, 및 도메인명 시스템(DNS) 서버 등), 파이어월(firewall), 라우팅 디바이스, 침입 탐지 시스템, 가상 사설 통신망(virtual private network:VPN) 시스템, 및 프린터를 포함한다.
일 실시예에서, 이벤트는 하나 이상의 노드(예를 들면, 작동이 지시된 노드("목표 노드") 및/또는 작동이 비롯된 노드("소스 노드"))를 지시한다. 이 실시 예에서, 이벤트는 각각의 노드에 대한 레퍼런스("노드 레퍼런스"라 함)를 포함한다. 노드 레퍼런스는 IP(Internet Protocol) 어드레스, 네트워크 구역, 호스트명, MAC(Media Access Control) 어드레스, 및 자산 식별자(자산ID) 등의 다수의 필드를 포함한다(여기서, 네트워크 구역은 네트워크 부분이고, 라벨은 네트워크 구역을 식별하는 동시에 전용 주소 공간(private address space)을 서로 구별하는데 이용됨). 네트워크 노드는 IP 어드레스를 이용하여 어드레스가 지정된다. 다수의 홈 서버(multi-homed server) 등의 일부 디바이스는 다수의 IP 어드레스 중 어느 하나를 통해 어드레스가 지정될 수 있다. 이 상황에서, 각각의 IP 어드레스는 별개의 네트워크 노드로서 취급된다. 그러므로, 단일 디바이스는 다수의 네트워크 노드를 "포함(house)"할 수 있다.
자산ID 필드는 네트워크 노드에 할당되는 고유 식별자(ID)를 저장하기 위한 것이다. 초기에, 매니저에 의해 이벤트를 수신하는 경우, 노드 레퍼런스의 자산ID 필드는 비어 있다. 후에, 자산ID 필드는 노드의 "자산 모델"에 해당하는 식별자가 저장된다. 일 실시예에서, 상기 ID는 이 ID와 연관된 네트워크 노드에 해당하는 자산 모델을 획득하는데 이용된다. 다른 실시예에서, 상기 ID는 네트워크 노드가 특정 카테고리의 맴버인지의 여부를 결정하는데 이용된다(후술함). 자산 모델은 네트워크 노드에 관한 정보의 세트이다. 이 정보는, 예를 들면 노드의 IP 어드레스, 노드의 호스트명, 노드가 속하는 네트워크, 기업 내의 노드의 역할, 노드에 대한 개방 포트, 및 노드에 설치된 소프트웨어(예를 들면, 운영 체제 및 애플리케이션)를 포함할 수 있다. 일 실시예에서, 자산 모델은 노드의 공지된 취약성 또는 약점("노출된 취약성"이라 함)의 리스트를 포함한다. 취약성은, 일반적으로 노드의 제작자가 의도하지 않은 결과가 야기되도록 이용될 수 있는 노드의 구성 또는 조건으로서 정의된다.
매니저(14)는 보안 분석을 수행하기 위해 네트워크 노드의 자산 모델을 액세스한다. 예를 들면, 이벤트는 하나 이상의 공지된 취약성("이용된 취약성"이라 함)을 이용하려는 시도를 나타낼 수 있다. 매니저(14)는 목표 노드의 노출된 취약성을 결정하고(노드의 자산 모델의 액세스에 의함), 이어서 그들을 이용된 취약성과 비교할 수 있다. 노출된 취약성 및 이용된 취약성 모두에 대해 취약성이 나타나면, 위협이 탐지된다. 위협 탐지는 2007년 8월 21일에 출원된 U.S. 특허 제7,260,844에 한층 더 기술되어 있으며, 본원에서는 그 전문이 참조로서 포함된다.
다른 예로서, 기밀성(confidentiality)에 대해 그 허용차에 따른 노드의 카테고리화를 요하는 연방정부 정보처리 표준(Federal Information Processing Standards:FIPS) 내의 표준을 고려한다. 이벤트는 특정 노드에 대한 기밀성을 무효로 할 수 있는 작동을 나타낼 수 있다. 매니저(14)는 이 이벤트를 통지하고 그 노드에 대해 얼마나 중대한 기밀성인지를 결정한다(노드의 자산 모델의 액세스에 의함). 기밀성이 중대하면, 트러블 티켓(trouble ticket)이 생성되어 위배를 추적할 수 있다.
네트워크 노드(자산)는 그것의 속성을 나타내기 위해 카테고리화될 수 있다. 카테고리는 "그룹"으로서 구현된다. 예를 들면, 특정 노드가 Windows 2003 Server 운영 체제를 실행 중인 것을 나타내기 위해서, 노드의 자산은 그룹 "/AllCategories/OperatingSystems/Microsoft/Windows/2003Server"에 위치된다. 카테고리는 계층적일 수 있다. 예를 들면, "2003Server"는 카테고리 "Windows"의 자식(child)이고, "Windows"는 카테고리 "Microsoft"의 자식 등이다. 계층적 카테고리의 다른 예는 지리적 분류이다(예를 들면, 대륙/국가/주/지역/...).
노드 레퍼런스 및 카테고리가 주어지는 경우, 매니저(14)는 노드가 그 카테고리의 맴버인지(즉, 그 내의 것인지)의 여부를 결정할 수 있다. 또한, 네트워크 구역 및 네트워크 구역 그룹과 마찬가지로, 자산 그룹은 카테고리화될 수 있다.
그러므로, 보안 분석은 자산 모델을 식별 및 액세스하고 카테고리 맴버십(membership)을 검사하는 것을 포함한다. 또한, 보안 분석이 실시간(또는 거의 실시간)으로 수행되기 위해서는, 모델 식별 및 액세스 및 카테고리 검사가 실시간(거의 실시간)으로 수행되어야 한다. 매 분마다 수천의 이벤트가 발생되고, 각각의 이벤트는 하나 이상의 노드 레퍼런스를 지시하므로, 이는 매우 곤란하다. 예를 들면, 5,000 이벤트/초의 이벤트 속도 및 4 노드 레퍼런스/이벤트는 20,000 노드 레퍼런스/초가 된다. 각각의 노드 레퍼런스에 대하여, 그것의 자산 모델이 식별 및 액세스되고 복수의 카테고리 맴버십 검사가 수행된다.
매니저 아키텍처
도 2는 일 실시예에 따른 보안 정보/이벤트 관리 시스템(10)의 매니저(14)로서 기능하는 컴퓨터(300)의 상위 수준의 블록 다이어그램이다. 버스(204)에 결합된 적어도 하나 이상의 프로세서(202)가 나타난다. 또한, 버스(204)에는 메모리(206), 저장 디바이스(208), 키보드(210), 그래픽 어댑터(212), 위치지정 디바이 스(pointing device)(214), 및 네트워크 어댑터(216)가 결합된다. 일 실시예에서, 버스(204)의 기능은 상호 접속용 칩셋에 의해 제공된다. 디스플레이(218)는 그래픽 어댑터(212)에 결합된다.
저장 디바이스(208)는 하드 드라이브, 콤팩트 디스크 읽기 전용 메모리(CD-ROM), DVD, 또는 반도체 메모리 디바이스 등의 데이터를 유지할 수 있는 임의의 디바이스이다. 메모리(206)는 프로세서(202)에 의해 이용되는 명령 및 데이터를 유지한다. 위치지정 디바이스(214)는 마우스, 트랙 볼, 또는 다른 형태의 위치지정 디바이스일 수 있고, 키보드(210)와 결합하여 컴퓨터(200) 내에 데이터를 입력하는데 이용된다. 그래픽 어댑터(212)는 디스플레이(218) 상에 이미지 및 다른 정보를 표시한다. 네트워크 어댑터(216)는 컴퓨터(200)를 로컬 또는 광역 네트워크에 결합시킨다.
공지된 바로, 컴퓨터(200)는 도 2에 나타낸 것과 상이한 및/또는 다른 구성요소를 가질 수 있다. 또한, 컴퓨터(200)는 도시된 특정 구성요소가 생략될 수 있다. 예를 들면, 매니저(14)로서 기능하는 컴퓨터(200)는 키보드(210), 위치지정 디바이스(214), 그래픽 어댑터(212), 및/또는 디스플레이(218)가 없을 수 있다. 또한, 저장 디바이스(208)는 컴퓨터(200)로부터 로컬 및/또는 원거리일 수 있다(스토리지 전용 네트워크(storage area network)(SAN) 내에 구현되는 등).
소프트웨어 에이전트(12)(예를 들면, 미국 캘리포니아의 Cupertino에 소재한 ArcSight, Inc.의 SmartConnector)는 센서로부터 네트워크 노드에 관한 메시지를 수신한다. 이어서, 에이전트(12)는 메시지를 처리하여 이벤트를 생성한다. 일 실 시예에서, 이벤트는 하나 이상의 필드를 포함하는 데이터 구조를 나타내며, 각각의 필드는 값을 포함할 수 있다. 필드의 값은 센서로부터 수신된 메시지에 기초하여 결정된다. 에이전트는 저장 및 분석을 위해 이벤트를 매니저(14)(예를 들면, ArcSight, Inc.로부터의 Enterprise Security Manager)에 송신한다.
매니저(14)는 이벤트 자산 리졸버(Event Asset Resolver:EAR)(도시 생략)라 하는 모듈을 포함한다. 이벤트가 노드 레퍼런스를 포함할 수 있음을 상기한다. EAR 모듈은 이 노드 레퍼런스를 그에 해당하는 자산 모델과 연관시키고 노드 레퍼런스에 고유 식별자(ID)를 태그(tag)한다. 예를 들면, EAR 모듈은 이전에 비어 있던 노드 레퍼런스의 자산ID 필드에 ID를 저장함으로써 이벤트를 보정한다. 일 실시예에서, 이벤트는 네 개의 노드, 즉 네트워크 트래픽의 소스, 네트워크 트래픽의 수신지, 에이전트의 호스트, 및 이벤트를 보고한 센서의 호스트에 대한 레퍼런스를 포함한다. 각각의 노드 레퍼런스에 대하여, EAR 모듈은 노드 레퍼런스를 그것의 해당 자산 모델과 연관시키고 노드 레퍼런스를 고유 ID로 태그한다.
도 3은 일 실시예에 따른 보안 정보/이벤트 관리 시스템(10)의 매니저(14) 내의 모듈을 나타내는 상위 수준의 블록도이다. 도 3에 나타낸 바와 같이, 매니저(14)의 일 실시예는 식별자 모듈(300) 및 카테고리 모듈(310)을 포함한다. 다른 실시예는 도면에 나타낸 것과 상이한 및/또는 추가적인 모듈을 가질 수 있다. 예를 들면, 매니저(14)는 도 1에 나타낸 모듈을 포함할 수 있지만, 명확화를 위해 도 3은 이들 모듈을 생략한다. 또한, 여기에서 기술한 것과 상이한 방식으로 모듈 사이에 기능이 분산될 수 있다.
식별자 모듈(300)은 네트워크 노드에 할당되는 고유 식별자(ID)와 관련된 기능을 제공한다. 일 실시예에서, ID는 정수(integer)(예를 들면, 기본(primitive) 데이터형 "인트(int)"로 표현된 값)에 기초한다. 일 실시예에서, ID는 "국소적으로" 고유하다. 예를 들면, 특정 매니저(14) 내에서 고유하지만, 다수의 매니저 전반에 걸쳐 반드시 그러한 것은 아니다. 다른 실시예에서, ID는 범용 고유 식별자(Universally Unique Identifier:UUID) 또는 전역적 고유 식별자(Globally Unique Identifier:GUID)이다. 이 실시예에서, ID는 "전역적으로" 고유하다. 예를 들면, 그것은 다수의 매니저 전반에 걸쳐 고유하다. UUID 또는 GUID를 저장하는데 필요한 메모리의 양은 적어도 16 바이트이다. 정수 기반 값을 저장하는 것이 적은 메모리가 요구된다. 백만 개가 넘는 ID가 메모리에 동시에 저장될 필요가 있을 수 있으므로, 이 메모리 차이는 중요하다.
일 실시예에서, ID는 ID와 연관된 네트워크 노드에 해당하는 자산 모델을 획득하는데 이용된다. 예를 들면, 자산 관리 모듈(도시 생략)은 자산 모델 정보를 유지하며, ID를 이용하여 질의되는 경우 자산 모델을 반환한다. 자산 모델은, 예를 들면 객체 데이터 구조(예를 들면, Java 등의 객체 지향 프로그래밍 언어 내에서)에 의해 표현된다. 다른 실시예에서, ID는 네트워크 노드가 특정 카테고리의 맴버인지의 여부를 결정하는데 이용된다.
도시한 실시예에서, 식별자 모듈(300)은 검색 모듈(320), 관리 모듈(330), 갭(gap) 테이블(340), 및 하나 이상의 검색 테이블(350)을 포함한다. 검색 모듈(320)은 네트워크 노드의 다양한 특성에 기초하여 네트워크 노드의 ID를 결정한 다. 이들 특성은, 상술한 바와 같이 이벤트 내의 노드 레퍼런스에 나타난다. 특정 네트워크 노드의 ID는 노드의 IP 어드레스, 호스트명, 네트워크 구역, 및/또는 MAC(Media Access Control) 어드레스에 기초하여 결정된다. 일 실시예에서, 이들 정보의 조각은 하나 이상의 검색 데이터 구조(검색 테이블(350)(후술함)) 내의 키로서 이용된다. 검색이 성공적인 경우(예를 들면, 키와 연관된 값이 발견됨), 이어서 그 값(노드의 자산 모델의 ID임)을 반환한다.
도 4는 일 실시예에 따른 네트워크 노드와 연관된 식별자를 결정하는 방법을 나타내는 흐름도이다. 방법(400)을 시작하기 전에, 네트워크 노드에 관한 정보가 수신된다. 이 정보는 노드의 IP 어드레스, 네트워크 구역, 호스트명, 및 MAC 어드레스 중 하나 이상을 포함한다.
검색은 노드의 MAC 어드레스를 이용하여 시도된다(410). 이 결과가 성공적인 대응(match)이 되는 경우, 이어서 ID를 반환한다(420). MAC 검색이 성공적인 대응이 되지 않는 경우, 이어서 노드의 IP 어드레스 및 네트워크 구역을 이용하여 검색이 시도된다(430). 이 결과가 성공적인 대응이 되는 경우, 이어서 ID를 반환한다(420). IP 검색이 성공적인 대응이 되지 않는 경우, 이어서 노드의 호스트명 및 네트워크 구역을 이용하여 검색이 시도된다(440). 이 결과가 성공적인 대응이 되는 경우, 이어서 ID를 반환한다(420). 호스트명 검색이 성공적인 대응이 되지 않는 경우, 이어서 노드의 네트워크 구역 내의 노드의 IP 어드레스를 포함하는 자산 범위를 이용하여 검색이 시도된다(450). 이 결과가 성공적인 대응이 되는 경우, 이어서 ID를 반환한다(420). 일 실시예에서, 각각의 검색(MAC 검색, IP 검색, 호스트명 검색, 및 자산 범위 검색)이 시도되는 순서가 구성 가능하다.
검색 테이블(350)은 검색 모듈(320)에 의해 이용되어, 네트워크의 노드의 다양한 특성에 기초해 네트워크 노드의 ID를 결정한다. 일 실시예에서, 네 가지 형태의 검색 테이블(350), 즉 IP 어드레스/네트워크 구역 검색 테이블, 호스트명/네트워크 구역 검색 테이블, MAC 어드레스 검색 테이블, 및 자산 범위 검색 테이블이 있다. 이들 각각의 검색 테이블은 자산 관리 모듈(상술함)에 의해 위치된다.
IP 어드레스/네트워크 구역 검색
일 실시예에서, IP 어드레스 검색 테이블은 기본 데이터형 "인트(int)"(정수)의 키 및 값을 이용한다. 검색을 수행하는데 이용되는 키는 IP 어드레스를 나타내는 32비트 정수이다. 검색에 의해 반환되는 값은 해당 자산 모델의 정수 ID이다. IP 어드레스가 네트워크 구역 내에서만 고유하므로, 각각의 네트워크 구역은 그 자신의 IP 검색 테이블을 가진다.
일 실시예에서, 검색 테이블은 적은 메모리 이용 및/또는 고속도를 나타내도록 맞춤화 및 최적화된다. 맞춤화된 테이블은 해시맵 또는 어레이 중 어느 하나일 수 있다.
도 5는 IP 어드레스 검색 테이블에 대한 예시적인 데이터 구조를 나타낸다. 도시된 데이터 구조는 개방 어드레스 해시맵(500) 및 직접 액세스 어레이(510)를 포함한다. 개방 어드레스 해시맵의 전통적인 구현에서는, 세 개의 어레이, 즉 키를 저장하는 어레이, 값을 저장하는 어레이, 및 키-값 쌍이 유효한지의 여부를 지시하는 어레이가 이용된다. 여기에서, 키(IP 어드레스) 및 값(ID)은 단일 정수 어 레이로 함께 저장된다(500). 도시된 실시예에서, 키 및 그와 연관된 값은 더 양호한 캐시(cache) 지역성을 위해 어레이 내에 서로 근접하여(예를 들면, 서로의 옆에) 위치된다. 즉, 개방 어드레스 해시맵은 하나의 어레이를 이용하여 키 어레이 및 값 어레이의 값들을 인터리브(interleave)함으로써 구현된다. 단일 어레이를 이용한 개방 어드레스 해시맵의 구현은 당업자에게 공지된 것으로, http://en.wikibooks.org/wiki/Data_Structures/Hash_Tables의 Data Structures/Hash Tables Wikibook에 기재되어 있다.
특정 IP 어드레스는 네트워크 구역 내에서 유효하지 않을 수 있다. 일 실시예에서, 무효 어드레스는 검색 데이터 구조 내에서 해당 값(여기에서는, ID)이 비어 있음을 지시하는데 이용된다.
택일적으로, 직접 액세스 어레이(510)가 이용될 수 있으며, 여기서 각각의 값(여기에서는, ID)은 어레이의 일 요소로서 저장된다. 어레이 내의 그 요소의 인덱스는 키(여기서, IP 어드레스)에 기초하여 결정된다. 일 실시예에서, 인덱스는 특정 어드레스 범위 내의 IP 어드레스의 오프셋(offset)과 동일하다. 예를 들면, 192.168.0.100으로부터 192.168.0.200까지의 범위의 IP 어드레스를 포함하는 네트워크 구역을 고려한다. IP 어드레스 192.168.0.150은 그것의 오프셋이 그 범위의 하단으로부터 50이므로, 50과 동일한 인덱스를 가질 것이다. 그러므로, 그것의 ID는 array[50]에 저장될 것이며, 여기서 array는 어레이의 이름이고 50은 어레이 내의 인덱스이다. 키는, 이 방식으로 저장될 필요가 없다. 대신, 그것은 인덱스로 번역되고, 이어서 어레이의 특정 요소를 액세스하는데 이용된다.
다른 네트워크 구역 및 그것의 IP 어드레스의 범위(예를 들면, 192.168.0.0 내지 192. 168.0.255)를 고려한다. 그 범위 내의 IP 어드레스가 밀집되어 위치되는 경우(이 경우처럼), 직접 어레이가 이용된다. IP 어드레스가 검색 테이블 내에 명확하게 저장될 필요가 없기 때문에, 이것은 빠른 검색을 제공하며 메모리를 절약한다.
IP 어드레스가 네트워크 구역 내에 단지 희박하게 위치되는 경우, 직접 어레이 검색을 이용하는 것은 커다란 메모리의 소비를 가지므로, 대신 해시 맵이 사용된다. 일 실시예에서, IP 어드레스 검색 테이블에 이용된 내부 데이터 구조의 형태는 네트워크 구역과 연관된 IP 어드레스 내의 IP 어드레스 이용량에 기초한다(예를 들면, 개체 밀도). 데이터 구조는, 필요한 경우(예를 들면, IP 어드레스의 개체 밀도가 변하는 경우) 어레이 검색(510)과 해시 검색(500) 사이에서 전환될 수 있다.
호스트명 /네트워크 구역 검색
호스트명이 네트워크 구역 내에서만 고유하므로, 각각의 네트워크 구역은 그 자신의 호스트명 검색 테이블을 가진다. 일 실시예에서, 검색 테이블은 적은 메모리 사용 및/또는 고속도를 나타내도록 맞춤화 및 최적화된다.
일 실시예에서, 호스트명 검색은 두 개의 검색 테이블을 이용하여 수행된다. 각각의 검색 테이블은 해시맵 또는 어레이 중 어느 하나로서 구현될 수 있다. 도 6은 호스트명 검색을 수행하는데 이용되는 두 개의 검색 테이블을 나타낸다. 간략화를 위하여, 검색 테이블을 열/행 포맷으로 나타내며, 각각의 열은 키/값 쌍을 나 타낸다.
호스트명은 두 개의 부분, 즉 기계 이름 및 도메인명으로 나눠진다. 예를 들면, 호스트명 "test.arcsight.com"은 "test"(기계 이름)과 "arcsight.com"(도메인명)으로 나눠진다. 제 1 검색 테이블(600)은 기본 데이터형 "스트링(string)"의 키 및 기본 데이터형 "인트(int)"(정수)의 값을 이용한다. 검색을 수행하는데 이용되는 키는 도메인명을 나타내는 스트링("DN1"로서 나타냄)이다. 검색에 의해 반환되는 값은 그 도메인명과 연관되는 제 2 테이블(610)에 대한 정수 레퍼런스("Ref1"로서 나타냄)이다. 이것은 다수의 동일한 도메인명의 카피를 저장함으로써 메모리 영역의 낭비를 피한다.
제 2 검색 테이블(610)은 기본 데이터형 "인트"(정수)의 키 및 값을 이용한다. 검색을 수행하는데 이용되는 키는 기계 이름 및 도메인명을 나타내는 정수("MN1/DN1"로서 나타냄)이다(예시적인 구현은 하기를 참조). 검색에 의해 반환되는 값은 해당 자산 모델의 정수 ID("ID1"로서 나타냄)이다.
일 실시예에서, 제 2 검색 테이블(610)에 대한 키는 기계 이름의 정수 해시 및 도메인명(예를 들면, 도메인명 테이블에 저장된 바와 같음)의 정수 레퍼런스에 기초한다. 일 실시예에서, 콤팩트한 저장을 위해 UTF-8(8-비트 UCS/Unicode Transformation Format) 바이트 어레이로서 저장된다. 자바(Java)에서, 문자는 문자마다 2 바이트의 메모리를 요하는 UTF-16으로서 암호화된다. UTF-8 암호화는 기계 이름이 ASCII 문자만을 포함하는 경우 문자마다 1 바이트만을 요하며, 이는 대부분의 경우 그러해야한다(DoD 인터넷 호스트 테이블 사양(RFC 952)은 호스트명이 ASCII 문자만을 포함해야 함을 나타냄).
개방 어드레스 해시맵의 전통적인 구현에서는, 세 개의 어레이, 즉 키를 저장하는 어레이, 값을 저장하는 어레이, 및 키-값 쌍이 유효한지의 여부를 지시하는 어레이가 이용된다. 여기에서, 제 2 검색 테이블(610)에 대하여, 키(기계 이름 및 도메인명을 나타내는 정수) 및 값(ID)은 단일 정수 어레이로 함께 저장된다. 키 및 그와 연관된 값은 더 양호한 캐시 지역성을 위해 어레이 내에 서로 근접하여(예를 들면, 서로의 옆에) 위치된다. 즉, 개방 어드레스 해시맵은 키 어레이 및 값 어레이의 값들을 인터리브함으로써, 하나의 어레이를 이용하여 구현된다.
일 실시예에서, 제 2 검색 테이블(610)은 각각의 테이블 엔트리에 대해 하나의 정수 어레이(예를 들면, 호스트명마다 하나의 어레이)를 이용함으로써 구현된다. 이 어레이는 기계 이름 UTF-8 바이트 어레이, 기계 이름의 해시 코드, 도메인명 레퍼런스, 및 연관된 ID를 포함한다. 객체가 이용되지 않으므로, 그와 연관된 소비가 회피되고, 메모리 이용이 더 저감된다. 또한, 캐시 지역성은 향상되고, 이는 성능을 향상시킨다.
개방 어드레스 해시맵에서, 해시를 연산하고, 그 때의 엔트리를 불러오고, 키를 검사하여 히트(hit)가 있는지의 여부를 결정한다. 여기에서, 도메인명은 제 1 테이블(600)과 함께 이용되어 도메인명 레퍼런스를 획득한다. 일 실시예에서, 키 검사를 최적화하기 위해서, 획득된 레퍼런스(정수)는 엔트리 내에 저장된 레퍼런스(또한 정수)와 비교된다. 이어서, 기계 이름의 해시(이 검색을 위해 해시를 계산하는 부분으로서 계산된 정수)는 엔트리 내에 저장된 해시(또한 정수)와 비교 된다. 마지막으로, 기계 이름 스트링은 엔트리 내에 저장된 스트링과 비교된다. 반환된 값은 주어진 호스트명과 연관된 자산 모델의 정수 ID이다.
MAC 어드레스 검색
MAC 어드레스 검색 테이블은 기본 데이터형 "롱(long)"(긴 정수)의 키 및 기본 데이터형 "인트"(정수)의 값을 이용한다. 검색을 수행하는데 이용되는 키는 MAC 어드레스를 나타내는 64 비트 정수이다. 검색에 의해 반환되는 값은 해당 자산 모델의 정수 ID이다. MAC 어드레스는 전역적으로 고유하므로, 하나의 MAC 검색 테이블만을 이용한다.
일 실시예에서, 검색 테이블은 적은 메모리 이용 및/또는 고속도를 나타내도록 맞춤화 및 최적화된다. 맞춤화된 테이블은 해시맵 또는 어레이 중 어느 하나일 수 있다.
도 7은 MAC 어드레스 검색 테이블에 대한 예시적인 데이터 구조를 나타낸다. 도시된 데이터 구조는 개방 어드레스 해시맵(700)이다. 개방 어드레스 해시맵의 전통적인 구현에는, 세 개의 어레이, 즉 키를 저장하는 어레이, 값을 저장하는 어레이, 키-값 쌍이 유효한지의 여부를 지시하는 어레이가 이용된다. 여기에서, 키(MAC 어드레스) 및 값(ID)은 단일 정수 어레이로 함께 저장된다. 키 및 그와 연관된 값은 더 양호한 캐시 지역성을 위해 어레이 내에 서로 근접하여(예를 들면, 서로의 옆에) 위치된다. 즉, 개방 어드레스 해시맵은 키 어레이의 및 값 어레이의 값들을 인터리브함으로써, 하나의 어레이를 이용하여 구현된다.
특정 MAC 어드레스는 유효하지 않을 수 있다. 일 실시예에서, 무효 어드레 스는 검색 데이터 구조에 내에 해당 값(여기에서, ID)이 비어 있음을 지시하는데 이용된다.
자산 범위 검색
검색을 수행하는데 이용되는 키는 IP 어드레스의 범위를 함께 나타내는 IP 어드레스의 쌍이다. 검색에 의해 반환되는 값은 해당 자산 모델의 정수 ID이다. IP 어드레스는 네트워크 구역 내에서만 고유하므로, 각각의 네트워크 구역은 그 자신의 자산 범위 검색 테이블을 가진다. 검색을 수행하기 전에, 질의 내의 IP 어드레스는 그 IP 어드레스를 포함할 IP 어드레스 범위를 결정하기 위해 검사된다.
관리 모듈(330)은 어느 ID가 네트워크 노드에 할당되었는지 및 어느 ID가 할당되지 않은지를 추적한다. 또한, 관리 모듈(330)은, (예를 들면, 새로운 네트워크 노드와 연관되도록)요청되는 경우 ID를 제공한다. ID들은 그들 사이의 갭을 최소화하도록 서로 근접하여 생성된다. 네트워크 노드(및 그들의 연관된 자산 모델)가 시스템으로부터 제거되는 경우, 이용되고 있는 ID들 사이에 갭이 나타나기 시작할 수 있다. 일 실시예에서, 관리 모듈(330)은 ID들 사이의 갭을 하기와 같이 관리한다. 초기 로드 시간에, 갭의 테이블(갭 테이블(340))이 생성된다. 새로운 네트워크 노드가 추가되는 경우(이로써 새로운 자산 모델이 생성되는 경우), ID가 할당된다. 갭이 존재하는 경우, 갭 내의 기존의 ID가 이용된다. 갭이 존재하지 않는 경우, 새로운 ID가 생성 및 이용된다.
갭 테이블(340)은, 상술한 바와 같이 관리 모듈(330)에 의해 ID들 사이의 갭을 관리하는데 이용된다.
카테고리 모듈(310)은 카테고리와 관련된 기능을 제공한다. 자산은 그것의 속성를 나타내기 위해서 카테고리화될 수 있음을 상기한다. 카테고리는 "그룹"으로서 구현된다. 예를 들면, 특정 노드가 Windows 2003 Server 운영 체제를 실행시키고 있는 것을 나타내기 위해서, 노드의 자산은 그룹"/AllCategories/OperatingSystems/Microsoft/Windows/2003Server" 내에 위치된다. 카테고리는 계층적일 수 있다. 예를 들면, "2003Server"는 카테고리 "Windows"의 자식(child)이고, "Windows"는 카테고리 "Microsoft" 자식 등이다. 계층적 카테고리의 다른 예는 지리적인 분류이다(예를 들면, 대륙/국가/주/지역/...). 또한, 자산 그룹은 네트워크 구역 및 네트워크 구역 그룹과 마찬가지로 카테고리화될 수 있다.
도시한 실시예에서, 카테고리 모듈(310)은 검색 모듈(360), 관리 모듈(370), 카테고리 데이터(380), 및 갱신 데이터(390)를 포함한다. 검색 모듈(360)은 특정 네트워크 노드(자산)가 특정 카테고리의 맴버인지(즉, 그 내의 것인지)의 여부를 결정한다. 예를 들면, "이 자산은 이 카테고리 또는 임의의 파생한 카테고리의 맴버인가?"의 질의가 있을 수 있다. 이를 결정하기 위해서, 카테고리 모듈(310)은 카테고리 데이터(380)를 이용한다.
카테고리 데이터(380)는 이행적 폐쇄(transitive closure:TC)를 이용하여, 자산 모델에 부여될 수 있는 카테고리화(속성)의 계층적 및 동적 영역을 모델링한다. TC는 기본적으로 각각의 조상(ancestor)(카테고리 또는 그룹)과 각각의 파생(자산) 사이에 링크가 존재할 수 있는 방향성 비순환 그래프(directed acyclic graph:DAG)이다. 링크의 존재는 파생 자산이 조상 카테고리 또는 그룹의 맴버이거나 또는 임의의 조상의 파생 카테고리 또는 그룹의 맴버임을 지시한다. 링크는 DAG에 이미 존재하는 부모-자식 링크의 위에 만들어진다. TC 링크의 존재는 O(1) 시간 효율을 가능하게 하며, 주어진 자식(자산)이 임의의 주어진 부모(카테고리 또는 그룹)의 파생인지의 여부를 검사한다.
상술한 카테고리 계층, 즉 AllCategories/OperatingSystems/Microsoft/Windows/2003Server를 고려한다. 많은 경우에, 네트워크 노드가 2003Server 운영 체제를 실행 중인지의 여부를 아는 것은 그 노드가 일반적인 Microsoft 운영 체제(예를 들면, 임의의 종류 중의 것)를 실행 중인지의 여부를 아는 것보다 흥미롭지 않다. "Microsoft" 카테고리와 노드 사이에 링크가 존재하지 않는 경우, 트리 워크(tree walk)가 수행되어야 한다. 예를 들면, 워크는 Microsoft 카테고리에서 시작하고 대응을 위해 파생 사이에서 하향으로 서치(search)할 것이다. 택일적으로, 워크는 네트워크 노드에서 시작하고 상향으로 서치할 것이다. 트리 워크는 소요 시간을 예상할 수 없고 모든 조상과 모든 파생 사이의 링크의 완전한 리스트(즉, 이행적 폐쇄)에 대한 O(1) 검색보다 이론적으로 항상 더 고가이다. TC 이용의 불리한 점은 그것이 많은 정보의 저장을 요한다는 것이다. 예를 들면, 조상-파생 링크의 수는 부모-자식 링크의 수보다 기하급수적으로 더 크다.
이행적 폐쇄를 나타내는 데이터 구조는 초당 5,000 이벤트, 이벤트당 4 노드 레퍼런스 및 노드 레퍼런스당 100 카테고리 맴버십 검사의 속도(초당 총 2,000,000 검사)로 실시간 검색에 이용될 것이다. 데이터 구조는 제 2 저장장치에 저장되거나 전통적인 방식(예를 들면, 최저사용 빈도(least recently used:LRU))으로 캐시에 저장되는 경우, 카테고리 검사 성능은 빠르지 않으며 예상할 수도 없을 것이다. 일 실시예에서, TC 데이터 구조는 인덱스되는 방식으로 메모리에 저장되어 카테고리 맴버십 검사가 빠르게 수행될 수 있다.
일 실시예에서, 이행적 폐쇄는 비트맵의 세트로서 메모리 내에 저장되고, 여기서 비트맵은 비트의 어레이이며, 각각의 비트는 불린(Boolean) 값을 저장한다. 이것은 비트맵 인덱싱과 유사하다. 여기에서, 비트맵은 특정 자산 카테고리 또는 그룹에 해당한다. 비트맵 내의 0/1 비트는 특정 자산 카테고리/그룹과 자산 사이에 링크가 있는지의 여부를 나타낸다. 1백만 개의 자산 및 1,000 개의 자산 카테고리/그룹이 있는 경우, 1백만*1,000=10억 비트의 저장소가 잠재적으로 필요하다. 자산 모델이 ID(정수 값임)에 의해 식별되는 것을 상기한다. 일 실시예에서, 이 ID는 이행적 폐쇄 비트맵 내의 인덱스로서 기능한다.
자산은 총 1,000 개의 카테고리 중 대략 30 개의 카테고리로 보통 카테고리화된다. 그러므로, 특정 자산이 특정 카테고리 내에 있을 가능성은 30/1,000=3%이다. 이것은 비트맵 내의 약 3%의 비트가 설정되는 것(즉, 다른 것과 상이한 값을 가지는 것)을 의미한다. 그러므로, 비트맵은 매우 희박할 것이다. 일 실시예에서, 비트맵은 메모리 요구를 줄이기 위해 워드 정렬 하이브리드(Word-Aligned Hybrid) 등의 기술을 이용하여 압축된다.
카테고리 검사를 수행하는 경우, 압축된 비트맵보다 비압축된 비트맵을 이용 하는 것이 빠르다. 일 실시예에서, 더 빈번하게 검사되는 카테고리에 대한 비트맵은 비압축된 형태로 저장되지만, 덜 빈번하게 검사되는 카테고리에 대한 비트맵은 압축된 형태로 저장된다. 이것은 대부분의 검사에 대해 적은 추가적인 메모리 요구의 비용으로 매우 빠른 카테고리 검사를 가능하게 함으로써, 평균 카테고리 검사 성능을 향상시킨다.
관리 모듈(370)은 필요에 따라 카테고리 데이터(380)를 갱신한다. 시간이 지남에 따라, 자산 모델은 변할 수 있고, 이행적 폐쇄 데이터 구조는 갱신되어야 할 것이다. 비트맵이 압축된 경우, 비트맵의 갱신은 그것을 압축 해제하고, 갱신을 적용하고, 다시 압축하는 것을 포함한다. 일 실시예에서는, 관련 비트맵이 압축되었는지의 여부를 떠나서, 갱신이 즉시 적용된다.
다른 실시예에서는, 비트맵이 압축된 경우, 갱신이 즉시 이루어지지 않는다. 대신, 갱신은 일시적으로 저장되고(갱신 데이터(390) 내에) 추후 다른 갱신과 결합하여 동일한 비트맵에 적용된다(예를 들면, 분당 한 번씩과 같이 주기적으로 실행되는 태스크를 통하여). 비트맵을 압축 해제 및 압축하는 것은 시간이 걸리므로, 비트맵을 한번에 압축 해제하고, 다수의 갱신을 수행하고, 이어서 비트맵을 압축하는 것이 더 빠르다. 이 실시예에서, 압축된 비트맵과 관련한 카테고리 검사가 요구되는 경우, 일시적인 업데이트 저장(갱신 데이터(390))이 액세스되어 임의의 갱신이 존재하는 지의 여부를 결정한다. 검색이 (작고, 따라서 빠른 검색을 지원하는)일시적 갱신 저장에 실패하는 경우, 압축된 비트맵에 대해 검색을 수행한다. 비트맵이 비압축된 경우, 즉시 갱신된다.
상술한 바와 같이 갱신 데이터(390)는 관리 모듈(370)에 의해 이용되어, 카테고리 데이터(380)의 갱신을 지연시킨다.
상기 설명은 바람직한 실시예의 동작을 설명하기 위해 포함되었으며 본 발명의 범주를 제한하기 위한 것은 아니다. 본 발명의 범주는 다음의 특허청구범위에 의해서만 제한될 것이다. 상기 논의로부터, 본 발명의 사상 및 범주에 포함될 많은 변형이 가능함은 당업자에게 명확할 것이다.

Claims (18)

  1. 네트워크 노드와 연관된 고유 식별자를 결정하는 방법으로서,
    상기 네트워크 노드와 연관된 인터넷 프로토콜(Internet Protocol:IP) 어드레스를 포함하는 이벤트 데이터 메시지를 수신하는 단계;
    수신된 상기 이벤트 데이터 메시지에 포함되어 있는 상기 네트워크 노드와 연관된 IP 어드레스를 이용하여 IP 어드레스 검색 데이터 구조에 질의하는 단계;
    상기 질의에 응답하여 상기 네트워크 노드와 연관된 고유 식별자를 반환하는 단계; 및
    상기 반환된 고유 식별자를 이용하여 상기 네트워크 노드와 연관된 자산 모델을 획득하는 단계와 상기 반환된 고유 식별자를 이용하여 상기 네트워크 노드가 카테고리의 맴버인지의 여부를 결정하는 단계 중 어느 하나를 수행하는 단계를 포함하고,
    상기 자산 모델은 상기 네트워크 노드의 보안 취약성에 관한 정보를 포함하며,
    상기 IP 어드레스 검색 데이터 구조는 인덱스에 저장되는 하나 이상의 요소를 포함하는 어레이를 포함하고, 상기 요소는 특정 네트워크 노드와 연관된 고유 식별자를 포함하며, 상기 인덱스는 상기 특정 네트워크 노드와 연관된 IP 어드레스에 기초하여 결정되는, 고유 식별자의 결정 방법.
  2. 제 1 항에 있어서,
    상기 네트워크 노드와 연관된 고유 식별자는 기본(primitive) 데이터형 "인트(int)"(정수)의 값인 것을 특징으로 하는 고유 식별자의 결정 방법.
  3. 제 1 항에 있어서,
    상기 IP 어드레스 검색 데이터 구조는 특정 네트워크 노드와 연관된 IP 어드레스 및 상기 특정 네트워크 노드와 연관된 고유 식별자를 포함하는 하나 이상의 쌍을 포함하는 테이블을 포함하는 것을 특징으로 하는 고유 식별자의 결정 방법.
  4. 제 3 항에 있어서,
    상기 특정 네트워크 노드와 연관된 IP 어드레스는 기본 데이터형 "인트"(정수)의 값인 것을 특징으로 하는 고유 식별자의 결정 방법.
  5. 제 3 항에 있어서,
    상기 네트워크 노드와 연관된 상기 IP 어드레스를 이용하여 상기 IP 어드레스 검색 데이터 구조에 질의하는 단계는 상기 네트워크 노드와 연관된 IP 어드레스를 포함하는 하나의 쌍을 결정하는 단계를 포함하는 것을 특징으로 하는 고유 식별자의 결정 방법.
  6. 제 3 항에 있어서,
    상기 테이블은 개방 어드레스 해시맵(open-addressing hash map)인 것을 특징으로 하는 고유 식별자의 결정 방법.
  7. 제 3 항에 있어서,
    상기 테이블은 하나의 어레이(array)만을 이용하여 구현된 개방 어드레스 해시맵인 것을 특징으로 하는 고유 식별자의 결정 방법.
  8. 삭제
  9. 제 1 항에 있어서,
    상기 네트워크 노드와 연관된 IP 어드레스를 이용하여 상기 IP 어드레스 검색 데이터 구조에 질의하는 단계는 상기 네트워크 노드와 연관된 상기 IP 어드레스에 기초하여 인덱스를 결정하는 단계를 포함하는 것을 특징으로 하는 고유 식별자의 결정 방법.
  10. 제 1 항에 있어서,
    상기 IP 어드레스 검색 데이터 구조는 테이블 기반 구현으로부터 어레이 기반 구현으로 자동적으로 변하도록 구성되는 것을 특징으로 하는 고유 식별자의 결정 방법.
  11. 제 1 항에 있어서,
    상기 IP 어드레스 검색 데이터 구조는 어레이 기반 구현으로부터 테이블 기반 구현으로 자동적으로 변하도록 구성되는 것을 특징으로 하는 고유 식별자의 결정 방법.
  12. 제 1 항에 있어서,
    상기 반환된 고유 식별자를 이용하여 상기 네트워크 노드가 상기 카테고리의 맴버인지의 여부를 결정하는 단계는,
    카테고리를 나타내는 조상 노드와 네트워크 노드를 나타내는 파생 노드 사이에, 파생 노드가 조상 노드의 맴버인지를 지시하는 하나 이상의 링크를 포함하는 이행적 폐쇄(transitive closure)를 식별하는 단계;
    상기 반환된 고유 식별자 및 상기 카테고리를 이용하여 상기 이행적 폐쇄에 질의하는 단계; 및
    상기 네트워크 노드가 상기 카테고리의 맴버인지의 여부를 지시하는 불린 값(Boolean value)을 반환하는 단계를 포함하는 것을 특징으로 하는 고유 식별자의 결정 방법.
  13. 제 12 항에 있어서,
    상기 반환된 고유 식별자 및 상기 카테고리를 이용하여 상기 이행적 폐쇄에 질의하는 단계는 상기 반환된 고유 식별자와 연관된 파생 노드와 상기 카테고리와 연관된 조상 노드 사이에 링크가 존재하는 지의 여부를 결정하는 단계를 포함하는 것을 특징으로 하는 고유 식별자의 결정 방법.
  14. 제 1 항에 있어서,
    상기 반환된 고유 식별자를 이용하여 상기 네트워크 노드가 상기 카테고리의 맴버인지의 여부를 결정하는 단계는,
    네트워크 노드가 상기 카테고리의 맴버인지의 여부를 지시하는 값을 갖는 복수의 비트를 포함하는 상기 카테고리와 연관된 비트맵을 식별하는 단계;
    상기 반환된 고유 식별자를 이용하여 상기 비트맵에 질의하는 단계;
    상기 네트워크 노드가 상기 카테고리의 맴버인지의 여부를 지시하는 불린 값을 반환하는 단계;
    상기 비트맵 내의 인덱스로서 상기 반환된 고유 식별자를 이용하여 상기 비트맵 내의 비트를 식별하는 단계; 및
    상기 식별된 비트의 상기 값을 반환하는 단계
    를 포함하는 것을 특징으로 하는 고유 식별자의 결정 방법.
  15. 네트워크 노드와 연관된 고유 식별자를 결정하는 장치로서,
    상기 네트워크 노드와 연관된 IP 어드레스를 포함하는 이벤트 데이터 메시지를 수신하도록 구성된 수신 모듈;
    수신된 상기 이벤트 데이터 메시지에 포함되어 있는 상기 네트워크 노드와 연관된 IP 어드레스를 이용하여, 특정 네트워크 노드와 연관된 IP 어드레스 및 상기 특정 네트워크 노드와 연관된 고유 식별자를 포함하는 하나 이상의 쌍을 포함하는 IP 어드레스 검색 테이블에 질의하도록 구성된 질의 모듈;
    상기 질의에 응답하여 상기 네트워크 노드와 연관된 상기 고유 식별자를 반환하도록 구성된 반환 모듈; 및
    상기 반환된 고유 식별자를 이용하여 상기 네트워크 노드와 연관된 자산 모델을 획득하도록 구성된 자산 모델 모듈과 상기 반환된 고유 식별자를 이용하여 상기 네트워크 노드가 카테고리의 맴버인지의 여부를 결정하도록 구성된 카테고리 모듈 중 어느 하나의 모듈을 포함하고,
    상기 자산 모델은 상기 네트워크 노드의 보안 취약성에 관한 정보를 포함하며,
    상기 IP 어드레스 검색 테이블은 인덱스에 저장되는 하나 이상의 요소를 포함하는 어레이로 자동 변환되며, 상기 요소는 특정 네트워크 노드와 연관된 고유 식별자를 포함하고, 상기 인덱스는 상기 특정 네트워크 노드와 연관된 IP 어드레스에 기초하여 결정되는, 고유 식별자의 결정 장치.
  16. 삭제
  17. 삭제
  18. 삭제
KR1020097004992A 2006-10-25 2007-10-25 컴퓨터 네트워크 보안을 보조하기 위한 자산 모델의 실시간식별 및 자산의 카테고리화 KR101497610B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US86293006P 2006-10-25 2006-10-25
US60/862,930 2006-10-25
US11/923,513 US8108550B2 (en) 2006-10-25 2007-10-24 Real-time identification of an asset model and categorization of an asset to assist in computer network security
US11/923,513 2007-10-24
PCT/US2007/082562 WO2008052135A2 (en) 2006-10-25 2007-10-25 Real-time identification of an asset model and categorization of an asset to assist in computer network security

Publications (2)

Publication Number Publication Date
KR20090061627A KR20090061627A (ko) 2009-06-16
KR101497610B1 true KR101497610B1 (ko) 2015-03-04

Family

ID=39325439

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097004992A KR101497610B1 (ko) 2006-10-25 2007-10-25 컴퓨터 네트워크 보안을 보조하기 위한 자산 모델의 실시간식별 및 자산의 카테고리화

Country Status (11)

Country Link
US (1) US8108550B2 (ko)
EP (1) EP2076836B1 (ko)
JP (1) JP5417179B2 (ko)
KR (1) KR101497610B1 (ko)
AU (1) AU2007308830B2 (ko)
CA (1) CA2660054C (ko)
HK (1) HK1129758A1 (ko)
IL (1) IL197461A0 (ko)
NZ (1) NZ574566A (ko)
RU (1) RU2417417C2 (ko)
WO (1) WO2008052135A2 (ko)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7219239B1 (en) 2002-12-02 2007-05-15 Arcsight, Inc. Method for batching events for transmission by software agent
US7376969B1 (en) 2002-12-02 2008-05-20 Arcsight, Inc. Real time monitoring and analysis of events from multiple network security devices
US7607169B1 (en) 2002-12-02 2009-10-20 Arcsight, Inc. User interface for network security console
US7650638B1 (en) 2002-12-02 2010-01-19 Arcsight, Inc. Network security monitoring system employing bi-directional communication
US7899901B1 (en) 2002-12-02 2011-03-01 Arcsight, Inc. Method and apparatus for exercising and debugging correlations for network security system
US7788722B1 (en) 2002-12-02 2010-08-31 Arcsight, Inc. Modular agent for network security intrusion detection system
US8176527B1 (en) 2002-12-02 2012-05-08 Hewlett-Packard Development Company, L. P. Correlation engine with support for time-based rules
US7260844B1 (en) 2003-09-03 2007-08-21 Arcsight, Inc. Threat detection in a network security system
US9027120B1 (en) 2003-10-10 2015-05-05 Hewlett-Packard Development Company, L.P. Hierarchical architecture in a network security system
US8015604B1 (en) 2003-10-10 2011-09-06 Arcsight Inc Hierarchical architecture in a network security system
US7565696B1 (en) 2003-12-10 2009-07-21 Arcsight, Inc. Synchronizing network security devices within a network security system
US8528077B1 (en) 2004-04-09 2013-09-03 Hewlett-Packard Development Company, L.P. Comparing events from multiple network security devices
US7509677B2 (en) 2004-05-04 2009-03-24 Arcsight, Inc. Pattern discovery in a network security system
US9100422B1 (en) 2004-10-27 2015-08-04 Hewlett-Packard Development Company, L.P. Network zone identification in a network security system
US7644438B1 (en) 2004-10-27 2010-01-05 Arcsight, Inc. Security event aggregation at software agent
US7809131B1 (en) 2004-12-23 2010-10-05 Arcsight, Inc. Adjusting sensor time in a network security system
US7647632B1 (en) 2005-01-04 2010-01-12 Arcsight, Inc. Object reference in a system
US8850565B2 (en) * 2005-01-10 2014-09-30 Hewlett-Packard Development Company, L.P. System and method for coordinating network incident response activities
US7844999B1 (en) 2005-03-01 2010-11-30 Arcsight, Inc. Message parsing in a network security system
US8151322B2 (en) 2006-05-16 2012-04-03 A10 Networks, Inc. Systems and methods for user access authentication based on network access point
US8312507B2 (en) 2006-10-17 2012-11-13 A10 Networks, Inc. System and method to apply network traffic policy to an application session
US7716378B2 (en) 2006-10-17 2010-05-11 A10 Networks, Inc. System and method to associate a private user identity with a public user identity
US9824107B2 (en) 2006-10-25 2017-11-21 Entit Software Llc Tracking changing state data to assist in computer network security
US7647635B2 (en) * 2006-11-02 2010-01-12 A10 Networks, Inc. System and method to resolve an identity interactively
US20100235915A1 (en) * 2009-03-12 2010-09-16 Nasir Memon Using host symptoms, host roles, and/or host reputation for detection of host infection
US8458118B1 (en) * 2010-03-16 2013-06-04 The Boeing Company Dynamic configuration for networked imaging devices
US8738767B2 (en) * 2011-03-31 2014-05-27 Meas, Llc Mainframe management console monitoring
US8738768B2 (en) * 2011-03-31 2014-05-27 Meas, Llc Multiple destinations for mainframe event monitoring
US8661456B2 (en) 2011-06-01 2014-02-25 Hewlett-Packard Development Company, L.P. Extendable event processing through services
US9569471B2 (en) * 2011-08-01 2017-02-14 Hewlett Packard Enterprise Development Lp Asset model import connector
US9544214B2 (en) * 2011-08-02 2017-01-10 Dell Products L.P. System and method for optimized event monitoring in a management environment
US9141805B2 (en) * 2011-09-16 2015-09-22 Rapid7 LLC Methods and systems for improved risk scoring of vulnerabilities
US9064210B1 (en) * 2012-03-31 2015-06-23 Emc Corporation Semantically-aware behavioral security analysis system for security information and event management
CA3073411C (en) * 2013-01-02 2023-04-18 Skycasters, Llc Systems and methods for providing dual network address translation
US9438493B2 (en) * 2013-01-31 2016-09-06 Go Daddy Operating Company, LLC Monitoring network entities via a central monitoring system
US9122853B2 (en) 2013-06-24 2015-09-01 A10 Networks, Inc. Location determination for user authentication
US11165770B1 (en) 2013-12-06 2021-11-02 A10 Networks, Inc. Biometric verification of a human internet user
US9729512B2 (en) * 2014-06-04 2017-08-08 Nicira, Inc. Use of stateless marking to speed up stateful firewall rule processing
US9825913B2 (en) 2014-06-04 2017-11-21 Nicira, Inc. Use of stateless marking to speed up stateful firewall rule processing
RU2601147C2 (ru) * 2014-08-12 2016-10-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ выявления целевых атак
CN107645407B (zh) 2014-12-08 2021-02-12 华为技术有限公司 一种适配QoS的方法和装置
US9699205B2 (en) 2015-08-31 2017-07-04 Splunk Inc. Network security system
US10148678B2 (en) * 2015-10-01 2018-12-04 The Boeing Company Cybersecurity system with differentiated capacity to deal with complex cyber attacks
WO2017212357A1 (en) * 2016-06-10 2017-12-14 Optum, Inc. Systems and apparatuses for architecture assessment and policy enforcement
US20180034780A1 (en) * 2016-07-27 2018-02-01 International Business Machines Corporation Generation of asset data used in creating testing events
CN106354871A (zh) * 2016-09-18 2017-01-25 长城计算机软件与系统有限公司 一种企业名称的相似性检索方法
US11061944B2 (en) * 2017-01-30 2021-07-13 Micro Focus Llc Inferring topological linkages between components
US10931694B2 (en) * 2017-02-24 2021-02-23 LogRhythm Inc. Processing pipeline for monitoring information systems
CN111177595B (zh) * 2019-12-20 2024-04-05 杭州九略智能科技有限公司 一种针对http协议模板化提取资产信息的方法
TWI742704B (zh) * 2020-06-01 2021-10-11 台眾電腦股份有限公司 資訊裝置之網路連線管理系統
CN111988229B (zh) * 2020-08-19 2022-06-24 武汉中元华电软件有限公司 用于ip与mac地址映射表的压缩存储及快速查找系统及方法
US11875172B2 (en) 2020-09-28 2024-01-16 VMware LLC Bare metal computer for booting copies of VM images on multiple computing devices using a smart NIC
CN112738102B (zh) * 2020-12-29 2023-01-10 北京天融信网络安全技术有限公司 资产识别方法、装置、设备和存储介质
CN113158001B (zh) * 2021-03-25 2024-05-14 深圳市联软科技股份有限公司 一种网络空间ip资产归属及相关性判别方法及系统
CN113515527B (zh) * 2021-09-13 2021-12-07 成都数默科技有限公司 一种聚合型ip索引的建立和应用方法
KR102361766B1 (ko) * 2021-10-08 2022-02-14 주식회사 이글루시큐리티 자산 서버 정보를 수집함으로써 siem의 경보 규칙을 최적화하는 방법 및 이를 지원하는 장치
CN113949582B (zh) * 2021-10-25 2023-05-30 绿盟科技集团股份有限公司 一种网络资产的识别方法、装置、电子设备及存储介质
US11995024B2 (en) 2021-12-22 2024-05-28 VMware LLC State sharing between smart NICs
US11899594B2 (en) 2022-06-21 2024-02-13 VMware LLC Maintenance of data message classification cache on smart NIC
US11928062B2 (en) 2022-06-21 2024-03-12 VMware LLC Accelerating data message classification with smart NICs
US20240039730A1 (en) 2022-07-27 2024-02-01 Rapid7, Inc. Hashing techniques for associating assets related to events with addressable computer network assets
US11924046B1 (en) 2022-08-23 2024-03-05 Cisco Technology, Inc. Network hierarchy constructs enabling instant global wide area network connectivity
WO2024044212A1 (en) * 2022-08-23 2024-02-29 Cisco Technology, Inc. Network hierarchy constructs enabling instant global wide area network connectivity

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09237240A (ja) * 1996-02-29 1997-09-09 Hitachi Ltd システム管理/ネットワーク対応表示方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108699A (en) * 1997-06-27 2000-08-22 Sun Microsystems, Inc. System and method for modifying membership in a clustered distributed computer system and updating system configuration
RU2139257C1 (ru) 1997-10-03 1999-10-10 Колесников Владимир Петрович Установка для биохимической очистки высококонцентрированных сточных вод
JP3136140B2 (ja) * 1999-06-03 2001-02-19 松下電送システム株式会社 インターネット接続型sohoゲートウェイ装置
JP4700884B2 (ja) * 2000-04-28 2011-06-15 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータのセキュリティ情報を管理するための方法およびシステム
WO2002029584A1 (en) * 2000-10-04 2002-04-11 Enic Corporation Providing services and information based on a request that includes a unique identifier
JP2002342276A (ja) * 2001-05-17 2002-11-29 Ntt Data Corp ネットワーク侵入検知システムおよびその方法
US20040044791A1 (en) * 2001-05-22 2004-03-04 Pouzzner Daniel G. Internationalized domain name system with iterative conversion
JP2003196175A (ja) * 2002-09-20 2003-07-11 Hitachi Ltd ネットワーク管理ツール
US7716737B2 (en) * 2002-11-04 2010-05-11 Riverbed Technology, Inc. Connection based detection of scanning attacks
US7376969B1 (en) * 2002-12-02 2008-05-20 Arcsight, Inc. Real time monitoring and analysis of events from multiple network security devices
US7325059B2 (en) * 2003-05-15 2008-01-29 Cisco Technology, Inc. Bounded index extensible hash-based IPv6 address lookup method
JP2005012739A (ja) * 2003-06-21 2005-01-13 Katsuyasu Ono Arpをリモートからかけることによる、インターネット下での個人特定方式
US7260844B1 (en) * 2003-09-03 2007-08-21 Arcsight, Inc. Threat detection in a network security system
US20060176822A1 (en) * 2005-02-09 2006-08-10 International Business Machines Corporation Method, system, service, and computer program product for identifying incorrect domain name to internet protocol (IP) address mappings
JP4330574B2 (ja) * 2005-10-04 2009-09-16 株式会社大和証券グループ本社 情報送信装置、情報送信方法、及びプログラム
US20070203909A1 (en) * 2006-02-28 2007-08-30 Tekelec Methods, systems, and computer program products for indexing, validating, recovering, and consolidating a database indexed by range-bound numeric data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09237240A (ja) * 1996-02-29 1997-09-09 Hitachi Ltd システム管理/ネットワーク対応表示方法

Also Published As

Publication number Publication date
US20080104276A1 (en) 2008-05-01
RU2417417C2 (ru) 2011-04-27
AU2007308830B2 (en) 2012-06-21
CA2660054C (en) 2013-03-19
EP2076836B1 (en) 2012-12-05
EP2076836A2 (en) 2009-07-08
IL197461A0 (en) 2009-12-24
JP2010508590A (ja) 2010-03-18
EP2076836A4 (en) 2010-07-07
CA2660054A1 (en) 2008-05-02
US8108550B2 (en) 2012-01-31
NZ574566A (en) 2011-12-22
JP5417179B2 (ja) 2014-02-12
KR20090061627A (ko) 2009-06-16
RU2009107080A (ru) 2010-09-10
AU2007308830A1 (en) 2008-05-02
HK1129758A1 (en) 2009-12-04
WO2008052135A2 (en) 2008-05-02
WO2008052135A3 (en) 2008-09-04

Similar Documents

Publication Publication Date Title
KR101497610B1 (ko) 컴퓨터 네트워크 보안을 보조하기 위한 자산 모델의 실시간식별 및 자산의 카테고리화
US20200279055A1 (en) System, Apparatus And Method for Anonymizing Data Prior To Threat Detection Analysis
US9392024B2 (en) Policy-based selection of remediation
US7761920B2 (en) Data structure for policy-based remediation selection
US20070006310A1 (en) Systems and methods for identifying malware distribution sites
US20100235915A1 (en) Using host symptoms, host roles, and/or host reputation for detection of host infection
US8065732B1 (en) Object reference in a system
US20200120118A1 (en) Endpoint inter-process activity extraction and pattern matching
US20060206715A1 (en) Media analysis method and system for locating and reporting the presence of steganographic activity
US20050027981A1 (en) Data network and method for checking nodes of a data network
US11789743B2 (en) Host operating system identification using transport layer probe metadata and machine learning
AT&T
CN114500122A (zh) 一种基于多源数据融合的特定网络行为分析方法和系统
TWI417737B (zh) 資產模型之即時識別與資產分類以協助電腦網路安全
CN112187699B (zh) 一种文件失窃的感知方法及系统
US20240070287A1 (en) Faster web application scans of web page data based on deduplication
Mitropoulos et al. Incident response requirements for distributed security information management systems
Debar et al. An infrastructure for distributed event acquisition
CN116055083A (zh) 一种提升网络安全性方法及相关设备
Brandman et al. Where Have You Been? A Comparison of Three Web Tracking Technologies
Jangra et al. INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY
CARNEGIE-MELLON UNIV PITTSBURGH PA SOFTWARE ENGINEERING INST FloCon 2008 Proceedings

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
N231 Notification of change of applicant
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee