机器学习算法研究与安全实践

 

01  什么是机器学习

机器学习的定义是对于某类任务T和性能度量P,如果一个计算机程序在T上其性能P随着经验E而自我完善,那么我们就称这个系统从经验E中学习,机器学习是人工智能的一种方法,它通过在大量数据中学习隐藏的规则,模式和经验,对新的情况作出有效的决策。 

机器学习主要包括监督学习和无监督学习。监督学习:给予算法一个包含正确答案的数据集,通过训练,能够在新的数据上给出正确答案。监督学习包括分类算法和回归算法。常见的算法有决策树,随机森林,XGBOOST,逻辑回归,K-近邻,支持向量机,朴素贝叶斯,神经网络等,有些算法即可用于分类任务,也可用于回归任务。无监督学习:给予算法的数据集中不包含正确答案,算法需要自己找出规律,来对新数据预测。常见的算法:K-means,DBSCAN,PCA等,可用于聚类和降维。

机器学习已经在多个行业广泛应用,在图像识别,语音识别,机器翻译,情感分析等多个领域取得不错的成果。因为安全行业的特点,出错代价高,异常数据少,使机器学习方法在安全领域的应用受到限制。大多机器学习算法得到的结果具有不可解释性,所以在安全领域里,机器学习通常是作为辅助手段,把问题分解为可用机器学习方法解决的子问题,结合安全领域知识,来解决具体的安全风险场景问题。

undefined

 

02  机器学习在安全领域的应用

 

在安全领域,分类算法和异常检测算法是较为常用的机器学习算法。

2.1分类问题

安全领域的一些风险问题,例如垃圾邮件过滤,webshell检测,注入攻击检测,恶意URL检测等,都可以转化为分类任务,使用分类算法构建分类模型。可分为如下几个步骤:

(1)提取特征,从数据中提取跟分类任务有关的,能够促进分类结果的特征;

(2)特征处理,对特征进行向量化;

(3)训练模型,将特征向量输入模型,训练;

(4)优化模型参数,保存训练好的模型;

(5)将训练好的模型用于新数据预测。

undefined

2.2异常检测问题

安全领域的一个典型场景是入侵行为检测,对进来的流量检测,发现并拦截恶意流量。传统的方法是使用WAF。WAF是应用层防火墙,具有对WEB服务的入侵检测能力,保护WEB应用的安全。WAF是通过一系列的安全策略,对进来的流量进行检测,识别有效流量,拦截恶意流量,保护应用安全。WAF能够识别针对应用层的攻击,但是只能识别已知的攻击,对未知的攻击毫无办法。现在可使用机器学习的异常检测算法来识别恶意流量。异常检测的通常做法是针对正常数据建立模型,基于大量的数据进行学习和训练,从海量数据中学习正常行为的模式,在对新流量检测时,与正常流量不符的则被识别为异常。异常检测与拦截规则的思路正好相反,能够识别到未知的恶意流量。

undefined

03  安全新趋势

 

 

人类社会在经历农业经济时代和工业经济时代后,迎来了数字经济时代。在新的时代背景下,数据本身成为充满想像力的生产资料已经是毋庸置疑的共识,数据的价值也必然将越来越重要。因此,以数据窃取、滥用、篡改和破坏等为目标的攻击将越来越多,技术手段越来越复杂,隐蔽程度越来越高。

随着数字经济日益活跃,数据量级将会迎来爆发性增长,数据流动行为的复杂性也将指数级增加。因此,如何在汪洋的数据海洋中,迅速且精准地定位数据安全风险,已经成为安全领域的无法回避的新的挑战。

我们深耕数据安全领域多年,针对数字经济时代下的各类数据安全难题,持续探索和研究机器学习相关算法在数据安全领域的应用价值,并在许多技术场景中都集成的机器学习的算法和能力。例如,自动学习应用深度资产结构、上下文学习驱动的数据威胁检测、数据流拓扑结构学习等。在后续的一系列相关文章中,我们将进一步分享在该领域的实践经验,也期望能够在与业界交流的过程中,相互碰撞出新的思考。