APP下载

台湾研究人员解析SolarWinds供应链攻击事件,攻击者善于规避侦测、伪装并融入环境

消息来源:baojiabao.com 作者: 发布时间:2024-05-17

报价宝综合消息台湾研究人员解析SolarWinds供应链攻击事件,攻击者善于规避侦测、伪装并融入环境

去年底爆发的SolarWinds供应链攻击事件,牵连甚广,美国有多个-组织、资安业者与大型科技公司都受影响,这几个月来,当地资安业者持续公布调查与影响,至今都还没落幕,虽然,这起事件对台湾影响小,但其实有许多值得我们警惕之处。

由于这起事件的相关消息不断,资讯量非常多,为了让大家对此威胁可以有更清楚的认识,最近难得有台湾资安研究人员针对SolarWinds供应链攻击事件进行说明,特别的是,当中解析了背后攻击者是如何隐藏不被发现,并进行事件分析与影响性评估。

攻击手法复杂,至今4个月仍不断有新的调查结果出炉

关于SolarWinds供应链攻击被发现,最初是资安业者FireEye在2020年12月8日先表明遭骇,该公司提供安全测试的工具外泄。

相隔五天,FireEye在12月13日进一步揭露网络监控软件公司SolarWinds遭骇,该公司Orion Platform成为供应链攻击的跳板。对此,Fox-IT威胁分析师吴宗育(ZY Wu)指出,从时间点就可看出事件的紧急与严重性,因为一般研究人员多是选在平日发布报告,追踪的人较多,而这篇报告发布时间13日是周日。

事实上,同日CISA也发布了紧急指令,要求联邦机构立即关闭被植入木马的SolarWinds系统,而当地媒体也披露有美国财政部与商务部遇害。

这起供应链攻击非常复杂,到现在已经超过4个月,调查还没完全结束,陆续有美国-单位、微软与Malwarebytes等揭露自己被攻击,并且有更多恶意后门与软件被发现,包括:FireEye在12月13日揭露的后门程式Sunburst,而在三天后,又有一些资安业者指出发现第2个后门程式Supernova,到了今年1月11日,SolarWinds本身也公布了调查报告,发现攻击源头是更早渗透的Sunspot恶意程式,最近3月4日,FireEye与微软再度公布发现用于第2阶段攻击的Sunshuttle恶意软件。

因此,许多业者除了公布事件调查与揭露攻击手法,也提供了相关工具,包括FireEye释出的相关恶意程式IoCs,以及FireEye Red Team Tool、Sunburst与Summary的IoCs等,还有Azure AD、CISA释出的检查工具,提供企业能够利用。

SolarWinds供应链攻击事件相关消息不断,台湾骇客协会理事陈仲宽(CK)针对一连串事件说明时间发生先后,让大家对事件始末更清楚:
2020年12月9日        | FireEye红队测试工具外流
2020年12月13日      | CISA针对SolarWinds Orion发布紧急指令,FireEye揭露发现Sunburst恶意程式
2020年12月13-14日 | 路透社与华尔街日报披露美国财政部与商务部遭供应链攻击
2020年12月15-18日 | 第二支恶意程式Supernova被揭露
2020年12月17日       |
微软、FireEye与GoDaddy联手打造该攻击的销毁开关
2020年12月17日       | 微软揭露潜在受害者
2020年12月31日       | 微软证实SolarWinds骇客存取其源代码
2021年1月5日            | 美国CISA、DNI与NSA调查报告猜测攻击者来自俄罗斯
2021年1月6日            | 美国司法部证实遭骇
2021年1月11日          | SolarWinds调查报告公布指出攻击源头为Sunspot
2021年1月13日          | CISA指出绕过云端服务多因素验证的攻击案例
2021年1月19日          | FireEye释出针对Microsoft 365补救措施
2021年1月19日          | Malwarebytes表示自己也遭骇
2021年1月22日          | 微软揭露攻击者在第二阶段所采取的攻击行动
2021年2月18日          | 微软内部调查最后更新揭露
2021年3月4日            | FireEye、微软揭露新发现的恶意程式Sunshuttle后门

从入侵开始到SolarWinds知晓已是1年3个月后

