特别企划 | 冰山下的威胁:网络攻击中的隐写术

华盟原创文章投稿奖励计划

Freebuf 此前也有多篇文章涉及一个有趣的课题——隐写术,如图片木马Stegoloader,又如恶意广告攻击事件。这些应用隐写术的案例,都似乎带着古老的气息、蒙着神秘的面纱,而由于其较强的隐匿性,进行恶意攻击时很难被检测和发现。这种古老的隐写术,在如今危机四伏的当今时代,是否应用在其他恶意软件中,与此相对的,又有怎样的防御检测方式?

隐写术是指以秘密方式传递通讯信息,单词应写书也是希腊单词 στεγανός(steganos) 和 γράφειν (graphein)  的组合词汇,στεγανός 意思是“覆盖、密封、保护”,而 γράφειν 代表着“书写”。密码术是通过加密将消息中的内容应藏起来,和密码术不同,隐写术是通过在消息上覆盖其他内容实现隐藏消息的目的。隐写术的概念最早出现在 1499 年,但这种秘密通讯的做法自远古时期就已经存在。罗马时代就有这样的故事,他们在进行秘密通讯时会选择奴隶将其头发剃光,而消息被纹在皮肤上。而当奴隶的头发恢复浓密之时,他就可以带着任务上路了。消息接受者在阅读消息时会再次剃去奴隶的头发,阅读消息。

应对正浮出水面的危险新趋势:网络攻击中的隐写术

隐写术用在了恶意软件和间谍工具中

隐写术在整个 20 世纪得到了积极的发展,如用来攻击隐秘系统的隐写分析,然而我们在今天可以看到危险的新趋势正在出现:隐写术越来越多地被用于创建恶意软件和网络间谍工具。而多数现代反病毒软件无法抵御隐写术,任何载体都可以将 payload 秘密带入,因此会造成潜在的威胁。这些隐写的内容中可能包含间谍软件可以读取的数据,用在恶意程序与 C&C 服务器之间的通讯中。

在本文中,我们使用如下定义:

Payload:秘密传递的信息或隐藏的数据

载体(Loader):嵌入了payload 的对象

隐写系统:用于创建隐藏通道以传递信息的方法和方式

信道:数据传递的通讯渠道

密钥:用于从载体中提取payload的密码

多数现代反病毒软件无法抵御隐写术,任何携带对象都可以将 payload 秘密带入,因此会造成潜在的威胁。这些隐写的内容中可能包含间谍软件可以读取的数据,用在恶意程序与C&C服务器之间的通讯中。

近期,我们在下列恶意软件和间谍软件中发现隐写术的使用痕迹:

Microcin (AKA);

NetTraveler;

Zberp;

Enfal ( Zero.T);

Shamoon;

KinS;

ZeusVM;

Triton (Fibbit).

趋势之下,还原隐写术的真相

所以,为什么恶意软件的作者开始在编写程序时使用隐写术?这样的使用趋势之下隐藏着怎样的原因呢?

- 隐写术可以帮助隐藏数据,如隐藏上传和下载的信息

- 隐写术还有助于避免反APT产品的安全检查,因为后者目前还无法处理所有的图像文件。普遍情况下图像文件较多,针对于此的分析算法都较为昂贵不够普及。

- 而对终端用户而言,检测载体中的 payload 则更是不可能完成的任务。

我们可以举个例子,来看下面的两个图片,一幅图片是空载体,另一幅则是携带payload的载体,你能看出谁是谁吗?

应对正浮出水面的危险新趋势:网络攻击中的隐写术应对正浮出水面的危险新趋势:网络攻击中的隐写术

我们可以使用标准图片测试工具 Lenna 来进行检测。检测结果显示,虽然两张图片均为786 486字节;但右侧的第二张图片里还包含了 Nabokov 小说《洛丽塔》的前10章。即便你再仔细的观察这两张图片的差异也很难发现问题所在,尽管在外观和图像尺寸上都是相似的,但有一张图片就是包含秘密信息的隐写术载体。

我们需要了解三点和隐写术有关的真实情况:

- 隐写术现在在恶意软件和间谍工具作者之中非常流行

- 多数的反恶意软件,和一些安全检测工具无法检测隐写payload载体。这些载体正由于和普通图像(或其他类型的文件)十分相似,隐匿性强,所以难以分辨。

- 所有的隐写检测技术还只处于POC状态,而检测技术还不能直接从逻辑上转换成商业的安全检测工具。原因有很多,如检测的速度现在通常很慢,检测率低,有时甚至在数学层面存在错误(确实存在一些例子)。

案例分析:恶意程序 Zero.T 中运用的隐写术

下面是某个恶意程序的一部分,它就使用了隐写术来进行秘密通讯。让我们来这之中体现的具体案例,恶意加载器Zero.T。2016年时卡巴斯基安全研究人员发现了这个检测器,且Proofpoint的安全专家首个公开相关描述。

应对正浮出水面的危险新趋势:网络攻击中的隐写术

这个Zero.T恶意加载器非常奇妙,它以位图文件的形式加载payload!

应对正浮出水面的危险新趋势:网络攻击中的隐写术->170727_steganography-5.png

