隐写溯源

写这篇文章是因为就要搞毕设了,本来按流程11月7号就应该发的通知现在才给我们,说是20号确定题目,1月份开题报告….流汗黄豆,这学院真是服了。

隐写术,初次了解应该是来自于电视剧、小说、故事里,人们用特殊墨水书写信息,干了之后会隐形,达到一个隐藏信息的作用。接收方通过用别的药水,或者是用火烤的方式能让文字显性。

再次接触到隐写,是上次玩ctf比赛杂项中遇到的许多有趣的题目,我稍微回忆一下

1.图片的文件名被改成其他格式:
首先我用010editor来查看文件的16进制格式,通过判断文件头来判断是什么样的文件,因为不管是png文件还是jpg文件都会有属于他们的文件头,修改回原来的格式就行,一些文件头例如
.png:89 50 4E
.JPEG:FF D8 FF
.GIF:47 49 46 38
[可参考常见文件文件头_Forever.Sun-CSDN博客]

2.一张图片,但是看起来有点像显示不全:
通过010editor来查看16进制数,修改行宽

3.一张图片,色彩丰富:
很有可能考察LSB,最低有效位,用工具【StegSlove】设置参数,看到返回值有有意义的文字

4.一张图片看起来平平无奇,一用010editor看发现好长啊没道理:
这意味着这张图片夹着别的文件,用工具进行分离。比如kali的【binwalk】可以把文件分离出来。【foremost也是用来分离文件的工具】

5.有时候分理出压缩包,还是丢进010editor查看:
若加密位为09后一个校验位也是09,是真的被加密了,此时可以用工具或者脚本爆破
若加密位为09后一个校验位是00,是伪加密,把第一个09改成00就可以正常解压了

6.音频的隐写,笑死舍友手撕摩斯电码

隐写很多时候跟crypto联合一起出题的,那次ctf我玩的很开心。

回到本文要讲的,这次霍老板给出三个方向:
1.对加密文件在密文状态下进行操作(增删改查)
2.敏感文件的检测
3.隐写溯源

三个方向都很有现实意义,老实说第一个是老师的拿手好戏,在研究密文方向开辟了新的道路的。但是我比较对隐写溯源感兴趣,也许是因为玩ctf的时候培养的吧,就像是玩捉迷藏一样,想办法找到藏在信息里的信息。并且涉及到溯源,在网安学习必然会碰到要溯源的情况,或者说如果是HW蓝队高级人员是要进行溯源以及反打红队的,因此我觉得这个方向的学习无论是对于知识还是技术,无论是以后研究还是工作都会有很大的的帮助。

隐写溯源,说白了是通过往文件里面插入“透明的”数据打上标记,可以方便验证文件的机密性等,而当需要进行溯源的时候,也可以通过标记看出传播链。

下面是我的一些想法(也是心中的疑问):
1.文件本身是干净的,那么给他加水印就破坏了完整性,因此日后所说的原来的文件是指干净的文件还是加水印之后的文件呢?

2.文件加了水印之后哈希值会发生改变,那么怎么防止一些检测系统的算法验证哈希值不同而产生的误报、漏报问题?

3.加了水印之后要是有人拍照截图传播怎么办?

4.有什么方法防止水印被修改,清除,怎么感觉还可以给水印加水印,这样一层层套娃有没有意义?毕竟人的思维很活跃,保不准有人就是花费大量心思来破解并且修改让我们认为传播链没出现问题。像md5通过碰撞就能解出密文。

5.怎么实现的溯源

6.还是那句话,溯源过程信息怎么防止篡改

7.若隐写溯源这项技术成为主流标准,那么,当水印通过一些程序、硬件扫描验证,是不是意味着可以触发一些安全问题,比如代码执行、命令你个执行?也就是说万一黑客知道要根据这个技术进行解密,故意构造payload替换掉水印的部分,是不是当程序验证的时候就会触发?

8.由于这个技术是用来溯源,那么怎么防止黑客利用技术来获取内网的拓扑结构等十分敏感的信息?黑客会不会通过技术对系统进行渗透?

9.待补充

很多想法出现在我的脑海里,我越发觉得有点意思,很期待下周的组会或者有时间找霍老板聊一聊。随着学习安全的知识的增长,慢慢的我开始感觉到无力,因为没有绝对的安全,只有当攻击成本远远大于防御成本,或者防守方提前发现可利用漏洞,才能算上安全。因此,通过分析隐写溯源,我认为他是一把双刃剑,既可以便于我们审计文件安全,也存在着被黑客利用的地方。

