探析在软件安全中结合语义的机器学习方法

来源 :计算机光盘软件与应用 | 被引量 : 0次 | 上传用户:xiaqiushi9527118129
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:随着计算机信息技术的不断发展,各类软件已被人们广泛应用到社会生活、生产的各个领域。但是,随着信息系统漏洞的不断增多,病毒种类的千变万化,软件安全却一直是人们感到棘手的难题。在信息技术发展的同时,近20多年新兴的机器学习也在蓬勃的发展,并且已经在很多领域得到成功的应用。本文先分析机器学习的主要策略,再分析当今软件安全的现状,最后再探索在软件安全中结合语义的机器学习方法。
  关键词:软件安全;结合语义;机器学习;方法
  中图分类号:TP393.08
  机器学习,简单来说就是研究如何利用计算机模拟人类学习活动的科学。学习是人类智能的主要表现之一,机器学习是机器具有智能的重要标志之一,它是机器获得知识的根本手段。机器学习同人类学习一样,也是从未知到已知。若一台机器在某种程序的控制下能够解决的问题越来越多,那么这台机器可能拥有了学习的能力。随着科技的不断提高,机器学习得到了很大的发展,并且在数据挖掘、模式识别、入侵检测等领域有了十分广泛的应用。作为信息安全领域重要组成部分的软件安全,随着信息系统的漏洞问题愈发严重,再加上病毒的不断更新换代和复杂化,黑客攻击方式的多样化,其情况已不容乐观。软件安全关乎主机甚至整个网络是否能够正常运行,其重要性不容小觑。为解决这一问题,提高软件的安全性能,现提出了一种结合语义的机器学习方法。
  1 机器学习的主要策略
  机器学习经过了一个很漫长的发展时期,其主要经过了“没有知识”学习的热烈时期,符号学习的冷静时期,概念学习的复兴时期以及从20世纪80年代至今的机器学习新阶段的蓬勃发展时期。机器学习的新阶段不再只是存在理论上或是实验室中,而是被真正应用到实际生活中来。现在,机器学习的学习策略有很多种,但根据机器学习中使用推理的多少一般被分为五类,即机械学习、示教学习、演绎学习、归纳学习以及类比学习。
  1.1 机械学习。机器学习就是指机器学习时不需要做任何的推理或者是对知识进行转换,而是直接吸取周围环境所提供的信息,将信息简单的存储起来即可。这是一种最基本的学习策略。例如,赛谬尔的跳棋程序和西蒙的LT系统都是属于机械学习的范畴 。机器学习时只需要按照软件事先编写好的程序来学习,对输入的信息不作任何的推理。但是这种学习策略只适合在环境稳定和输入输出模式固定的系统中,对环境的要求比较苛刻。
  1.2 示教学习。示教学习又被称之为传授学习或指导式学习,这种学习策略除了环境要做大量的工作外,还必须要求机器学习有一定程度的推理能力。示教学习的学习过程大致是,首先向指导者提出建议方面的请求,然后再接受建议的同时还要将其转化为内部的表现形式,再将其转化为具体的知识并将所得的新知识归并到知识库中,最后还要采取方法对新知识进行评价、检验。现在,不少专家系统在建立知识库时使用这种学习策略去获取新知识。示教学习在实际应用中,一个比较典型的例子是FOO程序。
  1.3 演绎学习。演绎学习就是一种推理学习的策略,它是以一种有一般到个别的推理方法为基础。这种学习策略的核心就是三段论,例如,树到秋天叶子都会落光;松树是一种树;松树到秋天叶子会落光。对给出的知识进行演绎推理,就可能会得出一个新的结论,再将正确的、有价值的结论存储起来即可。而将演绎推理的过程逆过来就是归纳推理。
  1.4 归纳学习。归纳学习是指由环境提供某一概念的实例或者是反例,让机器通过归纳而推理出该概念。这种学习策略的推理量大大超过了示教学习和演绎学习的推理量。这种学习策略又被分为两种,一种是示例学习,即给机器学习系统提供示例,让其通过归纳而得出这个概念的一般描述;另一种是观察学习,与示例学习相反,它是学习系统通过对环境的观察来进行学习。目前,归纳学习已发展成为一种比较成熟的学习策略,它已被广泛应用到人工智能的领域之中。
  1.5 类比学习。类比学习策略的基础是类比推理,就是利用事物的相似性来学习新知识。其学习过程主要是:首先搜索和它相似的已经存在的事物;搜索出来后再判断其相似程度是否能够达到匹配的标准;然后再将与其类似的已经存在的事物进行适当的变换或调整,以此来得出新事物;最后再将其并入到知识库中。
  2 当今软件安全的现状
  当今软件的安全受到很大的威胁:网络仿冒事件和网页恶意代码事件在逐年成倍增长,大量网站被黑客入侵、被植入木马攻击程序,信息系统安全漏洞越来越大……这些都使得软件安全受到了严重的威胁,大大威胁到软件在各个领域的正常运行。要改变现在的这种状况,提高软件安全度就必须采取行之有效的方法进行解决。这样做,才可使软件更好得为人们提供安全的服务。
  3 在软件安全中结合语义的机器学习方法
  在软件安全中结合语义的机器学习方法就是融合语义来提升整个软件系统的多维特性,以此来迷惑恶意代码。这是一种检测算法,可以检测被恶意代码或木马篡改的恶意文件。这种检测方法对迷惑恶意代码的识别率比较高,且检测的准确度也比较高。这种学习方法是一种使用语言的操作语义来确定系统程序的执行行为,操作语义也可以被当作是一种语言的解释器,其每条规则的读取是从左到右,从上倒下。同时,还需要将每条给定的语句匹配到合适的规则上。其语义解释上的语言模型被分为以下两种:
  3.1 面向用户的语言模型。这种语言模型是在根据用户的特点而提出来的,它必须适合用户的记忆特点,其分为两个部分:一部分是通过大规模训练的通用语言模型,其参数没有变化;另一部分则是通过在线学习的用户模型,其参数在不断的进行变化。但是在实际应用中时,要同时将这两种模型应用起来。若是以汉语为例,面向用户的语言模型的机器学习过程大致是:先将拼音或语句通过键盘输入到学习系统中,然后通用语言模型和用户语言模型共同对语言进行解码,再将其进行转换得到的结果输入到软件之中,若结果出现错误,还需要用户进行修正,将正确结果输入到软件之中,最后再由机器学习或用户编辑反馈到通用语言模型和用户语言模型之中。
  通用语言模型和用户语言模型的结合方式有很多种,其中最典型的方式是用线性插值方式将通用语料和用户输入信息构建两个独立的语言模型结合起来。这种模型方式严格遵守概率计算的归一化条件。
  3.2 Bi-gram语言模型的机器学习算法。这种语言模型就是根据用户在线输入的数据,对用户模型的错误参数进行修正。例如,若是将给定的拼音串通过初次的转换成汉语句子当作A,若是初次转换的汉语句子出现错误并将其修正后的句子当作a;然后在机器学习中将A和a进行对比来得出构成正确语句的词。在进行这种语言模型学习时,机器学习既要最大限度地纠正语言模型带来的转换错误,还要避免过度,否则会使语言模型出现不平衡的现象。
  4 结束语
  总而言之,结合语义的机器学习方法可以提高软件的安全性能。在软件安全中将语义的机器学习方法融合在其中,可以提升多维特征来迷惑恶意代码;也可以多态蠕虫签名提取算法来检测多态蠕虫。这些都有利于提高软件的安全性能,促进软件和网络的健康、稳定、长期的发展,使之能更好的为我们提供更好的服务。而现在,在软件安全中结合语义的机器学习方法还需要我们进行进一步的探索和研究。
  参考文献:
  [1]查正军.基于机器学习方法的视觉信息标注研究[D].中国科学技术大学,2009.
  [2]孔德光.结合语义的统计机器学习方法在代码安全中应用研究[D].中国科学技术大学,2010.
  [3]张文雯.基于状态图和语义分析的软件行为建模与检测研究[D].北京工业大学,2013.
  [4]樊小超.基于机器学习的中文文本主题分类及情感分类研究[D].南京理工大学,2014.
  [5]赵沁平,魏华,王军玲.机器学习技术与机器学习系统[J].计算机科学,2010.
  作者单位:中国矿业大学,江苏徐州 221116
