软件安全技术_第1页
软件安全技术_第2页
软件安全技术_第3页
软件安全技术_第4页
软件安全技术_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

1、第三章计算机软件安全技术第三章计算机软件安全技术软件安全技术软件安全技术第三章计算机软件安全技术第三章计算机软件安全技术第三章计算机软件安全技术第三章计算机软件安全技术第三章计算机软件安全技术第三章计算机软件安全技术第三章计算机软件安全技术第三章计算机软件安全技术2计算机软件平安的内容计算机软件平安的内容1软件的自身平安软件的自身平安 2软件的存储平安软件的存储平安 3软件的通信平安软件的通信平安 4软件的使用平安软件的使用平安 5软件的运行平安软件的运行平安 第三章计算机软件安全技术第三章计算机软件安全技术3计算机软件平安的技术措施计算机软件平安的技术措施必须采取两个方面的措施:必须采取两个

2、方面的措施:一是非技术性措施,如制定有关法律、法规,一是非技术性措施,如制定有关法律、法规,加强各方面的管理。加强各方面的管理。二是技术性措施,如软件平安的各种防拷贝加二是技术性措施,如软件平安的各种防拷贝加密技术、防静态分析、防动态跟踪技术等。密技术、防静态分析、防动态跟踪技术等。第三章计算机软件安全技术第三章计算机软件安全技术4软件的本质及特征软件的本质及特征1软件是用户使用计算机的工具软件是用户使用计算机的工具 2软件是一种知识产品软件是一种知识产品 3软件是人类社会的财富软件是人类社会的财富 4软件可以存储和移植软件可以存储和移植 5软件是具有巨大威慑力量的武器软件是具有巨大威慑力量的

3、武器 6软件具有寄生性软件具有寄生性 第三章计算机软件安全技术第三章计算机软件安全技术5软件平安保护的指导思想软件平安保护的指导思想 软件平安保护的指导思想是采用加密、反软件平安保护的指导思想是采用加密、反跟踪、防非法复制等技术。在软件系统上或原跟踪、防非法复制等技术。在软件系统上或原盘上产生一种信息,这种信息既是软件系统中盘上产生一种信息,这种信息既是软件系统中各可执行文件在运行中必须引用的,又是各种各可执行文件在运行中必须引用的,又是各种文件复制命令或软盘复制软件所无法正确复制、文件复制命令或软盘复制软件所无法正确复制、无法正确安装或无法正确运行的。无法正确安装或无法正确运行的。返回本节返

4、回本节第三章计算机软件安全技术第三章计算机软件安全技术3.2文件加密技术文件加密技术3.2.1数据文件加密原理数据文件加密原理3.2.2可执行文件的加密方式可执行文件的加密方式返回本章首页返回本章首页第三章计算机软件安全技术第三章计算机软件安全技术3.2.1数据文件加密原理数据文件加密原理 文本文件和可执行文件都是以二进制数的文本文件和可执行文件都是以二进制数的形式以字节为单位存放在磁盘上,所以可把它形式以字节为单位存放在磁盘上,所以可把它们一律视为数据文件来进行加密解密操作,但们一律视为数据文件来进行加密解密操作,但可执行文件加密后不能运行,但可有效地保护可执行文件加密后不能运行,但可有效地

5、保护源程序和数据库文件中的信息,使非法用户不源程序和数据库文件中的信息,使非法用户不能从中得到有用信息。能从中得到有用信息。 为了实现数据文件的加密,一般采用加密为了实现数据文件的加密,一般采用加密软件或用户自己编写集成化的加密软件,实现软件或用户自己编写集成化的加密软件,实现数据文件的加、解密操作。数据文件的加、解密操作。返回本节返回本节第三章计算机软件安全技术第三章计算机软件安全技术3.2.2可执行文件的加密方式可执行文件的加密方式1可执行文件的结构及运行可执行文件的结构及运行DOS环境下可执行文件有两种结构:环境下可执行文件有两种结构:一种扩展名为一种扩展名为.COM,它无文件头,可直接

6、装它无文件头,可直接装入内存运行;另一种扩展名为入内存运行;另一种扩展名为.EXE,它必须根它必须根据文件头中的信息,经过初始化工作以后才能据文件头中的信息,经过初始化工作以后才能顺利运行,这种不同的结构决定了它们不同的顺利运行,这种不同的结构决定了它们不同的加密方式。加密方式。 第三章计算机软件安全技术第三章计算机软件安全技术2可执行文件的加密可执行文件的加密1.COM文件的加密方式文件的加密方式.COM文件的结构简单,可以很容易地对它进行文件的结构简单,可以很容易地对它进行加密,最简单的方法是口令加密。加密,最简单的方法是口令加密。2.EXE文件的加密方式文件的加密方式只要在只要在.COM

7、嵌入模块嵌入模块CCBN的根底上稍做修改,的根底上稍做修改,即可得到对即可得到对.EXE文件加密的嵌入模块文件加密的嵌入模块CE.BIN。 返回本节返回本节第三章计算机软件安全技术第三章计算机软件安全技术3.3 软件运行中的反跟踪技术软件运行中的反跟踪技术3.3.1跟踪工具及其实现跟踪工具及其实现3.3.2软件运行中的反跟踪技术软件运行中的反跟踪技术3.3.3实例:编制具有反跟踪功能的加密盘实例:编制具有反跟踪功能的加密盘返回本章首页返回本章首页第三章计算机软件安全技术第三章计算机软件安全技术3.3.1跟踪工具及其实现跟踪工具及其实现 DOS系统中的动态调试程序,是一个使用系统中的动态调试程序

8、,是一个使用简单且非常有用的工具程序。它既可以用于对简单且非常有用的工具程序。它既可以用于对任何格式的文件进行观察和修改,也可以对软任何格式的文件进行观察和修改,也可以对软盘和硬盘的任何区域进行直接读写。尤其是可盘和硬盘的任何区域进行直接读写。尤其是可以用于对执行程序的跟踪分析和把二进制代码以用于对执行程序的跟踪分析和把二进制代码转换为汇编指令,还可以查看内存状态,分析转换为汇编指令,还可以查看内存状态,分析程序出错原因、病毒感染情况等。程序出错原因、病毒感染情况等。 返回本节返回本节第三章计算机软件安全技术第三章计算机软件安全技术3.3.2软件运行中的反跟踪技术软件运行中的反跟踪技术1抑制跟

9、踪命令抑制跟踪命令DEBUG在执行在执行T命令和命令和G命令时,分别要运行命令时,分别要运行系统单步中断和断点中断效劳程序。在系统中系统单步中断和断点中断效劳程序。在系统中断向量表中,这两种中断的中断向量分别为断向量表中,这两种中断的中断向量分别为1和和3,中断效劳程序入口地址分别存放在内存,中断效劳程序入口地址分别存放在内存0000:0004和和0000:000C起始的起始的4个字节中,其中前个字节中,其中前2个字节是偏移地址,后个字节是偏移地址,后2个字节是段地址。因此,个字节是段地址。因此,当这些单元的内容被改变后,当这些单元的内容被改变后,T命令和命令和G命令就命令就不能正常执行,从而

10、抑制跟踪命令。不能正常执行,从而抑制跟踪命令。 第三章计算机软件安全技术第三章计算机软件安全技术2封锁键盘输入封锁键盘输入1改变键盘中断效劳程序的入口地址。改变键盘中断效劳程序的入口地址。 2禁止键盘中断。禁止键盘中断。 3禁止接收键盘数据。禁止接收键盘数据。 第三章计算机软件安全技术第三章计算机软件安全技术3改变改变CRT显示特性显示特性1debug各种命令被执行后,其结果均要在屏各种命令被执行后,其结果均要在屏幕上显示出来,供人们查看。幕上显示出来,供人们查看。 2DEBUG在显示信息时,必然会出现屏幕上在显示信息时,必然会出现屏幕上卷、换页等。卷、换页等。 第三章计算机软件安全技术第三章