这一步中间发生了什么呢?表面上看左边这张图里的三张bmp图片看上去是这样的,

应对正浮出水面的危险新趋势:网络攻击中的隐写术

但恶意程序里的图片决对不会这么单纯,经过对图片的分析发现这三张bmp确实并不简单,看上去有些模糊也是因为每张图片中部分像素的最低有效位都被 payload 占据了。

于是,我们可以接着对存在问题的图片进行处理,来还原它的真实面目,现在已经有很多处理方法, 其中最简单的一种方法称为Visual Attack,可以揭开伪装图片的真相,我们以第三张图片为例。这种方法可以根据原始图片生成新图片,每张新图片都是不同颜色位平面下包含最低有效位的色彩内容。然后,以合适的顺序排列新生成的图片,就可以看到一些东西。

应对正浮出水面的危险新趋势:网络攻击中的隐写术

在第二和第三图像中,显然可以清楚看到高熵(高数据密度)区域 – 就是这些区域包含了嵌入式有效载荷。

这个步骤也许看似简单,但对安全分析师和一般用户来说很难看到这些嵌入的数据。其次,这一步的图像分析目前还难以实现自动化。

但现在科学家们从统计学角度研究出了一种检测 payload 载体的方法。它可以按照编入的payload具有高熵的假设来进行判别(由于载体的容量有限,所以payload在编码之前会被压缩或加密,因此增加其熵),在多数情况下也能够正确识别。

但是,发现于现实生活中的恶意加载器 Zero.T在 编码之前并没有压缩其恶意模块。相反,它增加了其使用的最低有效位(通常是1,2或4位)。这种情况下,上述的统计方法就无法识别了,还有其他办法吗?

统计分析方法:直方图

2000年,Andreas Westfeld 和 Andreas Pfitzmann 提出了这样一种统计分析方法,用以检测隐写的图像。

统计的是整张图像中图片每个像素颜色的数量。统计结果如下图所示,结果显示载入payload的相邻颜色之间的差距变小了,也就是说不同色彩之间的数量差异变小了,统计结果更均衡;而没有添加payload的图片差异更大。

应对正浮出水面的危险新趋势:网络攻击中的隐写术

具体算法如下:

应对正浮出水面的危险新趋势:网络攻击中的隐写术

应对正浮出水面的危险新趋势:网络攻击中的隐写术

应对正浮出水面的危险新趋势:网络攻击中的隐写术

应对正浮出水面的危险新趋势:网络攻击中的隐写术

p = 0.95和p = 0.99时的卡方分布值计算得出为101.97以及92.88.如果图片对应计算出的卡方值更低,这个图片可能就是带有payload的载体吧。如果再对照查看 Visual Attack,就可以清晰看到包含payload的区域。

应对正浮出水面的危险新趋势:网络攻击中的隐写术

那,DNS隧道也算是一种类型的隐写术吗?

那么看到这里,问题来了,DNS隧道是不是也算一种类型的隐写术?答案,确实是的。

利用DNS查询过程建立起隧道,传输数据的过程可以结合下面的图来理解。

封闭网络中的计算机发出DNS查询请求,本地DNS服务器的cache中查不到,则会转到外部互联网上进行查询,再将查询结果返还。从 DNS 协议上看,你是在一次次的查询某个特定域名,并得到解析结果。但实际上,你在和外部通讯。你没有直接连到局域网外的机器,因为网关不会转发你的 IP 包出去。但局域网上的 DNS 服务器帮你做了中转。

应对正浮出水面的危险新趋势:网络攻击中的隐写术

而心怀不轨的人则可以利用查询解析的过程,将信息传递出去。攻击者具有255个字符的预留位置,子域名最多为63个字符。每个DNS请求中可以发送63个字符的数据,并发回63个字符作为响应,这会成为一个隐藏的沟通渠道,肉眼看不到任何额外数据的传输。

应对正浮出水面的危险新趋势:网络攻击中的隐写术

结束语

隐写术将信息嵌入载体,逃避人眼及计算机检测,甚至逃过反病毒程序的探查。在图像、音频、文本中都可能运用隐写术逃避检测,进行秘密通讯传输。我们看到一股强劲的势头——恶意软件开发者也开始更多地利用隐写术进行隐匿传输了,悄无声息地从C&C服务器上下载恶意模块等等。而相关检测工具由于目前昂贵的价格、通用性不强还不能普及的情况下,多数安全解决方案可能还无法包含检测隐写术payload。

当然,针对隐写术的有效解决方案也仍在研究与发展中,混合统计分析、预先检测,元数据分析潜在载体等方法的综合解决方案也许能够识别出隐匿的元凶。危机四伏的世界,在安全专家和各方科学研究推进的帮助下,安全边界才能不被渗透。

参考资料:

1.http://www.freebuf.com/news/topnews/103455.html

2.http://www.freebuf.com/column/139632.html

3.https://securelist.com/steganography-in-contemporary-cyberattacks/79276/

*本文作者Elaine,转载请注明FreeBuf.COM

本文原创,作者:小龙,其版权均为华盟网所有。如需转载,请注明出处:https://www.77169.net/html/170505.html

发表评论