计算机软件安全技术

上传人:tia****nde 文档编号:67727892 上传时间:2019-01-08 格式:PPT 页数:65 大小:391.31KB
返回 下载 相关 举报
计算机软件安全技术_第1页
第1页 / 共65页
计算机软件安全技术_第2页
第2页 / 共65页
计算机软件安全技术_第3页
第3页 / 共65页
计算机软件安全技术_第4页
第4页 / 共65页
计算机软件安全技术_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《计算机软件安全技术》由会员分享,可在线阅读,更多相关《计算机软件安全技术(65页珍藏版)》请在金锄头文库上搜索。

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

2、施 4软件的本质及特征 5软件安全保护的指导思想,返回本章首页,1计算机软件安全的定义,软件的安全就是为计算机软件系统建立和采取的技术和管理的安全保护,保护计算机软件、数据不因偶然或恶意的原因而遭破坏、更改、显露、盗版、非法复制,保证软件系统能正常连续的运行。,2计算机软件安全的内容,(1)软件的自身安全 (2)软件的存储安全 (3)软件的通信安全 (4)软件的使用安全 (5)软件的运行安全,3计算机软件安全的技术措施,必须采取两个方面的措施: 一是非技术性措施,如制定有关法律、法规,加强各方面的管理。 二是技术性措施,如软件安全的各种防拷贝加密技术、防静态分析、防动态跟踪技术等。,4软件的本

3、质及特征,1)软件是用户使用计算机的工具 2)软件是一种知识产品 3)软件是人类社会的财富 4)软件可以存储和移植 5)软件是具有巨大威慑力量的武器 6)软件具有寄生性,5软件安全保护的指导思想,软件安全保护的指导思想是采用加密、反跟踪、防非法复制等技术。在软件系统上或原盘上产生一种信息,这种信息既是软件系统中各可执行文件在运行中必须引用的,又是各种文件复制命令或软盘复制软件所无法正确复制、无法正确安装或无法正确运行的。,返回本节,3.2 文件加密技术,3.2.1 数据文件加密原理 3.2.2 可执行文件的加密方式,返回本章首页,3.2.1 数据文件加密原理,文本文件和可执行文件都是以二进制数

4、的形式以字节为单位存放在磁盘上,所以可把它们一律视为数据文件来进行加密解密操作,但可执行文件加密后不能运行,但可有效地保护源程序和数据库文件中的信息,使非法用户不能从中得到有用信息。 为了实现数据文件的加密,一般采用加密软件或用户自己编写集成化的加密软件,实现数据文件的加、解密操作。,返回本节,3.2.2 可执行文件的加密方式,1可执行文件的结构及运行 DOS环境下可执行文件有两种结构: 一种扩展名为.COM,它无文件头,可直接装入内存运行;另一种扩展名为.EXE,它必须根据文件头中的信息,经过初始化工作以后才能顺利运行,这种不同的结构决定了它们不同的加密方式。,2可执行文件的加密 (1).C

5、OM文件的加密方式 .COM文件的结构简单,可以很容易地对它进行加密,最简单的方法是口令加密。 (2).EXE文件的加密方式 只要在.COM嵌入模块CCBN的基础上稍做修改,即可得到对.EXE文件加密的嵌入模块CE.BIN。,返回本节,3.3 软件运行中的反跟踪技术,3.3.1 跟踪工具及其实现 3.3.2 软件运行中的反跟踪技术 3.3.3 实例:编制具有反跟踪功能的加密盘,返回本章首页,3.3.1 跟踪工具及其实现,DOS系统中的动态调试程序,是一个使用简单且非常有用的工具程序。它既可以用于对任何格式的文件进行观察和修改,也可以对软盘和硬盘的任何区域进行直接读写。尤其是可以用于对执行程序的

