- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
BNCC IP欺骗攻击的描述 10. 关于预测ISN,我想到另一个问题。就是如何以第三方身份切断 A与B之间的TCP连接,实际上也是预测sequence number的问题。尝试过,也很困难。如果Z是A与B之间的路由器,就不用说了; 或者Z动用了别的技术可以监听到A与B之间的通信,也容易些; 否则预测太难。作者在3中提到连接A的25端口,可我想不明白的 是513端口的ISN和25端口有什么关系?看来需要看看TCP/IP内部实现的源代码。 电子欺骗攻击很少见,但必竟也发生过。详细情况可阅读以下所述的资料:/scc/sec.9532.txt/~coder/spoofit/spoofit.html/art/9412/sec13/art4.htmhttp://www.lighting.ch/products/software/ipx/details.htmlhttp://www.craycom.co.uk/prodinfo/inetwork/fsin301x.htm 未雨绸缪 虽然IP欺骗攻击有着相当难度,但我们应该清醒地意识到,这种攻击非常广泛,入侵往往由这里开始。预防这种攻击还是比较容易的, 比如删除所有的/etc/hosts.equiv、$HOME/.rhosts文件,修改/etc/ inetd.conf文件,使得RPC机制无法运做,还可以杀掉portmapper等等。设置路由器,过滤来自外部而信源地址却是内部IP的报文。cisio公司的产品就有这种功能。不过路由器只防得了外部入侵,内部入侵呢?TCP的ISN选择不是随机的,增加也不是随机的,这使攻击者有规可循,可以修改与ISN相关的代码,选择好的算法,使得攻击者难以找到规律。 未雨绸缪 估计Linux下容易做到,那solaris、irix、hp-unix还有aix呢?sigh 虽然作者纸上谈兵,但总算让我们了解了一下IP欺骗攻击,我实验过预测sequence number,不是ISN,企图切断一个TCP连接,感觉难度很大。建议要找到规律,不要盲目预测,这需要时间和耐心。一个现成的bug足以让你取得root权限. 其他形式的电子欺骗电子欺骗还有其他一些形式,诸如DNS欺骗。当DNS服务器被入侵者接手后就有可能出现DNS欺骗。这种情况发生的可能性很小,然而万一发生将会导致不堪设想的泄密后果。此类攻击虽然罕见,人们也不能因此高枕无忧。/ciac/bulletins/g-14.shtml在多数情况下,实施DNS欺骗时,入侵者要取得DNS服务器的信任并明目张胆地改变主机的IP地址表,这些变化被写入到DNS服务器的转换表数据库中,因此,当客户发出一个查询请求时,他会等到假的IP地址,这一地址会处于入侵者的完全控制之下。/sip/pub/oakland-paper-96.pdf/pub/tools/unix/doc.2.0.tar.z 进程的内存组织形式 为了理解什么是堆栈缓冲区, 我们必须首先理解一个进程是以什么组织形式在 内存中存在的. 进程被分成三个区域: 文本, 数据和堆栈. 我们把精力集中在堆栈 区域, 但首先按照顺序简单介绍一下其他区域. 文本区域是由程序确定的, 包括代码(指令)和只读数据. 该区域相当于可执行 文件的文本段. 这个区域通常被标记为只读, 任何对其写入的操作都会导致段错误 (segmentation violation). 数据区域包含了已初始化和未初始化的数据. 静态变量储存在这个区域中. 数 据区域对应可执行文件中的data-bss段. 它的大小可以用系统调用brk(2)来改变. 如果bss数据的扩展或用户堆栈把可用内存消耗光了, 进程就会被阻塞住, 等待有了 一块更大的内存空间之后再运行. 新内存加入到数据和堆栈段的中间. 什么是堆栈 堆栈是一个在计算机科学中经常使用的抽象数据类型. 堆栈中的物体具有一个特性: 最后一个放入堆栈中的物体总是被最先拿出来, 这个特性通常称为后进先处(LIFO)队列. 堆栈中定义了一些操作. 两个最重要的是PUSH和POP. PUSH操作在堆栈的顶部加入一 个元素. POP操作相反, 在堆栈顶部移去一个元素, 并将堆栈的大小减一. 为什么使用堆栈 现代计算机被设计成能够理解人们头脑中的高级语言. 在使用高级语言构造程序时 最重要的技术是过程(procedure)和函数(function). 从这一点来看, 一个过程调用可 以象跳转(jump)命令那样改变程序的控制流程, 但是与跳转不同的是, 当工作完成时, 函数把控制权返回给调用之后的语句或指令. 这种高级抽象实现起来要靠堆栈的帮助. 堆栈也用于给函数中使用的局部变量动态分配空间, 同样给函数传递参数和函数返 回值也要用到堆栈. 堆栈区
文档评论(0)