一种基于IS4软件特征的隐藏信息检测及提取方法技术领域
本发明涉及软件分析技术领域和隐写信息检测技术领域,特别是涉及基于IS4软
件特征的隐藏信息检测及提取方法。
背景技术
随着信息隐藏技术的日趋成熟和网络隐写软件数量的迅猛增长,使用互联网隐写
软件进行隐蔽通信愈发普遍。据报道,很多恐怖组织和基地组织利用信息隐写手段来散播
秘密消息,对国防安全及社会稳定都构成了严重威胁,因此需要实现一种隐秘载体的快速
检测技术。
East-tec InvisibleSecrets 4(IS4)是一款提供隐私保护和加密保护完整解决
方案的商业软件套件。2013年3月,east-tec公司发布了最新的InvisibleSecrets 4.8软件
版本,软件可以运行在Windows 10/8/7Vista/XP等系统平台。这款软件不仅提供对文件的
加密保护,还提供对秘密信息的隐藏保护。在保证有足够隐藏容量条件下,IS4软件支持对
任意文件流的隐藏保护,支持的隐写载体涵盖图像、音频和文本,包括JPG格式、PNG格式、
BMP格式、WAV格式和HTML格式,支持的加密算法有AES-Rijndael、Twofish、RC4、Cast128、
Gost、Blowfish、Diamond 2和Sapphire II。
当前,学术上对隐写分析领域的研究主要集中在通用盲隐写检测方法和专用的隐
写检测方法,此类方法在检测准确率和先验知识上有很大的局限性和依赖性。特别是对低
嵌入容量下的检测问题,以及隐藏信息的提取问题均不能有效的解决。利用隐写软件漏洞
和隐写痕迹来识别隐秘载体是一种新型的高效隐写检测方法,在这方面的研究成果主要
有:2011年解放军信息工程大学郑东宁等人提出了一种基于代码分割技术的隐写软件识别
框架(郑东宁.基于代码分割的隐写软件识别技术研究[D].解放军信息工程大学,2011.)。
2012年解放军信息工程大学郑永振等人2012从软件算法核心代码的角度提出了一种基于
核心代码的隐写软件识别框架(郑永振.基于核心代码的隐写软件识别技术研究[D].解放
军信息工程大学.)。2013年解放军信息工程大学赵正等人提出了一种基于自动机理论的隐
写软件识别框架(赵正.基于模型检测的隐写软件识别技术研究[D].解放军信息工程大学,
2013.),该框架验证待识别软件中是否存在隐写行为。2009年 Zax等人对隐写软件安装、运
行、卸载后的系统痕迹(如注册表、文件、文件目录)进行了研究(Zax R,Adelstein
F.FAUST:Forensic artifacts of uninstalled steganography tools[J].Digital
Investigation,2009,6(1):25-38.),通过这些痕迹构造隐写指纹库来对隐写软件进行检
测。2011年西安电子科技大学米鹏等人针对当前互联网上60多种隐写软件(米鹏.隐写软件
检测系统的设计与实现[D].西安电子科技大学,2011.),利用它们在计算机中的使用痕迹
或驻留信息来提取特征构造指纹库,并利用指纹库对这些软件进行检测。2007年胡昊然等
人通过对Imagehide和JPEGX两款的隐写原理进行分析(胡昊然,钱萌.基于待征码的
Imagehide与JPEGX图像隐藏信息检测以及提取[J].科技广场,2007(1):125.),提出了基于
特征码的检测方法。2006年吴明巧等人提出了一种针对Stego文本隐写软件的特征码检测
算法(吴明巧,金士尧.针对文本隐写软件Stego的隐写分析方法[J].计算机工程,2006,32
(23):10-12.)。2012年Zheng等人对Jsteg等几款隐写软件进行研究(Zheng Y,Liu F,Luo
X,et al.A Method Based on Feature Matching to Identify Steganography Software
[C].Proceedings of the 2012 Fourth International Conference on Multimedia
Information Networking and Security.IEEE Computer Society,2012:989-994.),在获
取软件特征码基础上,提出了针对隐写软件的通用盲性隐写分析软件。2009年解放军信息
工程大学任光等人提出了一种获取隐写软件特征码的方法(任光.互联网上常见隐写软件
的分析与攻击[D].解放军信息工程大学,2009.),并分析了已有隐写软件的选位机制,获得
了MASKER、datastash等18种隐写软件的特征码。2015年Sloan等人利用MP4格式文件的特点
及OpenPuff隐写软件的嵌入特点(Sloan T,Hernandez-Castro J.Steganalysis of
OpenPuff through atomic concatenation of mp4 flags[J].Digital Investigation,
2015,13:15-21.),提出了针对OpenPuff MP4格式的检测方法。2010年Bell等人通过训练同
款软件生成的多张隐秘载体(Bell G,Lee Y K.A Method for Automatic Identification
of Signatures of Steganography Software[J].IEEE Transactions on Information
Forensics&Security,2010,5(2):354-358.),查找图像中的相同不变信息,把其作为该隐
写软件的特征码。但是通过文献调研分析发现,当前针对IS4隐写软件的分析及隐藏信息的
检测提取方法的研究还未见公开文献。
发明内容
本发明所要解决的技术问题是:IS4隐写软件制作隐秘载体的识别与隐藏信息的
提取,并提供基于IS4软件特征的隐藏信息检测及提取方法,识别检测准确率高。
本发明适用于检测识别图像文件(JPG/PNG/BMP格式)、音频文件(WAV格式)、文本
文件(HTML格式)是否由IS4软件制作的隐秘载体,并提取隐秘载体中嵌入的隐 藏数据(可
能是加密数据)。
本发明的技术解决方案是基于IS4软件特征的隐藏信息检测及提取方法,通过利
用逆向工程对IS4软件进行分析,获得该软件的隐写特征和隐藏信息的嵌入原理,进而实现
对隐藏信息的检测和提取,主要包括如下步骤:
(1)文件格式识别。根据输入待检测文件File的文件头标识FileID来判定文件格
式,JPG图片的文件头标识为“0xFF D8 FF”、PNG图片的文件头标识为“0x89 50 4E 47”、BMP
图片的文件头标识为“0x42 4D”、WAV音频的文件头标识为“0x57 41 56 45”、HTML文本的文
件头标识为“0x3C 21 44 4F 43 54 59 50 45 20 68 74 6D 6C”。
(2)关键数据抽取。分别依据IS4软件对JPG、PNG、BMP、WAV和HTML文件载体的嵌入
原理,使用信息提取算法Extra(·)从待检测的文件中抽取关键数据信息KeyInfo。
(3)关键数据内容解析。解析KeyInfo各字段内容信息,包括软件签名Sig、信息长
度Len、隐藏消息数据Msg等。
(4)隐写检测判定。利用KeyInfo中Sig和Len等字段信息,与IS4软件的隐写特征
(针对不同载体格式的隐写特征不同)做匹配,如果匹配成功则表明当前文件是经IS4软件
处理的隐秘载体,反之判定为正常文件。
(5)隐藏信息提取。如果步骤(4)判定为隐秘载体,则从KeyInfo中提取出嵌入的隐
藏信息Msg(可能是密文消息)。
所述步骤(2)中,当待检测文件File是检测JPG文件时,Extra(·)表示从File二进
制比特流中搜索到的比特串模式,是一个由N个以“0xFF FE”开头的比特串和“0xFF FF”比
特串结尾组成的比特流;然后去除模式串中的开头标记,即“0xFF FE”和结尾标记,即“0xFF
FF”,最后获得关键数据信息KeyInfo。
所述步骤(2)中,当待检测文件File是检测PNG文件时,Extra(·)表示从File二进
制比特流中搜索到一个由N个以“0x74 45 58 74 43 6F 6D 6D 65 6E 74 00”开头的比特
串和“0x00 00 00 00 49 45 4E 44 AE 42 60 82”比特串结尾(N≥2)组成的比特流,然后
去除模式串中的开头标记(“0x74 45 58 74 43 6F 6D 6D 65 6E 74”)和结尾标记(“0x00
00 00 00 49 45 4E 44 AE 42 60 82”),最后获得关键数据信息KeyInfo。
所述步骤(2)中,当待检测文件File是检测BMP文件时,Extra(·)表示从File中抽
取图片像素最低比特位(Least Significant Bit,LSB)组成比特流,抽取顺序为(I) 像素
间按照图像坐标轴从左至右、由上及下的空间顺序;(II)像素内按照BGR的通道顺序。
所述步骤(2)中,当待检测文件File是检测WAV文件时,Extra(·)表示抽取File
data数据块中数据段数据的某些字节最低比特位(LSB)组成比特流(WAV文件的data数据块
的标记为“0x64 61 74 61”,标记字段随后的4字节为data数据块大小字段,再随后是数据
段),其中数据段数据的选择取决于File的声道数,如果File是单声道音频则选取所有的数
据段数据,如果File是双声道音频则选择数据段的奇数位字节。
所述步骤(2)中,当待检测文件File是检测HTML文件时,Extra(·)表示从File中
匹配二进制模式串“0x3E@**@0D 0A”,其中“0x3E”表示标签结束标记“>”、“@**@”表示若干
个“0x20”和“0x09”、“0x0D 0A”表示文本换行,并抽取子串“@**@”以及文件末尾的模式串
“@**@”,然后将“0x20”和“0x09”分别映射为比特“0”和“1”构成KeyInfo的比特流数据。
所述步骤(4)中,与IS4软件的隐写特征做匹配时,针对不同文件载体格式,即JPG、
PNG、BMP、WAV和HTML的隐写特征不同。
对于JPG格式的文件,隐写特征如下:
A.关键数据块的总数N≥2;
B.满足数据长度关系式![]()
C.关键数据块长度校验,即满足
从JPG格式的文件中抽取出关键
数据块KeyInfon的实际数据长度
M表示消息数据Msg的个数,i和j表示索引下
标,Lj表示信息长度。
对于PNG格式的文件,隐写特征如下:
A.关键数据块的总数N≥2;
B.满足数据长度关系式![]()
C.关键数据块长度校验,即满足(I)从PNG文件中抽取出关键数据块KeyInfo1的实
际数据长度
(II)
从PNG文件中抽取出隐藏消息数据Msgm的实
际数据长度![]()
对于BMP格式的文件,隐写特征如下:
A.满足数据长度关系式![]()
B.关键数据块长度校验,即满足(I)从BMP文件中抽取出信息头Header的实际数据
长度
(II)
从BMP文件中抽取出隐藏消息数据Msgm的实际数
据长度![]()
对于WAV格式的文件和HTML格式的文件,隐写特征如下:
A.依据对通信协议头Header数据长度的统计分析,File中包含模式串“@**@”的总
长度≥512字节;
B.满足数据长度关系式![]()
C.关键数据块长度校验,即满足(I)从WAV格式的文件或HTML格式的文件中抽取出
信息头Header的实际数据长度
(II)
从WAV格式的文件或
HTML格式的文件中抽取出隐藏消息数据Msgm的实际数据长度![]()
所述步骤(5)中的隐藏信息Msg可能是密文消息。
本发明与现有技术相比的有益效果在于:
(1)本发明中,给出了从JPG/PNG/BMP/WAV/HTML文件中抽取出关键数据的方法,关
键数据是判定文件是否为IS4隐秘载体以及提取隐藏信息的重要基础。
(2)本发明中,提供了对IS4软件嵌入在JPG/PNG/BMP/WAV/HTML格式文件中关键数
据各字段内容的解析方法,识别检测准确率高,为隐写特征分析及隐藏信息提取提供基础。
(3)本发明中,分别针对JPG/PNG/BMP/WAV/HTML格式文件获得了IS4软件的信息隐
写特征,识别检测准确率高,为高效识别隐写载体提供基础。
(4)本发明中,利用IS4软件的信息隐写特征分别提出了针对JPG/PNG/BMP/WAV/
HTML格式文件的隐写存在性判定算法,有效识别载体是否为隐写载体。
附图说明
图1是本发明方法实施例的实现流程图;
图2是本发明方法中IS4-JPG文件隐藏的关键数据流结构示意图;
图3是本发明方法中IS4-JPG文件隐藏关键数据的内容解析示意图;
图4是本发明方法中IS4-PNG文件隐藏关键数据的内容解析示意图;
图5是本发明方法中IS4-BMP文件隐藏关键数据的提取顺序示意图;
图6是本发明方法中IS4-BMP文件隐藏关键数据的内容解析示意图;
图7是本发明方法中IS4-WAV文件隐藏关键数据的嵌入位置示意图;
图8是本发明方法中IS4-HTML文件隐藏关键数据的嵌入位置示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和
附图,对本发明做进一步说明。
如图1所示,是本发明实现对IS4软件隐写信息检测与提取方法的流程示意图,检
测与提取过程共包含5个步骤(S1~S5),其中步骤S1用于识别待检测文件的格式,步骤S2~
S4依据不同类型的文件分别进行隐藏信息的检测判定,步骤S5是对应的隐藏信息提取。本
发明的具体实现过程如下:
(S1)文件格式识别。
根据输入待检测文件File的文件头标识FileID来判定文件格式,JPG图片的文件
头标识为“0xFF D8 FF”、PNG图片的文件头标识为“0x89 50 4E 47”、BMP图片的文件头标识
为“0x42 4D”、WAV音频的文件头标识为“0x57 41 56 45”、HTML文本的文件头标识为“0x3C
21 44 4F 43 54 59 50 45 20 68 74 6D 6C”。对于FileID不匹配上述5种格式标记的将不
做处理。
1.GIF文件的隐写检测
(S2-1)关键数据抽取。
利用信息提取算法Extra(·)从待检测的JPG文件File中抽取出关键数据信息
KeyInfo,也即KeyInfo=Extra(File)。其中,Extra(·)表示从File二进制比特流中搜索到
如图2的比特串模式,是一个由N个以“0xFF FE”开头的比特串和“0xFF FF”比特串结尾(N≥
2)组成的比特流,然后去除模式串中的开头标记(“0xFF FE”)和结尾标记(“0xFF FF”),最
后获得关键数据信息KeyInfo,也即KeyInfo=KeyInfo1||…||KeyInfon||…||KeyInfoN(N
≥2)(式中“||”是字节流拼接运算)。注:若N<2则表明该JPG文件File未被IS4软件嵌入隐
藏信息。
(S3-1)关键数据内容解析。
嵌入数据流的组织方式如图3所示,第1个关键数据块KeyInfo1包括3部分数据,依
次为:KeyInfo1块的长度Len1(采用2个字节大端序存储)、通信协议头(加密存储) 和Msg的
总长度Len(采用4个字节小端序存储)。从第2个关键数据块KeyInfo1到第N个关键数据块
KeyInfoN是实现消息数据Msg及其长度信息L的嵌入,实际应用中Msg可能由多个文件构成,
也即
KeyInfon块(n≥2)中可能同时包括多个最小隐藏消息单元。它们采
用串联拼接的方式进行组织,每个最小单元Um(单个Msgm消息数据)包括Msgm消息长度
(采用4个字节小端序存储)和Msgm消息数据本身(m=1,…,M,Msgm可能被压缩、
加密,这取决于IS软件使用模式)。以第n个关键数据块KeyInfon(n=2,…,N)为例,它包括2
部分数据,依次为:KeyInfon块的长度Lenn(采用2个字节大端序存储)和若干个最小隐藏消
息单元的有序序列<Ui,…,Ui+j>(i,j∈N+,i+j≤M)。
(S4-1)隐写检测判定。
通过步骤S3的分析,可以发现IS4软件制作的JPG隐秘图片具有下述特征:
A.关键数据块的总数N≥2;
B.满足数据长度关系式![]()
C.关键数据块长度校验,即满足
从JPG文件中抽取出关键数据块
KeyInfon的实际数据长度![]()
因此,如果待检测JPG文件File满足上述3个隐写特征,则判定File为IS4软件制作
的隐秘图片,否则判定为正常图片。
2.PNG文件的隐写检测
(S2-2)关键数据抽取。
利用信息提取算法Extra(·)从待检测的PNG文件File中抽取出关键数据信息
KeyInfo,也即KeyInfo=Extra(File)。其中,Extra(·)表示从File二进制比特流中搜索到
如图3的比特串模式,是一个由N个以“0x74 45 58 74 43 6F 6D 6D 65 6E 74 00”开头的
比特串和“0x00 00 00 00 49 45 4E 44 AE 42 60 82”比特串结尾(N≥2)组成的比特流,
然后去除模式串中的开头标记(“0x74 45 58 74 43 6F 6D 6D 65 6E 74”)和结尾标记
(“0x00 00 00 00 49 45 4E 44 AE 42 60 82”),最后获得关键数据信息KeyInfo,也即
KeyInfo=KeyInfo1||…||KeyInfon||…||KeyInfoN(N≥2)(式中“||”是字节流拼接运算)。
注:若N<2则表明该PNG文件File未被IS4软件嵌入隐藏信息。
(S3-2)关键数据内容解析。
嵌入数据流的组织方式如图4所示,在标记头“0x74 45 58 74 43 6F 6D 6D 65
6E 74 00”前面4字节表示KeyInfo1块的长度Len1(采用字节大端序存储)。第1个关键数据块
KeyInfo1包括2部分数据,依次为:通信协议头(加密存储)和U1~UM块的总长度Len(采用4个
字节大端序存储)。从第2个关键数据块KeyInfo1到第N个关键数据块KeyInfoN实际上是若干
个最小隐藏消息单元的有序序列<U1,…,UM>(M≥1),每个最小单元Um(单个Msgm消息数据)
包括Msgm消息长度
(采用4个字节小端序存储)和Msgm消息数据本身(m=1,…,
M,Msgm可能被压缩、加密,这取决于IS软件使用模式)。注:每个KeyInfon块(n≥2)中可能同
时包括多个最小单元Um。
(S4-2)隐写检测判定。
通过步骤S3的分析,可以发现IS4软件制作的PNG隐秘图片具有下述特征:
A.关键数据块的总数N≥2;
B.满足数据长度关系式![]()
C.关键数据块长度校验,即满足(I)从PNG文件中抽取出关键数据块KeyInfo1的实
际数据长度
(II)
从PNG文件中抽取出隐藏消息数据Msgm的
实际数据长度![]()
因此,如果待检测PNG文件File满足上述3个隐写特征,则判定File为IS4软件制作
的隐秘图片,否则判定为正常图片。
3.BMP文件的隐写检测
(S2-3)关键数据抽取。
利用信息提取算法Extra(·)从待检测的BMP文件File(本发明中只考虑24位BMP
图片)中抽取出关键数据信息KeyInfo,也即KeyInfo=Extra(File)。其中,Extra(·)表示
从File中抽取图片像素最低比特位(Least Significant Bit,LSB)组成比特流,抽取顺序
为(I)像素间按照图像坐标轴从左至右、由上及下的空间顺序(如图5所示);(II)像素内按
照BGR的通道顺序。
(S3-3)关键数据内容解析。
嵌入数据流的组织方式如图6所示,依次为:Header信息的长度Len0(采用4个字节
小端序存储)、通信协议头Header数据(加密存储)、U1~UM块的总长度Len(采用4个字节小端
序存储)和M个最小隐藏消息单元Um的有序序列<U1,…,UM>(M≥1)。每个最小单元Um包括Msgm
消息长度
(采用4个字节小端序存储)和Msgm消息数据本身(m=1,…,M,Msgm可
能被压缩、加密,这取决于IS软件使用模式)。
(S4-3)隐写检测判定。
通过步骤S3的分析,可以发现IS4软件制作的BMP隐秘图片具有下述特征:
A.满足数据长度关系式![]()
B.关键数据块长度校验,即满足(I)从BMP文件中抽取出信息头Header的实际数据
长度
(II)
从BMP文件中抽取出隐藏消息数据Msgm的实际数
据长度![]()
因此,如果待检测BMP文件File满足上述2个隐写特征,则判定File为IS4软件制作
的隐秘图片,否则判定为正常图片。
4.WAV文件的隐写检测
(S2-4)关键数据抽取。
利用信息提取算法Extra(·)从待检测的WAV文件File中抽取出关键数据信息
KeyInfo,也即KeyInfo=Extra(File)。其中,Extra(·)表示抽取File data数据块中数据
段数据的某些字节最低比特位(LSB)组成比特流(WAV文件的data数据块的标记为
“0x64617461”,标记字段随后的4字节为data数据块大小字段,再随后是数据段)。数据段数
据的选择取决于File的声道数,如果File是单声道音频则选取所有的数据段数据,如果
File是双声道音频则选择数据的位置如图7所示,是WAV文件data数据块中数据段的奇数位
字节。
(S3-4)关键数据内容解析。
本步骤操作与步骤(S3-3)相同。
(S4-4)隐写检测判定。
本步骤操作与步骤(S4-3)相同。
5.HTML文件的隐写检测
(S2-5)关键数据抽取。
利用信息提取算法Extra(·)从待检测的HTML文件File中抽取出关键数据信息
KeyInfo,也即KeyInfo=Extra(File)。依据IS4在每个HTML文本行尾的标签结束标记后嵌
入隐藏信息,并利用不可见字符“0x20”和“0x09”对比特流做编码(如图8所示),Extra(·)
表示从File中匹配二进制模式串“0x3E@**@0D 0A”(其中“0x3E”表示标签结束标记“>”、
“@**@”表示若干个“0x20”和“0x09”、“0x0D 0A”表示文本换行),并抽取子串“@**@”以及文
件末尾的模式串“@**@”,然后将“0x20”和“0x09”分别映射为比特“0”和“1”构成KeyInfo的
比特流数据。注:IS4在嵌入前会根据HTML文本中可嵌入位置数和嵌入信息量来计算模式串
“@**@”的长度,因此嵌入到HTML文本中模式串“@**@”的长度是固定的,剩余信息则嵌入到
文件尾部。
(S3-5)关键数据内容解析。
本步骤操作与步骤(S3-3)相同。
(S4-5)隐写检测判定。
通过步骤S3的分析,可以发现IS4软件制作的HTML隐秘文本具有下述特征:
A.依据对通信协议头Header数据长度的统计分析,File中包含模式串“@**@”的总
长度≥512字节;
B.满足数据长度关系式![]()
C.关键数据块长度校验,即满足(I)从BMP文件中抽取出信息头Header的实际数据
长度
(II)
从BMP文件中抽取出隐藏消息数据Msgm的实际数
据长度![]()
因此,如果待检测HTML文件File满足上述3个隐写特征,则判定File为IS4软件制
作的隐秘文本,否则判定为正常文本。
(S5)隐藏信息提取。
通过分析可知,IS4软件可以在JPG/PNG/BMP/WAV/HTML文件中同时隐藏多个消息
Msgm,并且支持对Msgm的压缩和加密,这取决于IS4软件的操作选项。(I)若IS4软件未对Msgm
做压缩加密,则可以利用隐藏消息单元Um获得Msgm明文;(II)若IS4软件对Msgm进行压缩、加
密,则可以利用隐藏消息单元Um仅能够获得Msgm的压缩数据或密文。
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本
发 明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和
修改,均应涵盖在本发明的范围之内。