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

下载本文档

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

文档简介

1、主讲:黎培兴 博士二零零二年九月二零零二年九月第八课 第三章第三章计算机软件安全技术第三章计算机软件安全技术第三章计算机软件安全技术第三章计算机软件安全技术3.1计算机软件安全技术概述计算机软件安全技术概述3.2文件加密技术文件加密技术3.3 软件运行中的反跟踪技术软件运行中的反跟踪技术3.4防止非法复制软件的技术防止非法复制软件的技术3.5保证软件质量的安全体系保证软件质量的安全体系第三章计算机软件安全技术第三章计算机软件安全技术本章学习目标本章学习目标(1)掌握计算机软件安全的基本概念、内容和)掌握计算机软件安全的基本概念、内容和软件安全保护的指导思想。软件安全保护的指导思想。(2)了解一

2、般采用哪些技术措施来保证计算机)了解一般采用哪些技术措施来保证计算机软件的安全。软件的安全。(3)掌握可执行文件的加密方式和加密原理;)掌握可执行文件的加密方式和加密原理;软件运行中的反跟踪技术;常用的防止非法复软件运行中的反跟踪技术;常用的防止非法复制软件的技术;能够编制具有反跟踪功能的加制软件的技术;能够编制具有反跟踪功能的加密盘。密盘。(4)了解保证软件质量的安全体系)了解保证软件质量的安全体系。返回本章首页返回本章首页第三章计算机软件安全技术第三章计算机软件安全技术3.1计算机软件安全技术概述计算机软件安全技术概述1计算机软件安全的定义计算机软件安全的定义2计算机软件安全的内容计算机软

3、件安全的内容3计算机软件安全的技术措施计算机软件安全的技术措施4软件的本质及特征软件的本质及特征5软件安全保护的指导思想软件安全保护的指导思想返回本章首页返回本章首页第三章计算机软件安全技术第三章计算机软件安全技术1计算机软件安全的定义计算机软件安全的定义 软件的安全就是为计算机软件系统建立和软件的安全就是为计算机软件系统建立和采取的技术和管理的安全保护,保护计算机软采取的技术和管理的安全保护,保护计算机软件、数据不因偶然或恶意的原因而遭破坏、更件、数据不因偶然或恶意的原因而遭破坏、更改、显露、盗版、非法复制,保证软件系统能改、显露、盗版、非法复制,保证软件系统能正常连续的运行。正常连续的运行

4、。 第三章计算机软件安全技术第三章计算机软件安全技术2计算机软件安全的内容计算机软件安全的内容(1)软件的自身安全)软件的自身安全 (2)软件的存储安全)软件的存储安全 (3)软件的通信安全)软件的通信安全 (4)软件的使用安全)软件的使用安全 (5)软件的运行安全)软件的运行安全 第三章计算机软件安全技术第三章计算机软件安全技术3计算机软件安全的技术措施计算机软件安全的技术措施必须采取两个方面的措施:必须采取两个方面的措施: 一是非技术性措施,如制定有关法律、法规,一是非技术性措施,如制定有关法律、法规,加强各方面的管理。加强各方面的管理。 二是技术性措施,如软件安全的各种防拷贝二是技术性措

5、施,如软件安全的各种防拷贝加密技术、防静态分析、防动态跟踪技术等。加密技术、防静态分析、防动态跟踪技术等。第三章计算机软件安全技术第三章计算机软件安全技术4软件的本质及特征软件的本质及特征1)软件是用户使用计算机的工具)软件是用户使用计算机的工具 2)软件是一种知识产品)软件是一种知识产品 3)软件是人类社会的财富)软件是人类社会的财富 4)软件可以存储和移植)软件可以存储和移植 5)软件是具有巨大威慑力量的武器)软件是具有巨大威慑力量的武器 6)软件具有寄生性)软件具有寄生性 第三章计算机软件安全技术第三章计算机软件安全技术5软件安全保护的指导思想软件安全保护的指导思想 软件安全保护的指导思

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

