完整版0静态数据水印攻击_第1页
完整版0静态数据水印攻击_第2页
完整版0静态数据水印攻击_第3页
完整版0静态数据水印攻击_第4页
完整版0静态数据水印攻击_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、宏柬堪指由美大4Guangdong Polytechnic Normal University实验报告课程名称:计算机信息安全技术实验项目:静态数据水印攻击实验时间:2019.05.28实验班级:16计师2指导教师:吕巨建计算机科学学院 实验楼310 实验室二0一九年05月28日广东技术师范大学实验报告心处斗行知心贮4w 计算机科学与技术 加尔 16计师2声舛学院: 计算机学院 专业: (职教师咨)班级:班成绩:2016035144姓名:周耀勇学号:6035组别:组员:104实验地点:实验楼310 实验日期:2019.05.28指导教师签名:预习情况操作情况考勤情况数据处理情况实验 4 项目名

2、称: 静态数据水印攻击4.1任务描述某人收到了自己定制的软件时,发现软件的数字水印有被篡改的痕迹,询问开发者后得知该软件使用的是静态数据水印,水印是如何被攻击的呢?4.2课程目标了解数字水印的概念。了解数字水印的分类。了解数字水印的特性。了解数字水印的应用。了解静态数字软件水印性能。了解数字水印的攻击。掌握静态数据水印攻击过程。数字水印简介数字水印(Digital Watermarking )技术是将一些标识信息(即数字水印)直接嵌入数 字载体当中(包括多媒体、文档、软件等)或是间接表示(修改特定区域的结构),且不影 响原载体的使用价值,也不容易被探知和再次修改。但可以被生产方识别和辨认。通过

3、这些 隐藏在载体中的信息, 可以达到确认内容创建者、购买者、传送隐秘信息或者判断载体是否被篡改等目的。数字水印是保护信息安全、实现防伪溯源、版权保护的有效办法,是信息隐藏技术研究领域的重要分支和研究方向。数字水印分类按特性划分按水印的特性可以将数字水印分为鲁棒数字水印和脆弱数字水印两类。鲁棒水印 (Robust Watermarking) 主要用于在数字作品中标识著作权信息,利用这种水印技术在多媒 体内容的数据中嵌入创建者、所有者的标示信息,或者嵌入购买者的标示(即序列号)。在 发生版权纠纷时,创建者或所有者的信息用于标示数据的版权所有者,而序列号用于追踪违反协议而为盗版提供多媒体数据的用户。

4、用于版权保护的数字水印要求有很强的鲁棒性和安全性,除了要求在一般图像处理(如:滤波、加噪声、替换、压缩等)中生存外,还需能抵 抗一些恶意攻击。脆弱水印(Fragile Watermarking ),与鲁棒水印的要求相反,脆弱数字水印主要用于 完整性保护和认证,这种水印同样是在内容数据中嵌入不可见的信息。当内容发生改变时, 这些水印信息会发生相应的改变,从而可以鉴定原始数据是否被篡改。根据脆弱水印的应用范围,脆弱水印又可分为选择性和非选择性脆弱水印。非选择性脆弱水印能够鉴别出比特位的任意变化,选择性脆弱水印能够根据应用范围选择对某些变化敏感。例如,图像的选择性脆弱水印可以实现对同一幅图像的不同格

5、式转换不敏感,而对图像内容本身的处理(如:滤波、加噪声、替换、压缩等)又有较强的敏感性,即:既允许一定程度的失真,又要能将特 定的失真情况探测出来。按附载媒体划分按水印所附载的媒体,我们可以将数字水印划分为图像水印、音频水印、视频水印、文本水印以及用于三维网格模型的网格水印等。随着数字技术的发展,会有更多种类的数字媒体出现,同时也会产生相应的水印技术。按检测过程划分按水印的检测过程可以将数字水印划分为盲水印和非盲水印。非盲水印在检测过程中需要原始数据或者预留信息,而盲水印的检测不需要任何原始数据和辅助信息。一般来说,非盲水印的鲁棒性比较强,但其应用需要原始数据的辅助而受到限制。盲水印的实用性强

