2007年,摇滚乐队九寸钉乐团(Nine Inch Nails)发布了专辑《零年》(Year Zero)。在正式发行专辑之前,他们在演出场地留下了彩蛋。有观众在演出场地的洗手间发现了一个U盘,里面存储着即将发行的新歌My Violent Heart。
U盘里的这首歌,和正式发行的版本不太一样。人们发现U盘中的这首歌在结尾处出现了几秒钟的噪音。
为了看看这些多出来的噪音到底咋回事,有人把音频文件放进了专业的音乐软件中。这时,频谱图里出现了一只手。
音乐的频谱图里藏着的手(左),和专辑封面上的那只凭空出现的手(右)如出一辙。
几乎不会有人想到,用耳朵听的艺术里还隐藏着图片。人们早就开始利用这种反直觉的方法,偷偷传递一些“听不见”的信息。
听不到的信息
在音乐文件里藏图,一直都是电子音乐家的基本操作之一。
英国电子音乐家Aphex Twin总喜欢恶搞自己的脸。1999年,他在歌曲“Equation”中直接将脸印在了音乐结尾。当人们把这首奇怪的音乐放到音乐编辑器里时,他们吓了一跳。
音乐的最后几秒,你会“听到”一张脸丨Maxdamantus/Yotube
经过信号变换,人们可以将音频转换到频域进行处理。在频谱里,不同的色彩和位置代表了不同频率信号的分布。如果你并不在意最终的音乐是否好听,那就可以把频谱当成画板,随意涂抹里面的信号。有网友就通过图片频谱转换软件,将自家的猫猫照片转换成了音乐。
理想:听听我家猫!现实:噪音。丨monotoniac/Youtube
直接把频谱图当画板的人们确实有点“极端”,因为这样的音乐听起来非常诡异,几乎没有什么旋律可言。用这种异常的音乐传递隐藏信息容易露馅。而另一些操作,可以让消息更加隐蔽地传递。
2010年,哥伦比亚军方计划向被反政府武装俘虏的士兵传递信息。传递的信息很可能会被反政府武装看到,存在一定风险。因此,他们需要把信息隐藏起来。据之前获救的人说,他们被俘虏时可以收听电台。于是军方联系了音乐制作方,制作了一首流行乐Better Day(更好的日子)并在丛林地区覆盖的小型电台进行播放。这首歌里,藏着摩斯电码。据报道,后来被释放的人质提到了这首歌中的隐藏信息。
在音频里隐藏信息或许离人们的生活有点远。不过在图片领域,“隐写术”早就成了瞒天过海的妙招。
图片:我也挺能装
隐藏信息一直都是人类的“刚需”之一。隐写术的目的,就是只让特定的人员可以知晓传递中的信息。有人欺骗你的听觉,也有人试图欺骗你的视觉。
今年年初,豆瓣网因为一张App截图被“骂上热搜”。有网友发现豆瓣为了防止未授权的搬运,在页面中嵌入了肉眼难以发现的“盲水印”,内容包括截图用户 ID、被截图帖子 ID、截图时间。这些水印文字的颜色和背景颜色相似,人们用肉眼难以分辨。
在深色模式下可以看到这些水印信息丨PConline
是图还是压缩包?
在网盘还没有成为主流,“种子资源”独霸天下的时代,“种子”仿佛成了互联网盗版资源的代名词。盗版资源的种子当然会遭到封杀。为了继续分享这些资源,人们想到了一个非常隐秘的方法:把种子文件藏在图里,做成“图种”。当你把一张jpg图片下载到电脑中,再把后缀名改成.rar,就可以得到一个包含着种子文件的压缩包。
网络上的图种生成器
这种隐藏技巧其实并不难,对于图片文件来说,文件数据包含了开始符和终止符。当你用图片浏览器打开图片时,浏览器只会识别作为图片这部分的数据,从而显示开始标识符到终止标识符的图片。因此,人们可以在终止符后继续添加数据,并且不被图片浏览器发现。
不过这种增加数据的图片隐写术只能躲过审核员的肉眼。一旦遇到扫描软件,整个文件的信息就会被全部扫描出来。
加数据危险?那就直接“改图”
图片本身其实是一系列像素的色彩数据,如果在这些数据上进行微小的改动,就可以把信息嵌入图中。比如把每一个像素点中的最低有效位数据(Least Significant Bit, LSB)进行修改,就可以不动声色地在图片里藏入信息。
上左. 隔壁编辑同事麦麦的可爱猫猫。
上右. 在猫猫里藏入了果壳Logo,是不是和左边看起来没区别?
下. 提取上右图片的最低位信息,得到隐藏的果壳Logo。
除此之外,图片的属性信息、频域信息等都可以变成隐藏其他信息的载体。通过这些方法,各类图片都可以被藏入额外的信息。因此也有黑客搭上了这趟“顺风车”。病毒文件、钓鱼网站……在看似正常的载体下隐藏恶意代码,也成了电脑经常中毒的原因之一。
藏着病毒代码的图片
想体验简单的隐写术也不是什么难事。有很多在线网页和工具可以让你将信息直接藏在图里。在这些网站里,你只需要上传照片并填写需要隐藏的信息,程序就会把信息写入图片之中。别人只需要将隐藏后的图片上传到网站点击“解密”即可提取这些信息。
隐写术发展至今,载体也在不断更新。从普通的书写文本到数据代码,甚至是以DNA为载体,人们还在不断探索隐藏信息的新方式。或许对于普通人而言,隐写只是一种偶尔尝试的消遣。但对于信息安全人员而言,如何更好地隐藏和发现信息,一直会是重要的研究议题之一。
参考文献
[1] 豆瓣被爆出在截图中添加盲水印,包含用户 UID 等信息。https://www.ithome.com/0/603/924.htm
[2] Steganography. Wikipedia. https://en.wikipedia.org/wiki/Steganography
[3] Yildirim, Melih. "Steganography-based voice hiding in medical images of COVID-19 patients." Nonlinear Dynamics 105.3 (2021): 2677-2692.
[4] Michael Raggo, Chet Hosmer. 数据隐藏技术揭秘:破解多媒体、操作系统、移动设备和网络协议中的隐秘数据[M].机械工业出版社, 2014.
[5] Image Steganography. https://incoherency.co.uk/image-steganography/
[6] Channalli, Shashikala, and Ajay Jadhav. "Steganography an art of hiding data." arXiv preprint arXiv:0912.2319 (2009).
[7] Is the Image Hidden in Aphex Twin"s "Equation" the Best Easter Egg in Electronic Music? https://www.vice.com/en/article/nzm7mz/aphex-twin-easter-egg
[8] Aphex Twin. Wikipedia. https://en.wikipedia.org/wiki/Aphex_Twin#cite_note-WinlickChart-74
[9] Johannes Trithemius, Archmage of Secrets. https://medium.com/@dzanemorris/johannes-trithemius-archmage-of-secrets-9fc0e7bde40d
[10] Reeds, Jim. "Solved: The ciphers in book III of Trithemius"s Steganographia." Cryptologia 22.4 (1998): 291-317.
[11] 李旋,陈妍. 隐写术在网络空间安全中的应用与分析测试方法[C]//.2019互联网安全与治理论坛论文集.,2019:199-203.DOI:10.26914/c.cnkihy.2019.023084.
[12] 高华玲.信息隐藏关键技术研究综述[J].电子世界,2016(09):146+148.DOI:10.19353/j.cnki.dzsj.2016.09.109.
[13] Steganographic Decoder. https://www.xhcode.com/converter/steganographic-decoder.html
[14] Cui, Meiying, and Yixin Zhang. "Advancing DNA Steganography with Incorporation of Randomness."ChemBioChem21.17 (2020): 2503-2511.
本文来自微信公众号 “果壳”(ID:Guokr42),作者:Owl,编辑:窗敲雨,36氪经授权发布。