隐写术(一)--简介

0x00 隐写术背景

在信息时代的发展、计算机软硬件的升级、多媒体技术的发展的背景下,信息隐藏愈发朝气蓬勃,已经逐渐成为信息安全研究不可或缺的方向。数千年来,人们一直希望对某些敏感的信息进行保密传送,随即发展出信息加密技术和信息隐藏技术等。在今天这个数字媒体技术和互联网技术爆发的时代,人们这样的需求更加迫切,如何在通信中保证传输秘密信息的隐蔽性已成为研究者、企业、国家关注的课题。隐写术已经在当今数字世界的多个领域有所利用,例如版权保护、信息追加、防篡改、信息追踪,依托这些领域的成功,隐写术得以蓬勃发展。与加密信息的密码学不同的是,信息隐藏是通过将数据隐藏在多媒体载体中,被称为“隐藏数据中的数据”[1],它利用人类在感官上(如视觉、听觉)的不敏感性以及媒体载体的信息冗余来隐藏额外的信息,把需要传送的信息嵌入到这些载体中,但却保持原载体信息的相对完整性以达到以假乱真的效果。数字媒体(如视频、音频、图片、网页、文本文件)的多样性保证了信息隐写技术的复杂性与相对安全性,正是因为丰富的数字媒体,信息隐藏技术才可以有丰富的隐藏方式来保证隐藏的信息只能被合法的接受者通过特定的分析技术提取出来。

信息隐藏的思想在很早的古希腊时代就有所体现。在那时,一位名叫Histaiaeus的古希腊人蓄意煽动反抗波斯国王的一场叛乱。由于需要传递秘密信息,他剃光了他的一个奴隶的头发,并在这个奴隶的头皮上刻下了叛变的信息,当这个奴隶的头发重新长满之后,再把他送出城外,到达另一种城池,由于他的头发已长满能覆盖掉头皮上刻下的信息,他躲过了重重的搜查,最终到达目的地。信息接收者再次剃光了这位奴隶的头,看到了起兵造反的信息。在第二次世界大战期间,德军将信息隐藏在普通照片中,这些照片经过“细微化”处理,也就是将秘密信息写在用肉眼难以察觉的照片中,间谍需要用放大镜读取,间谍通过这技术从敌国将数据传递给友军(如下图)。20世纪80年代,玛格丽特·撒切尔(Margaret Thatcher)为了追查内阁的文件是如何泄露给媒体的,让文本编辑程序处理文本时添加一些空格,以便追踪泄密的内阁成员。同样在中国古代周朝的兵书《六韬》就有《阴符》与《阴书》两篇,大概意思是以一种象征符号形象传递密文给友军;宋朝兵书的《武经总要》里,又对《阴符》略作了改进。
红色圆圈内用德语写了信息
红色圆圈内用德语写了信息
隐写术和数字水印世多媒体安全两个重要的分支。前者主要是对信息进行隐藏以达到“漫天过海”的效果;后者主要是为了保证数字媒体的版权、用途,确保使用者是合法使用数字媒体。随着数字媒体的逐渐增多,数字隐写已逐渐成为隐写术的主流技术,隐写分析作为数字隐写的逆向工程,其研究内容也在随着数字隐写的发展而发展,从上世纪九十年代的隐写变革以来,已有数不胜数的分析方法,而隐写分析的主要目的是将隐写后的载体提取、分析甚至破坏其隐藏的内容。这两种技术犹如蓝军与红军一攻一防相辅相成,共同发展才得以保持平衡关系。但是在这个过程中有相当多的问题:随着人工智能时代的到来,如何提高隐写分析的效率和质量而花费较少的资源和时间成为研究者关注的重心。

随着数字隐写技术的普及与发张,该技术除了被一些企业、政府、军队使用,还被一些地方武装分子、恐怖组织、极端势力利用数字隐写技术传送反动信息,以完成恐怖活动。如:2001年,著名的“911”事件的起因就是恐怖分子通过数字图像隐写技术而逃过美国情报机构的监控,最终被成功利用;2015年,Stegoloader病毒使用数字图片隐写技术入侵了全球的一些计算机系统,这款病毒使用隐写术躲避杀毒软件,成功入侵计算机,据报道其主要攻击目标是美国医疗保障公司。就在今年,即2019年,中国的一家安全企业发现一些图片携带恶意代码的有效负载,以达到攻击特定目标的目的。尽管信息安全攻防领域种,隐写术是一种低频的攻击途径,但一旦被网络犯罪分子、恐怖组织利用,代价是巨大的。因此,研究隐写分析技术在当前这个信息爆炸的时代迫在眉睫,对维护国家安全、社会稳定、企业健康发展具有重要作用。