6、, 应用范围广。非盲水印中,新出现的半盲水印能够以少量的存储代价换来更低的误检率、漏检率,提高水印算法的性能。目前学术界研究的数字水印大多数是盲水印或者半盲水印。按内容划分按数字水印的内容可以将水印划分为有意义水印和无意义水印。有意义水印是指水印本身也是某个数字图像(如商标图像)或数字音频片段的编码;无意义水印则只对应于一个序 列。有意义水印的优势在于,如果由于受到攻击或其他原因致使解码后的水印破损,人们仍然可以通过视觉观察确认是否有水印。但对于无意义水印来说,如果解码后的水印序列有若干码元错误,则只能通过统计决策来确定信号中是否含有水印。按用途划分不同的应用需求造就了不同的水印技术。按水印的

7、用途,我们可以将数字水印划分为票证防伪水印、版权保护水印、篡改提示水印和隐蔽标识水印。票证防伪水印是一类比较特殊的水印, 主要用于打印票据和电子票据、各种证件的防伪。 一般来说,伪币的制造者不可能对票据图像进行过多的修改,所以,诸如尺度变换等信号编辑操作是不用考虑的。但另一方面, 人们必须考虑票据破损、 图案模糊等情形,而且考虑到 快速检测的要求,用于票证防伪的数字水印算法不能太复杂。版权保护水印是目前研究最多的一类数字水印。数字作品既是商品又是知识作品,这种双重性决定了版权标识水印主要强调隐蔽性和鲁棒性,而对数据量的要求相对较小。篡改提示水印是一种脆弱水印,其目的是标识原文件信号的完整性和真

8、实性。隐蔽标识水印的目的是将保密数据的重要标注隐藏起来,限制非法用户对保密数据的使用。按隐藏位置划分按数字水印的隐藏位置,我们可以将其划分为时(空)域数字水印、频域数字水印、时 /频域数字水印和时间/尺度域数字水印。时(空)域数字水印是直接在信号空间上叠加水印信息,而频域数字水印、时/频域数字水印和时间/尺度域数字水印则分别是在DC3换域、时/ 频变换域和小波变换域上隐藏水印。随着数字水印技术的发展,各种水印算法层出不穷,水印的隐藏位置也不再局限于上述 四种。应该说,只要构成一种信号变换,就有可能在其变换空间上隐藏水印。按透明性划分按数字水印是否透明的性质, 可分为可见水印和不可见水印两种。

9、可见水印就是人眼能 看见的水印,比如照片上标记的拍照的日期或者电视频道上的标识等。不可见水印就是人类视觉系统难以感知的,也是当前数字水印领域关注比较多的。数字水印特性数字水印系统必须满足一些特定的条件才能使其在数字产品版权保护和完整性鉴定方 面成为值得信赖的应用体系。一个安全可靠的水印系统一般应满足如下要求:1、隐蔽性也称不可感知性,即对于不可见水印处理系统,水印嵌入算法不应产生可感知的数据修改,也就是水印在通常的视觉条件下应该是不可见的,水印的存在不会影响作品的视觉效果。2、鲁棒性水印必须很难去掉(希望不可能去掉),当然在理论上任何水印都可以去掉, 只要对水印 的嵌入过程有足够的了解,但是如

10、果对水印的嵌入只是部分了解的话,任何破坏或消除水印的企图都应导致载体严重的降质而不可用。3、抗篡改性与抗毁坏的鲁棒性不同, 抗篡改性是指水印一旦嵌入到载体中, 攻击者就很难改变或伪 造。鲁棒性要求高的应用,通常也需要很强的抗篡改性。在版权保护中,要达到好的抗窜改性是比较困难的。4、水印容量嵌入的水印信息必须足以表示多媒体内容的创建者或所有者的标志信息,或是购买者的序列号。这样在发生版权纠纷时,创建者或所有者的信息用于标示数据的版权所有者,而序列号用于标示违反协议而为盗版提供多媒体数据的用户。5、安全性应确保嵌入信息的保密性和较低的误检测率。水印可以是任何形式的数据,比如数值、 文本、图像等。所

11、有的水印都包含一个水印嵌入系统和水印恢复系统。6、低错误率即使在不受攻击或者无信号失真的情况下,也要求不能检测到水印(漏检、false-negative)以及不存在水印的情况下,检测到水印(虚检、false - positive)的概率必须非常小。数字水印应用数字作品的知识产权保护数字作品(如电脑美术、扫描图像、数字音乐、视频、三维动画)的版权保护是当前的 热点问题。由于数字作品的拷贝、修改非常容易,而且可以做到与原作完全相同,所以原创者不得不采用一些严重损害作品质量的办法来加上版权标志,而这种明显可见的标志很容易被篡改。“数字水印”利用数据隐藏原理使版权标志不可见或不可听,既不损害原作品,又

