首页 / 模型生成装置、模型生成方法和模型生成程序

模型生成装置、模型生成方法和模型生成程序实质审查 发明

技术领域

[0001] 本发明涉及异常检测技术。

相关背景技术

[0002] 近年来,以特定的企业或特定的组织为对象的目标型攻击正在增加。2015年发生的对日本养老金机构的目标型攻击仍令人记忆犹新。此外,随着控制系统的网络化,对发电设备、气体设备等重要基础设施的网络攻击逐渐成为威胁。这样,网络攻击成为动摇国家安全保障的重大未决事项。2020年即将举办备受世界瞩目的东京奥运会和残奥会,预计其将成为攻击者的良好标靶。如果在大会期间内重要基础设施因网络攻击而停止工作,则会给大会运营带来很大的障碍。
[0003] 另一方面,在安全监视的现场,目前,具有专业知识的工作人员短缺已常态化。根据来自日本经济产业省的调查报告,在2016年,信息安全人材短缺132,060人。另外,预计在2020年会短缺193,010人。因此,需要即使工作人员少也能够高精度且高效地检测网络攻击的技术。
[0004] 作为检测网络攻击的技术,使用关于攻击和/或正常状态的规则的规则库的检测技术是众所周知的。但是,由于攻击的先进化和未知攻击的增加,预先定义规则变得困难,给监视工作人员带来困扰。因此,期望无需预先定义规则的先进的检测技术。作为实现它的技术,期待机器学习等Artificial Intelligence(人工智能,以下简称作AI)。
[0005] AI对预先准备的多个类的数据进行学习,自动地找到划分类间的边界。如果能够大量准备每个类的数据,则AI能够适当地找到边界。如果能够将AI应用于网络攻击的监视,则可期待AI替代迄今为止具有专业知识和技能的工作人员进行的规则的定义和更新。
[0006] 但是,在网络安全中,存在很难大量准备AI中最重要的每个类的数据这样的课题。特别是攻击的发生非常罕见,为了学习而大量准备攻击数据非常困难。因此,需要即使在攻击数据少或者完全没有的环境中也能够有效地将攻击检测为异常的AI技术。
[0007] 作为这种技术的代表例,已知有异常检测技术。在异常检测技术中,仅对正常数据进行学习,将正常的举动模型化为正常模型。而且,在异常检测技术中,将偏离正常模型的举动检测为异常。
[0008] 在非专利文献1中公开有如下技术:基于正常数据的倾向分割正常数据,按照通过分割而得到的每个分割数据生成正常模型。
[0009] 现有技术文献
[0010] 非专利文献
[0011] 非专利文献1:Denis Hock,Martin Kappes,Bogdan V.Ghita“, A Pre‑clustering Method To Improve Anomaly Detection”

具体实施方式

