TWI417737B - Real-time identification of an asset model and categorization of an asset to assist in computer network security - Google Patents

Real-time identification of an asset model and categorization of an asset to assist in computer network security Download PDF

Info

Publication number
TWI417737B
TWI417737B TW96140086A TW96140086A TWI417737B TW I417737 B TWI417737 B TW I417737B TW 96140086 A TW96140086 A TW 96140086A TW 96140086 A TW96140086 A TW 96140086A TW I417737 B TWI417737 B TW I417737B
Authority
TW
Taiwan
Prior art keywords
network node
unique identifier
category
node
address
Prior art date
Application number
TW96140086A
Other languages
Chinese (zh)
Other versions
TW200837571A (en
Inventor
Ankur Lahoti
Hui Huang
Christian F Beedgen
Original Assignee
Hewlett Packard Development Co
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 Hewlett Packard Development Co filed Critical Hewlett Packard Development Co
Publication of TW200837571A publication Critical patent/TW200837571A/en
Application granted granted Critical
Publication of TWI417737B publication Critical patent/TWI417737B/en

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

資產模型之即時識別與資產分類以協助電腦網路安全 Instant identification and asset classification of asset models to assist in computer network security

本發明一般係關於安全性資訊/事件管理(SIM或SIEM)而特定言之係關於存取一網路節點(例如,一事件之目標節點)之一模型以便可以結合安全性資訊/事件來使用該模型資料。The present invention relates generally to security information/event management (SIM or SIEM) and in particular to accessing a model of a network node (e.g., a target node of an event) for use in conjunction with security information/events. The model data.

安全性資訊/事件管理(SIM或SIEM)領域一般係關於:1)從網路及網路裝置收集反映網路活動及/或該等裝置的操作之資料;以及2)分析該資料以增強安全性。例如,可以分析該資料以識別對網路或一網路裝置之攻擊並決定由哪一使用者或機器負責。若該攻擊正在進行,則可以執行一抵抗措施來阻礙攻擊或減輕由該攻擊造成的損害。所收集的資料一般發起於由一網路裝置產生之一訊息(例如一事件、警示或警報)或一日誌檔案中之一項目中。The Security Information/Event Management (SIM or SIEM) area generally relates to: 1) collecting information from network and network devices that reflects network activity and/or the operation of such devices; and 2) analyzing the data for enhanced security Sex. For example, the data can be analyzed to identify attacks on the network or a network device and determine which user or machine is responsible. If the attack is in progress, a countermeasure can be performed to block the attack or mitigate the damage caused by the attack. The collected data is typically originated in a message (eg, an event, alert, or alert) generated by a network device or in one of the log files.

該訊息或項目一般指示涉及於該網路活動中的一或多個電腦網路裝置("網路節點")。例如,該訊息或項目可能指示該活動所指向之節點("目標節點")及/或該活動發起之節點("來源節點")。儘管可以藉由僅使用所收集的資料來識別及調查一攻擊,但擁有額外的資料(例如關於所指示的網路節點之資訊)常常有用。The message or item generally indicates one or more computer network devices ("network nodes") involved in the network activity. For example, the message or item may indicate the node to which the activity is directed ("target node") and/or the node from which the activity originated ("source node"). Although it is possible to identify and investigate an attack using only the collected data, it is often useful to have additional information, such as information about the indicated network node.

關於一網路節點之資訊(稱為"資產模型")可以包括(例如):節點之網路協定(IP)位址、節點之主機名稱、該節點所屬網路、該節點在企業內的角色、該節點上之一開放 埠、安裝於該節點上之軟體(例如,作業系統及應用程式)及該節點之已知缺點或弱點(稱為"曝露的缺點")。Information about a network node (called an "asset model") can include, for example: the network protocol (IP) address of the node, the host name of the node, the network to which the node belongs, and the role of the node within the enterprise. One of the nodes is open Software, software (eg, operating systems and applications) installed on the node and known disadvantages or weaknesses of the node (referred to as "disadvantages of exposure").

在安全分析期間存取資產模型。可以採取分批模式或即時地執行安全分析。在分批模式中,當接收安全性資訊/事件時,將其儲存。稍後分析所儲存的安全性資訊/事件。在即時模式中,當接收安全性資訊/事件時,即時或接近即時地對其進行分析。Access the asset model during security analysis. Security analysis can be performed in batch mode or on-the-fly. In batch mode, when a security message/event is received, it is stored. Analyze the stored security information/events later. In the immediate mode, when security information/events are received, they are analyzed on-the-fly or near-instant.

為讓安全分析即時(或接近即時)發生,必須即時(或接近即時)存取該等資產模型。此難以實現,因為每分鐘產生數千個事件,而每一事件指示一或多個節點。例如,一5,000個事件/秒與4個節點/事件之一事件速率產生20,000個節點/秒。對於每一節點,識別並存取其資產模型。In order for security analysis to occur on-the-fly (or near-instant), these asset models must be accessed on-the-fly (or near-instant). This is difficult to achieve because thousands of events are generated per minute, and each event indicates one or more nodes. For example, one event rate of one 5,000 events/second and four nodes/event produces 20,000 nodes/second. For each node, identify and access its asset model.

需要一種以一高效率的方式存取一資產模型以便可以結合安全性資訊/事件來即時使用該資產模型之方法。There is a need for a method of accessing an asset model in an efficient manner so that the asset model can be used immediately in conjunction with security information/events.

