攻击检测装置、攻击检测方法以及攻击检测程序的制作方法

文档序号:10694083阅读:539来源:国知局
攻击检测装置、攻击检测方法以及攻击检测程序的制作方法
【专利摘要】针对多个事件存储事件阶段信息,所述事件阶段信息存储有在进行针对信息系统的攻击的过程中由信息系统观测的事件、事件前阶段和事件后阶段。接收通知已由信息系统观测到的观测事件的观测事件通知信息。检索记述有通过观测事件通知信息通知的观测事件的事件阶段信息,并检索记述有与检索出的事件阶段信息的事件前阶段对应的事件后阶段、或者与检索出的事件阶段信息的事件后阶段对应的事件前阶段的事件阶段信息,在检索出的事件阶段信息的事件是无法观测的不可观测事件的情况下,视作已观测到不可观测事件,并利用依存关系连接观测事件和不可观测事件来生成事件队列。
【专利说明】
攻击检测装置、攻击检测方法以及攻击检测程序
技术领域
[0001]本发明涉及经由网络检测分为多个阶段进行的攻击的攻击检测装置。
【背景技术】
[0002]多级攻击是指攻击者为了一个目的而进行分为多个阶段的攻击。以往,为了检测该攻击,例如存在如下方法:对IDS(Intrus1n Detect1n System:入侵检测系统)警报那样的各事件,定义事件成立的必要条件(这里称作事件的先决条件)、以及事件引起的状态变化(这里称作事件的结果),根据是否能够生成将事件的结果成为其他事件的先决条件那样的事件相连而得到的事件队列判定是否为攻击。(例如非专利文献I)。
[0003]具体而言,在非专利文献I的方法中,定义每个预先检测的事件的依存关系。例如,如“在端口扫描的事件后存在实际的攻击事件。”那样来定义依存关系。在该依存关系的定义中,针对可能发生的各事件,进一步定义先决条件和结果(在文献中中为prerequisite,consequence),在另一事件A提供满足某个事件B的先决条件的结果的情况下,视作B依存于
A。利用这样的每个事件的依存关系,按照依存关系将观测到的事件间进行曲线图化,由此,能够判定是否发生了多级攻击。
[0004]此外,已经提出了即使在事件的检测存在遗漏的情况下也判定事件的依存关系的方法(例如专利文献I)。该方法预先确定事件的管理对象间的关系,判定各个管理对象的事件的依存性。具体而言,当存在第I管理对象、依存于在该第I管理对象中发生的第I事件而发生第2事件的第2管理对象、依存于在该第2管理对象中发生的所述第2事件而发生第3事件的第3管理对象时,求出第I事件的发生时刻与第3事件的发生时刻之间的差分,如果该差分的时间在一定的时间内,则即使第2事件的检测遗漏,也能够判定为在第1、第3事件间存在依存性。
[0005]现有技术文献
[0006]专利文献
[0007]专利文献1:日本特开2012-128811号公报
[0008]非专利文献
[0009]非专利文献l:PengNing,Yun Cui ,Douglas S.Reeves,“Constructing AttackScenar1s through Correlat1n of Intrus1n Alerts”,CCS’02,November,18—22,2002,Washington,DC,USA.

【发明内容】

