Page 28 - 大数据背景下网络安全问题研究
P. 28

大数据背景下网络安全问题研究
                    Research on Network Security Issues under the Background of Big Data


             以是一个硬件设备。软件嗅探应用便利,针对不同的操作系统平台都有多种不同的软
             件嗅探,而且很多都是免费的;硬件嗅探通常被称作协议分析器,其价格一般都很昂
             贵。嗅探是一种常用的收集数据的有效方法,这些数据可以是用户的账号和密码,也
             可以是一些商用机密数据等。内部网上,黑客要想快速获得大量的账号(包括用户名
             和密码),最为有效的手段是使用“sniffer”程序。这种方法要求运行嗅探程序的主

             机和被监听的主机必须在同一个以太网段上,在外部主机上运行嗅探程序是没有效果
             的,再者必须以root身份使用嗅探程序,才能够监听到以太网段上的数据流。
                  在局域网中,以太网的共享式特性打算了嗅探能够成功。因为以太网是基于广播

             方式传送数据的,全部的物理信号都会被传送到每一个主机节点,此外网卡可以被设
             置成混杂接收模式(Promiscuous),这种模式下,无论监听到的数据帧的目的地址如
             何,网卡都能予以接收。而TCP/IP协议栈中的应用协议大多数以明文在网络上传输,
             这些明文数据中,往往包含一些敏感信息(如密码、账号等),因此使用嗅探可以悄

             无声息地监听到全部局域网内的数据通信,得到这些敏感信息。同时嗅探的隐藏性
             好,它学问“被动”接收数据,而不向外发送数据,所以在传输数据的过程中,很难
             觉察到它在监听。

                  2.缓冲区溢出攻击技术
                  从上面的例子中不难看出,可以通过缓冲区溢出来转变在堆栈中存放的过程返
             回地址,从而转变整个程序的流程,使它转向任何攻击者想要它去的地方,这就为攻
             击者供应了可乘之机。攻击者利用堆栈溢出攻击最常见的方法是:在长字符串中嵌入
             一段代码,并将函数的返回地址掩盖为这段代码的起始地址,这样当函数返回时,程

             序就转而开始执行这段攻击者自编的代码了。当然前提条件是在堆栈中可以执行代
             码。一般来说,这段代码都是执行一个Shell程序(如\bin\sh),因此当攻击者入侵一
             个带有堆栈溢出缺陷印具有suid—root属性的程序时,攻击者会获得一个具有root权限

             的Shell。这段代码一般被称为Shell Code。攻击者在要溢出的buffer前加入多条NOP指
             令的目的是增加猜测Shell Code起始地址的机会。几乎全部的处理器都支持NOP指令
             来执行null操作(NOP指令是一个任何事都不做的指令),这通常被用来进行延时操
             作。攻击者利用NOP指令来填充要溢出的buffer的前部,假如返回地址能够指向这些

             NOP字符串的任意一个,则最终将执行到攻击者的Shell Code。
                  另外,由于在编写Shell Code时并不知道这段程序执行时在内存中详细的位置,
             所以使用一条额外的JMP和CALL指令。这是因为这两条指令编码使用的都是相对于
             IP的偏移地址而不是肯定地址,这就意味着可以跳到相对于目前IP的某一位置而无

             需知道这一位置在内存中的肯定地址。假如正好在字绳串“\bin\sh”之前放CALL指
             令,而用JMP指令跳到CALL指令处,则当CALL指令执行时,字符串“kbin、sh”的


             • 16 •
   23   24   25   26   27   28   29   30   31   32   33