微软用易受攻击的工具创建了可执行安装程序。
安全研究人员斯蒂芬•坎撒克(Stefan Kanthak)声称,微软Visual C++ Redistributable for Visual Studio 2017可执行安装程序(x86和x64)是用几年前的不安全工具创建的,因而留下了让不法分子可以提升权限的漏洞。
坎撒克在8月14日发到8月21日发布的Full Disclosure(全面披露)安全邮件列表的一则帖子(http://seclists.org/fulldisclosure/2018/Aug/35)中直截了当地指出:“微软用过时的垃圾(CRAP)创建了最新的可执行安装程序,居然还敢将它们分发给数以亿计的客户,那些众所周知的漏洞会被人利用!”他这样写道。
坎撒克所指的垃圾恰恰是WiX工具集v3.7,这个版本过时的开源软件用来构建Windows安装软件包。
早在2016年1月,WiX经销商FireGiant就发布了关于WiX v3.10.2版本的详细信息,这个安全更新用于修复影响该软件之前版本的DLL劫持漏洞。FireGiant的联合创始人之一是罗布•门辛(Rob Mensching),1999年他在微软开发出了WiX。
DLL劫持漏洞让与可执行文件放在同一个目录中的恶意软件得以在可执行文件运行时加载。安装程序之所以特别容易受到攻击,是由于它们往往被下载到其他许多文件也在其中的Downloads目录。
FireGiant解释:“视你的浏览器及其设置而定,传播恶意软件的网站可以自动将DLL下载到你的Downloads文件夹。如果DLL的名称与你的软件包加载的系统DLL一样,Windows就会加载并执行Downloads文件夹中的恶意软件,而不是Windows系统文件夹中的DLL。”
该公司特别感谢坎撒克披露了这个问题。
坎撒克在发给IT外媒The Register的电子邮件中说:“这是本地攻击。如果攻击者能够滥用你的网络浏览器来执行‘路过式’下载,从而下载通常由可执行安装程序侧面安装(side-load)的其中一个DLL,它就变成一种远程攻击。”
坎撒克表示,他向微软反映了这个问题,他在过去的二十年中多次报告相关缺陷。他补充道,所有版本的Windows都可能容易受到这种类型的攻击,因为模块加载器会先搜索Applications目录中的DLL。
据坎撒克声称,微软的安装程序是在10周前构建的,在11周前进行了数字签名,但是可执行文件本身却是在2015年2月13日即3年半前用Visual Studio 2010构建的,用于Windows XP和更新版本的Windows NT上。他指出,微软在10个月前就停止支持Windows XP了。
被问及此事时,微软表示它在上周的8月份安全更新中修复了这个问题。微软发言人在发给The Register的电子邮件中表示,“如果客户安装了更新或启用了自动更新功能,就会受到保护、远离CVE-2018-0952。”
但是坎撒克坚称微软睁亮眼说瞎话。他说:“无论微软说什么,那完全是扯淡,这是十足的谎言!CVE-2018-0952修复了Visual Studio中一个毫不相关的漏洞。用WIX工具集构建的安装程序根本没有修复程序!”
坎撒克表示,三年前他就向FireGiant的门辛通报了这个问题。他说:“就在几周前他再次与我联系,寻求帮助:他的所有修复程序都无法阻止这种类型的攻击。”
Register试图联系FireGiant的门辛以证实这个说法,但还没有收到回复。