2017 qcon 上海专门设立了“直击黑产,业务安全的攻与防”专题,通过这次专题的了解和学习,让我对黑产的攻防有了更深入认识。
1. 安全防护趋势
2017 qcon 上海专门设立了“直击黑产,业务安全的攻与防”专题,通过这次专题的了解和学习,让我对黑产的攻防有了更深入认识。有一张图可以充分说明黑产防护这一发展过程:
从最初的黑白名单,后来是规则引擎,再到现在各公司都开始采用机器学习进行风控。在安全防护升级的道路上,我觉得就是从静到动,再到自主学习的一个过程。
比如黑白名单、设备指纹,这一类安全防护,都是基于固定的数据源进行防护,针对给定ip提供访问权限,针对黑名单进行防护等。这一类防护,实现容易且工作流程简单明了,但是数据的及时更新比较困难。
规则策略则高级一些,给定一些规则、攻击规律,编写特定的规则分析引擎,触发攻击规则的拦截,否则放行。在实现上也比较容易,只需要根据安全经验定制规则、编写正则即可,同时可以实时生效。缺点是,随着业务的复杂,安全防护也变得复杂,规则库最终会走向臃肿、难以维护,同时黑客可以根据规则进行猜解,存在被绕过的可能。
再看看现在,各大公司都在安全防护方面引入了数据挖掘、机器学习,最大的优势是可以自主学习攻击行为,进行攻击预测,且可以随着攻击的升级而自主升级。
那么,是否像黑白名单、规则策略就过时了呢?其实不然,每一种安全防护方法论,都有其使用价值,需要根据特定场景来使用。比如,某个业务不复杂且面向用户有限,但是流量巨大,这时采用黑白名单是比较好的选择。而对于一些通用型waf,其实就是采用规则库来实现。
公司需要根据自己的特定业务场景,选择不同的安全防护,而不能一味追求大而全的安全防护。
2. 机器学习
机器学习应用到网络安全领域是当前的趋势,针对黑产的流量检测,机器学习已经显示出了巨大威力。
但是,机器学习目前并不适用所有安全领域,这是为什么呢?百度安全首席架构师给了下面这张图。虽然,他在图中强调了有监督学习和无监督学习在安全领域的应用。但是我认为,我们能做好的(注意,我强调的是“能做好的”)其实只有监督学习,其它三种包括无监督学习、迁移学习、强化学习还不能很好的用到安全领域。
监督学习,也就是学习从A到B,从输入到输出的映射。监督学习,我们需要大量的标注数据,数据量一定要够大,包括好的数据和具有攻击行为的坏数据,利用这些数据进行机器学习,最终应用到安全防护体系中。目前,大部分企业所提到的机器学习应用到网络安全领域,基本都是监督学习。而监督学习,需要标定大量训练数据,这一开销也是巨大的。
非监督学习,目前仅在自然语言处理这一领域有较好的成果,主要是因为机器学习的不确定性,特别是在安全防护领域,有些攻击行为很难进行划分,这就导致最终分析结果的可靠性,因此当前还没有较成功的案例。(百度安全同事,在会议最后也提到了各国科学家在不确定性方面的研究进展,并给出了一个未来预期“无监督学习与监督学习相结合”)
迁移学习,举个通俗的例子,比如图像识别技术,通过迁移学习应用到医学影像诊断上。比如湖南卫视的《我是未来》,就有一期提到告别胃镜之苦,讲述的就是机器学习应用到医学影像诊断上,推荐大家去看看。
和监督学习需要大量标注数据相比,迁移学习可以从现有的数据中迁移知识,用来帮助将来的学习,极大的降低了人力物力成本。而对于攻击流量,由于业务的特殊性和时效性(比如做活动薅羊毛),很难采用迁移学习。
强化学习,和监督学习一样需要足够多的数据,甚至比监督学习还要多的数据作为支撑。目前在游戏和机器人方面,强化学习已经发挥了很多作用,对于游戏我们可以设计算法不断重复游戏过程并获取数据,对于机器人我们也可以建立模拟器,让机器人不断重复来获取无限数据。对于网络安全领域,我觉得可以利用强化学习的一种思路是,在特定业务下,不断模拟用户行为,并结合一系列攻击特征进行学习,以达到自我不断重复获取数据。就好比周伯通的左右互搏,不过实现起来的话,路还很长远。
3. 结构化数据
机器学习在很多领域都开始创造价值,而网络安全防护领域算是起步晚一些的,在这些众多价值中,不难发现几乎清一色的是结构化数据。
机器学习所创造的价值,主要源自结构化数据。
对于黑产防护而言,也主要是利用结构化数据,进行机器学习,这是爱奇艺安全团队提供的风控系统示意图。安全画像、实时特征、离线特征、环境特征,都是利用结构化数据。
除了黑产行为,我们再看看当前网络安全的攻击行为,常见的网站请求攻击比如sql注入、xss、csrf、目录遍历等,网络协议漏洞有心脏出血、ssl协议漏洞, 还有诸如struts框架系列漏洞,软件漏洞包括redis,操作系统漏洞有dirtycow,以及更多的业务逻辑漏洞如验证码破解、未授权访问等,列举这么多,想说明的一点是:
黑客攻击数据杂而繁多,且很多属于非结构化数据。
虽然结构化数据的机器学习已经带来了很多成功案例,但是对于安全领域,非结构化数据比结构化数据更重要。非结构化数据的机器学习,还处在初期阶段,急需行业的自我提升。
最近出差去招聘,发现很多研究生和博士都选择在人工智能领域深造,这是可喜的。
4. 行业的颠覆
2011年8月,谷歌收购摩托罗拉。
2013年5月,柯达提出申请破产。
2015年上半年,任天堂在争议中被迫转型。
还有很多例子比如诺基亚,这些企业的衰落,最主要的因素是科技进步。
再说个场景,flash安全大神,现在还好找工作吗?
未来,随着电动汽车、无人驾驶的发展,会不会大众、通用、丰田等某一家企业倒下,这也是说不准的。
再看看我们安全行业,我觉得随着机器学习、人工智能的发展,有些安全岗位的工作,未来会由人转向机器来做。比如昨天网易发布的招聘信息:
没错,安全检测依赖工具,而未来工具却不再依赖人。所以,如果我们只会所有常见安全工具的使用,未来很可能就是被淘汰的那一批人。
作为安全从业人员,有必要时刻了解行情,特别是新型领域,要多学习多思考,而不是仅仅局限在自己那一块安全领域里。
以上所说,仅个人主观想法。
最后,附上所有安全资料:https://pan.baidu.com/s/1slyogjj