尽管存在一定的风险,但我认为十分有必要推进这方面技术,因为现实问题的需要。我们经常在网络上看到大量被散布的某些单位的秘密文件,大家是吃到瓜了,但这侵犯了他人隐私,侵犯了他人利益,更坏的来说泄露这些消息可能会导致社会出现动荡,网上例子很多,我举一个发生在最近的例子:
2021年12月上旬,广西境内出现了几个从越南偷渡过来的新冠患者,在我国传播病毒,其中一部分人的轨迹扩散多地,不久后他们被检测出阳性,并且被控制。随后,朋友圈流出了一份excel文件,记录了与新冠人员密切接触者的信息,包括姓名住址联系方式职业等等(比如20个小姐),无疑引爆了网络,大家开始摩拳擦掌搜罗更多相关信息。

在火热的吃瓜潮,最头痛的除了被泄露信息的人,还得是编写这份文件的单位。本应秘密保管的内部资料被如此散播到互联网,性质十分恶劣。相同的事件比比皆是,泄露的信息让人们震撼。那么我们就要进行溯源,然而很多时候溯源是很难完成的,因为传播的可能是源文件的视频、截图等。所以要使用隐写溯源让文件拥有唯一性和扩散路径可以控制并且可以进行溯源。

那么现在目前的隐写溯源技术是怎么样的情况呢?霍老板说能把水印压缩在小四号字大小的范围,简单的看文章说,最常使用的是明文水印,但这个太容易被去掉,还有就是数字水印。水印通过对行间距等文档的格式进行一些修改,不易看出,还能存储信息,但缺点也很明显:存储信息少、存储压缩的空间还能再小、可用性不高,对文档或者图像进行调整(合法人员)水印可能受到影响失去可识别功能。

参考文章:文档隐写溯源技术分析

根据文章提出,为了优化隐写溯源的功能,将从文档管理系统文档隐写技术改进
——————————-文章将文档管理系统分成四个功能模块:—————————————
1.文档上传:
上传原始文档
2权限控制:
可以根据文档受众设置不同权限的访问列表,限制人能获取的信息
3.文档控制追踪:
这个模块是核心模块,实现访问控制,记录传播痕迹生成完整的溯源链。溯源信息包括访问记录标识符,访问文档的用户信息、访问时间、设备标识符、前置溯源标识符(也就是上一个文档记录)等,在办公每一次访问文件都会留下记录。之前提到的几个问题,关于机密性完整性的保护,应该还要加上签名、加密的功能,为防止中间人、重放等攻击,要用时间戳。
4.溯源查询模块:
能做到查询任意文档的扩散链

——————————文章提到文档隐写技术的改进涉及两个技术:————————————-
1.盲水印:
就是人眼看不出来的水印。当上级下发的通知不允许编辑,一般会保存成图片加上盲水印实现隐写。文章指出,目前主要的两种盲水印技术是空域方法频域方法,在文档添加水印作为冗余信息,同时保证图片质量不发生改变。
空域是直接把水印叠在图像上,频域则是通过某些变换方法,如傅里叶变换、小波变换等,把图变到频域,添加水印后再通过逆变换转会空域,此时图片带有水印。
关于空间域和频率域见其他文章
ctf隐写的题目中最低有效位的隐写,我想就是利用了这些思想,添加的数据是不会影响图像质量(微乎其微)

2.文字欧拉函数:
在阅读到文章这部分的时候我简直拍手喊牛。尽管盲水印可以解决一部分问题,但是当人传播文件的方式是经过截图、摄屏的话盲水印很有可能会失效。文字欧拉函数就解决这一问题,这是一个找不同的技术,通过对文字笔画的删减,构造出唯一的版本号,具体细节参考第一篇链接的文章,这里我不再讨论
从技术角度分析,要实现它的功能,需要依靠先进的图像识别算法的支持,使用文字欧拉函数技术把文件提取出一个矩阵保存在数据库,当遇到传播文件是通过截图等方式的时候,可以通过对比截图部分的矩阵,来判断泄露源。
果然无论解决什么问题,一切的核心都围绕着算法,对于怎么给每次访问打上唯一水印,我想每一次传播,我们的隐写术都会对文档进行精密的手术(不妨碍阅读、不破坏原有信息的表达)


昨晚入睡前我想,我研究方向是基于电子图片的隐写信息的识别,要做到的效果应该是无论从哪个角度拍摄,只要能看懂明文水印就要能被识别出来,要是人用p图改颜色加滤镜增加干扰因素也要尽量能识别出来,霍老板提到,存在一种说法只要多截几次图就能把水印的效果去除,联想到平时上传图片过大时,我也是会反复截图来降低分辨率来达到目的,那么有没有方法应对呢?
我想到两个方面可以着手探讨
1.水印强度足够,怎么折腾都能被识别
2.想办法让文档、图片在经过多次压缩截图一类操作的时候失去辨识度,也就是说,尽管到那个时候水印失去了效果,但是图片也已经无法被人识别,在换句话说,水印的效果要达到至少原文要无法被人分辨了的程度才能被破坏

我认为我感兴趣的将会是针对水印的安全,也就是当水印具备了基本的作用,我要保证水印不被恶意利用,因为我注意到,解析水印这个动作是有安全风险的。



发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注