12、达到了版权保护的目的。目前,用于版权保护的数字水印技术已经进入了初步实用化阶段,旧M公司在其“数字图书馆”软件中就提供了数字水印功能,Adobe公司也在其著名的 Photoshop软件中集成了 Digimarc公司的数字水印插件。然而实事求是地说,目前市场上的数字水印 产品在技术上还不成熟,很容易被破坏或破解,距离真正的实用还有很长的路要走。商务交易中的票据防伪随着高质量图像输入输出设备的发展,特别是精度超过1200dpi的彩色喷墨、激光打印机和高精度彩色复印机的出现,使得货币、支票以及其他票据的伪造变得更加容易。另一方面,在从传统商务向电子商务转化的过程中,会出现大量过度性的电子文件,如各种

13、纸质票据的扫描图像等。即使在网络安全技术成熟以后,各种电子票据也还需要一些非 密码的认证方式。数字水印技术可以为各种票据提供不可见的认证标志,从而大大增加了伪造的难度。证件真伪鉴别信息隐藏技术可以应用的范围很广,作为证件来讲,每个人需要不只一个证件,证明个人身份的有:身份证、护照、驾驶证、出入证等;证明某种能力的有:各种学历证书、资格 证书等。国内目前在证件防伪领域面临巨大的商机,由于缺少有效的措施,使得“造假”、“买假”、“用假”成风,已经严重地干扰了正常的经济秩序,对国家的形像也有不良影响。通 过水印技术可以确认该证件的真伪,使得该证件无法仿制和复制。声像数据的隐藏标识和篡改提示数据的标识

14、信息往往比数据本身更具有保密价值,如遥感图像的拍摄日期、 经/纬度等。没有标识信息的数据有时甚至无法使用,但直接将这些重要信息标记在原始文件上又很危 险。数字水印技术提供了一种隐藏标识的方法,标识信息在原始文件上是看不到的,只有通过特殊的阅读程序才可以读取。这种方法已经被国外一些公开的遥感图像数据库所采用。此外,数据的篡改提示也是一项很重要的工作。现有的信号拼接和镶嵌技术可以做到“移花接木”而不为人知,因此,如何防范对图像、录音、录像数据的篡改攻击是重要的研究课 题。基于数字水印的篡改提示是解决这一问题的理想技术途径,通过隐藏水印的状态可以判断声像信号是否被篡改。隐蔽通信及其对抗数字水印所依赖

15、的信息隐藏技术不仅提供了非密码的安全途径,更引发了信息战尤其是网络情报战的革命,产生了一系列新颖的作战方式,引起了许多国家的重视。网络情报战是信息战的重要组成部分,其核心内容是利用公用网络进行保密数据传送。 迄今为止,学术界在这方面的研究思路一直未能突破“文件加密”的思维模式,然而,经过 加密的文件往往是混乱无序的,容易引起攻击者的注意。 网络多媒体技术的广泛应用使得利用公用网络进行保密通信有了新的思路,利用数字化声像信号相对于人的视觉、听觉冗余, 可以进行各种时(空)域和变换域的信息隐藏,从而实现隐蔽通信。软件水印软件水印概念软件水印是数字水印技术的分支,是近年来出现的软件产品版权保护技术。

16、最近,出现了几种保护软件版权的技术,一般情况下,水印技术所用来嵌入的版权信息是以数字媒体形式表示的二进制数据。这种方法经常用于多媒体产品,例如图像,音频和视频。该方法将版权信息嵌入到多媒体产品中,并在需要信息时识别插入的信息。如果这些产品的版权信息是不确定的,插入的版权可以是一个证据,通过识别先前插入的信息来验证产 品的所有权。静态软件水印静态软件水印是一种通过软件分析来识别嵌入到程序中的水印的无定向的方法。这种方法不需要通过执行程序来识别水印。因此,它比动态的方法更方便,因为软件的执行需要额外的资源去应对各种各样的对执行环境所造成的影响。静态数据水印数据水印是将水印嵌入到软件中的最简单的方法

17、。这种方法将包含数据水印的信息插入软件中指定的位置。例如,可以在软件代码中插入版权信息如下:字符串水印=”版权?2014.水印信息.”;插入的版权信息可以被用来识别软件的所有权。 这种简单的嵌入与识别水印的方法可以非常容易的应用到软件中。然而,由于嵌入的水印信息很容易暴露,所以它很容易被开发者或用户发现并删除。静态代码水印代码水印是通过在程序中添加额外的代码信息的方式来嵌入水印信息。依据程序结构分析的方法,这种方式可以以各种形式被应用。 作为这些方法的一个应用程序, 可以通过采用 分支指令来表示程序的版权信息,使用分支指令的基本块的顺序来表示。Davidson 等人提出了一种通过重新定位基本块