11、计算机软件安全技术4定时技术定时技术设程序中有两点设程序中有两点A和和B,在正常情况下,从在正常情况下,从A到到B所需的所需的运行时间为运行时间为C,而在跟踪运行时,速度较慢,所需时间而在跟踪运行时,速度较慢,所需时间将远远超过将远远超过C,这样便可利用这种时间差判明是否有人这样便可利用这种时间差判明是否有人在跟踪程序。如何知道在跟踪程序。如何知道A、B两点间的实际运行时间呢?两点间的实际运行时间呢?PC主机板上设有主机板上设有8253计时器,其中通道计时器,其中通道0为通用计时器为通用计时器提供了一个固定的实时计数器,用来实现计时。在提供了一个固定的实时计数器,用来实现计时。在ROM BIO

12、S中,软中断中,软中断1AH提供了读取当前时钟值的功提供了读取当前时钟值的功能。能。MOV AH,0INT1AH返回本节返回本节第三章计算机软件安全技术第三章计算机软件安全技术3.3.3实例:编制具有反跟踪功能的加密盘实例:编制具有反跟踪功能的加密盘1物理加密的原理物理加密的原理物理加密的原理,即是在软盘片上人为造成一个或多个物理加密的原理,即是在软盘片上人为造成一个或多个坏区,在应用程序被执行前,屡次验证这些坏扇区,以坏区,在应用程序被执行前,屡次验证这些坏扇区,以确定当前盘是否为钥匙盘。假设是,那么执行应用程序,确定当前盘是否为钥匙盘。假设是,那么执行应用程序,否那么中止进程。据此原理,可

13、将制造钥匙盘过程分为否那么中止进程。据此原理,可将制造钥匙盘过程分为三步:三步:1用大头针或刀片在盘的读写区内轻刺一下,注意不用大头针或刀片在盘的读写区内轻刺一下,注意不要在要在0道附近进行,以免损坏引导区。道附近进行,以免损坏引导区。2在在debug状态下,用子命令状态下,用子命令LOAD依次装入扇区。依次装入扇区。3在前两步的根底上,开始编制验证钥匙盘的子程序。在前两步的根底上,开始编制验证钥匙盘的子程序。这段程序如下:这段程序如下: 第三章计算机软件安全技术第三章计算机软件安全技术L1:MOV CX,4;检测次数检测次数L2:PUSH CXMOV CH,TRACK;磁道号送磁道号送CHM

14、OV CL,SECTOR;扇区号送扇区号送CLMOV DL,DRIVER;驱动器号送驱动器号送DLMOV DH,HEAD ;磁头号送磁头号送DHMOVAAL,NUMBER;扇区个数送扇区个数送ALMOV AH,04H;检测功能号送检测功能号送AH第三章计算机软件安全技术第三章计算机软件安全技术INTBH;磁盘操作功能调用;磁盘操作功能调用POPCXMOV DH,AHJNBSTOP ;正常扇区,那么进入死锁;正常扇区,那么进入死锁LOOPL2;非正常扇区,继续,直至;非正常扇区,继续,直至CX为为0CMP DH,02H;是否为无地址标号扇区;是否为无地址标号扇区JNZL1;不是,再试;不是,再试

15、RET;是钥匙盘,许可,返回主程序;是钥匙盘,许可,返回主程序STOP:MOV CX,07HLOOPSTOP第三章计算机软件安全技术第三章计算机软件安全技术2反跟踪的实现程序如下:反跟踪的实现程序如下:PUSH DS;数据段址堆栈;数据段址堆栈MOV AX,000HMOV DS,AX;当前数据段置;当前数据段置000HMOV SI,00HMOV BX,0004MOV AX,BXMOV DX,AXMOV BX,0006MOV AX,BX第三章计算机软件安全技术第三章计算机软件安全技术MOV DS,AX;DS中存入处理程序段址中存入处理程序段址MOV CX,20H;代码个数代码个数MOV BX,D

