具体实施方式
出于简单和说明性目的,通过主要参考实施例的示例来描述实施例的原理。在以下描述中,阐述了许多特定细节以便提供对实施例的透彻理解。将显而易见的是可以在不限于所有特定细节的情况下实施所述实施例。并且,可以以各种组合来将实施例一起使用。
根据实施例,安全信息和事件管理系统(SIEM)从包括网络设备和应用程序的源收集事件数据,并分析该数据以识别网络安全威胁。可以使用根据预定分类对用户数据进行组织的分级参与者分类模型来执行分析。例如,模型按位置、按组织或报告结构、按角色或其他标准来组织用户数据。该模型可以在分级结构中包括多个层级,并且用于确定安全威胁的不同规则可以适用于不同的层级。在层级之间存在父子关系,并且其可以用于层级之中的固有规则。
SIEM还可以存储其他信息以使安全事件与用户相关以识别威胁。该信息可以包括与每个用户相关联的多个帐户ID。该信息还可以包括用户帐户ID历史和用户帐户ID认证者信息。
图1图示出了根据实施例的包括SIEM 110的环境100。环境100包括生成用于安全事件的事件数据的数据源101,该事件数据被SIEM 110收集并存储在数据存储器111中。数据存储器111可以包括存储器和/或非易失性存储器,并且可以包括数据库或其他类型的数据存储系统。数据存储器111存储被SIEM 110用来使事件数据相关并进行分析以识别安全威胁的任何数据。也称为事件的安全事件是可以被分析以确定其是否与安全威胁相关联的任何活动。可以使该活动与被称为参与者的用户相关联以识别安全威胁和该安全威胁的原因。活动可以包括登入、登出、通过网络发送数据、发送电子邮件、访问应用程序、读或写数据等。安全威胁包括被确定为将指示可疑或不适当行为的活动,其可以是通过网络或在连接到网络的系统上执行的。举例来说,公共安全威胁是用户尝试通过网络获得对诸如社会安全号、信用卡号等机密信息的未授权访问。
数据源101可以包括下面描述的网络设备、应用程序或其他类型的数据源,其可操作用于提供可以用来识别网络安全威胁的事件数据。事件数据是描述安全事件的数据。可以在由数据源101生成的日志或消息中捕获事件数据。例如,入侵检测系统(IDS)、入侵预防系统(IPS)、漏洞评估工具、防火墙、反病毒工具、反垃圾邮件工具以及加密工具可以生成描述由该源执行的活动的日志。可以例如由日志文件中的条目或系统日志服务器、警报、警告、网络分组、电子邮件或通知页面来提供事件数据。
事件数据可以包括关于生成该事件的设备或应用程序和从事件源接收到事件的时间(“接收时间”)的信息。该接收时间可以是日期/时间戳,并且事件源是网络端点标识符(例如IP地址或媒体访问控制(MAC)地址)和/或源的描述,可能包括关于产品的供应商和版本的信息。日期/时间戳、源信息及其他信息用来使事件与用户相关并针对安全威胁分析该事件。
可以以包括一个或多个字段的数据结构来组织事件数据,其中,每个字段可以包含值。可以以任何格式来提供事件数据。SIEM 110可以将事件数据归一化成结构化格式或模式。此归一化可以包括将事件数据映射到事件的结构化表示中的适当字段。该映射操作使用关于事件的格式的知识,并且可以在开发时指定。
数据源101的示例在图1中被示为轻量级目录访问协议(LDAP)、数据库(DB)、UNIX、App1和App2。LDAP、DB和UNIX是包括诸如服务器的网络设备的系统,并且可以生成事件数据。App1和App2是例如分别由LDAP和DB系统主控、并且还生成事件数据的应用程序。由SIEM 110收集的事件数据在图1中被示为“事件”。
数据源101的其他示例可以包括安全检测和代理系统、访问和策略控制、核心服务日志和日志整合器、网络硬件、加密设备以及物理安全。安全检测和代理系统的示例包括ID、IPS、多用途安全设备、漏洞评估和管理、反病毒、诱捕系统、威胁响应技术以及网络监视。访问和策略控制系统的示例包括访问和身份管理、虚拟专用网络(VPN)、高速缓存引擎、防火墙以及安全策略管理。核心服务日志和日志整合器的示例包括操作系统日志、数据库审计日志、应用程序日志、日志整合器、网络服务器日志以及管理控制台。网络设备的示例包括路由器和交换机。加密设备的示例包括数据安全和完整性。物理安全系统的示例包括卡密钥阅读器、生物统计信息、防盗报警器以及火警报警器。
连接器102可以包括从数据源101向SIEM 110提供事件数据的机器可读指令。连接器102可以提供从数据源101进行的高效、实时(或近实时)的本地事件数据捕捉和过滤。连接器102例如从事件日志或消息收集事件数据,并且可以在网络设备处、在网络内的整合点处和/或通过简单网络管理协议(SNMP)陷阱进行操作。连接器102将事件数据发送到SIEM 110。收集器102可以是可通过手动和自动化过程且经由关联配置文件来配置的。每个连接器可以包括一个或多个软件模块,其包括归一化部件、时间修正部件、聚合部件、批处理部件、分解器部件、传输部件和/或附加部件。可以通过配置文件中的适当命令来将这些部件激活和/或停用。
身份管理系统(IDM)103向用户储存库和系统提供用户帐户,如图1所示。IDM 103的示例可以包括Microsoft?的活动目录、Sun?的身份管理器以及Oracle?的身份管理器。IDM 103在诸如DB、LDAP和UNIX系统的系统上跟踪帐户。在图1中用虚线来表示包括用户帐户跟踪的提供。并且,每个系统可以具有其自己的认证系统以便对用户进行认证。例如,LDAP和DB系统对创建帐户并登录到App1和App2中的用户进行认证。
模型导入连接器(MIC)104将外部数据转换成ESM内的资源/数据模型。MIC 104从IDM 103导出用户和用户到应用程序映射信息,并且随后将其作为用户信息写入SIEM 110中的用户数据模型中。每个用户在SIEM 110中被表示为单个、唯一的用户身份。连接器102向SIEM 110发送事件数据,其与唯一的用户ID相关联,因此允许期望水平的报告安全威胁。
SIEM 110可以将用于用户的数据存储在具有预定字段的用户数据模型中。由MIC 104执行的映射可以包括使来自被IDM 103使用的数据模型的字段与SIEM 110的数据模型匹配,因此来自IDM 103的用户帐户数据被存储在SIEM 110数据模型中的适当字段中。
如果SIEM 110用户数据模型中的字段也被包括在IDM数据模型中,则MIC 104使数据模型同步。如果数据模型是不同的,则MIC 104可以使得能够向用户显示该字段,并且用户选择字段之间的映射。字段的示例可以包括UUID(唯一用户ID)、名、姓、地址、电话等。在完成映射之后,在SIEM 110数据模型中填充来自IDM 103的用户帐户信息。
SIEM 110分析事件数据以识别安全威胁。分析可以包括检测、相关以及通知或升级。该分析可以包括取证分析(forensic analysis)。SIEM 110基于事件发生时的用户状态来使过去事件与用户属性相关。例如,如果用户在过去不具有FINANCE_DBA的角色并在那时从财务数据库访问了信息,则规则和报告将这标记为违规。即使用户现在已转变成FINANCE_DBA群组/角色,这也会发生。用户帐户的历史被存储,其可以包括特定用户持有该帐户的时间段。可以将此历史用于取证分析。该分析还可以包括使来自连接器的事件与关于事件的发生时间的用户属性相关,与使其与用户的当前状态相关相反。
SIEM 110包括接收用户帐户数据和事件数据并将其存储在数据存储器111中的管理器120。相关引擎121使事件数据与用户相关以使在来自数据源101的事件数据中描述的活动与特定用户相关联。例如,根据用户定义的基本事件字段和事件结束时间的集合,完成映射以将该事件归因于用户。例如,事件数据可以包括帐户ID和应用程序事件字段,并且这些字段被用来在数据存储器111中查找用户信息以在事件发生时识别具有那些属性的用户。
用来描述用户并用相关引擎121来执行查找的单值属性的示例包括UUID、名、中间名缩写、姓、全名、IDM标识符、域名、雇员类型、状态、头衔、公司、组织、部门、经理、助手、电子邮件地址、地址、办公室、电话、传真、住址、市、州、邮政编码、国家等。除单值属性之外,参与者还可以具有多值属性以持有帐户和角色信息。帐户ID是多值属性的示例。例如,企业用户很可能在多个应用程序上具有多个帐户(例如网络登入id、电子邮件地址以及网络应用程序帐户id)。
IDM 103可以向各种储存库和系统提供用户帐户。因此,难以确定提供的系统(例如认证者)与向SIEM 110发送事件的应用程序(例如App1和App2)之间的映射。因此,SIEM 110保持映射应用程序和认证者的数据存储器111中的表格,并且此信息可以被用来使事件与用户相关。表1是应用程序-认证者映射的示例。
表1 应用程序-认证者映射
用从事件观察的值来填充设备供应商、设备产品、代理地址以及代理区资源列。这些列的每个组合识别应用程序,该应用程序又应当映射到在源IDM中定义的认证者。
如上文所指示的,帐户ID还作为用户属性的一部分被存储在数据存储器111中。用户可以具有多个帐户。这些帐户由认证者姓名和对应的帐户id最好地描述,其为多值属性。例如,参与者John Smith可以具有应用程序帐户属性。表2示出了可以用于使事件与John Smith相关的针对John Smith存储的帐户ID的示例。
表2 用于John Smith的认证者帐户ID映射
认证者 |
帐户ID |
DB |
Jsmith |
LDAP |
john.smith |
UNIX |
Josmith |
相关可以包括管理器120将事件数据存储在数据存储器111中。相关引擎121用其应用程序名称来识别事件(例如通过“设备供应商”、“设备产品”、“代理地址”以及“代理区资源”事件字段)和帐户ID(例如“UUID”事件字段)。然后使用应用程序名来从“应用程序-认证者”表导出认证者。通过基于认证者和帐户ID进行查找来导出与事件相关联的用户。如果不能导出认证者,则可以执行仅基于帐户ID或其他字段的查找。
用户可以具有多个角色。为了跟踪角色分配和活动,将角色信息存储为参与者的属性的一部分。由于单个用户可以具有多个角色,所以用角色名、角色类型以及其中用户具有该角色的资源名来最好地描述这些角色。例如,用户John Smith可以具有多个角色。表3示出了可以用于使事件与John Smith相关的针对John Smith存储的角色的示例。
表3 用于John Smith的角色映射
角色名 |
资源名 |
角色类型 |
管理员 |
活动目录 |
IT |
用户 |
强制 |
IT |
批准者 |
Oracle ERP |
商业 |
SIEM 110保持关于安全威胁的状态及其解决的报告。SIEM 110通过用户界面123或通过向用户或其他系统发送信息来提供通知和报告。
SIEM 110中的分析器122使用规则来用网络模型和漏洞信息来评估每个事件以开发实时威胁概要。分析器122可以包括用以使事件数据与安全规则相关以便识别安全威胁的规则引擎。这可以包括识别多个单独事件,其共同地满足一个或多个规则条件,使得动作被触发。聚合事件可以来自不同的数据源,并且共同地指示表示由一个或多个规则定义的安全威胁的常见事件。由规则触发的动作可以包括被发射到指定目的地的通知(例如可以经由控制台电子邮件消息、到电话的呼叫、蜂窝式电话、语音邮件箱和/或寻呼机号码或地址或者借助于到另一通信设备的消息和/或诸如传真机的地址等)和/或使网络设备采取行动以挫败所怀疑的攻击(例如通过对网络设备中的一个或多个进行重配置和/或修改或更新访问列表等)的指令。可以基于发生的事件和分析员的要求将用该通知发送的信息配置成包括最相关数据。在某些实施例中,未确认通知导致通知到另一指定操作员的自动重传。并且,可以访问知识库以收集关于类似攻击隐蔽行动(profiles)的信息和/或依照指定程序来采取行动。知识库包含提供威胁、推荐解决方案、参考信息、公司程序和/或到附加资源的链接的描述的参考文档(例如以网页和/或可下载文档的形式)。事实上,可以通过知识库来提供任何信息。举例来说,这些页面/文档可以具有:用户创作文章、第三方文章和/或安全供应商的参考材料作为其来源。
作为识别安全威胁的过程的一部分,分析器122检查接收到的事件以确定特定的一个或多个事件可以涉及正在SIEM 110中处理的各种规则中的哪一个(如果有的话)。如果测试中的事件具有满足或潜在地可以满足一个或多个规则的一个或多个属性,则认为规则被涉及。例如,如果测试中的事件具有来自满足规则条件的特定子网的特定源地址,则可以认为规则被涉及。在这个意义上,事件可以仅对与规则相关联的指定时间间隔保持兴趣,并且通过知道这些时间窗,分析器122可以按照批准而存储和丢弃事件。可以将任何令人感兴趣的事件集中在一起并使其经历由分析器122进行的进一步处理。
分析器122可以使用分级参与者分类模型,其根据预定分类来组织用户数据以识别安全威胁。预定分类的示例包括位置、内部组织分级结构以及角色。模型可以在分级结构中包括多个层级,并且用于确定网络安全威胁的不同规则可以适用于不同的层级。在层级之间存在父子关系,并且其可以被用于层级之中的固有规则。层级之间和不同层级中的节点之间的关系可以是双向或单向的。包括其关系和对应规则的模型被存储在数据存储器121中。
图2~4示出了分级模型的示例。图4中所示的示例是简单化的。由SIEM 110生成、存储和使用的分级模型可能更加复杂,并且可以具有更多的层级和节点。图2示出了角色分级模型。角色可以描述用户在组织中的职责或职务。图2中所示的角色包括HR_DBA、FIN_DBA和SUPER_DBA。HR_DBA是可访问人力资源(HR)部门中的数据库的数据库管理员(DBA)的角色。FIN_DBA是可访问财务部门中的数据库的DBA的角色,并且SUPER_DBA是可访问全公司的数据库的DBA的角色。
在图2中示出了角色的分级结构。在这种情况下,SUPER_DBA的角色取代HR_DBA和FIN_DBA的角色。因此,如果对于具有角色HR_DBA的用户而言某些操作是可允许的,则可以假定该操作对于SUPER_DBA的角色而言是可允许的,因为SUPER_DBA是HR_DBA和FIN_DBA的父层。这样,SUPER_DBA继承了HR_DBA和FIN_DBA的许可和角色。
图3示出了分级位置模型。对位置的分级结构进行建模在定义位置水平策略时是有用的。例如,访问某些服务或执行某些活动仅对于一个州或国家中的雇员而言是可允许的。雇员典型地使其精确位置由组织分配(例如位置:库珀蒂诺-B4),并且此信息被用来构建分级位置模型。该分级位置模型包括以下位置:USA:国家、加利福尼亚:州、纽约:州、库珀蒂诺:市、库珀蒂诺-B4:库珀蒂诺中的办公楼以及库珀蒂诺-B5:库珀蒂诺中的另一办公楼。在图4中示出了这些位置的分级结构且其可以用来确定已授权活动。例如,如果活动对于加利福尼亚雇员而言是可允许的,则其对于库珀蒂诺-B4和B5中的雇员而言也是可允许的。
图4示出了分级组织模型。此模型可以模拟组织的组织图或报告结构。除此信息的显示之外,将雇员报告结构保持在SIEM 110中可能由于各种原因而有用。例如,其可以被用来检查谁对关于谁的信息享有权利。例如,考虑乔(Joe)工程师和詹姆斯(James)工程师报告给约翰(John)管理者的以下报告结构。此结构在图4中示出。约翰经理可以具有对查看乔工程师和詹姆斯工程师的记录的许可,但乔工程师和詹姆斯工程师可能仅具有查看其自己的记录的许可。
用于图2~4所示的模型的分类是可以使用的各种分类的示例。SIEM 110使得用户能够构建用于任何分类的模型,并且使得用户能够指定其中继承了许可和策略的关系,诸如父子关系。可以用与不同的层级相关联的规则来描述策略以便确定是否存在安全威胁。例如,每个分级模型可以包括由模型ID、节点ID、层级ID资源字段、子字段和父字段组成的字段。该资源字段包括模型的描述。子字段和父字段被用来识别节点是否是子节点和父节点是什么。这些字段可以被用来确定节点是否是另一节点的后代或子节点。
图5举例说明了根据实施例的用于基于所捕获安全事件来检测安全威胁的方法500。以示例而非限制的方式相对于图1中所示的SIEM 110来描述方法500。可以在其他系统中实施方法500。并且,可以按照与所示不同的顺序或基本上同时地执行方法500中的方框中的一个或多个。
在501处,SIEM 110存储与网络设备相关联的安全事件。例如,相关器102向SIEM 110发送针对数据源101捕捉的事件数据。SIEM 110将事件数据存储在数据存储器111中。可以将事件数据存储在由预定字段组成的事件数据模型中。该预定字段可以包括设备ID、日期/时间戳、帐户ID等。可以随着SIEM 110接收到安全事件而将其连续地或周期性地存储。
在502处,SIEM 110存储用于数据源101的用户的用户数据。该用户数据被存储在数据存储器111中。SIEM 110可以使用用户数据模型来存储用户数据。MIC 103可以将来自IDM 103的用户信息映射到用于SIEM 110的用户数据模型以将用户数据组织成预定字段。用户数据模型可以包括用于每个用户的UUID和用于每个用户的用户帐户ID以及其他用户信息。所存储用户数据和模型及本文所描述的其他数据可以随时间推移而更新,并且可以在被接收到时存储新数据。
在503处,SIEM 110存储参与者分类模型。参与者分类模型被存储在数据存储器111中。该参与者分类模型可以包括分级模型,其包括以分级结构布置的多个层级,并且每个层级与用于模型分类的子分类相关联。参与者分类模型的示例在图2~4中示出,并且包括用于位置、角色和报告结构的分类的模型。子分类可以与层级相关联。例如,用于位置的子分类可以包括国家、州和市,并且每个子分类可以与特定层级相关联。参与者分类模型可以包括后代信息,其识别节点是否是另一层级中的节点的直接或间接后代。
在504处,SIEM 110存储用于确定是否存在安全威胁的规则。可以由SIEM 110的用户来创建该规则。该规则可以指定一个或多个条件和在该条件被满足的情况下被触发的一个或多个动作。关于参与者分类模型,可以存储用于层级实现用于该层级的策略的规则。该规则还可以指定后代是否继承了其父层级、祖父层级等的规则。
在501~504中描述的存储可以包括存储在存储器中和/或存储在非易失性数据存储器中,诸如服务器上的数据库。例如,针对存储器中存储,事件数据被存储在存储器中,并且在存储器中执行在下面的505和506处描述的相关和/或分析以用于更快的处理。存储器中提供用于识别安全威胁的实时或接近实时的相关和处理。可以将相关和分析的输出存储在数据库中。还可以将事件数据存储在数据库中,并且可以通过从数据库访问数据来执行相关和分析。例如,将数据库用于事件数据的取证、历史分析。
在505处,SIEM 110使安全事件与存储的参与者分类模型相关。例如,将与安全事件相关联的属性和与事件相关联的用户与参与者分类模型中的属性相比较。如果用于属性的值匹配,则使安全事件与匹配分类模型相关。作为示例,安全事件可以是用户对HR记录的访问。用户被根据其属性而确定为具有管理者的角色。由于用户具有角色值(例如管理者),所以角色参与者分类模型与该用户相关联,并且访问该模型以确定是否存在用于管理者的任何层级或节点。还可以访问其他参与者分类模型以用于相关。
在506处,SIEM 110基于该相关来确定是否存在安全威胁。例如,识别用于管理者的角色参与者分类模型中的层级。识别与该层级相关联的规则。SIEM 110确定是否满足用于该规则的条件,其可以表示安全威胁。
在507处,如果存在安全威胁,则执行动作,诸如生成警告安全威胁的报告和/或通知。可以在所识别规则中指定该动作。
可以使用会话列表和活动列表来执行安全威胁的相关和检测。可以针对接收到的安全事件创建会话列表并存储事件数据达一段时间。例如,规则具有还必须使与服务器房间中的徽章ID刷卡相关联的用户与徽章刷卡的2分钟内的服务器房间中的服务器登入相关联。会话列表在2分钟时间段内跟踪事件。可以创建活动列表,其将用于SIEM 110的用户数据模型中的每个用户的UUID映射到用于由例如IDM 103识别的每个用户的用户ID。该活动列表通过使用户与所有其帐户ID及其他信息相关联来在用户层级而不是机器层级处聚合。
图6示出了可以与本文所描述的实施例一起使用的计算机系统600。计算机系统600表示一般平台,其包括可以在服务器或另一计算机系统中或在计算机系统的部件中的部件。计算机系统600可以被用作用于图1中所示的SIEM 110的平台。计算机系统600可以用处理器或其他硬件处理电路来执行本文所述的方法、功能及其他过程。可以将这些方法、功能及其他过程体现为存储在计算机可读介质上的机器可读指令,该计算机可读介质可以是非临时性的,诸如硬件存储设备(例如RAM(随机存取存储器))、ROM(只读存储器)、EPROM(可擦可编程ROM)、EEPROM(电可擦可编程ROM)、硬盘以及闪速存储器)。
计算机系统600包括处理器602或其他硬件处理电路,其可以实现或执行机器可读指令,其执行本文所述的方法、功能及其他过程中的某些或全部。来自处理器602的命令和数据是通过通信总线606而传送的。计算机系统600还包括数据存储器604,诸如随机存取存储器(RAM)或另一类型的数据存储器,用于处理器602的计算机可读指令和数据可以在运行时间期间存在于那里。网络接口608发送并从网络接收数据。计算机系统600可以包括其他未示出的部件。
虽然已参考示例描述了实施例,但在不脱离要求保护的实施例的范围的情况下可以对所述实施例进行各种修改。