计算机软件安全技术(1)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
返回本章首页
计算机软件安全技术(1)
3.1 计算机软件安全技术概述
1.计算机软件安全的定义 2.计算机软件安全的内容 3.计算机软件安全的技术措施 4.软件的本质及特征 5.软件安全保护的指导思想
返回本章首页
计算机软件安全技术(1)
1.计算机软件安全的定义
软件的安全就是为计算机软件系统建立和 采取的技术和管理的安全保护,保护计算机软 件、数据不因偶然或恶意的原因而遭破坏、更 改、显露、盗版、非法复制,保证软件系统能 正常连续的运行。
INT 21H
计算机软件安全技术(1)
POP BX :文件代号送BX PUSH AX :保存文件的字节数
MOV AH,3EH :关闭文件 INT 21H 再以C:YIN.EXE为名在硬盘中建立文件: MOV DX,OFFSET FILC MOV CX,0 MOV AH,3CH :建立文件 INT 21H
计算机软件安全技术(1)
2020/12/8
计算机软件安全技术(1)
本章学习目标
(1)掌握计算机软件安全的基本概念、内容和软件安 全保护的指导思想。 (2)了解一般采用哪些技术措施来保证计算机软件的 安全。 (3)掌握可执行文件的加密方式和加密原理;软件运 行中的反跟踪技术;常用的防止非法复制软件的技术; 能够编制具有反跟踪功能的加密盘。 (4)了解保证软件质量的安全体系。
计算机软件安全技术(1)
2.反跟踪的实现(程序如下:) PUSH DS ;数据段址堆栈
MOV AX,000H MOV DS,AX ;当前数据段置000H MOV SI,00H MOV BX,[0004] MOV AX,[BX] MOV DX,AX MOV BX,[0006] MOV AX,[BX]
MOV AH,0
INT 1AH
返回本节
计算机软件安全技术(1)
3.3.3 实例:编制具有反跟踪功能的加密盘
1.物理加密的原理 物理加密的原理,即是在软盘片上人为造成一个或多个 坏区,在应用程序被执行前,多次验证这些坏扇区,以 确定当前盘是否为钥匙盘。若是,则执行应用程序,否 则中止进程。据此原理,可将制造钥匙盘过程分为三步: 1)用大头针或刀片在盘的读写区内轻刺一下,注意不 要在0道附近进行,以免损坏引导区。 2)在debug状态下,用子命令LOAD依次装入扇区。 3)在前两步的基础上,开始编制验证钥匙盘的子程序。 这段程序如下:
计算机软件安全技术(1)
2.封锁键盘输入 1)改变键盘中断服务程序的入口地址。 2)禁止键盘中断。 3)禁止接收键盘数据。
计算机软件安全技术(1)
3.改变CRT显示特性 1)debug各种命令被执行后,其结果均要在屏 幕上显示出来,供人们查看。 2)DEBUG在显示信息时,必然会出现屏幕上 卷、换页等。
计算机软件安全技术(1)
表3.1 口令文件的单向加密 表3.2 存取控制表之一
计算机软件安全技术(1)
表3.3 存取控制表之二
计算机软件安全技术(1)
3.利用装配程序防止非法复制 (1)基本知识 (2)设计装入程序 (3)在YIN.EXE中要做的工作
计算机软件安全技术(1)
(1)基本知识
1)FCB和FAT。 2)一个未打开的FCB由驱动器号和文件名及文件的扩 展名组成。 3)置磁盘传输地址。 4)查找第一登记项。
计算机软件安全技术(1)
L1: MOV CX,4;检测次数
L2: PUSH CX
MOV CH,TRACK
;磁道号送CH
MOV CL,SECTOR
;扇区号送CL
MOV DL,DRIVER
;驱动器号送DL
MOV DH,HEAD ;磁头号送DH
MOVA
AL,NUMBER ;扇区个数送AL
MOV AH,04H ;检测功能号送AH
为了实现数据文件的加密,一般采用加密
软件或用户自己编写集成化的加密软件,实现
数据文件的加、解密操作。
返回本节
计算机软件安全技术(1)
3.2.2 可执行文件的加密方式
1.可执行文件的结构及运行 DOS环境下可执行文件有两种结构: 一种扩展名为.COM,它无文件头,可直接装 入内存运行;另一种扩展名为.EXE,它必须根 据文件头中的信息,经过初始化工作以后才能 顺利运行,这种不同的结构决定了它们不同的 加密方式。
3.4.2 常用的防止非法复制软件的技术
1.加密软件的工作方式 加密软件的工作方式主要有以下几种方式: (1)外壳式 (2)内含式 (3)结合式
计算机软件安全技术(1)
2.限制技术 限制就是对用户将要进行的一系列操作通过某 种手段进行确认,即弄清楚他是谁,他具有什 么特征,他拥有什么权限。最典型的限制技术 有口令和存取控制。 (1)口令加密限制技术 (2)存取控制技术
计算机软件安全技术(1)
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
返回本节
计算机软件安全技术(1)
3.4 防止非法复制软件的技术
计算机软件安全技术(1)
4.软件的本质及特征
1)软件是用户使用计算机的工具 2)软件是一种知识产品 3)软件是人类社会的财富 4)软件可以存储和移植 5)软件是具有巨大威慑力量的武器 6)软件具有寄生性
计算机软件安全技术(1)
5.软件安全保护的指导思想
软件安全保护的指导思想是采用加密、反 跟踪、防非法复制等技术。在软件系统上或原 盘上产生一种信息,这种信息既是软件系统中 各可执行文件在运行中必须引用的,又是各种 文件复制命令或软盘复制软件所无法正确复制、 无法正确安装或无法正确运行的。
计算机软件安全技术(1)
2.可执行文件的加密 (1).COM文件的加密方式 .COM文件的结构简单,可以很容易地对它进行 加密,最简单的方法是口令加密。 (2).EXE文件的加密方式 只要在.COM嵌入模块CCBN的基础上稍做修改, 即可得到对.EXE文件加密的嵌入模块CE.BIN。
返回本节
计算机软件安全技术(1)
计算机软件安全技术(1)
计算机软件安全技术(1)
4.定时技术 设程序中有两点A和B,在正常情况下,从A到B所需的 运行时间为C,而在跟踪运行时,速度较慢,所需时间 将远远超过C,这样便可利用这种时间差判明是否有人 在跟踪程序。如何知道A、B两点间的实际运行时间呢? PC主机板上设有8253计时器,其中通道0为通用计时器 提供了一个固定的实时计数器,用来实现计时。在 ROM BIOS中,软中断1AH提供了读取当前时钟值的功 能。
返回本节
计算机软件安全技术(1)
3.3.2 软件运行中的反跟踪技术
1.抑制跟踪命令 DEBUG在执行T命令和G命令时,分别要运行 系统单步中断和断点中断服务程序。在系统中 断向量表中,这两种中断的中断向量分别为1和 3,中断服务程序入口地址分别存放在内存0000: 0004和0000:000C起始的4个字节中,其中前2 个字节是偏移地址,后2个字节是段地址。因此, 当这些单元的内容被改变后,T命令和G命令就 不能正常执行,从而抑制跟踪命令。
3.3 软件运行中的Leabharlann Baidu跟踪技术
3.3.1 跟踪工具及其实现 3.3.2 软件运行中的反跟踪技术 3.3.3 实例:编制具有反跟踪功能的加密盘
返回本章首页
计算机软件安全技术(1)
3.3.1 跟踪工具及其实现
DOS系统中的debug.com动态调试程序,是 一个使用简单且非常有用的工具程序。它既可 以用于对任何格式的文件进行观察和修改,也 可以对软盘和硬盘的任何区域进行直接读写。 尤其是可以用于对执行程序的跟踪分析和把二 进制代码转换为汇编指令,还可以查看内存状 态,分析程序出错原因、病毒感染情况等。
计算机软件安全技术(1)
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
计算机软件安全技术(1)
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 :读文件
计算机软件安全技术(1)
2.计算机软件安全的内容
(1)软件的自身安全 (2)软件的存储安全 (3)软件的通信安全 (4)软件的使用安全 (5)软件的运行安全
计算机软件安全技术(1)
3.计算机软件安全的技术措施
必须采取两个方面的措施: 一是非技术性措施,如制定有关法律、法规, 加强各方面的管理。 二是技术性措施,如软件安全的各种防拷贝加 密技术、防静态分析、防动态跟踪技术等。
计算机软件安全技术(1)
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:YIN.EXE’ LY2 DB 0H
计算机软件安全技术(1)
(2)设计装入程序 1)设计思想。 2)数据区。 3)程序流程。
计算机软件安全技术(1)
1)设计思想。 在 MIMIYC.EXE 将 YIN.EXE 装 入 C 盘 的 过
程 中 , 首 先 以 YIN.EXE 为 名 , 在 C 盘 中 建 立 文 件,接着取出其在C盘中建立时所对应的FCB, 然 后 再 将 YIN.EXE 写 入 到 C 盘 中 去 。 至 此 , 装 入程序MIMIYC.EXE完成了装入任务,便取出 自身在磁盘中的FCB,用软件中断INT 26H(绝 对磁盘写),把内存中一些无关数据,写入到 由刚才算到的相对扇区号的扇区中去,从而破 坏MIMIYC.EXE文件,完成一次性使用的任务。
3.4.1 软件加密的必要性 3.4.2 常用的防止非法复制软件的技术 3.4.3 实例:几种加密软件的使用原理及方法
返回本章首页
计算机软件安全技术(1)
3.4.1 软件加密的必要性
随着计算机通信网络和通用的数据资源的进一步开 放及个人计算机的广泛使用,对计算机资源的保护,特 别是对软件产品的保护,就变得越来越迫切。
软件作为一种知识密集的商品化产品,在开发过程 中需要大量的人力,为开发程序而付出的成本往往是硬 件价值的数倍乃至数百倍。然而,软件具有易于复制和 便于携带的特性;同时,由于社会、法律为软件产品提 供的保护不充分,迫使一些软件公司和开发人员采取了 自卫手段,从而出现了软件保护技术。
返回本节
计算机软件安全技术(1)
计算机软件安全技术(1)
2)数据区。 举例:建立两个字节串“A:YIN.EXE”和 “C:YIN.EXE”,装入程序以此为文件名在A: 盘中读文件和在C:盘中建立文件及写文件。数 据区形式如下:
计算机软件安全技术(1)
FILA DB 8000H DUP(?) FI DB 3,59H,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
返回本节
计算机软件安全技术(1)
3.2 文件加密技术
3.2.1 数据文件加密原理 3.2.2 可执行文件的加密方式
返回本章首页
计算机软件安全技术(1)
3.2.1 数据文件加密原理
文本文件和可执行文件都是以二进制数的 形式以字节为单位存放在磁盘上,所以可把它 们一律视为数据文件来进行加密解密操作,但 可执行文件加密后不能运行,但可有效地保护 源程序和数据库文件中的信息,使非法用户不 能从中得到有用信息。
相关文档
最新文档