




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章计算机软件安全技术 3 1计算机软件安全技术概述3 2文件加密技术3 3软件运行中的反跟踪技术3 4防止非法复制软件的技术3 5保证软件质量的安全体系习题与思考题 本章学习目标 1 掌握计算机软件安全的基本概念 内容和软件安全保护的指导思想 2 了解一般采用哪些技术措施来保证计算机软件的安全 3 掌握可执行文件的加密方式和加密原理 软件运行中的反跟踪技术 常用的防止非法复制软件的技术 4 了解保证软件质量的安全体系 3 1计算机软件安全技术概述 3 1 1计算机软件安全的定义3 1 2计算机软件安全的内容3 1 3计算机软件安全的技术措施3 1 4软件的本质及特征3 1 5软件安全保护的指导思想 安全的软件 表现为即使它的可靠性受到蓄意危害时也仍然保持可靠 软件安全的目标是构建基于软件的系统 该系统满足如下标准 系统的脆弱性和缺陷性应该尽可能的少 系统应尽量限制由攻击引发的故障所造成的损害 确保任何攻击的后果都不会扩散 并且能尽快从故障中恢复 系统在面对大多数的攻击时 能够抵御攻击者利用软件弱点进行的攻击或者通过容错 来保持正常运行 已开发的安全软件一般都反映了其整个开发生命周期中的下列属性 可预期执行可信赖一致性安全的软件和系统除了要具有可预期执行 可信赖和一致性外 还必须尽量具备抗攻击性 容攻击性和攻击应变性等能力 3 1 1计算机软件安全的定义 软件的安全就是为计算机软件系统建立和采取的技术和管理的安全保护 保护计算机软件 数据不因偶然或恶意的原因而遭破坏 更改 显露 盗版 非法复制 保证软件系统能正常连续的运行 3 1 2计算机软件安全的内容 1 软件的自身安全 2 软件的存储安全 3 软件的通信安全 4 软件的使用安全 5 软件的运行安全 3 1 3计算机软件安全的技术措施 为了保证计算机软件安全 必须采取两个方面的措施 非技术性措施 如制定有关法律 法规 加强各方面的管理 技术性措施 如软件安全的各种防拷贝加密技术 防静态分析 防动态跟踪技术等 3 1 4软件的本质及特征 1 软件是用户使用计算机的工具2 软件是一种知识产品3 软件是人类社会的财富4 软件可以存储和移植5 软件是具有巨大威慑力量的武器6 软件具有寄生性 3 1 5软件安全保护的指导思想 软件安全保护的指导思想是采用加密 反跟踪 防非法复制等技术 在软件系统上或原盘上产生一种信息 这种信息既是软件系统中各个可执行文件在运行中必须引用的 又是各种文件复制命令或软盘复制软件所无法正确复制 无法正确安装或无法正确运行的 3 2文件加密技术 文件加密技术是为了提高信息系统及数据的安全性和保密性 防秘密数据被外部窃取 侦听或破坏所采用的主要技术手段 3 2文件加密技术 3 2 1数据文件加密原理3 2 2可执行文件的加密方式 3 2 1数据文件加密原理 文本文件和可执行文件都是以二进制数的形式以字节为单位存放在磁盘上 所以可把它们一律视为数据文件来进行加密解密操作 但可执行文件加密后不能运行 但可有效地保护源程序和数据库文件中的信息 使非法用户不能从中得到有用信息 为了实现数据文件的加密 一般采用加密软件或用户自己编写集成化的加密软件 实现数据文件的加 解密操作 3 2 2可执行文件的加密方式 1 可执行文件的结构及运行DOS环境下可执行文件有两种结构 一种扩展名为 COM 它无文件头 可直接装入内存运行 另一种扩展名为 EXE 它必须根据文件头中的信息 经过初始化工作以后才能顺利运行 这种不同的结构决定了它们不同的加密方式 2 可执行文件的加密1 COM文件的加密方式最简单的方法是口令加密 或者用户对被保护的COM文件设置口令 通过口令对文件加密 并在程序末尾增加一个附加程序段 然后再进行存盘 2 EXE文件的加密方式直接把一段标准的加密程序加到已有的可执行程序中去 同时修改原文件头和有关指令 使修改后的程序能首先执行加密的反拷贝部分 然后运行原来部分 3 3软件运行中的反跟踪技术 3 3 1跟踪工具及其实现3 3 2软件运行中的反跟踪技术 3 3 1跟踪工具及其实现 如何有效地对加密软件施行动态跟踪分析 一般来说有如下几点 对软件进行粗跟踪粗跟踪是在跟踪时对目标软件进行大块大块地跟踪 即 每次遇到调用CALL指令 重复操作指令REP 循环操作LOOP指令以及中断调用INT指令时 一般不跟踪进去 而是根据具体的执行结果对该段程序的功能进行分析 对关键部分进行细跟踪对目标软件施行了一定程度的粗跟踪之后 就可以获取软件中自己所关心的模块或程序段 从而对该模块进行具体而详细地针对性的跟踪分析 DOS系统中的动态调试程序 是一个使用简单且非常有用的工具程序 它既可以用于对任何格式的文件进行观察和修改 也可以对软盘和硬盘的任何区域进行直接读写 尤其是可以用于对执行程序的跟踪分析和把二进制代码转换为汇编指令 还可以查看内存状态 分析程序出错原因 病毒感染情况等 3 3 2软件运行中的反跟踪技术 1 抑制跟踪命令DEBUG在执行T命令和G命令时 分别要运行系统单步中断和断点中断服务程序 在系统中断向量表中 这两种中断的中断向量分别为1和3 中断服务程序入口地址分别存放在内存0000 0004和0000 000C起始的4个字节中 其中前2个字节是偏移地址 后2个字节是段地址 因此 当这些单元的内容被改变后 T命令和G命令就不能正常执行 从而抑制跟踪命令 2 封锁键盘输入1 改变键盘中断服务程序的入口地址 2 禁止键盘中断 3 禁止接收键盘数据 3 改变CRT显示特性1 封锁屏幕显示2 检查加密系统是否处于被监控状态3 定时清屏4 直接对视屏缓冲区操作 4 定时技术设程序中有两点A和B 在正常情况下 从A到B所需的运行时间为C 而在跟踪运行时 速度较慢 所需时间将远远超过C 这样便可利用这种时间差判明是否有人在跟踪程序 如何知道A B两点间的实际运行时间呢 PC主机板上设有8253计时器 其中通道0为通用计时器提供了一个固定的实时计数器 用来实现计时 在ROMBIOS中 软中断1AH提供了读取当前时钟值的功能 3 4防止非法复制软件的技术 3 4 1软件保护的必要性3 4 2常用的防止非法复制软件的技术3 4 3软件防拷贝技术 3 4 1软件保护的必要性 随着计算机通信网络和通用的数据资源的进一步开放及个人计算机的广泛使用 对计算机资源的保护 特别是对软件产品的保护 就变得越来越迫切 软件作为一种知识密集的商品化产品 在开发过程中需要大量的人力 为开发程序而付出的成本往往是硬件价值的数倍乃至数百倍 然而 软件具有易于复制和便于携带的特性 同时 由于社会 法律为软件产品提供的保护不充分 迫使一些软件公司和开发人员采取了自卫手段 从而出现了软件保护技术 3 4 2常用的防止非法复制软件的技术 1 加密软件的工作方式加密软件的工作方式主要有以下几种方式 1 外壳式 加密软件把一段加密代码附加到执行程序上 并把程序入口指向附加代码中 2 内含式 加密代码以OBJ文件形式存在 应用程序调用这些加密代码 最后与要加密的程序编译连接到一起 3 结合式 把上述两种方法结合起来 用OBJ去检查外壳的可靠性 2 限制技术限制就是对用户将要进行的一系列操作通过某种手段进行确认 即弄清楚他是谁 具有什么特征 拥有什么权限 最典型的限制技术有口令和存取控制 1 口令加密限制技术 2 存取控制技术 1 口令加密限制技术口令认证必须具备一个前提 请求认证者必须具有一个ID 该ID必须在认证者的用户数据库 该数据库必须包括ID和口令 中是唯一的 表3 1口令文件的单向加密 口令认证方式还有一个最大的安全问题就是系统的管理员通常都能得到所有用户的口令 因此 为了避免这样的安全隐患 通常情况下会在数据库中保存口令的Hash值 通过验证Hash值的方法来认证身份 2 存取控制技术存取控制技术是决定一个用户是否有权访问一些特定客体的访问约束技术 它负责分配对象的存取权利和存取方式 存取控制机制的基本元素是实体 对象和存取权利 存取控制的相关信息存储在存取控制表中 如果再进行改进 还可以将用户分为若干类 如 文件名 A组 B组 为每一个文件建立一个存取控制表 以记录各类用户对该文件的存取权限 比如 R E W R W 权利 只有文件的所有者有权修改文件的存取控制表 表3 2存取控制表之一 表3 3存取控制表之二 3 4 3软件防拷贝技术 防拷贝是指通过采取某种加密措施 使一般用户利用正常的拷贝命令 甚至各种拷贝软件 都无法将软件进行完整的复制 或者复制好的软件不能正常运行 防拷贝技术是软件加密的核心技术 利用专用技术制造一种特殊标记 正常的拷贝途径无法复制这种特殊标记 或者是拷贝到的特殊标记不完整 常用的软件防拷贝技术有以下几种 激光孔加密技术激光具有方向性好 亮度高等特点 用激光在数据区或扇区标识符上烧若干个痕迹 使磁盘上的几个点失去磁性 这样就可以在软盘表面产生永久不可恢复的标志 PROLOCK就是采用了激光孔的加密技术 软盘在激光处理过的区域读写时 会产生CRC校验错误 而加密软盘都有自己的识别程序 当CRC检验错误时 就认为此盘是原盘 然后执行被保护的用户程序 若没有CRC校验错误 则认为此盘是复制品 便会拒绝运行被保护的用户程序 使拷贝工具无法使用 电磁加密技术电磁加密技术是借助于专用的电磁机构 在所需加密的磁盘上随机生成一系列密钥信息 供被加密程序识别使用的一种加密技术 掩膜技术掩膜技术采用半导体工艺中的镀膜方法来制造标志 给磁盘某一磁道或某一扇区进行镀膜 在识别程序中 首先对被掩膜的磁盘扇区进行格式化 然后判别该扇区是否读写正常 如果读写扇区正常 则认为此盘是非法复制品而拒绝该软件运行 甚至使该软件自行销毁 如果读写扇区不正常 则认为是原盘 继续运行该软件 3 5保证软件质量的安全体系 3 5 1软件质量3 5 2软件可靠性3 5 3软件失效机理3 5 4软件故障的诊断3 5 5软件测试工具 3 5 1软件质量 软件产品的质量是由许多软件性质构成的 这些性质就称为软件质量要素 一般来讲 软件的质量要素包括易使用性 完整性 效率 可靠性 正确性 易维护性等 软件每个质量要素又包含一系列的衡量标准 每一个软件质量衡量标准又可以有多个不同的度量 软件质量度量有的作用于软件的代码 有的作用于软件开发过程中产生的中间结果和文档 3 5 2软件可靠性 软件的可靠性是指软件在特定的环境条件下 在给定的时间内 不发生故障的性质 或者是指软件在规定的时间和规定的条件下 能正常地完成规定的功能而无差错的概率 软件可靠性是软件质量的要素之一 对用户而言 与其它软件质量要素相比 软件可靠性是最重要的要素 3 5 3软件失效机理 明确软件失效机理是软件故障诊断的前提 由于软件内部逻辑复杂 运行环境动态变化 且不同的软件差异可能更大 因而软件失效机理常常有不同的表现形式 总的来说 软件失效机理可以描述为 软件错误 软件缺陷 软件故障 软件失效的过程 1 软件错误 softwareerror 软件错误是指在软件生存周期内的不希望或不可接受的人为错误 其结果是导致软件缺陷的产生 2 软件缺陷 softwaredefect 凡是没有按照要求所进行的工作统称为缺陷 软件缺陷是存在于软件之中的那些不希望或不可接受的偏差 其结果是软件运行于某一特定条件时出现软件故障 此时称软件缺陷被激活 3 软件故障 softwarefault 软件故障是指软件中的物理缺陷 是指软件运行过程中出现的一种不希望或不可接受的内部状态 出现软件故障时若无适当措施加以及时处理 便产生软件失效 4 软件失效 softwarefailure 软件失效是指软件运行时产生的一种不希望或不可接受的外部行为结果 3 5 4软件故障的诊断 软件故障诊断是根据软件 包括程序 数据和文档 的静态表现形式和动态运行状态信息查找故障源 并确定相应决策的一门技术 软件故障诊断的过程包括故障检测 故障定位 故障排除 回归测试 系统测试和交付等几个阶
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第12课 战后科学技术革命说课稿-2025-2026学年高中历史华东师大版上海第六分册-华东师大版上海2007
- 西安科大版·2017教学设计-2025-2026学年中职中职专业课统计类73 财经商贸大类
- 第一单元 主题案例二 学习家庭园艺技巧-高中劳动与综合实践单元教学设计
- 2024年七年级生物下册 4.7.1 分析人类活动对生态环境的影响说课稿 (新版)新人教版
- 曲靖市中小学生科技素养科学课程 第10课.《螺旋桨飞机》教学设计
- 2025年中考化学试题分类汇编:常见的酸和碱(第1期)解析版
- 2025年城市绿化考试题库及答案
- 22.2.5 一元二次方程根与系数的关系 说课稿+说课稿 2024-2025学年华东师大版九年级数学上册
- 22.1 一元二次方程说课稿2024-2025学年华东师大版数学九年级上册
- 2025年全国中级养老护理员职业技能A证考试题库(含答案)
- 室外栏杆底座施工方案
- 《人力资源管理》全套教学课件
- 人教版六年级数学上册教案全册
- 新人教版一年级数学上册全册教学课件(2024年秋季新教材)
- 老年高血压指南解读
- 基础烫发知识课件
- 纯电动汽车制动能量回收控制策略研究及仿真分析
- 化工公司bluesign认证资料准备清单20201201
- 骨科患者的疼痛管理
- 【公司财务风险管理问题分析国内外文献综述3000字】
- 仁爱版英语九年级(上)全册课文翻译(互译版)
评论
0/150
提交评论