先说结论
今年大型攻防演练的观感:
1. 大量的国产商业软件供应链厂商的大量商业软件0day被用来攻击(以安全产品、OA、cms、办公软件为主)
2. 社工+钓鱼又玩出了新花样(红队这帮人估计去电诈团队培训回来的?)
3. 开源软件的Nday/0day漏洞及投毒仍然很实用(更多是Nday漏洞有更成熟的利用工具用来打点和内网渗透)
未来攻防趋势判断:
1. 未来几年攻防演练仍然会以这三样攻击手段为主,重点投入治理的厂商将会有明显优势
2. 针对这三类攻击的手段和花样会逐步形成一套成熟的打法,并配套成熟的工具、情报及技战法
3. 要非常警惕实际的外部攻击会重点关注国产软件供应链厂商的攻击
今年的大型攻防演练打了快两周了,因为我们公司专注于做软件供应链安全方向,并且今年又做了不少关基的客户,所以我们为部分客户提供了防守支持,算是投了不少精力在这里面。在此之前的几年,我一直在百度、贝壳主要负责企业的甲方安全建设,多数时候是直接以防守方的角色参与其中。今年,从过去的一周来看,整体活跃程度是要比往年更热烈的。
今年攻防演练观感
一年一度的大型攻防演练也组织了很多年了,不管是从暴露问题还是提升国家关键基础设施攻防水平上来说,确实能看到每年都在不断的迭代和进步,先来说一说今年攻防演练期间的一些观感总结:
- 软件供应链厂商0day/Nday漏洞(今年0day真是多啊,安全产品、OA、办公软件、CMS等)
- 社工+钓鱼(今年红队负责钓鱼的人是不是去电诈团队培训回来的,花样多)
- 开源组件0day/Nday漏洞及投毒(Nday漏洞和投毒居多,0day主要是国内一些搞低代码的开源软件)
这里面有两个非常值得深入思考的问题:
1. 为什么攻击者们基本上能共识的通过这三种攻击方式?
2. 在大家都知道主要是以这三种攻击方式攻击的时候,怎么玩出新花样?
为什么攻击者们基本上能共识的通过这三种攻击方式?
先说说除了这三种攻击方式,以前用的比较多的攻击方式还有什么?我记得最开始攻防演练的时候,大家基本搞各种弱口令、口令爆破、SQL注入、XSS盲打以及各种web top10的漏洞比较多,现在基本上很少见了,这些漏洞都有一个特点,大部分都是因为企业自己写代码的规范性及运维配置不当导致的漏洞。这些漏洞从本质上来说一方面企业自己写的代码或者部署的服务,通过加强安全管理和评估手段就能轻易提升安全性;另外一方面本身企业现在用的很多云服务、开发用的应用框架内置的安全能力就比较强(比如以前漏洞賊多的struts,现在基本都没人用了),这样一来这两年这些类型的漏洞和攻击方式就很少见了。
那为什么这三种攻击方式,大家越用越多,而且一直都在用呢?从逻辑上来说,肯定是企业相对来说很难解决这一类的风险,同时又很难防范。
软件供应链厂商0day/Nday漏洞
为什么这类系统会成为攻击队关注的重点,首先就是这些供应商的软件产品漏洞真是太多了(基本上没有什么安全投入,甲方要产品的安全检测报告,通常也就是随便扫一下,糊弄一下就完事了),此外甲方企业也没方法去识别、解决这些软件供应链厂商的漏洞的能力,这就导致软件供应链厂商的软件产品成了攻击的重灾区;今年攻防演练
期间曝出来的那些个0day,各种OA和CMS系统就不说了,这些产品本来漏洞就多,而且每年都会曝出来大量漏洞(很奇怪为什么这些产品没有被市场淘汰,以后得写一篇文章详细分析下);更可笑的一个现象就是最近几年曝出来的大量存在漏洞的供应商系统都是安全产品,各种上网行为管理、堡垒机、防火墙、安防系统,太逗了;
为什么大量曝出来的0day都是安全产品的?大胆猜测和分析,一方面确实安全厂商自己也没有投入多少资源来解决安全问题,因为本身大多数安全公司的研发本身自己也不懂安全,再加上很多时候安全公司“活”的也不咋滴,所以也没有在自己的产品安全建设上投入太多资源;另外一方面,要分析和挖掘这些商业软件的产品0day是需要有这些系统的访问权限或者源代码的,但是这些搞攻击队的安全专家们手里别的系统没有,安全产品可是一大把,每天没事可不就研究这些产品有没有啥漏洞;最后,因为这些市场覆盖率高的产品,大部分关基行业的客户都会用,而且拿这些产品的0day打进去,不容易被拦截。所以这么一算,好像搞安全产品的0day是最划算的。
社工+钓鱼(各种方式接触员工,发钓鱼文件)
对于企业来说,员工是最难防最难管的,利用人性的各种弱点,套取信息或者诱骗点击恶意远控,层出不穷。今年还爆出来某安全公司利用另外一个安全公司的远控安全产品,诱骗员工安装并实现远控。只能说花样百出,这个事我感觉无解。不多说了,个人认为一万年以后“社工+钓鱼”的方式也不会过时的。
开源组件0day/Nday
这个和第一点很像,当然也有一些差异,相同的地方是这些开源组件和软件都不是企业自主研发的,所以这些软件的安全性通常企业没办法很好的管理,而且很多企业也没办法识别出来这些开源组件在企业内部的使用情况,尤其是间接依赖的那些组件;此外,对于攻击方来说,整理和收集这些开源组件通用漏洞的POC/EXP,相对来说成本很低,而且很多都已经整理成现成的攻击工具了,像今年国产的低代码开源项目Jeecg-boot出了好几个0day(老惨了),这类系统漏洞很多,并且相对来说获取成本比较低,而国内又确实有不少关基的客户在用,打起来性价比还是相当不错的,此外就是一些针对python及npm的投毒,这些攻击起来门槛比较低,说不定有意外的收获。
未来攻防趋势判断,会有什么新花样?
结合以上分析,我有几点判断:
- 未来几年攻防演练仍然会以这三样攻击手段为主,重点投入治理的厂商略有优势
- 针对这三类攻击的手段和花样会逐步形成一套成熟的打法,并配套成熟的工具、情报及技战法
- 要非常警惕实际的外部攻击会重点关注国产软件供应链厂商的攻击
未来几年攻防演练仍然会以这三样攻击手段为主
不管是真实的攻击者还是大型攻防演练,大家做事情都是讲究性价比的;至少未来2-3年,企业在防范软件供应链攻击和钓鱼攻击方面,肯定有很多工作要做,但是可以肯定的是没有办法在短时间之内形成很成熟的防范机制,因为这涉及到整个软件供应链上下游的管理加强,必须付出很多精力投入才会在未来3-5年形成很好的效果,但攻击者毫无疑问会抓住这个时间窗口;
在这样的背景下,落后的企业容易成为被攻击的目标,所以我们发现许多重视安全的头部企业已经开始系统地考虑如何应对商业软件供应链以及开源软件供应链的安全威胁。
针对这三类攻击的手段和花样会逐步形成一套成熟的打法,并配套成熟的工具、情报及技战法
今年众多国产商业产品的0day爆发显然不是偶然,而是有所准备。尽管在去年和前年我们已见识到部分商业产品的0day攻击,但今年的攻击显然更为猛烈,很多0day在攻防演练的首日就被使用。我认为,这一年更多具备能力和资源的攻击队伍进行了深入准备。目前大家已经意识到这是一条有效的策略路径,未来各方在攻防演练前肯定会增加商业软件产品的0day储备。并且,为了获得更长的先机,他们一定形成成熟的配套工具、情报以及技战术打法。
要非常警惕实际的外部攻击会重点关注国产软件供应链厂商的攻击
攻防演练中所暴露的攻击方法和0day很可能在黑灰产界,甚至更广泛的地下市场中被广泛传播。一个明确的事实是,这明显是一个薄弱环节。无论外部攻击者的意图是利益驱动还是其他深层次动机,他们一定会发现这条路径。因此,我们必须对广泛使用的国产软件供应链商业产品存在的漏洞保持高度警惕,以防范包括数据窃取、加密勒索及其他层次攻击行为。