2017qcon大会的一点想法(安全人才如何不被淘汰?)
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
2017qcon大会的一点想法(安全人才如何不被淘汰?)的更多相关文章
- Installshield关于.NET安装时需要重启动的处理办法,以及延伸出的重启后继续安装的安装包的一点想法
原文:Installshield关于.NET安装时需要重启动的处理办法,以及延伸出的重启后继续安装的安装包的一点想法 很多朋友做安装包的时候,所打包的软件需要.NET Framework之类的环境,他 ...
- 【MM系列】SAP S/4 HANA BP创建客户/供应商的一点想法
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP S/4 HANA BP创建客 ...
- 大三CS狗一点想法
本文非技术文 十点半游戏的代码大概完成了1/3,想到今晚提早验收完汇编实验,还是副院长亲自验的,似乎很看好我的样子,然后问我的方向,导师和参加的项目.聊了几句后结束了对话,不禁又引发了我的一些思考. ...
- 关于WEB项目的一点想法
有点失落.迷茫,差点在上班的时候发了火.原因是之前离职的一位同事,在代码里不加注释,而且百般偷懒,致使很多应该的验证没有验证,很多应该考虑到的情况没有考虑.因为是老员工,我相比他来说是新员工.气势上总 ...
- 系统架构:Web应用架构的新趋势---前端和后端分离的一点想法
最近研究servlet,看书时候书里讲到了c/s架构到b/s架构的演变,讲servlet的书都很老了,现在的b/s架构已经不是几年前的b/s架构,其实b/s架构就是web应用开发,对于这样的架构我们现 ...
- C#缓存的一点想法及测试
项目开发中,用到了缓存,其中的一个列表项,可能要多线程处理,就有了下面的想法,具体的问题在代码中有详细说明,见下文. static void Main(string[] args) { 测试缓存的想法 ...
- 关于java中用itext导出word的一点想法
这几天在项目组只做了很少的事情,主要还是自己不认真地说.我的部分是要负责用itext导出word文档这一块,之前看到大佬们做出了EXCEL部分觉得很是惊奇,就像刚刚接触HTML一样的感觉.但是毕竟自己 ...
- 【learning】[待完善]关于辛普森公式的一点想法
[吐槽] 嗯一开始接触到这个东西其实是因为某道凸包的题目好像可以用这个奇妙的方法来算 但其实了解也不是很深,只是觉得这个东西十分有意思, 所以先稍微写一下自己的想法,了解更多之后慢慢完善 [正题] 首 ...
- Docker 监控的一点想法
目前项目内部署了docker,于是涉及到关于监控的事情,参考一些经典实例以及一些自己的想法,总结一下思路. 1.关于监控的内容 监控宿主机本身 监控宿主机本身还是比较简单的,同其他服务器监控类似,对c ...
随机推荐
- systemd 配置文件
[Unit]区块通常是配置文件的第一个区块,用来定义 Unit 的元数据,以及配置与其他 Unit 的关系.它的主要字段如下. Description:简短描述 Documentation:文档地址 ...
- Android中Activity的四种启动方式
谈到Activity的启动方式必须要说的是数据结构中的栈.栈是一种只能从一端进入存储数据的线性表,它以先进后出的原则存储数据,先进入的数据压入栈底,后进入的数据在栈顶.需要读取数据的时候就需要从顶部开 ...
- cdoj916-方老师的分身 III 【拓扑排序】
http://acm.uestc.edu.cn/#/problem/show/916 方老师的分身 III Time Limit: 3000/1000MS (Java/Others) Memo ...
- Codeforces 712D DP
题意:有2个人玩游戏,他们都有个初始值a和b, 游戏进行t轮, 每次可以选择加上一个[-k, +k]之间的数字,问有多少种方案a的和严格大于b的和. 思路:如果不考虑多于这个条件,只是询问有多少种方案 ...
- ios crash log
1.IOS策略 1.1 低内存闪退 前面提到大多数crash日志都包含着执行线程的栈调用信息,但是低内存闪退日志除外,这里就先看看低内存闪退日志是什么样的.我们使用Xcode 5和iOS 7的设备模拟 ...
- Linux版本信息如何查询
1.输入"uname -a ",可显示电脑以及操作系统的相关信息.2.输入"cat /proc/version",说明正在运行的内核版本.3.输入"c ...
- scrapy定制爬虫-爬取javascript——乾颐堂
很多网站都使用javascript...网页内容由js动态生成,一些js事件触发的页面内容变化,链接打开.甚至有些网站在没有js的情况下根本不工作,取而代之返回你一条类似"请打开浏览器js& ...
- Java设计模式(2)——工厂方法模式
工厂方法模式同样属于类的创建型模式又被称为多态工厂模式.工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中.核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色, ...
- 1118 Lining Up
题目链接: http://poj.org/problem?id=1118 题意: 给定n个点, 求在同一直线上的点最多的直线上点的数目. 解法: 简单题目, 规模比较小, 暴力搜索. #includ ...
- jQuary总结2: jQuery选择器
1 什么是jQuery选择器 获取页面元素,并且把页面元素包装成jQuery对象的方式 2 为什么要学习jQuery选择器 为了更加方便的获取页面上的元素,并且将元素包装起来,使我们编写程序时更加便 ...