![](http://mmbiz.qpic.cn/mmbiz_png/ZIkVabbjP4EaTIGDvNdharDpxp7a5NHxrktkz20R2q5ia6oEsd8csOL5EaNnDfIJzAJlWvSASKKqrOVswB9zLibg/640?wx_fmt=png)
CISO们拥有一系列不断更新改进的工具来帮助发现和阻止恶意活动:网络监控工具、病毒扫描程序、软件成分分析(SCA)工具、数字取证和事件响应(DFIR)解决方案等。
当然,网络安全是一场持续的攻击与防御之战,攻击者会不断提出新的挑战。
旧的技术,例如隐写术——将包括恶意有效载荷在内的信息隐藏在原本无害的文件(如图像)中的技术,它正在发展且带来了新的可能性。例如,最近一位研究人员证明,即使Twitter也不能免受隐写术的影响,平台上的图像可能会被滥用,以在其中打包高达3MB的ZIP档案。
然而,在我自己的研究中,我注意到,除了使用混淆、隐写术和恶意软件打包技术外,如今的攻击者还经常利用合法服务、平台、协议和工具来开展他们的活动。这让它们能够融入那些在人类分析师和机器看来“干净”的流量或活动。
以下是如今网络犯罪分子用来掩盖其踪迹的六种策略。
滥用不会引发警报的可信平台
这是从2020年起安全专业人士看到的一个普遍主题,2021也是如此。
从CobaltStrike和Ngrok等渗透测试服务和工具,到GitHub等已建立的开源代码生态系统,再到Imgur和Pastebin等图像和文本网站,攻击者在过去几年中瞄准了一系列广泛的可信平台。
通常,有道德的黑客会使用Ngrok来收集数据或为入站连接建立模拟隧道,作为漏洞奖励练习或笔测试活动的一部分。但恶意行为者滥用Ngrok直接安装僵尸网络恶意软件,或将合法通信服务连接到恶意服务器。在最近的一个例子中,SANS研究所的Xavier Mertens发现了一个用Python编写的恶意软件样本,其中包含base64编码的代码,可以在使用Ngrok的受感染系统上植入后门。
由于Ngrok受到广泛信任,远程攻击者可以通过Ngrok隧道连接到受感染的系统,这可能会绕过企业防火墙或NAT保护。
GitHub也被滥用来托管从OctopusScanner到Gitpaste-12的恶意软件。最近,狡猾的攻击者结合使用开源PowerShell脚本来滥用GitHub和Imgur,使他们能够在GitHub上承载一个简单的脚本,该脚本可以从一张无害的Imgur照片中计算出Cobalt Strike的有效载荷。CobaltStrike是一种流行的渗透测试框架,用于模拟现实世界中的高级网络攻击,但与任何安全软件产品一样,它可能会被对手滥用。
同样,开发人员依赖的自动化工具也不能避免被利用。
2020年4月,攻击者利用GitHub的服务器和资源进行加密货币挖掘,在一次自动攻击中,利用GitHub的行动攻击了数百个存储库。
这些例子说明了为什么攻击者会将目标对准许多防火墙和安全监控工具可能无法阻止的合法平台。
利用品牌价值、声誉或知名度的上游攻击
在SolarWinds漏洞事件之后,软件供应链安全问题可能引起了公众的关注,但这些攻击已经持续了一段时间。
“上游”攻击利用已知合作伙伴生态系统中的信任,并利用品牌或软件组件的知名度或声誉。攻击者的目标是将恶意代码向上游推送到与品牌相关的可信代码库,然后将其分发到下游的最终目标:该品牌的合作伙伴、客户或用户。
任何对所有人开放的系统也对对手开放。因此,许多供应链攻击都针对开源生态系统,其中一些系统在维护“开放给所有人”的原则方面存在漏洞。然而,商业组织也会受到这些攻击。
在最近的一个被比作Solar Winds事件的案例中,软件测试公司Codecov披露了针对其Bash Uploader脚本的攻击,该脚本两个多月来一直未被发现。
Codecov的29,000多个客户包括一些著名的全球品牌。在这次攻击中,公司客户使用的上传器被改变,将系统的环境变量(密钥、凭据和令牌)泄露到攻击者的IP地址。
防止供应链攻击需要在多个方面采取行动。软件提供商将需要加大投资以确保开发构建的安全性。基于AI和机器学习的DevOps解决方案能够自动检测和阻止可疑的软件组件,可以帮助防止错误类型、品牌劫持和依赖混淆攻击。
此外,随着越来越多的公司采用Kubernetes或Docker容器来部署其应用程序,具有内置Web应用程序防火墙并能够及早发现简单配置错误的容器安全解决方案有助于防止更大的危害。
通过难以追踪的方法进行加密货币支付
暗网市场卖家和勒索软件运营商经常交易加密货币,因为它的设计去中心化和注重隐私。但是,尽管不是由政府央行铸造或控制,加密货币仍然缺乏与现金同等的匿名性。因此,网络犯罪分子找到了在账户之间抽取资金的新方法。
最近,与2016年Bitfinex黑客事件有关的价值超过7.6亿美元的比特币被转移到多个新账户,交易金额从1个到1200个比特币不等。
加密货币并不是一种完全可靠的隐藏资金踪迹的方法。2020年美国总统大选当晚,美国政府清空了一个价值10亿美元的比特币钱包,其中包含与最臭名昭著的暗网市场丝绸之路相关的资金,该市场本身已于2013年关闭。
其他一些加密货币,如Monero(XMR)和Zcash(ZEC),在匿名交易方面具有比比特币更广泛的隐私保护能力。犯罪分子和调查人员之间的交锋毫无疑问将继续在这条战线上,因为攻击者一直在寻找更好的方法来隐藏他们的踪迹。
使用公共通道和协议
与受信任的平台和品牌一样,合法应用程序使用的加密通道、端口和协议为攻击者提供了另一种掩盖其足迹的方法。
例如,HTTPS是当今Web普遍不可或缺的协议,因此,端口443(被HTTPS/SSL使用)在企业环境中很难被阻止。然而,基于HTTPS的DNS(DoH)(一种用于解析域的协议)也使用端口443,并且已被恶意软件作者滥用,将其命令和控制(C2)的命令传输到受感染的系统。
这导致了两方面结果。首先,通过滥用HTTPS或DoH等常用协议,攻击者可以像合法用户一样享受端到端加密通道的隐私优势。其次,这给网络管理员带来了困难。以任何形式阻止DNS本身就是一个挑战,但现在,鉴于DNS请求和响应是通过HTTPS加密的,安全专业人员必须拦截、挑出和分析许多通过网络移动入站和出站的HTTPS请求的可疑流量,这成为了一个麻烦。
研究员Alex Birsan展示了依赖混淆技术,道德地侵入了35家以上的大型技术公司。他通过使用DNS(端口53)来窃取基本信息,从而使成功率最大化。Birsan之所以选择DNS,是因为公司防火墙很可能不会阻止DNS流量,同时考虑到性能要求和合法的DNS使用。
使用签名的二进制文件运行混淆的恶意软件
我们所熟悉的无文件恶意软件的概念是使用本地的二进制文件(LOLBINs),这仍然是一种有效的规避技术。
LOLBIN是指合法的、经过数字签名的可执行文件,例如由Microsoft签名的Windows可执行文件,攻击者可能会滥用它们来启动具有提升权限的恶意代码,或逃避终端安全产品(如反病毒)。
上个月,微软分享了一些企业可以采用的防御技术指南,以防止攻击者滥用微软的Azure LOLBIN。
在最近的另一个例子中,我发现Linux和macOS恶意软件在所有领先的防病毒产品中具有完美的零检测率。
二进制文件确实包含混淆代码,这有助于逃避检测。然而,进一步调查还显示,该恶意软件是使用数百个合法的开源组件构建的,并以与合法应用程序相同的方式进行恶意活动,例如获得管理权限。
虽然混淆的恶意软件、运行时包装、虚拟机规避,或把恶意有效负载隐藏在图像里是已知的逃避技术,但它们的真正威力来自于绕过安全产品或在其雷达下飞行。
当有效负载在某种程度上与受信任的软件组件、协议、通道、服务或平台相结合时,这就成为了可能。
用不常见的编程语言编写恶意软件
根据黑莓研究和情报团队最近的一份报告,恶意软件作者正在更多地使用不常见的编程语言,以更好地逃避检测。使用的主要语言是Go、D、Nim和Rust。
这些语言以多种方式添加了混淆。首先,用新语言重写恶意软件意味着基于签名的检测工具将不再标记它(至少在创建新签名之前)。其次,黑莓研究人员表示,这些语言本身就是一个混淆层。例如,用于解码、加载和部署其他常见恶意软件的第一阶段恶意软件是用一种不常见的语言编写的,这有助于逃避端点上的检测。
黑莓研究人员指出,目前用这些语言编写的恶意软件很少有自定义混淆。最常见的一种是Gobfuscate,它是用Go编码的恶意软件。能够操作包、函数、类型和方法名称,以及全局变量和字符串。