能。里面藏了数据的照片,往往可以被检测出来,但检测通常意味着知道“被加了东西”,而不是读出它是什么。能不能被发现,取决于三件事:用的是什么隐藏方法、谁在看、他们带了什么工具。翻图库的人看到的是一张图片。自动扫描器看到的是统计数字,并会产生很多误报。带着取证工具、训练有素的检查人员,通常能看出一个文件携带的东西超出了它的画面,但没有密码,仍然读不出加密的内容。

本指南说明上面每种“看的人”能看到什么,最著名的实地研究在扫描两百万张图片时发现了什么,以及为什么“扫描干净”和“被标记”一样证明不了什么。

检测发生在三个层面

把可能来看的人分开来讲会有帮助,因为每种人看到的东西不同。

三种“看的人”(随手一瞥的人、自动扫描器、训练有素的检查人员)对四件事的矩阵:画面本身,三者看起来都正常;比画面所需更大的文件,随手看的人只有去检查才会注意到,扫描器可能发现,检查人员能发现;文件结构里的额外数据,随手看的人看不到,扫描器可能标记,检查人员能看到;内容和文件名,没有密码三者都读不出来。
隐藏防住的是第一列。只有加密能防住最后一行。

随手一瞥的人,看你的手机或笔记本电脑时,看到的是缩略图。任何种类的隐写术,都能彻底骗过这种人,因为图片看起来一模一样。他们唯一可能抓到的破绽是大小:一张手机照片在文件浏览器里占了几百兆,看起来很奇怪。r/privacy 上一位评论者就用一张“miraculously taking up 12gb of data”(神奇地占了 12GB 数据)的图片说明了这一点。

自动扫描器对大量文件运行统计检验或格式检查,并标记不寻常的那些。它从不读取内容,并且要在漏报和误报之间权衡。正如 Hacker News 上一位评论者所说,检测器的阈值必须调好,才能“don't give too many false positives to make them useless. And they're not magic.”(不会产生太多误报而变得没用。而且它们不是魔法。)

训练有素的检查人员一次处理一台设备或一个文件,有时间,也有一整套工具。他们通常能看出文件含有图像之外的数据。读取它是另一个问题,而在有强加密和好密码的情况下,这正是他们解决不了的问题。

统计型隐写分析,找的是被扰乱的噪声

真正的隐写术改动的是图像数据本身,最常见的是像素值或 JPEG 系数的最低位。这种改动是看不见的,但自然照片在这些位上有一种特有的噪声模式,而看起来完全随机的加密数据会扰乱它。按 Wikipedia 的概括,隐写分析“generally handled with statistical analysis”(通常通过统计分析来处理),理想情况是把可疑文件与“from the same source (for example, the same model of digital camera)”(来自同一来源,例如同一型号数码相机)的未修改文件做比较。

研究历史是一场竞赛。针对简单 LSB 嵌入的统计攻击发表于 2000 年和 2001 年。随后出现了保持简单统计特征的工具,之后又有针对高阶统计的攻击;比如 OutGuess 的 JPEG 方法,就被 2002 年的一次块状度攻击攻破。自 2012 年以来,最先进的是在数千个图像特征上训练的机器学习分类器。从业者描述了两个极端:用一位 Hacker News 评论者的话说,朴素的 LSB 替换“VERY easy to detect”(非常容易检测),而另一位则指出有“whole body of work that focus on statistically undetectable data hiding”(专注于统计上不可检测的数据隐藏的一大批研究)。两者都对。起决定作用的是算法和隐藏数据的量。

有一种情形简单得毫无悬念。如果分析者拿到了原始照片,把两个文件一比,任何改动立刻现形。r/Steganography 上有位 Reddit 用户发布了 100 张图片作为“破解我的方法”的挑战,很快就领教了这一点:最高赞的回复找到了这些图片来自的公开数据集,做了比较,并发现了蓝色通道上的 LSB 改动。

文件大小和结构,暴露了大多数实际的隐藏做法

日常使用中的大多数“图片里藏文件”的方法,根本不是统计型的。它们是在图像结束标记之后追加数据,或添加文件格式允许的额外数据块。隐写术是什么?把数据藏进图片的原理详细讲解了每种方法。这些做法能放更多数据,并让画面保持像素级完好,但会留下明显的结构性破绽:文件比同样尺寸和质量的图像应有的大,而读取整个文件的程序会发现图像并不需要的内容。

对任何可疑文件的一般取证流程,都从这类朴素的检查开始,而不是从什么冷门的统计开始。r/computerforensics 上的从业者描述了这些做法:先了解该格式的正常文件长什么样,检查文件的开头和结尾,提取可读的文本,列出文件的内部结构,按特征签名雕刻出任何嵌入的文件,并测量熵,因为加密或压缩的数据得分接近随机。只有在那之后,他们才运行针对特定格式的检测器。追加的数据几秒钟就能显现。加密的数据则表现为读不出来的一块噪声。

两百万张图片,约 17,000 个标记,零条信息

衡量现实中隐写术的最著名尝试,是 Niels Provos 和 Peter Honeyman 在 2001 年的研究。他们从 eBay 拍卖中下载了两百万张图片,并对全部图片运行了他们的 JPEG 检测器 Stegdetect。它标记了约 17,000 张,大约 0.85%。他们随后对被标记的图片运行了分布式字典攻击,却一无所获:“We have analyzed two million images downloaded from eBay auctions but have not been able to find a single hidden message.”(我们分析了从 eBay 拍卖中下载的两百万张图片,但没能找到哪怕一条隐藏信息。)

漏斗:2001 年扫描了 2,000,000 张 eBay 图片,Stegdetect 标记了约 17,000 张,占 0.85%,发现的隐藏信息为零。
Provos 和 Honeyman,2001 年。几乎每个标记都是误报。

这项研究虽然年代久远,仍有两条教训留存。第一,标记很廉价,而且大多是错的,这就是为什么 Wikipedia 的隐写分析文章,把仅凭检测器输出采取行动称为“a very dicey proposition unless a payload has been completely recovered and decrypted”(除非载荷已被完全恢复并解密,否则是非常冒险的)。第二,检测和恢复是不同的步骤;恢复需要密码。这些数字是 2001 年对拍卖照片上 JPEG 工具的一个快照,不是当前的检出率,而且对于追加或插入的数据,也没有可比的近期数字。r/computerforensics 上一位 2012 年的评论者,描述了一个类似的个人项目,“scanned millions of images and discovered about 200”(扫描了数百万张图片,发现了约 200 张)被标记,并暴力破解了其中六张。

扫描干净,并不证明文件是干净的

检测器也会漏。在 r/computerforensics 上,有位用户用几个检测器测试一张他用 steghide(它会加密并分散载荷)做的图片,反映道:“None of these tool found anything.”(这些工具一个都没发现。)Stegdetect 本身也不再开发了。没有命中,只能说明那个工具和那种方法的情况,并不能证明什么都没有。

同一个帖子也是检验“究竟有多少人会去看”的一个现实参照。那里的取证从业者把图像隐写术描述为在夺旗赛(CTF)谜题里很常见、在实际案件里很少见:“In a CTF? Lots! Real life? Not as much as you would think.”(在 CTF 里?很多!现实中?没你想的那么多。)这并不是假定没人会看的理由。它是不要把隐私计划建立在“光靠隐藏就能撑住”这个希望上的理由。

这对你手机里隐藏的照片意味着什么

综合起来,对日常照片隐藏的老实回答是这样的。对使用或借用你设备的人,一个看起来像普通照片的封面文件是管用的,因为他们看到的是图片,别的什么都看不到。对专门的工具或训练有素的检查人员,应当假定隐藏的数据会被注意到,并依靠加密和强密码来保护内容的私密。对能依法强迫你交出密码的人,隐藏和加密都不是防御,少带数据是唯一安全的建议。

两栏。HideFile 能防的:翻看你照片或文件的人;没有密码就读取内容和文件名;保险箱 App 图标暴露你;换新手机时丢失文件。它不能防的:专门的工具看出被加了数据;忘记密码;重新编码或重建文件的 App;间谍软件或被入侵的设备;被迫交出密码。
边界一图看清:是日常的隐私,不是对取证工具或法律权力的防护。

HideFile 能帮上什么

HideFile 在任何现代浏览器里通过 hidefile.app,把私密照片和文件放进一张普通的照片、视频或 PDF 里,并在浏览器里用你的密码加密。文件不会上传到 HideFile 的服务器。封面在“照片”、视频播放器或 PDF 阅读器里是一个正常的文件,所以扫一眼你图库的人看到的是他们预期的东西。

我们把局限说得直白,因为本页讲的就是它:HideFile 能挡住随手窥探,挡不住取证工具。它不改动像素,也不试图骗过统计检验。专门的工具能看出封面里被加了数据;内容保持加密,没有密码就读不出来。密码无法找回。会重新编码照片的 App 可能会把隐藏的部分去掉,所以请把封面当作文件来保存和分享。对于边境检查、训练有素的检查人员或法律压力,它不合适。

对这个问题双方的工具,见隐写术工具对比。更简单的技巧以及每种能骗过谁,见怎么把文件藏在眼皮底下。保险箱 App 的对比,见照片保险箱 App 安全吗。

资料来源