对于这起事件的资安事件调查,吴宗育指出,以SolarWinds委由CrowdStrike调查的报告内容来看,有三个关键的时间点。首先,攻击者在2019年9月4日,就已经入侵了SolarWinds的内网;第二,到了2020年2月20日,攻击者正式将Sunburst后门部署到该公司系统环境;第三,直到2020年12月12日,SolarWinds才知道有这个后门的存在。

显然,攻击者入侵后在内网已经做了很多探查,当了解够深透后才将后门Sunburst植入,而且,从SolarWinds知道被入侵,回推到最早被入侵的时间点,这段期间长达1年3个月之久。

以Solarwinds在今年1月公布的调查结果来看,Fox-IT威胁分析师吴宗育(ZY Wu)指出,该公司最早被入侵的时间点是在1年3个月前,而且攻击者行动相当小心,直到摸清楚该公司内网环境的5个月后,才部署Sunburst后门。

更令大家关注的是,在这次供应链攻击中,SolarWinds Orion Platform因为被植入恶意程式而衍生后续的问题,攻击者是如何在软件开发流程被渗透,而且不被发现?

吴宗育先简单说明,以软件开发流程而言,这里简单分成提交(Commit)、编译(Build)、测试(Test)与部署(Deploy),攻击者先是打造了一个名为Sunspot的恶意程式,这是用于植入恶意程式的程序(Injector),在软件开发提交阶段,可将一段Sunburst后门与Beacon的程式码,注入到Orion Platform的程式码。因此,之后软件经过编译、签章后,就会变成带有恶意程式的软件产品。

而且,由于攻击者已经非常熟悉开发环境与流程,因此当恶意程式处于开发者环境时,并不会执行任何恶意的动作,而是等到软件更新部署于客户端时,才会进行下一步,载入其他恶意程式。

为何骇客选择用供应链攻击入侵?吴宗育也对此做出简单的说明与分析,一般而言,攻击者会对目标公司有兴趣,而每间公司一定有很多的供应商,彼此之间因生意往来,通常存在信任关系,因此供应链攻击的特点,就是攻击者会滥用这样的信任关系,从供应链厂商去触及到公司,其次,在多个供应商中,总有资安人员不足或资安防护有破口的厂商,再者,如果攻击者的目标不是单一公司,是纵向或横向的产业链,因此整个产业链的主要供应商就是一大目标。而在这次Solarwinds供应链攻击事件中,都符合这些供应链攻击的特性。

躲避侦测并伪装融入环境,到用户端才藉DNS回传资讯

SolarWinds供应链攻击的始末,已有许多资安公司揭露,但具体手法是什么?吴宗育提出说明与分析,例如,攻击者为了避免SolarWinds开发者与用户发现恶意程式的存在,设计了许多规避侦测的机制。

他指出,隐藏在Orion Platform管理的恶意程式,使用了一个名为FNV-1A HASH来加密一系列字串,当执行Sunburst后门时,会先检查AD网域是否属于SolarWinds,如果与清单符合,就不会执行,同时也会针对很多防毒驱动程式、处理程序与服务去进行检查,并且都会经过该HASH来保护,而不被企业防护侦测。

特别的是,攻击者注入在Orion Platform的程式码,撰写方式都与原本程式非常相像,包括变数、函式(Funtion)的命名,以及程式的结构。例如一行程式码中写着assemblyTimestamps,看似检查时间戳记,但这是用前面所提的HASH加解密隐藏起来,实际作用是恶意程式要检查的防毒驱动程式与处理程序等。

不仅如此,攻击者也花很多心思去雕琢这些木马的通讯,让企业从网络层面很难发现资料正在外泄,或是后门正在启动。

此外,当带有Sunburst后门与具有Beacon主动通知能力的Orion Platform被部署到客户端时,这时该Beacon才会启动,并主动连回C&C中继站通知攻击者,而不是由中继站主动去连线。从上面的隐匿与规避侦测手法即可看出,这起供应链攻击背后的攻击者,已经非常了解环境运作,因此难以被发现。

这个Beacon里面也藏有不少资讯,仔细分析,更是可以发现这起事件可能针对的目标对象。吴宗育指出,这个Beacon会通知攻击者它在哪个环境,而通知方式是透过DNS协定,借由DNS查询传回攻击者的服务器,并且带有受害者AD网域资讯。之后,当攻击者对这个目标对象有兴趣时,才会命令Sunburst使用HTTP的后门。