从隐写分析算法出现的时间来分类,目前主要有传统的隐写分析算法和基于深度学习的分析算法。对于传统隐写分析方法,则主要以空域和JPEG域为数据隐藏的载体,此外还有一些自适应的隐写及隐写分析方法。目前对于LSBM的检测方法有基于直方图平滑效应的检测方法、基于自然图像邻域相关性的检测方法;针对JPEG域的盲检测算法主要是通过提取DCT系数分布特征和Markov特征来检测;针对盲检测算法,在提取特征这个方向上也有多种方法,思路一般是往高维提取统计特征。虽然目前基于深度学习的分析算法愈来愈热门,但是由于其训练耗时、模型正确性验证复杂且麻烦(很多时候无法通过理论推断模型成熟与否)一直深深困扰研究者。因此,本论文基于传统的隐写分析算法,将多种传统算法提取的特征融合,作为深度学习隐写分析分类器的输入,以提高效率与识别的准确性。

0x10 信息隐藏基本原理及研究方法

0x11 隐写术基本模型

隐写术是一门隐藏信息的艺术和科学,可以使信息无法被发现。有一个著名的模型阐述了隐写术中各方的角色,这就是经典的Simmons模型——囚徒问题:假设Alice和Bob是监狱中的两个囚犯,他们之间的通信需要通过监狱警官Wendy来传达,同时Wendy能看到他们通信的内容,Alice和Bob要如何通信才能保证他们想要传达的秘密信息不被Wendy所检测察觉出来呢?如下图:

Simmons模型
我们不妨用更细致的角度来讨论这个问题,如下图:
细化的囚徒模型

Alice需要传送秘密信息m给Bob,但是她只能通过公开的载体对象C(即信纸),而且这个载体对象对第三方而言是完全透明的、可检测的。这时候她需要跟Bob商议好秘密信息嵌入的算法,然后通过嵌入算法把秘密信息m卡嵌入到载体对象C中,最终生成私密对象S,我们可以把它想象成是写满文字的信件,需要通过Wendy这个狱监传递这封信件,但同时Wendy也会检查信件,看有没有什么违法的信息。只要嵌入算法做的足够安全,或者Wendy检查过于粗糙,其中的秘密信息m就不会被他察觉出来。甚至他还可以改动这封信件,使之成为私密对象S’ (被鉴定后的信纸)。最终Bob收到这封信件后,他会用提取算法提取私密对象S’(被鉴定后的信纸)的秘密信息m’,这是Bob就能真正看到Alice真正想对Bob说的信息了。如果Bob能接收到Alice想要表达的信息,则说明越狱成功;否则,如果被监狱长Wendy发现,则越狱失败。

虽然信息隐藏技术的历史悠久,但是近几十年是该技术发展的黄金时期。伴随着计算机技术、多媒体技术的蓬勃发展,信息隐藏技术的发展异彩纷呈。准确来说,信息隐藏学科是一门交叉学科,又有多个分支领域,如图:
信息隐藏技术的分支领域
隐蔽信道(Covert channel):在合法信道中被用来传输隐蔽信息的信道称为隐蔽信道,这种隐蔽信道具有非常强的保密性。用Simmonns的囚徒模型解释就是:Alice和Bob通过信纸传输信息,信纸上呈现出来的信息就是合法信道,但是由于Alice和Bob在信纸上通过其他手段把他们想要逃狱的意图隐藏在信息中,通过看不见的“通道”把信息传递给对方,这样的信道就是隐蔽信道。随着互联网的发展,隐蔽信道随着Internet网络协议的变化而发展(如TCP/IP/IPv6等)。按隐藏信息的载体划分,隐蔽信道又可分为两种类型的信道,分别为:存储式隐蔽信道、时间式隐蔽信道。存储式隐蔽信道通过修改网络中的数据包来实现数据隐藏,可应用于TCP/IP的各个层次中;时间式隐蔽信道是通过修改数据包的数据流形式进行数据隐藏,如:修改数据包的顺序、数据包相隔的时间等方式来形成隐蔽信道。按发送对象的意图划分,隐蔽信道分为主动式隐蔽信道、被动式隐蔽信道。发送对象既控制公开信道中信息传输,又控制隐藏信道信息传输,则为主动式隐蔽信道;如果发送对象只负责隐蔽信道的信息传输,将隐蔽信道嵌入到别的公开信道,叫做被动式隐蔽信道。如图:
隐蔽信道模型
隐写术(Steganograph):通过嵌入秘密信息到载体当中的一种技术。隐写信息可以先用传统方法加密,然后再通过特定算法修改载体对象(Cover),加密后的对象叫载密对象(Stego)。其实现原理为:利用载体信息在空间、时间、存储的多余内容(即信息冗余),将秘密信息嵌入到载体生成载密信息,以实现秘密信息的传输。隐写术基本模型:
隐写术基本模型

