企业IT部王森:腾讯企业终端安全管理最佳实践
8月29日,2018网络安全分析与情报大会在北京新云南皇冠假日酒店正式开幕,本次大会由国内威胁情报领军企业微步在线主办,十数位来自政府、央企、金融、互联网等一线公司的安全专家将对威胁情报的落地应用进行多点发散的深度剖析,来自国内外顶级安全公司的学者、研究员也将根据全球威胁态势,结合自身业务分享最新溯源对象和研究成果,拓宽网络威胁分析的时间空间跨度,与参会者共同探讨威胁情报应用落地的典型行业、场景和解决方案。
腾讯企业IT部安全运营中心信息安全组组长、高级工程师王森出席本次大会,并在会上发表《腾讯企业终端安全管理最佳实践》的主题演讲,以下为王森演讲全文:
今天我的分享主要有三个内容:腾讯这样一个体量的互联网企业日常面临的安全风险和挑战都有哪些,在座的各位专家是否也有共鸣。腾讯经过十几年的安全建设,应对这些挑战的时候实践的理念是什么,这些理念和思路在有些企业没有办法快速落地,腾讯通过自己的技术积累有什么成熟的产品可以输出给行业帮助到大家。
这里列出了腾讯内网的三大安全挑战:
首先是钓鱼邮件,2016年一直到今年,整个行业面临的钓鱼邮件态势应该是差不多的,非常严重的就是勒索软件,其实勒索软件的鼻祖级家族:locky,对腾讯的攻击是最严重的,基本上就是不计成本、非常蛮力的方式,一天当中峰值收到locky的攻击邮件可以达到几十万次,而且一天可以完成多次变种,doc变成js等等。另一种是高级后门,我们同样也会收到这种钓鱼,这种攻击基本上是小范围点到点的,比如Adwind家族,还有Formbook是一个外国的木马家族,其实它也是紧跟着最新的安全对抗技术,比如去年Office DDE和OLE Link漏洞出来后,Formbook马上会用最新的漏洞投送。帐号钓鱼也有很多,比如模拟高管对敏感岗位的钓鱼,一个钓鱼邮件内容可能会模拟pony说“帮我看一看这个帐号怎么回事”,点击进去的话就是让你输入帐号和密码。
再就是军工木马,行业当中有些比较高级的后门和所谓的0Day都是掌握在职业黑客手里,但16年以来,HackingTeam、方程式组织等职业黑客团队的黑客工具在互联网被公开以后,这种军工木马平民化的趋势也是越来越严峻,黑客团队又会针对这种软件供应链展开攻击。比如Xshell后门,它是采用DNS隧道激活和远控,同时是隐藏在Xshell的一个合法DLL模块中,可以想像一下,如果一个企业开发或者运维使用这样被植入过后门的软件去登录服务器运维的话,它的威胁是非常严峻的。我们也有遭遇到一个中国的职业黑客团队,采用的通讯方式也是类似于DNS隧道,但利用偷盗来的合法数字签名,同时又采用全内存化的运作方式,白加黑启动,隐蔽性也非常强,这是军工木马的攻击态势。
广谱木马,我们一年大概会发现五千多个广普木马,比较常见的有广告和蠕虫,最近两年比较多的是挖矿。
除了应对上面的威胁,腾讯的终端管理还要考虑一些其它的内容。比如我们的业务腾讯云、微信支付、游戏等等,要在国内或者海外进行业务上线推广的时候要符合当地的行业法规要求,所以我们的终端管理和内网安全就要针对当地的法律法规来做一些定制化,比如国内的等级保护,国外的PCI以及欧盟新推出的GPDR。如果我们不做这些事情会怎么样呢?一旦内网发生了数据泄露,不仅仅是用户信心丢失,监管层面也会有天价罚款,比如GDPR最多会罚到企业一年百分之四的营收额度。
另外,企业的管理层,比如CIO、CSO这种级别可能会想知道内网有多少终端,有多少windows、多少mac,都是谁在使用,有没有被黑客入侵等等,这种摸底的需求也是我们需要去支持的。
要应对前面讲的风险挑战和管理要求,我们认为有三点是最重要的:首先是高可见,只有对安全数据的高可见才能通过数据掌握全网。发生安全事件的时候一定要有急速处置的能力,第一时间将风险隔离出去。通过云管云控给用户一个比较轻量的客户端,同时又可以灵活地部署。
我们只有通过高可见,才能发现黑客入侵内网整个过程的痕迹。比如黑客入侵过程当中会在我们的出口和终端还有网络、服务器上面留下痕迹。比如利用钓鱼软件或者网站投毒的时候会在网关留下恶意代码痕迹,员工在终端上面打开恶意文件,触发shellcode执行,也会在终端留下一些痕迹,然后shellcode去云端拉取后门,后门通过HTTP/DNS/ICMP等隧道的方式进行远控,也会在网络上面留下痕迹,然后通过拿下的PC又进行层层的内部渗透,通过扫描入侵关键终端和服务器,比如渗透AD、OA系统等等,也会在服务器上面留下痕迹。
要想发现这些痕迹必须要有高可见的能力,具体来说高可见包括两个维度:首先是数据的广度,就是对数据安全分析的种类和维度够不够广。腾讯内网每天搜集的安全数据大概是四百五十亿左右,包括两百多个数据维度,比如我们的应用帐号、互联网出口终端。其次是数据的深度,比如刚才说的中国的职业黑客使用的这种木马是没有文件落地的,就是全内存运作,这个时候如果检测还是停留在文件级别是没有办法发现它的,需要把我们的检测下沉到API,看一看内存当中怎么进行系统调用的。
比如Xshell后门,网络层面采用的是DNS的隧道通信,一般企业对HTTP、TCP都会监控得比较好,但基本上认为DNS udp53的通讯请求还是合法的访问,没有这方面的监控规则,所以黑客利用这种工具和我们对抗的时候,我们是没有办法发现它的。
再如Powershell后门在13年被Fireeye曝光以后,这种后门目前非常流行,越来越被黑客青睐,因为它的能力非常强大,同时又是Windows的合法组件,我们的杀毒软件没有办法通过签名、文件检查这种方式识别,所以我们可能要看Powershell执行的日志和函数,要看它调用的系统函数有哪些。
有了这些数据的深度和广度分析,我们需要通过一种可视化的能力把风险推送给安全人员,安全人员可以知道出口出现了什么攻击事件,有多少扫描在内网发生,然后把这种风险分成高中低的级别有效地处置。可视化背后是需要一系列强大的后台支撑,比如大数据计算的能力、机器学习的能力等等。可视化还可以帮助我们安全决策者们第一时间知道我们面临的主要挑战都有哪些,是否需要追加资源辅助进行安全决策。
具体到终端层面,做到什么程度才算是高可见能力达到了呢?我们就拿一个APT木马入侵的过程来分析,一般分为三个步骤:首先是要进来撬门,然后通过完整的后门站稳脚跟,最后就是窃密。进来的时候无非使用两种手段:一种就是通过应用和系统的漏洞,比如常见的IE的UAF漏洞,或者系统的远程代码执行漏洞,另一种可能会利用漏洞的触发技术,比如堆喷或者ROP等,结合这两种技术可以达到执行黑客指定的shellcode执行。其实,漏洞攻击时内存里面是有痕迹可寻的,比如堆喷可能会导致内存空间急剧增长。行业当中已经有很多成熟的工具帮助我们应对这种漏洞利用的攻击,比如微软的EMET、最新的Windows10专业版集成了exploit Guard组件,加上企业及时打补丁,百分之九十的漏洞攻击在这个阶段是可以被杜绝的。
到了第二个阶段,执行shellcode后,shellcode只是一个敲门砖,执行后无非为了让终端感染一个完整的后门木马,常见的方式有2种,1通过互联网下载一个完整木马,比如通过powershell WebClient拉取一个远端木马下载,2直接释放一个小马、比如伪装成txt的一个dll或者exe,这个dll或者exe被拉起来后,会进行explorer等注入、提权、进一步下载更多攻击模块等,变成一个完整后门。这个过程,完全在内存中进行,我们就需要监控Powershell的执行、DLL拉起、注入行为、文件释放等API行为。
第三个阶段,后门窃密,一个完整后门,会具备多种窃密能力,一个后门具备密码、剪贴板、cookie、键盘等多类窃密能力,我们统计过,大约需要40-60个底层API才能完整的监控常见的窃密行为。
木马会有多种不同组合技巧来进行漏洞利用和提权驻留,一旦完成,它肯定会原形毕露做坏事,就是进行窃密,所以窃密监控是非常重要的。
举个窃密的例子:行业非常流行一款企黑客工具,mimikatz,可以在终端窃取多种类型的票据,比如密码、ntlmhash、Kerberos、AESkey等等,甚至可以通过这些窃取的票据,直接入侵AD,获取域控权限,我们看一个典型的PTH攻击,在API层面的表现:
1、提权:需要获取系统权限,或者精确说需要一个debug权限,才可以对核心系统进程进行访问
2、获取凭据:通过以高权限的方式访问lsass进程,用户的票据存在这个进程的内存空间,调用系统解密函数,可以窃取本机和域上的用户票据,票据就是访问各种资源的凭据
3、伪造身份:通过获取的ntlmhash、AES key等票据,可以进行伪造身份登录,比如伪造成pc管理员甚至域控管理员登录,然后可以直接入侵AD
如果我们要监控这种pth窃密行为,就需要监控sedebugprivilege的提权行为,高权限访问lsass进程的行为,以及模拟用户登录的行为。
话说回来,正常的进程也会有这种窃密的行为,IE浏览器也会监控用户的键盘输入,包括用户安全软件也会注入系统进程,应该怎么办呢?需要降低误报,我们的做法就是类似于评分模型。
我们会实时监控一个程序的行为,累积一定的信用评分,在一个程序实施了多个高危操作后,拉响警报。比如一个进程可以有网路访问,也可以在特定情况下获取高权限,甚至来获取键盘记录,但只要他又做了明文密码盗取,这个信用评分立即达到报警阀值,标识成恶意程序。综合这些来看可以降低误报,同时还要考虑父进程、子进程,把整个进程树一起串起来进行评分,基本上可以把误报降到最低,分析维度也是以天、月这样的跨度。
通过上面的分析,这样就比较自然的可以得出一个分层、分时的检测体系:
1、基于已知特征的、单维度的检测:比如hash、pe、证书、c2、url等,这些检测引擎可以有多个来源,比如腾讯自有的电脑管家、业界的多引擎、管家的TAV、包括情报厂商提供的IOC,此类检测通过单一维度就可以报警,可以发现绝大多数的广谱木马,比如流行的挖矿、勒索病毒等;黑客的绕过成本很低,随意编译一行代码就搞定了,所以对于一些高端入侵,这种情况很难对抗;
2、基于行为特征,多维度的检测:分析多个维度的数据和行为,综合做一个评分报警。比如对读写敏感位置的注册表和文件、加载异常DLL、窃密API、异常的内存行为等进行监控,可以发现绕过杀软的一些高级样本,变种后门,比如我们内网会发现一些隐藏很深的挖矿后门(以插件形式存在),甚至一些黑客工具比如前面说的mimikatz等;
3、最后是基于大数据分析的上下文、时间窗的行为评分:这部分对潜伏很久、动作很小的军工木马比较有效,这些木马不是落地就进行各种破坏、敏感操作,而是动静很小,甚至不做操作,只是搜集上报信息,我们遇到过进入内网潜伏一周后,才触发执行远控上线,而且是通过释放多个作恶文件来进行,所以需要关联家族、父子关系等才可以揪住。
针对情报我们是怎么看的?我们认为情报可以帮助企业加速应对行业当中出现的新型病毒布防速度和能力,比如我们所在的行业,如果黑客拿了一个新型的木马病毒攻击同行,这个时候情报供应商监控到了以后可以通过情报共享的方式同步给我们,内网再通过一系列的联动下发给终端的监控,或者下放到网络和出口防火墙,直接提前布防,如果黑客再拿同样工具攻击我们,我们已经具备了监控和防御的能力。
我们认为一个好的情报是有三个方面的特性:情报要是比较开放的,因为腾讯经过这么多年的建设,形成了以自研产品为主的安防体系,如果情报还是一个黑盒产品没有办法和腾讯的安防体系有效对接,进行工程化和自动化融合的话,我们就用不了。我们认为情报应该是比较高效的,给到腾讯的情报应该是在十五分钟到三十分钟反映出来这个行业最新的病毒和木马,如果超过这个时间的话就没有多大价值了,因为腾讯往往是新型病毒木马攻击的第一梯队。我们认为情报的质量非常重要,情报可以有效反映比较高的威胁,不能有太多的误报,我们会有情报的评测库,这里面包括了最新的APT家族,还有一些最新的漏洞利用工具,可以说是少数人才有的库,如果情报对这个库的检出率比较高,我们可能会认为它的质量还不错。
有了情报,我们还需要依靠一个强有力的运营来保障。打个比方,一个平民拿着一把装配精良的狙击枪是没有办法打出职业军人那样百步穿杨、千里之外取敌人性命的效果,关键就是看这把狙击枪怎么用好。
比如出现了一个沦陷指标IOC的报警,我们的团队首先找到报警的机器负责人问是不是他做的,如果确定是他做的肯定是误报,因为腾讯内部有很多安全人员在做分析,同时会有一些安全类的文章提到类似的样本,这些都会触发情报的报警。我们要排除这部分误报,然后就要分析访问对应的进程,看里面是不是有些恶意DLL的挂载,是否有shellcode等,只有做到这样的分析我们才能定性,这个IOC指标的报警到底是误报还是入侵。
极速处置,大家看到我这里列的处置时间比较紧,5、15、30分钟,因为我们遇到职业黑客可以在三十分钟内把一台PC所有的敏感信息拿到,包括密码、内网IP,可以在一百二十分钟内通过拿到的信息对多台PC和服务器入侵,然后把服务器的信息打包出去。经过这么多年的建设,腾讯可以做到五分钟以内把全网的安全数据上报,十五分钟以内通过大数据的分析和海量的专家规则把风险识别出来,三十分钟以内,通过各种平台工具让安全人员把风险第一时间隔离,这也为后面的一两天争取更多的时间,可以分析黑客是怎么进来的,偷了什么东西,我们的对手是谁等等。
我们还有一个比较高的要求,就是对内网终端有一个比较高的覆盖率和策略执行率,腾讯内网有十万台的终端,百分之一的策略没有覆盖到的话意味着一千台机器都是监控盲点,我们这两年的工作重点就是提升零点一个百分点,这样才能跟黑客对抗的过程当中做到全面的普查和清理。
通过云管云控的方式实现轻量级的客户端,简单来说客户端只做两个事情:一个是数据上报,一个是云端的策略执行,这跟传统的安全客户端不太一样,传统安全客户端可能是本地的安全检查执行完了才会上报。
所以,我们的客户端就比较轻比较快,可以做到三秒钟以内让我们的机器从外面接入进来,运行的过程当中只占CPU的百分之一,所以我们的员工是感觉不到终端上有这样的客户端在运行。
另一个是把计算量比较大、数据量比较大的胖的DATA放到私有云进行深度检测和态势感知,然后把数据量和计算量比较小的DATA放在公有云,这样可以实现灵活的架构部署,同时也照顾了用户体验。
腾讯通过大概十五年的安全建设经验沉淀出了比较重要的四款产品:
1、iOA,腾讯内网的PC上面都安装了IOA,它可以支持Windows和Mac,支持终端的防黑加固和APT入侵检测。同时可以和杀毒软件管家进行有效联动,当然也可以跟其他的杀软联动;iOA也是国内首家自研支持MAC入域、安全加固和入侵检测的客户端,可以比较好地满足企业员工的自带Mac设备办公的需求。
2、我们还有一款MDM的产品ITlogin,它是以SDK的形式嵌入到移动办公APP当中,它不需要安装高权限的证书,所以企业的管理者不必担心员工有这种隐私的顾虑,每天通过ITlogin登录的设备有十五万台,它除了可以进行统一的权限验证外,还可以对设备进行远程管理,比如设备丢了以后可以把上面的企业数据远程抹掉,同时回收用户的登录权限,保护企业数据不丢失。
3、第三款是企业云盘,为了公司资料的安全,我们推出企业云盘,即满足员工云存储的需求,也可以满足员工在职场内、外,在PC和移动端进行便利获取云端工作文件的需求。
4、在腾讯内部有一个具备丰富安全大数据的云端,叫TSOC。它收集企业终端、内部网络、应用,以及行为数据,数据进到TSOC以后,里面有对抗模式、专家规则、机器学习,发现问题和风险。通过态势感知将我们的风险可视化,第一时间给到企业安全人员去收敛风险,帮助企业高层管理者对安全风险进行决策。
我们认为腾讯这4款产品对腾讯的企业安全,有非常重要的意义。