一管理器接收一或多個事件並分析該等事件以偵測攻擊。一事件描述涉及一電腦網路裝置(稱為一"網路節點")之一動作。一事件包括對一或多個節點(例如,該動作所指向的節點("目標節點"及/或該動作發起的節點("來源節點"))之一參考,此係稱為一"節點參考"。一節點參考包括多個欄位,例如網際網路協定(IP)位址、網路區域、主機名稱、媒體存取控制(MAC)位址及資產識別符(資產ID)。A manager receives one or more events and analyzes the events to detect the attack. An event description involves one of the actions of a computer network device (referred to as a "network node"). An event includes reference to one or more nodes (eg, a node to which the action is directed ("target node" and/or a node initiated by the action ("source node")), which is referred to as a "node reference" A node reference includes multiple fields, such as Internet Protocol (IP) addresses, network areas, host names, media access control (MAC) addresses, and asset identifiers (asset IDs).

該資產ID欄位係用來儲存指派給一網路節點之一唯一識別符(ID)。當該管理器首次接收一事件時,一節點參考之 資產ID欄位係空欄位。稍後,將對應於該節點的"資產模型"之一識別符儲存於該資產ID欄位中。該ID係用於獲得對應於該ID所關聯的網路節點之資產模型並決定該網路節點是否係一特定類別之一成員。該管理器存取一網路節點之資產模型,以便執行安全分析。The asset ID field is used to store a unique identifier (ID) assigned to one of the network nodes. When the manager receives an event for the first time, a node refers to it. The asset ID field is an empty field. Later, one of the "asset models" identifiers corresponding to the node is stored in the asset ID field. The ID is used to obtain an asset model corresponding to the network node associated with the ID and determine whether the network node is a member of a particular category. The manager accesses an asset model of a network node to perform a security analysis.

一資產模型係關於一網路節點之一資訊集合。此資訊可以包括(例如):節點之網路協定(IP)位址、節點之主機名稱、該節點所屬網路、該節點在企業內的角色、該節點上之一開放埠、安裝於該節點上之軟體(例如,作業系統及應用程式)及該節點之已知缺點或弱點之一清單(稱為"曝露的缺點")。An asset model is a collection of information about a network node. This information may include, for example: the network protocol (IP) address of the node, the host name of the node, the network to which the node belongs, the role of the node within the enterprise, one of the nodes open, and installed on the node. A list of software (eg, operating systems and applications) and one of the known shortcomings or weaknesses of the node (referred to as "disadvantages of exposure").

該管理器包括一識別符模組與一類別模組。該識別符模組提供指派給一網路節點的唯一ID所關聯之功能性並包括一查閱模組與一管理模組。該查閱模組依據一網路節點之各種特徵(例如IP位址、主機名稱、網路區域及/或媒體存取控制(MAC)位址)來決定該網路節點之ID。此等各條資訊係用作置入一或多個查閱資料結構(例如,查閱表)之索引鍵。若一查閱獲得成功(例如,找到該索引鍵所關聯之一值),則傳回該值(其係該節點的資產模型之ID)。該管理模組追蹤已將哪些ID指派給網路節點而哪些ID尚未指派。The manager includes an identifier module and a category module. The identifier module provides functionality associated with a unique ID assigned to a network node and includes a lookup module and a management module. The lookup module determines the ID of the network node based on various characteristics of a network node (eg, IP address, host name, network area, and/or media access control (MAC) address). These pieces of information are used as index keys for placing one or more lookup data structures (eg, lookup tables). If a lookup is successful (for example, finding a value associated with the index key), the value is returned (which is the ID of the asset model of the node). The management module tracks which IDs have been assigned to the network node and which IDs have not been assigned.

該類別模組提供與類別相關之功能性並包括一查閱模組與一管理模組。該查閱模組決定一特定網路節點(資產)是否係一特定類別(即,屬於一特別類別)之一成員。為作此決定,該類別模組使用類別資料。類別資料使用一遞移閉 包(TC)來模型化可以附加至一資產模型的分類(特性)之一階層式及動態空間。該TC係作為一位元映射集合儲存於記憶體內,其中一位元映射對應於一特定資產類別或群組。一位元映射中之一0/1位元表示該特定資產類別/群組與一資產之間是否存在一連結。一資產之唯一ID用作置入一遞移閉包位元映射之一索引。該管理模組按需要更新類別資料。The category module provides category-related functionality and includes a lookup module and a management module. The lookup module determines whether a particular network node (asset) is a member of a particular category (ie, belonging to a particular category). For this decision, the category module uses category information. Category data use one hand transfer The package (TC) to model can be attached to one of the classifications (characteristics) of an asset model, hierarchical and dynamic. The TC is stored in the memory as a set of meta-maps, where the one-bit mapping corresponds to a particular asset class or group. One of the one-dimensional mappings, 0/1, indicates whether there is a link between the particular asset class/group and an asset. The unique ID of an asset is used as an index into one of the recursive closure bit maps. The management module updates the category data as needed.

本文說明一種用以從異質來源攫取安全事件之以電腦為基礎的系統,其將此類事件正規化為一常用綱目並將此類正規化的事件與規則交連以產生中介事件。該系統(其一具體實施例係表現為電腦軟體)實現對來自多個安全裝置的可疑網路活動之聚集、關聯、偵測及調查性追蹤。本系統還支援回應管理、隨意查詢解決方式、為辨論分析而報告及重播以及網路威脅及活動的圖形視覺化。This document describes a computer-based system for extracting security incidents from heterogeneous sources that formalizes such events into a common schema and interleaves such formalized events with rules to generate mediation events. The system (an embodiment of which is embodied as a computer software) enables aggregation, correlation, detection, and investigative tracking of suspicious network activity from multiple security devices. The system also supports response management, random query resolution, reporting and replay for analytics analysis, and graphical visualization of cyber threats and activities.

儘管將參考各個圖示範例來說明本系統,但不應此等範例理解為限制本發明之更廣泛的精神及範疇。例如,本文所提出之範例說明分佈式代理程式、管理器及主控台,其僅係本發明之一具體實施例。本發明之一般概念及外延遠遠更廣泛,而且可延伸至任何以電腦為基礎或以網路為基礎之安全系統。而且,可以傳遞至該系統的組件及從該系統的組件傳遞之訊息以及可供該系統的組件使用之資料網目之範例係為嘗試進一步說明本發明而提出,但並無作為一覽無遺的範例之用意而不應將其如此看待。Although the present system is described with reference to the various illustrated examples, these examples should not be construed as limiting the broader spirit and scope of the invention. For example, the examples presented herein illustrate distributed agents, managers, and consoles, which are merely one embodiment of the present invention. The general concepts and extensions of the present invention are much broader and extend to any computer-based or network-based security system. Moreover, the examples of the components that can be passed to the system and the information transmitted from the components of the system, as well as the information available to the components of the system, are presented in an attempt to further illustrate the invention, but are not provided as an illustrative example. Intention should not be treated as such.

隨後的詳細說明之某些部分係根據對一電腦記憶體內的資料進行運算之演算法及符號表示來提出。此等演算法說明及表示係熟習電腦科學技術者用來向其他熟習此項技術者最有效地傳達其工作的實質內容之工具。本文中以及在一般情況下,演算法係構想為產生一所需結果之一自我一致的步驟序列。該等步驟係需要對實體數量的實體操控之該些步驟。通常,但並非必定,此等數量採用能夠儲存、傳輸、組合、比較以及其他方式操控之電氣或磁信號之形式。已證明有時方便的係(主要基於常用原因)將此等信號稱為位元、值、元素、符號、字元、術語、數字或類似物。不過,應記住所有此等及類似術語皆應與適當實體數量相關並僅係應用於此等數量之方便標記。除另有明確表述外,應明白,在全篇說明中,使用諸如"處理"或"計算"或"運算"或"決定"或"顯示"或類似術語表示一電腦系統或類似的電子計算裝置之動作及程序,其對在該電腦系統的暫存器及記憶體內表示為實體(電子)數量之資料進行操控並將其轉換為在該等電腦系統記憶體或暫存器或其他此類資訊儲存、傳輸或顯示裝置內同樣表示為實體數量之其他資料。Some portions of the detailed description that follows are presented in terms of algorithms and symbolic representations of operations on data in a computer memory. These algorithmic descriptions and representations are tools used by those skilled in the computer science and technology to convey the substance of their work most effectively to those skilled in the art. In this context and in general, the algorithm is conceived to produce a sequence of steps that are self-consistent with one of the desired results. These steps are those steps that require entity manipulation of the number of entities. Usually, though not necessarily, the quantities are in the form of electrical or magnetic signals that can be stored, transferred, combined, compared, and otherwise manipulated. Such signals have proven to be convenient, sometimes based on common reasons, as bits, values, elements, symbols, characters, terms, numbers or the like. However, it should be borne in mind that all such and similar terms should be associated with the appropriate number of entities and are only applied to the convenience of such quantities. Unless otherwise expressly stated, it is to be understood that throughout the description, a computer system or similar electronic computing device is used, such as "processing" or "computing" or "computing" or "decision" or "display" or similar terms. Actions and procedures for manipulating and converting data represented by physical (electronic) quantities in the scratchpad and memory of the computer system into memory or scratchpads or other such information in such computer systems Other materials in the storage, transmission or display device are also represented as the number of entities.

如上所示,本發明之一具體實施例係例示於電腦軟體中,該電腦軟體即電腦可讀取的指令,其在藉由一或多個電腦處理器/系統來執行時指示該等處理器/系統執行所指定的動作。此類電腦軟體可以係駐留於一或多個電腦可讀取媒體中,例如硬碟驅動器、CD-ROM、DVD-ROM、唯 讀記憶體、讀取與寫入記憶體等等。此類軟體可以係分佈於此等媒體之一或多個媒體上,或者可以令此類軟體可供橫跨一或多個電腦網路(例如網際網路)來下載。無論格式如何,本文所述之電腦程式化、重現及處理技術皆僅係可用於實施本發明各方面的程式化、重現及處理技術類型之簡單範例。參考隨附本說明內容的申請專利範圍將十分清楚地瞭解,此等範例不應對本發明構成任何限制。As indicated above, one embodiment of the present invention is exemplified in a computer software that is a computer readable command that indicates the processors when executed by one or more computer processors/systems. / The system performs the specified action. Such computer software can reside in one or more computer readable media, such as a hard disk drive, CD-ROM, DVD-ROM, only Read memory, read and write memory, and more. Such software may be distributed on one or more of the media, or such software may be downloaded across one or more computer networks (eg, the Internet). Regardless of the format, the computerized stylization, reproduction, and processing techniques described herein are merely simple examples of types of stylization, reproduction, and processing techniques that can be used to implement various aspects of the present invention. The scope of the patent application is to be understood by reference to the appended claims.

系統架構system structure

圖1係解說依據一具體實施例具有一安全性資訊/事件管理系統10之一環境之一高階圖。系統10包括代理程式12、一或多個管理器14及一或多個主控台16(其可以包括以瀏覽器為基礎的主控台版本)。在某些具體實施例中,可以將代理程式、管理器及/或主控台組合於一單一平臺中或分佈於兩個、三個或更多平臺中(例如,在圖示範例中)。此多層架構之使用支援隨著一電腦網路或系統增長之可縮放性。1 is a high level diagram of one of the environments having a security information/event management system 10 in accordance with an embodiment. System 10 includes an agent 12, one or more managers 14, and one or more consoles 16 (which may include a browser-based console version). In some embodiments, the agents, managers, and/or consoles can be combined in a single platform or distributed across two, three, or more platforms (eg, in the illustrated example). The use of this multi-layer architecture supports scalability as a computer network or system grows.

代理程式12係提供從各種網路安全裝置及/或應用高效率、即時(或接近即時)的本端事件資料攫取及過濾之軟體程式。安全事件的主要來源係常用的網路元件,包括防火牆、侵入偵測系統及作業系統日誌。代理程式12可以自任何產生事件日誌或訊息的來源收集事件,並可以在本端裝置、該網路內的合併點及/或透過簡單的網路管理協定(SNMP)陷阱來操作。The agent 12 is a software program that extracts and filters high-efficiency, instant (or near-instant) local event data from various network security devices and/or applications. The main source of security incidents are commonly used network components, including firewalls, intrusion detection systems, and operating system logs. The agent 12 can collect events from any source that generates an event log or message and can operate at the local device, a merge point within the network, and/or through a simple Network Management Protocol (SNMP) trap.

代理程式12可以係透過手動與自動化程序以及經由關聯 的組態檔案來組態。每一代理程式12可以包括一或多個軟體模組,其包括一正規化組件、一時間校正組件、一聚集組件、一分批組件、一解析器組件、一傳輸組件及/或其他進一步組件。可以透過組態檔案中的適當命令來致動及/或停用此等組件。The agent 12 can be associated with the automated program and via the manual Configuration file to configure. Each agent 12 can include one or more software modules including a normalization component, a time correction component, an aggregation component, a batch component, a parser component, a transport component, and/or other further components. . These components can be activated and/or deactivated through appropriate commands in the configuration file.

管理器14係以伺服器為基礎的組件,其藉由採用一規則引擎18與一集中型事件資料庫20將從該等代理程式接收的事件進一步合併、過濾及交連。管理器14之一角色係攫取及儲存所有即時與歷史事件資料來(經由資料庫管理器22)構建一完整的全企業安全活動圖景。該管理器14還提供集中型管理、通知(透過一或多個通知器24)及報告以及一知識庫28及案例管理工作流程。可將該管理器14部署於任何電腦硬體平臺上而一具體實施例使用一關係資料庫管理系統(例如一OracleTM 資料庫)來實施該事件資料儲存組件。管理器14與代理程式12之間的通信可以係雙向(例如,讓管理器14可向該等平臺主機代理程式12發送命令)並經加密。在某些裝備中,管理器14可以用作多個代理程式12之集中器並可以向其他管理器(例如,部署於一公司總部者)轉遞資訊。Manager 14 is a server-based component that further merges, filters, and interconnects events received from such agents by employing a rules engine 18 and a centralized event repository 20. One of the roles of the manager 14 retrieves and stores all real-time and historical event data (via the repository manager 22) to build a complete enterprise-wide security activity picture. The manager 14 also provides centralized management, notification (via one or more notifiers 24) and reports, and a knowledge base 28 and case management workflow. The manager 14 can be deployed on any computer hardware platform and a particular embodiment implements the event data storage component using a relational database management system (e.g., an Oracle (TM ) repository). The communication between the manager 14 and the agent 12 can be bidirectional (e.g., the manager 14 can send commands to the platform host agents 12) and encrypted. In some configurations, the manager 14 can act as a concentrator for multiple agents 12 and can forward information to other managers (eg, deployed to a corporate headquarters).

該管理器14包括一或多個代理程式管理器26來負責接收由該等代理程式12發送的事件資料訊息。在實施與該等代理程式12的雙向通信之情況下,可以使用此等代理程式管理器26來向該等代理程式12發送訊息。若針對代理程式與管理器通信採用加密(此係可選),則該代理程式管理器26 負責將從代理程式12接收的訊息解密而將發送至該等代理程式12的任何訊息加密。The manager 14 includes one or more agent managers 26 responsible for receiving event data messages transmitted by the agents 12. In the event that two-way communication with the agents 12 is implemented, the agent manager 26 can be used to send messages to the agents 12. If the agent and the manager communicate with encryption (this is optional), then the agent manager 26 It is responsible for decrypting the messages received from the agent 12 and encrypting any messages sent to the agents 12.

主控台16係以電腦(例如工作站)為基礎之應用,其允許安全專業人員執行日常管理及操作任務,例如事件監視、規則製作、事故調查及報告。存取控制清單允許多個安全專業人員使用同一系統及事件資料庫,而每一專業人員皆有其自己的與其責任相適之觀點、關聯規則、警示、報告及知識庫。一單一管理器14可以支援多個主控台16。The console 16 is a computer-based (eg, workstation-based) application that allows security professionals to perform day-to-day management and operational tasks such as event monitoring, rulemaking, incident investigation, and reporting. Access control lists allow multiple security professionals to use the same system and event database, and each professional has its own perspective, association rules, alerts, reports, and knowledge base that are appropriate to its responsibilities. A single manager 14 can support multiple consoles 16.

在某些具體實施例中,該主控台16之以瀏覽器為基礎的版本可用於提供對安全事件、知識庫文獻、報告、通知及案例之存取。即,管理器14可以包括可經由駐於一個人或手持式電腦(其取代主控台16)上之一網頁瀏覽器來存取之一網頁伺服器組件,以提供一主控台16之某些或全部功能性。瀏覽器存取對於遠離該等主控台16的安全專業人員以及對於業餘使用者特別有用。主控台16與管理器14之間的通信係雙向並可能經加密。In some embodiments, a browser-based version of the console 16 can be used to provide access to security events, knowledge base documents, reports, notifications, and cases. That is, the manager 14 can include accessing one of the web server components via a web browser resident on a person or handheld computer (which replaces the console 16) to provide some of the console 16 Or full functionality. Browser access is particularly useful for security professionals who are remote from such consoles 16 and for amateur users. The communication between the console 16 and the manager 14 is bidirectional and may be encrypted.

透過上述架構,該系統可以支援一集中型或分散型環境。此之所以有用係因為一組織可能想要實施系統10之一單一實例並使用一存取控制清單來劃分使用者。或者,該組織可以選擇針對若干群組中的每一群組部署分離的系統10並將該等結果合併於一"主控"層級。此一部署還可以實現一"全天候式"配置,其中地理分散的點群組藉由將主要監察責任傳遞給當前以標準營業時間工作之群組來互相合作。還可以將系統10部署於一公司階層中,在該公司階層 中各業務部門分別工作並支援上卷至一集中型管理功能。Through the above architecture, the system can support a centralized or decentralized environment. This is useful because an organization may want to implement a single instance of system 10 and use an access control list to classify users. Alternatively, the organization may choose to deploy separate systems 10 for each of several groups and combine the results at a "master" level. This deployment also enables an "all-weather" configuration in which geographically dispersed point groups collaborate by communicating primary monitoring responsibilities to groups currently working in standard business hours. System 10 can also be deployed in a corporate hierarchy at the corporate level Each business unit works and supports the roll-to-centralized management function.

2002年12月2日申請的美國申請案第10/308,415號中進一步說明安全性資訊/事件管理系統10,其全部內容係以引用的方式併入於此。The security information/event management system 10 is further described in U.S. Application Serial No. 10/308,415, filed on Dec. 2, 2002, the entire disclosure of which is incorporated herein.

資產模型之介紹Introduction to the asset model

一管理器14接收一或多個事件並分析該等事件以偵測攻擊。一事件描述涉及一電腦網路裝置(稱為一"網路節點")之一動作。範例性的網路節點包括膝上型或桌上型電腦、伺服器(例如電子郵件伺服器、存取控制伺服器及網域名稱系統(DNS)伺服器)、防火牆、選路裝置、侵入偵測系統、虛擬私有網路(VPN)系統及印表機。A manager 14 receives one or more events and analyzes the events to detect the attacks. An event description involves one of the actions of a computer network device (referred to as a "network node"). Exemplary network nodes include laptop or desktop computers, servers (such as email servers, access control servers, and domain name system (DNS) servers), firewalls, routing devices, and intrusion detection. Test systems, virtual private network (VPN) systems, and printers.

在一具體實施例中,一事件指示一或多個節點(例如,該動作所指向的節點("目標節點"及/或該動作發起的節點("來源節點"))。在此具體實施例中,該事件包括對每一節點之一參考(稱為一"節點參考")。一節點參考包括多個欄位,例如網際網路協定(IP)位址、網路區域、主機名稱、媒體存取控制(MAC)位址及資產識別符(資產ID),(一網路區域係一網路片段,一標記識別一網路區域並用於將私有位址空間彼此區分開)。藉由使用一IP位址來定址一網路節點。某些裝置(例如多連接伺服器)可以係經由多個IP位址之任一位址來定址。在此情況下,將每一IP位址作為一分離的網路節點來處理。因此,一單一裝置可以"容置"多個網路節點。In a specific embodiment, an event indicates one or more nodes (eg, the node to which the action is directed ("target node" and/or the node initiated by the action ("source node")). In this embodiment The event includes a reference to one of each node (referred to as a "node reference"). A node reference includes multiple fields, such as Internet Protocol (IP) addresses, network areas, host names, media. Access control (MAC) address and asset identifier (asset ID), (a network area is a network segment, a tag identifies a network area and is used to distinguish private address spaces from each other). An IP address is used to address a network node. Some devices (eg, multi-connection servers) may be addressed via any of a plurality of IP addresses. In this case, each IP address is treated as a Separate network nodes to handle. Therefore, a single device can "place" multiple network nodes.

該資產ID欄位係用來儲存指派給一網路節點之一唯一識 別符(ID)。當該管理器首次接收一事件時,一節點參考之資產ID欄位係空欄位。稍後,將對應於該節點的"資產模型"之一識別符儲存於該資產ID欄位中。在一具體實施例中,該ID係用於獲得對應於該ID所關聯的網路節點之資產模型。在另一具體實施例中,該ID係用於決定該網路節點是否係一特定類別之一成員(下面說明)。一資產模型係關於一網路節點之一資訊集合。此資訊可以包括(例如):該節點之IP位址、該節點之主機名稱、該節點所屬網路、該節點在企業內的角色、該節點上之一開放埠、安裝於該節點上之軟體(例如,作業系統及應用程式)。在一具體實施例中,一資產模型包括該節點的已知缺點或弱點之一清單,此係稱為"曝露的弱點"。弱點一般係定義為一節點之一組態或條件,可能利用其來產生並非該節點製造商所希望效果之一效果。The asset ID field is used to store a unique identifier assigned to a network node. Do not match (ID). When the manager receives an event for the first time, the asset ID field referenced by a node is an empty field. Later, one of the "asset models" identifiers corresponding to the node is stored in the asset ID field. In a specific embodiment, the ID is used to obtain an asset model corresponding to the network node to which the ID is associated. In another embodiment, the ID is used to determine whether the network node is a member of a particular class (described below). An asset model is a collection of information about a network node. This information may include, for example: the IP address of the node, the host name of the node, the network to which the node belongs, the role of the node within the enterprise, one of the nodes open, and the software installed on the node. (for example, operating systems and applications). In a specific embodiment, an asset model includes a list of known shortcomings or weaknesses of the node, which is referred to as "exposure weakness." A vulnerability is generally defined as a configuration or condition of one of the nodes that may be used to produce an effect that is not what the manufacturer of the node desires.

該管理器14存取一網路節點之資產模型,以便執行安全分析。例如,一事件可以描述為利用一或多個已知弱點所作之一嘗試,稱為"所利用的弱點"。該管理器14可以決定該目標節點之曝露的弱點(藉由存取該節點之資產模型)並接著將其與所利用弱點相比較。若一弱點同時呈現為一曝露的弱點與一所利用的弱點,則偵測到一威脅。2007年8月21日發佈的美國專利案第7,260,844號中進一步說明威脅偵測,其全部內容係以引用的方式併入於此。The manager 14 accesses an asset model of a network node to perform a security analysis. For example, an event can be described as attempting to make use of one or more known weaknesses, referred to as "utilized weaknesses." The manager 14 can determine the vulnerability of the target node's exposure (by accessing the asset model of the node) and then compare it to the utilized vulnerability. If a weak point appears as both an exposed weak point and a used weak point, a threat is detected. Threat detection is further described in U.S. Patent No. 7,260,844, issued on Aug. 21, 2007, the entire disclosure of which is incorporated herein by reference.

作為另一範例,考量聯邦資訊處理標準(FIPS)內之一標準,其需要依據一節點對機密性的容忍度來對其進行分 類。一事件可以描述可能導致一特定節點上的機密性失效之一動作。該管理器14可能注意到此事件並決定針對該節點之臨界機密性如何(藉由存取該節點之資產模型)。若機密性係關鍵,則可以產生一故障單來追蹤該侵犯行為。As another example, consider a standard within the Federal Information Processing Standard (FIPS) that needs to be based on a node's tolerance for confidentiality. class. An event can describe one of the actions that could result in a confidentiality failure on a particular node. The manager 14 may notice this event and decide how critically confidential the node is (by accessing the asset model of the node). If confidentiality is critical, a ticket can be generated to track the violation.

4.可以將一網路節點(資產)分類以便描述其特性。一類別係實施為一"群組"。例如,為了指定一特定節點正在執行Windows 2003伺服器作業系統,將該節點之資產放置於群組"/AllCategories/OperatingSystems/Microsoft/Windows/2003Server"中。類別可以係階層式。例如,"2003Server"係類別"Windows"之一子類,而類別"Windows,"係類別"Microsoft"之一子類,以此類推。階層式類別之另一範例係地理分類(例如,洲/國家/州/區域)。4. A network node (asset) can be classified to describe its characteristics. One category is implemented as a "group." For example, to specify that a particular node is executing a Windows 2003 server operating system, the node's assets are placed in the group "/AllCategories/OperatingSystems/Microsoft/Windows/2003Server". Categories can be hierarchical. For example, "2003Server" is a subclass of the category "Windows", while the category "Windows," is a subclass of the category "Microsoft", and so on. Another example of a hierarchical category is geographic classification (eg, continent/country/state/region).

給定一節點參考及一類別,該管理器14可以決定該節點是否係該類別(即屬於該類別)之一成員。還可以將一資產群組分類,一網路區域及一網路區域群組亦可如此以。Given a node reference and a category, the manager 14 can determine whether the node is a member of the category (ie, belongs to the category). It is also possible to classify an asset group, as well as a network area and a network area group.

因此,安全分析包括識別與存取一資產模組並檢查類別成員資格。為即時(或接近即時)地執行安全分析,還應即時(或接近即時)地執行該模型識別與存取及類別檢查。此很難實現,因為每分鐘產生數千個事件,而每一事件指示一或多個節點參考。例如,一5,000個事件/秒與4個節點參考/事件之一事件速率產生20,000個節點參考/秒。對於每一節點參考,識別其資產模型並執行若干類別成員資格檢查。Therefore, security analysis involves identifying and accessing an asset module and checking category membership. To perform security analysis on-the-fly (or near-instantaneous), the model identification and access and category checking should also be performed on-the-fly (or near-instantaneous). This is difficult to achieve because thousands of events are generated per minute, and each event indicates one or more node references. For example, one of 5,000 events/second and one of the four node reference/event events yields 20,000 node references/second. For each node reference, identify its asset model and perform several categories of membership checks.

管理器架構Manager architecture

圖2係依據一具體實施例之一用作一安全性資訊/事件管理系統10之一管理器14的電腦200之一高階方塊圖。圖中顯示耦合至一匯流排204之至少一處理器202。一記憶體206、一儲存裝置208、一鍵盤210、一圖形轉接器212、一指向裝置214及一網路轉接器216亦耦合至該匯流排204。在一具體實施例中,該匯流排204之功能性係藉由一互連晶片組來提供。一顯示器218係耦合至該圖形轉接器212。2 is a high level block diagram of a computer 200 used as a manager 14 of a security information/event management system 10 in accordance with one embodiment. At least one processor 202 coupled to a bus bar 204 is shown. A memory 206, a storage device 208, a keyboard 210, a graphics adapter 212, a pointing device 214, and a network adapter 216 are also coupled to the bus bar 204. In one embodiment, the functionality of the busbar 204 is provided by an interconnected chip set. A display 218 is coupled to the graphics adapter 212.

該儲存裝置208係能夠保存資料之任何裝置,例如硬碟機、光碟唯讀記憶體(CD-ROM)、DVD或一固態記憶體裝置。該記憶體206保存該處理器202所使用的指令及資料。該指向裝置214可以係一滑鼠、軌跡球或其他類型的指向裝置,且係與該鍵盤210組合用於將資料輸入進該電腦200。該圖形轉接器212在該顯示器218上顯示影像及其他資訊。該網路轉接器216將該電腦200耦合至一區域或廣域網路。The storage device 208 is any device capable of storing data, such as a hard disk drive, a compact disk read only memory (CD-ROM), a DVD, or a solid state memory device. The memory 206 stores instructions and data used by the processor 202. The pointing device 214 can be a mouse, trackball or other type of pointing device and is used in conjunction with the keyboard 210 for inputting data into the computer 200. The graphics adapter 212 displays images and other information on the display 218. The network switch 216 couples the computer 200 to a regional or wide area network.

如此項技術中所習知,除圖2所示者外,一電腦200可以具有不同組件及/或其他組件。此外,該電腦200可能缺少特定的圖示組件。例如,用作一管理器14之一電腦200可能缺少一鍵盤210、指向裝置214、圖形轉接器212及/或顯示器218。此外,該儲存裝置208可以係在該電腦200本端及/或遠端(例如,具體化於一儲存區域網路(SAN)內)。As is known in the art, a computer 200 can have different components and/or other components than those shown in FIG. Additionally, the computer 200 may lack specific graphical components. For example, computer 200, which is used as a manager 14, may lack a keyboard 210, pointing device 214, graphics adapter 212, and/or display 218. In addition, the storage device 208 can be attached to the local and/or remote end of the computer 200 (eg, embodied in a storage area network (SAN)).

一軟體代理程式12(例如來自加州Cupertino的ArcSight公司之SmartConnector)從一感測器接收關於一網路節點之一訊息。該代理程式12接著處理該訊息以產生一事件。在一 具體實施例中,一事件表示包括一或多個欄位之一資料結構,其中每一欄位可包含一值。依據從該感測器接收的訊息來決定一欄位之值。該代理程式向一管理器14(例如,來自ArcSight公司的企業安全管理軟體)傳送該事件以供儲存及分析。A software agent 12 (such as the SmartConnector from ArcSight, Inc. of Cupertino, Calif.) receives information about a network node from a sensor. The agent 12 then processes the message to generate an event. In a In a specific embodiment, an event representation includes a data structure of one or more fields, wherein each field can include a value. The value of a field is determined based on the message received from the sensor. The agent transmits the event to a manager 14 (eg, enterprise security management software from ArcSight) for storage and analysis.

該管理器14包括一稱為事件資產解析器(EAR)之一模組(未顯示)。回顧一事件可包括一節點參考。該EAR模組將此節點參考與其對應的資產模型關聯並藉由一唯一識別符(ID)來標記該節點參考。例如,該EAR模組藉由將該ID儲存於該節點參考之資產ID欄位(其先前係空欄位)中來修改該事件。在一具體實施例中,一事件包括對四個節點之參考:網路流量來源、網路流量目的地、代理程式主機及報告事件之感測器主機。對於每一節點參考,該EAR模組將該節點參考與其對應的資產模型相關並藉由一唯一ID來標記該節點參考。The manager 14 includes a module (not shown) called an event asset parser (EAR). Reviewing an event can include a node reference. The EAR module associates this node reference with its corresponding asset model and marks the node reference with a unique identifier (ID). For example, the EAR module modifies the event by storing the ID in the asset ID field of the node reference (which was previously empty). In one embodiment, an event includes references to four nodes: a network traffic source, a network traffic destination, an agent host, and a sensor host that reports events. For each node reference, the EAR module associates the node reference with its corresponding asset model and marks the node reference with a unique ID.

圖3係解說依據一具體實施例在一安全性資訊/事件管理系統10之一管理器14內的模組之一高階方塊圖。如圖3所示,一管理器14之一具體實施例包括一識別符模組300與一類別模組310。除圖中所示模組外,其他具體實施例還可以具有不同及/或額外的模組。例如,該管理器14可包含圖1所示模組,但圖3為簡潔起見而省略此等模組。此外,該等功能可以係以不同於本文所述之一方式分佈於該等模組之間。3 is a high level block diagram of a module within a manager 14 of a security information/event management system 10 in accordance with an embodiment. As shown in FIG. 3, one embodiment of a manager 14 includes an identifier module 300 and a category module 310. In addition to the modules shown in the figures, other embodiments may have different and/or additional modules. For example, the manager 14 can include the modules shown in FIG. 1, but FIG. 3 omits such modules for the sake of brevity. Moreover, the functions may be distributed among the modules in a manner different from that described herein.

該識別符模組300提供與一指派給一網路節點的唯一識 別符(ID)相關之功能性。在一具體實施例中,一ID係以整數為基礎(例如,以原始資料型別"int"表示之一值)。在一具體實施例中,一ID係"本端"唯一。例如,其在一特定管理器14內係唯一但橫跨多個管理器不一定係唯一。在另一具體實施例中,一ID係一通用唯一識別符(UUID)或一全球唯一唯識符(GUID)。在此具體實施例中,一ID係"全球"唯一。例如,其橫跨多個管理器係唯一。儲存一UUID或GUID所需要的記憶體數量至少係16個位元組。儲存一以整數為基礎的值需要較少的記憶體。由於可能需要將超過一百萬個ID同時儲存於記憶體內,因而此記憶體之差異較明顯。The identifier module 300 provides unique knowledge associated with a network node Do not match (ID) related functionality. In a specific embodiment, an ID is based on an integer (eg, a value of one of the original data types "int"). In a specific embodiment, an ID is "local" unique. For example, it is unique within a particular manager 14 but not necessarily unique across multiple managers. In another embodiment, an ID is a Universally Unique Identifier (UUID) or a Globally Unique Identifier (GUID). In this particular embodiment, an ID is "global" unique. For example, it is unique across multiple managers. The amount of memory required to store a UUID or GUID is at least 16 bytes. Storing an integer-based value requires less memory. This memory is more distinct because more than one million IDs may need to be stored in memory at the same time.

在一具體實施例中,該ID係用於獲得對應於ID所關聯的網路節點之一資產模型。例如,一資產管理模組(未顯示)保持資產模型資訊並在接受使用一ID所作之查詢時傳回一資產模型。一資產模型係以(例如)一物件資料結構(採用一諸如Java之類物件導向程式化語言)來表示。在另一具體實施例中,該ID係用於決定該網路節點是否係一特定類別之一成員。In a specific embodiment, the ID is used to obtain an asset model corresponding to one of the network nodes associated with the ID. For example, an asset management module (not shown) maintains asset model information and returns an asset model when accepting queries made using an ID. An asset model is represented, for example, by an object data structure (using an object-oriented stylized language such as Java). In another embodiment, the ID is used to determine whether the network node is a member of a particular category.

在圖示具體實施例中,該識別符模組300包括一查閱模組320、一管理模組330、一間隙表340及一或多個查閱表350。該查閱模組320依據該網路節點之各種特徵來決定一網路節點之ID。在該事件內的節點參考中存在此等特徵,如上所述。依據該節點之IP位址、主機名稱、網路區域及/或媒體存取控制(MAC)位址來決定一特定網路節點之ID。 在一具體實施例中,此等各條資訊係用作置入一或多個查閱資料結構(查閱表350,如下所述)之索引鍵。若一查閱獲得成功(例如,找到該索引鍵所關聯之一值),則傳回該值(其係該節點的資產模型之ID)。In the illustrated embodiment, the identifier module 300 includes a lookup module 320, a management module 330, a gap table 340, and one or more lookup tables 350. The lookup module 320 determines the ID of a network node based on various characteristics of the network node. These features exist in the node reference within the event, as described above. The ID of a particular network node is determined based on the node's IP address, host name, network area, and/or media access control (MAC) address. In one embodiment, the pieces of information are used as index keys for placing one or more lookup data structures (refer to table 350, as described below). If a lookup is successful (for example, finding a value associated with the index key), the value is returned (which is the ID of the asset model of the node).

圖4係顯示依據一具體實施例決定一網路節點所關聯之一識別符之一方法之一流程圖。在該方法400開始前,已接收關於一網路節點之資訊。此資訊包括以下各項之一或多項:該節點之IP位址、網路區域、主機名稱及MAC位址。4 is a flow chart showing one of the methods of determining one of the identifiers associated with a network node in accordance with an embodiment. Information about a network node has been received prior to the start of the method 400. This information includes one or more of the following: the IP address, network area, host name, and MAC address of the node.

藉由使用該節點之MAC位址來嘗試一查閱410。若由此產生一成功的匹配,則傳回該ID 420。若該MAC查閱不產生一成功的匹配,則藉由使用該節點之IP位址及網路區域來嘗試一查閱430。若由此產生一成功的匹配,則傳回該ID 420。若該IP查閱不產生一成功的匹配,則藉由使用該節點之主機名稱及網路區域來嘗試一查閱440。若由此產生一成功的匹配,則傳回該ID 420。若該主機名稱查閱不產生一成功的匹配,則藉由使用在該節點的網路區域內涵蓋該節點的IP位置之一資產範圍來嘗試一查閱450。若由此產生一成功的匹配,則傳回該ID 420。在一具體實施例中,每一查閱之嘗試順序(MAC查閱、IP查閱、主機名稱查閱及資產範圍查閱)係可組態的。A lookup 410 is attempted by using the MAC address of the node. If a successful match is thus generated, the ID 420 is returned. If the MAC lookup does not result in a successful match, then a lookup 430 is attempted by using the node's IP address and network area. If a successful match is thus generated, the ID 420 is returned. If the IP lookup does not result in a successful match, then a lookup 440 is attempted by using the host name and network region of the node. If a successful match is thus generated, the ID 420 is returned. If the host name lookup does not result in a successful match, then a lookup 450 is attempted by using an asset range that covers one of the node's IP locations within the network region of the node. If a successful match is thus generated, the ID 420 is returned. In one embodiment, the order of each review (MAC lookup, IP lookup, host name lookup, and asset range lookup) is configurable.

該查閱模組320使用該等查閱表350來依據該網路節點之各種特徵決定一網路節點之ID。在一具體實施例中,有四類查閱表350:IP位址/網路區域查閱表、主機名稱/網路區 域查閱表、MAC位址查閱表及資產範圍查閱表。藉由該資產管理模組(如上所述)來填充該等查閱表之每一查閱表。IP位址/網路區域查閱The lookup module 320 uses the lookup tables 350 to determine the ID of a network node based on various characteristics of the network node. In one embodiment, there are four types of lookup tables 350: IP address/network area lookup table, host name/network area Domain lookup table, MAC address lookup table, and asset scope lookup table. Each lookup table of the lookup tables is populated by the asset management module (described above). IP address / network area view

在一具體實施例中,一IP位址查閱表使用該原始資料型別"int"(整數)之索引鍵及值。用於執行一查閱之一索引鍵係表示一IP位址之一32位元整數。藉由一查閱傳回之值係對應資產模型之整數ID。由於IP位址僅在一網路區域內係唯一,因此每一網路區域具有其自己的IP查閱表。In one embodiment, an IP address lookup table uses the index key and value of the original data type "int" (integer). One of the index keys used to perform a lookup represents a 32-bit integer representing one of the IP addresses. The value returned by a lookup is the integer ID of the corresponding asset model. Since the IP address is unique within a network area, each network area has its own IP lookup table.

在一具體實施例中,該查閱表係自訂並最佳化為呈現較低的記憶體使用及/或高速度。最佳化的表可以係一雜湊映射或一陣列。In a specific embodiment, the lookup table is customized and optimized to present lower memory usage and/or high speed. The optimized table can be a hash map or an array.

圖5顯示用於一IP位址查閱表之範例性資料結構。圖示資料結構包括一開放定址雜湊映射500與一直接存取陣列510。在開放定址雜湊映射之習知實施方案中,使用三個陣列:一陣列用於儲存索引鍵、一陣列用於儲存值而一陣列用於指示各對索引鍵與值是否有效。在此,索引鍵(IP位址)與值(ID)係一起儲存於一單一整數陣列500中。在圖示具體實施例中,一索引鍵及其關聯值係彼此相鄰(例如,彼此鄰接)地放置於該陣列中以獲得更佳的快取記憶體局部性。換言之,藉由使用一陣列而讓一索引鍵陣列與一值陣列之值交錯來實施一開放定址雜湊映射。藉由使用一單一陣列來實施一開放定址雜湊映射已為熟習此項技術者所習知,而在資料結構/雜湊表維基書本中對此進行說明,請見http://en.wikibooks.org/wiki/Data_Structures/Hash_Tables。Figure 5 shows an exemplary data structure for an IP address lookup table. The illustrated data structure includes an open addressed hash map 500 and a direct access array 510. In a conventional implementation of open addressing hash mapping, three arrays are used: one for storing index keys, one for storing values, and one for indicating whether pairs of index keys and values are valid. Here, the index key (IP address) is stored in a single integer array 500 along with the value (ID). In the illustrated embodiment, an index key and its associated values are placed adjacent to each other (e.g., adjacent to one another) in the array for better cache memory locality. In other words, an open addressing hash map is implemented by interleaving an index key array with the value of a value array using an array. Implementing an open addressing hash map by using a single array is well known to those skilled in the art and is described in the Data Structure/Hash Table Wikibook, available at http://en.wikibooks. Org/wiki/Data_Structures/Hash_Tables.

定IP位址在一網路區域內可能無效。在一具體實施例中,在一查閱資料結構中使用一無效位址來指示對應的值(在此係一ID)為空。The fixed IP address may not be valid in a network area. In one embodiment, an invalid address is used in a lookup data structure to indicate that the corresponding value (here an ID) is empty.

或者,可以使用一直接存取陣列510,其中將每一值(在此係一ID)儲存為該陣列之一元素。該元素在該陣列內的索引係依據該索引鍵(在此,係一IP位址)來決定。在一具體實施例中,一索引等於在一特定位址範圍內之一IP位址之偏移。例如,對包括在從192.168.0.100至192.168.0.200範圍內的IP位址之一網路區域加以考量。該IP位址192.168.0.150將具有一等於50之索引,因為其偏移係從該範圍的下部端起50。因此,會將其ID儲存於array[50],其中array係該陣列之名稱,而50係置入進該陣列之索引。以此方式,不必儲存一索引鍵。替代地,將其轉換為一索引,接著使用該索引來存取該陣列之一特定元素。Alternatively, a direct access array 510 can be used in which each value (here an ID) is stored as an element of the array. The index of the element within the array is determined by the index key (here, an IP address). In a specific embodiment, an index is equal to an offset of one of the IP addresses within a particular address range. For example, consider a network area that includes one of the IP addresses ranging from 192.168.0.100 to 192.168.0.200. The IP address 192.168.0.150 will have an index equal to 50 because its offset is 50 from the lower end of the range. Therefore, its ID is stored in array[50], where array is the name of the array and 50 is placed into the index of the array. In this way, it is not necessary to store an index key. Alternatively, it is converted to an index, which is then used to access a particular element of the array.

對另一網路區域及其IP位址範圍(例如,192.168.0.0至192.168.0.255)加以考量。若在該範圍內之IP位址係密集填充(此將係實際情況),則使用一直接陣列。由此在保存記憶體時提供較快查閱,因為不必在該查閱表中明確儲存該等IP位址。Consider another network area and its IP address range (for example, 192.168.0.0 to 192.168.0.255). If the IP address within this range is densely populated (this would be the case), then a direct array is used. This provides a faster lookup when saving the memory, as it is not necessary to explicitly store the IP addresses in the lookup table.

若IP位址僅係稀疏填充於一網路區域內,則使用直接陣列查閱會產生相當大的記憶體負擔,而替代地使用一雜湊映射。在一具體實施例中,用於該IP位址查閱表之內部資料結構型別係依據該網路區域所關聯的IP位址內之IP位址使用(例如,填充密度)。可以按需要在陣列查閱510與雜湊 查閱500之間切換該資料結構(例如,若IP位址填充密度改變)。If the IP address is only sparsely populated in a network area, direct array lookups can create a significant memory burden, instead using a hash map. In one embodiment, the internal data structure type for the IP address lookup table is based on the IP address usage (eg, padding density) within the IP address associated with the network region. You can view 510 and hashes in the array as needed. Switch the data structure between 500s (for example, if the IP address fill density changes).

主機名稱/網路區域查閱Host name / network area view

由於主機名稱僅在一網路區域內係唯一,因此每一網路區域具有其自己的主機名稱IP查閱表。在一具體實施例中,該查閱表係自訂並最佳化為呈現較低的記憶體使用及/或高速度。Since the host name is unique within a network area, each network area has its own host name IP lookup table. In a specific embodiment, the lookup table is customized and optimized to present lower memory usage and/or high speed.

在一具體實施例中,藉由使用兩個查閱表來執行主機名稱查閱。可以將每一查閱表實施為一雜湊映射或一陣列。圖6顯示用於執行主機名稱查閱之兩個查閱表。為簡單起見,以列/行格式解說該等查閱表,其中每一清單示一對索引鍵/值。In a specific embodiment, host name lookup is performed by using two lookup tables. Each lookup table can be implemented as a hash map or an array. Figure 6 shows two lookup tables for performing host name lookups. For simplicity, the lookup tables are illustrated in a column/row format, with each list showing a pair of index keys/values.

一主機名稱係分成兩個部分:機器名稱與網域名稱。例如,該主機名稱"test.arcsight.com"係分成"測試"(機器名稱)與"arcsight.com"(網域名稱)。一第一查閱表600使用原始資料型別"字串"之索引鍵與原始資料型別"int"(整數)之值。用於執行一查閱之一索引鍵係表示一網域名稱稱之一字串(解說為"DN1")。藉由一查閱傳回之值係對與該網域名稱所關聯的第二表610之一整數參考(解說為"Ref1")。此舉避免由於儲存同一網域名稱之多個副本而浪費記憶體空間。A host name is divided into two parts: the machine name and the domain name. For example, the host name "test.arcsight.com" is divided into "test" (machine name) and "arcsight.com" (domain name). A first lookup table 600 uses the index key of the original data type "string" and the value of the original data type "int" (integer). One of the index keys used to perform a lookup represents a string of domain names (illustrated as "DN1"). The value returned by a lookback is an integer reference to one of the second tables 610 associated with the domain name (illustrated as "Ref1"). This avoids wasting memory space by storing multiple copies of the same domain name.

一第二查閱表610使用該原始資料型別"int"(整數)之索引鍵及值。用於執行一查閱之一索引鍵係表示一機器名稱與一網域名稱之一整數(解說為"MN1/DN1")(參見下文所述 範例性實施方案)。藉由一查閱傳回之值係對應資產模型之整數ID(解說為"ID1")。A second lookup table 610 uses the index key and value of the original data type "int" (integer). One of the index keys used to perform a lookup represents an integer of one machine name and one domain name (illustrated as "MN1/DN1") (see below) Exemplary embodiment). The value returned by a lookup is the integer ID of the corresponding asset model (illustrated as "ID1").

在一具體實施例中,用於該第二查閱表610之一索引鍵係依據該機器名稱之一整數雜湊與該網域名稱之整數參考(例如,如該網域名稱表中所儲存)。在一具體實施例中,一機器名稱係儲存為用於壓縮儲存之一UTF-8(8位元UCS/Unicode轉換格式)位元組陣列。若採用Java,則將一字元編碼為UTF-16,此針對每一字元需要2位元組的記憶體。若該機器名稱僅包含ASCII字元,則UTF-8編碼針對每一字元僅需要1位元組,此在大多數時間係實際情況。(DoD網際網路主機表規格(RFC 952)指定一主機名稱應僅包含ASCII字元。)In one embodiment, one of the index keys for the second lookup table 610 is an integer reference of the one of the machine names and an integer reference to the domain name (eg, as stored in the domain name table). In one embodiment, a machine name is stored as a UTF-8 (8-bit UCS/Unicode conversion format) byte array for compressed storage. If Java is used, a character is encoded as UTF-16, which requires 2 bytes of memory for each character. If the machine name contains only ASCII characters, UTF-8 encoding requires only 1 byte for each character, which is the case for most of the time. (The DoD Internet Host Table Specification (RFC 952) specifies that a host name should contain only ASCII characters.)

在開放定址雜湊映射之習知實施方案中,使用三個陣列:一陣列用於儲存索引鍵、一陣列用於儲存值而一陣列用於指示各對索引鍵與值是否有效。在此,對於該第二查詢表610,將索引鍵(表示一機器名稱與一網域名稱之整數)與值(ID)一起儲存於一單一整數陣列中。一索引鍵及其關聯值係彼此相鄰(例如,彼此鄰接)地放置於該陣列中以獲得更佳的快取記憶體局部性。換言之,藉由使用一陣列而讓一索引鍵陣列與一值陣列之值交錯來實施一開放定位雜湊映射。In a conventional implementation of open addressing hash mapping, three arrays are used: one for storing index keys, one for storing values, and one for indicating whether pairs of index keys and values are valid. Here, for the second lookup table 610, an index key (indicating a machine name and an integer of a domain name) and a value (ID) are stored together in a single integer array. An index key and its associated values are placed adjacent to each other (e.g., adjacent to one another) in the array for better cache memory locality. In other words, an open positioning hash map is implemented by interleaving an index key array with the value of a value array using an array.

在一具體實施例中,藉由針對每一表項目使用一整數陣列(例如,每一主機名稱對應一陣列)來實施該第二查閱表610。此陣列包括機器名稱UTF-8位元組陣列、機器名稱雜 湊碼、網域名稱參考及關聯ID。由於未使用物件,因此與其關聯的負擔得到避免,從而進一步減少記憶體之使用。還改良快取記憶體單元之局部性,從而增加效能。In one embodiment, the second lookup table 610 is implemented by using an integer array for each table entry (eg, each host name corresponds to an array). This array includes the machine name UTF-8 byte array, machine name miscellaneous Code, domain name reference and association ID. Since the object is not used, the burden associated with it is avoided, further reducing the use of memory. It also improves the locality of the cache memory unit, thereby increasing performance.

在開放定址雜湊映射中,計算一雜湊,提取該點處之項目,並測試該索引鍵以決定是否存在一位元。在此,該網域名稱係結合該第一表600用於獲得該網域名稱參考。在一具體實施例中,為使得索引鍵檢查最佳化,將所獲得之參考(一整數)與儲存於該項目中的參考(亦為一整數)相比較。接著,將該機器名稱之一雜湊(一整數,其係作為用於此查閱的雜湊計算之部分來計算)與儲存於該項目中的雜湊(亦為一整數)相比較。最後,將該機器名稱字串與儲存於該項目中的字串相比較。所傳回的值係與給定主機名稱關聯的資產模型之整數ID。In the open addressing hash map, a hash is computed, the item at that point is extracted, and the index key is tested to determine if a single element exists. Here, the domain name is used in conjunction with the first table 600 to obtain the domain name reference. In a specific embodiment, to optimize the index key check, the obtained reference (an integer) is compared to a reference (also an integer) stored in the item. Next, one of the machine names is hashed (an integer, which is calculated as part of the hash calculation for this lookup), compared to the hash (also an integer) stored in the item. Finally, the machine name string is compared to the string stored in the project. The value returned is the integer ID of the asset model associated with the given host name.

MAC位址查閱MAC address view

該MAC查閱表600使用原始資料型別"長"(長整數)之索引鍵與原始資料型別"int"(整數)之值。用於執行一查閱之一索引鍵係表示一MAC位址之一64位元整數。藉由一查閱傳回之值係對應資產模型之整數ID。由於MAC位址係全球唯一,因此使用僅一MAC查閱表。The MAC lookup table 600 uses the index key of the original data type "long" (long integer) and the value of the original data type "int" (integer). One of the index keys used to perform a lookup represents a 64-bit integer representing a MAC address. The value returned by a lookup is the integer ID of the corresponding asset model. Since the MAC address is globally unique, only one MAC lookup table is used.

在一具體實施例中,該查閱表係自訂並最佳化為呈現較低的記憶體使用及/或高速度。所自訂的表可以係一雜湊映射或一陣列。In a specific embodiment, the lookup table is customized and optimized to present lower memory usage and/or high speed. The customized table can be a hash map or an array.

圖7顯示用於一MAC位址查閱表之一範例性資料結構。圖示資料結構係一開放定址雜湊映射700。在開放定址雜 湊映射之習知實施方案中,使用三個陣列:一陣列用於儲存索引鍵、一陣列用於儲存值而一陣列用於指示各對索引鍵與值是否有效。在此,索引鍵(MAC位址)與值(ID)係一起儲存於一單一整數陣列中。一索引鍵及其關聯值係彼此相鄰(例如,彼此鄰接)地放置於該陣列中以獲得更佳的快取記憶體局部性。換言之,藉由使用一陣列而讓一索引鍵陣列與一值陣列之值交錯來實施一開放定位雜湊映射。Figure 7 shows an exemplary data structure for a MAC address lookup table. The illustrated data structure is an open addressing hash map 700. Open location miscellaneous In a conventional implementation of mapping, three arrays are used: one for storing index keys, one for storing values, and one for indicating whether pairs of index keys and values are valid. Here, the index key (MAC address) is stored in a single integer array along with the value (ID). An index key and its associated values are placed adjacent to each other (e.g., adjacent to one another) in the array for better cache memory locality. In other words, an open positioning hash map is implemented by interleaving an index key array with the value of a value array using an array.

特定的MAC位址可能無效。在一具體實施例中,在一查閱資料結構中使用一無效位址來指示對應的值(在此係一ID)為空。A specific MAC address may be invalid. In one embodiment, an invalid address is used in a lookup data structure to indicate that the corresponding value (here an ID) is empty.

資產範圍查閱Asset range review

用於執行一查閱之一索引鍵係一起表示一IP位址範圍之一對IP位址。藉由一查閱傳回之值係對應資產模型之整數ID。由於IP位址僅在一網路區域內係唯一,因此每一網路區域具有其自己的資產範圍查閱表。在執行該查閱之前,檢查所關注之IP位址以便決定將包括該IP位址之IP位址範圍。One of the index keys used to perform a lookup together represents one of the IP address ranges to the IP address. The value returned by a lookup is the integer ID of the corresponding asset model. Since the IP address is unique within a network area, each network area has its own asset range lookup table. Before performing the lookup, the IP address of interest is checked to determine the range of IP addresses that will include the IP address.

該管理模組330追蹤已將哪些ID指派給網路節點而哪些ID尚未指派。該管理模組330在接到請求時還提供一ID(例如,用於與一新網路節點關聯)。ID係彼此接近而建立以使得其間的間隙最小化。當從一系統移除網路節點(及其關聯資產模型)時,間隙可能開始出現於所使用的ID之間。在一具體實施例中,該管理模組330對ID之間的間隙作如下管理:在初始載入之時,建立一間隙表(間隙表 340)。當添加一新網路節點(以及由此建立一新的資產模型)時,指派一ID。若存在一間隙,則使用在一間隙內之一現有的ID。若一間隙不存在,則建立並使用一新ID。The management module 330 tracks which IDs have been assigned to the network node and which IDs have not been assigned. The management module 330 also provides an ID when requested (eg, for association with a new network node). The IDs are established close to each other to minimize the gap therebetween. When a network node (and its associated asset model) is removed from a system, gaps may begin to appear between the IDs used. In a specific embodiment, the management module 330 manages the gap between the IDs as follows: at the time of initial loading, a gap table is created (gap table) 340). An ID is assigned when a new network node is added (and thus a new asset model is created). If there is a gap, one of the existing IDs in a gap is used. If a gap does not exist, a new ID is created and used.

該管理模組330使用該間隙表340來管理ID之間的間隙,如上所述。The management module 330 uses the gap table 340 to manage the gaps between the IDs, as described above.

該類別模組310提供與類別相關之功能性。回顧可以將一網路節點(資產)分類以便描述其特性。一類別係實施為一"群組"。例如,為了指定一特定節點正在執行Windows 2003伺服器作業系統,將該節點之資產放置於群組"/AllCategories/OperatingSystems/Microsoft/Windows/2003Server"中。類別可以係階層式。例如,"2003Server"係類別"Windows"之一子類,而類別"Windows"係類別"Microsoft"之一子類,以此類推。階層式類別之另一範例係地理分類(例如,洲/國家/州/區域)。還可以將一資產群組分類,一網路區域及一網路區域群組亦可如此。The category module 310 provides functionality related to the category. A review can classify a network node (asset) to describe its characteristics. One category is implemented as a "group." For example, to specify that a particular node is executing a Windows 2003 server operating system, the node's assets are placed in the group "/AllCategories/OperatingSystems/Microsoft/Windows/2003Server". Categories can be hierarchical. For example, "2003Server" is a subclass of the category "Windows", while the category "Windows" is a subclass of the category "Microsoft", and so on. Another example of a hierarchical category is geographic classification (eg, continent/country/state/region). It is also possible to classify an asset group, as well as a network area and a network area group.

在圖示具體實施例中,該類別模組310包括一查閱模組360、一管理模組370、類別資料380及更新資料390。該查閱模組360決定一特定網路節點(資產)是否係一特定類別(即,屬於一特別類別)之一成員。例如,一問題可能係"此資產是否係此類別或任何子嗣類別之一成員?"為作此決定,該類別模組310使用類別資料380。In the illustrated embodiment, the category module 310 includes a lookup module 360, a management module 370, category information 380, and update data 390. The lookup module 360 determines whether a particular network node (asset) is a member of a particular category (ie, belonging to a particular category). For example, a question may be "Is this asset a member of this category or any of the subcategories?" To make this decision, the category module 310 uses the category material 380.

該類別資料380使用一遞移閉包(TC)來模型化可以附加至一資產模型的分類(特性)之一階層式及動態空間。一TC基本上係一定向非循環圖形(DAG),其中一連結可能存在 於各個源始(ancestor)(一類別或群組)及每一子嗣(descendant)(一資產)之間。一連結之存在指示該子嗣資產係該源始類別或群組之一成員或該源始之子嗣類別或群組中的任何類別或群組之一成員。該連結係構建於已經存在於該DAG中的父子式連結之頂部上。該等TC連結之存在實現O(1)時間效率以檢查一給定的子(資產)是否係任何給定父代(類別或群組)之一子嗣。The category material 380 uses a Recursive Closure (TC) to model one of the hierarchical and dynamic spaces that can be attached to a classification (characteristic) of an asset model. A TC is basically a non-cyclic graph (DAG), where a link may exist. Between each ancestor (a category or group) and each of the descendants (an asset). The presence of a link indicates that the child asset is a member of the source category or group or a member of any of the categories or groups of the source. The link is built on top of the parent-child link already in the DAG. The existence of such TC links implements O(1) time efficiency to check whether a given child (asset) is one of any given parent (category or group).

考量上述類別階層:AllCategories/OperatingSystems/Microsoft/Windows/2003Server。吾等對知道一網路節點是否正在執行作業系統不如對知道該節點正在執行一般的Microsoft作業系統(例如,可以係任何類型)感興趣。若在"Microsoft"類別與該節點之間不存在連結,則將必須執行一樹狀尋訪(tree walk)。例如,一尋訪可能開始於該Microsoft類別而向下在子嗣之間搜尋一匹配。或者,一尋訪可能開始於該網路節點而向上搜尋。一樹狀尋訪耗費不可預測時間量,而從理論上總會比一針對在所有源始類別與所有子嗣類別之間的連結之一完整清單(即,一遞移閉包)所進行的O(1)查閱耗費更大。使用一TC之缺點係其需要儲存許多資訊。例如,宗嗣(ancestor-descendant)連結數目之數目指數性地大於父子式連結(parent-child)之數目。Consider the above categories: AllCategories/OperatingSystems/Microsoft/Windows/2003Server. We are interested in knowing whether a network node is performing an operating system or not knowing that the node is performing a general Microsoft operating system (eg, can be of any type). If there is no link between the "Microsoft" category and the node, then a tree walk will have to be performed. For example, a search may begin in the Microsoft category and search for a match between the children. Alternatively, a search may begin with the network node and search upwards. A tree-like search consumes an unpredictable amount of time, and in theory is always better than a complete list (ie, a recursive closure) for a complete list (ie, a recursive closure) between all source categories and all child categories. The review is more expensive. The disadvantage of using a TC is that it requires a lot of information to be stored. For example, the number of ancestor-descendant links is exponentially greater than the number of parent-child links.

表示該遞移閉包之資料結構將用於速度為每秒5,000個事件與每一事件4個節點參考以及每一節點參考100個類別成員資格檢查(對應於每秒共2,000,000個檢查)之即時查閱。若該資料結構(例如,最近用得最少者,即LRU)係儲 存於二級儲存器或以一習知方式快取,則類別檢查之效能既不會快亦無法預測。在一具體實施例中,該TC資料結構係以一索引方式儲存於記憶體中以便可以快速執行類別成員資格檢查。The data structure representing the recursive closure will be used for instant reference of 5,000 events per second with 4 nodes per event reference and 100 categories of membership checks per node (corresponding to 2,000,000 checks per second) . If the data structure (for example, the least recently used, ie LRU) When stored in a secondary storage or cached in a conventional manner, the performance of the category check is neither fast nor predictable. In one embodiment, the TC data structure is stored in memory in an indexed manner so that category membership checks can be performed quickly.

在一具體實施例中,該遞移閉包係作為一位元映射集合儲存於記憶體內,其中一位元映射係一位元陣列,而每一位元儲存一布林值(Boolean Value)。此類似於位元映射索引。在此,一位元映射對應於一特定的資產類別或群組。一位元映射中之一0/1位元表示該特定資產類別/群組與一資產之間是否存在一連結。若有1百萬個資產與1,000個資產類別/群組,則可能需要1百萬*1,000=10億個位元的儲存器。回顧一資產模型係以一ID(其係一整數值)來識別。在一具體實施例中,此ID用作置入一遞移閉包位元映射之一索引。In a specific embodiment, the recursive closure is stored in the memory as a set of meta-maps, wherein the one-bit mapping is a one-dimensional array, and each bit stores a Boolean Value. This is similar to a bit map index. Here, a one-bit map corresponds to a particular asset class or group. One of the one-dimensional mappings, 0/1, indicates whether there is a link between the particular asset class/group and an asset. If there are 1 million assets and 1,000 asset classes/groups, you may need 1 million * 1,000 = 1 billion bits of storage. Recall that an asset model is identified by an ID (which is an integer value). In a specific embodiment, this ID is used as an index into one of the recursive closure bit maps.

一資產一般係分類於總共1,000個類別中的大約三十個類別中。因此,一特定資產屬於一特定類別之機率係30/1,000=3%。此意味著一位元映射中約3%的位元被設定(即,具有與其他位元不同的值)。因此,一位元映射將十分稀疏。在一具體實施例中,藉由使用一諸如字對齊混合之技術來壓縮一位元映射,以便減小記憶體要求。An asset is generally classified into approximately thirty of a total of 1,000 categories. Therefore, the probability that a particular asset belongs to a particular category is 30/1,000 = 3%. This means that about 3% of the bits in a one-bit map are set (ie, have different values than the other bits). Therefore, a one-bit map will be very sparse. In a specific embodiment, the one-bit mapping is compressed by using a technique such as word-aligned mixing to reduce memory requirements.

當執行一類別檢查時,使用一未經壓縮的位元映射比一經壓縮的位元映射更快。在一具體實施例中,用於接受較頻繁檢查的類別之位元映射係儲存為未經壓縮形式,而用於接受不太頻繁檢查的類別之位元映射係儲存為經壓縮形 式。由此以額外的記憶體要求之一較小代價實現用於大多數檢查之極快的類別檢查,從而增加平均的類別檢查效能。When performing a class check, using an uncompressed bit map is faster than a compressed bit map. In a specific embodiment, the bit map system for accepting the more frequently checked categories is stored in an uncompressed form, and the bit map system for accepting the less frequently checked categories is stored as a compressed form. formula. This results in an extremely fast class check for most inspections at a small cost of additional memory requirements, thereby increasing the average class inspection performance.

該管理模組370按需要更新類別資料380。資產模型可隨時間變化,而將更新遞移閉包資料結構。若一位元映射係經壓縮,則其更新包括將其解壓縮、施加更新並再次對其進行壓縮。在一具體實施例中,直接向相關位元映射施加更新,而無論其是否經壓縮。The management module 370 updates the category information 380 as needed. The asset model can change over time and will update the recursive closure data structure. If a meta-map is compressed, its update includes decompressing it, applying an update, and compressing it again. In a specific embodiment, an update is applied directly to the associated bit map, whether or not it is compressed.

在另一具體實施例中,若一位元映射係經壓縮,則不立即對其進行更新。替代地,暫時儲存該更新(在更新資料390中)並稍後結合其他更新來施加於同一位元映射(例如,經由一週期性(例如每分鐘一次)執行的任務)。由於解壓縮與壓縮一位元映射耗費時間,因此將該位元映射一次解壓縮、執行多次更新並接著壓縮該位元映射會更快。在此具體實施例中,當請求包括一經壓縮位元映射之一類別檢查時,存取暫時更新儲存(更新資料390)來決定是否存在任何更新。若該查閱在暫時更新儲存(其較小而因此支援較快查閱)中失敗,則對經壓縮的位元映射執行一查閱。若一位元映射係未經壓縮,則立即對其進行更新。In another embodiment, if a one-bit map is compressed, it is not immediately updated. Alternatively, the update is temporarily stored (in update material 390) and later applied to the same bit map (eg, via a periodic (eg, once per minute)) in conjunction with other updates. Since decompressing and compressing a one-dimensional mapping is time consuming, it is faster to map the bit map once, perform multiple updates, and then compress the bit map. In this particular embodiment, when the request includes a category check of a compressed bit map, the temporary update store (update data 390) is accessed to determine if there are any updates. If the lookup fails in the temporary update store (which is smaller and therefore supports faster lookup), then a lookup is performed on the compressed bit map. If a meta-map is uncompressed, it is immediately updated.

該管理模組370使用該更新資料390來延遲更新該類別資料380,如上所述。The management module 370 uses the update profile 390 to delay updating the category material 380, as described above.

在本文中以上說明係用於解說較佳具體實施例之操作而無意於限制本發明之範疇。因此,本發明之範疇僅受如下申請專利範圍之限制。從以上說明,熟習此項技術者會明 白本發明之精神及範疇所涵蓋的許多變化。The above description is intended to illustrate the operation of the preferred embodiments and is not intended to limit the scope of the invention. Therefore, the scope of the invention is limited only by the scope of the following claims. From the above description, those skilled in the art will understand Many variations are covered by the spirit and scope of the invention.

10‧‧‧安全性資訊/事件管理系統10‧‧‧Security Information/Event Management System

12‧‧‧代理程式12‧‧‧Agent

14‧‧‧管理器14‧‧‧Manager

16‧‧‧主控台16‧‧‧Main console

18‧‧‧規則引擎18‧‧‧Rules Engine

20‧‧‧集中型事件資料庫20‧‧‧Concentrated event database

22‧‧‧資料庫管理器22‧‧‧Database Manager

24‧‧‧通知器24‧‧‧Notifier

26‧‧‧代理程式管理器26‧‧‧Agent Manager

28‧‧‧知識庫28‧‧‧ Knowledge Base

200‧‧‧電腦200‧‧‧ computer

202‧‧‧處理器202‧‧‧ processor

204‧‧‧匯流排204‧‧‧ Busbar

206‧‧‧記憶體206‧‧‧ memory

208‧‧‧儲存裝置208‧‧‧Storage device

210‧‧‧鍵盤210‧‧‧ keyboard

212‧‧‧圖形轉接器212‧‧‧Graphic Adapter

214‧‧‧指向裝置214‧‧‧ pointing device

216‧‧‧網路轉接器216‧‧‧Network Adapter

218‧‧‧顯示器218‧‧‧ display

300‧‧‧識別符模組300‧‧‧identifier module

310‧‧‧類別模組310‧‧‧Class Module

320‧‧‧查閱模組320‧‧‧Check module

330‧‧‧管理模組330‧‧‧Management module

340‧‧‧間隙表340‧‧‧ gap table

350‧‧‧查閱表350‧‧‧ lookup table

360‧‧‧查閱模組360‧‧‧View Module

370‧‧‧管理模組370‧‧‧Management module

380‧‧‧類別資料380‧‧‧Catalogue Information

390‧‧‧更新資料390‧‧‧Updated information

500‧‧‧開放定址雜湊映射/整數陣列500‧‧‧Open Addressing Hash Mapping/Integer Array

510‧‧‧直接存取陣列510‧‧‧Direct access array

600‧‧‧MAC查閱表600‧‧‧MAC lookup table

610‧‧‧第二查閱表610‧‧‧ second look-up form

700‧‧‧開放定址雜湊映射700‧‧‧Open Addressing Hash Mapping

圖1係解說依據一具體實施例具有一安全性資訊/事件管理系統之一環境之一高階圖。1 is a high level diagram of one of the environments having a security information/event management system in accordance with an embodiment.

圖2係依據一具體實施例之一用作一安全性資訊/事件管理系統之一管理器的電腦之一高階方塊圖。2 is a high level block diagram of a computer used as a manager of a security information/event management system in accordance with one embodiment.

圖3係解說依據一具體實施例在一安全性資訊/事件管理系統之一管理器內的模組之一高階方塊圖。3 is a high level block diagram of a module within a manager of a security information/event management system in accordance with an embodiment.

圖4係顯示依據一具體實施例決定一網路節點所關聯之一識別符之一方法之一流程圖。4 is a flow chart showing one of the methods of determining one of the identifiers associated with a network node in accordance with an embodiment.

圖5顯示用於一IP位址查閱表之範例性資料結構。Figure 5 shows an exemplary data structure for an IP address lookup table.

圖6顯示用於執行主機名稱查閱之兩個查閱表。Figure 6 shows two lookup tables for performing host name lookups.

圖7顯示用於一MAC位址查閱表之一範例性資料結構。Figure 7 shows an exemplary data structure for a MAC address lookup table.

該等圖式僅基於解說目的繪示一具體實施例。熟習此項技術者從以下說明將容易明白,可使用本文所說明的結構及方法之替代具體實施例而不背離本文所說明的原理。The drawings depict a specific embodiment for purposes of illustration only. It will be readily apparent to those skilled in the art from this description that <RTIgt; </ RTI> <RTIgt; </ RTI> <RTIgt; </ RTI> <RTIgt;

14‧‧‧管理器14‧‧‧Manager

300‧‧‧識別符模組300‧‧‧identifier module

310‧‧‧類別模組310‧‧‧Class Module

320‧‧‧查閱模組320‧‧‧Check module

330‧‧‧管理模組330‧‧‧Management module

340‧‧‧間隙表340‧‧‧ gap table

350‧‧‧查閱表350‧‧‧ lookup table

360‧‧‧查閱模組360‧‧‧View Module

370‧‧‧管理模組370‧‧‧Management module

380‧‧‧類別資料380‧‧‧Catalogue Information

390‧‧‧更新資料390‧‧‧Updated information

Claims (18)

一種用以決定一網路節點所關聯之一唯一識別符之方法,其包含:使用該網路節點所關聯之一網際網路協定(IP)位址來查詢一IP位址查閱資料結構;傳回該網路節點所關聯之該唯一識別符;以及執行以下步驟之一:使用該所傳回的唯一識別符來獲得該網路節點所關聯之一資產模型;以及使用該所傳回的唯一識別符來決定該網路節點是否係一類別之一成員。A method for determining a unique identifier associated with a network node, comprising: querying an IP address lookup data structure using one of the Internet Protocol (IP) addresses associated with the network node; Returning the unique identifier associated with the network node; and performing one of the following steps: using the unique identifier returned to obtain an asset model associated with the network node; and using the unique The identifier determines whether the network node is a member of a category. 如請求項1之方法,其中該網路節點所關聯之該唯一識別符係原始資料型別"int"(整數)之一值。The method of claim 1, wherein the unique identifier associated with the network node is one of the original data type "int" (integer). 如請求項1之方法,其中該IP位址查閱資料結構包含一表,該表包含一或多個對,一對包含一特定網路節點所關聯之一IP位址與該特定網路節點所關聯之一唯一識別符。The method of claim 1, wherein the IP address lookup data structure comprises a table comprising one or more pairs, a pair comprising an IP address associated with a particular network node and the particular network node Associate one of the unique identifiers. 如請求項3之方法,其中該網路節點所關聯之該IP位址係該原始資料型別"int"(整數)之一值。The method of claim 3, wherein the IP address associated with the network node is one of the original data type "int" (integer). 如請求項3之方法,其中藉由使用該網路節點所關聯之該IP位址來查詢該IP位址查閱資料結構包含:決定包含該網路節點所關聯的該IP位址之一對。The method of claim 3, wherein querying the IP address lookup data structure by using the IP address associated with the network node comprises: determining to include a pair of the IP address associated with the network node. 如請求項3之方法,其中該表係一開放定址雜湊映射。The method of claim 3, wherein the table is an open addressing hash map. 如請求項3之方法,其中該表係藉由使用僅一陣列來實 施之一開放定址雜湊映射。The method of claim 3, wherein the table is implemented by using only one array One of the open addressing hash maps. 如請求項1之方法,其中該IP位址查閱資料結構包含一陣列,該陣列包含一或多個元素,一元素係儲存於一索引處,該元素包含該特定網路節點所關聯之一唯一識別符,該索引係依據該特定網路節點所關聯之一IP位址來決定。The method of claim 1, wherein the IP address lookup data structure comprises an array comprising one or more elements, an element is stored at an index, the element comprising one of the unique associated with the particular network node The identifier is determined by one of the IP addresses associated with the particular network node. 如請求項8之方法,其中藉由使用該網路節點所關聯之該IP位址來查詢該IP位址查詢資料結構包含:依據該網路節點所關聯之該IP位址來決定一索引。The method of claim 8, wherein the querying the IP address query data structure by using the IP address associated with the network node comprises: determining an index according to the IP address associated with the network node. 如請求項1之方法,其中該IP位址查閱資料結構經組態用以從一以表為基礎的實施方案自動改變為一以陣列為基礎的實施方案。The method of claim 1, wherein the IP address lookup data structure is configured to automatically change from a table-based implementation to an array-based implementation. 如請求項1之方法,其中該IP位址查閱資料結構經組態用以從一以陣列為基礎的實施方案自動改變為一以表為基礎的實施方案。The method of claim 1, wherein the IP address lookup data structure is configured to automatically change from an array-based implementation to a table-based implementation. 如請求項1之方法,其中藉由使用該所傳回的識別符來決定該網路節點是否係該類別之該成員包含:識別一遞移閉包,該遞移閉包包括介於若干源始節點與若干子嗣節點之間的一或多個連結,一源始節點表示一類別、一子嗣節點表示一網路節點,一連結指示一子嗣節點係一源始節點之一成員;藉由使用該所傳回的唯一識別符與該類別來查詢該遞移閉包;以及傳回一布林值,該值指示該網路節點是否係該類別之 該成員。The method of claim 1, wherein the determining, by using the returned identifier, whether the network node is a member of the category comprises: identifying a recursive closure, the recursive closure comprising a plurality of source nodes One or more links between a plurality of child nodes, a source node representing a category, a child node representing a network node, and a link indicating a child node being a member of a source node; Returning the unique identifier with the category to query the transfer closure; and returning a Boolean value indicating whether the network node is in the category The member. 如請求項12之方法,其中藉由使用該所傳回的唯一識別符及該類別來查詢該遞移閉包包含:決定在該所傳回的唯一識別符關聯之一子嗣節點與該類別關聯之一源始節點之間是否存在一連結。The method of claim 12, wherein the recursive closure is queried by using the returned unique identifier and the category: determining that one of the sub-nodes associated with the returned unique identifier is associated with the category Whether there is a link between the originating nodes. 如請求項1之方法,其中藉由使用該所傳回的唯一識別符來決定該網路節點是否係該類別之該成員包含:識別該類別所關聯之一位元映射,該位元映射包含複數個位元,一位元值指示一網路節點是否係該類別之一成員;藉由使用該所傳回的唯一識別符來查詢該位元映射;以及傳回一布林值,該布林值指示該網路節點是否係該類別之該成員。The method of claim 1, wherein determining whether the network node is a member of the category by using the returned unique identifier comprises: identifying a bitmap mapping associated with the category, the bitmap mapping comprising a plurality of bits, a one-bit value indicating whether a network node is a member of the category; querying the bitmap by using the unique identifier returned; and returning a Boolean value, the cloth The forest value indicates whether the network node is the member of the category. 如請求項14之方法,其中藉由使用該所傳回的唯一識別符來查詢該位元映射包含:藉由使用該所傳回的唯一識別符作為一置入該位元映射之索引來識別該位元映射內之一位元;以及傳回該所識別位元之該值。The method of claim 14, wherein the querying the bit map by using the returned unique identifier comprises: identifying by using the returned unique identifier as an index placed in the bit map One bit within the bit map; and returning the value of the identified bit. 一種用以決定一網路節點關聯之一唯一識別符之方法,其包含:藉由使用該網路節點所關聯之一網域名稱來查詢一第一查閱表,該第一查閱表包含一或多個對,一對包含特定網路節點關聯之一網域名稱與對一第二查閱表之一參 考,該第二查閱表包含一或多個對,一對包含該特定網路節點所關聯之一主機名稱與該特定網路節點關聯之一唯一識別符;藉由使用該網路節點關聯之一主機名稱來查詢該第二查閱表;傳回該網路節點關聯之該唯一識別符;以及執行以下步驟之一:使用該所傳回的唯一識別符來獲得該網路節點關聯之一資產模型;以及使用該所傳回的唯一識別符來決定該網路節點是否係一類別之一成員。A method for determining a unique identifier of a network node association, comprising: querying a first lookup table by using a domain name associated with the network node, the first lookup table comprising one or Multiple pairs, one pair containing a domain name associated with a particular network node and one of the second lookup tables The second lookup table includes one or more pairs, one pair of one of the host names associated with the particular network node and one unique identifier associated with the particular network node; associated by using the network node a host name to query the second lookup table; returning the unique identifier associated with the network node; and performing one of the following steps: using the returned unique identifier to obtain an asset associated with the network node The model; and using the unique identifier returned to determine whether the network node is a member of a category. 一種用以決定一網路節點關聯之一唯一識別符之電腦程式產品,該電腦程式產品包含一電腦可讀取媒體,該電腦可讀取媒體包含用以執行一方法之電腦程式碼,該方法包含:藉由使用該網路節點關聯之一網際網路協定(IP)位址來查詢一IP位址查閱表,該IP位址查閱表包含一或多個對,一對包含一特定網路節點關聯之一IP位址與該特定網路節點關聯之一唯一識別符;傳回該網路節點所關聯之該唯一識別符;以及執行以下步驟之一:使用該所傳回的唯一識別符來獲得該網路節點關聯之一資產模型;以及使用該所傳回的唯一識別符來決定該網路節點是否 係一類別之一成員。A computer program product for determining a unique identifier associated with a network node, the computer program product comprising a computer readable medium, the computer readable medium including a computer program code for performing a method, the method Including: querying an IP address lookup table by using one of the Internet Protocol (IP) addresses associated with the network node, the IP address lookup table including one or more pairs, and the pair includes a specific network The node associates one of the IP addresses with one of the unique identifiers associated with the particular network node; returns the unique identifier associated with the network node; and performs one of the following steps: using the unique identifier returned To obtain an asset model associated with the network node; and use the unique identifier returned to determine whether the network node is One of the members of a category. 一種用以決定一網路節點關聯之一唯一識別符之設備,其包含:一查詢模組,其經組態用以藉由使用該網路節點關聯之一網際網路協定(IP)位址來查詢一IP位址查閱表,該IP位址查閱表包含一或多個對,一對包含一特定網路節點關聯之一IP位址與該特定網路節點所關聯之一唯一識別符;一傳回模組,其經組態用以傳回該網路節點關聯之該唯一識別符;以及以下模組之一:一資產模型模組,其經組態用以使用該所傳回的唯一識別符來獲得該網路節點關聯之一資產模型;以及一類別模組,其經組態用以使用該所傳回的唯一識別符來決定該網路節點是否係一類別之一成員。An apparatus for determining a unique identifier of a network node association, comprising: a query module configured to associate an Internet Protocol (IP) address by using the network node Querying an IP address lookup table, the IP address lookup table comprising one or more pairs, a pair of unique identifiers associated with the IP address of a particular network node associated with the particular network node; a return module configured to return the unique identifier associated with the network node; and one of the following modules: an asset model module configured to use the returned A unique identifier to obtain an asset model associated with the network node; and a class module configured to use the unique identifier returned to determine whether the network node is a member of a category.
TW96140086A 2006-10-25 2007-10-25 Real-time identification of an asset model and categorization of an asset to assist in computer network security TWI417737B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US86293006P 2006-10-25 2006-10-25

Publications (2)

Publication Number Publication Date
TW200837571A TW200837571A (en) 2008-09-16
TWI417737B true TWI417737B (en) 2013-12-01

Family

ID=44820251

Family Applications (1)

Application Number Title Priority Date Filing Date
TW96140086A TWI417737B (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

Country Status (1)

Country Link
TW (1) TWI417737B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103827810B (en) * 2011-08-01 2017-12-12 慧与发展有限责任合伙企业 Asset model imports connector

Citations (6)

* 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
TW457785B (en) * 1999-03-12 2001-10-01 Otis Elevator Co Bilevel node identifiers in control area network (CAN) protocol
US20040044791A1 (en) * 2001-05-22 2004-03-04 Pouzzner Daniel G. Internationalized domain name system with iterative conversion
TWI220822B (en) * 2002-06-12 2004-09-01 Inventec Corp Network system with geographical positioning capability and enhanced node-linking capability
US20040230696A1 (en) * 2003-05-15 2004-11-18 Barach David Richard Bounded index extensible hash-based IPv6 address lookup method
TWI254541B (en) * 2002-03-28 2006-05-01 Toshiba Carrier Corp IP address setting method and node of network

Patent Citations (6)

* 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
TW457785B (en) * 1999-03-12 2001-10-01 Otis Elevator Co Bilevel node identifiers in control area network (CAN) protocol
US20040044791A1 (en) * 2001-05-22 2004-03-04 Pouzzner Daniel G. Internationalized domain name system with iterative conversion
TWI254541B (en) * 2002-03-28 2006-05-01 Toshiba Carrier Corp IP address setting method and node of network
TWI220822B (en) * 2002-06-12 2004-09-01 Inventec Corp Network system with geographical positioning capability and enhanced node-linking capability
US20040230696A1 (en) * 2003-05-15 2004-11-18 Barach David Richard Bounded index extensible hash-based IPv6 address lookup method

Also Published As

Publication number Publication date
TW200837571A (en) 2008-09-16

Similar Documents

Publication Publication Date Title
US8108550B2 (en) Real-time identification of an asset model and categorization of an asset to assist in computer network security
US8504537B2 (en) Signature distribution in a document registration system
US10367786B2 (en) Configuration management for a capture/registration system
JP5357777B2 (en) Technology to store log data efficiently while supporting queries to support computer network security
US20070226504A1 (en) Signature match processing in a document registration system
US7996374B1 (en) Method and apparatus for automatically correlating related incidents of policy violations
US20070016951A1 (en) Systems and methods for identifying sources of malware
US7941857B2 (en) Data network and method for checking nodes of a data network
US7644283B2 (en) Media analysis method and system for locating and reporting the presence of steganographic activity
US20090144826A2 (en) Systems and Methods for Identifying Malware Distribution
US20060176822A1 (en) Method, system, service, and computer program product for identifying incorrect domain name to internet protocol (IP) address mappings
US20080177755A1 (en) Creation and persistence of action metadata
US7647398B1 (en) Event query in the context of delegated administration
JP2006521598A (en) Method and system for managing security policies
US20110010633A1 (en) Systems and methods for monitoring and management of network security systems
TWI417737B (en) Real-time identification of an asset model and categorization of an asset to assist in computer network security
Ning et al. Design and implementation of a decentralized prototype system for detecting distributed attacks
Peiravi Application of string matching in Internet Security and Reliability
Solutions et al. Transitioning to the Security Content Automation Protocol (SCAP) Version 2
Lee et al. PCA in ERP environment using the misuse detection system design and implementation of RBAC permissions
Kim et al. The design of XML-based internet security integrated system architecture

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees