机器学习的能与不能

安全 应用安全
机器学习算法能提供强劲的分析速度和广度,但仅能保证在特定场景中的安全,限制颇多。但,只要应用在正确的问题上,再结合足够的人类经验和其他分析方法,机器学习就是直面网络攻击威胁的强力工具。

技术产业一直以来都有炒作问题,永远关注“下一个神器”,永远吵嚷喧嚣着世界将会产生怎样的天翻地覆。追逐热点是厂商的天性,当他们在自己认为的成长市场上抢占地盘的时候,一个又一个海口被不断夸下。

[[193820]]

2016新兴技术成熟度曲线上,Gartner将机器学习放在了“期望膨胀期”顶峰位置。该曲线的下一个部分,通常来讲,就是“幻想破灭期”了。期望到底能幻灭到何种程度,还有待观察。

很容易看出机器学习在安全领域被过度炒作的原因。随着攻击者复杂性稳步上升,随着越来越多的高端技术被引入攻击方法,召唤异常快速而有力的机器智能来查找并阻挡威胁,似乎是个绝顶美妙的主意。

但是,夸大安全技术的能力和有效性是十分危险的。听信不实宣传的公司,有可能产生一种虚假的安全自信,反而沦为攻击受害者。而且这种案例还会对安全业其他同行的信誉也添上污名。

炒作问题的根源,在于安全厂商运作的方式。

为了扩大市场份额,很多厂商都会什么好卖卖什么,产品有没有用倒未必会在考虑之列,而且,误导性的市场营销还真不少见。他们的激情更多地放在了赚钱上,至于在攻击性和防御性安全中间平衡的问题,需要考虑吗?

另一个所有技术领域里都很常见的长期性问题,就是厂商可以利用其对解决方案的复杂性更为熟悉和专业这一优势。

极少有高管对机器学习操作原理有深入认知,即便IT主管里面也没几个清楚的,但他们肯定都知道这个术语——这得感谢不停洗脑的各路媒体。再加上机器学习的复杂性,炒作起来就更容易把机器学习当成治愈所有威胁的神奇万灵丹了。

机器学习的优势与劣势

炒作问题暂且不谈,机器学习确实在安全方面起着重要的作用——只要能将它应用在最适宜的问题上,且其短板能被补足。

机器学习是个很多元的学科,但基本上归结于程序从数据中学习,最终做出预测或者发现信息——在没有被明确的预设规则的情况下。

这一能力在安全上有多种可能性,但最受关注的两大领域,就是反病毒和用户及实体行为分析(UEBA)。

在反病毒软件领域,相比传统解决方案只靠病毒特征码查杀,机器学习的恶意软件发现方式与之大为不同。而UEBA寻求建立用户和机器的正常行为基准线,偏离该基线的异常活动即可能是恶意行为。

我们还可以期待机器学习大放异彩的一个领域,就是恶意软件新变体的检测,比如Andromeda系列恶意软件。

只要机器学习模型经由大量Andromeda家族恶意软件样例训练,便能精于发现新版本中一脉相承的特征。恶意软件作者必须投入大量精力才能绕过该模式。

当然,机器学习模型训练不是那么容易的事,但面对层出不穷的新变体,机器学习还是能比传统特征码方式提供更好的检测。

相较之下,机器学习可能无法满足人们预期的一个方面,在于对合法软件恶意使用的检测,比如SSH客户端或端口扫描器的恶意使用。

因为不是什么特别的恶意软件,而且是系统管理员的常用工具,这些软件通常会被归类为良性的。让机器学习模型来判断操作者行为背后的意图是善是恶,明显有点超出所能了。

针对性攻击中所用的定制软件也是个大问题。如果该恶意软件是前所未见的全新款,必然就没有什么代表性样本供机器学习算法训练。作为未知软件,相对预期模型,仍有可能被标记为异常。

然而,现实世界中的很多合法软件也往往是全新的。于是,让解决方案一看到异常就阻止,必然会引发大混乱。另外,高级攻击者会采用各种特殊方法来确保自己的恶意软件被归类成良性,就像他们绕过传统反病毒软件采用的病毒特征码一样。

对于UEBA方法,我们通常期望,随着时间的推移,能对来自网络和日志源的各类数据流建模,然后标识出偏离正常值的指标,揪出内部侦察行为、横向移动或数据渗漏活动。

一般不连接互联网的数据库服务器突然传输了500GB信息,就是高度异常的行为。类似的,管理服务账户从不常操作的主机登录大量系统,也是被盗凭证用于横向移动的明显标志。

但是,也有其他相对复杂的情况。比如击键记录和特定用户终端上的敏感文档盗窃。这些行为都令人担忧,但又可能涉及处于正常范围内的数据量。

恶意软件在同一个子网里各工作站之间的横向移动也是个问题。但有可能因为网络传感器覆盖没有那么深入,日志源只从关键服务器而不是全体终端资产上收集,而导致此类行为不可见。

C2信道也可能利用非常常见且合法的服务,比如云即时消息服务。而且,用户并非完全可预测的,很可能以之前没用过的方式访问系统或服务,而这些都是完全良性的。

这些案例充分标识出了机器学习的三大盲点:

  • 已有数据集中表现正常而无法检测出的恶意行为;
  • 往往表现异常而导致大量误报的非恶意行为;
  • 因为缺乏所需数据而无法检测出的恶意行为。

克服短板——人类干预

最重要的一课在于,企业网络通常都是极不规则的环境——异常太多,以致误报成常态,而真正的恶意行为却能伪装潜伏在看起来正常的行为中。

为克服该短板,机器学习需要结合人类的专业技能。技术高超训练精良的团队,可以恰当地解读和调查机器学习的发现。多年的攻击检测与阻止经验,意味着高级安全团队能够识别更细微的恶意入侵迹象,不放任入侵行为混在正常行为里瞒天过海。

另外,必须认识到,机器学习方法也仅仅是分析技术中的一种,也有自己的优势和弱点,而一个有效的攻击检测系统,需要多种不同技术相辅相成。

机器学习炒作尚需一定时间才能平息,公司企业必须警惕任何将机器学习产品当做万灵丹兜售的厂商。机器学习算法能提供强劲的分析速度和广度,但仅能保证在特定场景中的安全,限制颇多。

但,只要应用在正确的问题上,再结合足够的人类经验和其他分析方法,机器学习就是直面网络攻击威胁的强力工具。

【本文是51CTO专栏作者“”李少鹏“”的原创文章,转载请通过安全牛(微信公众号id:gooann-sectv)获取授权】

戳这里,看该作者更多好文

责任编辑:赵宁宁 来源: 51CTO专栏
相关推荐

2017-07-21 12:52:32

人工智能机器学习神经网络

2017-07-19 13:08:27

人工智能机器学习深度学习

2018-06-14 16:01:10

2021-06-15 08:00:00

人工智能机器学习应用

2021-08-09 08:53:46

人工智能机器学习AI

2018-06-14 09:52:03

2018-02-23 13:31:36

人工智能 机器学习

2016-10-17 13:59:10

机器学习人工智能

2010-05-21 18:09:24

IIS服务器

2021-08-17 15:47:12

机器学习自然语言神经网络

2019-10-16 11:52:15

MIT机器学习

2021-01-18 11:04:07

人工智能机器学习AI

2020-11-06 17:34:30

Python开发工具

2015-09-21 15:00:38

机器学习

2020-05-19 09:11:20

机器学习技术数据

2020-06-02 08:58:12

机器学习技术人工智能

2017-08-25 14:05:01

机器学习算法模型

2024-11-29 12:00:00

Python机器学习

2023-11-03 15:31:07

2021-03-15 11:35:28

人工智能机器学习
点赞
收藏

51CTO技术栈公众号