恶意软件判定器、恶意软件判定系统、恶意软件判定方法以及程序与流程

文档序号:12167282阅读:376来源:国知局
本发明涉及判定用于OS(OperatingSystem:操作系统)上的执行文件是否是恶意软件(malware)(有恶意的软件)的技术。
背景技术
::最近,提出了一些判定用于MS-Windows(注册商标)、AppleOS-X、Linux(注册商标)以及Unix(注册商标)等OS上的执行文件是否是恶意软件的方法。例如,在判定用于MS-Windows或Unix等中的执行文件是否是恶意软件的防病毒系统中,使用将执行文件执行而判定的动态判定和不执行而进行判定的静态判定这2种方法,在判定中特别要求速度的情况下使用静态判定。作为静态判定的方法,代表性的能够举出哈希(hash)值一致判定以及模式匹配判定(签名扫描)。哈希值一致判定是预先将已有的恶意软件的MD(MessageDigestAlgorithm:消息摘要算法)5、SHA(SecureHashAlgorithm:安全散列算法)1、SHA256等的哈希值登记到数据库中,只要判定对象的执行文件的哈希值与登记到数据库的哈希值一致,就将该执行文件判定为恶意软件的方法。模式匹配判定是预先将已有的恶意软件所包含的特定的字符串或字节码登记到数据库中,只要判定对象的执行文件包含数据库中登记的字符串·字节码(bytecode)中的任意方,就将该执行文件判定为恶意软件的方法。这些方法具有误检测率(将不是恶意软件的执行文件错误地判定为恶意软件的比率)小的优点,但是难以检测出改造了已有的恶意软件的子类型的恶意软件或新型的恶意软件。因此,作为对判定对象的执行文件是否是子类型/新型的恶意软件进行判定的方法,提出了启发式(heuristic)判定。这是基于在此之前的经验来定义恶意软件的可能性而按照该定义进行判定的方法。作为启发式判定,提出了一些使用机器学习技术的方法。在记载于专利文献1的技术中,预先学习执行文件所包含的可读字符串,以常用于恶意软件中的单词包含于判定对象的执行文件中的程度是多少为基准,判定该执行文件的恶意软件的可能性。在机器学习中,首先将学习对象执行文件(示教数据)转换成一些参数的组之后利用机器学习算法进行学习。将该参数的组称为特征向量或者简称为特征,将该组所包含的参数的数量称为特征向量维度。另外,将使执行文件转换成特征向量称为特征提取。作为特征向量的例子,在记载于专利文献1的技术中,单词的单词名与该单词出现数量的组是特征向量,单词种类的数量是特征向量维度。并不是特征向量维度越大则判定精度越好,有时判定精度相反地变差。该现象被公知为“维度诅咒”(非专利文献1、2)。在记载于非专利文献3的技术中,示出了尝试基于使用执行文件的PE(PortableExecutable:可移植性可执行文件)报头(header)信息的机器学习的恶意软件判定,且通过使用维度压缩的方法来缩小特征向量维度,来获得更好的判定精度。作为常用于维度压缩的方法中的技术例如有主成分分析。这是将具有相关性的特征彼此自动地合并成1个特征的方法(例如,因为人类的身高与体重2个特征大体具有比例关系,因此将这2个特征合并成1个特征等的方法。在本例中,可将合并成1个的特征例如定义成身体的大小,但通常无法定义的情况较多)。现有技术文献专利文献专利文献1:日本特开2012-027710号公报非专利文献非专利文献1:坂野鋭,山田敬嗣,"怪奇!!次元の呪い---識別問題,パターン認識,データマイニングの初心者のために(前編)”,信息处理,vol.43,no.5,pp.562-567(2002)非专利文献2:坂野鋭,山田敬嗣,"怪奇!!次元の呪い---識別問題,パターン認識,データマイニングの初心者のために(後編)”,信息处理,vol.43,no.6,pp.658-663(2002)非专利文献3:Shafiq,etal.,"PE-Miner:MiningStructuralInformationtoDetectMaliciousExecutablesinRealtime”,RAID'09,2009.技术实现要素:发明要解决的课题当在恶意软件判定中应用机器学习技术时,为了获得更好的判定精度,如上所述地需要进行缩小特征向量维度等特征向量的调整。但是,专利文献1所述的技术没有明确地具有进行特征向量的调整的功能。非专利文献3所述的技术通过维度压缩这样的方式进行特征向量的调整。然而,恶意软件判定有时根据目的不同而所求的判定精度不同。例如,面向一般的用户要求特别降低误检测率。相反,有时在专家收集新型的恶意软件的目的下,即使多少存在误检测,也希望提高检测率(将作为恶意软件的执行文件正确地判定为恶意软件的比率)。基于维度压缩的方式大致自动地进行,因此有助于整体地提高判定精度,但难以按照特别降低误检测率等不同目的进行特征向量的调整。另外,因为主成分分析等维度压缩是合并某特征与其他特征而机器地生成另外的特征的方法,因此人难以理解所生成的特征,并没有考虑到专家的知识而实施特征向量的调整。因此,本发明的目的在于,提供如下的技术:能够在不进行维度压缩那样的特征的自动转换的情况下,根据目的而进行特征向量的调整。用于解决课题的手段本发明的恶意软件判定器包含:特征选择数据库,其包含属性表和属性值表;特征选择设定部,当输入了执行文件的属性的属性名时,该特征选择设定部将所输入的属性名的属性作为提取对象的属性登记到所述属性表中,当输入了执行文件的属性的属性值时,该特征选择设定部将所输入的属性值作为删除对象或非删除对象的属性值登记到所述属性值表中;特征提取部,当输入了执行文件时,该特征提取部从该执行文件中提取作为提取对象登记于所述属性表中的属性的属性值,生成包含所提取的属性值作为特征的特征向量;特征选择部,其从所述特征提取部生成的特征向量中删除作为删除对象登记于所述属性值表中的属性值或者删除除了作为非删除对象登记于所述属性值表中的属性值以外的属性值,来重构该特征向量;分类器,当所述特征选择部重构了学习对象执行文件的特征向量时,该分类器基于该特征向量和该学习对象执行文件的特征向量是否是恶意软件的信息,进行该学习对象执行文件的机器学习,当所述特征选择部重构了判定对象的执行文件的特征向量时,该分类器基于所述机器学习的结果和该特征向量,对该判定对象的执行文件计算恶意软件的可能性的分数;以及判定部,其基于所述分类器计算出的判定对象的执行文件的分数,判定该判定对象的执行文件是否是恶意软件。本发明的第1恶意软件判定系统具有:所述恶意软件判定器;以及特征选择测试器,所述特征选择测试器包含:特征选择指示部,其反复进行从组合了1个以上的由属性名和属性值构成的特征的组中选择1个组而向所述恶意软件判定器的所述特征选择设定部输入的处理;检验部,其反复进行每当所述特征选择指示部向所述特征选择设定部输入所述组时,向所述恶意软件判定器的所述特征提取部输入学习对象执行文件后输入判定对象的执行文件的处理;以及指标计算部,每当所述特征选择指示部向所述特征选择设定部输入所述组时,该指标计算部从所述恶意软件判定器的所述判定部获取判定结果,且基于该判定结果,计算表示所述判定部的判定精度的良好程度的指标,其中,所述判定结果针对所述检验部向所述特征提取部反复输入的各判定对象的执行文件,包含该判定对象的执行文件的分数和表示是否将该判定对象的执行文件判定为恶意软件的信息,所述特征选择指示部选择向所述特征选择设定部输入的组中的所述指标计算部计算出的指标最高的组而向所述特征选择设定部输入。本发明的第2恶意软件判定系统具有:所述恶意软件判定器;以及用户接口,所述用户接口包含:特征一览表获取部,其获取执行文件的属性的属性名和属性值;以及特征选择输入部,其显示设定画面,其中,该设定画面包含所述特征一览表获取部获取的属性名和属性值的一览表,所述特征选择输入部将属性名与第1复选框一起显示于所述设定画面上,对于作为提取对象登记于所述属性表中的属性的属性名,在该第1复选框上标注选中标记,所述特征选择输入部将属性值与第2复选框一起显示于所述设定画面上,对于除了作为删除对象登记于所述属性值表中的属性值以外的属性值或者作为非删除对象登记于所述属性值表中的属性值,在该第2复选框上标注选中标记,当手动地变更了所述第1复选框或者所述第2复选框的选中标记状况时,所述特征选择输入部将在变更后的所述第1复选框上标注有选中标记的属性名输入到所述恶意软件判定器的所述特征选择设定部,并且将在变更后的所述第2复选框上未标注选中标记的属性值或者标注有选中标记的属性值输入到所述恶意软件判定器的所述特征选择设定部。本发明的恶意软件判定方法是恶意软件判定器执行的恶意软件判定方法,该恶意软件判定方法包括:特征选择设定步骤,当输入了执行文件的属性的属性名时,将所输入的属性名的属性作为提取对象的属性登记于属性表中,当输入了执行文件的属性的属性值时,将所输入的属性值作为删除对象或非删除对象的属性值登记于属性值表中;特征提取步骤,当输入了执行文件时,从该执行文件中提取作为提取对象登记于所述属性表中的属性的属性值,生成包含所提取的属性值作为特征的特征向量;特征选择步骤,从通过所述特征提取步骤生成的特征向量中删除作为删除对象登记于所述属性值表中的属性值或者删除除了作为非删除对象登记的属性值以外的属性值,来重新构该特征向量;分类步骤,当通过所述特征选择步骤重构了学习对象执行文件的特征向量时,基于该特征向量和该学习对象执行文件的特征向量是否是恶意软件的信息,进行该学习对象执行文件的机器学习,当通过所述特征选择步骤重构了判定对象的执行文件的特征向量时,基于所述机器学习的结果和该特征向量,对该判定对象的执行文件计算恶意软件的可能性的分数;以及判定步骤,基于通过所述分类步骤计算出的判定对象的执行文件的分数,判定该判定对象的执行文件是否是恶意软件。本发明的程序使计算机作为如下单元发挥作用:存储单元,其包含属性表和属性值表;特征选择设定单元,当输入了执行文件的属性的属性名时,该特征选择设定单元将所输入的属性名的属性作为提取对象的属性登记于所述属性表中,当输入了执行文件的属性的属性值时,该特征选择设定单元将所输入的属性值作为删除对象或非删除对象的属性值登记于所述属性值表中;特征提取单元,当输入了执行文件时,该特征提取单元从该执行文件中提取作为提取对象登记于所述属性表中的属性的属性值,生成包含所提取的属性值作为特征的特征向量;特征选择单元,其从所述特征提取单元生成的特征向量中删除作为删除对象登记于所述属性值表中的属性值或者删除除了作为非删除对象登记于所述属性值表中的属性值以外的属性值,来重构该特征向量;分类单元,当所述特征选择单元重构了学习对象执行文件的特征向量时,该分类单元基于该特征向量和该学习对象执行文件的特征向量是否是恶意软件的信息,进行该学习对象执行文件的机器学习,当所述特征选择单元重构了判定对象的执行文件的特征向量时,该分类单元基于所述机器学习的结果和该特征向量,对该判定对象的执行文件计算恶意软件的可能性的分数;以及判定单元,其基于所述分类单元计算出的判定对象的执行文件的分数,判定该判定对象的执行文件是否是恶意软件。发明效果根据本发明的恶意软件判定器,当输入了属性名·属性值时,特征选择设定部将该属性名的属性作为提取对象的属性登记于属性表中,将该属性值作为删除对象或非删除对象的属性值登记于属性值表中。而且,当进行基于机器学习的恶意软件判定时,特征提取部提取仅作为提取对象登记于属性表中的属性的属性值而生成特征向量,特征选择部从特征向量中还删除作为删除对象登记于属性值表中的属性值或者除了作为非删除对象登记于属性值表中的属性值以外的属性值。因而,通过指定不需要的或者有用的属性·属性值,而能够从特征向量中删除与不需要的属性·属性值相关的特征,或者能够仅将与有用的属性·属性值相关的特征包含于特征向量中,因此能够实现判定精度的提高,并且能够进行缩小特征向量维度等特征向量的调整。另外,因为不进行维度压缩这样的特征的自动转换,因此能够考虑到专家的知识而实施特征向量的调整。另外,通过根据目的指定属性·属性值,也能够根据目的进行特征向量的调整。附图说明图1是示出本发明的第1实施方式的恶意软件判定器的结构的结构图。图2A是说明本发明的第1实施方式的恶意软件判定器中的特征选择设定处理的概要的流程图。图2B是说明本发明的第1实施方式的恶意软件判定器中的示教数据学习处理的概要的流程图。图2C是说明本发明的第1实施方式的恶意软件判定器中的对象文件判定处理的概要的流程图。图3是说明本发明的第1实施方式的恶意软件判定器中的属性表和属性值表1的图。图4是说明本发明的第1实施方式的恶意软件判定器中的属性值表2的图。图5是示出本发明的第2实施方式的恶意软件判定系统的结构的结构图。图6是说明本发明的第2实施方式的特征选择测试器中的处理的概要的流程图。图7是示出本发明的第3实施方式的恶意软件判定系统的结构的结构图。图8是说明本发明的第3实施方式的特征选择UI上显示的设定画面的图。具体实施方式以下参照附图对用于实施本发明的方式进行说明。在缩小特征向量维度的方法中,除了维度压缩之外还有特征选择这样的方法。该方法是通过对各特征进行取舍选择而搜索达到目标判定精度的组合的特征向量,来缩小特征向量维度的方法。本发明的恶意软件判定器使用上述的特征选择这样的方法作为缩小特征向量维度的方法。(1)第1实施方式(1-1)第1实施方式的结构图1示出本发明的第1实施方式的恶意软件判定器10的结构图。如图1所示,本实施方式的恶意软件判定器10具有特征选择设定部11、特征选择数据库(存储单元)12、特征提取部13、特征选择部14、分类器15以及判定部16。本实施方式的恶意软件判定器10进行学习对象执行文件的PE/COFF(PortableExecutable/CommonObjectFileFormat:可移植性可执行文件/通用对象文件格式)报头信息的机器学习,且进行判定对象的执行文件是否是恶意软件的判定,该恶意软件判定器10具有在进行这些学习和判定时能够选择特征向量所包含的特征的特征选择功能。(1-2)第1实施方式的动作本实施方式的恶意软件判定器10首先设定特征向量所包含的特征(特征选择设定处理。图2A)。接着,进行由已有的恶意软件和不是恶意软件的执行文件(好软件:goodware)构成的示教数据的机器学习(示教数据学习处理。图2B)。学习后,能够判定判定对象的执行文件是否是恶意软件(对象文件判定处理。图2C)。以下分别对本实施方式的恶意软件判定器10中的特征选择设定处理、示教数据学习处理以及对象文件判定处理进行说明。(1-2-1)特征选择设定处理在图2A中示出对本实施方式的恶意软件判定器10中的特征选择设定处理的概要进行说明的流程图。如图2A所示,当手动输入或者从其他装置输入了与特征选择相关的设定时(步骤A1),特征选择设定部11将与该特征选择相关的设定登记到特征选择数据库12中(步骤A2)。与特征选择相关的设定由从执行文件中提取的PE/COFF报头信息等属性的属性名和各属性的属性值中的从特征中删除的属性值构成。图3示出特征选择数据库12的数据结构。如图3所示,特征选择数据库12包含属性表和属性值表1。特征选择设定部11将从执行文件中提取的属性的属性名反映在属性表中。具体而言,对于描述在与特征选择相关的设定中的属性,作为从执行文件提取的提取对象的属性来进行处理,在属性表中,将该属性的属性名的ON/OFF(启用/禁用)字段的值登记为ON。另一方面,对于未描述在与特征选择相关的设定中的属性,作为从执行文件不提取的非提取对象的属性来进行处理,在属性表中,将该属性的属性名的ON/OFF字段的值登记为OFF。特征选择设定部11将各属性的属性值中的从特征中删除的属性值反映在属性值表1中。具体而言,对于描述在与特征选择相关的设定中的属性值,作为从特征向量中删除的删除对象的属性值来进行处理,且登记到属性值表1中。(1-2-2)示教数据学习处理图2B示出对本实施方式的恶意软件判定器10中的示教数据学习处理的概要进行说明的流程图。在示教数据学习处理中使用的示教数据由作为已有的恶意软件和好软件的执行文件(学习对象执行文件)以及表示该执行文件是否是恶意软件的分类的信息构成。此外,也可以使用从执行文件中仅剪切描述有PE/COFF报头信息的部分而得到的信息来代替执行文件。对于示教数据,按照特征提取部13、特征选择部14、分类器15的顺序进行处理。如图2B所示,首先,特征提取部13在输入了示教数据时从示教数据中的执行文件中提取PE/COFF报头信息的各属性的属性值,进而生成包含所提取的属性值作为特征的特征向量(步骤B1)。作为从执行文件中提取PE/COFF报头信息的各属性的属性值的方法,能够利用使用dumpbin.exe(MicrosoftVisualC++)、objdump(Linux等Unix)等工具的方法、或使用在那些工具等中使用的程序库的方法等。关于属性值,仅提取出在特征选择数据库12的属性表中成为ON的属性的属性值。这样,因为从特征向量中删除不需要的属性,因此特征向量维度减小相应部分。在PE/COFF报头信息的属性中,存在以1个属性具有多个值的属性。例如,Characteristics(特性)属性具有“Executable(可执行文件)"、“32bitwordmachine(32位字机器)"、“Debuginformationstripped(去除了调试信息)"等多个值。这些值分别被视为1个特征(在本例中,以1个属性提取3个特征)。关于Filesize(文件大小)等具有数值数据的属性,将属性值转换成1kB以下、1kB~100kB、100kB~500kB、500kB~1MB、1MB以上等适当的间隔的范围的名称而进行处理。对于这些特征的值,也可以进行tf-idf(termtrequency-inversedocumentfrequency:词频-逆向文件频率)等适当的加权。接着,特征选择部14按照属性值表1从特征向量中删除特征,由此进行特征选择而重构特征向量(步骤B2)。例如,如图3所示,在属性值登记于属性值表1中的情况下,如果“Characteristics”:“Executable”包含于特征向量中,则将特征“Characteristics”:“Executable”从特征向量中删除。接着,分类器15接收由前级的特征提取部13和特征选择部14处理过的特征向量和学习对象执行文件是否是恶意软件的分类的信息,且进行该学习对象执行文件的机器学习(步骤B3)。对于分类器15也可以使用逻辑回归、支持向量机、感知器、Passive-Aggressive(被动攻击)、单纯贝叶斯、决策树等适当的分类器。(1-2-3)对象文件判定处理在图2C中示出对本实施方式的恶意软件判定器10中的对象文件判定处理的概要进行说明的流程图。在对象文件判定处理中使用的判定对象的执行文件既可以是该执行文件整体,也可以是从该执行文件中仅剪切描述有PE/COFF报头信息的部分而得到的信息。对于判定对象的执行文件,按照特征提取部13、特征选择部14、分类器15、判定部16的顺序进行处理。首先,当向特征提取部13输入判定对象的执行文件时,特征提取部13和特征选择部14对该判定对象的执行文件进行与(1-2-2)示教数据学习处理时同样的处理(步骤C1、C2)。接着,分类器15基于(1-2-2)示教数据学习处理时的机器学习的结果以及由前级的特征提取部13和特征选择部14处理过的特征向量,用分数这样的数值来计算判定对象的执行文件的恶意软件的可能性(步骤C3)。作为计算恶意软件的可能性的分数的方法,例如,能够利用如下的公知的方法等:利用记载于专利文献1的技术,以常用于恶意软件中的特征包含于判定对象的执行文件的特征向量中的程度是多少为基准,进行判定。接着,判定部16基于由分类器15计算出的分数,对判定对象的执行文件是否是恶意软件进行判定,且输出判定结果(步骤C4)。判定结果既可以仅是将判定对象的执行文件分类到恶意软件/好软件中的哪一方的信息,也可以对该信息附加由分类器15计算出的分数。作为判定方法的一例,能够举出如果分数是阈值以上则是恶意软件,如果不足该阈值则是好软件的阈值判定。此外,在本实施方式中,特征选择部14进行从特征向量中删除属性值表1中登记的属性值的处理,但也可以与其相反地进行仅将属性值表中登记的属性值包含于特征向量中的处理。在该情况下,在与特征选择相关的设定中,指定作为特征来包含的属性值来代替从特征中删除的属性值,准备图4的属性值表2来代替图3的属性值表1,将所指定的属性值作为非删除对象的属性值登记于属性值表2中。如图4所示,在属性值登记于属性值表2中的情况下,在特征向量中,作为与ImportDLL(导入DLL)属性相关的特征而仅留下“ImportDLL”:“WINSOCK32.DLL”、“ImportDLL”:“WININET.DLL”的属性值,对于除此以外的ImportDLL属性的属性值,全部删除。在执行文件所具有的属性值中,存在对恶意软件判定几乎无用的属性值和非常有用的属性值。例如,作为无用的属性值,存在必定出现于任何执行文件中的属性值“Characteristics”:“Executable”,作为有用的属性值,存在经常出现于间谍软件等具有通信功能的恶意软件中的“ImportDLL”:“WINSOCK32.DLL”等。因此,在将无用的属性值登记于属性值表1中且从特征向量中删除而明确地判明有用的属性值的情况下,能够如下这样地分开使用:准备属性值表2来代替属性值表1,将有用的属性值登记于属性值表2中,仅用该属性值进行判定。如上所述,在本实施方式中,特征选择设定部11在手动地输入或者从其他装置输入了属性名·属性值时,将该属性名的属性作为提取对象的属性登记于属性表中,且将该属性值作为删除对象或非删除对象的属性值登记于属性值表中。而且,当进行基于机器学习的恶意软件判定时,特征提取部13仅提取作为提取对象登记于属性表中的属性的属性值而生成特征向量,特征选择部14还从特征向量中删除作为删除对象登记于属性值表中的属性值或者除了作为非删除对象登记的属性值以外的属性值。因而,通过指定对恶意软件判定器10不需要的或者有用的属性·属性值,能够从特征向量中删除与不需要的属性·属性值相关的特征,或者能够仅将与有用的属性·属性值相关的特征包含于特征向量中,因此实现判定精度的提高,并且能够进行缩小特征向量维度等特征向量的调整。另外,因为能够减小特征向量维度,因此能够减轻分类器15的处理,能够实现机器学习或恶意软件判定的高速化。另外,因为不包含维度压缩这样的特征的自动转换,因此能够进行考虑到专家的知识的属性·属性值的指定。例如,公知如下情况:在报头信息的属性中,存在Sectionalignment(区段对齐)、Filealignment(文件对齐)等具有默认值的属性,这些具有默认值的属性有时在恶意软件值中偏离其默认值。另外,公知恶意软件使用被称为打包器(packer)的执行文件压缩软件的倾向比好软件多,对此可以用Sectionflags(区段标志)属性来判定。因此,利用这些知识能够进行有用的属性·属性值的指定。有时候即使好软件也使用打包器。因此,在希望特别降低恶意软件判定器10的误检测率的情况下,通过仅指定具有默认值的属性,而不指定Sectionflags属性等,也能够根据目的进行特征向量的调整。(2)第2实施方式本发明的第2实施方式的恶意软件判定系统自动地从其他装置向图1所示的恶意软件判定器10输入与特征选择相关的设定。(2-1)第2实施方式的结构图5示出本发明的第2实施方式的恶意软件判定系统的结构图。如图5所示,本实施方式的恶意软件判定系统除了恶意软件判定器10之外还设置有作为其他装置的对特征选择进行测试的特征选择测试器20。另外,特征选择测试器20具有特征选择指示部21、检验部22以及指标计算部23。自动地进行特征选择的方法大体上有封装法、过滤法、嵌入法,在本实施方式中使用封装法。封装法是实际针对各种特征选择的设定进行机器学习·分类而测定精度来搜索最好精度的特征选择的设定的方法。特征的组合的搜索方法有测试所有的组合的蛮力法、设法减少测试次数的变量增加法、变量减少法、逐步法(stepwise)等方法。在本实施方式中,对使用了变量增加法的情况进行说明,但也可以使用其他搜索方法。(2-2)第2实施方式的动作以下对特征选择测试器20中的处理进行说明。首先,对特征选择测试器20中的处理的概要进行说明。在图6中示出对特征选择测试器20中的处理的概要进行说明的流程图。如图6所示,首先,特征选择指示部21读入在选择特征时作为候选的特征的列表(特征候选列表)(步骤D1)。接着,特征选择指示部21按照搜索方法从这些候选的特征中选择1个特征选择的设定且输入到恶意软件判定器10,其中,该特征选择的设定是组合1个以上的由属性名和属性值构成的特征的组(步骤D2)。接着,检验部22对包含已有的恶意软件和已有的好软件的检验用数据进行划分而生成示教数据和判定对象的执行文件(步骤D3)。接着,检验部22将示教数据输入到恶意软件判定器10,使恶意软件判定器10学习示教数据后(步骤D4),将判定对象的执行文件输入到恶意软件判定器10,使恶意软件判定器10对判定对象的执行文件是否是恶意软件进行判定(步骤D5)。该判定结果(恶意软件·好软件的分类的信息和恶意软件的可能性的分数)由指标计算部23获取(交叉检验)。检验部22对于通过步骤D3生成的示教数据和判定对象的执行文件的全部,反复步骤D4、D5。指标计算部23在检验部22完成了检验的情况下(步骤D6的“是”),将判定对象的执行文件的各个判定结果与检验用数据进行核对来进行评价,且计算表示恶意软件判定器10的判定部16的判定精度的良好程度的指标(步骤D7)。特征选择指示部21基于在指标计算部23中计算的指标,判断是测试其他特征选择的设定还是结束测试(步骤D8)。如果测试其他特征选择的设定,则返回步骤D2,且将其他特征选择的设定输入到恶意软件判定器10而进行以后的处理。另一方面,如果结束了其他特征选择的设定,则选出在测试中指标最高(判定精度最好)的特征选择的设定而输入到恶意软件判定器10(步骤D9)并结束处理。接着,对特征选择测试器20中的上述处理进行更详细的说明。特征候选列表是属性的属性名和该属性的属性值作为特征候选来描述的列表。特征选择测试器20对该特征候选列表中描述的属性名和属性值进行各种组合,且搜索其中判定精度最好的组合。在此,作为例子,以下说明将特征A、B、C、D描述于特征候选列表中的情况。当然,特征候选列表中描述的特征不限于4个,对于属性名、属性值也可以自由地描述。在本实施方式中使用的作为搜索方法的变量增加法是逐个增加所使用的特征(或者属性)而在判定精度(或者指标)成为最高值之处结束的方法。在本例的特征的候选A、B、C、D的情况下,首先,分别用特征选择的设定[A]、[B]、[C]、[D]测定判定精度,采用判定精度最高的特征选择的设定。在本例中,[A]时为最高。然后,对[A]增加1个特征,且用[AB]、[AC]、[AD]来测定判定精度。此时,如果没有比[A]的判定精度高的特征选择的设定则结束,且将[A]作为特征选择的结果。否则,还采用判定精度最高的特征选择的设定。在本例中,[AC]时为最高。接着,与上次相同,对[AC]增加1个特征,且用[ACB]、[ACD]来测定判定精度,如果没有比上次高的精度则结束,否则还采用判定精度最高的特征选择的设定。进行反复直到对其进行测试的特征选择的设定不存在为止。特征选择指示部21按照上述变量增加法,将特征选择的设定最终规定成1个,且将该特征选择的设定输入到恶意软件判定器10。在检验部22中使用的检验用数据与第1实施方式的示教数据同样地由已有的恶意软件和好软件的执行文件以及表示该执行文件是否是恶意软件的分类的信息构成。作为在检验部22中进行的交叉检验,代表性的方法有留出法(Holdout)检验和N-划分交叉检验,并且使用哪种方法都可以,其中,该留出法检验将检验用数据划分为2而仅进行1次检验,该N-划分交叉检验均等地划分成N个而进行N次检验。作为在指标计算部23中计算的指标(判定精度),在机器学习的领域中经常使用AUC(AreaUndertheCurve:曲线下的面积)。在AUC良好(大)的情况下,检测率、误检测率都具有变好的倾向。在本实施方式中,也可以将AUC作为指标。另外,也能够使用其他指标。一般检测率与误检测率具有相反的关系,但有时候希望在非常低地抑制误检测率的基础上使检测率得到相应的提高。作为该情况下的指标,能够使用将恶意软件判定器10的判定部16的误检测率调整成非常低(例如0.1%以下)时的判定部16的检测率。相反,有时候希望使检测率非常高的同时使误检测率也相应地降低。作为该情况下的指标,能够使用基于将判定部16的检测率调整成非常高(例如99.9%以上)时的判定部16的误检测率的指标(1-误检测率)。此外,关于在判定部16中的误检测率或者检测率的调整,例如在进行阈值判定的情况下,能够通过该阈值的调整来实现。在指标计算部23中计算出指标后,特征选择指示部21判断用其他特征选择的设定进行测试还是结束测试。在变量增加法的情况下,按照以下顺序进行判断。此外,以下的“个数”是指特征选择的设定中所包含的特征(属性)的数量。1)如果在相同个数的特征选择的设定中存在未测试的特征选择的设定,则测试该未测试的特征选择的设定(例如,如果仅2个组[AB]、[AC]测试完成,则也测试[AD])。2)在测试所有相同个数的特征选择的设定的情况下(a)当在当前个数≠1且当前个数下最好的指标≤当前个数-1下最好的指标时,采用在当前个数-1下最好的指标的特征选择的设定并结束([A]成为最好的特征选择的设定)。(b)在上述以外的情况下,采用在当前个数下最好的指标的特征选择的设定([AB]、[AC]、[AD]中的最好的[AC])。3)如果个数与最大数量(特征候选列表所包含的属性·属性值的数量)相同则结束。如果较少,则测试将个数逐个增加的特征选择的设定(测试[AC*](*=B,D)的特征选择的设定)。如上所述,在本实施方式中,能够自动地设定特征选择,且在指标计算部23中根据目的而计算适当的表示判定精度好程度的指标,由此能够构成具有与误检测率的降低、检测率的提高等使用目的一致的判定精度的恶意软件判定器10。(3)第3实施方式本发明的第3实施方式的恶意软件判定系统手动地输入向图1所示的恶意软件判定器10输入与特征选择相关的设定。(3-1)第3实施方式的结构图7示出本发明的第3实施方式的恶意软件判定系统的结构图。如图7所示,本实施方式的恶意软件判定系统除了恶意软件判定器10之外还设置有特征选择UI(UserInterface:用户接口)30,特征选择UI30从已有的恶意软件·好软件中收集特征,且使用该特征的一览表手动地进行特征选择。另外,特征选择UI30具有特征一览表获取部31和特征选择输入部32。特征一览表获取部31从已有的恶意软件·好软件中获取特征,生成该特征的一览表。已有的恶意软件·好软件也可以使用第1实施方式的示教数据或第2实施方式的检验用数据。特征选择输入部32基于由特征一览表获取部31生成的特征的一览表和恶意软件判定器10的特征选择数据库12的信息来显示设定画面。(3-2)第3实施方式的设定画面以下对在特征选择输入部32上显示的设定画面进行说明。在图8中示出设定画面的例子。在图8中,属性名/属性值和出现数量是基于由特征一览表获取部31生成的特征的一览表而被显示的。在由特征一览表获取部31生成的特征的一览表中包含属性的属性名和属性值以及具有该属性值的执行文件的数量的信息。属性名/属性值能够通过+/-按钮来切换仅对属性的属性名的显示与对属性的属性名及其属性的所有属性值的显示。属性值的出现数量表示具有该属性值的执行文件数/执行文件总数。出现数量的显示有助于从特性向量中除去不怎么频繁出现的属性值等的判断。复选框1、2是基于特征选择数据库12的信息而被显示的。复选框1反映属性表的ON/OFF字段,ON/OFF字段为ON的属性名(即作为提取对象登记于属性表中的属性的属性名)上标注有选中标记。复选框2反映属性值表1的内容,在作为删除对象登记于属性值表1中的属性值上未标注选中标记,相反,在除了作为删除对象登记的属性值以外的属性值(未登记的属性值)上标注有选中标记。当在该设定画面中手动地变更了复选框1、2的任意方的选中标记状况时,特征选择输入部32将在复选框1中标注有选中标记的属性名和在复选框2中未标注选中标记的属性值作为特征选择设定而输入到恶意软件判定器10的特征选择设定部11。因此,在该设定画面中,对于希望包含于特征向量中的属性·属性值标注选中标记,相反,对于希望排除的属性·属性值,通过去掉选中标记而能够手动且简单地进行特征选择的设定。但是,也可以不具有出现数量的显示功能。相反,也可以具有按照每个恶意软件/好软件显示出现数量的功能。此外,在准备属性值表2来代替属性值表1的情况下,复选框2反映属性值表2的内容。即,在作为非删除对象登记于属性值表2中的属性值上标注选中标记,在除了作为非删除对象登记于属性值表2中的属性值以外的属性值(未登记的属性值)上未标注选中标记。另外,在手动地变更了复选框1、2的任意方的选中标记状况的情况下,输入到恶意软件判定器10的属性值成为在复选框2上标注选中标记的属性值。如上所述,在本实施方式中,能够手动地设定特征选择,且在属性名·属性值的指定中使用复选框1、2,因此能够提供方便性较好的特征选择设定。此外,也可以组合第2实施方式和第3实施方式,在第2实施方式中自动地设定特征选择后,通过第3实施方式阅览/修改特征选择设定。本发明的恶意软件判定器10能够通过计算机和程序来实现,也能够将该程序记录于存储介质中,还能够通过网络提供该程序。标号说明10:恶意软件判定器;11:特征选择设定部;12:特征选择数据库;13:特征提取部;14:特征选择部;15:分类器;16:判定部;20:特征选择测试器;21:特征选择指示部;22:检验部;23:指标计算部;30:特征选择UI;31:特征一览表获取部;32:特征选择输入部。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1