当前位置:文档之家› 计算机软件安全技术

计算机软件安全技术

整理ppt
3.3 常用的软件保护技术
常见的软件保护技术有序列号方式、时间限制、警告窗口、Key File保 护、功能限制、CD—check等,下面对它们分别做出简要介绍。
3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6
序列号方式 时间限制 Nag窗口 Байду номын сангаасey File保护 功能限制的程序 CD-check
第三章 计算机软件安全技术
整理ppt
3.1 软件安全技术概述
计算机软件安全主要是指保证所有计算机程序和文档资料免 遭破坏、非法拷贝、非法使用而采用的技术和方法,其内容包括 如下五个方面:
(1)软件的自身安全 (2)软件的存储安全 (3)软件的通信安全 (4)软件的使用安全 (5)软件的运行安全
影响计算机软件安全的因素很多,要确保其安全,必须采取 两方面的措施:一是非技术性措施,如制定有关法律、法规,加 强各方面的管理等。二是技术性措施,如采用软件安全的各种防 拷贝加密技术、防静态分析、防动态跟踪技术等。
3.4.1 抑制跟踪中断 3.4.2 封锁键盘输入 3.4.3 设置显示器的显示性能 3.4.4 检测跟踪法 3.4.5 破坏中断向量表 3.4.6 设置堆栈指针法 3.4.7 对程序分块加密执行 3.4.8 对程序段进行校验 3.4.9 迷惑、拖垮解密者 3.4.10 指令流队列法 3.4.11 逆指令流法 3.4.12 混合编程法 3.4.13 自编软中断13技术
整理ppt
3.2 软件分析技术
在进行软件的破解、解密工作中,一个首要的问题是对软件进行分析。 这些软件都是机器代码程序,对于它们分析必须使用静态或动态调试工具, 分析跟踪其汇编代码。
3.2.1 静态分析技术
所谓静态分析即从反汇编出来的程序清单上分析,从提示信息入手进行 分析。如果我们对静态反汇编出来的程序清单进行阅读,就可以从中找到有 用的提示信息,了解软件的编程思路,以便顺利破解。
第一步,对软件进行粗跟踪。第二步,对关键部分进行细跟踪。 常用的动态分析工具有Soft-ICE和Trw2000。 Trw2000完全兼容Soft-ICE的各条指 令,并且专门针对软件破解进行了优化,在Windows 9x下跟踪调试功能更强。可以设 置各种断点,并且断点种类更多。它可以像一些脱壳工具一样完成对加密外壳的去除 ,自动生成EXE文件。它还有在DOS下的版本,名为TR。下图为Trw2000界面:
给软件加壳的目的主要有两点:第一就是达到压缩EXE文件的 目的,以节约存储空间,方便网络传输。第二就是加密保密的目 的,有一些版权信息需要保护起来,不能让别人随意更改,如作 者的姓名、软件名称等。能够完成对可执行文件压缩和对信息加 密的软件,我们称之为加壳软件。
整理ppt
3.5 软件加壳与脱壳
加壳软件与一般的Winzip等压缩软件是有区别的。加壳后的文件能直接运行, 还是一个可执行文件,它们的压缩是在内存中完成的。而Winzip等软件只能把文 件解压到硬盘中,只是将压缩后的文件还原成源文件。加壳与没有加壳软件的运 行情况如图所示:
常见的加壳软件有ASPack、UPX、PEC整o理mppapctt等。
3.5 软件加壳与脱壳
3.5.2 脱壳
“脱壳”顾名思义,就是把在软件外面起保护作用的 “壳”程序去掉。脱壳有两种方法:一种是自动脱壳 ,另一种是手动脱壳。
(1)自动脱壳 自动脱壳就是用相应的脱壳程序对加密的程序进行 脱壳的方法。一般每种压缩工具的壳,都会有相应的 脱壳工具,因此只要找到较新版本的脱壳工具,一般 的壳都可轻易脱去。
手动脱壳的一般步骤为: 第一步,确定壳的种类。 第二步,入口点(Entry Point)的确定。 第三步,dump取内存已还原文件。 第四步,修正刚dump取的文件。
常用的静态分析工具有W32DASM、IDA和HIEW等。W32DASM可以方便的反汇 编程序,它能静态分析程序流程,也可动态分析程序。在其新版本中,还加 强了对中文字符串的提取, W32DASM的界面如下图所示:
整理ppt
3.2 软件分析技术
3.2.2 动态分析技术
所谓动态分析是指利用动态分析工具一步一步地单步执行软件。为了有效地进行 动态跟踪分析,需要进行以下两个步骤:
整理ppt
3.5 软件加壳与脱壳
3.5.1 加壳
计算机软件中的“壳”是一段专门负责保护软件不被非法修 改或反编译的程序。它们一般都是先于程序运行,拿到控制权, 然后完成它们保护软件的任务。就像动植物的壳一般都是在身体 外面一样理所当然。由于这段程序和自然界的壳在功能上有很多 相同的地方,基于命名的规则,大家就把这样的程序称为“壳” 了。
3.5 软件加壳与脱壳
(2)手动脱壳
手动脱壳是指不借助自动脱壳工具,而是用动态调试工具SOFTICE或TRW2000来 脱壳。手动脱壳一般难度较大,使用的工具有调试器(SoftICE、TRW2000等), 内存抓取工具(Procdump等),十六进制工具(Hiew、UltraEdit、Hex Workshop 等),PE编辑工具(Procdump、Peditor等)。
首先,我们要知道软件使用的是哪种加壳软件进 行加密的,这就得用到侦测文件类型的工具。常用的 侦测文件类型工具有Language 2000、FileInfo、 GetTyp、TYP等。
整理ppt
3.5 软件加壳与脱壳
下图为Language 2000中文版的界面:
用侦册文件类型工具查出软件使用的加壳工具后,再用相应的脱壳工具即可实现自动脱壳。 常用的脱壳工具有:UnAspack、AspackDie 1整.4理、ppUtnPEPack、ProcDump32等。
整理ppt
*3.4 反跟踪技术
反跟踪技术是磁盘加密技术中最能显示技 术水平的部分。一个有效的反跟踪技术应该具 有以下三个特征:
(1)重要程序段是不可跳越和修改的。 (2)不通过加密系统的译码算法,密码不可 破译。 (3)加密系统是不可动态跟踪执行的。
整理ppt
*3.4 反跟踪技术
下面我们以DOS中功能强大的动态跟踪调试软件DEBUG为例,对常用 的反跟踪技术作出说明。:
相关主题