您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 规章制度 > 第7章计算机软件安全
第七章计算机软件安全学习目标:1.计算机软件面临的安全问题有哪些?2.了解软件安全方面存在的问题3.如何保护计算机的软件安全7.1计算机软件安全概述今天,为了解决安全问题,很多人把目光投向安全设备。这些设备包括防火墙、入侵检测系统、探测器、内容过滤、防病毒软件和弱点扫描器等。依赖这些许多控制主要是因为我们的软件包含太多的安全漏洞。我们的环境常被称作是外强内弱。这表示我们的边界安全牢固可靠,但我们的内部环境和软件一旦被攻击者访问,就非常容易受到威胁。实际上,软件中的缺陷从一开始就造成了绝大多数的安全漏洞。人们倾向于用外围设备解决安全问题,而不是从软件开发。在大型机时代,计算环境是封闭的,计算机用户不可能将恶意代码引入计算机,核心协议和框架是在威胁和攻击不盛行的年代开发的,因此,但是并没有安全方面的需求。然而,如今计算机和软件开始飞速发展,出现了近千个不同的分支。对计算机技术和不同类型软件的大量需求,增加了对程序员、系统设计员、系统管理员和系统工程师的需求量。如此大量的需求给计算机界引进了一大批没有经验的人。经验的缺乏、技术的快速变化以及市场的发展给安全增加了很多问题,而这些问题很少能得到清晰的理解。本章解释在软件和开发阶段,如何在源代码级解决安全问题。这需要我们从安全问题的被动相应转换为主动解决,保证不发生安全问题或者将安全危害降低到最低程度。7.1.1计算机软件的概念计算机软件是指计算机系统中的程序及其文档。程序是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。程序必须装入机器内部才能工作,文档一般是给人看的,不一定装入机器。软件是用户与硬件之间的接口界面。用户主要是通过软件与计算机进行交流。软件是计算机系统设计的重要依据。为了方便用户,为了使计算机系统具有较高的总体效用,在设计计算机系统时,必须通盘考虑软件与硬件的结合,以及用户的要求和软件的要求。计算机软件总体分为系统软件和应用软件两大类:系统软件是各类操作系统,如windows、Linux、UNIX等,还包括操作系统的补丁程序及硬件驱动程序,都是系统软件类。应用软件可以细分的种类就更多了,如工具软件、游戏软件、管理软件等都属于应用软件类。下面简单介绍这两类软件:系统软件系统软件是负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。一般来讲,系统软件包括操作系统和一系列基本的工具(比如编译器,数据库管理,存储器格式化,文件系统管理,用户身份验证,驱动管理,网络连接等方面的工具)。应用软件应用软件是为了某种特定的用途而被开发的软件。它可以是一个特定的程序,比如一个图像浏览器。也可以是一组功能联系紧密,可以互相协作的程序的集合,比如微软的Office软件。也可以是一个由众多独立程序组成的庞大的软件系统,比如数据库管理系统。较常见的有:文字处理软件,如WPS、Word等;信息管理软件;辅助设计软件,如AutoCAD;实时控制软件;教育与娱乐软件。7.2计算机软件安全软件的安全就是为计算机软件系统建立和采取的技术和管理的安全保护,保护计算机软件、数据不因偶然或恶意的原因而遭破坏、更改、显露、盗版、非法复制,保证软件系统能正常连续的运行。计算机软件安全的内容包括:1)软件的自身安全2)软件的存储安全3)软件的通信安全4)软件的使用安全5)软件的运行安全软件安全保护是指采用加密、反跟踪、防非法复制等技术。在软件系统上或原盘上产生一种信息,这种信息既是软件系统中各可执行文件在运行中必须引用的,又是各种文件复制命令或软盘复制软件所无法正确复制、无法正确安装或无法正确运行的。7.2.1软件加密技术文本文件和可执行文件都是以二进制数的形式以字节为单位存放在磁盘上,所以可把它们一律视为数据文件来进行加密解密操作,但可执行文件加密后不能运行,但可有效地保护源程序和数据库文件中的信息,使非法用户不能从中得到有用信息。为了实现数据文件的加密,一般采用加密软件或用户自己编写集成化的加密软件,实现数据文件的加、解密操作。DOS环境下可执行文件有两种结构:一种扩展名为.COM,它无文件头,可直接装入内存运行;另一种扩展名为.EXE,它必须根据文件头中的信息,经过初始化工作以后才能顺利运行,这种不同的结构决定了它们不同的加密方式。.COM文件的加密方式.COM文件的结构简单,可以很容易地对它进行加密,最简单的方法是口令加密。.EXE文件的加密方式只要在.COM嵌入模块CCBN的基础上稍做修改,即可得到对.EXE文件加密的嵌入模块CE.BIN。7.2.2反跟踪技术DOS系统中的debug.com动态调试程序,是一个使用简单且非常有用的工具程序。它既可以用于对任何格式的文件进行观察和修改,也可以对软盘和硬盘的任何区域进行直接读写。尤其是可以用于对执行程序的跟踪分析和把二进制代码转换为汇编指令,还可以查看内存状态,分析程序出错原因、病毒感染情况等。好的软件保护都要和反跟踪技术结合在一起。如果没有反跟踪技术,软件等于直接裸露在Cracker面前。这里说的反跟踪,指的是反动态跟踪。即防止Cracker用SoftICE之类的调试器动态跟踪,分析软件。当前的这类软件还有如TRW\ICEDUMP等等。反跟踪技术一般是具有针对性的,即针对某种调试器的反跟踪,而不能防止所有的调试器跟踪,如果有新的破解工具出现,就需要相应的反跟踪技术。这里就反跟踪的技术和一般原理做简单的介绍。反跟踪的方法有:1)抑制跟踪命令汇编语言在DEBUG时,要执行T命令和G命令,分别要运行系统但不终端和断点终端服务程序。在系统中断向量表中,着脸中终端的中断向量分别为1和3,终端服务程序入口地址分别存放在内存0000:0004和000C起始的4个字节中,其中前2个字节是偏移地址,后2个字节是段地址。因此,当这些单元的内容被改变,T和G命令就不能正常执行,为此有以下方法:在这些单元中送入无关的值。将这些单元作为软件运行必须的工作单元。将某个子程序的偏移地址和段地址送入此单元。当需要调用该子程序时,使用INT1和INT3指令来代替CALL命令。在0000:000C处送入一段特定程序的地址,当跟踪者输入G命令就会运行这段程序,可对跟踪者进行惩罚,如清除磁盘上的信息等。封锁键盘输入。改变键盘终端服务程序的入口地址,键盘中断向量为9,其服务程序的入口地址存放在0000:0024处,改变该处的内容,键盘信息就不能正常输入。禁止键盘中断。禁止接受键盘数据。2)改变CRT显示特性DEBUG各种命令之后,其结果均要在屏幕上显示出来,将前景和背景色置成同一种颜色,则跟踪者到此什么也看不见。DEBUG在显示信息时,必然会出现屏幕变化,则一定有人在跟踪程序。3)定时技术若程序中有两点A和B,在正常情况下,从A到B所需的运行时间为C,而在跟踪运行时,速度较慢,所需时间将远远超过C,这样便可利用这种时间差判明是否有人在跟踪程序。如何知道A、B两点间的实际运行时间呢?PC主机板上设有8253计时器,其中通道0为通用计时器提供了一个固定的实时计数器,用来实现计时。在ROMBIOS中,软中断1AH提供了读取当前时钟值的功能。MOVAH,0INT1AH7.2.3防拷贝技术所谓防拷贝,指的是通过采取某种加密措施使得一般用户利用正常的拷贝命令甚至于各种拷贝软件都无法将软件进行完整的复制,或者是复制到的软件不能正常运行。防拷贝技术是软件加密的核心技术,因为防止软件非法扩散是软件加密的最终目的,而软件具有防拷贝措施,才能阻止软件的非法扩散。下面介绍几种常见的防拷贝技术:软盘加密软盘加密曾是使用得最为广泛的一种加密方法。人们在运行程序时,要在程序提示下将加密盘(KEYDISK)插入软盘驱动器,待软件确认是正确的盘后才继续执行。加密盘是购买软件时获得的,它是一种作上了特殊记号的软盘,只有相应的软件才能识别这个标记。这个标记不能用一般的COPY或DISKCOPY命令复制下来,它起到了类似人的“指纹”的作用。这种加密方法中最重要的就是如何制造出这种标记,这种技术也称为反拷贝技术。“软件锁”加密“软件锁”(也称为“软件狗”),是一种插在计算机并行口或USB口上的软硬件结合的软件加密产品,为多数软件开发商所采用。“软件锁”一般都有几十或几百字节的非易失性存储空间可供读写,现在较新的“软件锁”内部还包含了单片机。授权文件加密技术用户在使用采用该技术加密的软件时,软件第一次运行时,会根据计算机硬件参数给出该软件的硬件特征的机器号文件;用户需要把这一文件用E-mail寄给软件提供商或开发商,软件开发商利用注册机(软件)产生该软件的授权文件寄给用户,用户把它拷贝到计算机上即可。7.3计算机软件安全举例据统计,计算机中80%以上的故障属于软件故障,下面就引起计算机故障的原因进行分类,大致可以分为7类。1)操作系统版本不兼容比如在微软刚刚推出Vista系统时,很多以前运行在XP系统上的软件不兼容。理论上,系统的开发应该满足高版本兼容低版本上的软件。但是Vista起初只能兼容微软的各种软件,比如兼容老版本的office文件、图片文件等。但是处于安全性和其他原因的考虑,对其他很多应用程序是不兼容的,通过几次更新和补丁程序,最后才实现了对绝大多数应用的兼容性。2)系统配置错误比如xpsp2下的iis5.1故障。在安装ultimateMenu的时候,出现错误,重新安装iis5.1后,发现总是出现http500内部错误。重装iis无效。查看事件记录,发现:事件类型:警告事件来源:W3SVC事件种类:无事件ID:36日期:2006-4-25事件:16:35:13用户:N/A计算机:WANWAN描述:服务器无法加载应用程序'/LM/W3SVC/1/ROOT'。错误是“没有注册类别”类似的信息。而且发现com+错误,无法打开com+应用程序(组件服务|我的电脑|应用程序),提示“ErrorCode8004E00FCOM+wasunabletotalktoMicrosoftDistributedTransactionCoordinator”解决方案:重装msdtc,运行msdtc-resetlog。在cmd下进入到目录system32\inetsrv,运行rundll32wamreg.dll。重新注册regsvr32asptxn.dll,重启iis(iisreset)。3)硬盘设置不当硬盘设置不当会产生多种错误,比如windows系统下磁盘的格式可以设置为FAT和NTFS格式,NTFS要求磁盘大小在4G以上,所以小于4G的磁盘在格式化成UTFS的时候总是会出现错误。此外,硬盘的类型设置参数错误会导致启动失败,比如有以下出错信息:C:drivefailure(硬盘C驱动失败)RUNSETUPUTTLITY(运行设置功能)PresstoResume(按键重新开始)这种故障一般是因为硬盘的类型设置参数与格式化时所用的参数不符。由于IDE硬盘的设置参数是逻辑参数,所以这种情况多数由软盘启动后,C盘也能够正常读写,只是不能启动。4)使用操作不当使用操作不当是绝大多数软件安全的威胁。比如作为某公司的网络安全管理员,如果对防火墙和网关软件的操作不当,很容易引起流量失控、外部入侵、日志空缺等严重的安全问题。5)病毒感染病毒感染在第二章中已经做了详细的介绍,这里不再赘述。但病毒的确是软件安全中不可忽略的一部分。6)安装新设备时的兼容问题我们有时在插入USB设备时会提示设备不兼容或设备未识别的错误信息。导致这种错误的原因可能是设备本身的驱动问题,即系统中没有与该设备兼容的驱动程序,需要安装该USB设备的自身驱动软件。比如三星的手机驱动,需要用三星的驱动盘安装。此外设备的不兼容还能可能是端口被占用,接口不匹配等情况。7)软件设备不兼容当您试图运行那些需要针对OpenGL标准提供三维图形显示支持的程序(如DVD播放程序或视频游戏)时,便有可能遇到以下情况:软件或游戏无法运行。图形显示效果不
本文标题:第7章计算机软件安全
链接地址:https://www.777doc.com/doc-2198666 .html