近日,安全公司MalwareHunterTeam发现有网络钓鱼仿冒网站正在使用JavaScript检查访问是否来自虚拟机或“无头设备”(无显示器),并屏蔽此类访问以逃避安全检测。
因为网络安全公司通常使用无头设备或虚拟机来确定一个网站是否是钓鱼网站。
为了绕过检测,网络钓鱼套件利用JavaScript来检查浏览器是在虚拟机下运行还是在未连接监视器的情况下运行。如果发现任何安全分析尝试的迹象,该钓鱼网站将显示空白页面,而不显示网络钓鱼页面。
MalwareHunterTeam发现,该脚本会检查访问者屏幕的宽度和高度,并使用WebGL API查询浏览器使用的渲染引擎。
使用API获取浏览器渲染和屏幕信息
该脚本还会检查访问者的屏幕的色深是否小于24位,或者屏幕的高度和宽度是否小于100像素。
如果检测到以上任何一种情况,网络钓鱼页面将在浏览器的开发人员控制台中显示一条消息,并向访问者显示一个空白页面。
但是,如果浏览器使用常规的硬件渲染引擎和标准的屏幕大小,则脚本将显示网络钓鱼登录页面。
该威胁行为者使用的代码似乎取材自2019年的一篇文章,该文章描述了如何使用JavaScript检测虚拟机。
网络安全公司Emsisoft的首席技术官Fabian Wosar指出,网络安全软件利用多种方法来扫描和检测网络钓鱼站点。其中包括签名匹配和使用机器学习的虚拟机。
Wosar解释说:“上面的代码实际上可以用于其中的某些技术。但是,通过挂接几个JavaScript API并提供‘虚假’信息来防止这种情况也是微不足道的。”
对于研究人员和安全公司来说,加固其虚拟机以避免被恶意软件检测到是很常见的做法,现在看来,他们现在还必须用类似的方法来对付网络钓鱼攻击。