7、式可执行文件的加密方式返回本章首页返回本章首页第三章计算机软件安全技术第三章计算机软件安全技术3.2.1数据文件加密原理数据文件加密原理 文本文件和可执行文件都是以二进制数的文本文件和可执行文件都是以二进制数的形式以字节为单位存放在磁盘上,所以可把它形式以字节为单位存放在磁盘上,所以可把它们一律视为数据文件来进行加密解密操作,但们一律视为数据文件来进行加密解密操作,但可执行文件加密后不能运行,但可有效地保护可执行文件加密后不能运行,但可有效地保护源程序和数据库文件中的信息,使非法用户不源程序和数据库文件中的信息,使非法用户不能从中得到有用信息。能从中得到有用信息。 为了实现数据文件的加密,一般

8、采用加密为了实现数据文件的加密,一般采用加密软件或用户自己编写集成化的加密软件,实现软件或用户自己编写集成化的加密软件,实现数据文件的加、解密操作。数据文件的加、解密操作。返回本节返回本节第三章计算机软件安全技术第三章计算机软件安全技术3.2.2可执行文件的加密方式可执行文件的加密方式1可执行文件的结构及运行可执行文件的结构及运行DOS环境下可执行文件有两种结构:环境下可执行文件有两种结构: 一种扩展名为一种扩展名为.COM,它无文件头,可直接它无文件头,可直接装入内存运行;另一种扩展名为装入内存运行;另一种扩展名为.EXE,它必须它必须根据文件头中的信息,经过初始化工作以后才根据文件头中的信

9、息,经过初始化工作以后才能顺利运行,这种不同的结构决定了它们不同能顺利运行,这种不同的结构决定了它们不同的加密方式。的加密方式。 第三章计算机软件安全技术第三章计算机软件安全技术2可执行文件的加密可执行文件的加密(1).COM文件的加密方式文件的加密方式 .COM文件的结构简单,可以很容易地对它进行加密,文件的结构简单,可以很容易地对它进行加密,最简单的方法是口令加密。最简单的方法是口令加密。(2).EXE文件的加密方式文件的加密方式 只要在只要在.COM嵌入模块嵌入模块CCBN的基础上稍做修改,即的基础上稍做修改,即可得到对可得到对.EXE文件加密的嵌入模块文件加密的嵌入模块CE.BIN。

10、返回本节返回本节DOS环境下可执行文件有两种结构环境下可执行文件有两种结构第三章计算机软件安全技术第三章计算机软件安全技术3.3 软件运行中的反跟踪技术软件运行中的反跟踪技术3.3.1跟踪工具及其实现跟踪工具及其实现3.3.2软件运行中的反跟踪技术软件运行中的反跟踪技术3.3.3实例:编制具有反跟踪功能的加密盘实例:编制具有反跟踪功能的加密盘返回本章首页返回本章首页第九课: 3.3第三章计算机软件安全技术第三章计算机软件安全技术3.3.1跟踪工具及其实现跟踪工具及其实现 DOS系统中的系统中的动态调试程序,是动态调试程序,是一个使用简单且非常有用的工具程序。它既可一个使用简单且非常有用的工具程

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

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

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

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

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

16、为三步:则中止进程。据此原理,可将制造钥匙盘过程分为三步:1)用大头针或刀片在盘的读写区内轻刺一下,注意不)用大头针或刀片在盘的读写区内轻刺一下,注意不要在要在0道附近进行,以免损坏引导区。道附近进行,以免损坏引导区。2)在)在debug状态下,用子命令状态下,用子命令LOAD依次装入扇区。依次装入扇区。3)在前两步的基础上,开始编制验证钥匙盘的子程序。)在前两步的基础上,开始编制验证钥匙盘的子程序。这段程序如下:这段程序如下: 第三章计算机软件安全技术第三章计算机软件安全技术实例:编制具有反跟踪功能的加密盘实例:编制具有反跟踪功能的加密盘L1:MOV CX,4;检测次数检测次数L2:PUSH

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

