针对JPEG格式的数字隐写与隐写分析

2012-06-09 10:25张毅梅挺
电子设计工程 2012年2期
关键词:数据流字节软件

张毅,梅挺

(成都医学院 人文信息管理学院,四川 成都 610083)

信息隐藏作为信息安全领域一个新的前沿技术,已经成为信息处理领域的一个研究热点。数字隐写(Steganography)和隐写分析(Steganalysis)是信息隐藏技术的重要分支。前者研究如何实现秘密信息的隐蔽通信,后者研究对隐写技术的攻击,即如何检测、提取、还原/破坏隐藏的秘密信息。

隐写术把秘密信息先加密再隐藏于公开的数字媒体中,使其除了具有传统加密通信的优点外,还大大减少受攻击的可能性,从而成为一种利用公共信道传递涉密信息的可靠方法。但由于网络通信的开放性和应用的普遍性,隐写术也可能被敌特机构、恐怖组织用于计划和协调犯罪活动,媒体对此已有诸多的报道。

2005年3月,Spyware Information Center报道了 H&S等隐写软件在美国被发现使用的情况。2010年6月,美国联邦调查局查获了11人的俄罗斯间谍团伙,据newscientist报道该团伙的主要通信手段也是利用隐写软件在互联网上传输秘密信息[1]。在我国也相继发现一些非法组织使用隐写工具进行秘密通信。目前互联网上已出现200多个隐写软件,且应用这些软件不需要高深的专业知识。因此隐写分析已成为一个紧迫的研究领域。

JPEG是互联网上传输图像数据的最主要格式。由于它应用的普遍性和广泛性,使用JPEG图像作为隐藏消息的载体比起其它格式来更不会引起怀疑。而且仅靠肉眼难以分辨秘密消息嵌入带来的图像质量退化,因为这可能是因为低质量的JPEG压缩造成的。故以JPEG图像为载体的隐蔽通信具有很好的隐蔽性和很高的安全性。目前已经出现了大量以JPEG图像为载体的隐写算法和隐写软件,因此对海量的JPEG数据进行有效的分析,检测和提取JPEG数据中的隐藏信息是隐写分析的重要内容之一。

现有的隐写算法有2种:一种是利用的感觉冗余,使用一定的算法将秘密信息隐藏在图像数据中;另一种是利用通用的媒体传输格式,利用格式中的语法结构冗余隐藏秘密信息。本文主要讨论基于JPEG格式冗余的信息隐藏技术和隐写分析技术。童莉[2]研究了利用JPEG应用数据段来隐藏信息的可能性,本文在此基础上挖掘了JPEG图像的另外3处格式冗余,还通过大量统计,建立了两个数据库,并最终构建了一个准实时隐藏信息提取系统。该系统不仅提取数据,还利用建立的数据库对提取的数据进行筛选和处理,并有效攻击了11种互联网上的隐写软件。

1 JPEG数据流结构与冗余语法结构

1.1 JPEG数据流结构

JPEG标准是由 “联合图片专家组”(Joint Photography Expert Group)制定的连续色调静态图像压缩标准。

JPEG语句的流结构[3]由标识符、参数和熵编码数据段的有序集合组成。其中,标识符用于标识数据流结构中的不同结构单元,由2字节编码表示(1个0xFF和1个不为0x00或者0xFF的字节)。标识符均可以任意多个填充字节(0xFF)作为前缀字节。参数通常为整数值,用于指定编码过程的作用方式、源图像的特征或者根据应用选择的其他特性。标识符、参数合称为标识段(个别段不带参数)。熵编码数据段为经过熵编码后的图像数据。表1给出了JPEG标准中定义的部分重要标识符。

表1 JPEG标准中部分重要标识符Tab.1 Several significant symbols of JPEG

1.2 JPEG冗余语法结构

