下载之家:安全、高速、放心的绿色下载站!

当前位置:首页IT资讯微软详细列表

长达两年的漏洞在新版Win10 1909和2004中得到修复

时间:2020-08-18 来源:下载之家
手机扫码继续观看
长达两年的漏洞在新版Win10 1909和2004中得到修复
微软原版 Win10专业版 64位 2004 iso镜像-V2020.08

微软原版 Win10专业版 64位 2004 iso镜像-V2020.08

大小:4.77 GB类别:国产软件

更新:2020-08-05下载:7467

8月18日早间消息:作为2020年8月补丁程序星期二的一部分,Microsoft解决了一个漏洞,该漏洞允许MSI文件转换为恶意Java可执行文件,同时保留合法公司的数字签名。

此漏洞被跟踪为CVE-2020-1464,Microsoft将该漏洞描述为Windows验证签名文件的欺骗漏洞

Windows错误地验证文件签名时,存在一个欺骗漏洞。成功利用此漏洞的攻击者可以绕过安全功能并加载未正确签名的文件。

在攻击情形中,攻击者可能会绕过旨在防止加载未正确签名的文件的安全功能。

长达两年的Windows漏洞在新版Win10 1909和2004中得到修复

后来在博客文章中指出Zengo的安全研究人员Tal Be'ery和SafeBreach Labs的Peleg Hadar,此更新是针对两年前于2018年8月18日报告的错误的,Microsoft最初表示它们是不会修复。

2018年检测到恶意签名的Java文件

在2019年1月,VirusTotal的Bernardo Quintero披露了他们的VirusTotal Monitor服务在2018年上传并检测到经过恶意签名的Java可执行文件。

长达两年的Windows漏洞在新版Win10 1909和2004中得到修复

恶意JAR文件已于2018年提交给VirusTotal

在检查.jar文件后,Quintero发现该恶意软件是一个带有Java JAR文件的MSI文件。

即使对该MSI文件进行了篡改并重命名为JAR文件,问题仍然是Windows仍认为该文件由Google的有效证书签名,如下所示。

长达两年的Windows漏洞在新版Win10 1909和2004中得到修复

恶意JAR文件显示为Google签名

由于某些安全解决方案利用数字签名来确定是否应允许运行未知文件,因此威胁执行者可以使用此技术来创建绕过安全软件的Java恶意软件。

发现此漏洞后,Quintero于2018年8月18日以负责任的方式向Microsoft披露了此漏洞,但被告知该漏洞不会得到修复。

“在撰写本文时,此攻击媒介已在Windows 10和Java的最新和更新版本中得到验证(Windows 10版本1809和Java SE Runtime Environment 8 Update 191)。Microsoft决定将不解决此问题。在当前版本的Windows中,并同意我们能够公开发布有关此案和我们的发现的博客,” Quintero在他的公开信中解释说。

为了帮助检测这些类型的恶意JAR文件,VirusTotal都在其分析中添加了对这些被篡改文件的检测,并且还更新了SysInternal的sigcheck工具以检测它们。

使用CVE-2020-1464修补程序,如果Windows MSI文件已被附加JAR文件篡改,则Windows将不再考虑对它们进行签名。

当我们查看下面的Windows 10 1909(左)和Windows 10 2004(右)中使用此技术的恶意JAR文件的属性时,可以看到Microsoft的修复程序。

长达两年的Windows漏洞在新版Win10 1909和2004中得到修复

修复前后的恶意JAR文件属性

在BleepingComputer的测试中,此安全更新仅删除由JAR文件修改的MSI文件上的数字签名。

如果将.exe可执行文件附加到已签名的MSI文件中,则MSI的签名将继续保持有效,表明尚未对其进行修改。

在2019年讨论此问题时,Chronicle告诉BleepingComputer这应该不是问题,因为只有JAR文件可以利用此问题。

“到目前为止,这种技术已被证明极为罕见。尽管可以在MSI的末尾附加任何内容,但在这种特殊情况下,只有JAR会按照原始博客文章中描述的方式执行。”编年史在我们关于这个问题的2019年报告中告诉BleepingComputer。

不知道为什么微软花了两年的时间才解决此问题,为什么Quintero未被归因于披露该漏洞的人。

BleepingComputer已就这些问题与Microsoft联系,但到目前为止尚未听到任何回音。

为什么要篡改MSI文件?

您可以篡改MSI文件,而不会由于读取这些文件的方式而使签名无效。

根据Tal Be'ery的说法,当Windows读取MSI文件时,它将从文件的开头一直读取到有效的MSI签名的结尾,然后将其余的丢弃。

因此,在检测到有效的MSI文件结构之后,无论它是什么,它都会忽略附加的数据。

正如我们在2019年报道的那样,JAR文件只是ZIP文件,并且在执行时由JAVA运行时从文件末尾开始读取,直到检测到有效ZIP文件结构的开头为止。然后,它将丢弃文件的其余部分。

长达两年的Windows漏洞在新版Win10 1909和2004中得到修复

Zip内部布局

来源:Wikipedia

当Windows从头开始读取而JAVA从头开始读取时,它允许操作系统将JAR文件视为合法签名的文件。

同时,JAVA从头读取一个JAR文件,并丢弃其余文件。

结合在一起后,我们就有了一种有效的方法,让恶意行为者可以创建恶意的JAR文件,同时还可以欺骗合法公司的数字证书。