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

2016-07-09 09:26郭楠
数字技术与应用 2016年6期
关键词:机器学习探讨方法

郭楠

摘要:近年来,在计算机信息技术发展的同时,各种类型的软件已经被广泛地应用在社会生活和生产当中的多个领域。然而,在长期的发展过程中,信息系统的漏洞逐渐突显出来,病毒的种类也处于动态的变化过程中,所以,软件安全已经成为当前所需考虑的难题。而在此背景下,机器学习快速发展,并且在多个领域都被广泛应用。

关键词:软件安全 结合语义 机器学习 方法 探讨

中图分类号:TP393.08 文献标识码:A 文章编号:1007-9416(2016)06-0229-01

1 软件安全现状分析

目前阶段,软件安全存在诸多问题与缺陷。其中,网络仿冒事件以及网页的恶意代码事件频繁出现,并且增长速度不断增加。很多网站都被黑客入侵,或者是被植入了木马攻击程序,导致信息系统的安全漏洞逐渐增加。这一现象导致软件的安全受到威胁,并且严重影响其在多领域多行业中的正常使用。要想积极地转变这一情况,就一定要采取相应的方法并及时予以解决处理,保证软件安全程度的提高,进而确保软件能够为人们提供更加安全的服务。

2 机器学习策略

2.1 机械学习

在机器学习的过程中,无需进行推理或转换知识,可以对周围环境所提供的信息内容进行直接地吸收,并且实现信息简单存储。这种学习策略是最基本的,以塞缪尔跳棋程序与西蒙LT系统为例,这些都是机械学习范围[1]。在开展机器学习的时候,仅仅需要根据软件所编辑好的程序进行学习就可以,不许对输入信息内容让进行推理。然而,该学习策略仅仅适用于环境比较稳定或者是具备固定输入、输出模式的系统当中,对于环境要求很高。

2.2 示教学习

该学习策略也被称作传授学习或者是指导式学习,不仅需要在环境方面投入大量工作,同时,需要保证机器学习具备推理能力。该策略具体的过程就是:对指导者提出建议请求,并在接受建议的同时,有效地转化成内部表现形式。而后,转化成具体知识内容,并且将获得的新知识纳入知识库当中,最后应采取相应的方法评价并检验新的知识。

2.3 演绎学习

这种学习策略属于推理学习策略,将“一般到个别”的推理方法当作基础。对于所给出的知识予以演绎和推理,并且得出全新结论,而后需要存储正确并且具有一定价值的结论。如果把演绎推理过程反逆,就被称为归纳推理[2]。

2.4 归纳学习

所谓的归纳学习,指的就是由环境所提供的概念或反例,使其在归纳中推理概念。它的推理量比示教学习与演绎学习推理量大很多。归纳学习包括示例学习与观察学习。其中,示例学习就是为机器的学习系统提供示例,进而使其在归纳中获得概念一般描述。而观察学习则是学习系统观察环境并进行学习。

2.5 类比学习

类比推理是类比学习策略的重要基础条件,通过对事物相似性的充分利用来学习新的知识。具体的过程可以概括成:事先搜索与其相似并且实际存在的事物,而后和类似并且实际存在的事物予以合理变换和调整,最终获取全新事物,并将其纳入到知识库当中。

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

在软件安全中,结合语义的机器学习方法指的就是同语义相互融合,进而保证软件系统整体多维特性的有效提升,进而迷惑恶意代码。结合语义机器学习方法属于检测算法,能够对被恶意代码或者是木马篡改的恶意文件进行严格地检测。该方法在检测的过程中,很容易识别迷惑恶意代码,而且,准确程度也很高。该学习方法通过使用语言的操作语义,对系统程序具体的执行行为进行确定。其中,操作语义同样可以当作语言解释器,并且每一条规则在读取的过程中,都是由左向右,由上向下[3]。另外,还应该把每条既定语句合理地匹配至相应的规则中。其中,在语义解释方面,语言模型可以分成两种:

第一,面向用户的语言模型。这里所阐述的语言模型,主要是依据用户自身特点所提出的,所以,一定要与用户记忆特点相适应,其中一部分就是利用大规模训练的一种通用语言模型,该模型的参数是不会发生变化的;另外一部分就是在线学习用户模型,该模型的参数始终处于变化当中。然而,在实际使用的过程中,需要保证以上两种模型同时被应用。以汉语为例进行分析,第一种语言模型机器学习的过程可以解释成:首先把拼音或者是语句以键盘输入的形式传递到学习系统当中,而后使用通用语言模型与用户语言模型,同时对语言解码。再次,对输入内容进行转换,并且得到结果并输入至软件当中。如果最终的结果存在错误,那么就需要用户及时修正,最终将正确的结果内容输入到软件当中。最后一步就是通过机器学习或者是用户编辑反馈到以上两种语言模型当中。

将以上两种语言模型进行结合的方式有很多,最具代表性的就是使用线性插值的方式,把通用语料以及用户输入的信息构建成两种相互独立的语言模型,并实现有机结合。其中,该模型的方式必须要始终遵循概率计算归一化的条件要求。

第二,Bi-gram语言模型的机器学习算法。该语言模型主要就是依据用户在线输入的数据信息,进而对用户模型当中存在的错误参数予以合理地修正。把既定拼音串,初次转换成的汉语句子称为A;而将初次转换成的汉语句子中存在错误并予以修正以后的句子称为a。而后,可以在机器学习中将以上两个句子进行对比,进而获取正确构成语句的词汇。而在采用该语言模型进行学习的过程中,机器学习不仅要尽可能地对语言模型当中存在的转换错误予以纠正,但是不应该过度纠正,否则就会导致语言模型的不平衡现象出现。

4 结语

综上所述,在提升软件安全性能的过程中,应用综合语义机器学习方法具有重要的现实意义。在软件安全当中,有效地融入语义机器学习,能够提高多维特征迷惑恶意代码,使得软件安全性能得到提升,推动软件与网络稳定并且健康地发展,最终为人们提供优质服务。然而,在软件安全当中结合语义机器学习的方法仍然需要深入研究与探索。文章对软件安全的现状进行了分析,并阐述了机器学习策略,最终对软件安全中结合语义的机器学习方法进行了研究和探讨,主要的目的就是为了有效地提升软件安全,为更好地开展机器学习提供有力的保障。

参考文献

[1]苗发彪.探析在软件安全中结合语义的机器学习方法[J].计算机光盘软件与应用,2014(18):79-80.

[2]孔德光.结合语义的机器学习方法在软件安全中应用研究[D].中国科学技术大学,2010.

[3]孔德光.结合语义的统计机器学习方法在代码安全中应用研究[D].中国科学技术大学,2010.

猜你喜欢
机器学习探讨方法
基于网络搜索数据的平遥旅游客流量预测分析
可能是方法不对
前缀字母为特征在维吾尔语文本情感分类中的研究
刍议小学足球教学的训练教学方法
体育旅游产业的特征及发展策略探讨
税收筹划的效应问题
基于支持向量机的金融数据分析研究
用对方法才能瘦
四大方法 教你不再“坐以待病”!
捕鱼