APP应用安全风险:应用安全风险大致分为框架类通杀漏洞、大规模用户数据盗取漏洞、开放源码软件漏洞、开发与开发之间的信任调用以及供应链漏洞。如Struts2、Spring等框架类漏洞,可能会给整个企业带来巨大的风险,修复难度也相对较大,需要投入大量的人力成本来修复;在CXO这一层上,大量窃取用户数据的漏洞是非常令人担心的,比如通过使用高权限AK进行数据窃取,云平台底层将不会看到并盗取用户数据等等;还有滥用AWSS3,AzureBlob等各种数据对象存储类,其实数据对象存储类对于AWS,Azure本身也有很多高风险的泄露案例,可以导致泄露自身的数据、客户的数据、代码等等,国内的云安全厂商还是要更加重视这个风险;
开放源码软件漏洞:由于云平台是以大量开源方式构建的,如数据库采用MySQL,底层分析采用ELK,虚拟机采用KVM,XEN,云原生采用K8s等,一旦这些开放源码软件出现问题,就会直接导致大范围的攻击,并且这些产品都承载着用户的数据,因此被入侵后果十分严重;
开发者与开发者之间的信任调用导致的漏洞:这是我在2016年红蓝军与云端对抗时发现的问题,因为云端体系结构的复杂性,每个产品都会采用非常长的调用链接,连接上的各种组件都非常复杂,一个产品包含上百个组件,但问题就在于,由于研发缺乏这一维度的思考,默认认为传递的数据是可信的,不经过良好的过滤,就会产生严重的问题,而这种问题对于企业的黑白分明,很难发现。举例来说,组件A就是一个控制台,处理用户的输入参数P1,参数P1传到组件B,B处理后传到组件C,C处理时直接带进执行命令的参数进行拼接,最后通过用户的三次传递形成一个命令执行的示例,当然这类示例也很多,这里简单介绍一下,因为涉及到漏洞细节,所以采用一些通用的描述方法,读者如对此不太清楚,请到最后一章练习微信讨论。
供应链漏洞:这是云端企业所面临的一个更大的问题,因为他们自身业务的复杂性,必须使用各种各样的开发包,因为这些大型企业规模很大,其中每一点都会带来风险,例如ACME企业的某个应用采用了NodejsExpress作为他们自己的开发框架,而ACME企业的某个应用因为有很多业务需求而采用了自研组件TaskCheckJson(黑客通过一层分析发现这个点,并在NPM上申请了这个并不存在的组件),该组件只能在内部调用,简单地说,就是因为ACME企业的某个雇员直接引用了NPM的TaskCheckJson,最终导致被入侵。
在层层突破防御后,包括应用层、网络层到达系统层后,黑客就会执行命令,进行数据窃取,横向移动,ACME公司就会使用其先进的方法模块化、eBPF、流程隔离、影响最小等来建立EDR以应对这些威胁(下文将介绍)。五是数据安全隐患。在黑客攻击之后远没有结束,而笔者觉得这才刚刚开始,黑客攻击都具有极强的目的性,ACME通过多年的国内对抗也发现了黑客最重要的还是看上了这些ACME核心的数据,这些数据具有巨大的价值。因此,数据泄露是企业的安全命脉,是企业的底线,是企业生存的命脉因此,为了对抗这种情况,ACME采用了ZeroTouchProd,ZeroTouchNetwork的先进理念来降低这个风险。