[0046] 以下,使用附图对实施方式进行说明。在以下的实施方式的说明和附图中,标注同一标号的部分表示同一部分或相当的部分。
[0047] 实施方式1
[0048] ***结构的说明***
[0049] 图1示出本实施方式的异常检测系统1000的结构例。
[0050] 如图1所示,异常检测系统1000由模型生成装置100和异常检测装置200构成。
[0051] 模型生成装置100取得正常数据300,基于正常数据300生成在异常检测中使用的正常模型400。正常模型400是表现出与正常数据一贯的行为的模型。
[0052] 模型生成装置100是计算机。模型生成装置100的动作步骤相当于模型生成方法。另外,实现模型生成装置100的动作的程序相当于模型生成程序。
[0053] 异常检测装置200取得由模型生成装置100生成的正常模型400,此外,取得日志数据500。日志数据500是异常检测装置200监视的监视数据的一例。异常检测装置200能够将日志数据500以外的数据作为监视数据进行监视。在本实施方式中,异常检测装置200取得日志数据500作为监视数据。
[0054] 然后,异常检测装置200对取得的日志数据500应用正常模型400进行异常检测。在异常检测的结果为检测到异常举动(anomaly)的情况下,异常检测装置200输出警报600。
[0055] 异常检测装置200也是计算机。异常检测装置200的动作步骤相当于异常检测方法。此外,实现异常检测装置200的动作的程序相当于异常检测程序。
[0056] 模型生成装置100例如通过有线通信或无线通信将正常模型400发送给异常检测装置200,将正常模型400交给异常检测装置200。此外,也可以将正常模型400存储于可移动记录介质,将可移动记录介质连接到异常检测装置200,异常检测装置200从可移动记录介质读出正常模型400。此外,也可以通过这些方法以外的方法将正常模型400从模型生成装置100交给异常检测装置200。
[0057] 在本实施方式中,对在不同的计算机上构成模型生成装置100和异常检测装置200的例子进行说明。取而代之,也可以在1个计算机上构成模型生成装置100和异常检测装置200。
[0058] 图2示出模型生成装置100的硬件结构例。
[0059] 作为硬件,模型生成装置100具备处理器151、主存储装置152、辅助存储装置153、通信装置154以及输入输出装置155。
[0060] 辅助存储装置153中存储有实现后述的属性值提取部101、分割数据生成部102、特征选择部103以及正常模型生成部104的功能的程序。
[0061] 这些程序从辅助存储装置153加载到主存储装置152。然后,处理器151执行这些程序,进行后述的属性值提取部101、分割数据生成部102、特征选择部103以及正常模型生成部104的动作。
[0062] 在图2中,示意性地示出处理器151执行实现属性值提取部101、分割数据生成部102、特征选择部103以及正常模型生成部104的功能的程序的状态。
[0063] 图3示出异常检测装置200的硬件结构例。
[0064] 作为硬件,异常检测装置200具备处理器251、主存储装置252、辅助存储装置253、通信装置254以及输入输出装置255。
[0065] 辅助存储装置253中存储有实现后述的属性更新部201和检测处理部202的功能的程序。
[0066] 这些程序从辅助存储装置253加载到主存储装置252。然后,处理器251执行这些程序,进行后述的属性更新部201和检测处理部202的动作。
[0067] 在图3中,示意性地示出处理器251执行实现属性更新部201和检测处理部202的功能的程序的状态。
[0068] 图4示出本实施方式的模型生成装置100的功能结构例。
[0069] 属性值提取部101参照属性DB111,提取属于与异常检测中的监视对象相关联的属性的多个属性值作为多个模型生成属性值。
[0070] 属性DB111中示出与异常检测中的监视对象相关联的多个属性。异常检测中的监视对象是指后述的监视对象管理DB211中示出的监视对象。监视对象例如是用户账户、IP地址和网络地址。属性DB111中示出与监视对象管理DB211中示出的监视对象相关联的多个属性。而且,各属性包含多个属性值。属性是指企业职员的所属部门(以下简称作所属)、职务等。另外,作为所属中包含的属性值,例如有经理部、总务部、营业部等。另外,作为职务中包含的属性值,有社长、董事、部长等。
[0071] 属性DB111中示出从正常数据300中提取各属性的属性值的方法。属性值提取部101按照属性DB111中示出的提取方法,参照正常数据300、目录信息等,提取属于与异常检测中的监视对象相关联的属性的属性值作为模型生成属性值。然后,属性值提取部101将模型生成属性值输出到分割数据生成部102。
[0072] 另外,由属性值提取部101进行的处理相当于属性值提取处理。
[0073] 分割数据生成部102取得正常数据300。此外,分割数据生成部102从属性值提取部101取得模型生成属性值。
[0074] 然后,分割数据生成部102按照每个模型生成属性值分割正常数据300,按照每个模型生成属性值生成分割数据。
[0075] 图6示出正常数据300的例子。正常数据300是日志数据、通信分组数据、传感器数据等时间序列数据。正常数据300中示出多个正常事件。正常事件是与数据处理相关的已被判明为正常的事件。正常数据300中仅包含正常事件。在本实施方式中,设正常数据300是通信日志数据。
[0076] 正常数据300例如由IP地址、时间戳、URL、域、大小、状态码等构成。这些IP地址、时间戳、URL、域、大小、状态码分别相当于特征。而且,IP地址、时间戳、URL、域、大小、状态码各自的具体值(IP1、T1、URL1、域1、大小1、状态1等)是特征值。正常数据300的各记录中的特征值的集合相当于事件。例如,在图6的第1行记录中,表示在时刻T1有属于域1的IP1对URL1的访问,用于访问的分组的大小是大小1,通过访问而产生的状态是状态1这样的事件。此外,通过按时间序列连接事件,得到特定对象(例如与IP1对应的用户)的举动。
[0077] 分割数据生成部102从正常数据300中提取与从属性值提取部101取得的模型生成属性值相关联的正常事件(记录),按照每个模型生成属性值生成表示提取出的正常事件的分割数据。即,分割数据生成部102从正常数据300中提取相当于模型生成属性值(例如“经理部”)的记录,收集相当于提取出的“经理部”的记录,生成与“经理部”对应的分割数据。
[0078] 分割数据生成部102将针对多个模型生成属性值生成的多个分割数据输出到特征选择部103。
[0079] 由分割数据生成部102进行的处理相当于分割数据生成处理。
[0080] 特征选择部103按照监视对象的每个具体值分割由分割数据生成部102针对多个模型生成属性值生成的多个分割数据。然后,特征选择部103根据监视对象的每个具体值的分割数据,参照特征DB112,选择用于生成正常模型400的特征组合。多个分割数据中示出多个正常事件,多个正常事件包含多个特征。特征选择部103从多个分割数据的多个特征中选择用于生成正常模型400的特征组合。
[0081] 更具体而言,特征选择部103组合多个分割数据的多个特征而生成多个特征组合。进而,特征选择部103按照生成的每个特征组合计算分类精度,该分类精度是对多个分割数据进行分类的精度。然后,特征选择部103基于计算出的分类精度,选择用于生成正常模型
400的特征组合。
[0082] 将由特征选择部103选择出特征组合的分割数据也称作一贯性得到确认的分割数据。
[0083] 由特征选择部103进行的处理相当于特征选择处理。
[0084] 正常模型生成部104使用由特征选择部103选择出的特征组合,按照每个模型生成属性值生成正常模型400。
[0085] 正常模型生成部104按照每个模型生成属性值,使用分割数据所示的与由特征选择部103选择出的特征组合对应的具体值(特征值),生成正常模型400。更具体而言,正常模型生成部104与特征选择部103同样地,按照监视对象的每个具体值分割分割数据,从每个监视对象的分割数据中提取具体值(特征值),生成正常模型400。
[0086] 正常模型生成部104利用例如One‑class Support Vector Machine等机器学习算法生成正常模型400。
[0087] 由正常模型生成部104进行的处理相当于正常模型生成处理。
[0088] 在属性DB111中,如上所述,示出与异常检测中的监视对象相关联的多个属性。此外,属性DB111中示出属于各属性的属性值的提取方法。
[0089] 属性DB111的详情容后再述。
[0090] 特征DB112中示出多个特征,示出各特征的提取方法。
[0091] 特征DB112的详情容后再述。
[0092] 正常模型管理DB113管理由正常模型生成部104生成的正常模型。
[0093] 正常模型管理DB113的详情容后再述。
[0094] 在模型特征DB114中,按照每个属性示出选择出的特征组合和在选择特征组合时生成的识别器。
[0095] 模型特征DB114的详情容后再述。
[0096] 图5示出本实施方式的异常检测装置200的功能构成例。
[0097] 属性更新部201更新监视对象管理DB211中示出的属性值。更具体而言,属性更新部201定期地(例如一天一次)确认目录信息、认证服务器的信息等。例如,属性更新部201在内联网内进行抓取,确认目录信息、认证服务器的信息等。然后,属性更新部201收集IP地址、利用IP地址的用户账户、用户的所属、用户的职务等信息,更新监视对象管理DB211中示出的属性值。
[0098] 检测处理部202分割日志数据500而生成分割数据。此外,检测处理部202取得与生成的分割数据对应的正常模型,使用正常模型进行异常检测。
[0099] 检测处理部202由属性值取得部203、正常模型取得部204以及异常检测部205构成。
[0100] 属性值取得部203取得与异常检测中的监视对象相关联的属性的属性值。
[0101] 更具体而言,属性值取得部203从监视对象管理DB211取得与监视对象相关联的属性的属性值。监视对象例如是用户账户、IP地址和网络地址。另外,在与监视对象相关联的属性中发生属性值变更的情况下,属性值取得部203取得作为变更前的属性值的变更前属性值和作为变更后的属性值的变更后属性值。
[0102] 此外,属性值取得部203按照监视对象的每个具体值分割日志数据500而生成分割数据。
[0103] 日志数据500与正常数据300同样地,例如是图6所示的形式的时间序列数据。正常数据300仅包含正常事件,或者大部分是正常事件而仅包含极少的异常事件。日志数据500所示的事件不限于正常事件。
[0104] 由属性值取得部203进行的处理相当于属性值取得处理。
[0105] 正常模型取得部204从属性值取得部203取得属性值。然后,正常模型取得部204参照正常模型管理DB213,取得与从属性值取得部203取得的属性值对应的正常模型,换言之,取得与由属性值取得部203取得的属性值对应的正常模型。
[0106] 如后所述,在正常模型管理DB213中管理着与多个属性对应地生成的多个正常模型。正常模型取得部204从与多个属性对应地生成的多个正常模型中,取得与从属性值取得部203取得的属性值对应地生成的正常模型。
[0107] 另外,在从属性值取得部203取得了变更前属性值和变更后属性值的情况下,正常模型取得部204取得与变更前属性值对应的正常模型和与变更后属性值对应的正常模型。
[0108] 正常模型取得部204将正常模型输出到异常检测部205。
[0109] 由正常模型取得部204进行的处理相当于正常模型取得处理。
[0110] 异常检测部205对从属性值取得部203取得的分割数据应用从正常模型取得部204取得的正常模型,进行异常检测。
[0111] 在从属性值取得部203取得变更前属性值的分割数据和变更后属性值的分割数据,从正常模型取得部204取得与变更前属性值对应的正常模型和与变更后属性值对应的正常模型的情况下,异常检测部205对变更前属性值的分割数据应用与变更前属性值的分割数据对应的正常模型,对变更后属性值的分割数据应用与变更后属性值的分割数据对应的正常模型,进行异常检测。
[0112] 然后,在检测到异常的情况下,异常检测部205输出警报600。
[0113] 由异常检测部205进行的处理相当于异常检测处理。
[0114] 在监视对象管理DB211中,按照每个监视对象示出多个属性各自的属性值。如上所述,当有属性值的变更时,在监视对象管理DB211中示出变更前属性值和变更后属性值。另外,变更前属性值也可以在从有属性值的变更起经过一定期间(例如1个月)后删除。
[0115] 监视对象管理DB211的详情容后再述。
[0116] 日志数据蓄积DB212以一定的时间间隔(例如5分钟)蓄积日志数据500。
[0117] 正常模型管理DB213管理多个正常模型。正常模型管理DB213与图3所示的正常模型管理DB113相同。
[0118] 模型特征DB214按照每个属性示出正常模型中包含的多个特征和作为各特征的提取源的正常数据。模型特征DB214与图4所示的模型特征DB114相同。
[0119] 特征DB215中示出多个特征,示出各特征的提取方法。特征DB215与图4所示的特征DB112相同。
[0120] 属性DB216中示出与异常检测中的监视对象相关联的多个属性。此外,属性DB216中示出属于各属性的属性值的提取方法。属性DB216与图3所示的属性DB111相同。
[0121] 图7示出属性DB111和属性DB216的例子。如图7所示,属性DB111和属性DB216由属性、参照项目、提取方法和层级结构的栏构成。
[0122] 在属性栏中示出与监视对象管理DB211中示出的监视对象相关联的多个属性。换言之,在属性栏中示出由属性值提取部101作为模型生成属性值而提取出的属性值所属的属性。
[0123] 在参照项目栏中示出属性值提取部101提取模型生成属性值时应该参照的分割数据内的项目。例如,在属性值提取部101提取属于属性“所属”的属性值作为模型生成属性值的情况下,需要参照分割数据内的用户账户的项目。
[0124] 在提取方法栏中示出根据分割数据生成模型生成属性的方法。在图7中,为了容易理解,记载有属性值的具体的提取方法,但在实际的运用中,假设在提取方法栏中记载到记述有提取方法的脚本文件的路径。
[0125] 在层级结构栏中示出属性值是否具有层级结构。例如,在作为属性“所属”的属性值的经理部、总务部、营业部等之间没有层级结构。另一方面,在作为属性“职务”的属性值的社长、董事、部长等之间有层级结构。
[0126] 图8示出特征DB112和特征DB215的例子。如图8所示,特征DB112和特征DB215由特征、日志的种类、提取方法的栏构成。
[0127] 在特征栏中示出从正常数据300或日志数据500中提取的特征。
[0128] 在日志的种类栏中示出作为特征提取源的正常数据300或日志数据500的种类。
[0129] 在提取方法栏中示出根据正常数据300或日志数据500生成特征的方法。在图8中,为了容易理解,记载有特征的具体的提取方法,但在实际的运用中,假设在提取方法栏中记载到记述有提取方法的脚本文件的路径。
[0130] 图9示出模型特征DB114和模型特征DB214的例子。如图9所示,模型特征DB114和模型特征DB214由属性、特征组合以及识别器的栏构成。
[0131] 在属性栏中示出选择了特征组合的属性。换言之,在属性栏中示出一贯性得到确认的属性。
[0132] 在特征组合栏中,按照日志数据的种类示出正常模型400中包含的特征组合。换言之,在特征组合栏中,按照日志数据的种类示出由特征选择部103选择出的特征组合。例如,关于属性“所属”,按照属于所属的每个属性值(经理部、总务部、营业部等),生成与代理日志对应的正常模型、与文件服务器日志对应的正常模型、与认证服务器日志对应的正常模型。而且,在与代理日志对应的正常模型中,包含括号内记载的访问间隔、访问时间段、访问域、响应大小这样的特征。与文件服务器日志对应的正常模型和与认证服务器日志对应的正常模型也同样地包含括号内的特征。
[0133] 在识别器栏中示出在选择了特征组合栏中示出的特征组合时生成的识别器。
[0134] 图10示出正常模型管理DB113和正常模型管理DB213的例子。如图10所示,正常模型管理DB113和正常模型管理DB213中示出属性、属性值栏、正常模型栏。
[0135] 在属性栏中示出生成正常模型的属性。
[0136] 在属性值栏中示出属于属性的多个属性值。
[0137] 在正常模型栏中示出到保存有正常模型的区域的路径。
[0138] 图11示出监视对象管理DB211的例子。如图11所示,监视对象管理DB211中示出监视对象和多个属性的栏。
[0139] 监视对象是指异常检测中的监视对象。在图11的例子中,示出监视对象为IP地址的例子。另外,以下将图11所示的IP地址“192.168.1.5”也称作“IP1.5”。同样地,将图11所示的IP地址“192.168.1.6”也称作“IP1.6”。此外,“IP1.5”、“IP1.6”等具体的IP地址是监视对象:IP地址的具体值。
[0140] 属性是与异常检测中的监视对象相关联的属性。在图11的例子中,属性1~属性n是与监视对象相关联的属性。此外,例如在某个职员的所属或/和职务由于人事变动而变更的情况下,在监视对象管理DB211中示出作为变更前的属性值的变更前属性值和作为变更后的属性的变更后属性值。在各属性栏中,在变更前属性值中示出变更后属性值(例如“总务部”)、到正常模型的路径、变更前属性值的开始时刻。另一方面,在变更后属性值中示出变更后属性值(例如“人事部”)、到正常模型的路径、变更后属性值的开始时刻、表示运用中或非运用中的标志、权重。
[0141] ***动作的说明***
[0142] 接着,使用图12对本实施方式的模型生成装置100的动作概要进行说明。
[0143] 属性值提取部101按照属性DB111中示出的属性值的提取方法,参照正常数据300、目录信息等,提取属于与异常检测中的监视对象相关联的属性的属性值作为模型生成属性值。属性值提取部101将提取出的模型生成属性值输出到分割数据生成部102。
[0144] 此外,分割数据生成部102取得正常数据300,按照每个模型生成属性值分割正常数据300,按照每个模型生成属性值生成分割数据。
[0145] 在图12的例子中,分割数据生成部102按照属于属性“所属”的每个模型生成属性值生成分割数据,按照属于属性“职务”的每个模型生成属性值生成分割数据。即,分割数据生成部102针对属性“所属”,从正常数据300中提取关于属于人事部的职员的记录,生成人事部的分割数据。分割数据生成部102对总务部、营业部等也同样地生成分割数据。关于属性“职务”,也从正常数据300中提取关于社长的记录,生成社长的分割数据。分割数据生成部102对董事、所长、部长等也同样地生成分割数据。
[0146] 接着,特征选择部103按照每个属性分析分割数据,选择特征组合。
[0147] 具体而言,特征选择部103将分割数据分割成学习数据和验证数据。学习数据是学习用的分割数据。验证数据是验证用的分割数据。
[0148] 此外,特征选择部103参照特征DB112,生成学习数据中包含的多个特征组合。
[0149] 在此,对根据属性“所属”的学习数据生成特征组合的例子进行说明。另外,以下所示的“IP1.7”是“192.168.1.7”。同样地,“IP1.9”是“192.168.1.9”。“IP1.10”是“192.168.1.10”。“IP1.11”是“192.168.1.11”。
[0150] 设“人事部”的学习数据例如有包含“IP1.5”的多个学习数据、包含“IP1.6”的多个学习数据和包含“IP1.7”的多个学习数据。
[0151] 另外,设“营业部”的学习数据例如有包含“IP1.9”的多个学习数据和包含“IP1.10”的多个学习数据。
[0152] 设“总务部”的学习数据例如有包含“IP1.11”的多个学习数据。
[0153] 特征选择部103从“人事部”的学习数据中提取“IP1.5”的多个特征向量、“IP1.6”的多个特征向量和“IP1.7”的多个特征向量。
[0154] 此外,特征选择部103从“营业部”的学习数据中提取“IP1.9”的多个特征向量和“IP1.10”的多个特征向量。
[0155] 此外,特征选择部103从“总务部”的学习数据中提取“IP1.11”的多个特征向量。
[0156] 在“人事部”、“营业部”、“总务部”的任何学习数据中,提取的特征组合都是共同的。
[0157] 接着,特征选择部103按照每个属性进行将学习数据用作训练数据的学习,根据特征组合生成识别器。特征选择部103例如利用随机森林等算法生成识别器。然后,特征选择部103计算生成的识别器的验证数据的分类精度。
[0158] 特征选择部103使用“人事部”的特征向量的集合、“营业部”的特征向量的集合和“总务部”的特征向量的集合,将它们作为训练数据,评价分类精度。
[0159] 以属性“所属”的学习数据为例进行说明,特征选择部103按照根据属性“所属”的学习数据生成的每个特征组合生成识别器。这里,假定特征选择部103生成了特征组合A、特征组合B和特征组合C。该情况下,特征选择部103根据特征组合A生成识别器A,根据特征组合B生成识别器B,根据特征组合C生成识别器C。
[0160] 特征选择部103计测识别器A的属性“所属”的验证数据的分类精度。即,特征选择部103计算识别器A能否将人事部的验证数据正确分类为人事部的验证数据、能否将总务部的验证数据正确分类为总务部的验证数据、能否将营业部的验证数据正确分类为营业部的验证数据的分类精度。特征选择部103对于识别器B和识别器C也分别同样地计算分类精度。
[0161] 然后,特征选择部103选择阈值以上的分类精度最高的识别器。这里,设选择了识别器A。此外,特征选择部103选择与选择出的识别器A对应的特征组合A作为用于生成正常模型400的特征组合。另外,特征选择部103也可以选择特征组合A中包含的特征中的对分类精度的贡献度高的1个以上的特征,仅选择选择出的1个以上的特征作为用于生成正常模型的特征组合。
[0162] 接着,正常模型生成部104按照每个属性值,基于分割数据和特征组合生成正常模型400。
[0163] 以属性“所属”的学习数据为例进行说明,正常模型生成部104使用由特征选择部103针对属性“所属”选择出的特征组合A中包含的特征的分割数据(人事部)中包含的具体值(特征值),生成正常模型(人事部)。同样地,正常模型生成部104使用由特征选择部103针对属性“所属”选择出的特征组合A中包含的特征的分割数据(总务部)中包含的具体值(特征值),生成正常模型(总务部)。
[0164] 接着,参照图13,对本实施方式的异常检测装置200的动作概要进行说明。
[0165] 首先,属性值取得部203从日志数据蓄积DB212中取得日志数据500。此外,属性值取得部203从监视对象管理DB211取得监视对象的具体值。在此,如图11所示,监视对象是IP地址。属性值取得部203例如取得图11所示的“IP1.5”、“IP1.6”等的值。
[0166] 此外,属性值取得部203按照监视对象的每个具体值分割日志数据500,生成分割数据。在图13的例子中,属性值取得部203对“IP1.5”、“IP1.6”等分别分割日志数据500。
[0167] 正常模型取得部204从正常模型管理DB213中取得监视对象的具体值(例如“IP1.5”)的与变更前属性值对应的正常模型400和与变更后属性值对应的正常模型400。更具体而言,正常模型取得部204例如针对“IP1.5”的属性1~属性n,从正常模型管理DB213中取得与变更前属性值对应的正常模型400和与变更后属性值对应的正常模型400。
[0168] 异常检测部205判定分割数据所示的举动是否和正常模型400所示的正常举动一致,计算异常度。异常度表示分割数据所示的举动不是正常举动的程度。
[0169] 在图13的例子中,异常检测部205判定“IP1.5”的分割数据所示的举动是否和与变更前属性值对应的正常模型400所示的正常举动一致,计算异常度。此外,异常检测部205判定“IP1.5”的分割数据所示的举动是否和与变更后属性值对应的正常模型400所示的正常举动一致,计算异常度。
[0170] 接着,异常检测部205按照每个属性,使用变更后期间,取变更前属性值的异常度与变更后属性值的异常度的加权平均。
[0171] 变更后期间是从变更后属性的开始时刻到当前的期间。异常检测部205参照监视对象管理DB211中记载的变更后属性值的开始时刻得到变更后期间。
[0172] 另外,加权平均计算的方法容后再述。
[0173] 接着,异常检测部205统合每个属性的加权平均后的异常度,计算统合异常度。即,异常检测部205对图11的“IP1.5”的属性1~属性n各自的加权平均后的异常度进行合计而得到统合异常度。
[0174] 而且,在统合异常度为阈值以上的情况下,异常检测部205输出警报600。例如,关于警报600,向作为输入输出装置255的一部分的显示器装置输出警报600。
[0175] 此外,异常检测部205对于IP地址的其他具体值(“IP1.6”等)也同样地对属性1~属性n各自的加权平均后的异常度进行合计而得到统合异常度。该情况下,在统合异常度为阈值以上的情况下,异常检测部205也输出警报600。
[0176] 此外,异常检测部205对于其他监视对象(用户账户、网络地址等)的各具体值,也同样地得到统合异常度。该情况下,在统合异常度为阈值以上的情况下,异常检测部205也输出警报600。
[0177] 接着,使用流程图对本实施方式的模型生成装置100和异常检测装置200的动作例进行说明。
[0178] 图14示出模型生成装置100的动作例。
[0179] 首先,参照图14说明模型生成装置100的动作例。
[0180] 在步骤S101中,属性值提取部101从属性DB111中提取模型生成属性值。属性值提取部101将提取出的模型生成属性值输出到分割数据生成部102。
[0181] 接着,在步骤S102中,分割数据生成部102取得正常数据300,按照每个模型生成属性值分割正常数据300,生成每个模型生成属性值的分割数据。
[0182] 分割数据生成部102将生成的多个分割数据输出到特征选择部103。
[0183] 接着,在步骤S103中,特征选择部10组合多个分割数据中包含的多个特征而生成多个特征组合,选择用于生成正常模型的特征组合。
[0184] 接着,在步骤S104中,正常模型生成部104基于由特征选择部103选择出的特征组合,按照每个模型生成属性值生成正常模型400。
[0185] 图15示出模型生成属性值提取处理(图14的步骤S101)和分割数据生成处理(图14的步骤S102)的详情。
[0186] 首先,属性值提取部101在步骤S111中判定是否有未从属性DB111提取的模型生成属性值。
[0187] 在有未提取的模型生成属性值的情况下,处理进入步骤S112。另一方面,在没有未提取的模型生成属性值的情况下,处理结束。
[0188] 在步骤S112中,属性值提取部101按照属性DB111中记载的提取方法,提取未提取的模型生成属性值。
[0189] 例如,在提取属性“所属”中包含的模型生成属性值的情况下,属性值提取部101按照属性DB111的记载,从正常数据300的各记录中提取用户账户的值。然后,属性值提取部101从公司内的目录信息中参照与用户账户对应的所属(例如“经理部”),确定该职员的所属。
[0190] 此外,在正常数据300不包含用户账号的情况下,属性值提取部101基于AD服务器的日志根据IP地址确定用户账号。然后,属性值提取部101通过上述方法确定职员的所属。
[0191] 表示这样确定的职员的所属的属性值(例如“经理部”)相当于模型生成属性值。
[0192] 然后,属性值提取部101将模型生成属性值输出到分割数据生成部102。
[0193] 在步骤S113中,分割数据生成部102按照模型生成属性值分割正常数据300。
[0194] 更具体而言,分割数据生成部102从正常数据300中提取与模型生成属性值相关联的正常事件(记录),按照每个模型生成属性值生成表示提取出的正常事件的分割数据。即,分割数据生成部102从正常数据300中提取相当于模型生成属性值(例如“经理部”)的记录,收集相当于提取出的“经理部”的记录,生成与“经理部”对应的分割数据。
[0195] 图16示出特征选择处理(图14的步骤S103)的详情。
[0196] 在步骤S121中,特征选择部103将分割数据分割成学习数据和验证数据。更具体而言,特征选择部103按照监视对象的每个具体值分割由分割数据生成部102生成的分割数据,生成监视对象的每个具体值的分割数据。然后,特征选择部103将生成的监视对象的每个具体值的分割数据分割成学习数据和验证数据。例如,特征选择部103将日期较早的分割数据指定为学习数据,将日期较晚的分割数据指定为验证数据。
[0197] 接着,在步骤S122中,特征选择部103参照特征DB112生成学习数据中包含的多个特征组合。
[0198] 接着,在步骤S123中,特征选择部103判定在步骤S122中生成的特征组合中是否有未指定的特征组合。
[0199] 在有未指定的特征组合的情况下,处理进入步骤S124。另一方面,在没有未指定的特征组合的情况下,处理结束。
[0200] 在步骤S124中,特征选择部103指定未指定的特征组合。
[0201] 接着,在步骤S125中,特征选择部103从学习数据中提取在步骤S124中指定的特征组合的各个特征的特征值。然后,特征选择部103根据提取出的特征值生成特征向量。另外,特征选择部103将URL等的字符串数据和状态码等类别数据变换成One‑hot向量等表现,生成特征向量。
[0202] 接着,在步骤S126中,特征选择部103使用已有的机器学习算法根据在步骤S125中提取出的特征值生成识别器。特征选择部103使用用于生成分割数据的属性值作为训练数据。此外,特征选择部103也可以进行参数的网格搜索,以得到最佳的超参数。
[0203] 接着,在步骤S127中,特征选择部103从验证数据中提取在步骤S124中指定的特征组合的各个特征的特征值。然后,特征选择部103根据提取出的特征值生成特征向量。
[0204] 接着,在步骤S128中,特征选择部件103使用在步骤S127中生成的识别器和在步骤S128中提取出的特征向量对验证数据进行分类。
[0205] 接着,在步骤S129中,特征选择部103计算识别器对验证数据的分类精度,判定分类精度是否为阈值以上。
[0206] 如果分类精度为阈值以上,则处理进入步骤S130。另一方面,如果分类精度小于阈值,则处理返回到步骤S123。
[0207] 在步骤S130中,特征选择部103记录在步骤S125中指定的特征组合。然后,处理返回到步骤S123。
[0208] 在步骤S123中为否的情况下,即对全部特征组合进行了步骤S124以后的处理的情况下,在步骤S131中,特征选择部103选择分类精度最高的特征组合。
[0209] 在存在多个分类精度最高的特征组合的情况下,特征选择部103选择特征数最少的组合。
[0210] 此外,特征选择部103将选择出的特征组合和识别器存储到模型特征DB114。
[0211] 图17示出正常模型生成处理(图14的步骤S104)的详情。
[0212] 在步骤S141中,正常模型生成部104判定是否有未生成正常模型的模型生成属性值。
[0213] 在针对全部模型生成属性值生成了正常模型的情况下,处理结束。
[0214] 另一方面,在有未生成正常模型的模型生成属性值的情况下,处理进入步骤S142。
[0215] 在步骤S142中,正常模型生成部104选择未生成正常模型400的模型生成属性值。
[0216] 接着,在步骤S143中,正常模型生成部104从与在步骤S142中选择出的模型生成属性值对应的分割数据中,提取与特征组合对应的特征值。
[0217] 更具体而言,正常模型生成部104按照监视对象的每个具体值分割由分割数据生成部102生成的分割数据,生成监视对象的每个具体值的分割数据。然后,正常模型生成部104从模型特征DB114中读出针对在步骤S142中选择出的属性值所属的属性选择出的特征组合。然后,正常模型生成部104从与在步骤S142中选择出的属性值对应的监视对象的每个具体值的分割数据中,提取与读出的特征组合对应的特征值。
[0218] 接着,在步骤S144中,正常模型生成部104使用在步骤S143中提取的特征值生成正常模型400。
[0219] 接着,在步骤S145中,正常模型生成部104将生成的正常模型400存储到正常模型管理DB113。
[0220] 然后,处理返回到步骤S141。
[0221] 另外,在任意的属性中,由于全部特征组合的分类精度不满足要求精度而未由特征选择部103选择用于生成正常模型400的特征组合的情况下,正常模型生成部104针对相应的属性不生成正常模型400。
[0222] 图18示出异常检测装置200的检测处理部202的动作例。
[0223] 参照图18说明检测处理部202的动作例。
[0224] 首先,在步骤S201中,属性值取得部203从监控对象管理DB211取得监控对象的具体值。
[0225] 接着,在步骤S202中,属性值取得部203按照监视对象的每个具体值分割日志数据蓄积DB212中的日志数据500,生成分割数据。
[0226] 接着,在步骤S203中,属性值取得部203参考特征DB215,从各分割数据中提取对应于与监视对象的具体值相关联的属性值的特征值,根据提取出的特征值生成特征向量。
[0227] 接着,在步骤S204中,正常模型取得部204从正常模型管理DB213中取得对应于与监视对象的具体值相关联的属性值的正常模型400。
[0228] 接着,在步骤S205中,异常检测部205按照每个分割数据使用正常模型400进行异常检测。
[0229] 图19和图20示出检测处理部202的动作详情。
[0230] 首先,在步骤S211中,属性值取得部203判定当前是否是日志数据取得时机。在当前是日志数据取得时机的情况下,在步骤S212中,属性值取得部203从日志数据蓄积DB212中取得日志数据。
[0231] 另外,属性值取得部203从日志数据蓄积DB212中删除已取得的日志数据。
[0232] 接着,在步骤S213中,属性值取得部203从监视对象管理DB211中针对多个监视对象分别取得监视对象的具体值。
[0233] 例如,在作为监视对象有用户账户、IP地址和网络地址这3种的情况下,属性值取得部203分别针对用户账户、IP地址和网络地址取得具体的监视对象的值。例如,属性值取得部203针对IP地址取得“IP1.5”、“IP1.6”等监视对象的具体值。
[0234] 接着,在步骤S214中,属性值取得部203按照在步骤S213中取得的监视对象的每个具体值(例如“IP1.5”)分割日志数据500。
[0235] 更具体而言,属性值取得部203以在步骤S212中取得的监视对象的具体值为单位分割在步骤S211中读取的日志数据500,生成分割数据。
[0236] 即,分割数据生成部102从日志数据500中提取包含在步骤S212中取得的监视对象的具体值的记录,收集提取出的记录,生成在步骤S213中取得的监视对象的每个具体值的分割数据。
[0237] 接着,在步骤S215中,属性值取得部203从在步骤S213中取得的多个监视对象中选择任意的监视对象。例如,属性值取得部203按照监视对象管理DB211中的记载顺序选择监视对象。以下,以选择了IP地址的例子进行说明。
[0238] 接着,在步骤S216中,属性值取得部203选择在步骤S215中选择出的监视目标的具体值(例如“IP1.5”)。属性值取得部203例如按照监视对象管理DB211中的记载顺序选择监视对象的具体值。
[0239] 接着,在步骤S217中,属性值取得部203选择属性。在图11的例子中,属性值取得部203从属性1~属性n中选择任意的属性。例如,属性值取得部203按照监视对象管理DB211中的记载顺序选择属性。
[0240] 接着,在步骤S218中,属性值取得部203从监视对象管理DB211中取得在步骤S216中选择出的属性的属性值。在步骤S216中选择出的属性包含改变前属性值和改变后属性值的情况下,属性值取得部203取得改变前属性值和改变后属性值双方。
[0241] 在步骤S219中,属性值取得部203生成与运用中的属性值对应的特征向量。在图11的例子中,当在步骤S216中选择了属性1的情况下,属性1的改变后属性值(人事部)处于运用中,因此,属性值取得部203生成特征向量。另一方面,当在步骤S216中选择了属性2的情况下,属性2的变更后属性值(课长)处于非运用中,因此,属性值取得部203不生成特征向量。此外,在该阶段,属性值取得部203不对变更前属性值生成特征向量。
[0242] 属性值取得部203参照特征DB215,从关于在步骤S215中选择出的监视对象的分割数据中提取运用中的属性值的特征值,根据提取出的特征值生成特征向量。
[0243] 接着,在步骤S220中,异常检测部205使用与运用中的属性值对应的正常模型400进行异常检测,计算异常度。
[0244] 更具体而言,正常模型取得部204从正常模型管理DB213中取得与运用中的属性值对应的正常模型400。然后,异常检测部205使用由正常模型取得部204取得的正常模型400,对在步骤S219中生成的特征向量进行异常检测,计算异常度。
[0245] 接着,在步骤S221中,属性值取得部203判定在步骤S218中取得的属性值是否有变更前属性值。
[0246] 当在步骤S218中取得的属性值有变更前属性值的情况下,处理进入步骤S223。另一方面,当在步骤S218中取得的属性值没有变更前属性值的情况下,处理进入步骤S225。另外,即使在步骤S218中取得的属性值有变更前属性值的情况下,如果变更后属性值处于非运用中,则处理进入步骤S225。
[0247] 在步骤S223中,异常检测部205使用与变更前属性值对应的正常模型400进行异常检测,计算异常度。
[0248] 更具体而言,正常模型取得部204从正常模型管理DB213中取得与变更前属性值对应的正常模型400。然后,异常检测部205使用由正常模型取得部204取得的正常模型400,对在步骤S219中生成的特征向量进行异常检测,计算异常度。
[0249] 接着,在步骤S224中,异常检测部205取变更前属性值的异常度和变更后属性值的异常度的加权平均,统合变更前属性值的异常度和变更后属性值的异常度。
[0250] 具体而言,异常检测部205参照监视对象管理DB211中记载的变更后属性值的开始时刻,求出从变更后属性值的开始时刻到当前的时间即变更后期间t。然后,异常检测部205使用变更后期间t,计算变更前属性值的异常度和变更后属性值的异常度的加权平均,求出统合异常度。加权平均的计算方法例如如下所述。
[0251] 统合异常度=α×变更前属性值的异常度+(1‑α)×变更后属性值的异常度式1[0252] α=1/(tβ+1)    式2
[0253] 在上述式1和式2中,变更后期间t越短,则变更前属性值的异常度越强地反映到统合异常度,变更后期间t越长,则变更后属性值的异常度越强地反映到统合异常度。式2所示的“β”是调整变更后期间t对统合异常度的反映程度的常数参数。
[0254] 在步骤S225中,属性值取得部203判定是否有未处理的属性。在图11的例子中,属性值取得部203判定是否针对属性1~属性n全部进行了步骤S217以后的处理。
[0255] 在有未处理的属性的情况下,处理返回到步骤S217,属性值取得部203从未处理的属性中选择任意的属性。
[0256] 另一方面,在没有未处理的属性的情况下,处理进入步骤S226。
[0257] 在步骤S226中,异常检测部205统合每个属性的异常度。在图11的例子中,异常检测部205统合属性1~属性n各自的异常度。
[0258] 具体而言,异常检测部205通过以下方法统合每个属性的异常度。
[0259] [数学式1]
[0260]
[0261] 另外,在式3中,K由以下的式4得到。
[0262] K=o1×k1+o2×k2+…on×kn    式4
[0263] 另外,在式3中,ai是属性i的异常度。在式3和式4中,oi是表示属性i处于运用中或非运用中的标志。ki是属性i的权重。oi和ki预先在监视对象管理DB211中定义。
[0264] 接着,在步骤S227中,异常检测部205判定在步骤S226中得到的统合异常度是否为阈值以上。
[0265] 如果统合异常度小于阈值,则处理进入步骤S229。
[0266] 另一方面,如果统合异常度为阈值以上,则处理进入步骤S228。
[0267] 在步骤S228中,异常检测部205输出警报600。
[0268] 在步骤S229中,属性值取得部203判定是否有未处理的监视对象的具体值。
[0269] 属性值取得部203例如判定是否针对图11中记载的全部IP地址进行了步骤S216以后的处理。
[0270] 在有未处理的监视对象的情况下,处理返回到步骤S216,属性值取得部203从监视对象的未处理的具体值中选择任意的具体值(例如“IP1.6”)。
[0271] 在没有监视对象的未处理的具体值的情况下,处理进入步骤S230。
[0272] 在步骤230中,属性值取得部203判定是否有未处理的监视对象。
[0273] 属性值取得部203例如判定是否针对用户账户、IP地址和网络地址全部进行了步骤S215之后的处理。
[0274] 在有未处理的监视对象的情况下,处理返回到步骤S215,属性值取得部203从未处理的监视对象中选择任意的监视对象(例如网络地址)。
[0275] 在没有未处理的监视对象的情况下,处理返回到步骤S211,在成为日志数据的取得时机时,属性值取得部203取得日志数据。
[0276] ***实施方式的效果的说明***
[0277] 以上,根据本实施方式,由于按照每个模型生成属性值生成正常模型,因此,能够进行高精度的异常检测。即,由于使用按照每个模型生成属性值生成的正常模型进行异常检测,因此,能够进行高精度的异常检测。
[0278] 此外,在本实施方式中,基于从一贯性得到确认的分割数据中提取出的特征组合生成正常模型。因此,能够进行高精度的异常检测。
[0279] 另外,根据本实施方式,能够灵活地应对所属或/和职务的变更、时期(繁忙期/闲散期)的变化这样的趋势变化,能够抑制异常检测中的误检测。
[0280] 实施方式2
[0281] 在本实施方式中,对异常检测装置200中的异常度的计算步骤的变形例进行说明。
[0282] 在本实施方式中,主要说明与实施方式1的差异。
[0283] 另外,以下未说明的事项与实施方式1相同。
[0284] ***结构的说明***
[0285] 本实施方式的异常检测系统1000的结构例如图1所示。
[0286] 此外,本实施方式的模型生成装置100的硬件结构例如图2所示。
[0287] 本实施方式的异常检测装置200的硬件结构例如图3所示。
[0288] 本实施方式的模型生成装置100的功能结构例如图4所示。
[0289] 本实施方式的异常检测装置200的功能构成例如图5所示。
[0290] 此外,本实施方式的模型生成装置100的动作例如图12、图14~图17所示。
[0291] ***动作的说明***
[0292] 图21示出本实施方式的异常检测装置200的动作概要。
[0293] 在图21中,仅示出图13所示的异常检测部205的动作部分。
[0294] 在图21中示出追加层级异常检查,层级异常检查的结果是输出警报600。图21的其他要素与图13相同,因此省略说明。
[0295] 在本实施方式中,异常检测部205在得到每个属性的属性值后,进行层级异常检查。异常检测部205通过进行层级异常检查,得到基于层级异常检查的异常度。而且,当基于层级异常检查的异常度为阈值以上的情况下,异常检测部205输出警报600。
[0296] 在本实施方式中,异常检测部205在与监视对象相关联的属性值是层级结构属性值的情况下,进行层级异常检查。
[0297] 层级结构属性值是属于层级结构属性的属性值。层级结构属性是指多个属性值构成层级结构的属性。例如,属性“职务”如“社长‑董事‑所长‑部长‑课长‑担当”那样属性值构成层级结构,因此,相当于层级结构属性。
[0298] 假设对上位层级的属性值的人物赋予强(宽)的访问权。由于赋予给下位层级的属性值的人物的访问权是有限的,因此,通常不能访问上位层级的属性值的人物可访问的文件、目录、内联网等。另一方面,上位层级的属性值的人物能够访问下位层级的属性值的人物访问的文件、目录、内联网等。
[0299] 但是,上位层级的属性值的人物通常很少访问下位层级的属性值的人物访问的文件、目录、内联网等。例如,社长通常很少访问担当访问的源代码。因此,可认为上位层级的属性值的人物访问下位层级的属性值的人物访问的文件等的行为不是正常举动,存在攻击的可能性。
[0300] 在本实施方式中,当与监视对象相关联的属性值是层级结构属性值时,异常检测部205分析与监视对象相关联地发生的举动。具体而言,异常检测部205判定与监视对象相关联地发生的举动是否相当于比与监视对象相关联的层级结构属性值下位的层级的层级结构属性值的举动。然后,在与监视对象相关联地发生的举动相当于下位层级的层级结构属性值的举动的情况下,异常检测部205基于与监视对象相关联的层级结构属性值和下位层级的层级结构属性值之间的层级差,计算异常度。进而,异常检测部205使用计算出的异常度进行异常检测。
[0301] 图22示出本实施方式的异常检测部205的动作例。在本实施方式中,异常检测部205在图19和图20所示的步骤的基础上,还进行图22所示的步骤。
[0302] 在步骤S251中,异常检测部205判定与监视对象相关联的属性值是否是层级结构属性值。
[0303] 具体而言,异常检测部205判定在图19的步骤S211中取得的属性值是否是层级结构属性值。
[0304] 异常检测部205能够通过参照属性DB216的层级结构栏,判定与监视对象相关联的属性是否是层级结构属性。
[0305] 当在图19的步骤S211中取得的属性值是层级结构属性值的情况下,处理进入步骤S252。另一方面,当在图19的步骤S211中取得的属性值不是层级结构属性值的情况下,异常检测部205结束处理。
[0306] 在步骤S252中,异常检测部205用与分割数据的属性对应的识别器,对在图19的步骤S214中得到的该分割数据进行分类。
[0307] 用识别器对在图19的步骤S214中得到的分割数据进行分类,相当于分析与监视对象相关联地发生的举动。分割数据中示出与监视对象相关联地发生的举动。异常检测部205通过用识别器对分割数据进行分类,判定与监视对象相关联地发生的举动是否适合作为对应的层级结构属性值的举动。
[0308] 在此,假设“部长”的分割数据。
[0309] 该情况下,异常检测部205用与“职务”对应的识别器对“部长”的分割数据进行分类。另外,异常检测部205能够通过参照模型特征DB214的“识别器”栏,识别在步骤S252中使用的识别器。
[0310] 接着,在步骤S253中,异常检测部205判定步骤S252的结果是否为得到了下位的层级结构属性值。
[0311] 在上述的例子中,通过与“职务”对应的识别器,判定“部长”的分割数据是否被分类成比“部长”下位的职务的分割数据(“课长”的分割数据或者“担当”的分割数据)。
[0312] 在得到了下位的层级结构属性值的情况下,处理进入步骤S254。另一方面,在没有得到下位的层级结构属性值的情况下,异常检测部205结束处理。
[0313] 在步骤S254中,异常检测部205判定分割数据的层级与分类结果的层级的层级差。
[0314] 即,异常检测部205判定分割数据的阶层与分类结果的阶层在“社长‑董事‑所长‑部长‑课长‑担当”这样的层级结构中离开多少层级。
[0315] 如果分割数据的层级是“部长”,分类结果是“课长”,则两者离开1个层级。如果分割数据的层级是“部长”,分类结果是“担当”,则两者离开2个层级。
[0316] 接着,在步骤S255中,异常检测部205根据在步骤S254中判定出的层级差计算异常度。
[0317] 例如,异常检测部205使用以下的式5和式6,计算基于层级差的异常度。
[0318] 异常度2=λ×异常度1    式5
[0319] λ=1‑{1/(d+c)}   式6
[0320] 在式5中,异常度1是指在图19的步骤S216中计算出的异常度或者在步骤S220中计算出的变更前属性值的异常度或变更后属性值的异常度。异常度2是基于层级异常检查的异常度。
[0321] 此外,在式6中,d是层级差,c是调整用的常数参数。
[0322] 接着,在步骤S256中,异常检测部205判定在步骤S255中计算出的异常度是否为阈值以上。
[0323] 在步骤S255中计算出的异常度为阈值以上的情况下,处理进入步骤S257。另一方面,在步骤S255中计算出的异常度小于阈值的情况下,异常检测部205结束处理。
[0324] 在步骤S257中,异常检测部205输出警报600。
[0325] ***实施方式的效果的说明***
[0326] 在本实施方式中,在上位层级的属性值的举动相当于下位层级的属性值的举动的情况下也进行异常检测。因此,根据本实施方式,能够尽早发现攻击的可能性。
[0327] 以上,对实施方式1、2进行了说明,但也可以组合实施这2个实施方式。
[0328] 或者,也可以部分地实施这2个实施方式中的1个。
[0329] 或者,也可以部分地组合实施这2个实施方式。
[0330] 此外,也可以根据需要变更这2个实施方式中记载的结构和步骤。
[0331] ***硬件结构的补充说明***
[0332] 最后,进行模型生成装置100和异常检测装置200的硬件结构的补充说明。
[0333] 处理器151和处理器251分别是进行处理的IC(Integrated Circuit:集成电路)。
[0334] 处理器151和处理器251分别是CPU(Central Processing Unit:中央处理单元)、DSP(Digital Signal Processor:数字信号处理器)等。
[0335] 主存储装置152和主存储装置252分别是RAM(Random Access Memory:随机存取存储器)。
[0336] 辅助存储装置153和辅助存储装置253分别是ROM(Read Only Memory:只读存储器)、闪存、HDD(Hard Disk Drive:硬盘驱动器)等。
[0337] 通信装置154和通信装置254分别是执行数据的通信处理的电子电路。
[0338] 通信装置154和通信装置254例如分别是通信芯片或NIC(Network Interface Card:网络接口卡)。
[0339] 输入输出装置155和输入输出装置255分别是键盘、鼠标、显示器装置等。
[0340] 此外,辅助存储装置153中还存储有OS(Operating System:操作系统)。
[0341] 而且,OS的至少一部分由处理器151执行。
[0342] 处理器151一边执行OS的至少一部分,一边执行实现属性值提取部101、分割数据生成部102、特征选择部103以及正常模型生成部104的功能的程序。
[0343] 通过处理器151执行OS,进行任务管理、存储器管理、文件管理、通信控制等。
[0344] 此外,表示属性值提取部101、分割数据生成部102、特征选择部103以及正常模型生成部104的处理结果的信息、数据、信号值以及变量值中的至少任意一方存储在主存储装置152、辅助存储装置153、处理器151内的寄存器和高速缓冲存储器中的至少任意一方。
[0345] 此外,实现属性值提取部101、分割数据生成部102、特征选择部103以及正常模型生成部104的功能的程序也可以存储在磁盘、软盘、光盘、高密度盘、蓝光(注册商标)盘、DVD等可移动存储介质中。而且,也可以使存储有实现属性值提取部101、分割数据生成部102、特征选择部103以及正常模型生成部104的功能的程序的可移动记录介质流通。
[0346] 此外,也可以将属性值提取部101、分割数据生成部102、特征选择部103以及正常模型生成部104的“部”替换成“电路”、“工序”、“步骤”或“处理”。
[0347] 此外,模型生成装置100也可以通过处理电路来实现。处理电路例如是逻辑IC(Intcgratrd Circuit:集成电路)、GA(Gate Array:门阵列)、ASIC(Application Specific Intcgratrd Circuit:专用集成电路)、FPGA(Field‑Programmable Gate Array:现场可编程门阵列)。
[0348] 该情况下,属性值提取部101、分割数据生成部102、特征选择部103以及正常模型生成部104分别作为处理电路的一部分来实现。
[0349] 同样地,辅助存储装置253中也存储有OS。
[0350] 并且,OS的至少一部分由处理器251执行。
[0351] 处理器251一边执行OS的至少一部分,一边执行实现属性更新部201、检测处理部202、属性值取得部203、正常模型取得部204以及异常检测部205的功能的程序。
[0352] 通过处理器251执行OS,进行任务管理、存储器管理、文件管理、通信控制等。
[0353] 此外,表示属性更新部201、检测处理部202、属性值取得部203、正常模型取得部204以及异常检测部205的处理结果的信息、数据、信号值以及变量值中的至少任意一方存储在主存储装置252、辅助存储装置253、处理器251内的寄存器和高速缓冲存储器中的至少任意一方。
[0354] 此外,实现属性更新部201、检测处理部202、属性值取得部203、正常模型取得部204以及异常检测部205的功能的程序也可以存储在磁盘、软盘、光盘、高密度盘、蓝光(注册商标)盘、DVD等可移动存储介质中。并且,也可以使存储有实现属性更新部201、检测处理部
202、属性值取得部203、正常模型取得部204以及异常检测部205的功能的程序的可移动记录介质流通。
[0355] 此外,也可以将属性更新部201、检测处理部202、属性值取得部203、正常模型取得部204以及异常检测部205的“部”替换成“电路”、“工序”、“步骤”或“处理”。
[0356] 此外,异常检测装置200也可以通过处理电路来实现。如上所述,处理电路是逻辑IC、GA、ASIC、FPGA。
[0357] 该情况下,属性更新部201、检测处理部202、属性值取得部203、正常模型取得部204以及异常检测部205分别作为处理电路的一部分来实现。
[0358] 另外,在本说明书中,将处理器和处理电路的上位概念称作“处理线路”。
[0359] 即,处理器和处理电路分别是“处理线路”的具体例。
[0360] 标号说明
[0361] 100:模型生成装置;101:属性值提取部;102:分割数据生成部;103:特征选择部;104:正常模型生成部;111:属性DB;112:特征DB;113:正常模型管理DB;114:模型特征DB;
151:处理器;152:主存储装置;153:辅助存储装置;154:通信装置;155:输入输出装置;200:
异常检测装置;201:属性更新部;202:检测处理部;203:属性值取得部;204:正常模型取得部;205:异常检测部;211:监视对象管理DB;212:日志数据蓄积DB;213:正常模型管理DB;
214:模型特征DB;215:特征DB;216:属性DB;251:处理器;252:主存储装置;253:辅助存储装置;254:通信装置;255:输入输出装置;300:正常数据;400:正常模型;500:日志数据;600:
警报;1000:异常检测系统。

当前第1页 第1页 第2页 第3页