技术领域
[0001] 本发明涉及生成检测系统的异常事件的检测装置的样本数据的样本数据生成装置、样本数据生成方法和样本数据生成程序。特别地,本发明涉及生成用于使检测装置的检测精度高精度化的样本数据的样本数据生成装置、样本数据生成方法和样本数据生成程序。
相关背景技术
[0002] 在检测故障、攻击或其他异常这样的异常事件的检测技术中,经常发生误检测即假正(False Positive)和检测遗漏即假负(False Negative)。误检测是指检测出原本不应该检测的正常事件。此外,检测遗漏是指不检测原本应该检测的正常事件。误检测和检测遗漏是由于在检测技术的设计和评价时无法准备足够数量且足够变化的正常事件和异常事件而产生的。因此,为了提高检测技术的设计和评价的精度,需要关于检测技术可能引起的误检测和检测遗漏生成充分的样本数据的技术。
[0003] 在专利文献1中公开有如下技术:对恶意软件这样的非法程序赋予变异,生成如在现有的非法程序检测产品中无法检测那样的非法程序的样本数据。现有的非法程序检测产品的具体例子是防病毒软件。专利文献1的技术检查生成的样本数据是否在现有的产品中未被检测到和是否维持着存在恶意的功能。而且,专利文献1的技术使用通过检查后的样本数据,强化非法程序检测技术。
[0004] 在专利文献2中公开有高效地制作二进制数据的攻击数据的技术。专利文献2的技术使攻击数据的字节串逐字节地接近正常数据。然后,将该二进制数据输入到系统,确定系统产生异常的二进制数据。这样,自动生成具有正常数据的特征的攻击数据。专利文献2的技术通过使用具有正常数据的特征的攻击数据,能够高效地发现系统的异常并强化系统。
[0005] 现有技术文献
[0006] 专利文献
[0007] 专利文献1:日本特表2016-507115号公报
[0008] 专利文献2:日本特许5906855号公报
具体实施方式
[0038] 以下,使用附图说明本发明的实施方式。另外,在各图中,对相同或对应的部分标记相同的标号。在实施方式的说明中,对相同或者对应的部分适当省略或者简化说明。
[0039] 实施方式1
[0040] ***结构的说明***
[0041] 使用图1~图5,对本实施方式的样本数据生成装置100的结构进行说明。
[0042] 样本数据生成装置100生成检测装置的样本数据,该检测装置检测系统的异常事件。样本数据生成装置100以检测装置的检测精度的高精度化为目的。样本数据生成装置100生成检测装置无法检测的异常事件作为检测遗漏样本数据。此外,样本数据生成装置
100生成检测装置检测出的通常事件作为误检测样本数据。另外,有时将检测装置作为异常事件的检测对象的系统称作对象系统。
[0043] 样本数据生成装置100是计算机。样本数据生成装置100具有处理器910,并且具有存储器921、辅助存储装置922、输入接口930、输出接口940和通信装置950这样的其他硬件。处理器910经由信号线而与其他硬件连接,对这些其他硬件进行控制。
[0044] 样本数据生成装置100作为功能要素具有取得部10、模型生成部120、调整部140和存储部150。取得部具有正常样本生成部110和非正常样本生成部130。如图2所示,正常样本生成部110具有正常收集部111和正常生成部112。如图3所示,模型生成部120具有特征变换部121和学习部122。如图4所示,非正常样本生成部130具有非正常生成部131和非正常收集部132。如图5所示,调整部140具有变更部141和验证部142。变更部141具有特征提取部411和特征修正部412。在存储部150中存储有攻击工具组151、样本生成工具组152、模拟环境153、检测遗漏样本数据154和误检测样本数据155。
[0045] 取得部10、模型生成部120、变更部141和验证部142的功能通过软件来实现。存储部150设置于存储器921。
[0046] 处理器910是执行样本数据生成程序的装置。样本数据生成程序是实现取得部10、模型生成部120、变更部141和验证部142的功能的程序。
[0047] 处理器910是进行运算处理的IC(Integrated Circuit:集成电路)。处理器910的具体例是CPU(Central Processing Unit:中央处理单元)、DSP(Digital Signal Processor:数字信号处理器)和GPU(Graphics Processing Unit:图形处理单元)。
[0048] 存储器921是临时存储数据的存储装置。存储器921的具体例是SRAM(Static Random Access Memory:静态随机存取存储器)或DRAM(Dynamic Random Access Memory:动态随机存取存储器)。
[0049] 辅助存储装置922是保管数据的存储装置。辅助存储装置922的具体例是HDD。此外,辅助存储装置922也可以是SD(注册商标)存储卡、CF、NAND闪存、软盘、光盘、高密度盘、Floppy(注册商标)盘、DVD这样的可移动存储介质。另外,HDD是Hard Disk Drive(硬盘驱动器)的缩写。SD(注册商标)是Secure Digital(安全数字)的缩写。CF是CompactFlash(致密闪存)的缩写。DVD是Digital Versatile Disk(数字多功能盘)的缩写。
[0050] 输入接口930是与鼠标、键盘或触摸面板这样的输入装置连接的端口。具体而言,输入接口930是USB(Universal Serial Bus:通用串行总线)端子。另外,输入接口930也可以是与LAN(Local Area Network:局域网)连接的端口。
[0051] 输出接口940是与显示器这样的输出设备的缆线连接的端口。具体而言,输出接口940是USB端子或HDMI(注册商标)(High Definition Multimedia Interface:高清晰度多媒体接口)端子。具体而言,显示器是LCD(Liquid Crystal Display:液晶显示器)。
[0052] 通信装置950是经由网络而与其他装置通信的装置。通信装置950具有接收器和发送器。通信装置950以有线或无线的方式与LAN、互联网或电话线路这样的通信网络连接。具体而言,通信装置950是通信芯片或NIC(Network Interface Card:网络接口卡)。
[0053] 样本数据生成程序被读入到处理器910,由处理器910执行。在存储器921中不仅存储有样本数据生成程序,还存储有OS(Operating System:操作系统)。处理器910一边执行OS一边执行样本数据生成程序。样本数据生成程序和OS也可以存储于辅助存储装置922。辅助存储装置922中存储的样本数据生成程序和OS被加载到存储器921,由处理器910执行。另外,也可以将样本数据生成程序的一部分或者全部组装到OS。
[0054] 样本数据生成装置100也可以具有替代处理器910的多个处理器。这些多个处理器分担执行样本数据生成程序。与处理器910相同,各个处理器是执行样本数据生成程序的装置。
[0055] 由样本数据生成程序利用、处理或输出的数据、信息、信号值和变量值存储于存储器921、辅助存储装置922或处理器910内的寄存器或者闪存。
[0056] 样本数据生成程序使计算机执行将取得部10、模型生成部120、变更部141和验证部142的各部的“部”改写成“处理”、“过程”或者“工序”的各处理、各过程或者各工序。此外,样本数据生成方法是通过样本数据生成装置100执行样本数据生成程序来进行的方法。
[0057] 样本数据生成程序也可以存储到计算机能读取的记录介质来提供。此外,样本数据生成程序也可以作为程序产品来提供。
[0058] ***动作的说明***
[0059] 接着,对本实施方式的样本数据生成装置100的各部的动作进行说明。
[0060] <取得处理和模型生成处理>
[0061] 首先,使用图6,对本实施方式的取得处理和模型生成处理进行说明。
[0062] 在步骤S111中,取得部10取得分别为系统的通常事件的多个正常样本数据。具体而言,正常样本生成部110从对象系统收集真正正常的样本数据即正常样本数据。样本数据的具体例是通信分组、代理日志、系统日志、邮件和文件。通过在对象系统设置与样本数据对应的传感器,收集样本数据。在该时刻,假设不正常的样本数据即非正常样本数据不包含在对象系统中。
[0063] 详细地进行说明。
[0064] 正常样本生成部110的正常收集部111从对象系统收集真正正常的样本数据。此外,正常收集部111将从另一环境收集到的正常样本数据编辑成对象系统用。即,正常收集部111从除了对象系统以外的其他系统收集通常事件的样本数据。然后,正常收集部111通过按照对象系统的环境来修正收集到的样本数据,取得多个正常样本数据。从另一环境收集到的正常样本数据是指另一环境下的通常事件。例如,在从另一环境收集到的正常样本数据是日志的情况下,时间戳、IP地址、主机名和域名这样的信息有可能与对象系统的环境的日志不同。因此,正常收集部111修正时间戳、IP地址、主机名和域名这样的信息,以与从对象系统收集到的日志的信息匹配。
[0065] 此外,正常样本生成部110的正常生成部112按照参数来生成正常样本数据而不收集正常样本数据。正常生成部112按照样本数据的特征向量来生成正常样本数据。按照每个对象系统准备按照样本数据的特征向量生成正常样本数据的工具。即,正常生成部112使用样本生成工具组152和模拟环境153取得多个正常样本数据,该样本生成工具组152生成系统的通常事件的样本数据。在自动生成误检测样本数据时也使用该工具。
[0066] 另外,正常样本生成部110也可以收集从设置于组织的系统的传感器定期地发送的正常样本数据。
[0067] 在步骤S112中,模型生成部120生成表现多个正常样本数据的模型。将表现正常样本数据的模型称作正常模型。模型生成部120通过使用机器学习这样的技术学习正常样本数据的组,生成正常模型。在利用机器学习的情况下,模型生成部120使用一类识别器,该一类识别器用于对样本数据是正常样本数据还是除了该正常样本数据以外的数据进行分类。模型生成部120利用能够从识别器求出识别得分的识别算法,以测量样本数据是否接近正常样本数据。模型生成部120也可以进行在机器学习之前对样本数据的生数据进行预处理并提取现有的特征这样的处理。
[0068] 另外,模型生成部120也可以利用由后述的非正常样本生成部130生成的非正常样本数据的组。即,模型生成部120也可以利用二类识别器,该二类识别器对是正常样本数据还是非正常样本数据进行分类。在2个组的大小存在差异的情况下,采用诸如调整样本数据数量或者调整误答时的惩罚等的经常用于不平衡数据的方法。
[0069] 模型生成部120的特征变换部121将多个正常样本数据分别转换成特征向量。此外,模型生成部120的学习部122使用机器学习技术,根据由特征变换部121变换后的特征向量来学习正常模型。
[0070] 具体而言,特征变换部121变换成容易对输入的样本数据进行处理的形式,即特征向量。作为具体例,对代理日志的情况进行说明。例如,关于一定期间内的发送源与发送目的地的通信,将通信的频度、数据大小、数据中包含的字符串的频度这样的信息作为元素排列而成的是特征向量C=(c1,c2,…,cn)。如果能够以原来的形式学习收集到的样本数据,则不需要特征变换部121。
[0071] 学习部122将正常样本数据的特征向量作为学习数据学习,将表现正常样本数据的特征空间作为模型学习。只要能够使用学习到的模型对新赋予的特征向量计算得分即可,学习的方法可以是任意的。得分是表示所赋予的特征向量与正常样本数据相似到何种程度的值,即相似度。相似度如果接近正常样本数据的模型,则为较高的值,如果不相似,则为较低的值。在机器学习的分类器的情况下,得分对应于预测值的概率。
[0072] 在步骤S113中,模型生成部120取得多个正常样本数据中的、检测装置误检测的正常样本数据作为误检测样本数据。模型生成部120利用现有的检测引擎来取得现有的检测引擎产生误检测的正常样本数据。模型生成部120将正常样本生成部110在步骤S111中取得的正常样本数据输入到现有的检测引擎。然后,模型生成部120取得产生误检测的正常样本数据作为误检测样本数据。
[0073] 在步骤S114中,模型生成部120生成表现误检测样本数据的模型作为误检测模型。具体而言,模型生成部120使用机器学习这样的技术学习不产生误检测的正常样本数据的组和产生误检测的正常样本数据的组。然后,模型生成部120生成表现产生误检测的正常样本数据即误检测样本数据的模型。将表现误检测样本数据的模型称作误检测模型。
[0074] 在利用机器学习的情况下,模型生成部120成为用于对是不产生误检测的正常样本数据还是产生误检测的正常样本数据进行分类的二类识别器。在2个组的大小存在差异的情况下,采用诸如调整样本数据数量或者调整误答时的惩罚等的经常用于不平衡数据的方法。
[0075] 在本实施方式中,作为用于生成模型的方法,举出机器学习。机器学习的算法根据作为对象的系统、信息或者成本来适当地选择。
[0076] 接着,使用图7~图10,对样本数据与模型的关系进行说明。
[0077] 在图7中,W的空间表现正常样本数据的总体。此外,B的空间表现非正常样本数据的总体。
[0078] 在图8中,NM是正常模型表现的样本数据的空间。由于不一定能够准确地学习正常样本数据,因此,在NM中多少也包含非正常样本数据。D的空间表现某一检测装置检测的样本数据的总体。B的空间中的未被D覆盖的部分为检测遗漏的样本数据。
[0079] 此外,检测装置并非仅准确地检测非正常样本数据。因此,在D的空间中也包含正常样本数据。因此,在图9中,被虚线包围的FP成为误检测样本数据的总体。而且,在图10中,FPM的空间成为根据误检测样本数据生成的误检测模型表现的样本数据的空间。由于不一定能够准确地学习误检测样本数据,因此,在FPM的空间中也多少包含不成为误检测的正常样本数据或者非正常样本数据。
[0080] <检测遗漏样本数据生成处理>
[0081] 接着,使用图11,对检测遗漏样本数据生成处理进行说明。
[0082] 在步骤S121中,取得部10取得分别为对象系统的异常事件的多个非正常样本数据。具体而言,非正常样本生成部130生成非正常样本数据。非正常样本生成部130使用现有的攻击生成工具,生成攻击对象系统的非正常样本数据。非正常样本数据也称作攻击对象系统的攻击样本数据。
[0083] 在步骤S122中,调整部140修正成非正常样本数据接近正常模型。
[0084] 在步骤S123中,调整部140提取未由现有的检测装置检测出的非正常样本数据。非正常样本生成部130利用攻击工具执行基于在步骤S122中修正后的非正常样本数据的攻击。调整部140确认是否由现有的检测装置检测出该攻击。调整部140仅提取未被检测出的非正常样本数据。
[0085] 在步骤S124中,调整部140确认在步骤S123中提取出的非正常样本数据是否维持着攻击功能。另外,在检测装置检测故障的情况下,调整部确认非正常样本数据是否维持着故障的特征。调整部140提取维持着攻击功能的非正常样本数据作为检测遗漏样本数据。
[0086] 图4的非正常样本生成部130的非正常生成部131生成非正常样本数据。在步骤S121、步骤S123和步骤S124中利用非正常生成部131。在步骤S123和步骤S124中,非正常生成部131实际上执行与非正常样本数据的特征相同的攻击。
[0087] 非正常生成部131使用攻击工具和模拟环境取得多个非正常样本数据,该攻击工具生成系统的异常事件的样本数据。具体而言,非正常生成部131使用攻击工具组151和模拟环境153实际上执行与非正常样本数据的特征相同的模拟攻击。攻击工具组151是预先按照每个对象系统单独地准备的攻击工具的组。模拟环境153是在虚拟环境中模拟地准备的对象系统。模拟环境153是为了防止由于攻击的执行而对实际系统产生不良影响而设置的。在不产生影响或者即使产生影响也没有问题的情况下,只要在实际环境中执行攻击即可,因此不需要模拟环境153。
[0088] 攻击工具组151中包含的攻击工具是具有用于对非正常样本数据的特征进行操作的参数作为输入的程序。参数是执行探索码的对象即IP地址、端口号和服务这样的信息。此外,参数例如是在入侵后安装的虚拟恶意软件的种类、攻击者的C&C(command and control:命令与控制)服务器的IP地址、通信的加密方法、C&C通信的频度和大小、用于信息泄漏的POST的大小和频度这样的信息。
[0089] 图4的非正常样本生成部130的非正常收集部132从其他系统收集异常事件的样本数据。然后,非正常收集部132通过按照对象系统的环境来修正收集到的样本数据,取得多个非正常样本数据。具体而言,非正常收集部132将从另一环境收集到的非正常样本数据修正成对象系统用。从另一环境收集到的非正常样本数据包含攻击样本数据、故障样本数据和其他异常样本数据。在从另一环境收集到的非正常样本数据为日志的情况下,时间戳、IP地址、主机名和域名这样的信息有可能与对象系统的环境的日志不同。因此,非正常收集部132修正时间戳、IP地址、主机名和域名这样的信息,使得从另一环境收集到的非正常样本数据的信息与对象系统匹配。
[0090] 使用图12,对检测遗漏样本数据生成处理中的、检测遗漏调整处理的详细内容进行说明。检测遗漏调整处理是检测遗漏样本数据生成处理中的调整部140的动作。如图5所示,调整部140具有变更部141和验证部142。此外,变更部141具有特征提取部411和特征修正部412。
[0091] 在步骤S201~步骤S203中,变更部141按照多个非正常样本数据的每个非正常样本数据,生成用向量表示非正常样本数据的特征的非正常特征向量。此外,变更部141生成变更非正常特征向量的元素而得到的非正常变更向量。
[0092] 具体而言,在步骤S201中,特征提取部411根据非正常样本数据生成特征向量。特征提取部411接收非正常样本数据和第1约束条件。然后,特征提取部411根据非正常样本数据生成特征向量C=(c1,c2,…,cn)。根据非正常样本数据生成的特征向量C也称作非正常特征向量。
[0093] 在步骤S202中,特征修正部412确认是否能够变更特征向量的元素。具体而言,预先对特征向量C=(c1,c2,…,cn)的各元素可取的第1变更范围(LBi≦ci≦UBi)进行定义。特征修正部412确认是否对在该第1变更范围中得到的非正常特征向量全部执行了处理。
LBi和UBi分别是ci的下限和上限。在能够变更特征向量的元素的情况下,处理进入步骤S203。
[0094] 在步骤S203中,特征修正部412变更特征向量C的元素,生成新的特征向量C’。变更根据非正常样本数据生成的特征向量C而得到的特征向量C’也称作非正常变更向量。
[0095] 在步骤S204~步骤S209中,在非正常变更向量与正常模型相似的情况下,验证部142在系统中执行使用利用非正常变更向量表示的样本数据的处理。这里,也可以在模拟系统的模拟环境下,执行使用利用非正常变更向量表示的样本数据的处理。验证部142验证是否由检测系统的异常事件的检测装置检测出异常事件。当验证出未由检测装置检测出异常事件时,验证部142判定是否与检测装置无关地在系统中存在异常事件。在判定为存在异常事件的情况下,验证部142将利用非正常变更向量表示的样本数据作为检测装置的检测遗漏样本数据154存储到存储部150。
[0096] 另外,验证部142仅针对满足预先确定的非正常变更向量的第1约束条件的非正常变更向量,验证是否由检测装置检测出异常事件。此外,验证部142计算非正常变更向量与正常模型的第1相似度,在第1相似度为第1阈值以上的情况下,判定为非正常变更向量与正常模型相似。
[0097] 具体而言,在步骤S204中,验证部142确认特征向量C’是否满足第1约束条件。这里,第1约束条件是指在作为对象的攻击即使用非正常样本数据的攻击中必要的条件。
[0098] 以下,以使用代理日志的可疑通信检测为例进行说明。假设特征向量包含以下的元素。特征向量的元素和单位根据环境和对象系统而变成适当的特征向量的元素和单位。
[0099] 在能够对模型进行微分的情况下,也可以使用概率梯度下降法或者最陡下降法这样的求最优解的算法对元素进行更新。
[0100] 设特征向量的元素为c1、c2。
[0101] c1:每次的Post的大小平均[bytes/time]
[0102] c2:Post的周期T[sec]
[0103] 可疑通信的目的在于与攻击者的服务器的交换和机密数据的发送。因此,评价者能够设“每一定时间P[sec]的Post大小比规定的阈值大”即“c1×(1/c2)×P>θ[byte]”为第1约束条件,作为对作为攻击功能的必要条件。
[0104] 在特征向量C’满足第1约束条件的情况下,处理进入步骤S205。在特征向量C’不满足第1约束条件的情况下,处理返回步骤S202。
[0105] 在步骤S205中,验证部142得到满足第1约束条件的特征向量C’=(c1+Δ1,c2+Δ2,…,cn+Δn)。验证部142针对该特征向量C’,使用正常模型计算得分S(C’)。得分S(C’)是第1相似度的例子。设正常模型为分类器E。在计算出的得分S(C’)为规定的第1阈值以上的情况下,验证部142判定为特征向量C’接近正常模型,进入步骤S206。在得分S(C’)小于规定的第1阈值的情况下,处理返回步骤S202。
[0106] 在步骤S206中,由非正常生成部131执行与接近正常模型的特征向量C’对应的攻击。非正常生成部131利用攻击工具组151中的对应的攻击工具,执行与接近正常模型的特征向量C’对应的攻击。也可以在执行时利用模拟环境153。攻击工具是具有能够调整特征向量的各元素的参数作为输入的程序。例如,在使用代理日志的可疑通信检测的情况下,攻击工具能够调整每次的Post的大小平均[bytes/time]和Post的周期T[sec]这样的通信特征。按照在目标系统中要检测的事件(攻击、故障或异常)来预先准备攻击工具。
[0107] 在步骤S207中,验证部142确认是否由检测装置检测出已执行的攻击。如果检测出,则处理返回步骤S202。如果未检测出,则处理进入步骤S208。
[0108] 在步骤S208中,验证部142确认已执行的攻击是否维持着攻击功能。验证部142判定是否与检测装置无关地在系统中存在异常事件,在判定为存在异常事件的情况下,判定为已执行的攻击维持着攻击功能。以下记载维持攻击功能的确认方法的例子。维持攻击功能的确认方法也可以是除了以下例子的方法以外的方法。
[0109] 在检测装置的对象为日志的情况下,验证部142监视产生日志的攻击是否正在进行攻击的基本功能。这里的基本功能是文件操作、用户认证、程序启动和向外部上传信息这样的功能。为了监视是否存在基本功能,验证部142对Syslog或通信日志这样的日志进行解析,监视是否存在与相应的操作相关的日志。
[0110] 在检测装置的对象是邮件的情况下,验证部142确认生成的非法邮件是否正在发挥基本功能。这里的基本功能是如下的事件:被发送邮件的人物错误地实际点击了非法邮件的文章内容中的URL或附件。验证部142监视是否向组织的人发送非法邮件并实际点击非法邮件的文章内容中的URL或附件,作为组织的可疑邮件应对训练的一环。附件中记述有脚本,该脚本被编程成在点击时访问特定的URL。在附件中利用PDF(Portable Document Format:便携式文件格式)这样的文档的图标,使得误认为是文本文件。
[0111] 在检测装置的对象为通信的情况下,验证部142监视生成的攻击通信是否正在进行基本功能。这里的基本功能是RAT(Remote Administration Tool:远程管理工具)的操作、与C&C服务器的交换和文件上传这样的功能。
[0112] 在检测装置的对象为文件的情况下,验证部142确认生成的非法文件是否正在进行基本功能。这里的基本功能是程序的执行、文件的删除、与C&C服务器的通信和文件上传这样的功能。
[0113] 如果未维持攻击功能,则处理返回步骤S202。如果维持着攻击功能,则处理进入步骤S209。
[0114] 在步骤S209中,验证部142将特征向量C’作为检测遗漏样本数据154存储到存储部150。即,验证部142记录检测遗漏样本数据,该检测遗漏样本数据满足第1约束条件,也充分接近正常模型,未由现有的检测装置检测出,维持着攻击功能。通过利用第1约束条件,能够针对在特征空间上不明确地具有攻击功能的向量,省略处理需要时间的步骤S205~步骤S209。因此,能够提高检测遗漏调整处理的效率。
[0115] <误检测样本数据生成处理>
[0116] 接着,使用图13,对误检测样本数据生成处理进行说明。
[0117] 如图2所示,正常样本生成部110的正常生成部112使用样本生成工具组152和模拟环境153生成正常样本数据。样本生成工具组152是用于生成预先按照每个对象系统单独地准备的样本数据的工具的组。样本生成工具组152相当于使攻击工具组151的攻击功能无效的工具组。如上所述,模拟环境153是模拟地设置于虚拟环境的对象系统。
[0118] 在步骤S131中,正常样本生成部110和非正常样本生成部130分别准备正常样本数据和非正常样本数据。这时,正常样本生成部110和非正常样本生成部130分别可以收集正常样本数据或非正常样本数据,也可以新生成正常样本数据或非正常样本数据。
[0119] 在步骤S132中,调整部140的变更部141按照多个处理样本数据的每个处理样本数据,生成用向量表示处理样本数据的特征的处理特征向量。多个处理样本数据包含多个正常样本数据和多个非正常样本数据。变更部141生成变更处理特征向量的元素而得到的处理变更向量。调整部140修正成处理样本数据接近误检测模型。
[0120] 在步骤S133中,调整部140提取由现有的检测装置检测的样本数据。正常样本生成部110使用样本数据生成工具和模拟环境实际上执行具有与样本数据相同的特征的事件。此外,非正常样本生成部130使用攻击工具和模拟环境实际上执行具有与样本数据相同的特征的事件。具有与样本数据相同的特征的事件包含Web访问、文件操作或程序执行这样的模拟通常作业的事件。调整部140确认是否由现有的检测装置检测出,仅提取检测出的样本数据。
[0121] 在步骤S134中,调整部140确认该样本数据是否维持着攻击功能。调整部140仅提取未维持攻击功能的样本数据作为误检测样本数据。
[0122] 使用图14,对误检测样本数据生成处理中的误检测调整处理的详细内容进行说明。误检测调整处理是误检测样本数据生成处理中的调整部140的动作。
[0123] 在步骤S301中,变更部141的特征提取部411根据处理样本数据生成特征向量C。根据处理样本数据分别得到的特征向量C也称作处理特征向量。具体而言,特征提取部411接收在步骤S131中准备的样本数据和第2约束条件。然后,特征提取部411根据该样本数据生成特征向量C=(c1,c2,…,cn)。
[0124] 在步骤S302中,特征修正部412确认是否能够变更特征向量的元素。具体而言,预先对特征向量C=(c1,c2,…,cn)的各元素可取的第2变更范围(LBi≦ci≦UBi)进行定义。特征修正部412确认是否对在该第2变更范围内得到的处理特征向量全部执行了处理。LBi和UBi分别是ci的下限和上限。在能够变更特征向量的元素的情况下,处理进入步骤S303。
[0125] 在步骤S303中,特征修正部412变更特征向量C的元素,生成新的特征向量C’。
[0126] 在步骤S304中,验证部142确认特征向量C’是否满足第2约束条件。这里,第2约束条件是指在作为对象的攻击即使用样本数据的攻击中必要条件的否定。
[0127] 以下,以使用代理日志的可疑通信检测为例进行说明。假设特征向量包含以下的元素。特征向量的元素和单位根据环境和对象系统而变成适当的特征向量的元素和单位。
[0128] c1:每次的Post的大小平均[bytes/time]
[0129] c2:Post的周期T[sec]
[0130] 可疑通信的目的在于,与攻击者的服务器的交换和机密数据的发送。因此,评价者能够设“每一定时间P[sec]的Post大小为规定的阈值以下”即“c1×(1/c2)×P≦θ[byte]”为第2约束条件,作为对作为攻击功能的必要条件的否定。
[0131] 在特征向量C’满足第2约束条件的情况下,处理进入步骤S305。在特征向量C’不满足第2约束条件的情况下,处理返回步骤S302。
[0132] 在步骤S305~步骤S309中,在处理变更向量与误检测模型相似的情况下,验证部142在系统中执行使用利用处理变更向量表示的样本数据的处理。系统也可以是模拟环境。
验证部142验证是否由检测装置检测出异常事件。验证部142在验证出由检测装置检测出异常事件时,判定是否与检测装置无关地在系统中存在异常事件。在判定为不存在异常事件的情况下,验证部142将利用处理变更向量表示的样本数据作为检测装置的误检测样本数据155存储到存储部150。
[0133] 另外,验证部142仅针对满足预先确定的处理变更向量的第2约束条件的处理变更向量,验证是否由检测装置检测出异常事件。此外,验证部142计算处理变更向量与误检测模型的第2相似度,在第2相似度为第2阈值以上的情况下,判定为处理变更向量与误检测模型相似。
[0134] 在步骤S305中,验证部142得到满足第2约束条件的特征向量C’=(c1+Δ1,c2+Δ2,…,cn+Δn)。验证部142针对该特征向量C’,使用误检测模型计算得分S(C’)。得分S(C’)是第2相似度的例子。设误检测模型为分类器E1。误检测模型为2个等级分类,因此,验证部
142确认误检测的等级中的得分S(C’)。在计算出的得分S(C’)为规定的第2阈值以上的情况下,判定为特征向量与误检测模型相似,进入步骤S306。在得分S(C’)小于规定的第2阈值的情况下,处理返回步骤S302。
[0135] 在步骤S306中,使用样本生成工具组152中的对应的样本数据生成工具执行与接近误检测模型的特征向量C’对应的样本数据。也可以在执行时利用模拟环境153。按照在目标系统中要检测的事件(攻击、故障、异常)来预先准备样本数据生成工具。
[0136] 在步骤S307中,验证部142确认是否由现有的检测装置检测出已执行的样本数据。如果未检测出,则处理返回步骤S302。如果检测出,则处理进入步骤S308。
[0137] 在步骤S308中,验证部142确认已执行的样本数据是否维持着攻击功能。是否维持着攻击功能的判定与步骤S208相同。如果维持着攻击功能,则处理返回步骤S302。如果未维持攻击功能,则处理进入步骤S309。
[0138] 在步骤S309中,验证部142将特征向量C’作为误检测样本数据155存储到存储部150。即,验证部142记录误检测样本数据,该误检测样本数据满足第2约束条件,也充分接近误检测模型,由现有的检测装置检测出,未维持攻击功能。这里,通过利用第2约束条件,也能够针对在特征空间上不明确地具有攻击功能的向量,省略处理需要时间的步骤S305~步骤S309。因此,能够提高误检测调整处理的效率。
[0139] ***其他结构***
[0140] 在本实施方式中,主要说明了生成检测攻击的攻击检测装置的样本数据的例子。但是,本实施方式还能够适用于检测故障的故障检测装置和检测其他异常的异常检测装置。
[0141] 在本实施方式中,通过软件实现样本数据生成装置100的功能,但是作为变形例,样本数据生成装置100的功能也可以通过硬件来实现。
[0142] 图15是示出本实施方式的变形例的样本数据生成装置100的结构的图。
[0143] 样本数据生成装置100具有电子电路909、存储器921、辅助存储装置922、输入接口930、输出接口940和通信装置950。
[0144] 电子电路909是实现取得部10、模型生成部120和调整部140(变更部141和验证部142)的功能的专用电子电路。
[0145] 具体而言,电子电路909是单一电路、复合电路、程序化的处理器、并列程序化后的处理器、逻辑IC、GA、ASIC或FPGA。GA是Gate Array(门阵列)的缩写。ASIC是Application Specific Integrated Circuit(面向特定用途的集成电路)的缩写。FPGA是Field-Programmable Gate Array(现场可编程门阵列)的缩写。
[0146] 样本数据生成装置100的结构要素的功能可以通过1个电子电路来实现,也可以分散到多个电子电路中实现。
[0147] 作为另一变形例,也可以通过电子电路来实现样本数据生成装置100的结构要素的一部分功能,通过软件来实现剩余的功能。
[0148] 处理器和电子电路分别也称作处理线路。即,在样本数据生成装置100中,取得部10、模型生成部120、变更部141和验证部142的功能通过处理线路来实现。
[0149] 在样本数据生成装置100中,也可以将取得部10、模型生成部120、变更部141和验证部142的“部”改写成“工序”或者“处理”。此外,也可以将取得处理、模型生成处理、变更处理和验证处理的“处理”改写成“程序”、“程序产品”或“记录有程序的计算机能读取的存储介质”。
[0150] ***本实施方式的效果的说明***
[0151] 根据本实施方式的样本数据生成装置100,能够生成在正常样本数据的特征范围内进行恶意处理的非正常样本数据。因此,能够以检测遗漏较少的高精度强化检测装置。
[0152] 此外,根据本实施方式的样本数据生成装置100,能够自动生成误检测样本数据。因此,能够以误检测较少的高精度强化检测装置。
[0153] 如上所述,根据本实施方式的样本数据生成装置100,能够自动地准备与检测装置有可能产生的检测遗漏和误检测相关的充分的样本数据以提高检测装置的设计和评价的精度。
[0154] 实施方式2
[0155] 在本实施方式中,对与实施方式1不同的方面进行说明。另外,有时对与实施方式1相同的结构标注相同的标号,并省略其说明。
[0156] 使用图16,对本实施方式的样本数据生成装置100a的结构进行说明。样本数据生成装置100a除了实施方式1的样本数据生成装置100的结构以外,还具有特征选择部160。
[0157] 特征选择部160根据对误检测样本数据的分类的贡献度,提取特征。
[0158] 使用图17,对使用本实施方式的特征选择部160的特征选择处理进行说明。
[0159] 在步骤S161中,模型生成部120生成误检测模型。模型生成部120利用二类识别器,该二类识别器用于对是不产生误检测的正常样本数据还是产生误检测的正常样本数据进行分类。这时,模型生成部120利用存在特征的贡献度的算法。
[0160] 在步骤S162中,特征选择部160计算针对各等级的各特征的贡献度。例如,在随机森林(Random Forest)中,计算在识别中利用的各特征的贡献度。贡献度越大,越是对识别重要的特征。除了贡献度以外,还能够根据学习完成的模型的权重系数、赔率比或灵敏度分析结果这样的信息,推测对识别产生强烈影响的特征。
[0161] 在步骤S163中,特征选择部160提取对针对产生误检测的正常样本数据的等级的分类贡献度较大的特征。由此,能够提取对针对攻击(误检测)的分类具有强烈影响的特征。
[0162] 由特征选择部160提取出的特征是作为由调整部140的特征修正部412修正的修正对象的特征向量的元素。由此,能够减少要修正的候选,高效地生成检测遗漏样本数据和错误检样本数据。
[0163] 在实施方式1、2中,设样本数据生成装置的各部为独立的功能块进行了说明。但是,样本数据生成装置的结构也可以不是上述实施方式的结构。样本数据生成装置的功能块只要能够实现在上述实施方式中说明的功能即可,也可以是任意的结构。
[0164] 也可以组合实施实施方式1、2中的多个部分。或者,也可以实施这些实施方式中的一部分。此外,也可以作为整体或部分地任意组合实施这些实施方式。
[0165] 另外,上述实施方式本质上只是优选的例示,并不意图限制本发明的范围、本发明的应用物的范围和本发明的用途的范围。上述实施方式能够根据需要进行各种变更。
[0166] 标号说明
[0167] 10:取得部;100,100a:样本数据生成装置;110:正常样本生成部;111:正常收集部;112:正常生成部;120:模型生成部;121:特征变换部;122:学习部;130:非正常样本生成部;131:非正常生成部;132:非正常收集部;140:调整部;141:变更部;142:验证部;411:特征提取部;412:特征修正部;150:存储部;151:攻击工具组;152:样本生成工具组;153:模拟环境;154:检测遗漏样本数据;155:误检测样本数据;160:特征选择部;909:电子电路;910:处理器;921:存储器;922:辅助存储装置;930:输入接口;940:输出接口;950:通信装置。