安天智甲让0601欺骗漏洞攻击弄巧成拙

时间 :  2020年01月21日  来源:  安天CERT


        近期微软被曝光的“Windows CryptoAPI欺骗漏洞”(CVE-2020-0601),可以让攻击者构造恶意的基于椭圆曲线密码(ECC)的签名证书,并使用此证书帮助攻击载荷通过文件签名合法性检测,达成绕过Windows系统自身和安全软件的安全防护机制的效果,成功在终端执行。该漏洞被微软官方迅速发布补丁修补,由于微软是从Windows 10开始调整为使用基于椭圆曲线算法的新证书,因此该漏洞并不影响Windows 10之前的版本,关于这个漏洞的细节,安天CERT在《安天引擎精准检测Windows CryptoAPI漏洞构造的免杀样本》一文附录部分已经有详细介绍。

        微软从Windows95系统开始的PE文件格式,增加了基于PKI机制的证书签名机制,包括微软自身在内的软件开发者,都通过自身的数字证书对程序进行签发,降低篡改和仿冒带来的安全风险。主流杀毒软件也开始增加对文件签名的验证。从Windows Vista版本开始,更是强制要求必须有合法签名的驱动才能加载。可以说Windows系统自身和安全软件对证书签名机制,是一个双保险机制。这也是Windows 可执行文件证书一直是主机攻防的关键火力点之一的原因。

        在已经发生的攻击活动中,出现过攻击者构造签名域信息欺骗反病毒软件的静态检测;攻击者自行申请签名证书,“合法”签发攻击载荷;攻击者入侵窃取主流厂商证书,绕过系统签名审核和安全软件证书信誉等进行攻击的情况。因此围绕签名机制的攻防对抗,一直是网络安全的重要对抗点。关于这一点,可以参见安天CERT此前发表的《从Windows的安全实践,看可信计算的价值与局限》。

        针对此次Windows CryptoAPI欺骗漏洞,安天智甲终端防御系统可精准检测0601漏洞构造的签名,让攻击者弄巧成拙。

一、安天引擎“黑白双控”的默认策略更合理


        历经长时间的发展演进,以卡巴、ESET、安天等厂商为代表的优秀的反病毒引擎,均既非传统DOS时代引擎的纯黑规则检测模式,也非互联网模式的大HASH云。而是在本地把深度预处理、虚拟执行、已知规则检测、家族变种相似性检测、行为机理检测、证书可信验证、基于启发加权和深度学习算法的未知检测等技术相结合,同时把海量的云端规则和云端分析作为支撑的体系,其本质是一个以多鉴定器+海量规则集为主,辅以云端支撑的复杂安全中间件。优秀的反病毒引擎还要包含了对数字签名的验证机制,这种验证不只是判断其是否是数学意义上的合法签名,也同时建立了一个证书信誉体系。从安天每日新捕获的PE样本来分析,有很大比例的样本,是具有数学意义上的“合法”签名。这些样本多数是流氓软件,其开发者与其他软件开发者一样,同样申请了合法的证书,来签发他们的程序。因此,一款良好的检测引擎,不仅要检测签名在数学意义的合法性,还要检测其发布者的“信誉”。例如微软和主流硬件厂商的签名,就是高信誉的。而本次漏洞的严重之处,是攻击者可以在载荷上伪造出任意厂商(包括微软自己)的签名,这个签名可以通过Windows系统自身验证,使得系统和安全软件的双保险被砸开。

        作为检测引擎的默认机制,如果其默认策略是证书验证优先,即检测到的文件具有高信誉厂商签名就直接跳过,就会放行该漏洞。这就是为什么有研究者将一个在多引擎对照站点上有40家杀毒引擎可以检测的工具,通过Windows CryptoAPI欺骗漏洞构造证书后,可检测厂商只剩下17家的原因。而可检测的厂商,有两种可能,一类是,没有证书验证功能,一类是有签名验证功能,但检测策略更为合理。

        安天的检测引擎能够深度解析签名格式,验证签名合法性,比对签名信誉。依赖这一机制,可有效支撑智甲终端防御系统在面向SCADA、专用终端等场景的纯白环境、黑白双控机制。

        同时,正因充分考虑到检测对象的使用证书有绕过检测的风险,加之安天引擎通过长期的综合优化,系统负载较低,扫描速度快,检测精度高,误报率低,因此默认扫描策略采用了黑白双控,威胁告警优于签名的策略。所以,已知样本无法通过使用本漏洞签名的方式绕过安天的检测。

二、安天快速响应能力,让攻击者弄巧成拙


        CVE-2020-0601曝光后,安天启动快速应急响应,针对此漏洞,安天基于解析数字证书的能力和分析漏洞机理,迅速升级引擎,增加检测模块和规则,有效检测各种基于该漏洞制作的免杀工具“签发”的文件样本。从报警优先级别上看,如发现被仿冒“签发”的文件是已知病毒,则告警已知病毒名称;如对被防仿冒“签发”的文件未检测到已知病毒的,则告警为CVE-2020-0601漏洞编号。

        安天这一精准检测能力,将使攻击者弄巧成拙,即使攻击者对投放的攻击载荷进行了充分的免杀伪装,使用这一证书后,反而会露出马脚,被发现带有CVE-2020-0601构造出的签名。

图2-1VT多引擎对照扫描站点对某仿冒签名样本的检测结果

        截止到1月19日,VT上依然只有安天、卡巴斯基、迈克菲等少数7家厂商可检测到基于Windows CryptoAPI漏洞(CVE-2020-0601)构造出的仿冒签名。此外需要说明的是,VT上的安天引擎版本是安天引擎的一个子集,并不带有全部的检测能力分支。

三、内核级主防有效拦截威胁,阻断攻击链


        基于检测引擎对进入主机系统的对象进行检测,只是智甲层层防御中的一层。安天智甲团队不断改善主动防御内核,通过扇区监控、内核服务和驱动监控、文件监控、注册表监控、浏览器和邮件客户端保护等机制,对威胁进行实时拦截。智甲采用“未知可疑程序捕获+管理中心静态分析+文件关联分析+威胁清除追溯”的防护策略,终端会对新增的未知文件进行初步分析,将发现的可疑程序会上报管理中心。管理中心通过静态深度分析模块提取文件向量信息进行分析,判断文件是否为高危险文件,还可结合安天追影威胁分析系统对其进行深度动态分析。一旦判断该文件为高级威胁载荷,可通过文件关联分析排查出与该文件有关的其他攻击载荷,对相关威胁载荷进行统一清除,对其持久化进行处置。

        同时,为了在不同操作系统和使用场景中形成全局防御模型。安天在有关专家的建议下,率先在端点防护产品的研发工作中引入了ATT&CK威胁框架,将其作为产品主防能力指标的主要参考和验证标准。例如本漏洞利用在ATT&CK框架中,就可映射到“代码签名(Code Signing,T1116)”项目下。智甲参考该信息,收集和分析了在系统环境中执行的软件上的签名证书元数据,用以查找异常证书特征和异常值。ATT&CK威胁框架在安天智甲的落地,极大增强了智甲的检测与防护能力。

图3-1智甲客户端成功查杀带有伪造签名的病毒样本

图3-2智甲采集能力在ATT&CK威胁框架中的映射

        智甲将安天自主先进的威胁检测引擎与驱动级主防有效结合,依托动态防护策略可帮助用户有效应对层出不穷的新威胁。