根据深入研究JPEG格式,发现其存在4处格式冗余:应用数据段、注释段、段间冗余区域和文件末尾。因为常规的网络浏览器(IE,Netscape等)和图像浏览软件(ACDSee等)对这些区域的数据均作滑过处理,故隐藏在这些区域的秘密信息对一般用户而言属不可见信息。上述冗余区域语法结构如下:

1)冗余数据段。JPEG标准共定义了254类数据段(标志符0xFF01~0xFFFE),其中部分数据段用于对图像的说明或者提供用户作注释使用等,不影响图像显示,这些段统称冗余数据段。冗余数据段包括应用16个应用数据段和1个注释段。其中,应用数据段(应用数据段语法结构:段标志符(APPn,2 字 节 );段 长 度 (Lp,2 字 节 );数 据 区 (Data,La-2 字节)。Lp代表段长度和数据区两段数据的长度之和。)的段标志符取值为0x FF E0~0x FF EF,分别对应16个不同应用数据段。段长度标志占2字节,取值范围为2~65535。数据区用于存储数据段内容,长度为段长度参数减两个字节。注释段标志符为0x FF FE,语法结构与应用数据段相同。

2)段间冗余区域。基于数据段存储的特性导致JPEG存在段间冗余区域。当两个数据段并未首尾相接时,前个数据段的结束字节与后个数据段的起始字节之间的区域称为段间冗余区。JPEG标准规定,段间冗余区若存在数据,则应存放若干个填充字符0xFF。但实验结果表明,部分JPEG图像的段间冗余区存放着若干个不为0xFF的字节时,图像仍能正常显示。故有必要对此区域内数据进行辨识和提取。

3)文件末尾:图像文件结束符(0x FFD9)之后,全文件结束之前。

2 针对JPEG格式的数据隐藏方法

若选择JPEG的应用数据段或注释段作为信息隐藏的区域,应按照其语法结构,将隐蔽信息置于数据段的段长度参数之后,并将段长度参数修改为隐蔽信息的长度加2即可。由于每个数据段最多只能嵌入65533字节的信息,若待嵌消息长度大于此数,则应分段嵌入多个数据段中。JPEG允许一个数据段在文件中出现多次,故在大数据量嵌入时,既可选择不同的应用数据段,也可将一个数据段使用多次。

在段间冗余区隐藏数据时不受语法限制,但由于这种隐藏方法基于图像浏览程序的漏洞,嵌入数据后应检查是否影响图像的正常显示。

在文件末尾隐藏数据同样没有语法和容量限制,直接将待嵌信息加到文件结束符之后即可。

实验结果表明,利用JPEG数据流的冗余结构可实现信息隐藏。此类隐写方案的优点是完全不影响图像质量,缺点是增加了图像文件的数据量。JPEG文件嵌入秘密信息后,图像文件大小变为载体图像与嵌入文件长度之和(若嵌入中使用个冗余数据段,文件大小应在此基础上再加字节段头信息)。文件数据量的增加对非压缩图像(如BMP)的影响很大,因为这类图像很容易通过图像大小估计出文件大小,并据此判断出是否含隐蔽信息。但JPEG图像的数据码流是压缩码流,码流的大小取决于压缩比和图像的质量要求,因此仅由JPEG的数据量很难判断其数据流中是否嵌入了其它内容的数据。加上JPEG是网络中最常见的图像格式。该隐写方案具有很好的隐蔽性和较高的安全性。

3 图像隐藏信息的提取和处理

针对上述隐写方案设计了一个隐蔽数据的提取和处理方案,并构造了信息提取系统。系统设置信息提取、信息过滤和信息搜索3个模块,分别用于提取隐蔽信息,过滤公共信息和辨识过滤后信息,具体流程如图1所示。

图1 信息检测提取系统流程图Fig.1 Flow chart of information detect and extract system

系统3个模块的工作原理如下:

