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 ...
随机推荐
- 【CF#303D】Rotatable Number
[题目描述] Bike是一位机智的少年,非常喜欢数学.他受到142857的启发,发明了一种叫做“循环数”的数. 如你所见,142857是一个神奇的数字,因为它的所有循环排列能由它乘以1,2,...,6 ...
- cocos2dx 触摸屏的使用
只要继承与CCLayer的类都可以实现触摸功能.CCLayer类的触摸事件的一些接口如下: // 单点触碰 virtual bool ccTouchBegan(CCTouch *pTouch, CCE ...
- c++ 中介者模式(mediator)
中介者模式:用一个中介对象来封装一系列的对象交互.中介者使各个对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互.中介者模式的例子很多,大到联合国安理会,小到房屋中介.下面以 ...
- 关于@property与@syntheszie的使用问题
写在前面:在ARC大行其道的“现代化社会”,不少人不再对“完整的“OC”抱有它应该获得的尊重,于是浮躁成了代名词~~ 在使用ARC时,大家声明变量的过程中,往往使用@property来通过编译器,隐式 ...
- 10-stack
c++ stl栈stack介绍 C++ Stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,——也就是说实现了一个先进后出(FILO)的数据结构. c++ stl栈stack的头文件 ...
- elmah oracle
. <sectionGroup name="elmah"> <section name="security" requirePermissio ...
- Java基础——常用类型转换
关于类型转化问题: (1)String--------->char / char[ ] String str = "ab"; char str1 = str.charAt(0 ...
- tree.J48
Weka为一个Java基础上的机器学习工具.上手简单,并提供图形化界面.提供如分类.聚类.频繁项挖掘等工具.本篇文章主要写一下分类器算法中的J48算法及事实上现. 一.算法 J48是基于C4.5实现的 ...
- Redhat9.0+Apache1.3.29+Mysql3.23.58+PHP4.3.4
Redhat9.0+Apache1.3.29+Mysql3.23.58+PHP4.3.4 TAG标签: 摘要:红帽创建于1993年,是目前世界上最资深的Linux和开放源代码提供商,同时也是最获认可的 ...
- ceph中查看一个rbd的image的真实存储位置
1.新建一个image存储 rbd create hzb-mysql --size 2048 2.查看hzb-mysql的所有对象 一个rbd image实际上包含了多个对象(默认情况下是image_ ...