18、的顺序嵌入水印的方法。插入的水印信息是按照字典顺序重新排序的基本块。水印信息可以通过对重新排序的基本块的解释来加以识别。基本块的顺序仍保持在它的原始顺序,之前嵌入的水印可以被识别。这种类型的水印不是暴露在外部的程序。因此,这种方法比前面描述的数据水印的隐蔽性要好。然而, 这种 插入水印信息的方法需要额外的添加程序代码。它还需要分析在一个程序中的基本块的顺序以识别嵌入式水印。静态水印性能比较可靠性在数据水印中,水印被直接嵌入到软件本身的代码中,而不需要隐藏水印的存在。 因此,它是软件版权的一个明显的证据。然而,因为嵌入的水印是被公开的,所以通过代码分析软件很容易识别。在代码水印中,水印被嵌入到程

19、序代码中。当一个嵌入了水印的程序被用户使用并改变后,可能会使得嵌入的水印信息也被修改。在这种情况下,代码水印可能无法成功识别。数据率在数据水印中嵌入的水印是非常小的,因为在那里几乎对除其本身的水印数据外没有额外空间。然而,在代码水印中,它需要修改程序的代码,并插入额外的代码来嵌入水印。隐蔽性在数据水印,嵌入的水印可以很容易地通过分析程序代码被发现,因为嵌入的信息以其源码形式公开。然而,在代码水印中,嵌入的水印被隐藏为软件代码内的一部分,因此它需要分析该程序代码来发现存在的水印。因此,代码水印比数据水印更加隐蔽。水印的分散性在数据水印中,由于水印是被嵌入到特定的局部区域中的, 所以很难做到将水印

20、信息分 布到软件的整个区域中来保护软件版权。 然而,在代码水印中,水印信息会通过修改源代码 的方式将其嵌入到软件中,并且将其分布于软件的多个区域中。开销在数据水印中,在程序中嵌入和识别水印很难影响软件的执行能力,因为数据水印的嵌入不需要执行附加的软件操作。在代码水印中,它需要执行附加操作以嵌入或识别水印。而且,水印的嵌入可能会影响软件的执行性能。所以,代码水印的嵌入与识别只需要很少的开销。弹性在数据水印中,用户的修改或混淆可能会直接对水印产生影响,因为水印是直接暴露在外的,并未加以隐藏。在代码水印中,水印被编码成隐藏的软件区域,并未直接暴露给用户或开发者。因此,代码水印的弹性比数据水印要好。数

21、字水印攻击对数据的各种编辑和修改常常导致信息损失,又由于水印与数据紧密结合,所以也会影响到水印的检测和提取,这些操作统称为攻击。数字水印的攻击技术可以用来评测数字水印 的性能,它是数字水印技术发展的一个重要方面。如何提高水印的鲁棒性和抗攻击能力是水印设计者最为关注的问题。水印攻击与密码攻击一样,包括主动攻击和被动攻击。 主动攻击的目的并不是破解数字水印,而是篡改或破坏水印, 使合法用户也不能读取水印信息。而被动攻击则试图破解数字水印算法。相比之下,被动攻击的难度要大得多,但一旦成功,则所有经该水印算法加密的数据全都失去了安全性。 主动攻击的危害虽然不如被动攻击的危害大,但其攻击方法往往十分简单

22、,易于广泛传播。无论是密码学还是数字水印,主动攻击都是一个令人头疼的问题。 对于数字水印来说,绝大多数攻击属于主动攻击。实验原理静态代码水印的攻击主要以自动化攻击为主,手动攻击较为困难。静态数据水印的攻击采用人工分析或以统计分析为代表的自动化攻击,因为静态数据水印通常保存在一些很少或从未被调用的变量或函数中, 故对软件多次运行进行统计分析就可以确定绝大部分静态数据 水印的位置。实验步骤首先在桌面/实验工具/中有1.c。_j C:Bcc皿ents aM和文件夹任务划建一个新文件夹塔这个文件夹发布到店享此文件夹vc+fi. 0. EX1F快探方式1 KB3匚 Soured已KB2 CC Sourc