1)信息提取模块。根据JPEG数据流结构的语法规则,依次读取每个JPEG数据段,并处理以下3种情况:①若当前段为应用数据段或注释段,则根据段长参数提取该段内的数据。②若读完一个段后,下个段的标记符尚未出现,则先判断当前数据是否为填充字节(0xFF),如果不是填充字节,则提取两个数据段之间的数据。③若图像结束符之后仍存在数据,则从结束符之后开始提取数据直至文件结束。

2)信息过滤模块。大量实验结果表明网络中的JPEG图像大多存在3~5个应用数据段,其中某些版权声明、公司标记信息的重现率很高,这类信息统称为公共信息。为优化系统的输出结果,必须对海量的提取数据进行筛选,过滤其中无情报价值的信息。先通过对大量网络提取数据进行统计分析,收集JPEG各个数据段经常出现的公共信息,建立公共信息数据库,部分内容如表2所示。信息过滤模块通过将提取的信息与数据库中对应数据段的内容进行逐条比较,从而可过滤大部分公共信息。

3)信息搜索模块。实验中发现部分信息隐藏软件并未对隐蔽数据进行压缩或加密,而是采取直接嵌入图像数据流的方案。针对这种情况,为使输出结果更直观,系统设置了文件格式数据库,部分内容如表3所示以及信息搜索模块。文件格式数据库用于存储常见文件格式(Rar,Html,Exe,Zip,Pdf,JPEG,GIF等)的固定文件头信息。信息搜索模块将库中信息放入搜索窗口,利用快速匹配算法对过滤后的数据进行搜索,若发现与搜索窗口内容相匹配的数据块,将该数据块保存为与当前搜索窗口内容相应的文件格式(由于部分提取数据为乱码,采用这种搜索方式可能因偶然的匹配导致格式识别错误,但实验表明发生误判的概率很小)。最后,将格式无法识别的数据以文本格式输出。

表2 公共信息数据库部分内容Tab.2 Parts of Public In formation Database

表3 文件格式数据库部分内容Tab.3 Parts of file format database

4 实 验

4.1 载体为网络图像

实验环境为Pentium4 CPU 2.0 GHz,512 MB内存,本系统扫描了从网络上截获的JPEG图像57398幅,耗时11分23秒,平均每秒检测JPEG图像85幅。系统输出结果为:txt文件 456个,htm l文件3个,exe文件 1个,jpg文件 35个,gif文件1个,rmvb文件1个。在提取出的文本中,其中明文文本大部分用于记录图像制作公司、摄像机生产公司及作图软件公司的一些版权声明信息,此外还有对图像压缩,处理日期等进行的说明;其余大部分为密文,内容尚不明确,有待进一步分析其价值。部分结果如图2所示。

实验结果表明,网络中的JPEG图像主要将隐藏数据放置于应用数据段、注释段和文件末尾区。

图2 部分网络数据提取结果Fig.2 Some results of network data exacting information

4.2 系统对隐写软件的攻击

隐写软件的使用对国家和社会的安全构成了威胁,因此对互联网上的隐写软件进行剖析已成为一个紧迫的研究课题。为研究支持JPEG格式的隐写软件的嵌入原理并验证系统的实用性,先利用这些软件在JPEG图像中嵌入信息,然后使用本系统进行提取攻击。实验结果表明,11个软件[4~14]工作原理是基于JPEG结构冗余。部分实验结果如图3至图6所示。

系统从文件末尾区提取结果:

图3 软件"ImageX"实验结果Fig.3 Experiment results of"ImageX"

系统从文件末尾区提取结果:

图4 软件"Steganography v1.65"实验结果Fig.4 Experiment results of"Steganography v1.65"

系统从注释段提取结果:

图5 软件"渗透v3"实验结果Fig.5 Experiment results of"渗透 v3"

系统从应用数据段提取结果:

图6 软件"Dstego1.01"实验结果Fig.6 Experiment results of"Dstego1.01"

