软件StegSpy、Stegdetect介绍、使用、下载
软件StegSpy、Stegdetect介绍、使用、下载
1、第一步:将测试文件和Stegdetect.exe文件放一起
一、隐写分析工具
1、介绍
免费软件和商用软件可供执行隐写分析时使用。 很多免费工具只能检测出种类有限的隐写程序。 商用工具则更全面, 可以检测出大批隐写程序。除了检测范围的全面性外, 具有相同的工作原理。
2、原理:
2.1、第一步:发现可疑点
检测文件的某些信息, 据此判断其中包含隐藏内容的, 就标记为可疑文件。 然后, 将可疑文件寄存起来以便后续进行深度分析。
2.2、第二步:人工干预分析
分析环节可以是半自动半手工的, 大多数先进的工具都允许人工查看数据进而分析发现异常特征。不同的隐写程序使用不同的数据隐藏技术, 而且, 同一程序的不同版本应用的数据隐藏技术也会有所改变。 这就增加了隐写分析过程的复杂度。 为了增加隐写分析的难度, 一些隐写程序在隐藏数据时还使用了不同的加密技术, 并且支持多种文件格式。 进行隐写分析时必须能够区分所有差异, 才能准确识别数据隐藏使用的具体程序和版本。在获得隐写程序名称和版本后, 就可以进入下一步了。
2.3、第三步:获取隐藏信息
将隐藏技术进行逆向工程并最终得到隐藏信息。
2.4、注:
在进行隐写分析时常常使用多个 工具, 因为误报和漏报经常同时发生, 所以使用多个工具可以使分析更加准确。
二、免费软件
商用软件比大多数免费和开源的隐写分析工具更新频率快,
免费和开源的都比较有针对性, 只能检测数量有限的隐写程序和含有隐藏载荷的载体文件, 每个工具都有其用武之地。
1、StegSpy
1.1、简介:
StegSpy是一个用于检测隐藏信息的签名分析软件。
很多隐写程序都有个共同的趋势,就是除了隐藏信息外,这些程序还会在文件中嵌入某种形式的指纹或者唯一标识隐写程序本身的字符串。例如,前面提到过的Hiderman,会在载体文件尾部追加"CDN"这3个ASCII码。使用这个签名技术,创建一个签名库,并最终编写了一个实现签名分析自动化的程序。
1.2、下载、使用方法、问题:
安装方法很简单, 安装程序是一个独立的可执行文件, 复制到本地后直接运行
1.3、原理
分析可疑文件的过程:
首先将可疑文件与预定义的签名列表对比来发现隐藏内容
如果发现了隐藏的内容则上报隐藏数据使用的隐写工具和隐藏数据在文件中的起始位置。
用于标识起始位置的标识符和其他十六进制编辑器是一样的
1.4、利用
StegSpy 上报的文件标识符和其他十六进制编辑器的文件标识符是一样的, 就能轻松地定位到隐藏内容的位置, 并集中精力提取这些隐藏数据了。 并在十六进制编辑器中分析并查看隐藏内容。
识别隐藏内容的起始位置仅仅是 StegSpy 检测过程的其中一步而已
用十六进制编辑器打开可疑文件, 进一步分析其中的内容。
如果文件内容被加密了, 还必须破解密码, 或者逆向工程加密的数据。 发现了隐藏内容的存在,并分析出了隐写使用的工具和隐藏内容所在的位置。
2、Stegdetect
2.1、介绍:
Stegdetect程序主要用于分析JPEG文件。 因此用Stegdetect可以检测到通过JSteg、JPHide、OutGuess、Invisible Secrets、F5、appendX和Camouflage等这些隐写工具隐藏的信息。
Stegdetect 通过统计测试来分析图像文件中是否包含隐藏内容。 它运行静态测试以判断隐藏的内容是否存在。 此外, 它还会尝试识别隐藏内容是通过哪个隐写工具嵌入的。
2.2、原理:
JPEG和MPEG格式使用离散余弦变换(DiscreteCosine Transform, DCT)函数来压缩图像。 这个图像压缩方法的核心是: 通过识别每个8x8像素块中相邻像素中的重复像素(如果是MPEG文件的话, 就是识别一系列图像中相邻帧中的重复帧)来减少显示图像所需的位数, 并使用近似估算法降低其冗余度。
我们可以把 DCT 看作一个用于执行压缩的近似计算方法。 因为丢失了部分数据, 所以 DCT 是一种有损压缩技术, 但一般不会影响图像或视频的视觉效果。
Stegdetect 的目的是评估JPEG文件的 DCT 频率系数, 把检测到的可疑JPEG文件的频率与正常JPEG文件的频率进行对比。 频率对比结果的偏差很大则说明被检查文件存在异常, 这种异常意味着文件中存在隐藏信息的可能性很大。
2.3、下载、使用:
三、使用方法:
1、第一步:将测试文件和Stegdetect.exe文件放一起
2、第二步:打开命令提示符并进入文件夹里
win+R
cmd回车
进入到Stegdetect文件夹里面
3、第三步:检测文件
执行Stegdetect.exe检测
①.\Stegdetect.exe -tjopi -s 10.0 test.jpg
test.jpg : negative(否定)
应该是没找到
②.\Stegdetect.exe -tjopi -s 10.0 1.jpg
Corrupt JPEG data: 2684 extraneous bytes before marker 0xbf
1.jpg : error: Unsupported marker type 0xbf损坏的JPEG数据:2684个小字节在标记之前0xbf之前
1.JPG:错误:未支撑的标记类型0xbf
4、第四步:结果分析
损坏的第2684个字节的位置,应该被插入了数据
但是未检测出对应的软件
再使用数据编辑工具提取分析出插入的数据
四、相关命令:
1、模板:
stegdetect [ −qnV] [ −s float] [ −d num] [ −t tests] [file ...]
2、命令:
-q:仅显示可能包含隐藏内容的图像
-n:启用检查JPEG文件头功能, 以降低误报率。 如果启用, 所有带有批注区域的文件将被视为没有被嵌入信息。 如果JPEG文件的JFIF标识符中的版本号不是1.1, 则禁用OutGuess检测。
-s:修改检测算法的敏感度, 该值的默认值为1。 检测结果的匹配度与检测算法的敏感度成正比, 算法敏感度的值越大, 检测出的可疑文件包含敏感信息的可能性越大。
-ct:打印带行号的调试信息。
-v:显示软件的版本编号。
-d num:打印调试信息。
3、对隐写工具的检测
-t:设置要检测哪些隐写工具(默认检测j opi), 可设置的选项如下:
-j:检测图像中的信息是否是用jsteg嵌入的。
-0:检测图像中的信息是否是用OU七 guess嵌入的。
-p:检测图像中的信息是否是用jphide嵌入的。
-i:检测图像中的信息是否是用 invisible secre七s嵌入的
五、特殊设置
1、*作用
如果检测结果显示该文件可能包含隐藏信息, 那么 Stegdetect 会在检测结果后面使用1-3 颗星来标识隐藏信息存在的可能性大小, 3 颗星表示隐藏信息存在的可能性最大。 待续的研究分析表明 Stegdetect 对高质量的数字图像的检测效果更佳, 比如用数码相机拍摄的照片。
列出了在目录中的每个 JPEG 文件的检测结果, Stegdetect 在隐写工具后面用星号数量标识分析的准确率。
2、批量操作
D:\>stegdetect -tjopi -s10.0 *.jpg
3、敏感度配置
由于保持了默认参数, 敏感度 (sensitivity) 的值为 1。请务必调整敏感度, 否则会像下面的结果一样, 未检测到隐藏信息的几率会很高。 把敏感度由 1.00 改成 10.00, 那么检测的结果就更准确了
4、总结:
选择的目录中包含了很多JPEG文件,分别用各种各样的隐写工具嵌入了隐藏内容。Stegdetect检测的误报数和漏报数是合理的, 因为JPEG格式采用了复杂的压缩技术, 所以对JPEG文件的分析是很困难的。 此外, 一些JPEG隐写工具并不会嵌入工具自身的指纹和签名。 因此, 在这种情况下, Stegdetect是唯一一个可以有效检测不明来源的JPEG文件的工具
- 点赞
- 收藏
- 关注作者
评论(0)