16、X;BX存处理程序偏移量存处理程序偏移量L4:MOV BYTE PTR BX+SI,11H ;破坏代码破坏代码ADDSI,1LOOPL4POPDS返回本节返回本节第三章计算机软件安全技术第三章计算机软件安全技术3.4防止非法复制软件的技术防止非法复制软件的技术3.4.1软件加密的必要性软件加密的必要性3.4.2常用的防止非法复制软件的技术常用的防止非法复制软件的技术3.4.3实例:几种加密软件的使用原理及方法实例:几种加密软件的使用原理及方法返回本章首页返回本章首页第三章计算机软件安全技术第三章计算机软件安全技术3.4.1软件加密的必要性软件加密的必要性 随着计算机通信网络和通用的数据资源的进

17、一步开随着计算机通信网络和通用的数据资源的进一步开放及个人计算机的广泛使用,对计算机资源的保护,特放及个人计算机的广泛使用,对计算机资源的保护,特别是对软件产品的保护,就变得越来越迫切。别是对软件产品的保护,就变得越来越迫切。 软件作为一种知识密集的商品化产品,在开发过程软件作为一种知识密集的商品化产品,在开发过程中需要大量的人力,为开发程序而付出的本钱往往是硬中需要大量的人力,为开发程序而付出的本钱往往是硬件价值的数倍乃至数百倍。然而,软件具有易于复制和件价值的数倍乃至数百倍。然而,软件具有易于复制和便于携带的特性;同时,由于社会、法律为软件产品提便于携带的特性;同时,由于社会、法律为软件产

18、品提供的保护不充分,迫使一些软件公司和开发人员采取了供的保护不充分,迫使一些软件公司和开发人员采取了自卫手段,从而出现了软件保护技术。自卫手段,从而出现了软件保护技术。返回本节返回本节第三章计算机软件安全技术第三章计算机软件安全技术3.4.2常用的防止非法复制软件的技术常用的防止非法复制软件的技术1加密软件的工作方式加密软件的工作方式加密软件的工作方式主要有以下几种方式:加密软件的工作方式主要有以下几种方式:1外壳式外壳式 2内含式内含式 3结合式结合式 第三章计算机软件安全技术第三章计算机软件安全技术2限制技术限制技术限制就是对用户将要进行的一系列操作通过某限制就是对用户将要进行的一系列操作

19、通过某种手段进行确认,即弄清楚他是谁,他具有什种手段进行确认,即弄清楚他是谁,他具有什么特征,他拥有什么权限。最典型的限制技术么特征,他拥有什么权限。最典型的限制技术有口令和存取控制。有口令和存取控制。1口令加密限制技术口令加密限制技术 2存取控制技术存取控制技术 第三章计算机软件安全技术第三章计算机软件安全技术表口令文件的单向加密表口令文件的单向加密表存取控制表之一表存取控制表之一第三章计算机软件安全技术第三章计算机软件安全技术表表3.3存取控制表之二存取控制表之二 第三章计算机软件安全技术第三章计算机软件安全技术3利用装配程序防止非法复制利用装配程序防止非法复制 1根本知识根本知识 2设计

20、装入程序设计装入程序 3在中要做的工作在中要做的工作 第三章计算机软件安全技术第三章计算机软件安全技术1根本知识根本知识 1FCB和和FAT。2一个未翻开的一个未翻开的FCB由驱动器号和文件名及文由驱动器号和文件名及文件的扩展名组成。件的扩展名组成。3置磁盘传输地址。置磁盘传输地址。4查找第一登记项。查找第一登记项。 第三章计算机软件安全技术第三章计算机软件安全技术2设计装入程序设计装入程序 1设计思想。设计思想。2数据区。数据区。 3程序流程。程序流程。 第三章计算机软件安全技术第三章计算机软件安全技术1设计思想。设计思想。 在将装入在将装入C盘的过程中,首先以为名,在盘的过程中,首先以为名

21、,在C盘中建立文件,接着取出其在盘中建立文件,接着取出其在C盘中建立时所对盘中建立时所对应的应的FCB,然后再将写入到,然后再将写入到C盘中去。至此,装盘中去。至此,装入程序完成了装入任务,便取出自身在磁盘中入程序完成了装入任务,便取出自身在磁盘中的的FCB,用软件中断,用软件中断INT 26H绝对磁盘写,绝对磁盘写,把内存中一些无关数据,写入到由刚刚算到的把内存中一些无关数据,写入到由刚刚算到的相对扇区号的扇区中去,从而破坏文件,完成相对扇区号的扇区中去,从而破坏文件,完成一次性使用的任务。一次性使用的任务。第三章计算机软件安全技术第三章计算机软件安全技术2数据区。数据区。举例:建立两个字节

22、串举例:建立两个字节串“A:YIN.EXE和和“C:YIN.EXE,装入程序以此为文件名在,装入程序以此为文件名在A:盘中读文件和在盘中读文件和在C:盘中建立文件及写文件。数:盘中建立文件及写文件。数据区形式如下:据区形式如下:第三章计算机软件安全技术第三章计算机软件安全技术FILA DB 8000H DUP(?)FI DB3,59H,49H,20H,20H,20H,20H,20H,45HDB 58H,45H,20H,00,00,00,00,00,00,00,00DB 00,00,00,00,00,00,00,00,00,00,00VV DB I,4DH,49H,4DH,49H,59H,43H

23、,20H,20H,43H第三章计算机软件安全技术第三章计算机软件安全技术DB 4FH,4DH,20H,00,00,00,00,00,00,00,00DB 00,00,00,00,00,00,00,00,00,00,00,00FILB DB 40H DUP(?)VVV DB 40D DUP(?)FIL DB LY1 DB 0HFILE DB LY2 DB 0H第三章计算机软件安全技术第三章计算机软件安全技术3程序流程。首先将被保护软件读入内存缓冲区中,首程序流程。首先将被保护软件读入内存缓冲区中,首址为址为FILA。其流程为:。其流程为:MOV DX,OFFSET FILEMOV AL,2MOV

24、 AH,3DH:翻开一个文件:翻开一个文件INT21H PUSHAXMOV BX,AX:保存文件代号:保存文件代号MOV CX,0FFF0HMOV AH,3FH:读文件:读文件INT21H第三章计算机软件安全技术第三章计算机软件安全技术POPBX:文件代号送文件代号送BXPUSH AX:保存文件的字节数保存文件的字节数MOVAH,3EH :关闭文件关闭文件INT 21H再以为名在硬盘中建立文件:再以为名在硬盘中建立文件:MOVDX,OFFSET FILCMOVCX,0MOVAH,3CH :建立文件建立文件INT 21H第三章计算机软件安全技术第三章计算机软件安全技术对于刚刚以为名建立的文件,要

25、把其对于刚刚以为名建立的文件,要把其FCB中的中的开始簇号有效地提出来,还必须在刚刚建立的开始簇号有效地提出来,还必须在刚刚建立的文件中存储如下局部信息:文件中存储如下局部信息: MOVDX,OFFSET FILCMOVAL,2MOVAH,3D:翻开一个文件:翻开一个文件INT 21H PUSH AX第三章计算机软件安全技术第三章计算机软件安全技术MOV DX,OFFSET FILAMOV BX,AXMOV CX,512DMOV AH,40H:写文件写文件INT21H POPAXMOV BX,AXMOV AH,3EH:关闭文件关闭文件INT21H第三章计算机软件安全技术第三章计算机软件安全技术

26、此时,便可用查找第一登记项的方法,把刚刚建立文件此时,便可用查找第一登记项的方法,把刚刚建立文件的的FCB取出,并能得到一个有效的开始簇号。当然,在取出,并能得到一个有效的开始簇号。当然,在此之前,应为其设置磁盘的传输地址:此之前,应为其设置磁盘的传输地址:MOV DX,OFFSET FILB MOV AH,1AH:置磁盘缓冲区:置磁盘缓冲区INT21HMOV DX,OFFSET FIMOV AH,11H:查找第一登记项:查找第一登记项INT21H第三章计算机软件安全技术第三章计算机软件安全技术 程序运行完毕,便在以程序运行完毕,便在以FILB为首址的缓冲为首址的缓冲区,得到一个重要的数据:区

27、,得到一个重要的数据:FCB中第中第26,27字字节的低节的低12位数,即文件将要在硬盘中开始存储位数,即文件将要在硬盘中开始存储的簇号。把这一数据写入到程序开始运行时,的簇号。把这一数据写入到程序开始运行时,读入的文件的特定单元之中这一特定单元的读入的文件的特定单元之中这一特定单元的位置需要用位置需要用DOS的的DEBUG调试程序确定,待调试程序确定,待这项工作完成后,便可以将读入的文件正式写这项工作完成后,便可以将读入的文件正式写入到硬盘中。入到硬盘中。第三章计算机软件安全技术第三章计算机软件安全技术MOV DX,OFFSET FILC MOV AL,2MOV AH,3DH:翻开文件:翻开

28、文件 INT21HPOPCX:先前保存的文件的字节数送:先前保存的文件的字节数送CXPUSH AX:保存文件代号:保存文件代号MOV BX,AXMOV DX,OFFSET FILAMOV AH,40H:写文件:写文件 INT21HPOPBX:文件代号送:文件代号送BXMOV AH,3EH:关闭文件:关闭文件INT21H第三章计算机软件安全技术第三章计算机软件安全技术此时,被保护文件已装入到硬盘中。下面的工作,是要此时,被保护文件已装入到硬盘中。下面的工作,是要将所装程序删除。用下面的几条指令,找出磁盘中开始将所装程序删除。用下面的几条指令,找出磁盘中开始存储的簇号,并换算成相对扇区号,最后进行

29、存储的簇号,并换算成相对扇区号,最后进行“绝对磁绝对磁盘写盘写(INT 26H),破坏掉的程序:,破坏掉的程序:MOV DX,OFFSET VVVMOV AH,1AH:置磁盘缓冲区:置磁盘缓冲区INT21HMOV DX,OFFSET VVMOV AH,11H:查找第一登记项:查找第一登记项第三章计算机软件安全技术第三章计算机软件安全技术INT21HMOVDI,OFFSET VVVADDDI,27DMOVAX,DI:FCB的第的第26,2 7字节送字节送AXANDAX,0FFFH:取其低取其低12位位SUBAX,2SALAX,1 :乘以乘以2ADDAX,0CH:加上磁盘数据区开始的相对扇区号加上

30、磁盘数据区开始的相对扇区号0CHMOVCX,1 :写入的扇区数写入的扇区数MOVBX,OFFSET FILAMOVAL,0INT26H:绝对磁盘写绝对磁盘写POPF第三章计算机软件安全技术第三章计算机软件安全技术3在中要做的工作在中要做的工作 1应设置一特定单元,以便程序有关簇号能写到该单应设置一特定单元,以便程序有关簇号能写到该单元中。元中。2设置与自身文件相对应的未翻开的设置与自身文件相对应的未翻开的FCB,将来在程,将来在程序运行时,以它为依据,用序运行时,以它为依据,用“查找第一登记项的方法,查找第一登记项的方法,找出自身在盘中开始存储的簇号。找出自身在盘中开始存储的簇号。3开辟一缓冲

31、区,作为开辟一缓冲区,作为“查找第一登记项时的磁盘查找第一登记项时的磁盘传输地址。传输地址。返回本节返回本节第三章计算机软件安全技术第三章计算机软件安全技术3.4.3实例:几种加密软件的使用原理及方法实例:几种加密软件的使用原理及方法1PROLOCK加密程序加密程序2PROTECT加密保护程序加密保护程序3LOCK89加密程序加密程序 第三章计算机软件安全技术第三章计算机软件安全技术1PROLOCK加密程序加密程序1使用方法使用方法一张加密钥匙盘附有一个执行文件,该文件自身也是用一张加密钥匙盘附有一个执行文件,该文件自身也是用PROLOCK加密的,是一个保密文件。因此,即便是同一版加密的,是一

