信息隐写


信息隐写

概述

隐写术是一门关于信息隐藏的技巧与学科,通过信息隐写防止无关用户发现隐藏的信息或数据,保证私密信息可在开放环境中安全传输。

信息隐写与密码技术的区别

  • 密码技术(看不懂):将明文加密成他人看不懂的密文

  • 信息隐写(看不见):安全性来自对于第三方感知的麻痹

隐写载体

  • 有冗余载体:图片、音频、视频

  • 无冗余载体:文本、网络协议

隐写类型

图片隐写

PNG图片格式

数据块符号 数据块名称 字节 十六进制内容 描述
PNG signature PNG署名域 8 89 50 4E 47 0D 0A 1A 0A PNG图片的开始
IHDR 文件头数据块 - - 图片的宽、高、位深、压缩方法等信息
IDAT 图像数据块 - - 数据实际的数据
IEND 图像结束数据 12 00 00 00 00 49 45 4E 44 AE 42 60 82 标记PNG文件结束

使用010editor/WinHex打开png图片显示如下:

图片EXIF信息隐写

  • EXIF

    可交换图像文件歌时,记录图片的属性信息和拍摄数据(曝光时间、拍摄时间、位置信息、相机参数)

  • 支持格式:JPEG/TOFF

  • 工具

    • Unix系统:exiftool,点击此处查看使用教程

    • Windows系统:查看属性(Ctrl+Alt+Enter)

exiftool flagishere.jpeg "使用exiftool显示图片属性信息"

如上图,在EXIF的备注信息中可以直接看到flag

图片LSB低位隐写

  • 原理

    • 用秘密信息替换掉最低有效位的数据

    • 图片是由RGB三种颜色组成,每种颜色占8位,,0X00~0XFF,一个像素点包含了\(256^3\)种颜色

    • 人的肉眼只能分辨其中一小部分,修改RGB颜色分量中的最低的二进制位,肉眼无法区分

  • 工具:Stegsolve

    • Data Extract:数据抽取,抽取图片中的隐藏数据

    • Frame Browser:帧浏览器,逐帧查看GIF图片

    • Image Combine:图片融合,进行\(OR,AND,XOR\)等运算

    • 打开方式如下图(路径结合自己jdk的安装位置)

图片高度缩减隐写/图片结尾隐写

IHDR数据块

域名称 字节数 描述
Data length 4 width到CRC校验码之前的长度
Type 4 说明数据块为IHDR型
Width 4 图像宽度
Height 4 图像高度
Bit depth 1 图像深度索引
彩色图像(1,2,4,8)
灰度图像(1,2,4,8,16)
真彩色图像(8,16)
- 4 ColorType、Compression method、Filter method、Interlace method
CRC校验码 4 对IHDR的17字节进行CRC32计算得到
  • 工具

    • 010editor/WinHex

    • crc校验:点击此处进入在线工具

文档隐写

压缩包结尾隐写

ZIP文件格式

名称 十六进制内容 说明
数据区 50 4B 03 04 头文件标记
目录区 50 4B 01 02 目录中头文件标记
目录结束 50 4B 05 06 目录结束标记

  • 原理:在文件的结尾标识符之后附加隐藏信息,而不破坏源文件

  • 工具:strings + [filename]

    • 在对象文件或二进制文件中查找可打印的字符串

    • 参数

      • -a -- all:扫描整个文件

      • -f --print-file-name:在显示字符串前先显示文件名

      • -t --radix={o,d,x}:输出字符的位置,基于八进制,十进制或十六进制

      • -e --encoding={s,S,b,l,B,L}:选择字符大小和排列顺序

零宽字符隐写

零宽字符

  • 字节宽度为0的特殊字符

  • 不可打印的Unicode字符,获取字符长度是会占用位置,存在但是不可见

点击此处进入在线工具

音频隐写

  • 原理:人类听觉范围是\(20Hz~20000Hz\),只对\(2000Hz~4000Hz\)的信息最敏感

  • 工具:

    • Audacity:分析音频的频谱和波形

    • MP3Stego:音频数据分析与隐写工具

摩斯电码

用长短2个不同的频率,通过不同的排列顺序表达不同的字母、数字和标点符号

附摩斯电码表

  • 基本信号

    • 嘀“·”:短促的电信号,持续\(=1t\)

    • 嗒"-":保持一定时间的长信号,持续\(=3t\)

    • 空格:无信号数据

    • 嘀嗒间\(=1t\),字符间\(=3t\),单词间\(=7t\)

波形隐写

使用Audacity分析波形,波形高电位转换成1,地点为转换成0,二进制转换为\(ASCⅡ\)码,获取flag

频谱隐写

使用Audacity分析频谱图,获取flag

MP3编码隐写

将数据隐写在MP3文件的奇偶校验快中

  • 工具:MP3Stego

    • 数据隐写:encode -E hidden_text.txt -P pass xxx.wav xxx.mp3

    • 数据还原:decode -X xxx.mp3 -P password

CTF