KR101519936B1 - 컴퓨터 네트워크 보안을 보조하기 위한 변하는 상태 데이터추적 - Google Patents

컴퓨터 네트워크 보안을 보조하기 위한 변하는 상태 데이터추적 Download PDF

Info

Publication number
KR101519936B1
KR101519936B1 KR1020097004991A KR20097004991A KR101519936B1 KR 101519936 B1 KR101519936 B1 KR 101519936B1 KR 1020097004991 A KR1020097004991 A KR 1020097004991A KR 20097004991 A KR20097004991 A KR 20097004991A KR 101519936 B1 KR101519936 B1 KR 101519936B1
Authority
KR
South Korea
Prior art keywords
session
timestamp
information
session table
key
Prior art date
Application number
KR1020097004991A
Other languages
English (en)
Other versions
KR20090067138A (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 KR20090067138A publication Critical patent/KR20090067138A/ko
Application granted granted Critical
Publication of KR101519936B1 publication Critical patent/KR101519936B1/ko

Links

Images

Classifications

    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2264Multidimensional index structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04KSECRET COMMUNICATION; JAMMING OF COMMUNICATION
    • H04K1/00Secret communication
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24557Efficient disk access during query execution
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/35Network arrangements, protocols or services for addressing or naming involving non-standard use of addresses for implementing network functionalities, e.g. coding subscription information within the address or functional addressing, i.e. assigning an address to a function
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms

Abstract

세션 테이블은 하나 이상의 기록을 포함하며, 각각의 기록은 세션을 나타낸다. 세션 기록 정보는 키 필드, 값 필드, 및 타임스탬프 필드 등의 다양한 필드에 저장된다. 세션 정보는 질의/검색 동작을 지원하기 위해 키 및 값으로서 나타난다. 세션 테이블은 필터와 연관되고, 이는 그 테이블 내의 기록에 이용될 수 있는 키의 세트를 나타낸다. 세션 테이블은 보안 정보/이벤트에 포함된 데이터를 이용하여 위치된다. 세션 정보와 관련된 이벤트를 식별하고, 세션 정보를 추출하고, 세션 정보를 이용하여 세션 테이블을 수정하도록, 규칙이 생성된다. 세션 테이블은 분할되어 각각의 세션 테이블 파티션 내의 기록의 수가 줄어든다. 세션 테이블은 주기적으로 처리되어 활성 세션은 현재의 파티션으로 이동된다.
Figure R1020097004991
세션 테이블, 키, 값, 타임스탬프, 파티션

Description

컴퓨터 네트워크 보안을 보조하기 위한 변하는 상태 데이터 추적{TRACKING CHANGING STATE DATA TO ASSIST COMPUTER NETWORK SECURITY}
본 발명은 포괄적으로는 보안 정보/이벤트 관리(SIM 또는 SIEM)에 관한 것고, 구체적으로는 상태 데이터(예를 들면, 네트워크, 디바이스, 또는 다른 현실 세계의 현상에 관한 것)를 추적하여서 상태 데이터를 보안 정보/이벤트와 결합하여 이용하는 것에 관한 것이다.
보안 정보/이벤트 관리(SIM 또는 SIEM)의 분야는 일반적으로 1) 네트워크 및 네트워킹된 디바이스로부터 네트워크 활동 및/또는 네트워킹된 디바이스의 동작을 나타내는 데이터를 수집하는 분야 및 2) 이 데이터를 분석하여 보안을 강화하는 분야에 관련된다. 예를 들면, 데이터를 분석하여 네트워크 또는 네트워킹된 디바이스에 대한 공격을 식별하고 어느 사용자 또는 기계에 책임이 있는지를 결정할 수 있다. 공격이 진행 중인 경우에, 대항책을 수행하여 공격을 방해하거나 공격에 의해 야기된 손상을 완화할 수 있다. 수집되는 데이터는 네트워킹된 디바이스에 의해 발생되는 메시지(이벤트, 경고, 또는 경보 등) 또는 로그 파일 내의 엔트리(entry)에서 일반적으로 비롯된다. 예시적인 네트워킹된 디바이스는 파이어월(firewall), 침입 탐지 시스템, 및 서버를 포함한다. 메시지 또는 엔트리는 네 트워크 활동이 일어나는 시간을 나타내는 타임스탬프(timestamp)를 일반적으로 포함한다.
수집된 데이터만을 이용하여 공격을 식별 및 조사하는 것이 가능하지만, 네트워크의 상태 등의 추가적인 정보를 가지는 것은 때때로 유용하다. 네트워크의 상태는, 예를 들면 네트워크 내의 다양한 디바이스 및 디바이스가 접속되는 방법(예를 들면, 네트워크 토폴러지(network's topology))을 포함한다. 각각의 디바이스도 상태를 가진다. 이 상태는, 예를 들면 하드웨어 속성(예를 들면, 디바이스의 매체 접근 제어(Media Access Control:MAC) 어드레스), 논리적 속성(예를 들면, 디바이스에 할당된 인터넷 프로토콜(Internet Protocol:IP) 어드레스), 소유 속성(예를 들면, 디바이스를 소유하고 있는 사람 또는 엔티티(entity)), 지리적 속성(예를 들면, 디바이스의 물리적 위치), 소프트웨어 속성(예를 들면, 디바이스에 설치된 운영 체제), 로그인 속성(예를 들면, 디바이스에 현재 로그인된 사용자), 프로세스 속성(예를 들면, 디바이스에 현재 수행되고 있는 프로세스), 및 네트워크 속성(예를 들면, 디바이스의 능동 네트워크 접속) 등의 다양한 속성을 포함한다.
공격의 일부로서 식별된 메시지를 고려한다. 메시지 내의 정보는 공격의 소스 디바이스를 지시할 수 있다(예를 들면, 디바이스의 IP 어드레스에 의함). 이어서, 이 IP 어드레스는 동일한 공격의 일부인 다른 메시지를 식별하는데 이용될 수 있다. 그러나 또한, 상기 IP 어드레스가 어느 디바이스에 할당되는지를 아는데도 유용할 것이다(예를 들면, 디바이스의 MAC 어드레스 또는 호스트명에 의해 지시된 바에 따라). 디바이스/IP 어드레스 쌍을 아는 경우, 그 디바이스로 임의의 언급된 IP 어드레스를 역추적할 수 있다. 또한, 그 디바이스에 로그인된 사용자를 아는 경우, 이어서 그 사용자로 디바이스를 역추적할 수 있다. 사용자의 역할을 아는 경우, 그 역할로 사용자를 역추적할 수 있고, 그 역할은 수신된 메시지 및 그 메시지가 설명하는 동작과 결합하여 고려될 수 있다.
불행히도, 임의의 주어진 시간에서 네트워크의 상태를 결정하는 것은 쉽지 않다. 이는 상태가 일정하지 않기 때문이다(시간이 지남에 따라 변함). 특히, 각각의 디바이스의 상태는 시간이 지남에 따라 변한다. 예를 들면, 상이한 DHCP(Dynamic Host Configuration Protocol:동적 호스트 설정 통신 규약) 리스(lease), 사용되고 있는 상이한 VPNs(Virtual Private Networks:가상 사설 통신망), 또는 NAT(Network Address Translation:네트워크 주소 변환)로 인해서, 디바이스에 할당된 IP 어드레스는 시간이 지남에 따라 변할 수 있다. 다른 예로서, 다양한 사람이 로그인 및 로그아웃함으로써, 디바이스에 로그인된 사용자는 시간이 지남에 따라 변할 수 있다. 그러므로, 네트워크의 현재 상태뿐만 아니라 네트워크의 과거 상태(들)를 아는 것은 유용하다. 특정 디바이스의 속성은 변할 수 있으므로, 동일한 기계 또는 사용자와 관련된 이벤트를 상관(correlation)시키기 위해서, 어느 주어진 시점에서 올바른 속성을 아는 것은 유용하다.
제 1 기계 상의 사용자가 제 2 기계에 로그인을 시도하는 것을 고려한다. 사용자가 5분 내에 10회 로그인을 시도하고 매번 실패하는 경우, 이 사건은 공격을 의미할 수 있으므로 검토를 위해 플래그(flag)되어야 한다. 각각의 실패된 로그인은 제 1 기계의 IP 어드레스를 포함하는 메시지를 발생시킨다고 가정한다. 제 1 기계가 10회의 모든 실패된 로그인에 대해 동일한 IP 어드레스를 가지는 경우, 공격이 식별될 것이다. 한편, 제 1 기계가 공격 중에 IP 어드레스를 변경하는 경우, 일부 메시지는 제 1 IP 어드레스를 지시하고 다른 메시지는 제 2 IP 어드레스를 지시할 것이다. 어느 쪽 IP 어드레스도 10회의 실패된 모든 로그인에 사용되지 않았으므로, 검토를 위해 플래그되지 않을 것이다. 이를 위음성(false negative)이라 한다.
이 상황에서, 가능한 공격 시기의 네트워크의 상태를 아는 것은 유용할 것이다. 예를 들면, 각각의 실패된 로그인 메시지의 시간에, IP 어드레스가 어느 디바이스에 할당되었는지를 아는 것(예를 들면, MAC 어드레스 또는 호스트명에 기초함)은 유용할 것이다. 이것을 안다면, 실패된 로그인이 상이한 IP 어드레스로부터 비롯되었을 지라도, 동일한 장치로 IP 어드레스를 역추적할 수 있고 공격을 식별할 수 있다. MAC 어드레스 및 호스트명이 IP 어드레스보다 적은 빈도로 변하는 사실에 의해, 이것이 가능해진다. 즉, IP 어드레스는 MAC 어드레스 및 호스트명보다 더 일시적이다.
IP 어드레스의 변화는 오경보를 야기시킬 수도 있음을 유의한다. 상술한 예의 설명을 따라, 5분의 시간 간격 내에서 각각 일어나고 동일한 기계와 관련되어 있는 하나의 소스 디바이스로부터의 4개의 실패된 로그인 및 다른 소스 디바이스로부터의 6개의 실패된 로그인을 고려한다. 소스 디바이스가 상이하고 동시에 동일한 IP 어드레스를 가지지 않지만, 각각의 디바이스는 디바이스가 실패된 로그인을 야기한 시간에 동일한 IP 어드레스를 가졌다. 이 동일한 IP 어드레스가 10개의 실 패된 모든 로그인 메시지에 존재하였으므로, 이 사건은 검토를 위해 플래그될 것이다. 이를 위양성(false positive)이라 한다.
변하는 상태 데이터를 효과적인 방식으로 유지 및 질의하여 그 데이터를 보안 정보/이벤트와 결합하여 실시간으로 이용할 수 있는 방법이 필요하다.
네트워크의 상태는 시간이 지남에 따라 변한다. 특히, 각각의 디바이스의 상태는 시간이 지남에 따라 변한다. 상태 속성(IP(Internet Protocol:인터넷 프로토콜) 어드레스 등)이 시간이 지남에 따라 변하는 경우, 그 속성의 특정 값은 특정 기간에 유효하며, 이를 "세션(session)"이라 한다. 일반적으로, 세션은 두 개의 엔티티(예를 들면, 디바이스와 IP 어드레스 또는 개인과 자산) 사이의 특정 기간에 유효한 연관으로서 고려될 수 있다.
세션 정보는 그 자체로 또는 다른 정보(예를 들면, 네트워크 및/또는 네트워킹된 디바이스로부터 수집된 다른 데이터 저장 또는 보안 정보/이벤트)와 결합하여 이용될 수 있다. 세션 정보는 상관(correlation), 감사(auditing), 동작과 사용자와의 연관, 사용자와 업무 역할과의 연관, 디바이스의 식별, 사용자 및/또는 역할에 기초한 회사 정책의 강화, 이벤트의 필터링, 보고 등에 이용될 수 있다. 예를 들면, 세션 정보를 규칙에 따라 다른 정보와 상관시켜, 공격 또는 이상 행동을 식별 및/또는 조사할 수 있다. 보안 정보/이벤트는 네트워크 활동이 일어나는 시간을 나타내는 타임스탬프를 포함한다. 이들 이벤트가 세션 정보와 상관되는 경우, 세션 정보는 타임스탬프의 시간에 유효했던 세션을 나타낸다.
각각의 형태의 세션에 대하여, 세션 테이블이 유지된다. 세션 테이블은 하나 이상의 기록을 포함하며, 각각의 기록은 세션을 나타낸다. 세션 기록 정보는 다양한 필드에 저장된다. 더불어, 이들 필드는 세션 정보에 대한 스키마(schema)를 포함한다. 각각의 스키마는 세 가지 형태의 필드, 즉 키 필드, 값 필드, 및 타임스탬프 필드를 포함한다. 세션 정보는 질의/검색 작업을 지원하기 위해, 키 및 값으로 나타난다.
세션 테이블은 필터와 연관될 수 있다. 필터는 세션 테이블에 의해 관리되는 데이터를 한정하는 조건의 세트(예를 들면, 그 테이블 내의 기록에 이용될 수 있는 키의 세트)를 나타낸다. 필터의 이용은 세션 정보의 불필요한 검색을 제거하므로, 이용 가능한 세션 정보에 대해 이벤트를 평가하는데 필요한 시간을 줄인다.
세션 테이블을 위치시키는 하나의 방법은 보안 정보/이벤트에 포함된 데이터를 이용하는 것이다. 세션 정보에 관련된 이벤트를 식별하고, 세션 정보를 추출하고, 세션 정보를 이용하여 세션 테이블을 수정(예를 들면, 세션 기록의 생성, 수정, 또는 종료에 의함)하도록 규칙이 생성된다. 이벤트에 의존하여 세션을 개시하고 종료하는 것은 부정확한 세션 테이블을 초래할 수 있다. 이들 문제는 수신한 이벤트에 기초해 세션 경계를 내재적으로 결정하는 규칙을 이용함으로써 처리될 수 있다.
세션이 개시 또는 종료하는 시간과 이 정보가 세션 테이블 내에 입력되는 시간 사이에는 지연이 있을 수 있다. 때때로, 지연은 작다. 이 상황에서, 보안 이벤트를 그 세션 데이터와 상관시키기 전에 대기하는 것은 유용할 수 있다. 때때로, 지연은 크다. 이 상황에서, 상관이 그 시간 간격의 세션 정보와 다양한 보안 이벤트 사이에서 이미 시도되었다는 점에서, 세션 정보는 "늦게" 도착할 수 있다. 일 실시예에서는, 이 상황에서, 늦게 수신된 세션 정보를 이용하기 위해 상관이 다시 수행된다.
세션 테이블이 분할되어, 각각의 세션 테이블 파티션 내의 기록의 수는 줄어든다. 이는 각각의 질의를 수행하는데 요하는 자원의 양을 줄인다. 세션 테이블은 주기적으로 처리되어, 활성 세션은 현재의 파티션으로 이동된다. 이러한 특징을 "세션 롤업(session rollup)"이라 하며, 이는 세션이 활성인 경우 그 기록이 현재의 파티션 내에 위치될 것을 보장한다. 즉, 라이브 세션 정보가 이전 파티션으로부터 현재의 파티션으로 "롤업"되어, 그 정보는 현재의 파티션에서 쉽게 이용될 수 있다. 세션 롤업은 필요한 현재의 파티션에만 질의하므로 활성 세션을 액세스하는데 요하는 자원의 양을 줄인다.
도 1은 상이한 형태의 세션 정보에 대한 스키마의 예시도.
도 1은 단지 설명을 위한 실시예를 나타낸다. 당업자라면, 여기에서 설명하고 있는 원리에서 일탈하지 않고, 여기에 나타낸 구조 및 방법의 대안의 실시예가 채용될 수 있음을 하기의 설명으로부터 쉽게 이해할 것이다.
본 시스템을 다양하게 도시한 예들을 참조하여 설명하지만, 이 예들이 본 발명의 광범위한 사상 및 범주를 제한하는 것으로 이해해서는 안 된다. 예를 들면, 여기에 제공된 예들은 보안 정보/이벤트, 세션 테이블, 및 기록을 나타내지만, 이는 본 발명의 단지 일 실시예이다. 본 발명의 일반적인 개념 및 범위는 훨씬 더 광범위하고 임의의 컴퓨터 기반 또는 네트워크 기반 보안 시스템으로 확장될 수 있다. 또한, 본 발명을 한층 더 설명하기 위해, 시스템의 구성요소에 전달되고 그로부터 전달될 수 있는 메시지 및 시스템의 구성요소에 의해 이용될 수 있는 데이터 스키마를 예로 들었지만, 이는 모든 예를 포함하는 것은 아니며, 그렇게 간주되어서도 안 된다.
다음의 상세한 설명의 일 부분은 컴퓨터 메모리 내의 데이터에 대한 동작의 알고리즘 및 기호 표현에 의해 제공된다. 이들 알고리즘 설명 및 표현은 컴퓨터 과학 기술분야의 당업자에 의해 이용되어 그들의 작업 내용을 다른 당업자에게 가장 효과적으로 전달할 수 있는 수단이다. 그리고 일반적으로, 여기에서의 알고리즘은 원하는 결과에 이르는 일관성 있는 순서의 단계들로 이해된다. 이 단계들은 물리량의 물리적 조작을 요하는 것이다. 일반적으로, 반드시 그러한 것은 아니지만, 이러한 물리량은 저장, 전송, 결합, 비교 및 달리 조작될 수 있는 전기 또는 자기 신호의 형태를 가진다. 주로 공용을 위해, 이들 신호를 비트, 값, 성분, 기호, 문자, 용어, 숫자 등으로 하는 것이 때에 따라 편리하다고 증명되었다. 그러나, 이들 및 이와 유사한 모든 용어가 적합한 물리량과 연관되어야 하고 이들 물리량에 부여된 라벨은 단지 편의상임을 유념해야 한다. 구체적으로 달리 언급하지 않더라도, 본 발명의 설명의 전반에 걸쳐, "처리", "컴퓨팅", "연산", "결정", "표시" 등의 용어 사용은 컴퓨터 시스템의 레지스터 및 메모리 내의 물리(전자)량으로 서 표현된 데이터를 컴퓨터 시스템 메모리 또는 레지스터 또는 다른 정보 저장, 전송 또는 디스플레이 디바이스 등의 물리량으로서 유사하게 표현된 다른 데이터로 조작 및 변형시키는 컴퓨터 시스템, 또는 유사한 전자 컴퓨팅 디바이스의 작동 및 프로세스를 일컫는 것임이 이해될 것이다.
상술한 바와 같이, 컴퓨터 소프트웨어, 즉 하나 이상의 컴퓨터 프로세서/시스템에 의해 수행되는 경우, 프로세서/시스템이 지정된 작동을 수행하도록 명령하는 컴퓨터 판독 가능한 명령 내에서, 본 발명의 일 실시예를 예로 들어 설명한다. 이러한 컴퓨터 소프트웨어는 하드 드라이브, CD-ROM, DVD-ROM, 판독 전용 메모리, 판독 기록 메모리 등의 하나 이상의 컴퓨터 판독 가능한 매체 내에 상주될 수 있다. 이러한 소프트웨어는 하나 이상의 이들 매체에 분산될 수 있거나, 하나 이상의 컴퓨터 네트워크(예를 들면, 인터넷)를 통해 다운로드로 이용될 수 있다. 포맷에 상관없이, 여기에서 논의되는 컴퓨터 프로그래밍, 렌더링 및 처리 기술은 본 발명의 양태들을 구현하는데 이용될 수 있는 프로그래밍, 렌더링 및 처리 기술 형태의 간단한 예들이다. 본 발명은 이 예들로 한정되는 것이 아니며, 여기에서의 설명에 후속하는 특허청구범위를 참조하여 가장 쉽게 이해될 것이다.
세션에 대한 소개
상술한 바와 같이, 네트워크의 상태는 일정하지 않다(시간이 지남에 따라 변함). 특히, 각각의 디바이스의 상태는 시간이 지남에 따라 변한다. 상태 속성(IP(Internet Protocol:인터넷 프로토콜) 어드레스 등)이 시간이 지남에 따라 변하는 경우, 그 속성의 특정 값은 특정 기간 동안 유효하며, 이를 "세션(session)" 이라 한다. 세션과 연관된 정보("세션 정보")는, 예를 들면 세션의 개시를 지시하는 제 1 타임스탬프(timestamp), 세션의 종료(세션이 종료된 경우)를 지시하는 제 2 타임스탬프, 및 세션 기록(후술함)의 생성을 지시하는 제 3 타임스탬프, 및 그 세션 동안에 유효한 하나 이상의 데이터 조각을 포함한다.
DHCP(Dynamic Host Configuration Protocol:동적 호스트 설정 통신 규약) 리스(lease)를 통해 IP 어드레스를 수신한 디바이스를 고려한다. 하나 이상의 데이터 조각은 a) IP 어드레스(및, IP 어드레스가 국제적으로 고유하지 않은 경우에는, IP 어드레스를 포함하는 네트워크 구역(network zone)) 및 b) IP 어드레스가 할당된 디바이스의 지시(예를 들면, 디바이스의 호스트명 및/또는 MAC(Media Access Control:매체 접근 제어) 어드레스)를 포함할 수 있다(네트워크 구역은 네트워크의 부분이며, 레이블은 네트워크 구역을 식별하고 전용 주소 공간(private address space)을 서로 구별하는데 이용됨). 마찬가지로, VPN(Virtual Private Network:가상 사설 통신망) 로그인을 통해 IP 어드레스를 수신한 디바이스를 고려한다. 상기 (a) 및 (b) 이외에도, 하나 이상의 데이터 조각은 VPN 로그인을 시작하는데 이용된 사용자명을 포함할 수 있다. 다른 예로서, NAT(Network Address Translation:네트워크 주소 변환)을 통해 IP 어드레스에 의해 특징된 디바이스를 고려한다. 여기에서, 하나 이상의 데이터 조각은 a) IP 어드레스(및, IP 어드레스가 국제적으로 고유하지 않은 경우, IP 어드레스를 포함하는 네트워크 구역), b) 변환(translation)을 통해 IP 어드레스가 할당된 디바이스의 지시(예를 들면, 디바이스의 호스트명 및/또는 실제 IP 어드레스 및 소스 포트)를 포함할 수 있다.
또한, 다른 디바이스 상태 속성은 세션을 이용하여 모델링될 수 있다. 다른 사용자가 제 2 디바이스("소스 디바이스")로부터 제 1 디바이스("목적지 디바이스")로 로그인하도록 허용하는 제 1 디바이스를 고려한다. 하나 이상의 데이터 조각은 a) 목적지 디바이스의 IP 어드레스(및, 네트워크 구역도 가능함), b) 소스 디바이스의 지시(예를 들면, 소스 디바이스의 호스트명 및/또는 IP 어드레스 및 네트워크 구역), 및 c) 다른 로그인 정보(예를 들면, 소스 기계에서 이용된 사용자명 및/또는 목적지 기계에서 이용된 사용자명)를 포함할 수 있다.
상술한 세션 정보는 네트워킹에 관련되며, 많은 상이한 형태의 정보가 특정 기간 동안 유효하고, 그에 따라 세션을 이용하여 모델링될 수 있다. 예를 들면, 물리적인 세계에 관한 정보는 세션을 이용하여 모델링될 수 있다. 자산(컴퓨터 등)은 개인 또는 엔티티에 의해 소유되거나 그에 할당될 수 있다. 개인은 물리적인 위치에 존재할 수 있다. 개인에게는 전화번호가 할당될 수 있다. 이들 각각의 상태는 일시적이고, 그에 따라 세션을 이용하여 모델링될 수 있다.
일반적으로, 세션은 특정 기간 동안 유효한 두 개의 엔티티(예를 들면, 디바이스와 IP 어드레스 또는 개인과 자산) 사이의 연관으로서 고려될 수 있다. 세션 정보는 그 자체로 또는 다른 정보(예를 들면, 네트워크 및/또는 네트워킹된 디바이스로부터 수집된 다른 데이터 저장소 또는 보안 정보/이벤트)와 결합하여 이용될 수 있다. 세션 정보는 상관, 감사(auditing), 동작과 사용자의 연관, 사용자와 업무 역할(business role)의 연관, 디바이스의 식별, 사용자 및/또는 역할에 기초한 기업 정책의 강화, 이벤트의 필터링, 보고 등에 이용될 수 있다. 예를 들면, 직원 이 사무실에 출입할 때, 그들의 ID 카드를 판독기에 대도록 요구받으면, 후속하는 보고, 즉 직원이 업무에 소비한 평균 시간 및 사무실에 출입하는 직원의 시간 패턴이 발생될 수 있다.
다른 예로서, 세션 정보는 공격(attack) 또는 이상 행동을 식별 및/또는 조사하는 규칙에 따라서 다른 정보와 상관될 수 있다. 보안 정보/이벤트는 네트워크 활동이 일어난 시간을 나타내는 타임스탬프를 포함하고 있음을 기억해야 한다. 이들 이벤트가 세션 정보와 상관되는 경우, 세션 정보는 타임스탬프의 시간에 유효하였던 세션을 나타낸다. 예시적인 상관은 다음을 포함한다.
a) 특정 개인과 연관된 이벤트를 식별한다(디바이스/개인 세션 테이블은 어떤 디바이스가 개인에 의해 소유되거나 그에 할당되는 지를 결정하고, 로그인 세션 테이블은 개인의 디바이스에 의해 어떤 디바이스들에 로그인되었고 그 디바이스들로부터 어느 디바이스들에 로그인되었는 지 등을 판정하고, 그 디바이스들로부터 비롯된 이벤트가 식별된다).
b) 사용자의 위치 이외의 위치로부터 시작된 로그인을 식별한다(로그인 세션 테이블은 어떤 사용자명 및 소스 디바이스가 목표 디바이스에 로그인되었는지를 결정하고, 데이터 저장소는 사용자명에 어떤 실제 사람이 해당하는 지와 소스 디바이스가 어디에 위치되어 있는 지를 결정하고, 위치/개인 세션 테이블은 실제 사람이 어디에 위치되어 있는 지를 결정하고(예를 들면, 최근에 방 또는 빌딩에 접근하기 위해 배지(badge) 또는 ID 카드를 판독기에 댄 것에 기초함), 실제 사람의 위치는 소스 디바이스의 위치와 비교된다.)
c) VPN을 통해 네트워크를 액세스하는 기계으로부터 발생된 공격의 이동평균(moving average)을 결정한다(공격과 관련된 메시지 내에 포함된 IP 어드레스를 VPN 세션 테이블 내의 IP 어드레스와 비교함).
d) VPN을 통해 네트워크를 액세스하는 사용자로부터 발생된 공격의 이동평균을 결정한다(공격과 관련된 메시지 내에 포함된 IP 어드레스를 VPN 세션 테이블 내의 IP 어드레스와 비교하고, 기록 내의 일치하는 사용자명을 결정함).
e) 기계가 공격을 시작한 시간에 기계로 로그인된 사용자를 식별한다(공격과 관련된 메시지는 공격을 시작한 디바이스의 지시 및 공격의 시작을 지시하는 타임스탬프를 포함하고, 로그인 세션 테이블은 그 시간에 그 디바이스에 어떤 사용자명이 로그인되었는 지를 결정함).
일 실시예에서, 규칙은 집합, 그룹화, 및 트리거(trigger)와 같이 다른 구조와 선택적으로 결합되는 일련의 단순한 또는 복잡한 조건을 포함한다. 규칙은 특정 조건 및 패턴에 대해 들어온 이벤트의 평가; 활성 리스트, 세션 리스트, 및 위협 수준 연산과 같은 다른 구조뿐만 아니라 규칙 상관을 이용한 여러 이벤트로부터의 정보의 상관; 이벤트의 중요성에 대한 가치의 추론; 및 이벤트에 대응한 실시간 동작의 시작 등과 같은 다양한 방식으로 이용될 수 있다.
상관 및 규칙은 2002년 12월 2일 출원된 U.S. 출원 제10/308,415호에 더 기재되어 있고, 본원에서는 그 전문이 참조로서 포함된다.
세션 데이터를 저장하기 위한 프레임워크 (framework)
각각의 형태의 세션에 대하여, 세션 테이블이 유지된다. 예를 들면, 하나의 세션 테이블은 디바이스 및 IP 어드레스와 관련된 세션 정보를 유지하면서, 다른 세션 테이블은 사람 및 자산에 관련된 세션 정보를 포함한다. 세션 테이블은 하나 이상의 기록을 포함하며, 각각의 기록은 세션을 나타낸다. 예를 들면, 디바이스/IP 어드레스 세션은 특정 디바이스에 특정 IP 어드레스가 할당된 기간을 나타내게 된다. 이 기록은 디바이스/IP 어드레스 세션 테이블에 저장되게 된다. 일 실시예에서, 세션 테이블은 세션 리스트(Session List)와 유사하며, 이는 ArcSightTM Enterprise Security Manager(ESM) 4.0(미국 캘리포니아의 Cupertino에 소재한 ArcSight, Inc.로부터 입수 가능함)의 특징 중 하나이다.
세션 정보는, 예를 들면 세션의 개시를 지시하는 제 1 타임스탬프, 세션의 종료(세션이 종료되는 경우)를 지시하는 제 2 타임스탬프, 세션 기록의 생성을 지시하는 제 3 타임스탬프, 및 그 세션 동안에 유효한 하나 이상의 데이터 조각을 포함하고 있음을 기억해야 한다. 이 정보는 세션 기록에 저장된다. 제 3 타임스탬프는 세션 기록이 생성된 시간을 지시한다. 네트워크 대기시간은 세션의 개시와 그 세션에 해당하는 기록의 생성 사이에 시간의 갭을 야기할 수 있다는 점에 유의해야 한다.
세션 기록 정보는 다양한 필드에 저장된다. 더불어, 이들 필드는 세션 정보에 대한 스키마를 포함한다. 상이한 형태의 세션 정보는 상이한 스키마를 가질 수 있다. 도 1은 상이한 형태의 세션 정보에 대한 예시적인 스키마를 나타낸다. 도시한 스키마는 DHCP, VPN, NAT, 로그인, 및 자산 소유이다. 도 1에서, 각각의 직 사각형은 필드를 나타낸다.
각각의 스키마는 세 가지 형태의 필드, 즉 키 필드, 값 필드, 및 타임스탬프 필드를 포함한다. 일 실시예에서, 세션 정보는 질의/검색 작업을 지원하기 위해 키 및 값으로 나타난다(질의 작업은 세션 테이블 내의 정보를 액세스하는데 이용되며 상세하게는 후술함). 이 실시예에서, 각각의 세션 테이블은 기록의 하나 이상의 필드를 키("키 필드(들)")로서 이용되도록 특정하게 될 것이다. 기록의 하나 이상의 다른 필드는 값("값 필드(들)")으로서 이용될 것이다. 예를 들면, 디바이스/IP 어드레스 세션 테이블 내에서, IP 어드레스(및, 네트워크 구역도 가능함)가 키로서 이용될 수 있고, 다른 세션 정보(예를 들면, 호스트명 및 MAC 어드레스)가 값으로서 이용될 수 있다.
개시 시간 필드, 종료 시간 필드, 및 생성 시간 필드를 포함하는 타임스탬프 필드 각각은 상술한 바와 같이 타임스탬프를 포함한다(세션이 종료해도, 어떤 경우에는 종료 시간 필드가 비워짐). 개시 시간 필드 값 및 종료 시간 필드 값은 주어진 키에 대한 유효 세션을 임의의 주어진 시간의 인스턴스에서 식별하는데 이용된다. 예를 들면, 키 및 특정 타임스탬프가 주어진 경우, 그 키가 몇 개의 값 필드 세트를 맵핑하면, 적절한 값 필드 세트는 개시 시간 및 종료 시간이 타임스탬프를 포함하는 세트이다.
도 1은 각각의 스키마에 대하여 키 필드(들), 타임스탬프 필드(들), 및 값 필드(들)를 나타낸다. 또한, 하나 이상의 키 필드의 지시는 세션 정보 스키마의 부분이다.
이 방식에서, 세션 테이블은 키를 값에 맵핑하거나 결부시키는 키-값 맵핑으로서 역할한다. 예를 들면, 세션 질의는 하나 이상의 키("질의 키")를 포함하게 되고, 질의 결과는 하나 이상의 키에 결부된 하나 이상의 값을 포함하게 된다. 세션은 두 개 엔티티 사이의 연관으로서 고려될 수 있으므로, 하나의 엔티티는 키에 의해 나타나고, 다른 엔티티는 값에 의해 나타난다.
일부 필드에 포함된 정보는 상이한 세션들 사이에서(또한, 따라서 상이한 기록 사이에서) 동일할 수 있다. 예를 들면, 디바이스에 어느 날 제 1 IP 어드레스가 할당되고 다른 날 제 2 IP 어드레스가 할당되는 경우, 각각의 세션 기록은 디바이스와 관련하여 동일한 정보(예를 들면, 디바이스의 MAC 어드레스 또는 호스트명)를 포함하게 된다. 마찬가지로, IP 어드레스가 어느 날 제 1 디바이스에 할당되고 다른 날 제 2 디바이스에 할당되는 경우, 각각의 세션 기록은 IP 어드레스와 관련하여 동일한 정보를 포함하게 된다. 두 개의 기록이 동일한 필드 정보를 포함하고 이 필드 정보가 키를 판정하면, 그 하나의 키는 두 개의 상이한 정보 세트(각각의 세션에 대해 하나의 세트)에 맵핑할 필요가 있다. 이 기능은, 예를 들면 세션 정보의 세트를 리스트에 놓고 상기 키의 값을 그 리스트에 있게 함으로써 구현될 수 있다. 개시 시간 필드 값 및 종료 시간 필드 값은, 상술한 바와 같이 어떤 세션 정보의 세트가 주어진 시간 인스턴스에 유효한지를 식별하는데 이용된다. 일 실시예에서, 세션 정보의 세트들은 각각의 세션의 개시 시간에 따라 리스트 내에 분류된다. 이것은 검색을 수행하는데 필요한 시간을 줄인다.
일 실시예에서, 세션 테이블은 해시맵(hashmap)으로서 구현되고, 검색에 이 용되는 키는 모든 키 필드의 해시코드에 기초하여 결정되는 해시코드이다. 이 실시예에서, 해시맵 키는 키 필드 값의 투플(tuple)로서 고려될 수 있다.
해시맵 값은 하나 이상의 세션 정보 세트들의 리스트를 나타내는 데이터 구조(SessionIntervalDataStructure)이다. 이는 체인화된 해시 테이블(chained hash table) 기술과 유사하다. 일 실시예에서, 데이터 구조 내의 엔트리(그 각각은 세션 정보 세트임)는 인터벌 트리(interval tree)를 이용하여 관리된다. 인터벌 트리는 간격을 유지하는데 이용되는 정렬된 트리 데이터 구조이다. 인터벌 트리는 주어진 간격 또는 시점(point)과 중첩되는 모든 인터벌의 유효한 결정을 가능하게 한다.
여기에서, 엔트리의 인터벌은 그 세션의 개시 시간 및 종점으로서의 종료 시간을 이용한다. 보안 이벤트를 세션 테이블 내의 정보와 상관시키기 위해서, 우선 관련 세션이 식별되어야 한다. 일 실시예에서, 이벤트의 종료 시간은 보안 이벤트에 적용할 수 있는 적합한 엔트리(세션)를 선택하도록 인터벌을 일치시키는데 이용된다. 엔트리가 제한되지 않았다면(즉, 세션이 아직 종료되지 않았다면), 최대 시간이 인터벌 종료 시간으로서 이용된다. 인터벌 트리를 나타내는데 이용된 데이터 구조는 다양할 수 있다. 일 실시예에서, 테이블 및 키 투플마다 기대된 엔트리의 수가 제한되는 경우, 어레이 기반 구현이 이용된다.
세션 테이블을 저장하는데 필요한 메모리는 테이블 내의 기록의 수에 비례한다. 즉, 메모리 요구량은 O(n)으로 증가하며, 여기서 n은 세션 테이블을 위한 메모리에 로드된 기록의 수이다. 검색 시간과 관련하여, m이 세션 테이블 내의 고유 키(키 필드 투플에 기초함)의 수이고, p가 고유 키마다의 엔트리의 평균이면, 검색을 수행하는데 필요한 시간은 O(log p)이다. 여기에서, m*p=O(n)이다.
세션 테이블 상에 수행되는 공통 작업들 및 그들의 시간 순서 복잡도는 다음과 같다. 세션 값 필드의 질의(예를 들면, 주어진 이벤트와 상관되는)는 O(log p)이다. 기록의 종료 시간의 갱신은 O(log p)이다. 새로운 기록의 삽입은 O(log p)이다. 이들 낮은 시간 순서 복잡도는 세션 테이블이 실시간으로 질의되고 유지되는 것을 가능하게 하여, 세션 정보가 실시간으로 상관관계 등에 이용되도록 한다.
특정 보안 이벤트에 적용할 수 있는 세션 정보를 검색하기 위해서, 종속 변수 함수가 정의된다. 일 실시예에서, 이 정의는 종속 변수에 대한 이름, 세션 정보를 검색하는데 이용되는 세션 테이블, 및 세션 테이블 내의 키 필드에 대한 이벤트 필드의 맵핑을 포함한다. 이 정의에 기초하여, 해당 엔트리는 세션 테이블 내에서 식별되고 상관에 이용될 수 있다.
종속 변수는 상이한 소스로부터 세션 정보를 액세스하도록 체인화될 수 있다. 사용자는 정보를 찾는 다수의 데이터 소스뿐만 아니라 이들 데이터 소스가 이용될 순서를 지정할 수 있다. 예를 들면, 사용자는 DHCP 정보 및 VPN 정보 모두가 이용 가능한 경우, MAC 어드레스가 어느 한쪽에서 검색되고, 이어서 다른 소스로부터의 정보와 결합되어 상관에 이용될 수 있음을 지정할 수 있다.
일 실시예에서, 세션 테이블은 필터와 연관될 수 있다. 필터는 세션 테이블에 의해 관리되는 데이터를 정의하는 일련의 조건(예를 들면, 그 테이블 내의 기록에 이용될 수 있는 일련의 키)을 나타낸다. 예를 들면, 테이블이 DHCP 정보를 저 장하고 키가 IP 어드레스면, 필터는 IP 어드레스의 범위(예를 들면, DHCP 서버에 의해 할당될 수 있는 IP 어드레스)를 나타낼 수 있다. 필터의 이용은 세션 정보의 불필요한 검색을 없애므로, 이용 가능한 세션 정보에 대해 이벤트를 평가하는데 필요한 시간을 줄인다. 필터는 세션 정보를 이용할 수 없는 이벤트에 대한 세션 테이블의 질의를 피한다. 이 방식으로, 필터는 테이블로의 직접적인 질의에 대해 게이트 키퍼(gate-keeper)로서 기능한다.
일 실시예에서, 필터는 다음과 같이 구현된다. 이벤트는 세션 테이블 검색이 요구되어 있는지에 대해 식별된다. 이벤트 내에 저장된 데이터에 기초하여, 질의 키가 결정된다. 검색을 수행하기 전에, 질의 키는 테이블의 필터에 대해 테스트된다. 키가 테스트를 통과하면, 원하는 데이터가 테이블 내에 저장될 수 있고 검색이 수행된다. 키가 테스트를 실패하면(예를 들면, IP 어드레스 키가 IP 어드레스의 필터의 범위 내에 있지 않은 경우), 원하는 데이터가 테이블 내에 저장되지 않고 검색이 수행되지 않는다.
세션 테이블에는 다양한 방식으로 데이터가 위치될 수 있다. 하나의 방식은 아카이브(archive) 등의 파일로부터 데이터를 임포트(import)하는 것이다. 임의의 네트워킹된 디바이스에 위치될 수 있는 파일은 임의의 형태의 정보를 임의의 포맷(예를 들면, 콤마 구분 값(CSV) 포맷)으로 포함할 수 있다. 예를 들면, 파일은 보안 정보/이벤트와 상관되어야 할 정보를 포함하는 데이터 저장소에 의해 출력될 수 있다. 직원 및 그들의 조직 내의 업무 역할 등의 HR(Human Resources) 정보를 포함하는 데이터베이스를 고려한다. 이 HR 데이터를 데이터베이스로부터 파일에 익 스포트(export)하고 이어서 그 파일을 세션 테이블 내로 임포트하면, 데이터가 상관 등을 위해 실시간으로 이용 가능해진다. 이 데이터는, 예를 들면 디바이스 또는 IP 어드레스에 기초하기보다는 사용자의 업무 역할에 기초하여 네트워크 액세스 정책을 강화하는데 이용될 수 있다.
세션 테이블을 위치시키는 다른 방법은 디렉터리 서비스를 이용하여 데이터 저장소로부터 데이터를 검색하는 것이다. 이들 디렉터리 서비스는 경량 디렉터리 액세스 프로토콜(Lightweight Directory Access Protocol(LDAP)) 또는 X.500 등의 다양한 프로토콜을 통해 액세스될 수 있다.
또 다른 방식은 하나 이상의 소프트웨어 에이전트(ArcSight, Inc.로부터의 SmartConnectors 등)를 이용하여 원하는 데이터를 이벤트의 형태로 보내는 것이다. 그러면, 하나 이상의 규칙이 이벤트를 처리하는데 이용될 수 있다. 구체적으로, 규칙은 이벤트로부터 세션 데이터를 추출하고 이 데이터를 세션 테이블을 위치시키는데 이용할 수 있다.
다른 방식은 세션 리스트를 이루는 데이터 구조 내에 세션 데이터를 직접 입력하는 것이다. 예를 들면, 세션 리스트가 데이터베이스에 저장되면(후술함), 세션 데이터는 데이터베이스에 직접 입력될 수 있다.
세션 테이블을 위치시키는 또 다른 방식은 보안 정보/이벤트에 포함된 데이터를 이용하는 것이다. 세션 정보에 관련된 이벤트를 식별하고, 세션 정보를 추출하고, 세션 정보를 이용하여 세션 테이블을 수정하도록, 규칙이 생성된다(예를 들면, 세션 기록의 생성, 수정, 또는 종료에 의함). 이벤트가 발생함에 따라 이벤트 에 대해("라이브 모드") 또는 저장되어 있는 지난 이벤트에 대해("배치 모드") 규칙이 실행될 수 있다.
이벤트에 기초해서 세션 테이블을 위치시키는 일 예는 DHCP 스누핑(snooping)이며, 여기서 DHCP 정보(예를 들면, 리스 할당 이벤트)가 DHCP 세션 테이블을 생성하는데 이용된다. 예를 들면, DHCP 알림 메시지는 규칙이 세션을 생성하여 개시하게 한다(즉, 기록을 DHCP 세션 테이블에 추가함). DHCP 릴리스(release) 메시지는 규칙이 세션을 종료하게 한다(즉, DHCP 세션 테이블 내의 기존 기록에 종료 시간을 추가함).
세션을 개시하고 종료하는 이벤트에 대한 의존은 부정확한 세션 테이블을 초래할 수 있다. 예를 들면, 네트워크 대기시간은 이벤트가 늦게 및/또는 불규칙하게 도착하게 할 수 있다. 또한, DHCP 릴리스 메시지 등의 선택적인 일부 이벤트는 도착하지 않을 수도 있다. 이들 문제는 수신한 이벤트에 기초하여 세션 경계를 내재적으로 결정하는 규칙을 이용함으로써 처리될 수 있다. 일 실시예에서, 세션 경계는 비중첩인 세션 정보에 대해 내재적으로 결정된다.
세션 정보는 수반되는 정보의 형태에 기초하여, 중첩 또는 비중첩 중 어느 하나 일 수 있다. 세션 정보가 비중첩인 경우, 이것은 임의의 시간 인스턴스에서, 주어진 키에 대해 단 하나의 유효 세션이 존재하는 것을 의미한다(또한, 이에 따라 단 하나의 유효 세션 기록이 존재함). DHCP 정보는 비중첩 세션 정보의 일 예이다. 이것은 주어진 네트워크 구역에 대하여, 임의의 주어진 시간 인스턴스에서 IP 어드레스(키)가 DHCP 서버에 의해 단 하나의 디바이스(값)에 할당될 수 있기 때문 이다. 이 할당은 추후 다른 디바이스로 변경될 수 있지만, 그때까지 이전 디바이스는 동일한 IP 어드레스를 릴리스할 것이다. VPN 정보는 비중첩 세션 정보의 다른 예이다. 주어진 네트워크 구역에 대해, VPN 소프트웨어는 그것의 구성에 기초하여, 임의의 주어진 시간 인스턴스에서 단 하나의 사용자/기계에만 IP 어드레스를 할당한다.
세션 정보가 중첩되는 경우, 이것은 임의의 시간 인스턴스에서, 주어진 키에 대해 다수의 유효한 세션이 존재할 수 있음을 의미한다(또한, 이에 따라 다수의 유효한 세션 기록이 존재할 수 있음). 로그인 정보는 중첩하는 세션 정보의 일 예이다. 이것은 주어진 네트워크 구역에 대해, 임의의 주어진 시간 인스턴스에서 IP 어드레스(키)가 다수의 사용자(값)에 의해 로그인될 수 있기 때문이다.
세션 정보의 중첩/비중첩 특성은 세션 테이블이 질의되는 경우, 어떤 형태의 값이 반환되는 지에 영향을 준다. 예를 들면, 세션 테이블이 비중첩 정보를 포함하면, 키/타임스탬프 쌍에 기초한 성공적인 검색이 한 세트의 세션 정보만을 반환할 것이다. 한편, 세션 테이블이 중첩되는 정보를 포함하면, 키/타임스탬프 쌍에 기초한 성공적인 검색이 복수 세트의 세션 정보(예를 들면, 상술한 바와 같이, 엔트리가 세션 정보의 세트인 리스트)를 반환할 것이다.
세션 경계의 내재적 결정은 두 개의 형태, 즉 내재적 세션 종료 및 내재적 세션 분리로 된다. 내재적 세션 종료는 기존의 세션이 세션 종료 이벤트를 실제로 수신하지 않고 종료되었음을 결정하는 것을 포함한다. 기존의 활성 세션에 대해 키를 포함하는 세션 개시 이벤트가 도착하는 경우, 세션 개시 이벤트에 포함된 정 보를 이용하여 그 키에 대해 이전 세션은 종료되고 새로운 세션이 생성 및 개시된다(활성 세션("라이브" 또는 "진행" 세션이라고도 함)은 기록이 종료 시간 타임스탬프를 포함하지 않은 세션임). DHCP 서버가 보통 리스 만료 이벤트를 로그하지 않으므로, 이 형태의 세션 개시 이벤트의 도착은 일반적으로 DHCP 세션 정보와 함께 일어난다.
일 실시예에서, 내재적 세션 종료는 다음과 같이 진행된다. 세션 개시 이벤트가 도착한 경우, 그것의 키 필드가 결정되고 해시코드를 발생시키는데 이용된다. 그 해시코드에 해당하는 기존 활성 세션에 대해 관련 세션 테이블이 검사된다. 기존 활성 세션이 발견되면, 세션 정보가 중첩될 수 없으므로, 이 세션은 종료되어야 한다. 기존 세션은 세션 기록의 종료 시간 필드에 타임스탬프를 놓음으로써 종료된다. 세션 개시 이벤트 내의 정보를 이용하여 새로운 세션이 생성(동일한 해시코드에 해당함) 및 개시된다.
내재적 세션 종료의 예는 다음과 같다. 세션 테이블 내의 기록에 따라, 주어진 네트워크 구역(키) 내의 IP 어드레스가 특정 호스트명 및 MAC 어드레스에 할당된다(2007년 10월 12일 10PM, (192.168.0.1, 내부 구역 1)=>(호스트명1, 11:11:11:11:11:11)). 2007년 10원 12일 11PM에, 동일한 구역(키) 내의 동일한 IP 어드레스를 상이한 디바이스에 맵핑하는 세션 개시 이벤트가 도착한다((192.168.0.1, 내부 구역 1)=>(호스트명2, 22:22:22:22:22:22)). 세션 개시 이벤트는 제 1 세션이 종료되게 하고(2007년 10월 12일 11PM의 종료 시간으로) 제 2 세션이 생성 및 개시되게 할 것이다(2007년 10월 12일 11PM의 개시 시간으로).
내재적 세션 분리는 두 가지 형태로 된다. 제 1 형태는, 이미 종료된 세션에 대해 세션 종료 이벤트가 도착한다. 새롭게 도착한 이벤트 내의 세션 종료 시간이 해당 세션 기록 내에 현재 저장된 종료 시간보다 이른 경우, 새로운 세션 종료 시간이 세션 기록에 저장된다. 이 시나리오는, 예를 들면 이전 세션 종료 시간이 내재적 세션 종료를 이용하여 유도된 경우에 일어날 수 있다.
내재적 세션 분리의 예(제 1 형태)는 다음과 같다. 세션 테이블 내의 기록에 따라서, 세션은 2007년 10월 12일 11PM에 종료되었다. 이 세션 기록에 해당하고 2007년 10월 12일 10:30PM의 종료 시간을 지시하는 세션 종료 이벤트가 도착한다. 세션 기록 내의 종료 시간은 2007년 10월 12일 11PM로부터 2007년 10월 12일 10:30PM으로 변경된다.
내재적 세션 분리의 제 2 형태에서, 타임스탬프가 기존의 세션에 해당하는 세션 개시 이벤트 또는 세션 종료 이벤트가 도착한다. 기존의 세션은 진행중인 세션 또는 종료된 세션일 수 있다. 기존 세션에 저장된 값이 이벤트 내에 저장된 값과 상이하면, 기존의 세션은 분리되고, 중간에 새로운 세션이 생성 및 개시된다.
내재적 세션 분리의 예(제 2 형태)는 다음과 같다. 세션 테이블에 따라서, 세션 S1은 2008년 1월 1일 1PM에 개시되고 2008년 1월 1일 10PM에 종료되고, 세션 S2는 2008년 1월 1일 11PM에 개시되어 활성 상태이다. 2008년 1월 1일 6PM에 개시되는 세션 S3의 존재를 지시하는 이벤트가 도착한다. 세션 S1은 분리되어, 2008년 1월 1일 1PM에 개시되어 2008년 1월 1일 6PM에 종료된다. 세션 S3이 생성되어, 2008년 1월 1일 6PM에 개시하고 2008년 1월 1일 11PM에 종료된다. 세션 S2는 2008 년 1월 1일 11PM에 개시하는 활성 세션으로서 남는다.
세션이 개시 또는 종료되는 시간과 이 정보가 세션 테이블 내에 입력되는 시간 사이에는 지연이 있을 수 있다. 때때로 지연은 작다. 예를 들면, 세션 개시 이벤트가 일본 내의 디바이스에 의해 발생되는 경우, 그 이벤트가 미국에서 수집 및 처리되는데 1초 이상이 걸릴 수 있다. 이 상황에서는, 보안 이벤트와 세션 데이터를 상관시키도록 시도하기 전에 대기하는 것이 유용할 수 있다. 상관이 너무 일찍 시도되는 경우, 세션 데이터는 양호하지 않을 수 있고 심지어 존재하지 않을 수 있다. 보안 이벤트의 상관의 대기를 보안 이벤트의 "파킹(parking)"이라 한다. 일 실시예에서, 세션 데이터가 존재하는 경우, 보안 이벤트는 최소 대기 시간 동안 파킹된다. 세션 데이터는 대기 시간 동안 갱신되고(필요한 경우), 이어서 상관에 이용될 것이 기대된다. 일 실시예에서, 세션 데이터가 존재하지 않는 경우, 보안 이벤트는 최대 대기 시간 동안 파킹된다. 세션 데이터는 그 대기 시간 동안 로드되고 상관에 이용될 것이 기대된다.
때때로 지연은 크다. 예를 들면, 직원 배지 시스템으로부터의 세션 정보는 실시간으로 로드되는 것(예를 들면, 배지를 판독기에 댈 때)보다 야간에 임포트될 수 있다(예를 들면, 배치 프로세스에서). 이들 상황에서, 그 시간 인터벌의 세션 정보와 다양한 보안 이벤트 사이에서 상관이 이미 시도되었다는 점에서, 세션 정보는 "늦게" 도착할 수 있다. 일 실시예에서는, 이 상황에서, 상관이 다시 수행되어 늦게 도착한 세션 정보를 이용한다. 예를 들면, 상관 규칙은 지난 보안 이벤트의 윈도우 상에서 재실행될 수 있다(예를 들면, 지난 두 시간 내에 받았던 보안 정보 ). 상관관계 규칙이 재실행되어야 할(또한, 어떤 이벤트가 재실행되어야 할) 환경이 구성될 수 있다.
구현의 상세한 설명
상술한 바와 같이, 세션 데이터는 세션 테이블 내에 저장된다. 구체적으로, 각각의 형태의 세션 데이터는 별개의 세션 테이블(예를 들면, 하나의 DHCP 세션 데이터용 세션 테이블 및 하나의 로그인 세션 데이터용 세션 테이블) 내에 저장된다. 세션 데이터가 나중에 참조되기 위해서, 세션 테이블은 하드 드라이브와 같은 영구적이고, 비휘발성인 저장장치에 저장된다. 일 실시예에서, 세션 테이블은 관계 데이터베이스 등의 데이터베이스에 저장된다.
세션 테이블 내의 기록의 수는 시간이 지남에 따라 크게 증가되어, 매우 큰 세션 테이블이 될 수 있다. 큰 테이블에 질의를 수행하는 것은 작은 테이블에 질의를 수행하는 것보다 훨씬 더 고가(프로세서 시간 등의 컴퓨터 자원의 관점에서)이다. 일 실시예에서, 세션 테이블은 분할되어 각각의 세션 테이블 파티션 내의 기록의 수는 줄어든다. 이것은 각각의 질의를 수행하는데 필요한 자원의 양을 줄인다.
일 실시예에서, 세션 테이블은 세션 개시 시간에 기초하여 분할된다. 세션 테이블 내의 각각의 기록은 개시 시간 타임스탬프를 포함함을 상기한다. 이 타임스탬프의 값은 어떤 파티션에 기록이 저장되는지를 결정한다. 일 실시예에서, 각각의 파티션은 24 시간 간격을 나타낸다. 예를 들면, 제 1 파티션은 2007년 1월 1일 12:00AM 내지 2007년 1월 1일 11:59PM을 나타내고 제 2 파티션은 2007년 1월 2 일 12:00AM 내지 2007년 1월 2일 11:59PM을 나타낸다. 이 실시예에서, 세션 데이터의 일년 어치는 하나의 거대 세션 테이블이 아닌 365개의 파티션에 저장될 것이다.
상관은 배치 모드 또는 실시간 모드 중 어느 하나에서 행해질 수 있다. 배치 모드에서는, 보안 정보/이벤트를 수신하는 경우, 그들은 저장된다. 추후, 저장된 보안 정보/이벤트는 세션 정보, 특히 이벤트의 타임스탬프에서 유효하였던 세션 정보와 상관된다.
실시간 모드에서, 보안 정보/이벤트를 수신한 경우, 그들은 실시간 또는 거의 실시간으로 세션 정보와 상관된다. 이 상관이 실시간으로 일어나기 위해서, 세션 데이터는 실시간으로 유지되어야 하고, 또한 실시간 질의를 지원해야 한다. 매 분마다 수천의 이벤트가 발생되고, 각각의 이벤트는 세션 정보에 대해 하나 이상의 레퍼런스(예를 들면, 그 IP 어드레스가 할당된 MAC 어드레스를 결정하는데 이용되는 하나 이상의 IP 어드레스 또는 그 호스트에 로그인된 사용자를 결정하는데 이용되는 하나 이상의 호스트명)를 포함할 수 있으므로, 이를 달성하는 것은 매우 곤란하다. 예를 들면, 5,000 이벤트/초의 이벤트 속도 및 2 세션 레퍼런스/이벤트는 10,000 세션 레퍼런스/초가 된다.
일 실시예에서, 세션 테이블의 일 부분은 갱신 및/또는 질의을 위해 보다 빠른 액세스를 지원하기 위해서 휘발성 메모리(예를 들면, 캐시(cache) 또는 RAM(Random Access Memory)에 유지될 수도 있다. 예를 들면, 세션 테이블이 장기 저장장치(long-term storage)에서 분할되면, 현재의 파티션(또는 그 일 부분)은 휘 발성 메모리에 저장될 수도 있다. 일반적으로, 휘발성 메모리 내의 세션 테이블의 부분은 활성인 세션을 포함할 것이며, 또한 최근에 종료된 세션(예를 들면, 지난 10분 내의 것)을 포함하는 것도 가능하다. 대부분의 실시간 갱신 및 질의는 활성 세션 및 최근에 종료된 세션과 관계되므로, 휘발성 메모리 내에 이들 세션을 저장하는 것은 갱신 및 질의 각각을 수행하는데 필요한 자원의 양을 줄일 것이다. 일 실시예에서, 휘발성 메모리 내에 유지되는 세션 테이블의 부분은 초기에 장기 저장장치로부터 로드된다. 휘발성 메모리 내에 저장될 기록의 수가 구성 가능하다.
장기 저장장치 내의 세션 테이블의 일관성을 유지하기 위해, 배치 작업으로서 갱신이 수집되고 세션 테이블에 주기적으로 적용된다. 예를 들면, 배치 동작으로서 갱신은 1분 주기로 수집되고, 이어서 장기 저장장치 내의 세션 테이블에 적용된다.
세션 테이블이 분할됐다 할지라도, 특정 세션을 발견하는 것은 여전히 고가일 수 있다. 예를 들면, 세션의 개시 시간을 모르면, 각각의 파티션은 세션이 발견될 때까지 검색되어야 한다. 일 실시예에서, 세션 테이블은 주기적으로 처리되어, 활성 세션은 현재의 파티션으로 이동된다. 이러한 특징을 "세션 롤업(session rollup)"이라 하며, 이는 세션이 활성인 경우에 그 기록이 현재의 파티션에 위치될 것을 보장한다. 즉, 라이브 세션 정보를 이전의 파티션으로부터 현재의 파티션으로 "롤업"하여서, 현재의 파티션(상술한 바와 같이, 휘발성 메모리에 저장됨)에서 그 정보를 쉽게 이용할 수 있다. 필요한 현재의 파티션만이 질의되므로, 세션 롤업은 활성 세션을 액세스하는데 요하는 자원의 양을 줄인다.
세션 롤업 후에, 지난 파티션은 종료된 세션(즉, 기록이 종료 시간 타임스탬프를 포함하는 세션)만을 포함할 것이다. 지난 파티션은 라이브 세션 데이터를 포함하지 않으므로, 이들 파티션을 삭제하거나 보관하는 것이 더 용이해진다.
일 실시예에서, 세션 롤업은 스케줄링된 태스크(task)를 통해 구현된다. 태스크는 주기적으로 실행(예를 들면, 파티션이 시간에 기초한 경우, 각각의 파티션 경계에서)되도록 스케줄링된다. 구체적인 주기가 구성될 수 있다. 세션이 하나의 파티션으로부터 다른 파티션으로 연장되는 경우(예를 들면, 파티션이 날짜에 기초함으로 인해, 그리고 세션이 두 개의 상이한 날짜에 라이브 상태가 됨으로 인해), 세션은 파티션 경계에 기초하여 다수의 세션으로 분리되고, 각각의 세션은 상이한 파티션에 저장된다.
예를 들면, 2007년 1월 1일 12:00AM 내지 2007년 1월 1일 11:59PM을 나타내는 제 1 파티션 및 2007년 1월 2일 12:00AM 내지 2007년 1월 2일 11:59PM을 나타내는 제 2 파티션을 고려한다. 세션은 2007년 1월 1일 11:00PM에 개시하고 2007년 1월 2일 1AM에 종료된다. 세션 롤업은 세션을 두 개의 세션, 즉 a) 2007년 1월 1일 11:00PM 내지 2007년 1월 1일 11:59PM 및 b) 2007년 1월 2일 12:00AM 내지 2007년 1월 2일 1AM으로 나눌 것이다. 세션(a)은 종료된 세션으로서 제 1 파티션 내에 저장될 것이고, 세션(b)은 제 2 파티션 내에 저장될 것이다(역시 종료된 세션으로서). 세션이 DHCP 정보와 관련되는 경우, 세션의 분리와 관계없이 주어진 IP 어드레스 및 네트워크 구역은 2007년 1월 1일 11:00PM과 2007년 1월 2일 1AM 사이에 타임스탬프를 가지는 모든 이벤트에 대해 동일한 호스트명 및 MAC 어드레스에 대응할 것이다.
다른 예로서, 2007년 10월 1일 2PM에 개시하고 2007년 10월 5일 현재 진행중인 세션을 고려한다. 2007년 10월 5일에 세션 롤업을 수행하는 것은 세션을 다섯 개의 세션(10월 1일을 위한 세션, 10월 2일을 위한 세션, 10월 3일을 위한 세션, 10월 4일을 위한 세션, 10월 5일을 위한 세션)으로 분리할 것이다. 처음 네 개의 세션은 종료된 것으로서 그들 각각의 파티션 내에 저장되고, 및 제 5 세션(10월 5일)은 진행중인 것으로서, 활성 파티션 내에 저장될 것이다.
일 실시예에서, 세션 롤업은 다음을 포함한다. 마지막 세션 롤업 이래로 개시된 세션(또는 이전 파티션 동안에 개시된 세션(빠른 것은 어느 것이나) 중에서, 어느 세션이 활성인지를 결정한다. 이들 각각의 세션에 대하여, 파티션 경계에 기초하여 세션을 다수의 세션으로 분리한다. 세션 중 종료된 부분에 대해, 그 부분을 지난 파티션에 추가하여 그것은 파티션 경계 시간에서 종료한다. 세션의 진행중인 부분에 대하여, 그 부분을 현재의 파티션에 추가하여 그것은 파티션 경계 시간에서 개시된다.
전체 세션의 길이를 결정하기 위해서, 분리된 세션들이 결합될 수 있다. 구체적으로, 세션이 파티션 경계 시간에서 종료되고 다음 파티션이 파티션 경계 시간에서 개시하는 동일한 키 및 값을 가지는 세션을 포함하면, 이들 세션은 서로 대응한다. 이들 세션의 지속 기간이 결합되어 전체(분리되지 않은) 세션의 지속 기간을 결정할 수 있다.
일 실시예에서, 세션이 다수의 세션 부분으로 분리되는 경우, 각각의 세션 부분은 그것이 보다 큰 세션의 부분인 것을 지시하는 몇몇 방식으로 주석(annotation)이 달린다. 이것은 전체(분리되지 않은) 세션의 지속 기간을 결정할 때, 세션 부분을 식별하는 것을 돕는다. 예를 들면, 플래그는 각각의 세션 부분에 대한 기록에 추가된다. 다른 예로서는, 전체(분리되지 않은) 세션의 개시 시간이 각각의 세션 부분에 대한 기록에 추가된다. 이 예에서, 해당 세션 부분은 동일한 키 및 값 이외에도, 전체 세션에 대해 동일한 개시 시간을 가질 것이다.
상기 설명은 실시예의 동작을 설명하는데 포함되지만 본 발명의 범주를 제한하기 위한 것은 아니다. 본 발명의 범주는 다음의 특허청구범위에 의해서만 한정된다. 상기 논의로부터, 본 발명의 사상 및 범주에 포함될 많은 변형이 가능함은 당업자에게 자명할 것이다.

Claims (22)

  1. 컴퓨터 시스템에 의해 수행되며, 하나 이상의 키(key) 필드, 하나 이상의 타임스탬프(timestamp) 필드, 및 하나 이상의 값 필드를 포함하는 하나 이상의 세션(session) 기록을 포함하는 세션 테이블을 이용하여 상태 정보를 유지하는 방법으로서,
    네트워킹된 디바이스의 작업에 관한 타임스탬프 및 정보를 포함하는 보안 이벤트를 식별하는 단계;
    상기 보안 이벤트의 하나 이상의 필드에 기초하여 질의 키를 결정하는 단계;
    상기 세션 테이블과 연관된 필터를 이용하여 상기 질의 키를 필터링하여 상기 질의 키로 질의되는 상기 세션 테이블을 필터링하는 단계;
    상기 타임스탬프 및 필터링된 상기 질의 키를 이용하여 상기 세션 테이블에 질의하는 단계; 및
    질의 결과를 반환하는 단계를 포함하는 것을 특징으로 하는 상태 정보의 유지 방법.
  2. 제 1 항에 있어서,
    상기 세션 기록은 이벤트로부터 추출된 정보를 포함하는 것을 특징으로 하는 상태 정보의 유지 방법.
  3. 제 1 항에 있어서,
    상기 하나 이상의 키 필드는 IP(Internet Protocol:인터넷 프로토콜) 어드레스를 포함하는 것을 특징으로 하는 상태 정보의 유지 방법.
  4. 제 1 항에 있어서,
    상기 하나 이상의 값 필드는 호스트명과 MAC(Media Access Control:매체 접근 제어) 어드레스 중 어느 하나를 포함하는 것을 특징으로 하는 상태 정보의 유지 방법.
  5. 제 1 항에 있어서,
    상기 네트워킹된 디바이스는 파이어월(firewall), 침입 탐지 시스템, 및 서버 중 어느 하나를 포함하는 것을 특징으로 하는 상태 정보의 유지 방법.
  6. 제 1 항에 있어서,
    상기 질의 키는 해시코드(hashcode)를 포함하는 것을 특징으로 하는 상태 정보의 유지 방법.
  7. 제 1 항에 있어서,
    상기 세션 기록은 개시 시간을 지시하는 제 1 타임스탬프 필드 및 종료 시간을 지시하는 제 2 타임스탬프 필드를 포함하는 것을 특징으로 하는 상태 정보의 유지 방법.
  8. 제 7 항에 있어서,
    상기 종료 시간은 세션 개시 이벤트에 기초하여 내재적으로 결정되는 것을 특징으로 하는 상태 정보의 유지 방법.
  9. 제 7 항에 있어서,
    상기 개시 시간은 세션 종료 이벤트에 기초하여 내재적으로 결정되는 것을 특징으로 하는 상태 정보의 유지 방법.
  10. 제 7 항에 있어서,
    상기 타임스탬프 및 필터링된 상기 질의 키를 이용하여 상기 세션 테이블에 질의하는 단계는 그 개시 시간이 상기 보안 이벤트의 타임스탬프보다 이르고 그 종료 시간이 상기 보안 이벤트의 타임스탬프보다 늦은 세션 기록을 결정하는 단계를 포함하는 것을 특징으로 하는 상태 정보의 유지 방법.
  11. 삭제
  12. 제 1 항에 있어서,
    상기 타임스탬프 및 필터링된 상기 질의 키를 이용하여 상기 세션 테이블에 질의하는 단계는 최소 시간을 대기하는 단계를 포함하는 것을 특징으로 하는 상태 정보의 유지 방법.
  13. 제 1 항에 있어서,
    상기 타임스탬프 및 필터링된 상기 질의 키를 이용하여 상기 세션 테이블에 질의하는 단계는 최대 시간을 대기하는 단계를 포함하는 것을 특징으로 하는 상태 정보의 유지 방법.
  14. 제 1 항에 있어서,
    상기 세션 기록은 상기 세션 기록의 생성 시간을 지시하는 타임스탬프 필드를 포함하는 것을 특징으로 하는 상태 정보의 유지 방법.
  15. 제 1 항에 있어서,
    상기 세션 테이블은 분할되는 것을 특징으로 하는 상태 정보의 유지 방법.
  16. 제 15 항에 있어서,
    상기 타임스탬프 및 필터링된 상기 질의 키를 이용하여 상기 세션 테이블에 질의하는 단계는 상기 타임스탬프 및 상기 필터링된 질의 키를 이용하여 상기 세션 테이블의 파티션에 질의하는 단계를 포함하는 것을 특징으로 하는 상태 정보의 유지 방법.
  17. 제 15 항에 있어서,
    파티션 경계를 가로질러 연장되는 세션을 나타내는 세션 기록은 다수의 세션 기록으로 나눠지는 것을 특징으로 하는 상태 정보의 유지 방법.
  18. 제 17 항에 있어서,
    상기 다수의 세션 기록의 각각의 기록은 상기 기록이 큰 세션의 일부인 것을 지시하는 주석(annotation)을 포함하는 것을 특징으로 하는 상태 정보의 유지 방법.
  19. 제 18 항에 있어서,
    상기 주석은 전체 세션 개시 시간을 지시하는 플래그 및 타임스탬프 중 어느 하나를 포함하는 것을 특징으로 하는 상태 정보의 유지 방법.
  20. 제 1 항에 있어서,
    상기 세션 테이블은 세션 개시 시간에 의해 분할되고,
    상기 타임스탬프 및 필터링된 상기 질의 키를 이용하여 상기 세션 테이블에 질의하는 단계는,
    상기 타임스탬프에 기초하여 상기 세션 테이블의 파티션을 결정하는 단계; 및
    상기 타임스탬프 및 필터링된 상기 질의 키를 이용하여 상기 결정된 파티션에 질의하는 단계를 포함하는 것을 특징으로 하는 상태 정보의 유지 방법.
  21. 하나 이상의 키 필드, 하나 이상의 타임스탬프 필드, 및 하나 이상의 값 필드를 포함하는 하나 이상의 세션 기록을 포함하는 세션 테이블을 이용하여 상태 정보를 유지하는 방법을 수행하는 컴퓨터 프로그램 코드를 포함하는 컴퓨터 판독 가능 매체에 있어서,
    상기 방법은,
    네트워킹된 디바이스의 작업에 관한 타임스탬프 및 정보를 포함하는 보안 이벤트를 식별하는 단계;
    상기 보안 이벤트의 하나 이상의 필드에 기초하여 질의 키를 결정하는 단계;
    상기 세션 테이블과 연관된 필터를 이용하여 상기 질의 키를 필터링하여 상기 질의 키로 질의되는 상기 세션 테이블을 필터링하는 단계;
    상기 타임스탬프 및 필터링된 상기 질의 키를 이용하여 상기 세션 테이블에 질의하는 단계; 및
    질의 결과를 반환하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 판독 가능 매체.
  22. 하나 이상의 키 필드, 하나 이상의 타임스탬프 필드, 및 하나 이상의 값 필드를 포함하는 하나 이상의 세션 기록을 포함하는 세션 테이블을 이용하여 상태 정보를 유지하는 장치에 있어서,
    네트워킹된 디바이스의 작업에 관한 타임스탬프 및 정보를 포함하는 보안 이벤트를 식별하도록 구성된 보안 이벤트 모듈;
    상기 보안 이벤트의 하나 이상의 필드에 기초하여 질의 키를 결정하도록 구성된 질의 키 모듈;
    상기 세션 테이블과 연관된 필터를 이용하여 상기 질의 키를 필터링하여 상기 질의 키로 질의되는 상기 세션 테이블을 필터링하는 필터 모듈;
    상기 타임스탬프 및 필터링된 상기 질의 키를 이용하여 상기 세션 테이블에 질의하도록 구성된 질의 모듈; 및
    질의 결과를 반환하도록 구성된 결과 모듈을 포함하는 것을 특징으로 하는 상태 정보의 유지 장치.
KR1020097004991A 2006-10-25 2007-10-25 컴퓨터 네트워크 보안을 보조하기 위한 변하는 상태 데이터추적 KR101519936B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US86293206P 2006-10-25 2006-10-25
US60/862,932 2006-10-25
US11/923,502 US9824107B2 (en) 2006-10-25 2007-10-24 Tracking changing state data to assist in computer network security
US11/923,502 2007-10-24
PCT/US2007/082560 WO2008052133A2 (en) 2006-10-25 2007-10-25 Tracking changing state data to assist in computer network security

Publications (2)

Publication Number Publication Date
KR20090067138A KR20090067138A (ko) 2009-06-24
KR101519936B1 true KR101519936B1 (ko) 2015-05-13

Family

ID=39325437

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097004991A KR101519936B1 (ko) 2006-10-25 2007-10-25 컴퓨터 네트워크 보안을 보조하기 위한 변하는 상태 데이터추적

Country Status (11)

Country Link
US (1) US9824107B2 (ko)
EP (1) EP2076993A4 (ko)
JP (1) JP5191492B2 (ko)
KR (1) KR101519936B1 (ko)
AU (1) AU2007308828A1 (ko)
CA (1) CA2660847A1 (ko)
IL (1) IL197460A0 (ko)
NZ (1) NZ574567A (ko)
RU (1) RU2425449C2 (ko)
SG (1) SG175678A1 (ko)
WO (1) WO2008052133A2 (ko)

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7788722B1 (en) 2002-12-02 2010-08-31 Arcsight, Inc. Modular agent for network security intrusion detection system
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
US7607169B1 (en) 2002-12-02 2009-10-20 Arcsight, Inc. User interface for network security console
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
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
US7644438B1 (en) 2004-10-27 2010-01-05 Arcsight, Inc. Security event aggregation at software agent
US9100422B1 (en) 2004-10-27 2015-08-04 Hewlett-Packard Development Company, L.P. Network zone identification in a network security system
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
EP2162529B1 (en) * 2007-06-08 2019-03-27 Wake Forest University Health Sciences Selective cell therapy for the treatment of renal failure
US8848924B2 (en) * 2008-06-27 2014-09-30 University Of Washington Privacy-preserving location tracking for devices
US9037554B2 (en) * 2009-06-30 2015-05-19 Oracle America, Inc. Bloom bounders for improved computer system performance
US9292547B1 (en) * 2010-01-26 2016-03-22 Hewlett Packard Enterprise Development Lp Computer data archive operations
WO2011149773A2 (en) * 2010-05-25 2011-12-01 Hewlett-Packard Development Company, L.P. Security threat detection associated with security events and an actor category model
US9069954B2 (en) * 2010-05-25 2015-06-30 Hewlett-Packard Development Company, L.P. Security threat detection associated with security events and an actor category model
CN102143136B (zh) * 2010-08-20 2013-12-04 华为技术有限公司 接入业务批发网络的方法、设备、服务器和系统
JP5364671B2 (ja) * 2010-10-04 2013-12-11 アラクサラネットワークス株式会社 ネットワーク認証における端末接続状態管理
US8661456B2 (en) 2011-06-01 2014-02-25 Hewlett-Packard Development Company, L.P. Extendable event processing through services
US10356106B2 (en) * 2011-07-26 2019-07-16 Palo Alto Networks (Israel Analytics) Ltd. Detecting anomaly action within a computer network
JP5765123B2 (ja) * 2011-08-01 2015-08-19 富士通株式会社 通信装置、通信方法、通信プログラム及び通信システム
US20140280075A1 (en) * 2011-08-26 2014-09-18 Hewlett-Packard Development Company, L.P. Multidimension clusters for data partitioning
US9806940B1 (en) * 2011-10-13 2017-10-31 Comscore, Inc. Device metering
EP2856333A4 (en) * 2012-05-30 2015-12-30 Hewlett Packard Development Co SELECTION OF FIELDS FOR DISCOVERY OF REASONS
US9753909B2 (en) 2012-09-07 2017-09-05 Splunk, Inc. Advanced field extractor with multiple positive examples
US8682906B1 (en) 2013-01-23 2014-03-25 Splunk Inc. Real time display of data field values based on manual editing of regular expressions
US8751963B1 (en) * 2013-01-23 2014-06-10 Splunk Inc. Real time indication of previously extracted data fields for regular expressions
US20140208217A1 (en) 2013-01-22 2014-07-24 Splunk Inc. Interface for managing splittable timestamps across event records
US9098177B2 (en) * 2012-12-13 2015-08-04 Google Technology Holdings LLC Apparatus and methods for facilitating context handoff between devices in a cloud based wireless personal area network
US9659085B2 (en) * 2012-12-28 2017-05-23 Microsoft Technology Licensing, Llc Detecting anomalies in behavioral network with contextual side information
WO2014111863A1 (en) 2013-01-16 2014-07-24 Light Cyber Ltd. Automated forensics of computer systems using behavioral intelligence
US9152929B2 (en) 2013-01-23 2015-10-06 Splunk Inc. Real time display of statistics and values for selected regular expressions
US9240996B1 (en) * 2013-03-28 2016-01-19 Emc Corporation Method and system for risk-adaptive access control of an application action
US9430509B2 (en) 2013-09-16 2016-08-30 Axis Ab Event timeline generation
AU2015244230A1 (en) * 2014-04-07 2016-09-22 Marklogic Corporation Apparatus and method for management of bitemporal objects
GB2528479A (en) * 2014-07-23 2016-01-27 Gamma Telecom Ltd Session handling in a communications network
US9710648B2 (en) 2014-08-11 2017-07-18 Sentinel Labs Israel Ltd. Method of malware detection and system thereof
US11507663B2 (en) 2014-08-11 2022-11-22 Sentinel Labs Israel Ltd. Method of remediating operations performed by a program and system thereof
US10075461B2 (en) 2015-05-31 2018-09-11 Palo Alto Networks (Israel Analytics) Ltd. Detection of anomalous administrative actions
US10476891B2 (en) * 2015-07-21 2019-11-12 Attivo Networks Inc. Monitoring access of network darkspace
US11297062B2 (en) 2016-02-17 2022-04-05 Carrier Corporation Authorized time lapse view of system and credential data
US10686829B2 (en) 2016-09-05 2020-06-16 Palo Alto Networks (Israel Analytics) Ltd. Identifying changes in use of user credentials
US11695800B2 (en) 2016-12-19 2023-07-04 SentinelOne, Inc. Deceiving attackers accessing network data
US11616812B2 (en) 2016-12-19 2023-03-28 Attivo Networks Inc. Deceiving attackers accessing active directory data
CN107247749B (zh) 2017-05-25 2020-08-25 创新先进技术有限公司 一种数据库状态确定方法、一致性验证方法及装置
EP3643040A4 (en) 2017-08-08 2021-06-09 SentinelOne, Inc. METHODS, SYSTEMS AND DEVICES FOR DYNAMIC MODELING AND GROUPING OF END POINTS FOR EDGE NETWORKING
US11240275B1 (en) * 2017-12-28 2022-02-01 Fireeye Security Holdings Us Llc Platform and method for performing cybersecurity analyses employing an intelligence hub with a modular architecture
US11271955B2 (en) 2017-12-28 2022-03-08 Fireeye Security Holdings Us Llc Platform and method for retroactive reclassification employing a cybersecurity-based global data store
US11470115B2 (en) 2018-02-09 2022-10-11 Attivo Networks, Inc. Implementing decoys in a network environment
WO2019186231A1 (en) * 2018-03-27 2019-10-03 Pratik Sharma Events manager for a machine
US10999304B2 (en) 2018-04-11 2021-05-04 Palo Alto Networks (Israel Analytics) Ltd. Bind shell attack detection
US11184378B2 (en) 2019-01-30 2021-11-23 Palo Alto Networks (Israel Analytics) Ltd. Scanner probe detection
US11184377B2 (en) 2019-01-30 2021-11-23 Palo Alto Networks (Israel Analytics) Ltd. Malicious port scan detection using source profiles
US11070569B2 (en) 2019-01-30 2021-07-20 Palo Alto Networks (Israel Analytics) Ltd. Detecting outlier pairs of scanned ports
US11184376B2 (en) 2019-01-30 2021-11-23 Palo Alto Networks (Israel Analytics) Ltd. Port scan detection using destination profiles
US11316872B2 (en) 2019-01-30 2022-04-26 Palo Alto Networks (Israel Analytics) Ltd. Malicious port scan detection using port profiles
US11170012B2 (en) * 2019-02-11 2021-11-09 ColorTokens, Inc. Determining session count of unique sessions for requested time periods
EP3973427A4 (en) 2019-05-20 2023-06-21 Sentinel Labs Israel Ltd. SYSTEMS AND METHODS FOR EXECUTABLE CODE DETECTION, AUTOMATIC FEATURE EXTRACTION, AND POSITION-INDEPENDENT CODE DETECTION
US11012492B1 (en) 2019-12-26 2021-05-18 Palo Alto Networks (Israel Analytics) Ltd. Human activity detection in computing device transmissions
US11509680B2 (en) 2020-09-30 2022-11-22 Palo Alto Networks (Israel Analytics) Ltd. Classification of cyber-alerts into security incidents
US11675771B1 (en) * 2020-10-29 2023-06-13 Splunk Inc. Identity resolution
US11579857B2 (en) 2020-12-16 2023-02-14 Sentinel Labs Israel Ltd. Systems, methods and devices for device fingerprinting and automatic deployment of software in a computing network using a peer-to-peer approach
US20220337572A1 (en) * 2021-04-16 2022-10-20 Paypal, Inc. Communication between server systems in different network regions
US11899782B1 (en) 2021-07-13 2024-02-13 SentinelOne, Inc. Preserving DLL hooks
US11799880B2 (en) 2022-01-10 2023-10-24 Palo Alto Networks (Israel Analytics) Ltd. Network adaptive alert prioritization system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020065912A1 (en) 2000-11-30 2002-05-30 Catchpole Lawrence W. Web session collaboration
US20030167355A1 (en) 2001-07-10 2003-09-04 Smith Adam W. Application program interface for network software platform
US20050182773A1 (en) 2004-02-18 2005-08-18 Feinsmith Jason B. Machine-implemented activity management system using asynchronously shared activity data objects and journal data items
US20050216421A1 (en) 1997-09-26 2005-09-29 Mci. Inc. Integrated business systems for web based telecommunications management

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5907621A (en) 1996-11-15 1999-05-25 International Business Machines Corporation System and method for session management
US6973494B2 (en) * 2000-12-29 2005-12-06 Bellsouth Intellectual Property Corporation System and method for bi-directional mapping between customer identity and network elements
JP2002330177A (ja) * 2001-03-02 2002-11-15 Seer Insight Security Inc セキュリティ管理サーバおよびこれと連携して動作するホストサーバ
US7111162B1 (en) 2001-09-10 2006-09-19 Cisco Technology, Inc. Load balancing approach for scaling secure sockets layer performance
EP1451714B1 (en) * 2001-11-01 2018-05-02 Verisign, Inc. Method and system for updating a remote database
JP4357801B2 (ja) 2002-06-25 2009-11-04 日鉄鉱業株式会社 高活性光触媒およびその製造方法
JP2004118699A (ja) * 2002-09-27 2004-04-15 Ntt Comware Corp 不正アクセス検出装置、不正アクセス検出方法、コンピュータプログラム及びコンピュータプログラムを記録した記録媒体
US8176527B1 (en) 2002-12-02 2012-05-08 Hewlett-Packard Development Company, L. P. Correlation engine with support for time-based rules
US7788722B1 (en) 2002-12-02 2010-08-31 Arcsight, Inc. Modular agent for network security intrusion detection system
US7650638B1 (en) 2002-12-02 2010-01-19 Arcsight, Inc. Network security monitoring system employing bi-directional communication
US7219239B1 (en) 2002-12-02 2007-05-15 Arcsight, Inc. Method for batching events for transmission by software agent
US7607169B1 (en) 2002-12-02 2009-10-20 Arcsight, Inc. User interface for network security console
US7376969B1 (en) 2002-12-02 2008-05-20 Arcsight, Inc. Real time monitoring and analysis of events from multiple network security devices
US7899901B1 (en) 2002-12-02 2011-03-01 Arcsight, Inc. Method and apparatus for exercising and debugging correlations for network security system
JP2005005854A (ja) 2003-06-10 2005-01-06 Nippon Telegr & Teleph Corp <Ntt> 通信経路設定方法
JP4131203B2 (ja) 2003-06-25 2008-08-13 日本電気株式会社 セキュリティゲートウェイルータ装置およびセッションテーブル管理方法
US7565425B2 (en) 2003-07-02 2009-07-21 Amazon Technologies, Inc. Server architecture and methods for persistently storing and serving event data
US7260844B1 (en) 2003-09-03 2007-08-21 Arcsight, Inc. Threat detection in a network security system
US7644365B2 (en) 2003-09-12 2010-01-05 Cisco Technology, Inc. Method and system for displaying network security incidents
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
US7333999B1 (en) * 2003-10-30 2008-02-19 Arcsight, Inc. Expression editor
US7565696B1 (en) 2003-12-10 2009-07-21 Arcsight, Inc. Synchronizing network security devices within a network security system
US8191139B2 (en) * 2003-12-18 2012-05-29 Honeywell International Inc. Intrusion detection report correlator and analyzer
JP4320603B2 (ja) 2004-02-26 2009-08-26 日本電気株式会社 加入者回線収容装置およびパケットフィルタリング方法
JP2005276165A (ja) 2004-02-27 2005-10-06 Sony Corp 情報処理装置、ネットワークシステム状況呈示方法およびコンピュータプログラム
US8528077B1 (en) 2004-04-09 2013-09-03 Hewlett-Packard Development Company, L.P. Comparing events from multiple network security devices
FI20040583A0 (fi) 2004-04-26 2004-04-26 Nokia Corp Sijainninseurantatiedon toimittaminen palvelujen valvontaa varten datapakettitietoon perustuvassa tietoliikenneverkossa
US7509677B2 (en) * 2004-05-04 2009-03-24 Arcsight, Inc. Pattern discovery in a network security system
JP2006023966A (ja) * 2004-07-08 2006-01-26 Yokogawa Electric Corp 監査証跡の記録方法、および監査証跡の記録装置
US7644438B1 (en) 2004-10-27 2010-01-05 Arcsight, Inc. Security event aggregation at software agent
US9100422B1 (en) 2004-10-27 2015-08-04 Hewlett-Packard Development Company, L.P. Network zone identification in a network security system
EP1655901B1 (en) 2004-11-05 2007-01-03 Research In Motion Limited Control of a mobile station's packet data session retry functionality in a wireless packet data service network
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
JP4952022B2 (ja) * 2005-07-11 2012-06-13 富士通株式会社 関連付けプログラム、関連付け方法、および関連付け装置
US7882262B2 (en) * 2005-08-18 2011-02-01 Cisco Technology, Inc. Method and system for inline top N query computation
US7437359B2 (en) * 2006-04-05 2008-10-14 Arcsight, Inc. Merging multiple log entries in accordance with merge properties and mapping properties
US8418243B2 (en) * 2006-08-21 2013-04-09 Citrix Systems, Inc. Systems and methods of providing an intranet internet protocol address to a client on a virtual private network
US8108550B2 (en) 2006-10-25 2012-01-31 Hewlett-Packard Development Company, L.P. Real-time identification of an asset model and categorization of an asset to assist in computer network security
US9031916B2 (en) 2006-12-28 2015-05-12 Hewlett-Packard Development Company, L.P. Storing log data efficiently while supporting querying to assist in computer network security

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050216421A1 (en) 1997-09-26 2005-09-29 Mci. Inc. Integrated business systems for web based telecommunications management
US20020065912A1 (en) 2000-11-30 2002-05-30 Catchpole Lawrence W. Web session collaboration
US20030167355A1 (en) 2001-07-10 2003-09-04 Smith Adam W. Application program interface for network software platform
US20050182773A1 (en) 2004-02-18 2005-08-18 Feinsmith Jason B. Machine-implemented activity management system using asynchronously shared activity data objects and journal data items

Also Published As

Publication number Publication date
RU2009107162A (ru) 2010-09-10
NZ574567A (en) 2012-05-25
SG175678A1 (en) 2011-11-28
EP2076993A4 (en) 2014-07-02
KR20090067138A (ko) 2009-06-24
JP5191492B2 (ja) 2013-05-08
RU2425449C2 (ru) 2011-07-27
CA2660847A1 (en) 2008-05-02
US20080104046A1 (en) 2008-05-01
EP2076993A2 (en) 2009-07-08
WO2008052133A3 (en) 2008-09-04
JP2010511210A (ja) 2010-04-08
WO2008052133A2 (en) 2008-05-02
US9824107B2 (en) 2017-11-21
IL197460A0 (en) 2009-12-24
AU2007308828A1 (en) 2008-05-02

Similar Documents

Publication Publication Date Title
KR101519936B1 (ko) 컴퓨터 네트워크 보안을 보조하기 위한 변하는 상태 데이터추적
US10867034B2 (en) Method for detecting a cyber attack
US7904456B2 (en) Security monitoring tool for computer network
US10013318B2 (en) Distributed event correlation system
US20160191549A1 (en) Rich metadata-based network security monitoring and analysis
CN110099059B (zh) 一种域名识别方法、装置及存储介质
US9514183B1 (en) Indexing and searching of large amounts of machine generated data collected from disparate sources
US9847968B2 (en) Method and system for generating durable host identifiers using network artifacts
US11431792B2 (en) Determining contextual information for alerts
CN107483381B (zh) 关联账户的监控方法及装置
EP3316175A1 (en) Methods and apparatus of an immutable threat intelligence system
WO2017208241A2 (en) Audit log enhancement
US11811587B1 (en) Generating incident response action flows using anonymized action implementation data
CN114500122B (zh) 一种基于多源数据融合的特定网络行为分析方法和系统
US8055682B1 (en) Security information repository system and method thereof
CN115001724A (zh) 网络威胁情报管理方法、装置、计算设备及计算机可读存储介质
US11356484B2 (en) Strength of associations among data records in a security information sharing platform
US11108796B1 (en) System and method for identifying security entities in a computing environment
CN114461659A (zh) 查杀方法、装置、计算机设备和存储介质
CN117692243A (zh) 攻击链路还原方法、装置、计算机设备和存储介质
CN116011568A (zh) 安全资产知识图谱的构建方法及装置
GB2586072A (en) Network vulnerability analysis
CN117375921A (zh) 访问控制策略配置方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee