00:09
各位朋友大家晚上好,欢迎来到由腾讯安全、腾讯产业互联网学堂联合举办的产业安全公开课,我是公开课的主持人出,我们的公开课将在19:05正式开始,大家可以扫描屏幕下方的二维码进群互动。今天的公开课我们设置了抽奖和答疑的环节。在嘉宾演讲结束后,主持人会说出抽奖口令,大家在群里发送口令并进行,同时也鼓励大家踊跃的提问。在最后答疑环节,被抽啊专家们会对大家的问题进行抽取回答,被抽取到的朋友可以获得更加丰富的奖品。所以欢迎大家踊跃参与。
01:01
没有扫码入群的小伙伴可以呃扫描左侧的二维码进群参与互动。好,我们看到现在群里面有非常多的同学也参与了。扫码进来了。我们稍等几分钟。
02:02
好的。各位朋友大家晚上好,欢迎来到由腾讯安全、腾讯产业互联网学堂联合举办的产业安全公开课,我是公开课的主持人。今天我们探讨的话题是大家都比较关心的漏洞,这年来相信大家都有深的感知,全的网络安全形势是越来越严峻,零呃N漏洞层出不穷,黑客攻击的手段也在不断的升级,与此同时,我们国家也密集出台了网络安全相关的法律法规,为企业经营划出了红线。就在昨天,环境办也发布了关于向社会呃提出网络安全法征求意见的修改网络安全法征求意见的通知。所以很多我们也越来越认为安全是企业发展的底座,需要把它当做一把手的工程来建设。
03:02
腾讯安全作为国内领先的安全厂商,也希望通过输出安全产品和攻防经验来帮助企业建立完善的安全防护体系,堂时数字化转型的安全底座。所以今天我们的公开课邀请到了两位重量级的安全专家,尹亮老师和赵中老师,尹亮老师他是获得过的,然后赵中老他也有十多年的安全行业从业经验,今天他们作两位老师会针对新型漏洞威胁。这个话题带来防护经验和一些深度的洞察。好了,话不多说,接下来有请我们第一位。分享嘉宾尹亮老师带来宝期间新型漏洞攻击案例拆解的主题分享,在分享前也想请尹亮老师先跟大家介绍一下自己,有请尹亮老师。
04:07
先开始。呃。呃,大家好,嗯,我是尹亮,然后来自。云安全产品中心呃,下面由我来分享中保期间新型漏洞呃,攻击案例拆解。呃,今天抛抛砖引玉,主要是抛这我一二三四一共四个砖头,然后最后再发一个离魂,问如何保障业务安全。呃,首先是第一个案例,呃呃,Logo漏洞。这个漏洞我相信大家都有所呃,各种业务啊,运营软件啊,在正常运行时都会或多或少的去打一些日志,记录一些关键数据。如果街,它是阿发奇的一个开源项目,它是一个功能非常强大的志组件,提供很方便的日志记录功能。
05:03
因此附被大量的企业和系统使用。呃,另外根据统计,开源组件里面有近2万的项目使用存在活街漏洞的模块,所以这个漏洞的影响面非常广,是一个核弹级的漏洞。这是logo附件漏洞攻击流程的一个示意图。攻击者访问了业务的某个URL,在右呃A种中夹带了用于攻击的字符串。呃,美元符号大括号jlp com。呃,业务代码在处理这个请求时,通过调用logo附件相关内核方法把这个user的内容打到日志里面去了。当然了,在实际工作中,根据业务自身的运行机制,运作工具的这个字符串可以出现在任何地。比如说用户名啊,URL等等,只要能够打到日志里面去就行。那个货机内部有自己的一套处理逻辑。
06:00
当他发现当前要处理的呃呃,处理的字符串里面有这个每月符号加大括号十,然后就要出了。嗯,他会把后面的GN提取出来,把剩下的LP字符串送到。G Di的处理流程里面。这个时候就进一步进入到Java里面的L的处理流程中去。LDAP是设计用来访问目录数据库的一个协议,里面以数的形式存储了各种数据。Java发现当前是LP,就去访问攻击者控制的这个L服务器。com,嗯,去查询这个是个啥。然后攻击者控制的LTP服务器就会返回查询结果,这是一个HTTP链接。Java根据这个HTP链接又去请求攻击者控制的HTP服务器下载到了攻击者预先编好的内存码文件,然后把这个class给加载起来。里面的ae代码也跑起来。
07:01
在注入内存码之后,然后就控制了整个服务器。后续攻击者可以实现任意命令执行,也可以窃取服务器上的敏感信息的。这是整个的一个跟进流程。嗯,作为一个安全研究者来说,假va的治疗机制真是让人吐槽,没有什么教验,然后就从一个ul里面去下。也没有什么经验,就把这个class给架子进来,完全就是把服务器的大门给黑客呃敞开了。呃,好在Java也意识到了这一点,然后在2018年JDK18的191版本开始对LP的这种加载远程内做了限制。嗯,禁止加载,所以如果灯刚爆发的时候,安全厂就在号召大家去打稳定啊,不了稳定的话就紧去升级。嗯,虽然漏洞还在,但是在高版本的JDK里面,呃,至少不会去加载,远程内也不会去执行恶意代码。
08:02
那个攻击流量包里面有一个很重要的特征,就是这个美元符号加大括号,后面跟个j Di和LP,市面上有看到这个特,然后就然后出胸脯就对说啊,这个我已经你们管了。但是实际上呢,稍微绕。另外,我们在研究中还发现,市面上还有的ru,他自己就带了一个有用的logo破件去打日志,这个漏洞防不住不说,反倒自己把漏洞应该引进来的,这不害人吗?后面是哥会介绍我们自己的引擎,大家可以对比看一下,我们是周宝的量。所以大家在选安全产品时,一定要选技术能力雄厚的腾讯的产品安全保障。刚才也提到了,Logo内部有自己的一套处理逻辑。冷源符号加大括号后面跟n Di,那就是n Di的处理逻辑,但logo学里面它不止n Di这一个。
09:05
还有一堆其他的,我掐指一算出来大概有十多个吧。呃,这里只列举了其中一部分。像处理系统环境变量的,因为它会去读这个na这个变量。系统环境变量里面本来就没有,所以这里是就是空的,然后就还原成干干净净的尖的。当然了,后面的这个na可以随便去填一个字符串。只要它不在系统的环境变量里面。业务有自他自己的一套处理逻辑。从什么地方拿数据,拿到数据之后怎么变化,怎么处理,我们事先是很难的。如果业务采用了fastson处理数据。他还会,呃,把UD的编码还原成JD。另外这里面还有处理大小写的,有处理日期的,有处理系统属性的。
10:03
这些处理的最终结果都是干干净净的。所以后面的这个冒号加横杠是一个负值关键字处理的结果,呃,就是把冒号加横杠去掉。他俩之前的字符串也会被舍弃掉,是保留右边的字符串,所以这种结果也是会处理成干干净净的g n Di。呃,这些并行操作可以的去排列组合。可以把这个g dilp这八个字母变成个五花八门。绕普通的挖一看就是死机退出的那种。嗯,然后就可以愉快的去触发L流程了。所以这里还是建议大家在日常运营过程中还是尽量的勤勤到的去打个补丁,一有高危漏洞就把对应的组件然后更新到最新版本,不要让攻击者有机可乘。
11:03
下面介绍第二个案例,呃。呃,文件上传攻击。这是文件上传的一个示例数据包。第一是上传类型。我们通过网页点击啊,远程服务器上传一个文件,需要带很多种类的数据,例如文件名啊,文件内容啊,所以这里type指定的就是form data,顾名思义多个部分。那每个部分怎么区分呢?由第二个这个boundary来指定。王,后面的内容就是用来做分格的,从第三我们可以看到前面加了两个横杠。呃,这个就是用来做风格了。第四,这里指定了文件名。第五,这指定了当前这个部分的类型,呃,这里是plan这一部分,也就是文件内容。第六是一个结束行后面,后面跟着两个横杠,指明整个这个传数据包的结束。
12:08
呃,在重保期间,我们通过信息收集获取到某个管理系统的地址。是个登录页面,呃,可以用匿名手机号注册用户,然后登录上去,登录上系统之后发现其中某个功能点存在文件上传漏洞,然后直接上传一个JSP,发现被拦截了。呃,黑色这里可能就存在一个。然后就开始准备绕B。这些是文件上传必备的,这也是PHPGO这些外部服务器必须要处理的。智能在RFC规范里面对boundary file做了定义,常作内容等等,但实际上这些外部服务器并不完全按照C规范去解析,各自搞各自的,对字段的处理就有区别了。然后我们的重点在于构造呃出挖无法正常解析但是后端却能够正常解析的文件上传数据包。
13:09
我们这里拿boundary各种变化,各种测试。呃,最终绕过了这个挖府的防护,成功的上传了一个JSP。下面介绍第二第呃第三个案例,内存码注入传统的他们开始类存码大概致可以分成三类,呃,分别是listen filter,呃,这这三个也正是Java微博的核心的三大组件。Listen是监听器,Filter是过滤器,过滤一些非法请求或者不当请求。一个外部应用中一般是一个非链,然后他们开始会依次调用我们链里面方法。Serve是最基础的控制层组件,用于动态处理前端传递过的请求。每个serve都可以理解成运行在服务器上的一个价格程序。
14:05
他从他们开始的web容器启动开始,到服务器停止并调用它的结束。一个请求在处理流程中会依次通过filter。S码的核心原理就是动态的将恶意的组件添加到正在运行的快的服务器中。在请呃请求处理的流程中,然后就会触发内存码的执行。承接上文提到的文件上传漏洞,我们直接上传了一个G内存码去访问执行。然后尝试在里面注入内存码,然后发现响应页面404了,由此推测可能服务器上存在某个RA,可能被他拦截到了我们的内存码,注入这三种类型的内存码被拦截了,嗯,但是其他类型的。当他们开始接收到客户端请求时,会首先使用connect进行解析,然后发送到connect进行处理。我们的消息通过他们开管道机制在这四类容容器中层次传递,这里面就涉及到管道和阀门。
15:10
阀门可以用来在管道中实现各种功能,它可以动态注册,也能呃,用于实现类似么?另外还有web socket,就是最近出现的一种什么。呃,Server endpoint是Tom实现web的服务器的端点,通过调用a endpoint函数可以注册呃,一个新的webir服务端点。攻击者可以利用这个特性来实现将恶意的呃,Serverpoint那对象动态的注册到Java web服务器中,实现类似的注入。不一定。呃,通过这两种类型码,我们成功的绕过了某个拦截。顺利注入内存码,为后续操作提供了便利。下面介绍第四个案例,在高版本的conference下实现O2表达式的注入。
16:06
开放是一款专业的企业知识管理与协同软件,用于构建企业微体,关注团队成员之间实现共享信息、文档操作及其谈论。信息推送,它的使用非常广泛,已经在超过100个国家、一万多个组织中成功的应用于企业内网平台、知识管理及文档管理。呃,在周末期间,我们发现,呃,某个公司把自己的conference暴露在了外网,通过探测发现他的补丁打的不全,存在CVE202226134漏洞,这是一个ngogl表达式漏洞,历史上conference在其他地方也出现过这个类型的漏洞。呃,我们找了一个公开的通用的可以回显的命令执行漏的这个配漏的解释一下,它的首尾是两个斜杠,这个整个呃,其实是URL里面,嗯,末尾的一段。
17:03
Conference的这个漏洞,它是把两个斜杠中间看作是一个。当发现这个name space以美元符号和这个大括号开头时,说明这是一个表达式,然后就拿去解析。这些解析啊,就出问题了。它的本意是取个变量什么的,然后好拼出实际的值。但实际上,欧表达式的功能非常强大。它可以存储对象的任意属性,这对象的方法,这玩意儿就跟直接写加吧一样的,几乎啥都能干。在这个里面,呃,就是调用了Java里面的run time。然后直接ex就能起一个任意命令,然后再把命令执行的结果写回response,然后我们就可以知道命令执行的怎么样了。我们再把这个配乐德打过去之后,发现失败了,什么东都没有,呃,后来发现他的版本还有点高。
18:04
在版本7.15开始,嗯,加了一个沙箱。在执行O金额表达式之前,会通过expression来判断O金额表达式的安全性。它里面会去拆解这个表达式,然后拆成一个数,然后检查数里面的每一个漏斗调用的静态方法,我们的属性变量,常量啊,都会去过这个黑名单。而我们这个Java now,呃,Runtime刚好就在这个黑名单里面,然后整个就执行失败了。然后我们就是,然后我们就去想,然后怎么去绕他的这个检查。通过调试分析发现他这个检查其实有点弱。它是一种静态的检查。刚才提到过,O表达式的功能很强大,我们可以可以用动态的方法去绕它的这个静态的这个检查。有很多种动态的方法,然后这里介绍两种。
19:03
Java time这整个字符串是在这个黑名单里面的,那实际上我们可以把它拆成两个字符串。一个Java,一个no。在静态检查的时候,这加va它是不是在黑名单里面的,这个那点也不是在黑名单里面。然后这样就绕过来检查。最后在动态执行的时候,因为中间有个加号,所以O型的解析引擎会把这两个字符串给拼接起来。拼成了完整的now Java。然后通过调用class for name,这样就可以把这个类给正式的load进来,然后就可以继续eec任意一个命令了。右边的这个,它本质上也是字符串的拼接,这个把字符串拆得更加彻底。直接把Java拆成一个个ask字符,你像这个JJ的ask嘛,是106,这个A的是97 V是118。
20:09
这里面通过不断的去调用string生成,然后再把自做拼接,最终也是拼出了完整的Java。呃,然后这个案例是讲怎么组建自身的防御机制。刚才讲的四个攻击案例,我只介绍了其中一小部分的这个绕过思路方法。然后在互联网上还有很多躲在暗处的攻击者,他们带着漏洞配漏的呼啸而来。他们也有自己的一套或多或少不为人知的思路、方法去绕挖绕绕组件自身的防御机制实施攻击,给我们云上业务带来巨大的威胁。在不重启业务,不影响业务正常运行的情况下,怎样去精确的抵御漏洞带来的威胁,怎样去堵死攻击者各种照顾的可能性呢?
21:00
呃,通俗点说,哎呀,这个打补丁太麻烦了,我就不想打,我把这个漏洞了吧,怎么办呢。你记得?嗯,谢谢大家。好的,感谢尹亮老师的精彩分享。刚才尹亮老师。分享了关于呃,我们四个比较典型的一些漏洞。好,接下来我们会有一个抽奖的环节,环节。大家对于尹亮老师的分享有进一步想要解答的问题,也可以在直播间或者是交流群里面留言,老师会抽取几个问题在最后的答疑环节进行回答。现在的话,我们在呃小助手已经准备好了,行,我们一的,我们是在里面发抽口令,然后抽取第六位,第16位,第26位发送口令的朋友,送出我们腾讯定制的Q虎系列的公仔,还没有群的小伙伴可以扫描呃左边的二维码参与互动,也可以添加右边小助手的微信呃进群咨询。
22:21
那么我们今天的口令是刚才亮老师最后的一个报,不知道大家有没有看到最后的,呃,我们的口令是引擎零防护,快人一步。我再念一遍我们的口令,太始引擎零防护,快人一步。
23:15
好,我们要进行倒计时,54321好结束,我们的小助手帮忙看一下我们直播间的,呃,我们。微信群的第六位,第16位,第26位发送的朋友是哪三位呢?然后呃,其实是呃,每个人的网络速度可能不太一样,呃最最终的这个发布的顺顺序还是以我们小助手这边的截屏为准。看到大家互动都非常的活跃,其实没有抽到的朋友不要灰心,在接下来的老师分享之后,会有一轮抽奖的活动,并且呃,对于大家提出有思考有呃比较有价值的一些问题呢,我们的专家也会进行解答,那么抽抽到的这些朋友会送出更加精美的礼品。
24:13
好的,接下来我们有请今天第二位分享的嘉宾,腾讯安全技术专家赵忠树老师带来腾讯的漏洞防护新思路的主题演讲,看看在新的攻击层出不穷的背景下,传统的防护方案有哪些缺陷,腾讯内部的漏洞防护新思路又是什么呢?在分享前也想请赵老师跟大家介绍一下自己,有请赵老师。嗯,大家好,呃,我叫赵东树,是来自于腾讯云原生产品中心的,然后接下来由我给大家分享我们腾讯漏洞防护的一些新思路。呃,本次分享主要分三个部分,第一部分就是介绍我们那个漏洞防护的一些背景,然后第二部分就是重点介绍我们漏洞防御的一个新的一些思路,我们以及我们即将发布的加防御引擎的呃,一个技术的方案,然后就是再最后就再呃,介绍一下我们这个态势防御引擎从上线以来取得的一些效果。
25:28
那么首先呃就首先就是漏洞,那么围绕着整个漏洞管理的呃呃生命周期,然后我们腾讯安全,我们云进主要做了哪些工作,那么首先是在这一个新的漏洞,呃,我们如何如何发现它,如何感知它,那么我们一般是有官方的呃预警,然后另外我们云镜目前也集成了呃目也集成了我们的一个V漏洞感知系统,能够。能够结合从主机呃流量层面上和主机异常行为层面上去感知这种新爆发的零漏洞N漏洞的一个利用的情况,另外我们团队里面也有呃世界顶级的漏洞挖掘的专家,呃,去挖一些高危的漏洞,嗯,前面我的这位同事就是这方面的顶级的专家。
26:17
呃,当一个新的漏洞爆发出来之后,那么我们,呃需要在我们的环境,不好意思,赵老师,我中断一下,就是您的屏幕共享好像终止了,我这边看不到您的屏幕。嗯,现在可以了吗。呃,稍等。它在加载当中。啊,现在是可以了。嗯,那好,我继续。呃好,我们起我们一般会尝试在我们的环境中去复现这个漏洞,去搭建呃模拟模拟这个漏洞呃的一个呃一个原一个一个现场,然后去分析漏洞真正的成因,以便于我们后续去开发呃检测类的po和防御类的po啊然后呃搞清楚这个漏洞的一个原理之后,那么我们接下来就会去就需要在云上去评估我们这个漏,这个新的漏洞的一个影响面,那么评估的方评估的方法一般有网络测的测绘,呃主要是通过去发数据包到业务去探测这个呃呃这个业务的一个呃指纹的信息。另外我们呃云进目前主要是采用呃主机,呃主机侧的方案,就是通过我们主机安全的agent呃去呃在主机上去精准去提取识别我们应用服务的一个呃采用的一些呃底层的组,底层的一些一些第三方的依赖软件的成分,然后提取它的一些指纹和版本。
27:53
信息,然后再结合我们云端的这个。CP引擎来精准测绘这个新新爆发的漏洞,它的一个影响范围。
28:02
然后搞清楚这个影响范围之后,那么接下来就是到了一个漏洞修复的环节,那么如果说呃终端用户,最终用户他是通过呃系统的包管理,或者是语言的各种包管理的方式来做的一个安装,那么一般也会通过,一般也是呃可以通过这种包管理的方式来升级,呃目前我们云进已经具备了这种呃,已经具备了呃给用户提供了这种自动化的呃,呃软件的这种呃包管理,基于包管理的这种修复的方式。就是包管包管理这种修复方式,它一般就是需要去重启业务才能真正的去呃去生效,那么有没有这种免重启的方式?呃呃,这个就是热补丁,呃,这里面我呃重点重点针对两大平台的呃,Windows平台和Linux平台的这种热补丁的一个技术原理做了做一下简单的介绍。那么Windows上面啊,就是那么一个呃,我们的我们的呃应用我们的软件在编译的时候,呃一般是有一编译器会提供一个hotpa的选项,当开启这个hot选项之后,那么我们编译出来的软件编呃二进制程序的每一个函数头部它都会去呃打,都会去加一个插桩的位置,就在六六十四位系统下面这个呃插的代码长度的话,然后就是六个字节。
29:24
呃,刚好够放一个谱指令,然后。在这个软件应用的过程,呃呃,运行的过程中啊,如果说厂商他发现这个是有问题的,有漏洞的,然后需要去修复,那么他会去做一个pat,呃,这个的话其实也是一个文件,然后包含了这个有问题的函数,一个修复,修复后的版本,然后这个框架,然后再会去加载这个新的文件,之后会把原来的这个我们编译器留下来的这个插的位置改成一个指令,然后以达到这个呃。改成降指令之后,你拿到就是说,呃,我正常运行这个软件,呃,这个函数的时候,我其实是直接执行了一个全新的一个没有问没有漏洞的函数的一个效果。
30:11
啊,那Linux的这个热补丁技术就是目前用的最多的就是K,那么它是基于Linux的呃,那个F的一个内核的一个监控框架来实现的,那么F它在原理上其实跟前面Windows的呃也是类似的,也是借助编译器的选项,这里就是PG选项,通过PG选项呃开启PG选项之后,那么呃编译出来的软件,它的每一个函数,它都会增加一个呃m count的一个调用mm count这个符号,它其实是LIC的一个符号。内核中并没有这样的一个符号存在,那么在编在进一步编译内核的时候,呃会把这个call count替换成no指令,然后在实际内核的运行,在运行的过程中,其实这个呃这个no指令的话,性能损耗是可以忽略不计的。然后当通需要通过f choice去开启某一个函数的呃呃一个库的时候,那么会将原来的内部指令替换成一个f tra指令,然后我们的kpa,也就是基于这个FT的一个框架,然后实现了在运行的过程中动态去替换一个有问题的函数,来达到漏洞修复的一个效果。
31:28
那这个呃冷修复和前面的冷修复和热修复的原理介绍完了之后,那接下来我们就要去呃去简单说一下这个呃这两种方式它存在的一些问题,首先就是说呃,呃冷补丁和热补丁,它其实都是厂商软件厂商提供的补丁呃,那么呃厂商他从收到这个呃,收到这个漏洞,然后到他去呃分析原因,然后去修复,去呃去打一个补丁,然后再推到这个最终的用户面前的时候,其实这个周期是非常长的,可能时效性不太高,然后另外就是还有很多这种老旧的系统也是没有人维护的,那更别说去呃去有人去给他打补丁了。
32:11
然后就是说在我们现在这个云原生时代,然后我们的应用一般都是构建在大量的开源组件的这种基础之上,那么我们的应用它到底使用了哪些第三方的开源组件,以及这些开源组件它有没有依赖其他的开源组件,这里面其实是缺乏这个呃,这个开源软件的一个整体的一个维护,一呃一个一个管理,然后更别说去这些大量的开源软件还存在着这种频繁的去发布呃新新包去解决旧的问题。那嗯,这个就是,呃,还有一个问题就是说我们的在。本本身修复就是漏洞修复的这个过程,其实也是一个非常繁琐的一个过程,就是操作的风险也比较高,就是呃,我们修复之后打了补丁之后,有可能呃业务就不能正常工作了,也有可能就打了补丁之后业务就起不来了。
33:06
就是等等这些问题,总结一下,其实就是说呃,我们传统的这些呃冷补丁或者是热补丁技术都不太适合我们,像云进我们这种嗯乙方的安全产品要面对这种海量的呃开源软件存在着大量漏洞这种情况。所以我们需要去寻找一种更有效的打补丁的一种方式。啊,这个就是虚拟补丁。那么如果说如果说常规的补丁,呃是尝试去修复这个有问题的代码的话,那么我们的虚拟补丁就是呃尝试去拦截有问题的输入。那么攻击者从一个恶意的请求呃,恶意的请求从从他的呃主机上发出,然后经过网络,然后经过呃,经过网络,然后再然后再再到达我们的服务器上面,然后再进入我们的业务进程,最终到达我们有问题的有漏洞的函数,这个整个过程任何一个位置其实都是可以去,都是可以去作为我们的一个防护点,都是可以去实施我们的虚拟补丁的一些防护的策略的。
34:13
那么根据这个位置的不同,我们可以选择呃可以分两类,一类就是这种网络侧的虚拟补音,就是以云防火墙万这一类呃为代表,另外另外一种方式就是主机侧的虚拟补丁,就是通过主机安全的A进。去动态注入一个呃防御的插件,呃,然后到业务进程里面去,去户口有问题的有漏洞的函数去拦截恶意的输入,然后以达到这个打补丁的效果。那么自然自然问题来了,就是说网络测的这种虚拟补丁,呃,像云房已经是比较成熟了,那么为什么我们还要去开发一套主机测的虚拟补丁呢?呃,主要有几个原因啊,首先就是说这个,呃,网络侧的补丁的话,它涉及到一个一个比较严重的问题,就是流量牵引,那么流量牵引的成本其实往往往往还是比较高的。
35:05
呃,另外就是针对这种内网啊,或针对这种内网东西向的这种网络攻击,网络扫描,其实呃,目前也没有一些比较比较好的通用的一些,呃。呃,流量牵引的方案。然后呃第三点也是呃,也是最重要的一点就是呃,呃这个一个数据包,从一个工具的数据包,从网络侧能抓到的能看到的一些特征,提到的特征与这个这个数据包经过业务进程,然后最终到达有漏洞的函数作为输入的这个地方,能看到的特征其实是完全不一样的,那么网络侧,网络侧的这个数据包是经过各种变形呃,加密呃,Coding等等的这种绕过,就是呃就有存在各种各样的绕过的风险。前面我们嗯,我们的专家前。前面也介绍了很多这种绕的呃呃这种呃案例。
36:01
那么因此就是说我们有必要去搞一套这种主机侧的虚拟补丁,作为网络侧虚补丁的一个补充,然后二者相结合,然后让我们的云原生的这个呃漏洞防御体系更加的完备。然后就是接下来就是插播一下广告,然后我们在9月21号会正式对外发布。呃,不胶泰式漏洞防御引擎。那么这个呃加这个加主要是体现在哪些地方,首先是呃我们是可以去防的,因为我们我们可以针对一些通用的基于行为类的一些一些一些防御技术,是可以去防一些呃呃零的攻击,然后就是我们也针对这种呃云上这种top高广的。拓普高管的一些呃,Java类的漏洞,我们会有专门的,呃呃。针对性的去开发这种呃虚拟补丁去呃去专洞专防我们的防御的这个呃精准度是非常高的。
37:04
然后另外就是我们我们的整个态势防御引擎在用户使用,用户使用上成本是非常低的。另外就是我们的,呃,Agent。我们的agent目前呃,已经在百万级的云主机上面,千万核的容器上面长时间运行。另外就是这个我们的呃呃加泰式引擎从上线以来,目前也是呃零也是零故障。呃,广告插播完了,那继续回来,就是介绍一下我们的太防御引擎的一个一个技术的架构。就如前面我们呃如前面所说,我们是以主机安全A进的方式呃,注入防御插件到业务进程,然后跟业务进程去建立一个长连接的一个通信,然后并维并在主机安全A进的上去维护这个呃防御插件的一些状态以及生命周期,然后当用户在我们的租户端呃,在我们的页面上去呃一键开启或者停止我们的漏洞漏洞防御的时候。
38:10
呃,我们的后端会实时的将啊这个防御的策略开关以及一些配置实时的同步到我们的A进的上面去,再通过A进的去同步这些防御的策略到我们的防御插件嗯里面去,然后我们的防御插件再根据配置去动态去一些有问题的函数拦截恶意的输入,然后。将这种告产生告警事件,再将告警事件通过A警的回传到云端给用户去产生告警和呃风险提示。那接下来就是介绍一下我们太石防御引擎的,呃,安全能力。嗯,目前我们已经能够针对一些常见的呃,基于行为类的这种呃,这种监控点去做拦截,目前已经向覆盖呃像啊命令执行类的,然后反弹那个呃反虚拟电话这一大类,然后以及g n Di的。
39:06
呃,还有就是各种表达式的注入。基于这些通用的行为类的呃攻击,我们可以一定程度上去防御零的漏洞,嗯,为什么能为什么能够防御零的,就是一般一般一些新的漏洞,它都是结合结合,结合一些现有的这种行为类的漏洞去组合利用,比如说一个新的漏洞,它往往会才往会跟一个漏洞或者是一个表达式呃相结合来来来攻击,那么我们这种在这种通用的这种行为上面去加防御点的话,是可以一定程度上去防御零堆的。另外我们也对这种云上的这种呃高的这种TOP20的这种呃,这种应急漏洞,我们去已经开发了专用的补丁去专门去呃针对这种这些漏洞去做精准的防御。
40:01
那么如何去,我们如何去呃去证明我们的一个防御能力已经做到了一个比较好的一个状态呢?那么我们目前已经有这右边这这几种我们的一个检验机制。首先就是如前面所说的,呃我们有一套呃我们云集有一套VVDT的漏洞攻击感知系统,能够去呃结合从从异常的流量,再结合异常的主机上异常的行为去感知那个攻击者,呃对我们的一个呃呃对对我们主机的一个一个攻击行为,并且能够去实锤这个攻击是否成功,然后如果说我们的呃漏洞防御呃引擎开启了,然后我们的呃这个机器上对应的这个的呃尝试呃这个攻击成功的事件呃减少了,那就说明其实我们的防御是有效果的。然后另外我们也可以基于我们主机安全的呃这种失线的数据呃上面去建立一些指标,比如说我们可以去呃,在我们开启漏洞防御的机器上去呃去去建立像恶意命令,然后恶意请求,病毒木马等等这些失现的呃失现的指标,然后再反推这些是否是通过漏洞打进来的,导致主机的失现,也是作为也是可以作为一个指标来衡量我们的一个防御能力,然后另外一块就是就是以攻速防,我们我们有非常专业的呃研究组,攻击队也会定期的去对我们的安全能力去做评测,去及时的暴露我们的不足,推进我们嗯产品不断的去演进。
41:39
然后接下来介绍我们呃态势防御引擎的几大亮点,首先我们我们态势防御引擎是可以做到呃零重启。那个零配置免重启的。用户,呃,我们我们不像其他类的产品需要让用户去做各种各样的配置,需要呃,也不需要让用户去呃去修改这个业务进程的一些启动的参数,更不需要让用户去重启业务进程,我们只需要让用户在我的足户端一键开启即即可以使用我们的漏洞防御。
42:13
然后同时我们的呃,我们的漏洞防御的插件在呃自动升级,然后呃自动升级的过程中也不会影响到业务。全程对业务是无感知的。另外一个优势就是我们的防御插件呃覆盖还是比较广的,以Java,以Java的防御插件为例,我们目前已经支持1.6级以上所有的Java的版本,然后以及主流的云上主流的智能Java的应用框架,然后同时我们的一个呃一个agent能够同时支持主机安全和容器安全的这个漏洞防御,漏洞防御的这个呃产品能力,然后。同时能够支持呃,主机这个一个加应用,它运行在主机下,运行在容器里面。
43:03
我们都是能够支持的。呃,另外一个优势就是我们的防御插件体积,体积非常小,呃跟竞品跟跟友商做对比的话,我们的我们的插件体积是最小的,那么体积小有什么作用呢?首先就是说体积小的话,我们嗯占用的内存在业务进程里面占用的内存比较低,然后加载的速度也会比较快,更重要的是我们呃我们的体积小是因为我们呃避尽量避免使用第三方的依赖库,目前我们开始引擎只使用了am库,而且am库在呃JDK1.9几后已经进已经是一个Java的标准库,相当于说我们其实是没有用到第三方的库的。那么我们就不会存在这种嗯,因为我们自身呃存在的这种呃,导致这种呃软件供应链上面的一些风险,那么这里面举几个例子,就是这种软件自自己因为使用了一些不安全的第三方库导致的一些风险,那么Mo插件它使用一个Jackson data班的这个库,那么这个电班的库的话在呃。
44:11
呃,我们在上可以看到它存在大量的这种高危的漏洞。然后这个插件它是在业务启动的时候会直接把自己的包,然后添加到class search pass里面去,就污染了整个Java空间。可能本来业务进程。可能本来业务它没有这个漏洞,然后因为这个插件引入,然后导致业务面临这样的风险。然后另外一个例子就是插件直接使用了log库来打日志,那呃,众所周知,去年年底一个log爆爆发出一个核单级的漏洞,那么就会导致就是这个,呃,我们这个插件它自身也会存在一些安全性的风险。嗯。另一个另外一个优势就是我们的防御插件的性能损耗是比较低的,呃,我们呃再次举一个例子吧,就是某RA,某RA中采用这个javascript,呃,作为一个规则引擎,那么在规则引擎判,在规则引擎判断的这个函数,这个check,这个函数调用的频率是非常高的,几乎几乎所有的像啊文件像文件类的。
45:24
文件内的监控点,然后C内的监控点都会调用到这个地方,然后当提取到参数之后,它在每一次调用的时候,它都需要去将这些参数做一次接线的序列化,然后再去呃通,再去再去通过一次f Fi去调V8,调V8里面的这个JS的规则。然后DS规则里面再会再把这个节省的序列化,或者节省的数据再反序列化,然后再去匹配规则引擎,匹配到结果之后,然后再次序列化,然后返回到我们的Java代码中,然后再次反序列化,这个来回的。呃,这个序列化反序列化的过程,其实是非常影响我们的业务的性能的。
46:05
然后我们因为我们采用我们态势引擎,采用了这种无解释型的规则引擎,就避免了在运行的过程中啊,去去动态去去做这种语法的解析,以及这种f Fi的这种语言的调用,所以说不会存在这种这些性能上的损耗。然后后就是我们泰式引擎,呃,上线以来已经有500多个用户使用开启使用了,然后也取得了,也取得了一些不错的一些数据,我们这里就重点挑几个典型的案例来做介绍吧,啊第一个就是漏洞。前面我们的,呃,前前面我们的同事已经对这个漏洞去做了一个非常精彩的一个分享,我这里就简单介绍一下这个案例,就是攻击者。攻击者他去呃,他可以发一个GA的请求,就利用非常简单这个get的请求,一个get的请求里面,它可以包含我们的一个O表达式,这个表达式提取出来之后,然后我们分析这个表达式,发现它的行为是要去呃,通过ns lookup去做一次DNS的回。
47:15
目前我们这个confidence漏洞,嗯,我们的态势防御已经已经能够完美的去去去做拦截。另外一个就是的漏洞,那么是呃,Java里面应用一个一款应用非常广的一个安全的框架。那么它这它这个这个销售框架的话,它自身也存在一些,呃,这个安全上面的问题。嗯,它它就是一个反其拉漏洞,攻击者的话,就可以通过在这个cookie上面去去去设去构造一一段这个序列化之后的呃,这个攻击的配漏的,然后在攻击配漏的里面包含一个包含一个呃呃一个一个的一个反损耗链,这里面就用到的是一个come u的这个链,然后通过这个链去呃去进一步去加载去去打入一个内存码。
48:13
目前这个啊的这个漏洞,我们已经我们的态势防御引擎已经能够支持防御。另外再插播一个广告就是呃目前呃,当如果说用户还没有开启态势防御引擎的时候,那么我们我们的呃有另外一块啊,另外另外一块那个安全能力就是加va内存码,也是可以在在攻击的去打一个加内存码的时候,我们能够实时的去检测到并做告警。另一个案例就是这个log街漏洞,那么log漏洞就是说呃,工击者就是我们的一个漏洞环境洞,呃利使用引用了这个log for接库,然后并且利用它去打了一行日志,然后攻击者可以通过输入一个配漏去控制这个log for街打日志的一个输入的变量,然后最终触发了这个,然后这个案例中就是触发了一个j Di加mi的一个呃。
49:11
一个一个一个组合的攻击,最终去执行,执行了一段那个一表达式。然后通过这段E表达式,然后去执行呃,内存码目前我们也是呃,目前这个我们是呃已经是能够100%去防御的,从上线以来。呃,100%去防御那个佛经,嗯。好,我的介绍。嗯。完了这块。好的,谢谢赵老师的精彩分享,刚才赵老师在分享当中提到一个好消息,就是腾讯安全打造的全新方案开始引擎将要在月11正式发布,也就是在下周我们大家正式的见面了,兴的小伙伴可以扫描我左下方的这个二维码,关注腾讯云安全中心公众号,查看最新的动态,或者添加我们的小助手申请免费试用。
50:15
好的,接下来我们将开启第二轮抽奖环节,抽奖的方式依旧是在交流群里发送口令。如果满了的话,也可以添加我们小助手邀请入群,这次我们抽取的是第八位、第18位、28位和第38位。发送口令的朋友送出我们腾讯定制猛虎系列公仔。那么接下来我们的口令是什么呢?如果刚才仔细听了我们赵老师分享的小伙伴,应该可以猜得到,我们的口令是引擎,9月21日正式发布。再讲一遍我们的领口令,哦,不是第一次的队保护,也不是引擎,九月21正式发布。
51:15
我们将抽取第八位、第18位、第28位和第38位发送抽奖口令的朋友,送出我们腾讯定制的虎系列公仔。大家。可以踊跃的在群里互动。好的,我看到群里面已经说了很多,还有好的,我们的。发送开始倒计时54321好的。那有请我们小助手待会儿看一下我们第八位,第18位,28位和38位的朋友是哪几位会啊,我现在还有很多在加10位,我们有位。
52:08
朋友。好的,接下来就是我们今天直播的最后一个环节,因为刚才在看到两位专家的演讲期间,我看到直播间有很多朋友提问,嗯,看来大家对漏洞防护。的话题非常的关注,所以我们也抽取了几个观众的提问啊,想要请两位专家帮忙解答一下。哪位专家准备好了吗?然后我们抽取到的那个提问的观众也会获获得我们的Q猛虎系列的公仔。以及更丰富的礼品。好的,那第一个。问题就是。主机测的虚拟补丁开发成本是不是会比写规则高高得多呢?时效性的问题怎么解决?
53:03
啊,两位专家,谁来回答一下?嗯,这个成本成本是很高,但是呃,效果也也也很高,这个时效性的话,然后可以先用去顶一下,然后顶住初始的那个攻击流量,然后等那个蓄力补丁。嗯,开放完成之后,然后就可以抵御各种变化了,比如说比如说像log后建这这个东西可以,呃可以先挖,我先先把那个特特征的流量先先防住,防住之后,然后等那些攻击者开始去钻研,去调试那个呃后内部的处理逻辑时候,那这个时候我们也可以同步的去。去进行去写那个呃,虚拟补丁,然后虚拟补丁出来之后,然后我们就可以去防那个附件各种变化。好的,谢谢尹亮老师,然后第二个是关于有两个关于容器的问题啊,就想要请两位专家帮忙解答一下,第一个问题是呃,关于agent的部署在容器还是数组。
54:11
Agent的部署是在容器还是数组机呢?这个问题想要请两位专家回答一下。这个问题我回答一下,呃,我们的我们的A的是部署在数组数组机上的。就是我们,我们在主机上,整个主机上面,无论它有运行多少容器,我们呃,只需要运行呃一个A的就行了。好的,那呃,我们的容器也可以自动。容器容器可以,你说那个我们现在的漏洞防御是吧,开始引擎能不能自动去容器里面的,呃,这个应用是吧。
55:06
哦,是的,不好意思,我刚才不小心关麦了,是的。呃,我们是从就是如前面的呃介绍PPT里面的介绍,我们的呃防御方案是在主机主机A上实现了,同时能够支持这个容器内的Java应用和主机上的Java应用。所以刚才是刚才的这个问题是回答是可以的。下去了,嗯。啊,还有第三个问题是有一个朋友问说对于这些漏洞的防御都是基于的什么函数呢?呃,这个每个漏洞呃都不一样,这个得根据具体的漏洞,然后具体分析,然后分析这个漏洞所所在的触发的那个函数,然后再去那个函数上去做做,呃,做。
56:02
啊。这样,那目前咱们的这个加形方案的话,它支持什么类型的漏洞做防护呢?嗯,就是前面的PPT也介绍了,就是我们分两是我们的漏洞知识的漏洞类型,就是分两类,一类是那种比较通用的,呃这一呃一系列的,比如说呃那个反序列化这个系列,然后比如说各种表达这种是比较通用的这种。呃,你可以理解就是一种通一种通用的补丁,我们可以去针对这一类的这种攻击去做去做防御,另外就是说我们也会去针对这种,呃。呃,针对针对特定的这种漏洞,我们去打特定的补,比如像这一类的就是就是那种专用的补丁。目前我们的呃专用补丁是能够覆盖呃云上加类的90%以上的这种。
57:04
呃,都能覆盖到。啊,你刚才说的,呃,这个我看到那个那个直播间评论区有一个朋友提到说,呃,引擎的话,除了刚才咱们讲到案例里讲到的那个Java框架。还支持其他什么语言吗?我们的PHP版本的和版本的以及Python版本的正在研发中。很快就出来。好的,刚才提出这个问题的朋友有听到吗?如果呃非常关比较关注的话,可以关注我们腾讯。原始腾讯云安全公众号。好的好,嗯,最后两个问题。其中一个问题是有一位朋友问,就是咱们的这个方案相比传统的厂商腾讯的方案的话,有哪些差异和优势?
58:05
嗯,就是传统的厂商他是去尝试去呃呃呃尝试去修复,这个有因为因为这个传统的补丁,它一般都是厂商自己提供的,它都是针对他自己的这个呃应用它会去做修复,去去提供新的版本,或者是提供pat,那么我们的我们的方案的话,主要就是说呃。呃,我们的在呃一一方面是我们刚才说的就是这种通用的补丁去去针对这种行为类的去做去做防御,另外就是说我们也会去结合厂商提供的,他们的提供的补丁,我们也会去分析,然后去集成到我们的这个呃防御引擎里面来。我们的一个最大的一个特点的话,就是说,我们其实是不需要去影响业务的一个呃,一个执行的逻辑,因为我们不涉及去改改业务的一个代码逻辑的一个执行的流程,我们只是去对它的一些关键的有问题有漏洞的函数的入口去做校验,去拦截恶意的输入。
59:10
好的,谢谢邵老师,然后最后一个问题是,呃,有个朋友问到,对于业务容器化的企业漏洞管理流程上有哪些针对性的建议呢?咱们可以给到的。就是对于业务容器化的企业。嗯,那么首先就是我们呃容器安全已经有这种呃已经有一个呃有有一个呃呃关漏洞管理相关的功能,就是从这种镜像,从从这个镜像仓库呃到这个呃到这个仓库中的镜像拉到本地,我们都有一个全流程的一个漏洞扫描,漏洞分析的一个一个呃产品的能力可以直接使用。去提前去去去分析处理这些漏洞。
60:02
好的,谢谢赵老师,谢谢李亮老师。呃,我看到,呃,咱们的直播间还是有很多朋友在一直提问,呃,时间有限的话,我们。呃,两位专家的。解答就到此结束,如果大家对新型漏洞危险防护有其他问题想要探讨的,也可以加入我们的交流群进一步交流。另外跟大家预告,1月21号我们将正式发布加式引擎,兴趣的朋友也可以联系我们小助手进一步的了解。最后呃,再次呃,最后再次感谢两位专家以及在线观看的朋友们对大呃对腾讯安全的关注,未来我们也会不断推出大家感兴趣的主题公开课,和大家一起探讨和进步,一起捍卫美好。啊,感谢大家,再见。
61:00
拜拜,拜拜。
我来说两句