隐写术是一种隐藏信息的方法,已经有几百年的历史了。近些年,这种方法被网络攻击者所利用。继续阅读,进一步了解隐写术示例、隐写术类型和网络安全中的隐写术。
什么是隐写术?
隐写术是将信息隐藏在另一条消息或实物中以避免被发现的一种方法。隐写术可用于隐藏几乎任何类型的数字内容,包括文本、图像、视频或音频内容。隐藏的数据可以在目标位置处被提取出来。
通过隐写术隐藏的内容有时会在隐藏到另一种文件格式中之前进行加密。如果没有加密,那么可能会以某种其他方式进行处理,使其更难被发现。
作为秘密通信的一种形式,隐写术有时会被用来与密码学作比较。然而,这两者并不相同,因为隐写术不涉及在发送时对数据进行加扰或在接收时使用密钥对数据进行解码。
“隐写术”(steganography) 一词来源于希腊语“隐藏或掩盖”(steganos) 和“书写”(graphein)。数千年来,为了方便秘密通信,人们一直以各种形式使用隐写术。例如在古希腊,人们会把消息雕刻在木头上,然后用蜡遮盖住。罗马人使用各种形式的隐形墨水,当受热或照射到阳光时,原本的字迹就会显形。
隐写术与网络安全相关,因为勒索软件团伙和其他威胁发起者在攻击目标时往往会隐藏信息。比方说,他们可能会隐藏数据和恶意工具,或向命令与控制服务器发送指令。他们可以将所有这些信息放在看似无害的图像、视频、声音或文本文件中。
隐写术的原理
隐写术就是以避免起疑的方式隐藏信息。其中最流行的一种技术被称为“最低有效位”(LSB) 隐写。具体做法就是将秘密信息嵌入媒体文件的最低有效位。例如:
- 在一份图像文件中,每个像素由三个字节的数据组成,对应于红、绿、蓝三种颜色。某些图像格式会额外添加第四个字节,对应于透明度,即“alpha”。
- LSB 隐写术改变了其中每个字节的最后一位,以此隐藏一位数据。因此,要使用此方法隐藏 1 兆字节的数据,需要一个 8 兆字节的图像文件。
- 修改像素值的最后一位从图片上以肉眼看不出任何变化,这意味着任何人都无法分辨出原始图像和经过隐写术修改的图像之间的差异。
同样的方法也可以应用于其他数字媒体,如音频和视频:数据会隐藏在文件的某些部分中,而能听到或能看到的内容几乎没有变化。
另一种隐写术是利用字词替换。发送秘密消息的人将文字按一定的间隔分散到更大的文本中,以达到隐藏目的。虽然这种替换方法使用起来很简单,但也可能会使文本看起来很奇怪,不自然,因为要隐藏的词语在目标句子里可能看起来不合逻辑。
其他隐写方法包括隐藏硬盘的整个分区,或者将数据嵌入文件和网络数据包的标头部分。这些方法的效果取决于它们可以隐藏多少数据,以及它们是否容易被发现。
隐写术类型
从数字角度看,隐写术主要有五种类型。它们是:
- 文本隐写术
- 图像隐写术
- 视频隐写术
- 音频隐写术
- 网络隐写术
我们依此来看:
文本隐写术
文本隐写术指的是将信息隐藏到文本文件中。这包括更改现有文本的格式、更改文本中的字词、使用上下文无关语法生成可读文本或生成随机字符序列。
图像隐写术
这种方法是将信息隐藏到图像文件中。在数字隐写术中,图像通常用于隐藏信息,因为在以数字形式呈现的图像中有大量元素,并且有各种方法可以将信息隐藏到图像中。
音频隐写术
音频隐写术是将秘密信息嵌入音频信号中,从而改变相应音频文件的二进制序列。与其他方法相比,将秘密信息隐藏到数字声音里的操作更加困难。
视频隐写术
这种方法是将数据隐藏到数字格式的视频中。视频隐写术可以将大量数据隐藏到动态的图像和声音流中。视频隐写术有两种类型:
- 先将数据嵌入未压缩的原始视频中,然后再压缩
- 直接将数据嵌入压缩后的数据流
网络隐写术
网络隐写术,有时也称协议隐写术,是一种将信息嵌入数据传输所使用的网络控制协议(如 TCP、UDP、ICMP 等)的技术。
隐写术与密码学的区别
隐写术和密码学的目标相同,即保护消息或信息不受第三方的影响,但它们所采用的机制不同。密码学将信息变为密文,只有用解密密钥才能理解。也就是说,如果有人截获了加密信息,很容易就能看出使用了某种形式的加密。而隐写术不会改变信息的格式,而是隐藏信息的存在。
隐写术与 NFT 的区别
隐写术和 NFT (非同质化通证)之间存在一些关联。隐写术是一种将文件隐藏在其他文件中的技术,包括图像、文本、视频等格式的文件。
创建 NFT 时,通常可以选择添加只能由 NFT 持有人透露的额外内容。这些内容的形式不限,可以是高清内容、消息、视频内容、秘密社区入口、折扣码,甚至智能合约或“藏品”。
随着艺术世界的不断发展,NFT 技术也随之改变。在未来,我们可以看到更多使用私有元数据设计出来的 NFT,并且以不同的方式应用,例如游戏、付费门槛、活动票务等。
隐写术的使用
近年来,隐写术主要用在以数字数据为载体、以网络为高速传输通道的计算机上。隐写术的用途包括:
- 避免审查:用它发送新闻信息,可以不用接受审查,也不必担心通过信息追溯到发件人。
- 数字水印:用它来创建不会让图像失真的隐形水印,同时能够跟踪未经授权使用水印的行为。
- 保护信息:执法部门和政府机构用这种技术向外部发送高度敏感的信息,而不会引起怀疑。
如何利用隐写术实施攻击
从网络安全的角度来看,威胁发起者可以使用隐写术将恶意数据嵌入看似无害的文件中。隐写术要取得理想效果,需要投入大量精力并注重每一个细节,因此通常是目标明确的高级威胁发起者会使用这种方法。通过隐写术实施攻击的方式包括:
将恶意有效负载隐藏到数字媒体文件中
数字图像可能是主要目标,因为它们包含大量冗余数据,可以在不明显改变图像外观的情况下进行操纵。由于它们在数字环境中的应用非常广泛,图像文件往往会让用户放松对恶意意图的警惕。视频、文档、音频文件甚至电子邮件签名也为使用隐写术植入恶意有效负载提供了其他的潜在媒介。
勒索软件和数据渗漏
勒索软件团伙也学会了利用隐写术来实施攻击。隐写术也可以用在网络攻击的数据渗漏阶段。通过将敏感数据隐藏到合法通信中,隐写术提供了一种提取数据而不被发现的方法。随着大量威胁发起者开始将数据渗漏视为网络攻击的主要目标,安全专家越来越善于实施各项措施,通过监控加密的网络流量来检测数据被提取的情况。
将命令隐藏到网页中
威胁发起者可能会在带有空白部分的网页和发布到论坛的调试日志中隐藏植入命令、将窃取到的数据秘密上传到图像中,并通过在特定位置存储加密代码来确保持久性。
恶意广告
实施恶意广告活动的威胁发起者也会利用隐写术。他们将恶意代码嵌入在线横幅广告中,加载时,这些广告会提取恶意代码,并将用户重定向到漏洞利用工具包的登陆页面上。
网络攻击中使用的隐写术示例
电子商务信息窃取
2020 年,荷兰电子商务安全平台 Sansec 发布的研究报告显示,威胁发起者将用于窃取信息的恶意软件嵌入电子商务结账页面上的可缩放矢量图形 (SVG) 中。这类攻击涉及在 SVG 图像中隐藏恶意有效负载,以及将解码器单独隐藏在网页的其他部分。
在被入侵的结账页面上输入详细信息的用户并没有注意到任何可疑之处,以为这些图片只是知名企业的徽标而已。因为有效负载包含在正确使用 SVG 元素语法的内容中,所以搜索无效语法的标准安全扫描程序无法检测到恶意活动。
SolarWinds
同样在 2020 年,一群黑客将恶意软件隐藏到 SolarWinds 的合法软件更新中,SolarWinds 是一家知名 IT 基础设施管理平台的制造商。黑客成功攻破了微软、英特尔和思科,以及美国各政府机构的安全系统。然后,他们使用隐写术将窃取的信息伪装成看似合法的 XML 文件,这些文件包含在控制服务器的 HTTP 响应体中。这些文件中的命令数据被伪装成不同的文本字符串。
工业企业
还是 2020 年,英国、德国、意大利和日本的企业受到使用隐写文档的活动攻击。黑客通过上传到 Imgur 等知名图像平台的隐写图像来感染 Excel 文档,从而避开了检测。Mimikatz 是一种窃取 Windows 密码的恶意软件,它是通过图片中的一个秘密脚本下载的。
如何检测隐写术
检测隐写术的方法称为“隐写分析”。有多种工具可以检测是否存在隐藏数据,包括 StegExpose 和 StegAlyze。分析人员可以使用其他常规分析工具,如十六进制查看器软件来检测文件中的异常。
然而,要找到经隐写术修改的文件是非常困难的,每天上传到社交媒体上的图像有千千万万,数据隐藏在其中,几乎不可能知道查找可疑文件应该从哪里入手。
缓解基于隐写术的攻击
在攻击过程中使用隐写术相对容易,而防范起来则复杂得多,因为威胁发起者变得越来越有创造力。一些缓解措施包括:
- 网络安全培训可以提高人们的安全意识,降低从不可信来源下载媒体所涉的风险。通过培训,人们能够学会如何发现包含恶意文件的网络钓鱼电子邮件,并了解隐写术这种网络威胁的普遍性。基本内容包括引导人们留意文件尺寸过大的图像,因为这种情况可能表明存在隐写术。
- 组织应实施网络过滤以提升浏览的安全性,并在有更新可用时及时安装最新的安全补丁。
- 企业应该使用优于静态检查、基本特征码和其他过时方法的现代端点保护技术,因为隐藏在图像中的代码和其他形式的混淆更有可能被行为引擎动态检测出。企业应将检测工作聚焦于更容易检测出加密和混淆的端点上。
- 此外还应使用多个来源的威胁情报,随时了解最新趋势,包括利用隐写术对其所处行业产生不利影响的网络攻击。
- 使用全面的反病毒解决方案将有助于检测、隔离和删除设备中的恶意代码。现代反病毒产品会自动更新,针对最新病毒和其他类型恶意软件的提供防护。
相关产品:
延伸阅读: