第五章计算机软件的安全性.ppt

  1. 1、本文档共139页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章计算机软件的安全性.ppt

为了正常使用8.4GB以上的空间,在分区时应使用WIN97以上版本的的FDISK。并尽量使用FAT32格式。WINDOWS?NT4.0可以识别大于8.4G的硬盘,但存在一些BUG,而必威体育精装版的WINDOWS?2000可以完全正常支持大于8.4G的硬盘。 4、软件分析技术 (1)从软件使用说明和操作中分析软件 欲破解一软件,首先应该先用用这软件,了解一下功能是否有限制,最好阅读一下软件的说明或手册,特别是自己所关心的关键部分的使用说明,这样也许能够找点线索。 (2)静态反汇编 所谓静态分析即从反汇编出来的程序清单上分析。 从提示信息入手进行分析 在软件运行过程中,需要由用户选择的地方,软件即显示相应的提示信息,并等待用户按键选择。而在执行完某一段程序之后,便显示一串提示信息,以反映该段程序运行后的状态,是正常运行,还是出现错误,或者提示用户进行下一步工作的帮助信息。为此,如果我们对静态反汇编出来的程序清单进行阅读,可了解软件的编程思路,以便顺利破解。 crack时常用的静态分析工具是W32DASM和HIEW等。 (3)动态跟踪分析 虽然从静态上可以了解程序的思路,但是并不可能真正了解地了解软件的细节,如静态分析找不出线索,就要动态分析程序,另外,碰到压缩程序,静态分析就无能为力了,只能动态分析了。所谓动态分析是利用SOFTICE或TRW2000一步一步地单步执行软件。 ①、对软件进行粗跟踪 所谓粗跟踪,即在跟踪时要大块大块地跟踪,也就是说每次遇到调用CALL指令、重复操作指令REP.循环操作LOOP指令以及中断调用INT指令等,一般不要跟踪进去,而是根据执行结果分析该段程序的功能。 ②、对关键部分进行细跟踪 对软件进行了一定程度的粗跟踪之后,便可以获取软件中我们所关心的模块或程序段,这样就可以针对性地对该模块进行具体而详细地跟踪分析。 一般情况下,对关键代码的跟踪可能要反复进行若干次才能读懂该程序,每次要把比较关键的中间结果或指令地址记录下来,这样会对下一次分析有很大的帮助。 五、缓冲区溢出与病毒攻击 缓冲区溢出是指当计算机程序向缓冲区内填充的数据位数超过了缓冲区本身的容量。溢出的数据覆盖在合法数据上。理想情况是,程序检查数据长度并且不允许输入超过缓冲区长度的字符串。但是绝大多数程序都会假设数据长度总是与所分配的存储空间相匹配,这就为缓冲区溢出埋下隐患。操作系统所使用的缓冲区又被称为堆栈,在各个操作进程之间,指令被临时存储在堆栈当中,堆栈也会出现缓冲区溢出。 溢出根源在于编程 缓冲区溢出是由编程错误引起的。如果缓冲区被写满,而程序没有去检查缓冲区边界,也没有停止接收数据,这时缓冲区溢出就会发生。 一个溢出攻击的实例分析  int i;   void function(void)   {char buffer[240]; //create a buffer?   for (i=0;512;i++) //iterate 512 times?   buffer[i]=A;//copy the letter A return }   接下来是当这个函数被执行时的后果。 一个溢出攻击的实例分析(续1) 1)函数使用长度为240个字节的缓冲区,该缓冲区恰好位于内存地址   缓冲区地址(8字节)       缓冲区内容(240字节)    空白   旧基址指针(8字节)       返回的指令指针(8字节)      一个溢出攻击的实例分析(续2) 2)程序被执行时,函数开始将A填写到缓冲区中   缓冲区地址(8字节)       缓冲区内容(240字节) AAAAAAAAA......   旧基址指针(8字节)       返回的指令指针(8字节)   一个溢出攻击的实例分析(续3) 3)超过240个字节,缓冲区被写满了,240个字节以后的内容溢出到下一个内存区域,覆盖旧基址指针和返回指令指针   缓冲区地址(8字节)       缓冲区内容(240字节) AAAAAAAAA......   旧基址指针(8字节)     AAAAAAAA   返回的指令指针(8字节)   AAAAAAAA 或0 一个溢出攻击的实例分析(续4) 4)现在假设函数没有填写A,而是插入了恶意代码   缓冲区地址(8字节)       缓冲区内容(240字节)    恶意代码......  

您可能关注的文档

文档评论(0)

czy2014 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档