匿名(Anonymity):实现匿名通信,就是用现有的技术对通信中的主体进行隐藏保护,通信主体即为发送者和接受者。主要使用匿名重发技术和网络代理技术实现匿名通信[2]。Syverson提出的洋葱路由就是通过路由转发,让中间参与者互不认知对方实现匿名。

数字水印(Digital watermarking):在多媒体信息时代,许多数字媒体需要加以保护,以保障创作者的合法权宜,数字水印技术应运而生。这种技术能够将发行的版权信息或其他表明创作者合法权益的信息嵌入到数字媒体当中,以保护数字媒体合法版权。除此之外,数字水印还需保证数字媒体的完整性和可靠性。数字水印有两个较为重要的分类分别叫做脆弱水印与鲁棒水印,这两种水印分别对应数字媒体的两种特性分别叫脆弱性与鲁棒性。其中,脆弱数字水印是指经过分发、传输、使用后,数字水印能够精准判断数字媒体是否被篡改,甚至可以判断数据篡改的位置、程度以恢复原始信息,简单讲就是脆弱性越高数字媒体细微的变化就越容易察觉,主要用来标志数字作品的版权;鲁棒数字水印是指数字媒体没修改、处理之后还能保持相对地完整,并且能被准确识别,即鲁棒性越高数字媒体保持初始状态的稳定性越高,主要用来完整性保护和认证。
数字水印信号嵌入模型
数字水印信号检测模型

广义的隐写模型中,有两个重要的步骤,分别是嵌入(Embed)和提取(Extract),对应上两图的嵌入算法和提取算法。

对于嵌入过程(Imbedded Process),利用嵌入算法,甚至使用密码学算法,用密钥进行加密,使秘密信息嵌入进载体当中。对于数字媒体,载体包括:音频、视频、图像、文本等。对于秘密信息,同样包括:音频、视频、图像、文本等。例如,如今黑客常见的攻击方法就是将payload嵌入到图片当中,这一段payload是代码段,这段代码段是恶意的代码,一旦感染计算机系统很容易被提取权限、控制计算机等。秘密信息嵌入到载体之后,会生成一个新的数字媒体对象,我们把它叫做载密对象。为了确保在公开的传输通道传输过程中不被攻击者发现嵌入的秘密信息,载体与载密对象的差别必须非常微小,甚至无法察觉出来。

对于传输过程(Transfer Process),攻击者可以在这个过程中获得嵌入秘密信息后地载密对象。攻击者获得之后,首先检查载密对象对外呈现的(显现的)信息是否有威胁,其次再尝试各种方法、各种算法、工具分析除显现的信息(载体呈现出来的信息)之外的其他信息,即载密信息。一旦被攻击者成功提取或察觉出该载体对象含有秘密信息,则秘密信息的隐写传递失败,否则或送达给秘密信息的接收者。

对于提取过程(Extraction Processes),我们可以把它看成是嵌入过程的逆过程。合法的接收者接收到来自发送者发送的载密对象,利用一定的提取算法(有可能需要解密算法)提取隐藏在载密对象的秘密信息。在这一过程中,如果只需载体信号便可提取出秘密信息,我们称之为非盲提取;如果不需要载体信息即可提取秘密信息,称之为盲提取。

0x12 信息隐藏性能评价

虽然信息隐藏技术涵盖多个学科,分类复杂,但是对其性能的评估有共同的指标,这些指标分别有[2],[3]: 1. 不可感知性(Imperceptibilit) 载体被嵌入隐藏信息之后,很难甚至不能被人为感知、预测。不可感知性包括不可见性和不可测性两个维度。不可见性表示载体嵌入信息后,不会造成载体对象的可感知失真,保证原始载体文件与载密文件具有高度相似性;不可测性表示对攻击者来说,难以提取、难以分辨载密文件的隐藏信息,或者说提取、检测的代价无穷大。

  1. 鲁棒性(Robustnes) 即稳定性(Stability),嵌入载体的信息即使受到一定程度的干扰,也能恢复原来的状态,保持隐藏信息的准确性的能力。即需要保证隐藏信息的稳定性,不能轻易的被干扰、失去。在一般的隐写系统中,鲁棒性往往跟安全性、嵌入容量有非常强的相关性,不能都兼顾,需要根据特定的隐写场景取其最合适的性能。

  2. 安全性(Security) 即保密性(privacy),指载密对象即使受到攻击者恶意分析、攻击仍能保持信息不被感知、提取的能力。通常为了保证隐藏信息的安全性,会使用密码学的加解密算法,利用密钥进行保护以保障隐藏信息的安全能力。如果一个数字隐写系统是绝对安全的,那么这个系统能够抵抗来自攻击者多维、全方向的攻击,并且攻击者拥有无限的计算能力。数字隐写系统的被攻击的过程大致可分为:证明秘密信息的存在、提取秘密信息和破坏秘密信息等三个环节。

  3. 隐藏容量和强度(Hide capacity and strength) 即表征载体对象能够隐藏信息的容量大小。在保证不可感知性和安全性的前提下,隐藏容量越大越好。隐藏容量可以从空域、频域等多个维度来考虑,每种维度的容量有所差别。通常需要在隐藏容量、不可感知性、鲁棒性、安全性当中做取舍。因为嵌入的信息越多,在一定条件下安全性和鲁棒性就越脆弱。

  4. 嵌入效率(Embedding efficiency) 即嵌入信息的比特数与嵌入信息后所修改的载体的比特数之比。在嵌入相同的隐藏信息比特条件下,嵌入效率也高,改变的相对比特数越少,嵌入算法安全性越高。目前有多种算法可以提高嵌入效率,如:栅格码[4]、湿纸码[5]、快速BCH码[6]等。

正如上面指标中所指出的,每种性能都有其特性,提高一种性能的指标,势必会对其他几个性能指标有所影响,所以需要全面、综合考虑这几个性能之间的联系,需要考虑应用的用途、对象等条件综合选择这几个性能。J.Fridrich在[7]中提出不可感知性、隐藏容量、鲁棒性三者之间的三角联系,如图所示:

不可感知性、鲁棒性、安全性关系“铁三角”

[1] Artz D. Digital steganography: hiding data within data[J]. Internet Computing IEEE, 2001, 5(3):75-80. [2] 刘培培. 图像脆弱数字水印和数字隐写的几个关键技术研究[D]. 西南交通大学, 2008. [3] 陈波, 谭运猛, 吴世忠. 信息隐藏技术综述[J]. 计算机与数字工程, 2005, 33(2):21-23. [4] T Filler ,J Judas ,J Fridrich. Minimizing Additive Distortion in Steganography Using Syndrome-Trellis Codes. IEEE Signal Processing Society, 2011. [5] Fridrich J, Goljan, Soukal D. Wet paper codes with improved embedding efficiency[J]. IEEE Transactions on Information Forensics and Security, 2006, 1(1):102-110. [6] Zhang R, Sachnev V, Kim H J. Fast BCH Syndrome Coding for Steganography[J].  2009. [7] Fridrich J . Applications of data hiding in digital images[C] International Symposium on Signal Processing & Its Applications. IEEE, 1998.

文章目录
  1. 1. 0x00 隐写术背景
  2. 2. 0x10 信息隐藏基本原理及研究方法
    1. 2.1. 0x11 隐写术基本模型
    2. 2.2. 0x12 信息隐藏性能评价
,