18、标号扇区JNZL1;不是,再试不是,再试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反跟踪的实现反跟踪的实现第三章计算机软件安全技术第三章计

19、算机软件安全技术MOV DS,AX;DS中存入处理程序段址中存入处理程序段址MOV CX,20H;代码个数代码个数MOV BX,DX;BX存处理程序偏移量存处理程序偏移量L4:MOV BYTE PTR BX+SI,11H ;破坏代码破坏代码ADDSI,1LOOPL4POPDS返回本节返回本节反跟踪的实现反跟踪的实现第三章计算机软件安全技术第三章计算机软件安全技术3.4防止非法复制软件的技术防止非法复制软件的技术3.4.1软件加密的必要性软件加密的必要性3.4.2常用的防止非法复制软件的技术常用的防止非法复制软件的技术3.4.3实例:几种加密软件的使用原理及方法实例:几种加密软件的使用原理及方法

20、返回本章首页返回本章首页第十课: 3.4第三章计算机软件安全技术第三章计算机软件安全技术3.4.1软件加密的必要性软件加密的必要性 随着计算机通信网络和通用的数据资源的进一步开随着计算机通信网络和通用的数据资源的进一步开放及个人计算机的广泛使用,对计算机资源的保护,特放及个人计算机的广泛使用,对计算机资源的保护,特别是对软件产品的保护,就变得越来越迫切。别是对软件产品的保护,就变得越来越迫切。 软件作为一种知识密集的商品化产品,在开发过程软件作为一种知识密集的商品化产品,在开发过程中需要大量的人力,为开发程序而付出的成本往往是硬中需要大量的人力,为开发程序而付出的成本往往是硬件价值的数倍乃至数

21、百倍。然而,软件具有易于复制和件价值的数倍乃至数百倍。然而,软件具有易于复制和便于携带的特性;同时,由于社会、法律为软件产品提便于携带的特性;同时,由于社会、法律为软件产品提供的保护不充分,迫使一些软件公司和开发人员采取了供的保护不充分,迫使一些软件公司和开发人员采取了自卫手段,从而出现了软件保护技术。自卫手段,从而出现了软件保护技术。返回本节返回本节第三章计算机软件安全技术第三章计算机软件安全技术3.4.2常用的防止非法复制软件的技术常用的防止非法复制软件的技术1加密软件的工作方式加密软件的工作方式加密软件的工作方式主要有以下几种方式:加密软件的工作方式主要有以下几种方式:(1)外壳式)外壳

22、式 (2)内含式)内含式 (3)结合式)结合式 第三章计算机软件安全技术第三章计算机软件安全技术2限制技术限制技术限制就是对用户将要进行的一系列操作通过某限制就是对用户将要进行的一系列操作通过某种手段进行确认,即弄清楚他是谁,他具有什种手段进行确认,即弄清楚他是谁,他具有什么特征,他拥有什么权限。最典型的限制技术么特征,他拥有什么权限。最典型的限制技术有口令和存取控制。有口令和存取控制。(1)口令加密限制技术)口令加密限制技术 (2)存取控制技术)存取控制技术 限制技术限制技术第三章计算机软件安全技术第三章计算机软件安全技术表表3.2存取控制表之一存取控制表之一表表3.1口令文件的单向加密口令

23、文件的单向加密第三章计算机软件安全技术第三章计算机软件安全技术表表3.3存取控制表之二存取控制表之二 第三章计算机软件安全技术第三章计算机软件安全技术3利用装配程序防止非法复制利用装配程序防止非法复制 (1)基本知识)基本知识 (2)设计装入程序)设计装入程序 (3)在)在YIN.EXE中要做的工作中要做的工作 利用装配程序防止非法复制利用装配程序防止非法复制第三章计算机软件安全技术第三章计算机软件安全技术(1)基本知识)基本知识 1)FCB和和FAT。2)一个未打开的一个未打开的FCB由驱动器号和文件名及文件的扩由驱动器号和文件名及文件的扩展名组成。展名组成。3)置磁盘传输地址。)置磁盘传输

