作者:腾讯安全平台部 lake2
前言
新的技术应用、新的业务形态可能带来新的安全问题,这些潜在的风险值得企业安全团队预先研究预防,对这部分新型安全问题进行研究,是一份充满激情充满挑战的工作,也能让每个热爱安全技术的同学兴奋,但是研究工作往往有一定前瞻性,很容易脱离企业实际情况进入自娱自乐的境地,有时候又会陷入困境甚至很久都没有产出。那么,如何让企业的安全研究工作既能仰望星空又能脚踏实地呢?
本文是笔者在实际工作中对研究团队Tencent Blade Team的建设和运营过程中一些想法、思考、实践和经验的总结,欢迎大家一起来探讨。
一、他山之石
我们就以著名的腾讯安全科恩实验室为样例,试着剖析一下它的发展。之所以选科恩,一是因为它的声望和地位完全符合业界一流安全研究团队的要求,实至名归;二来我们很早就和它的掌门人wushi建立了深厚的友谊(wushi十多年前给我们报告的严重漏洞直接推动了腾讯安全公告机制的建立),对科恩实验室很熟悉。
科恩实验室的前身是KEEN Team,一直专注于客户端漏洞挖掘,发现过包括微软、谷歌、苹果在内的大厂商的漏洞。KEEN Team声名鹊起是在ZDI举办的国际漏洞比赛Pwn2Own:从2013年开始,KEEN Team都是Pwn2Own的绝对主力,更是一度蝉联“Master of Pwn”的称号。后来KEEN Team中的一部分成员加入腾讯安全成立科恩实验室(科恩即KEEN的音译),wushi担任负责人(技术级别T5,是腾讯技术通道中为数不多的T5大神之一),另一部分则由大牛蛙继续带领发展,国内著名的黑客大赛GeekPwn即是KEEN Team举办。
wushi曾经说过,科恩实验室研究方向的选择基于三个“能不能”原则:能不能持续提高核心能力;能不能影响一个产业或业务;能不能对目前的业务有所帮助。这三个原则也就是让研究工作与实际相结合做到学以致用,指导着科恩实验室走向胜利。
那么,我们来看看科恩实验室做了哪些工作:
参与国际黑客大赛Pwn2Own、黑客大会BlackHat、各类CTF比赛(腾讯eee战队了解下)及主办腾讯国际安全技术峰会TenSec、举办TCTF等,持续为公司业务提升品牌影响力;
在移动安全领域的研究主要是iOS越狱及Android root,奠定了移动安全领域的核心竞争力并反哺业务(KingRoot);
研究和破解特斯拉、宝马,探索车联网的安全风险进而开拓车联网安全业务,助力腾讯的产业互联网布局;
与内部安全团队展开深度合作,比如将移动安全能力支持内部安全系统(腾讯内部的金刚终端安全审计系统即整合了科恩的这部分能力)、联合实施产业互联网安全项目、联合举办会议/内部CTF比赛等;
……
我们可以看到,科恩实验室的研究工作都遵循了三个“能不能”指导方针,也是保证实验室的研究既能跳出当前视角布局未来又能结合业务需求输出绩效。当然,笔者管中窥豹,不及wushi大神思想之万一,只因当下笔在我手,各位读者权且听之。
当然,腾讯安全旗下还有另一位T5大神tombkeeper(人称tk教主)领衔的玄武实验室、顶级漏洞挖掘专家yuange(袁哥)领衔的湛卢实验室以及反病毒专家超级巡警创始人killer领衔的云鼎实验室等,都是非常值得学习的,请恕笔者挂一漏万。
二、思路探讨
学习完了先进案例,现在我们回过头来总结一下思路。
首先我们要想清楚安全研究团队的目标是什么。
安全研究团队肯定是需要结合业务实际情况对新技术新趋势进行预先研究,提前发现安全风险并且输出解决方案。这里的“结合业务实际情况”非常重要,作为企业的安全研究团队,我们要紧跟企业业务的实际需求才能让研究工作是有用的。一些研究项目太不切实际(或者说太超前),即使有成果但最终成果却在几年内都没法落地也只能束之高阁。基础研究自然另当别论。
因为研究团队往往会脱离工程团队的目标甚至本身就没有KPI,很容易走偏进入自娱自乐的境地,就像脱缰的野马,最终与企业实际需求脱节,这个时候就需要类似科恩的三个“能不能”原则来判断研究方向是否值得投入。
举个例子。
现在行业约定俗成的展现安全实力的方法是比较大厂商(如微软、谷歌、苹果)的漏洞致谢数量和国际安全会议(如BlackHat、DEFCON)演讲数量、发表技术文章以及安全工具。展现安全实力的目标是提升影响力,表面上看各个厂商只是刷个致谢榜,深层次各个团队还是会通过各种渠道把产生的影响力变现,这里的最终目标需要思考。
一个阶段做一个阶段的事情,笔者见过一个小企业的安全团队在自身的安全建设还有很多盲点的情况下,还不断的对外去发文章发工具刷影响力,明显属于东施效颦。
对于研究团队,工作职责本身是对新领域的探索,很难有量化指标,故采用传统的KPI方法进行绩效考核是不太合适的,不设KPI又似乎太天马行空了,可以采用OKR方法来制定和分解目标,实践证明OKR更能激发团队的创造力。对OKR方法感兴趣的读者自行搜索,在此不赘述。
其次是想清楚研究团队的组织结构。
笔者认为安全研究团队要脱离工程团队的日常运营,结合业务实际发展需求,能够轻装上阵比较纯粹快速的对某个新领域进行学习和研究,通过研究成果指导工程团队布局新领域。简单说就是研究团队负责发现新的安全风险并提出解决思路和概念证明,然后交由工程团队落地执行。
为什么要脱离工程团队呢,这样研究团队的目标能够更纯粹,不会受累于其他事务,所以能够专注去做研究有更多的产出,同时也能轻松进入新领域。
接下来就是人才了。
专业能力和兴趣缺一不可。专业的人很重要,特别对于攻坚突破的安全研究团队,可以说人的专业能力直接决定了事情的成败。所以我们要根据待研究领域的专业能力分类,招募具备或者有潜力具备这部分能力的人才。同时大部分时候研究工作又是很枯燥的,兴趣是能够长期坚持下去的主要因素。
天时地利人和之后,剩下的一切就交给时间了。要尊重客观规律,研究工作不是简单加大人力投入就能提速的。比如我们做的智能音箱安全研究,足足花了一年时间,也就是说一年时间内大部分时间里可能没有任何输出,团队心态要好,既要坐得了冷板凳又要抗得住聚光灯。
三、Blade前世
腾讯安全中心(现安全平台部)很早就有开展安全研究工作,只是当时部门成立之初,人员较少,主要工作还是在应急救火,所以安全研究工作都是兼职或者个人兴趣。
即使条件如此之艰苦,但是大家对安全的执着和兴趣是不变的(这就是信念)。当年涌现出一批不错的研究成果:炽天使的无文件无进程无端口的“三无”vbs木马、apple的虚拟解析执行JavaScript的网马检测技术、mango的主机配置安全基线以及lake2的flash CSRF(请允许我吹嘘和自我吹嘘)……最终这些成果都转化为了新的系统和策略,有的现在仍然在运行着。
接下来中心升级为部门后,重点工作是建设基础安全体系,安全研究工作仍然是兼职或者个人兴趣,安全人员的数量得到了提升,这一时期的研究成果比较丰富。
研究涉及安卓、iOS、GSM、伪基站、RFID、USB、NFC、BYOD安全等等,完成了终端安全审计系统“金刚”的原型,还找华强北的商家定制了具有自主知识产权的防盗刷钱包和安全USB数据线。当然少不了当时背后的一帮高手:
firewings(CCG成员,腾讯游戏移动安全负责人)、职业欠钱(美团基础安全负责人)、cradmin、xti9er(与ayazreo合著有《互联网企业安全高级指南》)、riusksk(泉哥,著有《漏洞战争:软件漏洞分析精要》)、gmxp、nicky(TSRC著名白帽子)、blast(《白帽子讲浏览器安全》作者)、Peter、龚老板、Xbalien、monster、popey、dragonltx、asky、樊少、do9yg、kimyok、wolf、zhuliang……
防盗刷钱包
除了以上,2014年大家当时明显感觉智能设备会爆发,所以最开始大家也对智能设备安全多有研究。稍微知名一些的智能设备都被我们一一破解,我们所在大楼的各种车禁门禁摄像头统统破解如入无人之境,饭卡里面的钱多得溢出(作为白帽子自然严格遵循法律只测试)。另外还组团参加了14、15年的黑客破解大赛GeekPwn,现场演示破解一系列智能设备,包括无人机、智能插座、智能烤箱、移动POS机、蓝牙门锁、智能摄像头。
团队在这些研究成果之上提炼出智能设备的安全开发经验并且制订了公司的《智能设备安全开发规范》,也对当时腾讯正在探索的如腾讯路宝、糖大夫、小Q机器人、微信相册、智能音箱等智能设备进行安全评测,及时修复了安全漏洞。
四、Blade今生
几经辗转,部门终于成立了一个专职的安全研究团队,可以真正脱离工程潜心搞研究了。研究团队不设KPI,采用全新的OKR管理方法,也结合业务实际需求重点对AIoT、移动终端、区块链、虚拟化安全、可信计算等几个新领域的安全问题进行探索,一般是进行预计半年到两年内能看到产出的研究项目。
经过一段时间的积累,年轻人们不负众望,威力爆发出来了,Blade已经具备量产大厂商漏洞的能力(如谷歌、苹果、亚马逊、高通),也在BlackHat、DEFCON、HITB、CanSecWest这样的国际安全会议中崭露头角。在不久前结束的BlackHat & DEFCON上就有Blade的5个议题,与兄弟团队科恩、玄武一起包揽了11个议题,不仅是本届议题入围最多的国内企业,也创下国内议题入围数量的历史记录。
腾讯安全十一大议题亮相2019年Black Hat & DEF CON(以演讲时间排序)
对于物联网安全的研究,其实就是之前我们对智能设备安全研究的延续,也就是智能设备本身加上端和云构成的网络。越来越多的智能设备接入互联网,特别是涉及到物理接触的设备,危害也从以前的虚拟财产损失到物理损害乃至人身安全,可以预计未来IPv6、5G、边缘计算等新技术普及后物联网设备安全漏洞的危害将会更大,黑产也会蔓延到这一块来。
物联网安全的问题主要来自四个方面:终端、控制端(比如手机APP)、通信协议、云端,万变不离其宗,其中大部分是传统安全工程师可以搞定的,比较新的是对硬件的分析,还有引入的新的通信协议(类似ZigBee、LoRa、NB-IoT这些),我们的安全工程师们也要不断的学习努力做到全栈(nicky同学为了拆芯片提固件,专门去著名的深圳华强北找老师傅学习焊接)。针对这四个方面去找问题就能发现实现上的漏洞,同样针对这四个方面去做安全防范,也可以解决绝大部分漏洞。
基于这个思路,团队发现了谷歌、亚马逊智能音箱的漏洞,我们都分别提交给了厂商的安全团队,均已修复。同时小米安全中心、华为PSIRT也主动邀请Blade参与安全众测。可以看到,大厂商都非常重视自身产品的安全,对用户来讲这是个好事。顺带提一下,小米、华为的安全奖励计划大家可以去体验下,我们的体验的结论是还不错。行文至此,腾讯安全应急响应中心及漏洞奖励计划也必须提一下。
同时在泛物联网安全上,我们选择的是智能楼宇。近水楼台先得月,号称满满黑科技的腾讯全球总部深圳腾讯滨海大厦成为我们的测试对象,同样发现的安全风险已经让供应商修复。我们在物联网安全领域的一些技术积累也依托腾讯云进行输出,助力产业互联网。
近几年AI比较火,其应用也比较广泛,它的安全问题同样值得关注。AI安全问题主要分两类:一个是自身算法的问题,这个是新技术引入的新问题,常见的如给图像覆盖一个图层或加入某些干扰点导致AI识别错误;另一个是来自传统安全的问题,比如图像识别系统对异常图像处理时出现内存型安全问题;另外还有一类算是新的趋势,即AI技术被黑产利用,现在看到的有利用CNN破解图片验证码以及通过照片模拟生成3D动画绕过活体认证。
谷歌的TensorFlow框架是一款使用广泛的机器学习框架,因为其使用广泛,Blade对它进行过深入研究,团队成员cradmin(当时刚从服务器安全系统“洋葱”运营转到blade做研究,后成为技术负责人)发现了TensorFlow处理模型文件的一个缺陷—— 只要系统使用了黑客恶意修改的模型就会导致系统被直接控制。我们想把漏洞报告给官方的时候才发现TensorFlow还没有漏洞响应流程,于是还帮助官方建立了这个流程,并包揽了它的前8个CVE。
新华社记者听说团队发现了人工智能框架的漏洞,就想要来采访,于是团队得有个名字。笔者与gmxp(前技术负责人、现华为云安全专家)、juju(运营负责人)商量了许久,最后由老板coolc选定了名字“blade”。blade的中文就是刀锋的意思,就是希望研究团队能够像锋利的刀一样去发现问题。由是知名。《古剑铭》里有云:轻用其芒,动即有伤,是为凶器;深藏若拙,临机取决,是为利器。
区块链是新的领域,我们对区块链业务本身进行安全研究(腾讯的区块链电子发票了解一下),还开发了一个智能合约安全审计系统。
随着云平台的普及,虚拟化安全必然会成为攻防必争之地,Blade也迅速对该领域开展研究,不仅快速发现和修复了自有云平台的漏洞,还发现广泛使用的开源虚拟平台QEMU/KVM的虚拟机逃逸漏洞。这部分还在深入研究中,预计不久你将看到这里的成果。
在新的业务发展中,我们也享受到了过去的红利 —— 评估很多新业务的时候发现都是已经具备的知识,比如智能音箱、人脸支付智能硬件设备、基于NFC的微信乘车卡小程序……当然,更多的技术挑战还在前方。
作为腾讯的安全团队,Blade是非常理解厂商被外部发现漏洞的心情(简直是感同身受),所以我们是坚决秉承负责任的漏洞报告流程的,发现的漏洞全部报告官方并协助修复,无数像Magellan、CVE-2018-20506、Columbus、XCodeGhost、QualPwn这些可能引起互联网腥风血雨的基础设施漏洞都被Blade无声的化解了 —— 向无数的这样默默守卫着互联网的白帽子英雄致敬!
除了在网络世界默默守护,Blade也走到台前给非专业技术人员以及普通用户展示安全风险,提升大家的安全意识,为企业社会责任和科技向善尽一份绵薄之力(比如参与腾讯技术周、T-Day、Code大赛等活动),这部分工作还要感谢公关、人力资源及行政团队的支持。
五、后记
致敬每一位正义的执着的安全技术追求者。
声明:本文来自腾讯安全应急响应中心,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。