32、个保密文件。因此,即便是同一版本的两张钥匙盘,它们也不能相互拷贝。此外,要求输入的本的两张钥匙盘,它们也不能相互拷贝。此外,要求输入的文件扩展名必须为文件扩展名必须为.COM或或.EXE,而输出文件名的扩展名必,而输出文件名的扩展名必须是须是.EXE,并且列出,并且列出5个参数项:个参数项:DELAYn 延时延时n=1999分分FPDRIVE=n钥匙盘所在驱动器号钥匙盘所在驱动器号NOWAIT有此参数,不能进行确认性提问有此参数,不能进行确认性提问TIMER从从INT 08H中断获取时钟信息中断获取时钟信息USER=n用户要求检查解密键的中断向量用户要求检查解密键的中断向量 第三章计算机软件安

33、全技术第三章计算机软件安全技术2加密特征加密特征用用PROLOCK加密后的文件将增加加密后的文件将增加12KB,增加,增加的数据放在文件前部,使用单一算法加密,原的数据放在文件前部,使用单一算法加密,原理是依照激光加密的定位和指纹识别程序。从理是依照激光加密的定位和指纹识别程序。从钥匙盘读出的指纹,只用作判断该盘是不是钥钥匙盘读出的指纹,只用作判断该盘是不是钥匙盘,而不用作程序解密,即指明具有这一特匙盘,而不用作程序解密,即指明具有这一特征的带密程序,可以在没有钥匙盘的条件下解征的带密程序,可以在没有钥匙盘的条件下解密使用。密使用。第三章计算机软件安全技术第三章计算机软件安全技术3防拷贝技术防

34、拷贝技术PROLOCK的防拷贝技术是使用激光孔。的防拷贝技术是使用激光孔。 4分析分析PROLOCK的加密代码是逐步解密的,每组加的加密代码是逐步解密的,每组加密代码通常只有数十个字节,有数十段这样的密代码通常只有数十个字节,有数十段这样的加密代码。加密代码。 第三章计算机软件安全技术第三章计算机软件安全技术2PROTECT加密保护程序加密保护程序1使用方法使用方法键入键入PROTECT后,屏幕显示五条选项,其功后,屏幕显示五条选项,其功能如下:能如下:Protect executable file保护可执行文件。保护可执行文件。Install protected file to fixed

35、disk。Recover install file回收被安装的文件。回收被安装的文件。Delete protected file删除被保护的文件。删除被保护的文件。Quit退出退出PROTECT加密程序。加密程序。第三章计算机软件安全技术第三章计算机软件安全技术2加密特征加密特征利用利用PROTECT加密软件保护的文件将增加加密软件保护的文件将增加6KB左右,左右,增加的数据放在文件尾部。增加的数据放在文件尾部。 3防拷贝技术防拷贝技术PROTECT加密软件包的防拷贝技术是使用大扇区格式。加密软件包的防拷贝技术是使用大扇区格式。 4分析分析PROTECT加密软件技术的独到之处在于使用了加密软件

36、技术的独到之处在于使用了INT 1单步中断和单步中断和1CH中断。中断。 第三章计算机软件安全技术第三章计算机软件安全技术3LOCK89加密程序加密程序 1使用方法使用方法一张加密钥匙盘附有一个执行文件。该文件自身也是用一张加密钥匙盘附有一个执行文件。该文件自身也是用LOCK89加密的,不能相互拷贝。用户应将输入文件名加密的,不能相互拷贝。用户应将输入文件名和输出文件同时键入,后面的和输出文件同时键入,后面的PASSWORD那么可输入那么可输入一个两字节的密码,此密码可增加加密程序的解密键的一个两字节的密码,此密码可增加加密程序的解密键的变化,而不是要求启动被加密文件时输入密码。要求输变化,而