24、地址。4)查找第一登记项。)查找第一登记项。 利用装配程序防止非法复制利用装配程序防止非法复制第三章计算机软件安全技术第三章计算机软件安全技术(2)设计装入程序)设计装入程序 1)设计思想。)设计思想。2)数据区。)数据区。3)程序流程。)程序流程。 利用装配程序防止非法复制利用装配程序防止非法复制第三章计算机软件安全技术第三章计算机软件安全技术1)设计思想。)设计思想。 在在MIMIYC.EXE将将YIN.EXE装入装入C盘的过程中,首盘的过程中,首先以先以YIN.EXE为名,在为名,在C盘中建立文件,接着取出其在盘中建立文件,接着取出其在C盘中建立时所对应的盘中建立时所对应的FCB,然后再

25、将然后再将YIN.EXE写入到写入到C盘中去。至此,装入程序盘中去。至此,装入程序MIMIYC.EXE完成了装入任完成了装入任务,便取出自身在磁盘中的务,便取出自身在磁盘中的FCB,用软件中断用软件中断INT 26H(绝对磁盘写),把内存中一些无关数据,写入到由刚绝对磁盘写),把内存中一些无关数据,写入到由刚才 算 到 的 相 对 扇 区 号 的 扇 区 中 去 , 从 而 破 坏才 算 到 的 相 对 扇 区 号 的 扇 区 中 去 , 从 而 破 坏MIMIYC.EXE文件,完成一次性使用的任务。文件,完成一次性使用的任务。利用装配程序防止非法复制利用装配程序防止非法复制第三章计算机软件安

26、全技术第三章计算机软件安全技术2)数据区。)数据区。举例:建立两个字节串举例:建立两个字节串“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,0

27、0,00,00,00,00,00,00,00,00,00VV DB I,4DH,49H,4DH,49H,59H,43H,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 C:YIN.EXELY1 DB 0HFILE DB A:YIN.EXELY2 DB 0H利用装配程序防止非法复制利用装配程序防

28、止非法复制第三章计算机软件安全技术第三章计算机软件安全技术3)程序流程。首先将被保护软件)程序流程。首先将被保护软件YIN.EXE读入内存缓读入内存缓冲区中,首址为冲区中,首址为FILA。其流程为:其流程为:MOV DX,OFFSET FILEMOV AL,2MOV AH,3DH:打开一个文件打开一个文件INT21H PUSHAXMOV BX,AX:保存文件代号保存文件代号MOV CX,0FFF0HMOV AH,3FH:读文件读文件INT21H利用装配程序防止非法复制利用装配程序防止非法复制第三章计算机软件安全技术第三章计算机软件安全技术POPBX:文件代号送文件代号送BXPUSHAX:保存文

29、件的字节数保存文件的字节数MOV AH,3EH:关闭文件关闭文件INT21H再以再以C:YIN.EXE为名在硬盘中建立文件:为名在硬盘中建立文件:MOV DX,OFFSET FILCMOV CX,0MOV AH,3CH:建立文件建立文件INT21H利用装配程序防止非法复制利用装配程序防止非法复制第三章计算机软件安全技术第三章计算机软件安全技术对于刚刚以对于刚刚以YIN.EXE为名建立的文件,要把其为名建立的文件,要把其FCB中的开始簇号有效地提出来,还必须在刚中的开始簇号有效地提出来,还必须在刚刚建立的文件中存储如下部分信息:刚建立的文件中存储如下部分信息: MOV DX,OFFSET FIL

30、CMOV AL,2MOV AH,3D:打开一个文件打开一个文件INT21H PUSHAX利用装配程序防止非法复制利用装配程序防止非法复制第三章计算机软件安全技术第三章计算机软件安全技术MOV DX,OFFSET FILAMOV BX,AXMOV CX,512DMOV AH,40H:写文件写文件INT21H POPAXMOV BX,AXMOV AH,3EH:关闭文件关闭文件INT21H利用装配程序防止非法复制利用装配程序防止非法复制第三章计算机软件安全技术第三章计算机软件安全技术此时,便可用查找第一登记项的办法,把刚才建立文件此时,便可用查找第一登记项的办法,把刚才建立文件的的FCB取出,并能得

31、到一个有效的开始簇号。当然,在取出,并能得到一个有效的开始簇号。当然,在此之前,应为其设置磁盘的传输地址:此之前,应为其设置磁盘的传输地址:MOV DX,OFFSET FILB MOV AH,1AH:置磁盘缓冲区置磁盘缓冲区INT21HMOV DX,OFFSET FIMOV AH,11H:查找第一登记项查找第一登记项INT21H利用装配程序防止非法复制利用装配程序防止非法复制第三章计算机软件安全技术第三章计算机软件安全技术 程序运行完毕,便在以程序运行完毕,便在以FILB为首址的缓冲为首址的缓冲区,得到一个重要的数据:区,得到一个重要的数据:FCB中第中第26,27字字节的低节的低12位数,即

32、位数,即YIN.EXE文件将要在硬盘中文件将要在硬盘中开始存储的簇号。把这一数据写入到程序开始开始存储的簇号。把这一数据写入到程序开始运行时,读入的运行时,读入的YIN.EXE文件的特定单元之中文件的特定单元之中(这一特定单元的位置需要用(这一特定单元的位置需要用DOS的的DEBUG调调试程序确定),待这项工作完成后,便可以将试程序确定),待这项工作完成后,便可以将读入的文件读入的文件YIN.EXE正式写入到硬盘中。正式写入到硬盘中。利用装配程序防止非法复制利用装配程序防止非法复制第三章计算机软件安全技术第三章计算机软件安全技术MOVDX,OFFSET FILC MOVAL,2MOVAH,3D

33、H:打开文件打开文件 INT21HPOPCX:先前保存的先前保存的YIN.EXE文件的字节数送文件的字节数送CXPUSHAX:保存文件代号保存文件代号MOVBX,AXMOVDX,OFFSET FILAMOVAH,40H:写文件写文件 INT21HPOPBX:文件代号送文件代号送BXMOVAH,3EH:关闭文件关闭文件INT21H利用装配程序防止非法复制利用装配程序防止非法复制第三章计算机软件安全技术第三章计算机软件安全技术此时,被保护文件已装入到硬盘中。下面的工作,是要此时,被保护文件已装入到硬盘中。下面的工作,是要将所装程序将所装程序MIMIYC.EXE删除。用下面的几条指令,删除。用下面的

34、几条指令,找出找出MIMIYC.EXE磁盘中开始存储的簇号,并换算成磁盘中开始存储的簇号,并换算成相对扇区号,最后进行相对扇区号,最后进行“绝对磁盘写绝对磁盘写”(INT 26H),破破坏掉坏掉MIMIYC.EXE的程序:的程序:MOV DX,OFFSET VVVMOV AH,1AH:置磁盘缓冲区置磁盘缓冲区INT21HMOV DX,OFFSET VVMOV AH,11H:查找第一登记项查找第一登记项利用装配程序防止非法复制利用装配程序防止非法复制第三章计算机软件安全技术第三章计算机软件安全技术INT21HMOVDI,OFFSET VVVADDDI,27DMOVAX,DI:FCB的第的第26,