23、e1 KB3. eC Source2 KB位置息面岗的文档什丑如4图1.1实验工具双击VC+6.0,打开1.c就可以看到相关代码,编译并运行程序可以看到实验结果。点击左上角的“文件”,在打开的菜单中点击“打开”。图1.2 打开选择“实验工具”中的 1.c ,点击“打开”。图1.3 打开1.c其代码如下。Switch的表达式是2*n+1 ,因此真正有意义的常量表达式为1,3,5,7,可以在0,2,4,6的位置嵌入水印。Itinclude Hinclude include ttdefine LENGTH 1C typedcF Anumffalse, truebool;int nainCint ar

24、gc. char argv)int n;tool STOP = False;char u;whileC*STOP)printf(An Input an n between 0 and 3. Other numbers to quit.n); n = T;scanf&n); getchar(); switch(2*n+1) case 0: u = *C ; v = o; V 二p; v = *y; break; case 1: char nane = (char *)malloc(LENGTH * sizeoF(cliar); printf(Your name?图1.4 1.c 部分代码 依次点

25、击“Compile 、 Build 和BuildExecute百妇国百辆 j All global member;main二TR.球尊园&9啮人工程 相建通 工具 窗口帚助也百I.cinclude include vinciud? Adfine LENGTH Ifl type defenuri False, trueboDlint UH inint argc, char argu)4Int n;bool STOP - False;图1.5 编译和运行运行结果如下。图1.6 1.c运行结果输入0,然后根据提示输入any。匚二 : DocuAen artd SeM EngskE 桌面实验工具Deb

26、ugl - ene.Input an n betueen 0 and 3. Other numbers to (iu.it. n0 ou.1 nane? n, ello, anfnLetfs try other numbers a/ainrin Input an n between 0 and 3. Other numbers to quit.n图1.7 输入0输入1,清除之前显示的信息。e *C:DotcuKents and Sett ing5kf 桌面实验工具,Debujghl. ese:lat*ng screeni f in ishInput: afi n between 0 and 3

27、 - Other* numlbefs Ito qu Bn图1.8 清除输入2,显示操作系统版本。输入3,显示当前目录(1.c所在目录)下的文件。2018-08-0205 1 272018-88-0205 : 27DIR2018-08-0210:101,8111 .c2018-08-0205 1 273,3391. dsp2018-88-0205 : 2725.6 函1 .neb2018-08-0205:271,072l.plff2018-08-0211 1 4346922018-88-0211 : 441,3893 .c2018-08-0205:27Debug2018-08-020i:5480

28、5uc + +&.0.EXE _Ink7个文件34,-485字节一C: Documents and Settinq零kF桌回、实验工具 的目录3个目录28,303,159,296可用字节a、C: Dociment s and Sett Ing瘙kf 桌面*实验工具D&bngl . exeSystem vei*siDnnMicros of t l/indows XP【版本 5-1-260U JInput an n between 0 and 3* Other numbers to quit.n3 Current Directory驱动器C中的卷投有标签.卷的序列号是B01F-2CB6ECHO处于

29、打开状态#Input 3n n betMsen 0 dntl 3. Oth后片 mimbei*后 tn quit.n图 1.10 DIR其中程序中用一个静态全局字符串来标识程序的版权,C程序的源代码如下:/a simple static software watermarking#include void main(void) static char* sw = acopyright 51ELAB isc ; printf( Hello watermarking world! );针对静态数据水印的攻击一般直接采用人工分析或者以统计分析为代表的自动化攻击, 因为静态数据水印通常保存在一些很少或

30、者从未被调用的变量或函数中,故对软件多次运行进行统计分析就可以确定绝大部分静态数据水印的位置。另外,静态数据水印经常被用作“所有者标识水印”,具有可见性,因此利用字符串匹配和查找算法就能进行有目的分析和搜索, 然后可对水印进行篡改或者破坏。另外,攻击者也可以在软件中加入自己的水印,使得作者无法申明原有水印的有效性, 第三方也无法验证。例如,在例子中加入如下语句:static char * cw =Copyright XXX ;源代码变成:/a simple static software watermarking#include void main(void)static char*cw =acopyright lsc ”;static char*sw =acopyright 51ELAB isc;printf( Hello watermarking world! );那么第三方就无法判断软件水印的真正版权拥有者。1.c的水印信息为Copy Right By BUPTISC ,我们可以改变变量 v的赋值为Copy Right By 51ELABISC”作为静态水印。break;break;case 3:systen(cls & echo Cle

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论