6、跟踪分析和把二进制代码转换为汇编指令,还可以查看内存状态,分析程序出错原因、病毒感染情况等。,返回本节,3.3.2 软件运行中的反跟踪技术,1抑制跟踪命令 DEBUG在执行T命令和G命令时,分别要运行系统单步中断和断点中断服务程序。在系统中断向量表中,这两种中断的中断向量分别为1和3,中断服务程序入口地址分别存放在内存0000:0004和0000:000C起始的4个字节中,其中前2个字节是偏移地址,后2个字节是段地址。因此,当这些单元的内容被改变后,T命令和G命令就不能正常执行,从而抑制跟踪命令。,2封锁键盘输入 1)改变键盘中断服务程序的入口地址。 2)禁止键盘中断。 3)禁止接收键盘数据。

7、,3改变CRT显示特性 1)debug各种命令被执行后,其结果均要在屏幕上显示出来,供人们查看。 2)DEBUG在显示信息时,必然会出现屏幕上卷、换页等。,4定时技术 设程序中有两点A和B,在正常情况下,从A到B所需的运行时间为C,而在跟踪运行时,速度较慢,所需时间将远远超过C,这样便可利用这种时间差判明是否有人在跟踪程序。如何知道A、B两点间的实际运行时间呢?PC主机板上设有8253计时器,其中通道0为通用计时器提供了一个固定的实时计数器,用来实现计时。在ROM BIOS中,软中断1AH提供了读取当前时钟值的功能。 MOV AH,0 INT 1AH,返回本节,3.3.3 实例:编制具有反跟踪

8、功能的加密盘,1物理加密的原理 物理加密的原理,即是在软盘片上人为造成一个或多个坏区,在应用程序被执行前,多次验证这些坏扇区,以确定当前盘是否为钥匙盘。若是,则执行应用程序,否则中止进程。据此原理,可将制造钥匙盘过程分为三步: 1)用大头针或刀片在盘的读写区内轻刺一下,注意不要在0道附近进行,以免损坏引导区。 2)在debug状态下,用子命令LOAD依次装入扇区。 3)在前两步的基础上,开始编制验证钥匙盘的子程序。这段程序如下:,L1: MOV CX,4 ;检测次数 L2: PUSH CX MOV CH,TRACK ;磁道号送CH MOV CL,SECTOR ;扇区号送CL MOV DL,DR

9、IVER ;驱动器号送DL MOV DH,HEAD ;磁头号送DH MOVA AL,NUMBER ;扇区个数送AL MOV AH,04H ;检测功能号送AH,INT BH ;磁盘操作功能调用 POP CX MOV DH,AH JNB STOP ;正常扇区,则进入死锁 LOOP L2 ;非正常扇区,继续,直至CX为0 CMP DH,02H ;是否为无地址标号扇区 JNZ L1 ;不是,再试 RET ;是钥匙盘,许可,返回主程序 STOP: MOV CX,07H LOOP STOP,2反跟踪的实现(程序如下:) PUSH DS ;数据段址堆栈 MOV AX,000H MOV DS,AX ;当前数据

10、段置000H MOV SI,00H MOV BX,0004 MOV AX,BX MOV DX,AX MOV BX,0006 MOV AX,BX,MOV DS,AX ;DS中存入处理程序段址 MOV CX,20H ;代码个数 MOV BX,DX ;BX存处理程序偏移量 L4: MOV BYTE PTR BX+SI,11H ;破坏代码 ADD SI,1 LOOP L4 POP DS,返回本节,3.4 防止非法复制软件的技术,3.4.1 软件加密的必要性 3.4.2 常用的防止非法复制软件的技术 3.4.3 实例:几种加密软件的使用原理及方法,返回本章首页,3.4.1 软件加密的必要性,随着计算机通

11、信网络和通用的数据资源的进一步开放及个人计算机的广泛使用,对计算机资源的保护,特别是对软件产品的保护,就变得越来越迫切。 软件作为一种知识密集的商品化产品,在开发过程中需要大量的人力,为开发程序而付出的成本往往是硬件价值的数倍乃至数百倍。然而,软件具有易于复制和便于携带的特性;同时,由于社会、法律为软件产品提供的保护不充分,迫使一些软件公司和开发人员采取了自卫手段,从而出现了软件保护技术。,返回本节,3.4.2 常用的防止非法复制软件的技术,1加密软件的工作方式 加密软件的工作方式主要有以下几种方式: (1)外壳式 (2)内含式 (3)结合式,2限制技术 限制就是对用户将要进行的一系列操作通过

