首页 超脑黑客 下章
第388章 中间人攻击
 虽然windows3。1也已经设计了权限控制,并且将系统进行了分层,但是在这方面做得并不好,甚至可以说是相当的糙。

 不过这也可以理解,毕竟这个系统刚刚出来,并且他们当时为了能够尽快地推出,也非常的赶时间,将一些重要的功能首先实现了,对于普通用户来说,他们设计的权限控制体系已经基本能够足要求了。

 windows3X系列操作系统,根本就不是为实时操作系统而开发的,实时系统,他们有专门的windowsNT系列,其权限控制就比这个要完善多了,稳定也极大的增强。不过,同样的道理,他们想要对NT系统进行定制修改的难度也就更大了,总体说来,还没有直接使用这个来得方便。

 并且,windows系列的系统都是闭源的,说白了这是商业软件,你想使用,就必须进行购买,他们现在这样使用,是违反知识产权法的,使用的是盗版。要是被微软发现,他们是可以通过司法途径进行起诉的。当然,至于国内的法院受不受理,这又是另外一回事了。

 WLdaw3。1系统的权限系统虽然简单,但是在用户层,想要对系统层进行操作这是绝对止的,因为会威胁到系统的稳定,只要破坏了系统的某一个关键数据结构,很有可能就会让系统崩溃。

 涉及到系统底层的操作,都是通过微软给出的SDK包里面的系统函数进行实现的。这些系统函数,不会操作内存里面关键的数据,而是会按照系统程序员所期望的方式实现某些功能。

 这样做既不会影响系统的稳定和安全,又可以让编写应用软件的程序员获得想要的功能,还可以简化操作步骤,让他们不用关心底层的运行机制,简直是一举三得的好办法。

 当然也并不是说系统层里面的东西,用户层完全访问不了,那些病毒木马想要实现自己的功能,很大程度上就是利用了系统的漏,获得了超过用户层的权限。

 不过,他们这个系统,已经被他们经过极度的优化,一些常见漏也基本上给打上了补丁,要想找出这样一个漏,还是很困难

 所以,余波在听到林鸿大言不惭地说“权限要自己动手去拿,不会自动送上门。”的时候,不由冷冷一笑,反驳道:

 “你说得倒轻巧,有本事你拿一个看看?”

 余波心中还对林鸿有些意见毕竟正是他的到来,才导致大家人心惶惶,担心自己为之工作了好多年的心血被推到重来。此外,他也对林鸿轻描淡写的态度很是看不惯,就算你们公司自己编写出了一个控制系统,但是也不能这样信口开河吧?

 他们在这个系统上浸了这么久自认为自己对这个系统的了解,只是仅次于那些开发系统的人了。

 他当然知道权限要自己去拿,并不会自动送上门但是,说起来容易做起来难,有些事情是站着说不疼,这样的人,他见得多了。

 余波认为是林鸿想要在他们领导面前表现自己,才故意这样“鼻孔大葱”——装象。

 林鸿听到他的话笑了下,没有放在心上而是对曹兴平和徐直中说道:

 “这个情况我之前是遇到过的。很多木马和虫,就是通过重写系统底层的函数来截数据。这在系统安全领域,有一个专门的名词,叫做‘中间人攻击’。”

 中间人攻击,在黑客领域是一种非常古老并且有效的攻击方式。

 其本质原理,就是在数据动的链路上,串接一个攻击者自己的“转发器”从而达到嗅探窃取数据的目的。

 这种情形,就好像将一个水管给截段,然后在上面连接一个自己的转接头,这个转接头是不会影响水管中水的正常动的,它只是对水进行监控,一旦发现水里面有一条鱼经过,它就负责将这个信息给记录在案,甚至,它还有其他一些比较神奇的功能,例如,将这条鱼替换成一条泥鳅。

 而水管两端的人,由于缺乏沟通,根本不知道这些水动的过程中到底发生了什么。

 他们不知道自己私下发送的鱼被别人监控了,甚至被人掉包,发送方以为自己发送了一条鱼,而接收方则以为对方发送了一条泥鳅。

 在网络领域,这个中间人甚至可以是一台电脑,用户A向用户B发送信息,却被人偷偷地让信息跑到电脑C上面走了一圈,而AB用户却根本不知道自己的信息已经被人监听了。由于电脑C只是对数据进行复制和备份,完全不对信息进行修改,是被动的行文,所以AB是很难发现这种行为的。

 而在单机里面,中间人攻击更多的就是像这次这样,对某个环节或者函数进行接管,相当于在外面另外套了一层,要想访问真实的内容,必须从中间人这里进入。

 林鸿的超级虫对数据进行搜集,实际上也是这个原理,从表面上看,已经被感染的系统和原来的系统是根本没有任何差别的,不会影响到数据的正常动,也不会影响系统的稳定

 而他们现在的这个雷达控制系统,很显然也是这样,有某一个东西正好接管了他们系统中所调用的一个系统函数,只是,对方在处理那个底层函数的时候,有个地方没有处理好,导致他们在调用这个函数的时候,根本没有调用成功,结果就没有返回值。

 徐直中和曹兴平两人对视一眼,然后徐直中问道:“小鸿,你能肯定是这个原因吗?”

 林鸿所说的话,通俗易懂,他们也听明白了。

 虽然**不离十,但是为了保险起见,林鸿还是得自己动手验证一下才能打包票。

 “这样吧,如果方便的话,我就使用我自己的方式进行验证一下。”他说道。

 徐直中稍微想了一下,便点头同意了。

 在曹兴平的示意下,余波只好让出了自己的座位。

 林鸿坐了上去,然后调出编译器,立刻动手编写一个小工具。

 这个小工具非常简单,只有一个功能,那就是持续不断地对之前那个函数进行调用,然后使用内存DUMP的方式,将内存里面的指定数据保存在一个文本文件里面,与此同时,也监测那个函数的返回结果。

 接着,林鸿便将余波之前做的过程重新做了一遍,重启,然后进入静默状态,再重新恢复…

 一个新的文件便被生成了。

 林鸿使用编辑器将其打开,开始分析文本文件里面的内容。

 站在林鸿身后,想看他好戏的余波顿时有些傻眼了。

 也不知道林鸿是故意的还是怎的,他的动作非常快,写代码也感觉就像是心中早就编写过无数次那样,直接一溜烟地就编写了过去,稍微修复了几个由于疏忽而导致的错误之后,这个小工具便很快就写完了。整个过程,用了不到三分钟的时间。

 余波站在身后一直目不眨眼地盯着都没有跟上他的步伐。虽然看懂了大概的意思,但是其细节却是完全理解不了,不知道对方为什么这么编写。

 而看到最终生成的那个文本文件,他更是傻眼,因为里面的内容按理说来,是根本访问不到的,是系统层的内存数据。

 “这不可…”余波还想说什么,不过立刻有闭了嘴,因为事实摆在眼前,他再说不可能,那不是一句废话么?

 林鸿将记录迅速的看了一遍,最终点头道:

 “果然如此。里面的确有一个隐藏的程序,接管了这个函数。”

 这个LOG文件中的记录,非常明显地显示出,进入静默状态的时候,内存里面的函数栈有了比较明显的变化,数据显示一个新的函数被入了栈。

 栈是数据结构中一个比较特殊的数据结构,其特点就是“先进后出”例如弹夹就是一个典型的栈结构,子弹装进去的时候,先入,再弹出,最先装入的是最后被出。

 在程序中,函数里面的各个数据和变量,也是按照一定的顺序,一个一个“入”执行完毕之后,再一个一个“弹出”

 要想监控函数的变化,就只要监控指定位置的那个栈结构就行了。林鸿从内存中DUMP出来的数据,就是栈里面的东西。

 这个结果,在场的其他三人脸色都有些变了。

 这意味着,林鸿所说的话是正确的,系统底层的确有一个隐藏的程序在秘密活动,而他们之前对此却毫不知情。

 徐直中还好,已经有了心理准备,曹兴平却是脸色变得极其难看。

 “那为什么在刚开始启动的时候没有这个问题,而进入静默状态才会出现?”

 这个时候,余波突然言问道,他这个时候,已经没有心思去膈应林鸿了。

 “这是因为在系统启动的时候,你们的这个壳程序优先启动,然后对方才启动,这样就根本没有受到它的影响,两者相安无事。

 但是进入静默状态的时候,壳程序会要关闭,再次启动的时候,那个隐藏程序已经完全接管了整个函数接口,可能是对方在这一块没有处理好,导致两者产生了冲突,壳程序调用的那个函数没有能够返回有效的数值,而你们恰好又没有对这个返回值进行判断处理,最终导致了整个壳程序的崩溃。”  M.SsvVxS.cOM
上章 超脑黑客 下章