37、不是要求启动被加密文件时输入密码。要求输入文件名及后缀,而输出文件名默认后缀为入文件名及后缀,而输出文件名默认后缀为.EXE。当执。当执行完毕,那么在指定目录下生成一个输出文件。行完毕,那么在指定目录下生成一个输出文件。第三章计算机软件安全技术第三章计算机软件安全技术2加密特征加密特征用用LOCK89加密软件加密后的文件将增加加密软件加密后的文件将增加6KB长度,增加的数据放在文件前部,使用单一算长度,增加的数据放在文件前部,使用单一算法加密。从钥匙盘读出的指纹只能用作判断该法加密。从钥匙盘读出的指纹只能用作判断该盘是否为钥匙盘,不用作程序解密。盘是否为钥匙盘,不用作程序解密。3防拷贝技术防拷

38、贝技术LOCK89的防拷贝技术也使用大扇区格式,大的防拷贝技术也使用大扇区格式,大扇区在扇区在0面面20道前后,扇区的大小值为道前后,扇区的大小值为6,即按,即按照照8KB的方式读入扇区。的方式读入扇区。 第三章计算机软件安全技术第三章计算机软件安全技术4分析分析LOCK的代码解码过程是逐步进行的,其的代码解码过程是逐步进行的,其6KB代码总共分为代码总共分为7个几乎相互独立的局部,除第一个几乎相互独立的局部,除第一局部外,其余代码都经过加密。局部外,其余代码都经过加密。返回本节返回本节第三章计算机软件安全技术第三章计算机软件安全技术3.5保证软件质量的平安体系保证软件质量的平安体系3.5.1

39、概述概述3.5.2软件故障的分类软件故障的分类3.5.3软件测试工具软件测试工具返回本章首页返回本章首页第三章计算机软件安全技术第三章计算机软件安全技术3.5.1概述概述软件的可靠性:是指软件在特定的环境条件下,软件的可靠性:是指软件在特定的环境条件下,在给定的时间内,不发生故障的性质;或者是在给定的时间内,不发生故障的性质;或者是指软件在规定的时间和规定的条件下,能正常指软件在规定的时间和规定的条件下,能正常地完成规定的功能而无过失的概率。地完成规定的功能而无过失的概率。软件存在不可靠问题的原因主要在于:软件存在不可靠问题的原因主要在于:1计算机软件是人工制造的复杂产品,生产中计算机软件是人

40、工制造的复杂产品,生产中的种种因素均可使软件造成过失或故障。的种种因素均可使软件造成过失或故障。第三章计算机软件安全技术第三章计算机软件安全技术2软件开发没有方案,软件需求分析不充分。软件开发没有方案,软件需求分析不充分。3软件开发过程无标准,软件的研制至今尚未成熟,软件开发过程无标准,软件的研制至今尚未成熟,缺乏坚实的科学根底和科学的管理制度,可能造成过失。缺乏坚实的科学根底和科学的管理制度,可能造成过失。4软件产品无评测手段,至今尚无一套完善的、对程软件产品无评测手段,至今尚无一套完善的、对程序正确性进行验证的方法和工具,一个软件研制出来以序正确性进行验证的方法和工具,一个软件研制出来以后,无法进行彻底、有效的验证,只能在实际使用中边后,无法进行彻底、有效的验证,只能在实际使用中边用、边改、边提高,往往有一些软件在使用多年后,仍用、边改、边提高,往往有一些软件在使用多年后,仍发现有很大的潜在错误,造成巨大的损失。发现有很大的潜在错误,造成巨大的损失。返回本节返回本节第三章计算机软件安全技术第三章计算机软件安全技术3.5.2软件故障的分类软件故障的分类1按错误的起因分类按错误的起因分类可归纳为设计错误、数据错误和硬件恶化引起可归纳为设

温馨提示

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

评论

0/150

提交评论