当前位置:笔屋小说网>重生之乘风而起> 第两千三百五十一章 空操作雪橇(1/2)
阅读设置 (推荐配合 快捷键[F11] 进入全屏沉浸式阅读)

设置 X

第两千三百五十一章 空操作雪橇(1/2)

章节不对?章节无内容?换源看看: 81中文网
  最新网址:xs这个功能可以简化一些运算,比如逻辑上要给一个数字乘以2然后输出,在有些时候都不需要运算,只需要将这些数字输出完后,再在后面填上一个OP,让等待填装的接收区在数字后因此自动填上一个0,就可以实现乘2进位的目的。

  还有一个重要的作用,就是通过OP指令可以产生一定的延迟功能。

  虽然没有输出,但是OP指令同样是需要占用计算机的执行时间的,加上循环次数,就可以在相应次数的指令执行时间,让程序实际上实现“暂停”的功能。

  计算机在执行程序的时候,经常是在共用缓冲区内存储数据,这个缓冲区常常需要清空操作,等待总线恢复成无数据运行的状态,巧用OP指令,就能够实现这样的功能。

  然而就是这么有用的一条指令,被有心人发现了新“用处”。

  在操作系统当中,指令的输入与返回,是通过堆栈来进行的。

  堆栈大体来讲好像一个仓库,仓库分作了几个区域,每个区域用来存放一堆“门牌号”,这样的门牌号,在单片机系统里叫做“寄存器”,程序调用时,工作方式就是挨着读取这些门牌号,将这些地址对应的寄存器中内容读入到栈中,最后将计算结果存放到返回地址当中去。

  这时候就有人想到使坏了,因为堆栈的内容填充是从低地址向高地址进行的,最高的位置就是结果地址。

  要是在低地址区,比如变量区,给变量填充一个巧妙构造的超长字符串,让这个长字符串超过高地址区,其实就会拿这个变量的后半部分内容,替换掉了返回地址的“门牌”。

  将这个“门牌”设置成某个变量的地址,那么现在的返回地址就变成了指向这个变量,如果这个变量当中盛放的是恶意代码,于是这个恶意代码就被成功地读取进了系统里。

  这个方式,叫做“堆栈缓冲区溢出”,通过缓冲区溢出,我们能改变程序原有的正常执行流程,去改为执行黑客准备好的恶意代码。

  这套操作在WDOWS系统上一用一个准,也是周至他们研发的防火墙和杀毒软件所保护的重点。

  但是这个问题在X为基础的系统上却并不存在,因为X系统对于结果缓冲区的地址分配是随机的,也就是说其返回结果的地址并不一定就在变量地址的后面,可以被黑客轻易推测到,并且利用缓冲区溢出功能轻易替换。

  四叶草集团的内部系统,其实使用的就是基于X架构的自主系统,服务器版的COS系统。

  不过论坛的信息技术板块上,有人提出过一个攻击方法,那就是“opsled”,翻译过来就是“空操作雪橇”。

  论文指出,虽然X体系的结果返回地址是随机的,但是只需要在实际的攻击代码前注入很长的op指令,就可以清出一个很大的空间序列来。

  然后还是用之前的缓冲区溢出方式进行攻击,只要将程序的控制流指向该序列任意一处,程序计数器逐步加一,直到到达攻击代码的存在的地址,并执行。

  这就类似于将之前一个小小的靶子变成了一个巨大的墙,之前需要将箭射中靶子才能完成攻击,现在只需要将箭射到墙上,箭就会被自动送到墙上挂着的靶子上去。
本章节尚未完结,共2页当前第1页,请点击下一页继续阅读------>>>

上一章 目录 我的书架 下一页