狠毒的勒索软件,开始使用 JavaScript 感染用户计算机
勒索软件的攻击越来越猖獗,而且不断演化出新的变种。最近,安全研究人员发现了基于 JavaScript 代码的勒索软件。
早期发现的勒索软件主要利用电子邮件附件或存在漏洞的网站来感染用户计算机。但是,最近出现了利用脚本程序语言 JavaScript 的勒索软件。JavaScript 是一个合法的框架文件,因此安全解决方案很难检测到利用 JavaScript 的恶意软件。此外,JavaScript 不仅支持 Windows、Linux 和 Mac OS X 等多样的操作系统,在理论上基于 JavaScript 的勒索软件可能用于感染包括三种主流操作系统以外的操作系统。
下面将介绍利用 JavaScript 的勒索软件的两种方式。
1. 电子邮件附件包含的 JavaScript 文件

【图 1】垃圾邮件附件上包含的 JavaScript 文件
随着通过电子邮件传播恶意软件事件频繁发生,为了防止通过电子邮件的病毒传播,很多企业引进了相应的解决方案。当电子邮件附件为可执行文件的时候,安全设备或应用程序发出警告并拦截病毒。面对这种防御,勒索软件制作者也改变了传播方式。他们将电子邮件附件的文件形式从可执行文件换成 JavaScript 文件,即通过 JavaScript 文件传播病毒。
通常,垃圾邮件附加的 JavaScript 代码已进行了混淆。根据文件类型稍有差异,当运行脚本的同时下载勒索软件到用户计算机并运行。
2. 以 JavaScript 撰写的“Ransom32”
网络安全提供商 Emsisoft 本月1日揭露了史上首款以 JavaScript 撰写的勒索软件 Ransom32。这个恶意软件使用了植入在 WinRAR 中的脚本语言,自动将文档内容解压缩到用户临时文件目录,并执行文档中的“chrome.exe”文件。

【图 2】自解压缩挡勒索软件
Chorme.exe 乍看之下很像 Google 的 Chrome 浏览器,但它缺乏正确的数字前面和版本信息。其实它是个封装的 NW.js 应用程序,含有执行恶意行为所需的框架。NW.js 是利用 HTML 和 JavaScript 的应用程序开发框架,通过 index.html 文件运行以 JavaScript 撰写的二进制。
如下表的所有文件扩展名都会成为 Ransom32 加密的目标。当对用户文件进行加密后,会显示勒索信息。

【表 1】Ransom32 加密对象扩展名

【图 3】Ransom32 显示的勒索信息
AhnLab V3 产品可以检出前面所述的两种方式的勒索软件。
V3 产品诊断名
JS/Downloader (2015.12.31.08)
JS/Downloader (2015.11.06.06)
Trojan/Win32.Teslacrypt (2015.12.18.03)
Trojan/Win32.Ransom32 (2016.01.06.01)
Dropper/Win32.Ransom32 (2016.01.06.00)
勒索软件发展迅速,预计2016年勒索软件攻击还会持续,而且技术日益精进。勒索软件的攻击范围不局限于PC,将逐渐扩大到智能手机、各种穿戴式设备(Wearable device)。此外,采用了加密算法进行加密,如果用户得不到解密密钥,事实上被加密的文件将无法解密回来。面对这种狠毒的勒索软件,我们不能只依赖于防病毒软件,最好的防护就是强化对安全的认识并对重要数据进行备份。