他进一步解释,透过逆向工程,他们将此DNS查询资讯解析出来,其中,前15 Bytes是根据受害目标产生的特有字串GUID,接下来15 Bytes则是带有受害者的AD网域,后面则是固定写死的字串。

而Sunburst有两个阶段,第一阶段是Beacon使用DNS通讯协定回传资讯,第二阶段是后门使用HTPP通讯协定。因此,他们从Passive DNS找出曾经进入第二阶段,也就是可以让攻击者操作后门的阶段,以及其所对应的AD网域名称,便可找出哪些是攻击者感兴趣的目标,包括:美国-单位、能源产业、国防产业,以及资安与科技大厂,并用于做影响性评估,因为,在研究间谍行动为目的的攻击,寻找潜在受害者是一个有用的因子。

攻击者在软件开发提交阶段下手,透过Sunspot恶意程式将一段Sunbrust后门程式码,注入SolarWinds Orion平台程式码中,并且还会侦测在开发环境时不会执行,使得该软件发布后就变成带有后门的程式。

在躲避侦测与伪装融入环境上,SolarWinds攻击者注入在Orion Platform的恶意程式会有一份检查清单,这些都是属于SolarWinds的网域,目的是当恶意程式处于开发者环境时先不要动作,等到软件更新部署到客户端时,才会进一步载入其他恶意程式。而且,这些恶意程式码的撰写与程式原本的架构很相像。例如一行程式码中写着看似检查时间戳记的assemblyTimestamps,但其实攻击者是用HASH加解密隐藏起来,实际作用是恶意程式要检查的防毒驱动程式与处理程序等。

攻击者打造的Sunspot恶意程式,是植入恶意程式的程序(Injector),之后会在软件开发提交阶段将一段Sunburst后门程式码注入到Orion Platform的程式码。等到软件更新部署到客户端时,之后会利用各种客制化的恶意载入器Teardrop、Raindrop,于受害端点植入Cobaltstrike、GoldMax、SiBot、Goldfinder等。

 

关于SolarWinds事件的影响性评估,吴宗育表示,Sunburst有两个阶段,分别为Beacon使用DNS通讯协定传送,以及后门使用HTTP通讯协定连线,根据他们分析的结果,他们解析出DNS查询资讯有15 Bytes带有受害者的AD网域,并从Passive DNS找出曾经进入第二阶段,以及其所对应的AD网域名称,可以确定攻击者针对许多美国-单位、能源产业、国防产业,以及资安与科技大厂,安装属于第二阶段的中继站(C&C),不过,在任何官方说明公开之前,他们也不知道目标是否受攻击或受害。

云端服务的攻击面向也是这次事件下的另一焦点

从SolarWinds供应链攻击这起事件之中,我们可以学到什么?台湾骇客协会理事陈仲宽(CK)指出,即便像是FireEye这样厉害的资安公司,还是可能被攻击,因此需要做主动式的威胁猎捕,更重要的是,需要回应这些资安事件。

以FireEye为例,他们是第一个能够发现此威胁的受害者。在他们发现问题后,马上进行调查,并将结果尽快与社群、产业分享,避免事件扩大,也缩短应对攻击时间。否则,其他受害者可能到现在还是不知情,并有更多受骇可能。

同时,他指出3个值得重视的焦点。在这起供应链攻击中,有上万潜在受害者,但实际上攻击者主要目标仅是数百个单位;其次,SolarWinds被入侵是在DevOps阶段,可见攻击者相当了解其软件开发环境,在编译之前就植入,并且等到部署于客户端才发作。事实上,从过去这几年发生的软件供应链攻击来看,诸多开发环节都存在着风险,从程式码撰写、第三方程式库,还有在编译器(Compiler)、可执行程式(Executables)与后续CI的环节,甚至是更新部署等;最后,是这次的恶意程式相当精致,堪称是最复杂也最精密的网络攻击,足以躲避受害者环境的各种防护。

而在这次事件下,陈仲宽提醒,还有一个新的攻击面向需要注意,在1月中旬CISA警告,出现绕过多因素验证来骇入用户云端服务的攻击手法,而这也被外界认为与SolarWinds攻击事件有关,而这样的云端服务攻击面也相当值得注意。

2021-03-16 17:50:00

相关文章