12、某种手段进行确认,即弄清楚他是谁,他具有什么特征,他拥有什么权限。最典型的限制技术有口令和存取控制。 (1)口令加密限制技术 (2)存取控制技术,表3.1 口令文件的单向加密,表3.2 存取控制表之一,表3.3 存取控制表之二,3利用装配程序防止非法复制 (1)基本知识 (2)设计装入程序 (3)在YIN.EXE中要做的工作,(1)基本知识 1)FCB和FAT。 2)一个未打开的FCB由驱动器号和文件名及文件的扩展名组成。 3)置磁盘传输地址。 4)查找第一登记项。,(2)设计装入程序 1)设计思想。 2)数据区。 3)程序流程。,1)设计思想。 在MIMIYC.EXE将YIN.EXE装入C盘

13、的过程中,首先以YIN.EXE为名,在C盘中建立文件,接着取出其在C盘中建立时所对应的FCB,然后再将YIN.EXE写入到C盘中去。至此,装入程序MIMIYC.EXE完成了装入任务,便取出自身在磁盘中的FCB,用软件中断INT 26H(绝对磁盘写),把内存中一些无关数据,写入到由刚才算到的相对扇区号的扇区中去,从而破坏MIMIYC.EXE文件,完成一次性使用的任务。,2)数据区。 举例:建立两个字节串“A:YIN.EXE”和“C:YIN.EXE”,装入程序以此为文件名在A:盘中读文件和在C:盘中建立文件及写文件。数据区形式如下:,FILA DB 8000H DUP(?) FI DB 3,59H

14、,49H,20H,20H,20H,20H,20H,45H DB 58H,45H,20H,00,00,00,00,00,00,00,00 DB 00,00,00,00,00,00,00,00,00,00,00 VV DB I,4DH,49H,4DH,49H,59H,43H,20H,20H,43H,DB 4FH,4DH,20H,00,00,00,00,00,00,00,00 DB 00,00,00,00,00,00,00,00,00,00,00,00 FILB DB 40H DUP(?) VVV DB 40D DUP(?) FIL DB C:YIN.EXE LY1 DB 0H FILE DB A:

15、YIN.EXE LY2 DB 0H,3)程序流程。首先将被保护软件YIN.EXE读入内存缓冲区中,首址为FILA。其流程为: MOV DX,OFFSET FILE MOV AL,2 MOV AH,3DH :打开一个文件 INT 21H PUSH AX MOV BX,AX :保存文件代号 MOV CX,0FFF0H MOV AH,3FH :读文件 INT 21H,POP BX :文件代号送BX PUSH AX :保存文件的字节数 MOV AH,3EH :关闭文件 INT 21H 再以C:YIN.EXE为名在硬盘中建立文件: MOV DX,OFFSET FILC MOV CX,0 MOV AH,3

16、CH :建立文件 INT 21H,对于刚刚以YIN.EXE为名建立的文件,要把其FCB中的开始簇号有效地提出来,还必须在刚刚建立的文件中存储如下部分信息: MOV DX,OFFSET FILC MOV AL,2 MOV AH,3D :打开一个文件 INT 21H PUSH AX,MOV DX,OFFSET FILA MOV BX,AX MOV CX,512D MOV AH,40H :写文件 INT 21H POP AX MOV BX,AX MOV AH,3EH :关闭文件 INT 21H,此时,便可用查找第一登记项的办法,把刚才建立文件的FCB取出,并能得到一个有效的开始簇号。当然,在此之前,应为其设置磁盘的传输地址: MOV DX,OFFSET FILB MOV AH,1AH :置磁盘缓冲区 INT 21H MOV DX,OFFSET FI MOV AH,11H :查找第一登记项 INT 21H,程序运行完毕,便在以FILB为首址的缓冲区,得到一

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号