浙江新闻网

卡巴斯基:ATMJaDi的恶意软件

  2019年春季,我们发现一款利用Java编写的最新ATM恶意软件样本被从墨西哥上传到多引擎扫描服务,之后又从哥伦比亚上传。经过简要分析,我们可以清楚地确认这款名为ATMJaDi的恶意软件能够从自动提款机(ATM)中盗取现金。但是,这种恶意软件没有使用标准XFS、JXFS或CSC库。 相反,它使用受害者银行的ATM软件Java专有类:这意味着这种恶意软件只能用于一小部分ATM机。这也使得这种恶意软件非常具有针对性。

  卡巴斯基产品将这种恶意软件样本检测为Trojan.Java.Agent.rs

  技术详情

  首先,与大多数其他ATM恶意软件一样,攻击者必须找到办法将恶意软件安装到目标ATM上。这种恶意软件无法通过ATM键盘或触摸屏控制,因为它运行着自造的 HTTP 服务器 Web 界面用于控制。所以,网络罪犯必须对目标ATM具有网络访问权限。这让我们相信网络罪犯已经入侵了银行的基础设施,以获得对ATM所连接的网络的访问权限。

  一旦安装和执行,这款以Java归档文件形式存在的被称为“INJX_PRE.jar”的恶意软件会查找控制ATM的进程,并将自身注入其中,从而控制合法的ATM进程。注入完成后,恶意软件会以多种语言同时在终端上打印消息,这些语言包括:俄语、葡萄牙语、西班牙语和中文。但是,恶意软件使用的所有其他信息或字符串都是英文的。输出中显示的不同语言短语可以翻译成英语“自由与荣耀”。后面跟着额外的俄语信息“отдельный”,意思是“分开”。我们认为这种做法是一种伪旗手段,因为母语是俄语的人永远不会在文中使用这个词。

   Свобода и слава

   Liberdade e glória

   Libertad y gloria

   自由与荣耀

   отдельный

  之后,启动HTTP服务器,该服务器使用预定义的URL路径接收命令。 它们是:

   d 突出钞票或让ATM中的储钞盒执行动作(正确的动作由传递的参数决定);

   eva 在遭受攻击的ATM上评估(运行)用户提供的代码;

   mgr 对于管理器,它使犯罪分子能够访问附加的Java虚拟机的所有正在运行的类的列表,以便他们可以调用他们想要的任何函数,并在需要时提供参数;

   core 能够让网络罪犯从受害者文件系统中载入特定的.jar文件;

   root path接受POST请求正文并将其作为shell命令传递给cmd.exe,返回结果输出。

  出钞动作和“运行shell”路径没有带有表单和按钮的界面页面,而是仅接受预先准备的HTTP POST请求并将原始文本结果打印到页面,省略HTML标记。因此,在出钞请求的情况下,恶意软件响应将是'ok'字符串。 “获取现金单元信息”请求后面将跟一个描述ATM现金单元状态的字符串(参见下面的示例)。

  1:1000;5:700;10:100;20:30;

  这些字符串由四个组组成,每个组用分号分隔。它是一个与ATM现金盒相对应的列表,由两个值组成,用冒号分隔:代表储钞盒中的面额和纸币的实际数量。在上面的例子中,第一盒存有1000张面额为1的纸币,700张面额为5的纸币,以此类推。

  除了“运行shell”,“出钞”和“获取现金单元”之外,“eva”,“mgr”和“core”路径具有界面页面。 以下是评估页面的屏幕截图:

  

  结论

  ATMJaDi的针对性特征表明,网络罪犯在编写恶意软件之前,很好地研究了受害者。很明显,他们必须能够访问自定义Java类运行的ATM,并且最有可能访问Java程序源代码。

  此外,恶意软件的被控制手段表明,犯罪分子计划很可能是通过银行的内部网络获取对受感染ATM的网络访问权限。

  银行应该怎样做才能阻止这类攻击:

   设置专门的反针对性攻击解决方案来保护银行的网络,例如KATA(卡巴斯基反针对性攻击平台),使用其他解决方案来保护ATM不受恶意软件侵害;

   实施ATM文件白名单;

   银行的ATM网络必须要隔离,并且必须严格限制对其的访问;

达到当天最大量

http://www.sugys.com/bdsdwYi/g.html