35、2 7字节送字节送AXANDAX,0FFFH:取其低取其低12位位SUBAX,2SALAX,1:乘以乘以2ADDAX,0CH:加上磁盘数据区开始的相对扇区号加上磁盘数据区开始的相对扇区号0CHMOVCX,1:写入的扇区数写入的扇区数MOVBX,OFFSET FILAMOVAL,0INT26H:绝对磁盘写绝对磁盘写POPF利用装配程序防止非法复制利用装配程序防止非法复制第三章计算机软件安全技术第三章计算机软件安全技术(3)在)在YIN.EXE中要做的工作中要做的工作 1)应设置一特定单元,以便)应设置一特定单元,以便MIMIYC.EXE程程序有关簇号能写到该单元中。序有关簇号能写到该单元中。2)

36、设置与自身文件相对应的未打开的)设置与自身文件相对应的未打开的FCB,将将来在程序运行时,以它为依据,用来在程序运行时,以它为依据,用“查找第一查找第一登记项登记项”的办法,找出自身在盘中开始存储的的办法,找出自身在盘中开始存储的簇号。簇号。3)开辟一缓冲区,作为)开辟一缓冲区,作为“查找第一登记项查找第一登记项”时时的磁盘传输地址。的磁盘传输地址。返回本节返回本节利用装配程序防止非法复制利用装配程序防止非法复制第三章计算机软件安全技术第三章计算机软件安全技术3.4.3实例:几种加密软件的使用原理及方法实例:几种加密软件的使用原理及方法1PROLOCK加密程序加密程序2PROTECT加密保护程

37、序加密保护程序3LOCK89加密程序加密程序 第三章计算机软件安全技术第三章计算机软件安全技术1PROLOCK加密程序加密程序(1)使用方法)使用方法一张加密钥匙盘附有一个一张加密钥匙盘附有一个PROLOCK.EXE执行文件,该文件执行文件,该文件自身也是用自身也是用PROLOCK加密的,是一个保密文件。因此,即加密的,是一个保密文件。因此,即便是同一版本的两张钥匙盘,它们也不能相互拷贝。此外,便是同一版本的两张钥匙盘,它们也不能相互拷贝。此外,要求输入的文件扩展名必须为要求输入的文件扩展名必须为.COM或或.EXE,而输出文件名而输出文件名的扩展名必须是的扩展名必须是.EXE,并且列出并且列

38、出5个参数项:个参数项:DELAYn 延时(延时(n=1999分)分)FPDRIVE=n钥匙盘所在驱动器号钥匙盘所在驱动器号NOWAIT有此参数,不能进行确认性提问有此参数,不能进行确认性提问TIMER从从INT 08H中断获取时钟信息中断获取时钟信息USER=n用户要求检查解密键的中断向量用户要求检查解密键的中断向量 第三章计算机软件安全技术第三章计算机软件安全技术PROLOCK加密程序加密程序(2)加密特征)加密特征用用PROLOCK加密后的文件将增加加密后的文件将增加12KB,增加增加的数据放在文件前部,使用单一算法加密,原的数据放在文件前部,使用单一算法加密,原理是依照激光加密的定位和

39、指纹识别程序。从理是依照激光加密的定位和指纹识别程序。从钥匙盘读出的指纹,只用作判断该盘是不是钥钥匙盘读出的指纹,只用作判断该盘是不是钥匙盘,而不用作程序解密,即指明具有这一特匙盘,而不用作程序解密,即指明具有这一特征的带密程序,可以在没有钥匙盘的条件下解征的带密程序,可以在没有钥匙盘的条件下解密使用。密使用。第三章计算机软件安全技术第三章计算机软件安全技术PROLOCK加密程序加密程序(3)防拷贝技术)防拷贝技术PROLOCK的防拷贝技术是使用激光孔。的防拷贝技术是使用激光孔。 (4)分析)分析PROLOCK的加密代码是逐步解密的,每组加的加密代码是逐步解密的,每组加密代码通常只有数十个字节