其他文献
《中国化纤信息网是由主要从事轻纺原料对外贸易及物流、信息、软件开发等业务的浙江华瑞集团创建并经营的。它以信鼠为龙头,以物流为基石,通过完善企业信息化,形成了信息流、物
各种迹地更新换代是造林成败的关键。实际工作中,必须做到快速、保质。延期对迹地造林,将造成十分严重的后果,甚至殃及相邻森林。通过对火烧迹地更新造林技术、采伐迹地更新造林
本文分析当前电子选举的基本要求,针对目前电子选举方案中存在的选票碰撞及伪造选票问题,提出了一种基于变色龙签名的电子选举机制,通过双线性映射实现变色龙签名,进而定义电子选
扫描矢量化是对各种类型的数字工作底图如纸基地图等进行矢量化处理,扫描矢量化工作是数据处理、数据转换的基础,本文通过南方Cass软件实现了地图扫描矢量化工作;数据转换就是把不同格式的空间数据转换成所用地理信息系统平台使用的格式,是对数据进一步处理与分析的前提。本实验通过应用ArcGIS软件实现了数据的转换,为避免直接转换存在的问题,本实验采用的方法是在ARCMAP中读入转换后的数据,然后将各类要素分
地域文学的发展不仅仅是其自身内部的发展,还在接受他地文学影响;在接受的同时,不仅反哺影响源,还在影响着其他地域,构成地域文学互动的层级性。作为明清诗歌研究绕不开的晋
运用相位多普勒(phase Doppler anemometry,PDA)系统对甲醇、乙醇、异辛烷、甲苯参比燃料(toluene reference fuels,TRF)和汽油5种燃料缸内直喷(gasoline direct injection,G