- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课件19:第68节程序安全
* * 6.8 程序系统安全 程序系统的缺陷造成两类安全问题 ——可使程序用户获取非法访问权, 对信息造成危害。 ——产生服务拒绝问题,影响正常服务的提供。 6.8.1 程序对信息造成的危害 1、陷门: 是一个模块的未公开的秘密入口。陷门产生的原因: 程序员在程序开发期间故意插入用于程序调试或恶意目的; 为了连接未来的扩展而提供的“钩子”(HOOKS); 为了在程序出错后,了解模块内部各变量的状况; 为了在程序出错后,了解模块内部各变量的状况; 稍大一点程序一般都由若干个模块组成,调试期间为了跟踪程序运行踪迹,常常在各个模块内部插入一些调试语句,以打印或显示的方式透视变量的取值情况,调试结束后,由未将这些语句去掉,形成了陷门。 在硬件处理器中并非所有操作码都有相应的指令码,这些未定义指令可能成为操作处理器的陷门。 2、特洛伊木马 是隐藏在正常程序中完成恶意功能的代码。特洛伊木马代码是程序员故意放在正常程序中。有的特洛伊木马代码分散在整个程序中,有的是在宿主程序执行后通过修改一 串指令后才形成的,有的特洛伊木马指令则是以加密形式存放的,只有在执行的瞬间才解密。 3、意式香肠攻击: 是指积少胜为大胜的一种攻击方式。例如在用户储蓄系统中利用程序每次刮削用户的一点点利息,且不引起用户的注意,但时间长久后获益非浅。意式香肠攻击通常是利用计算误差进行的,例如一律采用小数点后第几位舍去的计算方法。 4、道隐蔽信:是指用户不知道的泄露敏感数据的信道。特洛伊木马攻击系统需要借助合法信道进行非法通信。有两类隐蔽信道:存储信道和时间信道。 存储信道:一个进程对某个客体进行写操作,而另一个进程可以观察到写的结果。存储信道使用三种信息载体:客体属性、客体实体和共享资源。 客体属性:利用文件名通信是最普通的存储信道,一个文件名可以被一个进程修改,而另一个进程可以读到这个文件名。 客体实体:利用进程对客体实体的操作向其他进程传递信息。例如可以通过删除或建立一个文件通知其他进程某种信息。 共享资源:进程间利用共享或全局资源交换信息。例如可以通过控制打印队列中作业产生某种信息。 隐蔽时间信道:一个进程对系统性能产生的影响可以被另一个进程观察到,并且可以利用一个时间基准进行测量。一个隐蔽时间信道需要一个实时时钟或间隔计时器或其他类似的计时基准。该计时基准可使接收进程能够计算两个相继事件之间的相对时间量。注意存储信道不需要计时器。如两个特殊事件之间的计时可以通过访问访问磁盘的次数或向终端写入多少字符等方法来完成。 隐蔽时间信道难以发现,一是没有形式化的方法发现它,二是没有有效的办法检测到它。 5、开放敏感信息问题:主要原因有, 一、是由于程序中对敏感信息的访问控制功能中存在漏洞, 二、是没有清除调试阶段遗留下来的开放调试用的陷门, 三、是调试期间提高了程序员的访问权限,交付用户时忘了按用户正常权限设置。 在调试期间,为了调试方便,往往把应用程序设置成最高访问权限(如系统管理员权限),在调试结束后,应该把这些开放权限还原,但程序员忘了,结果造成敏感信息开放问题。 关于应用系统访问控制机制中的缺陷,属于系统设计问题,需要通过严格的测试与验证才能发现此类问题。 6、缓冲区溢出问题: 缓冲区是程序中存放程序定义的各种变量(数组、字符串、结构等)的存储区域。缓冲区溢出是指不加限制地向数据缓冲区中存入数据,结果造成存入的数据的长度超过缓冲区的边界,不仅可能破坏其他变量区,而且可能破坏用户堆栈区甚至是系统堆栈区。造成系统运行中断,攻击者可以设法执行自己的攻击程序,达到攻击系统的目的。 系统区 用户 堆栈区 数据区 代码区 缓冲区 缓冲区溢出示意 系统堆栈区 6.8.2 导致服务拒绝的程序 1、贪婪程序 需要占用大量CPU运行时间的计算程序,例如在某些研究单位的计算机中,留驻后台的任务(如计算?和e的程序或其他大型计算程序)对计算时间要求不高,程序只是在计算机空闲时才运行。这类程序的优先级通常很低,如果有意或无意地提高了这类程序的优先级,这个后台任务将占据前台任务的位置,从而阻塞了所有其他的运算。 无限循环或死循环程序都是贪婪程序(耗时程序)。 2、循环与死锁 在多道程序环境下,无限循环与死锁都将严重影响计算机系统的正常运行。为了防止无条件的无限循环,操作系统通常限定每道程序运行时间的上限,如不超过24小时。计算所用时间是指程序占用CPU的时间,通常不包括I/O时间。 死锁是指两个程序各自占用某些资源,但同时又等待对方释放所占用的资源,在这种情况下两个程序都不能运行,处于死锁状态。 上述两种情况都使系统无法提供正常的服务。 3、病毒程序 病毒程序是贪婪程序的逻辑延伸。病毒是一种能通过更改其他程序而使它们感染的程序。由于被感染的程序中也
文档评论(0)