微软 Visual Studio 变成木马植入器?
信息安全越来越受到重视,其中,防止黑客植入木马程序,向来是最关键的工作方向。然而,如果任何程序被生产出来的时候,就被自动植入木马呢?如今微软的开发工具,被爆出一个重大争议──Reddit网站上Sammiesdog网友发现,Visual Studio 2015的C++编译器会在编出来的程序里偷偷植入木马──他编译自己写的程序时,发现编出来的结果竟然无缘无故的多了远端遥测(telemetry)的呼叫,而且这呼叫,还是在微软官方文件上没有记录的。
这个截图经过证实,在Windows 7或者Windows 10中,只要你使用Visual Studio 2015 Update 2,就可以使用这段代码,来重现这个状况:
#include “stdafx.h”
#include <iostream>
int main()
{
return 0;
}
这样的代码,有学过C++语言的人就知道只是一个程序的空框架,只差没有打印出「Hello World」,但是编译完以后,使用debug功能来检视,会发现被插入了telemetry_main_invoke_trigger呼叫。
目前微软公司Visual C++开发团队的研发经理Steve Carroll已经出面响应,确有此事,而且将会在Visual Studio 2015的Update 3移除此功能。他解释这个功能的作用是:
「这段代码所做的,是当系统ETW(Windows事件追踪机制)有开启的时候,触发一个ETW事件,发出时间戳以及模块读取的状况。只有当客户的操作系统有设定要主动跟我们寻求协助,且愿意提供PDB信息给我们时,才会启动功能,我们并没有要监控所有的客户,反而目前还是用传统方法来调查与解决问题。」然而ETW已经被爆过有回传客户隐私数据的疑虑。
想避开这个「木马」问题的话,目前使用Visual Studio 2015 Update 2的开发者,需要在编译的设定上,把「notelemetry.obj」档案加入连结器的命令列(已经被Carroll确认有效)。
目前微软官方发言人也已经确认此事,表示新版本将解决这问题,不过目前还没有订出时间表,所以使用微软开发工具的开发者就得多留意了。