[0010]发明要解决的课题
[0011]在事件中,由于未被记载于日志、或基于成本的关系而不成为监视对象等原因,可能包含系统无法观测的事件、或由于检测遗漏而使得系统无法观测的事件。此时,在非专利文献I的方法中,存在如下课题:如果原本能够观测到则应该检测为事件队列的攻击不被视作事件队列,从而多级攻击检测延迟。
[0012]此外,在专利文献I的方法中,存在如下课题:在事件的检测存在遗漏的情况下,虽然能够判定观测到的事件间的依存关系,但无法估计与未被观测的事件(所述第2事件)之间的依存关系。
[0013]此外,该专利文献I的方法公开了如下技术:在事件的检测存在遗漏的情况下,为了进行依存关系的判定,利用进程分配表保持各事件的管理对象的依存关系。因此,存在如下课题:需要保持全部事件的管理对象的依存关系,随着要管理的事件的数量增大,事件的管理对象的依存关系爆发性增加。
[0014]本发明正是为了解决上述那样的课题而完成的,其目的在于,进行无法观测事件的估计,生成事件队列,由此判定包含未被观测的事件在内的事件的依存关系。
[0015]此外,本发明的目的在于,通过对事件定义先决条件和结果,动态调查与已发生的事件存在依存关系的事件,在不用保持全部事件的管理对象的依存关系的情况下,进行系统无法检测的事件的估计,由此,防止事件的管理对象的依存关系随着管理的事件的数量增大而爆发性增加。
[0016]用于解决课题的手段
[0017]为了解决以上叙述的课题,本发明的攻击检测装置具有:事件阶段信息存储部,其针对多个事件存储事件阶段信息,所述事件阶段信息记述了在进行针对信息系统的攻击的过程中由所述信息系统观测的事件、作为观测所述事件前的攻击的进展阶段的事件前阶段、和作为观测到所述事件后的攻击的进展阶段的事件后阶段;观测事件通知信息接收部,其接收观测事件通知信息,所述观测事件通知信息通知由所述信息系统观测到的观测事件;以及事件队列生成部,其从所述事件阶段信息存储部中检索记述有通过所述观测事件通知信息通知的观测事件的事件阶段信息,从所述事件阶段信息存储部中检索记述有与检索出的事件阶段信息的事件前阶段对应的事件后阶段、或者与检索出的事件阶段信息的事件后阶段对应的事件前阶段的事件阶段信息,在检索出的事件阶段信息的事件是无法观测的不可观测事件的情况下,视作已观测到所述不可观测事件,利用依存关系连接所述观测事件和所述不可观测事件,生成事件队列。
[0018]发明的效果
[0019]根据本发明,对各事件定义是否能够由系统进行观测的参数,在系统无法观测事件的情况下,将相应事件视作观测到的事件,动态估计与相应事件之间的依存关系来生成事件队列,由此即使在包含系统无法观测的事件的情况下,也能够生成事件队列,因此,具有能够防止多级攻击的检测遗漏的效果。
【附图说明】
[0020]图1是示出实施方式I的攻击检测装置的一个结构例的结构图。
[0021]图2是示出实施方式I的攻击检测装置的整体处理流程的流程图。
[0022]图3是示出攻击事件定义信息的例子的图。
[0023]图4是事件数据库5所保存的攻击事件定义信息9的一例。
[0024]图5是示出实施方式I的事件队列生成部4的一个结构例的结构图。
[0025]图6是示出实施方式I的判定部25的处理流程的流程图。
[0026]图7是示出实施方式I的估计部26的处理流程的流程图。
[0027]图8是示出实施方式I的生成部28的处理流程的流程图。
[0028]图9是示出实施方式2的攻击检测装置的事件队列生成部的一个结构例的结构图。
[0029]图10是示出实施方式2的估计部26的处理流程的流程图。
[0030]图11是示出实施方式3的事件队列生成部4的一个结构例的结构图。
[0031 ]图12是示出实施方式3的估计部26的处理流程的流程图。
[0032]图13是示出实施方式3的生成部28的处理流程的流程图。
[0033]图14是示出实施方式4的事件队列生成部4的一个结构例的结构图。
[0034]图15是示出实施方式4的估计部26的处理流程的流程图。
[0035]图16是示出实施方式5的事件队列生成部4的一个结构例的结构图。
[0036]图17是示出实施方式5的判定结果表33的保存例的图。
[0037]图18是示出实施方式5的判定部25的处理流程的流程图。
[0038]图19是示出实施方式5的结束判定部32的处理流程的流程图。
[0039]图20是示出实施方式5的估计部26的处理流程的流程图。
[0040]图21是示出实施方式5的生成部28的处理流程的流程图。
[0041]图22是示出实施方式6的攻击检测装置I的一个结构例的结构图。
[0042]图23是示出实施方式6的事件队列生成部4的一个结构例的结构图。
[0043]图24是示出实施方式6的攻击检测装置的处理流程的流程图。
[0044]图25是示出实施方式6的判定部25的处理流程的流程图。
[0045]图26是示出实施方式6的估计部26的处理流程的流程图。
[0046]图27是示出实施方式6的生成部28的处理流程的流程图。
【具体实施方式】
[0047]实施方式1.
[0048]图1是示出实施方式I的攻击检测装置的一个结构例的结构图。
[0049]在图1中,攻击检测装置I由警报接收部2、警报解释部3、事件队列生成部4、事件数据库5、事件检索部6、事件队列存储部7、检测状态管理部8构成。
[0050]攻击检测装置I根据从外部得到的检测警报,调查与已经观测到的攻击事件之间的依存关系,生成事件队列,由此,检测多级攻击。
[0051]警报接收部2接收从外部检测到的警报,向警报解释部3输出警报。警报解释部3从由警报接收部2接收到的警报中提取与预先定义的攻击事件定义信息(后述)对应的信息,解释为攻击事件,生成观测事件通知信息(后述),将该观测事件通知信息(解释结果的攻击事件)输出到事件队列生成部4。另外,警报接收部2和警报解释部3是观测事件通知信息接收部的一个结构例。
[0052]事件队列生成部4将从警报解释部3输入的攻击事件追加到已观测的攻击事件的事件队列中,生成新的事件队列。此外,将所生成的新的事件队列登记到事件队列存储部7中,并且将保存在事件队列生成部4内的现有的事件队列更新为新的事件队列。
[0053]事件数据库5保存预先定义的攻击事件定义信息(后述)。事件数据库5是事件阶段信息存储部的一例,攻击事件定义信息是事件阶段信息的一例。
[0054]事件检索部6按照来自警报解释部3、以及事件队列生成部4的检索请求,检索事件数据库5,将检索结果分别输出到警报解释部3、以及事件队列生成部4。
[0055]事件队列存储部7存储由事件队列生成部4生成的事件队列。
[0056]检测状态管理部8将基于事件队列生成部4的事件队列存储部7的登记/更新处理的完成通知作为输入,根据事件队列存储部7的状态判定是否进行了多级攻击,在进行了多级攻击的情况下,通知给外部。
[0057]接着,参照图2说明实施方式I的攻击检测装置的动作。
[0058]图2是示出实施方式I的攻击检测装置的处理流程的流程图。
[0059]首先,在步骤SlOl中,警报接收部2从外部接收检测警报。检测警报是从与网络连接的各种设备发送的警告消息,例如是IDS警报。在检测警报中,包含发送目的地的IP地址或端口号、发送源的IP地址或端口号、TCP或UDP等协议、检测到的攻击事件(登录、端口扫描等)的信息。警报接收部2在接收到检测警报时,向警报解释部3输入警报信息。
[0060]接着,在步骤S102中,警报解释部3请求事件检索部6检索与警报对应的攻击事件定义信息。警报解释部3生成包含所输入的警报信息中包含的攻击事件名的检索请求,向事件检索部6发送检索请求。
[0061]接着,在步骤S103中,事件检索部6在事件数据库5内进行检索,回送与警报对应的攻击事件定义信息。事件检索部6从事件数据库5所保存的攻击事件定义信息中检索与检索请求所包含的攻击事件匹配的攻击事件定义信息,将检索结果回送给警报解释部3。
[0062]攻击事件定义信息是预先定义了与攻击事件相关的信息的信息。
[0063]图3是示出攻击事件定义信息的例子的图。
[0064]如图3的攻击事件定义信息9那样,攻击事件定义信息由先决条件10、事件11、达成状态12、攻击概率13、可否观测14构成。
[0065]在先决条件10中,以谓词逻辑的形式记述了用于使得在攻击发生时发生事件11的前提条件。即,在先决条件10中,记述了观测事件11前的攻击的进展阶段(事件前阶段)。例如,图3的符号15表示的谓词逻辑示出了作为先决条件,是“A登录到H”的阶段。另外,符号15表示的A、H是变量,通过从观测事件中得到的值等,限定为具体的值(例如“userOOl”等)。
[0066]事件11是在进行对信息系统的攻击的过程中在信息系统中观测到的事件。对事件11定义了事件发生源16、事件类别17、事件参数18。
[0067]事件发生源16表示将攻击事件定义信息9作为对象的事件发生源。符号19表示作为发生源而被许可的值,在该例子中,通过变量H与先决条件15进行了关联(处于“$ H”的开头的美元标记($ )表示H为变量)。
[0068]事件类别17指定了将攻击事件定义信息9作为对象的事件的类别。具体的事件类别如符号20那样指定。
[0069]事件参数18表示事件的参数。在事件参数18中,指定了将攻击事件定义信息9作为对象的值。在图3所示的例子中,用符号21表示的USER这一名称的参数要求取与用符号15表示的变量A相同的值。
[0070]在观测事件通知信息中,与图3的攻击事件定义信息9同样,通知事件发生源、事件类别、事件参数。在图3的攻击事件定义信息9中,虽然未确定事件发生源16、事件参数18的各变量的值,但在观测事件通知信息中,确定了事件发生源16、事件参数18的各变量的值。
[0071]在发生了与攻击事件定义信息9的符号16?18的项目匹配的事件时,达成状态12用谓词逻辑示出攻击者已达成的状态。即,在达成状态12中,记述了观测到与符号16?18的项目匹配的事件后的攻击的进展阶段(事件后阶段)。在图3的例子中,符号22示出是“用户A已获得主机H的机密”的阶段。
[0072]攻击概率13表示发生了与攻击事件定义信息9的符号16?18的项目匹配的事件时的对信息系统的攻击的概率。在图3的例子中,如符号23所不,将概率值定义为0.5。
[0073]可否观测14表示事件11是否为系统无法观测的事件。例如,如密码流出那样未记载于日志的事件、或由于成本和监视负荷的原因而不成为监视对象的事件等是不可观测事件。在图3的例子中,符号24设定了表示可观测的“可”。此外,在无法观测的情况下,设定“否”。
[0074]以上叙述的攻击事件定义信息9针对被认为在多级攻击中发生的多个事件预先定义,以能够检索的状态保存在事件数据库5内。
[0075]图4是事件数据库5所保存的攻击事件定义信息9的一例。
[0076]在图4的保存例中,除了被定义为攻击事件定义信息9的信息以外,还包含在检测出攻击事件时记录的发生时刻、发生源、发送目的地等信息。发生源例如是发送源IP地址,发送目的地记录发送目的地URL。另外,在图4的保存例中,示出了检测攻击事件前的状态,发生时刻、发生源、发送目的地为空白栏。
[0077]接着,在步骤S104中,警报解释部3将接收到的检索结果的攻击事件定义信息解释为与警报对应的攻击事件。这里,“解释”的处理是指如下处理:对事件检索部6的检索结果的攻击事件定义信息代入警报所包含的事件发生源、事件类别、事件参数的具体值,使观测事件成为能够作为攻击事件(观测事件通知信息)进行处理的数据形式。
[0078]接着,在步骤S105中,警报解释部3向事件队列生成部4输入事件。警报解释部3将在步骤S104中从观测事件解释的攻击事件输入到事件队列生成部4。
[0079]接着,在步骤S106中,事件队列生成部4从事件队列存储部7中检索能够追加所输入的攻击事件的事件队列。
[0080]接着,在步骤S107中,事件队列生成部4判定是否需要事件估计。事件队列生成部4在步骤S106中检索出的结果是能够追加的事件队列不在事件队列存储部7中的情况下,进入“是”的分支,在步骤S108中进行事件估计。之后将叙述与事件估计相关的处理的详情。在可追加的事件队列在事件队列存储部7中的情况下,事件队列生成部4判定为不需要事件估计,进入“否”的分支。
[0081]接着,在步骤S108中,事件队列生成部4请求事件检索部6检索所输入的攻击事件的先决条件为达成状态的事件,执行事件估计的处理。
[0082]接着,在步骤S109中,事件检索部6在事件数据库5内进行检索,回送与检索请求对应的攻击事件定义信息。
[0083]然后,在步骤SllO中,事件队列生成部4利用在步骤S109中检索出的攻击事件定义信息,生成事件队列,将所生成的事件队列登记到事件队列存储部7内,或者对事件队列存储部7内的事件队列进行更新。
[0084]接着,在步骤Slll中,事件队列生成部4向检测状态管理部8通知事件队列已被登记到事件队列存储部7或已被更新。
[0085]最后,在步骤S112中,检测状态管理部8读取事件队列存储部7内的状态,如果满足攻击的检测条件,则向外部通知警报。检测状态管理部8接收来自事件队列生成部4的通知,调查处于事件队列存储部7内的事件队列,在构成事件队列的各攻击事件的攻击概率的合计值为阈值以上的情况下,判定为发生了多级攻击并通知给外部。
[0086]以上为实施方式I的攻击检测装置的整体处理流程。
[0087]接着,说明实施方式I的事件队列生成部4的结构和动作的详情。
[0088]首先,关于事件队列生成部4的结构进行说明。
[0089]图5是示出实施方式I的事件队列生成部4的一个结构例的结构图。
[0090]判定部25验证从警报解释部3输入的攻击事件是否能够追加到事件队列存储部7所登记的事件队列中,在无法追加到事件队列的情况下,判定为需要估计未被观测的事件。此外,在能够追加到事件队列的情况下,判定为不需要估计未被观测的事件。在判定为需要估计未被观测的事件的情况下,通过估计部26估计未被观测的事件。在不需要估计的情况下,将所输入的攻击事件输入到生成部28,生成事件队列。
[0091]估计部26向事件检索部6请求检索与所输入的攻击事件处于依存关系的攻击事件,接收事件检索部6的检索结果。在检索结果的攻击事件是系统无法观测的攻击事件的情况下,判定为观测到通过检索而新得到的攻击事件。此时,将输入到估计部26的攻击事件存储到存储部27中。将视作已观测到的攻击事件的攻击事件输入到判定部25,进行是否能够追加到事件队列的验证。在通过判定部25判定为需要估计的情况下,进一步输入到估计部26,进行攻击事件的估计。在通过判定部25判定为不需要估计的情况下,将所输入的攻击事件输入到生成部28,生成事件队列。
[0092]生成部28针对从判定部25或估计部26输入的攻击事件,从存储部27中调用依存于所输入的攻击事件的攻击事件。然后,对调用的攻击事件追加所输入的攻击事件,生成新的事件队列。将新生成的事件队列登记到事件队列存储部7中。在包含可追加到现有的事件队列的事件的情况下,与现有的事件队列结合,进行事件队列存储部7的更新。生成部28向检测状态管理部8通知由于生成事件队列而进行了事件队列存储部7的更新。
[0093 ]接着,说明事件队列生成部4的动作的详情。
[0094]图6是示出实施方式I的判定部25的处理流程的流程图。
[0095]首先,在步骤S201中,警报解释部3向判定部25输入事件X。这里,事件X是图3的步骤S105中的攻击事件(观测事件通知信息)。
[0096]接着,在步骤S202中,判定部25确认事件X是否具有先决条件,在具有先决条件的情况下,通过“是”的分支,进入步骤S203。在不具有先决条件的情况下,通过“否”的分支,进入步骤S209。
[0097]接着,在步骤S203中,判定部25请求事件检索部6检索包含事件X的先决条件为达成状态的事件的事件队列,从事件队列存储部7中进行检索。
[0098]然后,在步骤S204中,判定部25判断是否存在符合检索请求的事件队列,在存在符合检索请求的事件队列的情况下,通过“是”的分支,进入步骤S205。在不存在符合检索请求的事件队列的情况下,通过“否”的分支,进入步骤S207。
[0099]接着,在步骤S205中,判定部25将事件X判定为可追加到现有的事件队列,在步骤S206中,将事件X输入到生成部28,结束处理。
[0100]此外,在步骤S204中不存在符合检索请求的事件队列时,在步骤S207中,判定部25判定为需要估计事件,在步骤S208中,将事件X输入到估计部26,结束处理。
[0101]此外,在步骤S202中事件X是不具有先决条件的事件的情况下,在步骤S209中,判定部25判定为是新的事件队列,在步骤S210中,将输入事件X输入到生成部28,结束处理。[0?02] 如上所述,输入到判定部25的事件X通过判定部25内的处理而被输入到估计部26或生成部28。
[0103]接着,说明将事件X输入到估计部26的情况下的动作。
[0104]图7是示出实施方式I的估计部26的处理流程的流程图。
[0105]首先,在步骤S301中,判定部25向估计部26输入事件X。
[0106]接着,在步骤S302中,估计部26请求事件检索部6检索事件X的先决条件为达成状态的事件,从事件数据库5中进行检索。
[0107]然后,在步骤S303中,估计部26判断是否存在符合检索请求的事件,在存在符合检索请求的事件的情况下(这里假设不存在两个以上的相应事件),通过“是”的分支,进入步骤S304。在不存在符合检索请求的事件的情况下,通过“否”的分支,进入步骤S309。
[0108]接着,在步骤S304中,估计部26从事件检索部6中得到符合检索请求的事件X’。
[0109]然后,在步骤S305中,估计部26根据可否观测的设定,确认事件X’是否为无法观测的事件,在是无法观测的事件时,通过“是”的分支,进入步骤S306。在是能够观测的事件的情况下,通过“否”的分支,进入步骤S309。
[0110]接着,在步骤S306中,估计部26将事件X’判定为已观测的事件,在步骤S307中,将所输入的事件X存储到存储部27中,在步骤S308中,将事件X’输入到判定部,结束处理。
[0111]此外,在步骤S305中事件X’是能够观测事件的情况下,或者在步骤S303中不存在符合检索请求的事件的情况下,在步骤S309中,估计部26将所输入的事件X判定为新的事件队列,在步骤S310中,将事件X输入到生成部25,结束处理。
[0112]接着,说明通过判定部25或估计部26内的处理而向生成部28输入了事件X的情况下的动作。
[0113]图8是示出实施方式I的生成部28的处理流程的流程图。
[0114]首先,在步骤S401中,判定部25或估计部26向生成部28输入事件X。
[0115]接着,在步骤S402中,生成部28确认所输入的事件X是否被判定部25或估计部26判定为新的事件队列,在判定为新的事件队列的情况下,通过“是”的分支,进入步骤S403。在判定为不是新的事件队列的情况下,通过“否”的分支,进入步骤S406。
[0116]接着,在步骤S403中,生成部28从存储部27中调用与事件X处于依存关系的事件。此时,依存关系通过存储部27所存储的事件的先决条件、以及达成状态的关系确定。
[0117]接着,在步骤S404中,生成部28根据从存储部27调用的各事件的先决条件和达成状态,生成事件队列,作为新的事件队列登记到事件队列存储部7中。
[0118]然后,在步骤S405中,生成部28向检测状态管理部8通知已进行了事件队列存储部7的更新,结束处理。
[0119]此外,在步骤S402中判定为不是新的事件队列的情况下,在步骤S406中,生成部28确认所输入的事件X是否被判定部25或估计部26判定为可追加到现有的事件队列,在判定为可追加的情况下,通过“是”的分支,进入步骤S407。在判定为不能追加的情况下,通过“否”的分支,结束处理。
[0120]接着,在步骤S407中,生成部28从存储部27中调用与事件X处于依存关系的事件。此时,依存关系通过存储部27所存储的事件的先决条件、以及达成状态的关系确定。
[0121]接着,在步骤S408中,生成部28向包含所输入的事件X的先决条件为达成状态的事件的事件队列中追加事件X。
[0122]接着,在步骤S409中,生成部28根据从存储部27调用的各事件的先决条件和达成状态,生成事件队列,对在步骤S408中追加事件X后的事件队列,依次进行追加处理。
[0123]接着,在步骤S410中,生成部28用追加后的事件队列更新事件队列存储部7内的追加前的事件队列,进行步骤S405的处理,结束处理。
[0124]如上所述,本实施方式I的发明对各事件定义是否能够由系统进行观测的参数,在系统无法观测事件的情况下,将相应事件视作观测到的事件,动态估计与相应事件之间的依存关系生成事件队列,由此,即使在包含系统无法观测的事件的情况下,也能够生成事件队列,因此,具有能够防止多级攻击的检测遗漏的效果。
[0125]实施方式2.
[0126]在以上的实施方式I中,视作发生了系统无法观测的事件,生成事件队列,但在实施方式2中,示出如下实施方式:在无法观测某个事件A时,当观测到满足其先决条件的事件
B、以及先决条件为事件A的达成状态的事件X这两者时,视作发生了事件A,生成事件队列,从而进一步提尚检测精度。
[0127]图9是示出实施方式2的攻击检测装置的事件队列生成部的一个结构例的结构图。
[0128]在图9中,对于事件队列生成部4的判定部25、存储部27、生成部28,是与实施方式I相同的结构。以下,说明估计部26和等待观测事件存储部29。
[0129]估计部26请求事件检索部6检索与所输入的事件X处于依存关系的事件。在检索的结果为所得到的事件A是系统无法观测的事件的情况下,将事件A存储到等待观测事件存储部29中。此时,将输入到估计部26的事件X存储到存储部27中。
[0130]进而,估计部26将无法观测的事件A输入到判定部25,判定能否追加到事件队列中。针对无法由判定部25观测的事件A,在判定为能够追加到事件队列中的情况下(已经观测到与无法观测的事件A存在依存关系的事件B的情况下),视作发生了事件A,生成事件队列。
[0131]另一方面,针对无法由判定部25观测的事件A,在判定为无法追加到事件队列中而需要估计的情况下(未观测到与无法观测的事件A存在依存关系的事件的情况下),将无法观测的事件A再次输入到估计部26。此时,输入到估计部26的事件A已经存在于等待观测事件存储部27中,因此,估计部26判定为等待观测事件存储部27所存储的事件A未发生,将最初输入到估计部的事件X判定为新的事件队列。
[0132]此外,在不存在估计部26估计的事件的情况下,判定为新的事件队列,将所输入的攻击事件输入到生成部28,生成事件队列。
[0133]接着,说明实施方式2的攻击检测装置的事件队列生成部4的动作。
[0134]将从警报解释部3输出的攻击事件输入到判定部25。关于判定部25的动作,与图6相同。输入到判定部25的攻击事件通过判定部25内的处理而被输入到估计部26或生成部
28 ο
[0135]以下,说明估计部26的动作。
[0136]图10是示出实施方式2的估计部26的处理流程的流程图。
[0137]首先,在步骤S501中,判定部25向估计部26输入事件X。
[0138]接着,在步骤S302中,估计部26判断所输入的事件X是否不存在于等待观测事件存储部27中,当不存在时,通过“是”的分支,进入步骤S503。在所输入的事件X存在于等待观测事件存储部27中的情况下,通过“否”的分支,进入步骤S510。
[0139]接着,在步骤S503中,估计部26向事件检索部6请求检索事件X的先决条件为达成状态的事件,从事件数据库5中进行检索。
[0140]然后,在步骤S504中,估计部26判断是否存在符合检索请求的事件,在存在符合检索请求的事件的情况下(这里假设不存在两个以上的相应事件),通过“是”的分支,进入步骤S505。在不存在符合检索请求的事件的情况下,通过“否”的分支,进入步骤S511。
[0141 ]接着,在步骤S505中,估计部26从事件检索部6得到符合检索请求的事件X’。
[0142]然后,在步骤S506中,估计部26根据可否观测的设定,确认事件X’是否为无法观测的事件,在是无法观测的事件时,通过“是”的分支,进入步骤S507。在是能够观测的事件的情况下,通过“否”的分支,进入步骤S511。
[0143]接着,在步骤S507中,估计部26将事件X’判定为已观测的事件,在步骤S508中,将所输入的事件X存储到存储部27中,在步骤S509中,将事件X’输入到判定部,结束处理。
[0144]此外,在步骤S506中事件X’是能够观测事件的情况下,或者在步骤S504中不存在符合检索请求的事件的情况下,在步骤S511中,估计部26将所输入的事件X判定为新的事件队列,在步骤S512中,将事件X输入到生成部25,结束处理。
[0145]此外,在步骤S502中输入的事件X存在于等待观测事件存储部27的情况下,在步骤S510中,估计部26将与存储部27所存储的事件X存在依存关系的事件(相当于上次的输入事件)置换为事件X。然后,在步骤S511中,判定为是新的事件,在步骤S512中,将事件X输入到生成部25,结束处理。
[0146]通过判定部25或估计部26内的处理输入到生成部28的情况下的动作与实施方式I相同。
[0147]如上所述,本实施方式2的发明在无法观测某个事件A时,当观测到满足其先决条件的事件B、以及先决条件为事件A的达成状态的事件X这两者时,视作发生了事件A,生成事件队列,由此,能够进一步提尚检测精度。
[0148]实施方式3.
[0149]在以上的实施方式2中,根据是否已观测到紧前面的事件和紧后面的事件,将系统无法观测的事件视作发生的事件,但由于未对事件间的依存程度(发生概率)进行评价,因此,可能将实际上难以认为已观测到的事件视作已观测到的事件。因此,在实施方式3中,示出如下的实施方式:使用事件连锁的发生概率,评价是否为系统无法观测的事件,在发生概率超过阈值的情况下,能够判定为已发生的事件。
[0150]图11是示出实施方式3的事件队列生成部4的一个结构例的结构图。
[0151]在图11中,除了图5的结构以外,事件队列生成部4还具有存储连锁概率的连锁概率存储部30,连锁概率是多个事件连锁的概率。
[0152 ]接着,说明实施方式3中的事件队列生成部4的动作。
[0153]将从警报解释部3输出的攻击事件输入到判定部25。关于判定部25的动作,与图6相同。输入到判定部25的攻击事件通过判定部25内的处理而被输入到估计部26或生成部
28 ο
[0154]图12是示出实施方式3的估计部26的处理流程的流程图。
[0155]以下,参照图12,说明实施方式3的估计部26的处理流程。
[0156]首先,步骤S601?S605的处理与图7所示的实施方式I中的估计部26的步骤S301?S305的处理相同。
[0157]接着,在步骤S606中,估计部26在事件X’是系统无法观测的事件的情况下,对事件X’追加表示是等待观测判定事件的信息。该信息例如是如下的标志信息:在等待观测判定的情况下设定I,在不是等待观测判定的情况下设定O。
[0158]其次,步骤S607?S610的处理与图7所示的实施方式I中的估计部26的步骤S307?S310的处理相同。
[0159]图13是示出实施方式3的生成部28的处理流程的流程图。
[0160]以下,参照图13,说明实施方式3的生成部28的处理流程。
[0161]首先,在步骤S701中,判定部25或估计部26向生成部28输入事件X。
[0162]接着,在步骤S702中,生成部28从存储部27中调用与事件X处于依存关系的事件。此时,依存关系由存储部27所存储的事件的先决条件、以及达成状态的关系确定。
[0163]接着,在步骤S703中,生成部28根据从存储部27调用的各事件的先决条件和达成状态,生成事件队列。
[0164]然后,在步骤S704中,生成部28针对在步骤S703中生成的事件队列,根据相邻的已观测到的事件,计算等待观测事件的发生概率。例如蓄积之前的事件发生事例的数据,利用这些统计的数据,给出发生概率,作为多个事件连锁的情况下的条件概率。这样的多个事件的连锁概率被存储到连锁概率存储部30中。生成部28将计算出的发生概率为设定的阈值以上的等待观测事件判定为观测到的事件。
[0165]接着,在步骤S705中,生成部28确认所输入的事件X是否被判定部25或估计部26判定为新的事件队列,在判定为新的事件队列的情况下,通过“是”的分支,进入步骤S706。在判定为不是新的事件队列的情况下,通过“否”的分支,进入步骤S709。
[0166]然后,在步骤S706中,生成部28仅通过观测到的事件,重新生成事件队列。此时,重新生成的事件队列有时成为多个事件队列。
[0167]接着,在步骤S707中,生成部28将重新生成的事件队列登记到事件队列存储部7中。
[0168]然后,在步骤S708中,生成部28向检测状态管理部8通知已进行了事件队列存储部7的更新,结束处理。
[0169]此外,在步骤S705中判定为不是新的事件队列的情况下,在步骤S709中,生成部28确认所输入的事件X是否被判定部25或估计部26判定为能够追加到现有的事件队列,在判定为能够追加的情况下,通过“是”的分支,进入步骤S710。在判定为不能追加的情况下,通过“否”的分支,进入步骤S707,在进行事件队列存储部的登记/更新后,进行步骤S708的处理,结束处理。
[0170]接着,在步骤S710中,生成部28对现有的事件队列追加可结合的事件队列。
[0171]然后,在步骤S711中,生成部28判定存储部所存储的全部事件是否能够追加到现有的事件队列,在判定为能够追加的情况下,通过“是”的分支,进入步骤S707,在进行事件队列存储部的登记/更新后,进行步骤S708的处理,结束处理。在判定为不能追加的情况下,通过“否”的分支,进入步骤S712。
[0172]接着,在步骤S712中,生成部28将无法追加的事件视作新的事件队列,进行步骤S706至S708的处理,结束处理。
[0173]如上所述,本实施方式3的发明针对无法观测的事件,根据存在依存关系的已观测到的事件,计算发生概率,由此,能够生成考虑了是否可以视作已观测到的事件的评价后的事件队列,能够进一步提尚检测精度。
[0174]实施方式4.
[0175]以上的实施方式I?3是与系统无法观测的攻击事件相关的攻击事件估计的方法,但在本实施方式4中,示出如下的实施方式:估计系统由于检测遗漏而无法观测的攻击事件,生成事件队列。
[0176]图14是示出实施方式4的事件队列生成部4的一个结构例的结构图。
[0177]在图14中,事件队列生成部4除了图5的结构以外,还具有存储事件的检测遗漏率的检测遗漏率存储部31。
[0178]接着,说明实施方式4中的事件队列生成部4的动作。
[0179]将从警报解释部3输出的攻击事件输入到判定部25。关于判定部25的动作,与图6相同。输入到判定部25的攻击事件通过判定部25内的处理而被输入到估计部26或生成部
28 ο
[0180]图15是示出实施方式4的估计部26的处理流程的流程图。
[0181]以下,参照图15,说明实施方式4的估计部26的处理流程。
[0182]首先,步骤S801?S804的处理与图7所示的实施方式I中的估计部26的步骤S301?S304的处理相同。
[0183]接着,在步骤S805中,估计部26参照检测遗漏率存储部31,调查事件X’的检测遗漏率,判定是否为预先设定的阈值以上。检测遗漏率存储部31存储的检测遗漏率例如使用以如下方式得到的检测遗漏率:蓄积之前发生的事件的检测遗漏事例数据,利用它们的统计数据,计算出检测遗漏率。估计部26在检测遗漏率为阈值以上的情况下,通过“是”的分支,进入步骤S806。在检测遗漏率不为阈值以上的情况下,通过“否”的分支,进入步骤S809。
[0184]其次,在步骤S806?S810的处理与图7所示的实施方式I中的估计部26的步骤S306?S310的处理相同。
[0185]如上所述,本实施方式4的发明预先针对各事件,定义发生检测遗漏的比例作为检测遗漏率,在检测遗漏率为阈值以上的情况下,判定为已观测到的事件,由此即使在包含由于检测遗漏而无法观测的事件的情况下,也能够生成事件队列,能够进一步提高检测精度。
[0186]实施方式5.
[0187]以上的实施方式I?4是以如下情况为前提的:没有假设为了生成事件队列而需要多个先决条件,事件队列为I列。在本实施方式5中,示出如下的实施方式:即使在根据多个先决条件生成事件队列的情况下,也进行事件发生的估计,从而能够生成事件队列。
[0188]图16是示出实施方式5的事件队列生成部4的一个结构例的结构图。
[0189]在图16中,事件队列生成部4除了图5的结构以外,还具有判定攻击事件的估计处理的结束的结束判定部32、以及保存判定部25和估计部26的判定结果的判定结果表33。
[0190]图17是示出实施方式5的判定结果表33的保存例的图。
[0191]在图17中,作为系统无法观测的事件的“密码流出”是如下例子:根据估计部26的估计结果,被视作已发生的事件,将发生判定判定为“可”。
[0192]判定部25验证从警报解释部3输入的攻击事件是否能够追加到事件队列存储部7所登记的事件队列中,在无法追加到事件队列的情况下,判定为需要估计未被观测的事件。在判定为需要估计未被观测的事件的情况下,通过估计部26进行估计。在判定为所输入的攻击事件是能够追加到事件队列存储部7内的现有的事件队列、或者是新的事件队列的情况下,在将判定结果追加到判定结果表33后,将所输入的攻击事件输入到结束判定部32,判定攻击事件的估计处理的结束。
[0193]估计部26请求事件检索部6检索与所输入的攻击事件处于依存关系的攻击事件,接收事件检索部6的检索结果。针对检索结果的各攻击事件,在检索结果的攻击事件是系统无法观测的攻击事件的情况下,将通过检索而新得到的攻击事件判定为观测到的事件。将视作观测到的事件的各个攻击事件输入到判定部25,在判定为所输入的攻击事件能够追加到事件队列存储部7内的现有的事件队列中、或者是新的事件队列之前,以递归方式进行估
i+o
[0194]在进行与输入到估计部26的攻击事件具有依存关系的全部攻击事件的估计后,确认观测所输入的攻击事件所需的先决条件是否全部满足,将确认结果追加到判定结果表33。然后,将输入到估计部26的攻击事件存储到存储部27中,将输入到结束判定部32的攻击事件输入到生成部28。
[0195]生成部28针对从结束判定部32输入的攻击事件,从存储部27调用依存于所输入的攻击事件的攻击事件。然后,根据调用的各攻击事件,生成事件队列。在事件队列生成时,根据判定结果表33,将判定为新的事件队列的攻击事件视作独立的事件队列。
[0196]接着,生成部28对登记在事件队列存储部7内的事件队列结合包含可追加的事件的事件队列。此时,在能够结合登记在事件队列存储部7内的多个事件队列的情况下,将这些事件结合而成为I个事件队列。从事件队列生成中排除由估计部26判定为不满足一部分或全部进行观测所需的先决条件的攻击事件。
[0197]在进行以上的处理后,生成部28将所生成的新的事件队列、以及与登记在事件队列存储部7内的事件队列结合的事件队列登记/更新到事件队列存储部7中。生成部28向检测状态管理部8通知通过生成事件队列进行了事件队列的更新。
[0198]结束判定部32首先将从警报解释部3输入的攻击事件存储为初始事件。然后,在输入了新的攻击事件时,进行是否与初始事件相同的比较。在输入了与初始事件相同的事件时,向生成部28输入初始事件。
[0199]接着,说明本实施方式中的事件队列生成部4的动作的详情。从警报解释部3输出的攻击事件被输入到判定部25以及结束判定部32。
[0200]以下,说明判定部25的动作。
[0201 ]图18是示出实施方式5的判定部25的处理流程的流程图。
[0202]首先,步骤S901?S904的处理与图6所示的实施方式I中的判定部25的步骤S201?S204的处理相同。
[0203]接着,在步骤S904中存在相应的事件队列的情况下,在步骤S905中,判定部25判定为所输入的事件X能够追加到现有事件队列,追加记载到判定结果表33。
[0204]继而,在步骤S906中,当存在多个先决条件时,确认是否已对全部先决条件进行了判定。在对全部先决条件进行了判定的情况下,通过“是”的分支,进入步骤S907,向结束判定部32输入事件X,结束处理。
[0205]此外,在步骤S906中未对全部先决条件进行判定的情况下,通过“否”的分支,进入步骤S908,针对未进行判定的先决条件实施判定,返回步骤S903,再次继续实施判定的处理。
[0206]此外,在步骤S904中不存在相应的事件队列的情况下,在步骤S909中,判定部25判定为需要估计事件,在步骤S910中,将事件X输入到估计部26,结束处理。
[0207]此外,在步骤S902中事件X是不具有先决条件的事件的情况下,在步骤S911中,判定部25将所输入的事件X判定为新的事件队列,在步骤S912中将事件X输入到结束判定部32,结束处理。
[0208]接着,说明将从警报解释部3输出的攻击事件输入到结束判定部32时的动作。
[0209]图19是示出实施方式5的结束判定部32的处理流程的流程图。
[0210]首先,在步骤S1001中,警报解释部3向结束判定部32输入初始事件X。
[0211]接着,在步骤S1002以及步骤S1003中,结束判定部32成为等待从判定部25或估计部26输入的事件的状态。在步骤S1003中未输入事件的情况下,通过“否”的分支,返回步骤S1002,再次成为事件的等待输入状态。在步骤S1003中输入了事件时,通过“是”的分支,进入步骤S1004。
[0212]接着,在步骤S1004中,结束判定部32判定所输入的事件是否等同于初始事件X。在所输入的事件等同于初始事件X的情况下,通过“是”的分支,进入步骤S1005。
[0213]接着,在步骤S1005中,结束判定部32向生成部25输入初始事件X,结束处理。
[0214]此外,在步骤S1003中输入的事件与初始事件X不同的情况下,在步骤S1002中成为等待输入状态。
[0215]以上为结束判定部32的处理流程。
[0216]接着,输入到判定部25的事件X通过判定部25内的处理被输入到估计部26或结束判定部32。以下,说明将事件X输入到估计部26的情况下的动作。
[0217]图20是示出实施方式5的估计部26的处理流程的流程图。
[0218]首先,在步骤SllOl中,判定部25向估计部26输入事件X。
[0219]接着,在步骤S1102中,估计部26请求事件检索部6检索事件X的先决条件为达成状态的事件,从事件数据库5中进行检索。
[0220]然后,在步骤SI103中,估计部26判断是否存在符合检索请求的事件,当存在符合检索请求的事件时,通过“是”的分支,进入步骤S1104。当不存在符合检索请求的事件时,通过“否”的分支,进入步骤Sllll。
[0221]接着,在步骤S1103中不存在符合检索请求的事件的情况下,在步骤Sllll中,估计部26将所输入的事件X判定为新的事件队列,追加到判定结果表33。然后,进行步骤S1112的处理。
[0222]此外,在步骤S1103中存在符合检索请求的事件的情况下,在步骤S1104中,估计部26得到一个以上的相应事件0’_1、乂’_2、-_)。然后,在步骤51105中,将用于反复处理的变量i初始化为I。
[0223]接着,在步骤S1106中,估计部26在X’_i是系统无法观测的事件的情况下,通过“是”的分支,进入步骤S1107。在X’」不是系统无法观测的事件的情况下,通过“否”的分支,进入步骤SI 109。
[0224]接着,在步骤S1107中,估计部26将事件X’_i判定为已观测到的事件,然后在步骤S1108中向判定部25输入事件X’」。在步骤S1108的处理结束后,进行步骤S1109的处理。
[0225]然后,在步骤S1109中,估计部26判断是否已对在步骤S1104中得到的全部事件X’_i进行了判定,在对全部事件x’_i进行了判定的情况下,通过“是”的分支,进入步骤S1112。在未判定全部事件X’」的情况下,通过“否”的分支,进入步骤S1110,对用于反复处理的变量i进行递增而进行更新,返回步骤S1106。
[0226]接着,在步骤S1112中,估计部26确认所输入的事件X是否全部满足用于观测的先决条件,在全部满足先决条件的情况下,通过“是”的分支,进入步骤S1114。在未满足先决条件的一部分或全部的情况下,通过“否”的分支,进入步骤SI 113。
[0227]在步骤SI112中未满足先决条件的一部分或全部的情况下,在步骤SI 113中,估计部26将所输入的事件X判定为未被观测到的事件,追加到判定结果表33中。此时,即使在步骤SI 107中视作已观测到的事件,也使步骤SI 113的判定结果优先。
[0228]在步骤S1112中全部满足观测所输入的事件X所需的先决条件的情况下、或者在步骤S1113的处理之后,在步骤S1114中,估计部26将所输入的事件X存储到存储部27中,然后,在步骤S1115中,向结束判定部32输入事件X。
[0229]接着,说明通过结束判定部32内的处理而将攻击事件输入到生成部28的情况下的动作。
[0230]图21是示出实施方式5的生成部28的处理流程的流程图。
[0231]首先,在步骤S1201中,结束判定部32向生成部28输入事件X。
[0232]接着,在步骤S1202中,生成部28从存储部27中调用与事件X处于依存关系的事件。此时,依存关系由存储部27所存储的事件的先决条件、以及达成状态的关系确定。
[0233]接着,在步骤S1203中,生成部28根据从存储部27调用的各事件的先决条件和达成状态,生成事件队列。
[0234]然后,在步骤S1204中,生成部28根据判定结果表33,对在步骤S1203中生成的事件队列进行如下的处理。首先,将被判定为能够与登记在事件队列存储部7内的现有的事件队列结合的事件与事件队列结合。此时,在结合了登记在事件队列存储部7内的多个事件队列的情况下,更新为I个事件队列。此外,将无法与现有的事件队列结合的事件队列视作新的事件队列。此外,在通过估计部26视作未观测到事件的情况下,将相应事件从事件队列生成中排除。
[0235]接着,在步骤S1205中,生成部28将所生成的新的事件队列、或已与登记在事件队列存储部7内的事件队列结合的事件队列登记/更新到事件队列存储部7中。
[0236]最后,在步骤S1206中,生成部28向检测状态管理部8通知已通过生成事件队列进行了事件队列存储部7的更新,结束处理。
[0237]如上所述,本实施方式5的发明即使在根据多个先决条件生成事件队列的情况下,也进行事件发生的估计,从而能够生成事件队列。由此,对于具有复杂的先决条件的攻击事件,也能够估计无法观测的攻击事件,能够提高本发明中的实施方式I?4的通用性。
[0238]实施方式6.
[0239]以上的实施方式I?5以利用已观测到的攻击事件的先决条件、追溯之前已发生的事件的方式进行检索,由此,进行了事件队列的生成。在本实施方式6中,示出如下的实施方式:存储根据已观测到的攻击事件的结果而期待接下来要观测的攻击事件,从而能够更高效地判定新观测到的攻击事件是否能够追加到现有的事件队列。
[0240]图22是示出实施方式6的攻击检测装置I的一个结构例的结构图。
[0241]在图22中,攻击检测装置I除了图1的结构以外,还具有观测期待事件存储部34,该观测期待事件存储部34存储能够追加到事件队列存储部7所存储的事件队列中的任意事件队列的攻击事件。
[0242]图23是示出实施方式6的事件队列生成部4的一个结构例的结构图。
[0243]在图23中,将从警报解释部3输入的攻击事件输入到判定部25。判定部25在观测期待事件存储部34内进行检索,调查是否包含所输入的攻击事件,判定是否为能够追加到事件队列的事件。
[0244]估计部26使用事件检索部6,从事件数据库5内检索先决条件为输入事件的达成状态的攻击事件,存储到观测期待事件存储部34中。此外,在事件检索部6的检索结果是系统无法观测的事件的情况下,估计部26进行系统无法观测的事件的估计。估计的方法在后面叙述。
[0245]生成部28对由判定部25得到的事件队列追加存储部27内的攻击事件、以及所输入的攻击事件,对事件队列存储部7进行更新。或者,生成部28将事件队列新登记到事件队列存储部7中。
[0246]接着,参照图24说明实施方式6的攻击检测装置I的动作。
[0247]图24是示出实施方式6的攻击检测装置的处理流程的流程图。
[0248]在图24中,与警报接收部2、警报解释部3、事件检索部6相关的步骤S1301?S1304的处理和实施方式I相同。
[0249]接着,在步骤S1305中,警报解释部3向事件队列生成部4输入攻击事件。
[0250]然后,在步骤S1306中,事件队列生成部4在观测期待事件存储部34内进行检索,在步骤S1307中,判定检索的结果是否为所输入的攻击事件能够追加到现有的事件队列。对于该判定,在检索结果中包含所输入的攻击事件的情况下,判定为所输入的攻击事件能够追加到现有的事件队列。在之后的步骤S1311中使用该判定结果。
[0251]接着,在步骤S1308中,事件队列生成部4请求事件检索部6检索先决条件为所输入的攻击事件的达成状态的事件。
[0252]接着,在步骤S1309中,事件检索部6在事件数据库5内进行检索,回送与检索请求对应的攻击事件定义信息。
[0253]然后,在步骤S1310中,事件队列生成部4在观测期待事件存储部34中登记与检索请求对应的攻击事件定义信息。
[0254]接着,在步骤SI311中,事件队列生成部4参照步骤SI307中的判定结果,在判定为所输入的攻击事件能够追加到现有的事件队列的情况下,通过“是”的分支,进入步骤S1312。在判定为不能追加的情况下,通过“否”的分支,进入步骤S1313。
[0255]接着,在步骤S1311中进入“是”的分支的情况下,在步骤S1312中,事件队列生成部4对与相应的观测期待事件存储部34内的攻击事件对应的事件队列追加攻击事件,对事件队列存储部7进行更新。
[0256]接着,关于步骤S1314和步骤S1315中的事件队列存储部7、检测状态管理部8的动作,与实施方式I相同。
[0257]另一方面,在步骤S1311中进入“否”的分支的情况下,在步骤S1313中,事件队列生成部4将所输入的攻击事件作为新的事件队列登记到事件队列存储部7中。然后,进行步骤S1314和步骤S1315的处理。
[0258]接着,说明实施方式6的事件队列生成部4的动作的详情。
[0259]图25是示出实施方式6的判定部25的处理流程的流程图。
[0260]首先,在步骤S1401中,警报解释部3向判定部25输入事件X。
[0261]接着,在步骤S1402中,判定部25在观测期待事件存储部34内进行检索,调查是否存在事件X。
[0262]然后,在步骤S1403中,判定部25判定进行检索的结果是否为存在事件X。在存在事件X的情况下,通过“是”的分支,进入步骤S1404。在不存在事件X的情况下,通过“否”的分支,进入步骤S1406。
[0263]接着,在步骤S1404中,判定部25判定为所输入的事件X能够追加到现有事件队列。
[0264]然后,在步骤S1405中,判定部25将与观测期待事件存储部34所存储的事件X对应的事件队列信息交接给事件X,将其从观测期待事件存储部34中删除。
[0265]接着,在步骤S1407中,判定部25向估计部26输入事件X,结束处理。
[0266]另一方面,在步骤S1403中不存在事件X的情况下,在步骤S1406中,判定部25判定为事件X是新的事件队列。然后,通过步骤S1407的处理,判定部25向估计部26输入事件X,结束处理。
[0267]接着,说明将事件X输入到估计部26的情况下的动作。
[0268]图26是示出实施方式6的估计部26的处理流程的流程图。
[0269]首先,在步骤S1501中,判定部25向估计部26输入事件X。
[0270]接着,在步骤S1502中,估计部26判断事件X是否具有达成状态,在具有达成状态的情况下,通过“是”的分支,进入步骤S1503。在不具有达成状态的情况下,通过“否”的分支,进入步骤S1513。
[0271]接着,在步骤S1503中,估计部26请求事件检索部6检索先决条件为事件X的达成状态的事件,从事件数据库5中进行检索。
[0272]然后,在步骤S1504中,估计部26判断是否存在符合检索请求的事件,在存在符合检索请求的事件的情况下,通过“是”的分支,进入步骤S1505。在不存在符合检索请求的事件的情况下,通过“否”的分支,进入步骤S1513。
[0273]接着,在步骤S1505中,估计部26从事件检索部6中得到符合检索请求的事件X’。
[0274]然后,在步骤S1506中,估计部26根据可否观测的设定,确认事件X’是否为无法观测的事件,在是无法观测的事件时,通过“是”的分支,进入步骤S1507。在是能够观测的事件的情况下,通过“否”的分支,进入步骤SI511。
[0275]接着,在步骤S1507中,估计部26将事件X’判定为已观测到的事件。
[0276]然后,在步骤S1508中,估计部26将与事件X对应的事件队列信息交接给事件X’。然后,在步骤S1509中,在存储部27中存储事件X,在步骤S1510中,将事件X ’重新设为事件X,返回步骤S1502。
[0277]另一方面,在步骤S1506中事件X’是系统能够观测的事件的情况下,在步骤S1511中,估计部26将与事件X对应的事件队列信息交接给事件X’。
[0278]接着,在步骤S1512中,估计部26在观测期待事件存储部34中追加事件X’,对观测期待事件存储部34进行更新。然后,在步骤S1513中,估计部26向生成部28输入事件X,结束处理。
[0279]此外,在步骤S1502中事件X不具有达成状态的情况下,或者在步骤S1504中检索的结果是不存在相应的事件的情况下,在步骤S1513中,估计部26向生成部28输入事件X,结束处理。
[0280]接着,说明通过估计部26内的处理而向生成部28输入了事件X的情况下的动作。[0281 ]图27是示出实施方式6的生成部28的处理流程的流程图。
[0282]首先,步骤S1601中,估计部26向生成部28输入事件X。
[0283]接着,在步骤S1602中,生成部28从存储部27中调用与事件X处于依存关系的事件。此时,依存关系由存储部27所存储的事件的先决条件、以及达成状态的关系确定。
[0284]接着,在步骤S1603中,生成部28确认所输入的事件X是否被判定部25判定为新的事件队列,在判定为新的事件队列的情况下,通过“是”的分支,进入步骤S1604。在判定为不是新的事件队列的情况下,通过“否”的分支,进入步骤S1605。
[0285]接着,在步骤S1604中,生成部28根据从存储部27调用的各事件的先决条件和达成状态,生成事件队列,作为新的事件队列登记到事件队列存储部7中。
[0286]然后,在步骤S1609中,生成部28向检测状态管理部8通知已进行了事件队列存储部7的更新,结束处理。
[0287]此外,在步骤S1603中判定为不是新的事件队列的情况下,在步骤S1605中,生成部28确认所输入的事件X是否被判定部25判定为能够追加到现有的事件队列,在判定为能够追加的情况下,通过“是”的分支,进入步骤S1606。在判定为不能追加的情况下,通过“否”的分支,结束处理。
[0288]接着,在步骤S1606中,生成部28根据与所输入的事件X对应的事件队列信息,从事件队列存储部7调用事件队列。
[0289]然后,在步骤S1607中,生成部28根据从存储部27调用的各事件的先决条件和达成状态,生成事件队列,追加到从事件队列存储部7调用的事件队列。
[0290]接着,在步骤S1608中,生成部28用追加后的事件队列更新事件队列存储部7内的追加前的事件队列,进行步骤S1609的处理,结束处理。
[0291]如上所述,本实施方式6的发明通过存储根据已观测到的攻击事件的达成状态而期待接下来要观测的攻击事件,判定新观测到的攻击事件是否能够追加到现有的事件队列。由此,能否追加到事件队列的判定可以仅调查所存储的、期待观测的攻击事件,因此,与需要按照每个事件队列进行检索的实施方式I?5相比,能够更高效地进行判定。
[0292]标号说明
[0293] I:攻击检测装置;2:警报接收部;3:警报解释部;4:事件队列生成部;5:事件数据库;6:事件检索部;7:事件队列存储部;8:检测状态管理部;9:攻击事件定义信息;10:先决条件;11:事件;12:达成状态;13:攻击概率;14:可否观测;15:先决条件(具体例);16:事件发生源;17:事件类别;18:事件参数;19:事件发生源(具体例);20:事件类别(具体例);21:事件参数(具体例);22:达成状态(具体例);23:攻击概率(具体例);24:可否观测(具体例);25:判定部;26:估计部;27:存储部;28:生成部;29:等待观测事件存储部;30:连锁概率存储部;31:检测遗漏率存储部;32:结束判定部;33:判定结果表;34:观测期待事件存储部。
【主权项】
1.一种攻击检测装置,该攻击检测装置具有: 事件阶段信息存储部,其针对多个事件存储事件阶段信息,所述事件阶段信息记述了在进行针对信息系统的攻击的过程中由所述信息系统观测的事件、作为观测所述事件前的攻击的进展阶段的事件前阶段、和作为观测到所述事件后的攻击的进展阶段的事件后阶段; 观测事件通知信息接收部,其接收观测事件通知信息,所述观测事件通知信息通知由所述信息系统观测到的观测事件;以及 事件队列生成部,其从所述事件阶段信息存储部中检索记述有通过所述观测事件通知信息通知的观测事件的事件阶段信息,从所述事件阶段信息存储部中检索记述有与检索出的事件阶段信息的事件前阶段对应的事件后阶段、或者与检索出的事件阶段信息的事件后阶段对应的事件前阶段的事件阶段信息,在检索出的事件阶段信息的事件是无法观测的不可观测事件的情况下,视作已观测到所述不可观测事件,利用依存关系连接所述观测事件和所述不可观测事件,生成事件队列。2.根据权利要求1所述的攻击检测装置,其中, 所述事件队列生成部从所述事件阶段信息存储部中检索记述有与所述不可观测事件的事件前阶段对应的事件后阶段或与所述不可观测事件的事件后阶段对应的事件前阶段的事件阶段信息,在观测到检索出的事件阶段信息的事件的情况下,视作已观测到所述不可观测事件,利用依存关系连接所述观测事件和所述不可观测事件,生成事件队列。3.根据权利要求1所述的攻击检测装置,其中, 所述攻击检测装置具有存储多个事件的连锁概率的连锁概率存储部, 所述事件队列生成部根据所述连锁概率存储部所存储的所述连锁概率,计算事件队列的发生概率,在该发生概率为阈值以上的情况下,视作已观测到所述不可观测事件,利用依存关系连接所述观测事件和所述不可观测事件,生成事件队列。4.根据权利要求1所述的攻击检测装置,其中, 所述攻击检测装置具有存储事件的检测遗漏率的检测遗漏率存储部, 所述事件队列生成部在所述检测遗漏率存储部所存储的所述检测遗漏率超过阈值的情况下,视作已观测到所述不可观测事件,利用依存关系连接所述观测事件和所述不可观测事件,生成事件队列。5.根据权利要求1?4中的任意一项所述的攻击检测装置,其中, 在所述事件阶段信息存储部存储的所述事件阶段信息中记述有多个所述事件前阶段或所述事件后阶段, 所述事件队列生成部根据记述在所述事件阶段信息中的多个所述事件前阶段或所述事件后阶段的可否观测的判定结果,生成事件队列。6.根据权利要求1?4中的任意一项所述的攻击检测装置,其中, 所述攻击检测装置具有观测期待事件存储部,所述观测期待事件存储部存储记述有与所述观测事件的事件后阶段对应的事件前阶段的事件阶段信息, 所述事件队列生成部从所述观测期待事件存储部中检索在所述事件前阶段中记述有观测事件的事件阶段信息,生成事件队列。7.—种攻击检测方法,是检测针对信息系统的攻击的攻击检测装置的攻击检测方法,包括以下步骤: 事件阶段信息存储步骤,事件阶段信息存储部针对多个事件存储事件阶段信息,所述事件阶段信息记述了在进行针对所述信息系统的攻击的过程中由所述信息系统观测的事件、作为观测所述事件前的攻击的进展阶段的事件前阶段、和作为观测到所述事件后的攻击的进展阶段的事件后阶段; 观测事件通知信息接收部接收观测事件通知信息的步骤,所述观测事件通知信息通知由所述信息系统观测到的观测事件;以及 事件队列生成步骤,事件队列生成部从所述事件阶段信息存储部中检索记述有通过所述观测事件通知信息通知的观测事件的事件阶段信息,从所述事件阶段信息存储部中检索记述有与检索出的事件阶段信息的事件前阶段对应的事件后阶段、或者与检索出的事件阶段信息的事件后阶段对应的事件前阶段的事件阶段信息,在检索出的事件阶段信息的事件是无法观测的不可观测事件的情况下,视作已观测到所述不可观测事件,利用依存关系连接所述观测事件和所述不可观测事件,生成事件队列。8.—种攻击检测程序,使计算机执行处理,其中,所述计算机针对多个事件存储事件阶段信息,所述事件阶段信息记述了在进行针对信息系统的攻击的过程中由所述信息系统观测的事件、作为观测所述事件前的攻击的进展阶段的事件前阶段、和作为观测到所述事件后的攻击的进展阶段的事件后阶段,所述处理如下: 观测事件通知信息接收处理,接收观测事件通知信息,所述观测事件通知信息通知由所述信息系统观测到的观测事件;以及 事件队列生成处理,检索记述有通过所述观测事件通知信息通知的观测事件的事件阶段信息,检索记述有与检索出的事件阶段信息的事件前阶段对应的事件后阶段、或者与检索出的事件阶段信息的事件后阶段对应的事件前阶段的事件阶段信息,在检索出的事件阶段信息的事件是无法观测的不可观测事件的情况下,视作已观测到所述不可观测事件,利用依存关系连接所述观测事件和所述不可观测事件,生成事件队列。
【文档编号】G06F21/55GK106062765SQ201480076371
【公开日】2016年10月26日
【申请日】2014年2月26日
【发明人】居城秀明, 河内清人
【申请人】三菱电机株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1