在过去的两年里,网络犯罪分子使用了各种各样的方法来在网上商城的各个地方隐藏针对Credit Card的信息窃取代码,以防止被安全检测方案所发现,而这些信息窃取代码也被称之为Web Skimmer或Magecart脚本。
在此之前,研究人员曾在网站Logo、缩略图标、内部图像、实时聊天窗口、社交媒体分享按钮以及热门JavaScript库中发现过Web Skimmer的身影。但是,最近发现的恶意代码宿主已经涉及到了CSS文件了。
CSS文件代表层叠样式表,在浏览器内使用CSS文件可以加载各种规则以对网页元素进行样式化定义。这些CSS文件通常包含描述各种页面元素的颜色、文本大小、各种元素之间的填充、字体设置等的相关代码。
然而,现在的CSS已经不是21世纪初的样子了。在在过去的十年里,CSS语言已经发展成为了一种强大的实用工具,Web开发人员现在正在使用它来创建强大的动画,而很少甚至几乎没有人会选择使用JavaScript。
CSS语言最近增加的一个功能,即添加CSS变量,这种变量可以用于存储某些之后需要复用或调用的内容。
荷兰安全公司Sanguine Security(SanSec)的创始人Willem de Groot表示,目前至少有一个网络犯罪团伙正在使用CSS变量来进行攻击。Web skimmer团伙首先会获取一个在线商店的访问权限,然后修改其CSS和JavaScript文件,并向其中注入恶意代码。
在CSS代码中,他们会添加一个CSS变量,这个变量中存储的是他们需要在被攻击商店中加载Web Skimmer代码的URL地址,而这个CSS变量会通过一个看似无害的JavaScript代码(注入到在线商店中的其他地方)中进行调用。
下图显示的是CSS文件中的CSS变量:
下图显示的是JavaScript代码调用CSS变量的代码段:
Web安全工具通常只扫描JavaScript代码,而不会扫描CSS文件。除此之外,它们只会扫描JavaScript代码的静态版本,而并不会实际执行这些JavaScript脚本。
这样做是为了避免在网上商店里制造空的购物车或影响在线商店的分析平台。这也就意味着,隐藏在CSS变量中的恶意代码在大多数平台上都不会被发现,即使这些网站使用了功能强大的Web应用程序防火墙和Web安全扫描器。
Willem de Groot表示,他们在最新发现的Web Skimmer代码之中,发现了一个标准的键盘记录程序。自从通过Twitter发布了相关报告之后,它似乎在一个小时之后就被下线了。他说到:“我们还发现了一些其他受此技术感染的在线商店,然而这些基础设施自今年9月份以来貌似就已经上线了,因为此前还有十多次传统攻击也使用过这些基础设施。由此我们推断,这些CSS文件貌似是攻击者进行新技术实验的一个部分。”
尽管这种通过使用CSS规则作为代理来加载Web Skimmer代码的技术无疑是一种创新,但Willem de Groot也表示在线商店的店主或者在线购物用户其实并不用过多的担心。他表示:“虽然大多数研究都涉及到了JavaScript Skimming攻击,但大部分的Skimming都发生在服务器上,而我们是无法在服务器上观察到相关攻击行为的。在今年我们所进行的取证调查活动中,我们发现在65%的攻击情况下,服务器端Skimmer代码隐藏在数据库、PHP代码或Linux系统进程之中。”
正如ZDNet周一在一篇关于SanSec另一项调查结果的文章中所解释的那样,购物者保护自己免受Web Skimmer攻击的最简单方法就是使用为一次性付款设计的虚拟支付卡。这些卡片由一些银行或在线支付服务商提供,允许购物者在虚拟卡片中存入一笔固定金额的钱,该卡在一次交易或一小段时间后将会到期。如果卡片的详细信息被攻击者窃取,那么一旦虚拟卡过期,卡片数据将不再有效。
日前,一个被大量下载的 Node.js 组件被发现其含有一个高危的代码注入漏洞。 该...
比特币的价值是一个复杂的话题,涉及很多方面;然而,它的价值可以归因于几个因素...
最近,一份广东省深圳市中级人民法院的(2018)粤03民特719号民事裁定书(下称裁定...
前段时间,微软发布了Microsoft Exchange Server的安全更新公告,其中包括了4个...
近日,土耳其央行行长 NaciAbal 表示,央行已开始进行多项有关数字货币的研究,...
任何有效的企业IT安全计划都必须基于某些核心原则。这些安全原则已经经过数十年...
回顾2020年,我们看到了macOS攻击者策略发生了许多改变。这些措施包括转换为Shel...
作为互联网时代的一种变革性技术区块链已广泛用于金融、物联网、公共服务、供应...
通常情况下,让程序自行结束是最理想的状态。在进程正常进行退出时,会调用ExitP...
淘系可以拒绝微信,但没有办法拒绝数字货币 对于微信,同为支付企业,支付宝可以...