实验结果表明,软件“ImageX”和“Steganography v1.65”利用JPEG文件末尾区隐藏信息,软件“渗透v3”利用注释段隐藏信息,软件 “Dstego1.01”利用应用数据段隐藏信息。Steganography v1.65对隐蔽信息加密后再嵌入载体,故提取出的是密文。目前许多软件都采用DES,IDEA,Blowfish等算法对隐蔽信息进行加密后再嵌入载体中的双重保护方式,故导致系统提取出的结果往往是看起来杂乱无章的密文。

实验结果还表明,软件渗透 v3.0[4]利用JPEG的注释段隐藏信息,软件Steganography v1.65,Masker v7.0.2,藏龙卧虎v1.0,小小加密锁 v3.1,加密奇兵,Camouflage v1.1,防弹背心(SafeFile)1.2,ImageX 20011 2[5~12]利用 JPEG 的文件末尾区隐藏信息,Invisible Secrets pro,DStego 1.01[13-14]利用 JPEG 应用数据段隐藏信息。综上所述,本系统能对上述软件进行有效的提取攻击。

5 结束语

随着信息隐藏技术的迅猛发展,如何从互联网上海量的多媒体数据中检测并提取隐藏消息是一个迫切需要研究的问题。本文讨论了基于JPEG文件数据流结构的隐写、提取攻击和信息处理技术,构建了一个信息提取系统,对网上JPEG图像和隐写软件实现了有效攻击。该系统主要不足之处在于后续信息处理尚不够完善:首先,在海量网络数据环境下,要筛选出有价值的信息需借鉴数据挖掘技术;其次,进一步提取出密文的处理,最终实现明文还原,还需引入密码分析技术。

[1]童莉.JPEG格式静止图象网络数据技术研究[D].郑州:郑州信息科技学院,2002.

[2]Stier C.Russian spy ring hid secret messages on the web[EB/OL].2010.http://www.newscientist.com/article/dn19126-russianspy-ring-hid-secret-messages-on-the-web.html.

[3]蔡士杰,岳华,刘小燕.连续色调静止图像的压缩与编码-JPEG[M].南京:南京大学出版社,1995.

[4]渗透 v3.0.[EB/OL].(2010-01-02).http://www.swxp.com.

[5]防弹背心(SafeFile)1.2.隐写软件[EB/OL].(2010-01-02).http://www.5icrack.com/Software/Catalog164/4364.html

[6]Steganography v1.65.[EB/OL]. (2010-01-02).http://wzsoft.net/1/soft/soft_17455.asp.

[7]Masker v7.0.2.[EB/OL].(2010-01-02).http://yzdown.com/soft/10894.htm.

[8]藏龙卧虎 v1.0.[EB/OL]. (2010-01-02).http://jsnetcom.onlinedown.net/down/setupwo0521.rar.

[9]小 小 加 密 锁 v3.1. [EB/OL]. (2010-01-02).http://www.netads2u.com/Down/33321.htm l.

[10]加密奇兵.[EB/OL].(2010-01-02).http://download.3343.net/soft3578.htm l.

[11]Camouflage v1.1.1.[EB/OL]. (2010-01-02).http://www.camouflagesoftware.com.

[12]ImageX 20011 2. [EB/OL]. (2010 -01 -02).http://soft.netnest.com.cn/downinfo/netnest9865.html.

[13]Invisible Secrets pro.[EB/OL]. (2010-01-02).http://www.innovatools.com/software/isecrets.

[14]DStego1.01.[EB/OL]. (2010-01-02).ftp://211.100.8.153/download/22/10178_DStego.zip.

猜你喜欢
数据流字节软件
禅宗软件
No.8 字节跳动将推出独立出口电商APP
汽车维修数据流基础(上)
汽车维修数据流基础(下)
No.10 “字节跳动手机”要来了?
软件对对碰
简谈MC7字节码
基于数据流聚类的多目标跟踪算法
即时通讯软件WhatsApp
北医三院 数据流疏通就诊量