40、,有数十段这样的密代码通常只有数十个字节,有数十段这样的加密代码。加密代码。 第三章计算机软件安全技术第三章计算机软件安全技术2PROTECT加密保护程序加密保护程序(1)使用方法)使用方法键入键入PROTECT后,屏幕显示五条选项,其功后,屏幕显示五条选项,其功能如下:能如下:Protect executable file(保护可执行文件)。保护可执行文件)。Install protected file to fixed disk。Recover install file(回收被安装的文件)。回收被安装的文件)。Delete protected file(删除被保护的文件)。删除被保护的文件

41、)。Quit(退出退出PROTECT加密程序)。加密程序)。第三章计算机软件安全技术第三章计算机软件安全技术(2)加密特征)加密特征利用利用PROTECT加密软件保护的文件将增加加密软件保护的文件将增加6KB左右,左右,增加的数据放在文件尾部。增加的数据放在文件尾部。 (3)防拷贝技术)防拷贝技术PROTECT加密软件包的防拷贝技术是使用大扇区格式。加密软件包的防拷贝技术是使用大扇区格式。 (4)分析)分析PROTECT加密软件技术的独到之处在于使用了加密软件技术的独到之处在于使用了INT 1单步中断和单步中断和1CH中断。中断。 PROTECT加密保护程序加密保护程序第三章计算机软件安全技术

42、第三章计算机软件安全技术3LOCK89加密程序加密程序 (1)使用方法)使用方法一张加密钥匙盘附有一个一张加密钥匙盘附有一个LOCK89.EXE执行文件。该文执行文件。该文件自身也是用件自身也是用LOCK89加密的,不能相互拷贝。用户应加密的,不能相互拷贝。用户应将 输 入 文 件 名 和 输 出 文 件 同 时 键 入 , 后 面 的将 输 入 文 件 名 和 输 出 文 件 同 时 键 入 , 后 面 的PASSWORD则可输入一个两字节的密码,此密码可增则可输入一个两字节的密码,此密码可增加加密程序的解密键的变化,而不是要求启动被加密文加加密程序的解密键的变化,而不是要求启动被加密文件时

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

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

45、件安全技术3.5保证软件质量的安全体系保证软件质量的安全体系3.5.1概述概述3.5.2软件故障的分类软件故障的分类3.5.3软件测试工具软件测试工具返回本章首页返回本章首页第11课 : 3.5第三章计算机软件安全技术第三章计算机软件安全技术3.5.1概述概述软件的可靠性:是指软件在特定的环境条件下,软件的可靠性:是指软件在特定的环境条件下,在给定的时间内,不发生故障的性质;或者是在给定的时间内,不发生故障的性质;或者是指软件在规定的时间和规定的条件下,能正常指软件在规定的时间和规定的条件下,能正常地完成规定的功能而无差错的概率。地完成规定的功能而无差错的概率。第三章计算机软件安全技术第三章计

46、算机软件安全技术1)计算机软件是人工制造的复杂产品,生产中的种种)计算机软件是人工制造的复杂产品,生产中的种种因素均可使软件造成差错或故障。因素均可使软件造成差错或故障。2)软件开发没有计划,软件需求分析不充分。)软件开发没有计划,软件需求分析不充分。3)软件开发过程无规范,软件的研制至今尚未成熟,)软件开发过程无规范,软件的研制至今尚未成熟,缺乏坚实的科学基础和科学的管理制度,可能造成差错缺乏坚实的科学基础和科学的管理制度,可能造成差错。4)软件产品无评测手段,至今尚无一套完善的、对程)软件产品无评测手段,至今尚无一套完善的、对程序正确性进行验证的方法和工具,一个软件研制出来以序正确性进行验证的方法和工具,一个软件研制出来以后,无法进行彻底、有效的验证,只能在实际使用中边后,无法进行彻底、有效的验证,只能在实际使用中边用、边改、边提高,往往有一些软件在使用多年后,仍用、边改、边提高,往往有一些软件在使用多年后,仍发现有很大的潜在错误,造成巨大的损失。发现有很大的潜在

温馨提示

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

评论

0/150

提交评论