一种数据捕获策略的研究与实现

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:LOVEmayicomein
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:近年来,网络安全问题日益严重,针对网络攻击方与防御方存在着不对称的技术博弈问题,提出一种利用sebek技术实现数据捕获的改进方案。该文首先详细分析了sebek的特点﹑工作原理和实现机制,通过调试发现运行中的缺陷并给出解决方法,然后进行验证,对sebek在windows下的运行流畅性进一步优化,在此基础上,实现了利用sebek在蜜网中进行数据捕获的方案。实验结果表明,该方案能够有效的捕获网络中的入侵行为,实现了数据捕获功能,为下一步的数据分析提供依据。
  关键词:sebek;数据捕获;蜜罐;入侵检测;网络安全
  中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)34-0072-04
  Abstract: In recent years ,network security problem becomes more and more serious,for the question of the network attack side and defense side existing asymmetric technology game ,the paper proposes a modified solution of realizing data capture by sebek technology. At first this paper tries to analyse the characteristics, working principle and the implementation mechanism of sebek in detail,through debugging finds out defects and gives the solution in operation, and then verifies the solution, by optimizing further, sebek can run smoothly under windows system.Based on that, the paper implements the proposal of data capture by sebek technology in honeynet .The experimental results show that the proposal can effectively capture the invasion behavior in network,realizes the function of data capturing, and provides the basis for next data analysis.
  Key words: sebek ; data capture ; honeypot ; intrusion detection ; network security
  1 概述
  近年来,网络安全形势日益严峻,平均每20秒就发生一次入侵计算机网络的事件。网络攻击方与防御方存在着不对称的技术博弈问题[1],攻击方只要在任何时间找到目标的一个漏洞就能攻破系统,而防御方必须确保系统不存在任何可被攻击者利用的漏洞,并拥有全天候的监控机制,才能确保系统的安全。
  为了解决这个问题,蜜网项目组[2](the Honeynet Project)提出了诱骗的概念,即在一个可控的网络环境中,诱骗入侵者进行入侵,在入侵者没有察觉的情况下对入侵行为进行捕获,分析入侵者的意图,并让入侵者一无所获,从而避免损失。
  2 相关工作
  利用sebek在蜜网中实现数据捕获是蜜网项目组提出的一种关键的数据捕获方案,sebek是由蜜网项目组(the Honeynet Project)在2001年至2003年间开发的用于数据捕获的内核模块,该模块常被用于蜜网中实现数据捕获功能,也可以单独使用,国內对其研究较少,大多数是针对蜜网的研究,如由北京大学诸葛建伟博士主持的狩猎女神项目组[3],多年来一直专注于蜜网技术及其应用研究,取得了很多成果,但是针对sebek的特点﹑工作原理和实现机制研究较少。
  本文详细分析了sebek的特点﹑工作原理和实现机制,进而通过调试发现了源码中的缺陷并给出解决方法,然后进行验证,在此基础上,实现了利用sebek在蜜网中进行数据捕获的解决方案并进行了测试。
  3 sebek关键技术分析
  sebek是运行在内核空间的一段代码,它能记录系统用户存取的一些或者全部数据,具体包括:记录加密会话中的击键,恢复使用SCP拷贝的文件,捕获远程系统被记录的口令,恢复使用 Burneye保护的二进制程序的口令等。
  3.1 数据封包模块
  sebek体系结构如图1所示,客户端部署在蜜网体系结构的蜜罐中,服务端部署在蜜网网关上,数据捕获并且封装成数据包是在客户端实现的,当外部入侵者通过internet连接入侵了装有sebek客户端的蜜罐A主机时,蜜罐A主机中的sebek会在入侵者没有察觉的情况下捕获外部入侵行为,然后把捕获的入侵数据封装成数据包通过局域网传给蜜网网关,在蜜网网关中装有sebek的服务端程序,它截获客户端发来的数据包并对外部入侵行为进行分析。
  通过分析发现,sebek重定向了系统调用,把原有的系统调用函数替换成自定义的函数,这个新的函数再来调用原有的系统调用函数,并把原有系统调用函数读取的数据记录下来,然后在WritePacket函数中实现数据的封包,图2为sebek数据包的包头结构[4],关键字段的数据类型和功能如表1所示。
  sebek数据包的包头部分除了上述结构以外还要再添加上IP/UDP头,因为传输的过程中采用的是无连接的udp传输,包头的后面跟的是捕获的入侵行为数据,数据包的捕获的实现方法采用的是经典的hook技术,它修改了系统的函数调用入口点,把函数调用地址替换成自己的函数地址,从而使系统执行自定义的函数,完成数据捕获的功能。   3.2 数据包的传输
  在捕获入侵行为数据后,还要以隐蔽的方式把数据传输到服务器端以供分析使用,sebek没有采用套接字传输,因为套接字传输是在应用层实现的,很容易被外部入侵者察觉,它采用的是协议驱动的形式实现传输的,图3为windows网络架构图,从下到上依次为网卡硬件﹑总线﹑NDIS(网络驱动接口标准)﹑protocol drivers(协议驱动)﹑Tdi clients(传输驱动接口客服端)﹑Network application(网络应用层)。
  图3中NDIS[5]为1989年由Microsoft和3Com联合开发的网络驱动接口标准,使得协议驱动程序可以以一种与设备无关的方式来跟网络适配器驱动程序进行通信,极大地方便了网络驱动程序的编写,遵从NDIS的网络适配器驱动程序称为NDIS minport driver,NDIS支持三种类型的网络驱动程序:
  网卡驱动程序(NIC drivers):网卡驱动程序是网卡与上层驱动程序通信的接口, 它负责接收来自上层的数据包,或将数据包发送到上层相应的驱动程序, 同时它还完成处理中断等工作。
  中间驱动程序(Intermediate protocol dirvers):中间驱动程位于网卡驱动程序和协议驱动程序之间,它向上提供小端口(Miniport)函数集, 向下提供协议 (protocol)函数集,因此对于上层驱动程序而言,它是小端口驱动程序。对于底层的驱动程序,它是协议驱动程序。
  协议驱动程序(Upper level protocol drivers):协议驱动程序执行具体的网络协议,如IPX/SPX、TCP/IP等。协议驱动程序为应用层客户程序提供服务,接收来自网卡或中间驱动的信息。
  sebek的数据传输采用的就是协议驱动的形式,这种传输是在内核层实现的,因而相对于socket传输而言,隐蔽性和安全性更好。通过分析还可以发现,在数据传输前,sebek要判断数据包的长度是否超过最大数据传输单元(MTU),如果超过了就自动进行截断处理,每一部分再加上包头,分别进行传输,所有的准备工作就绪后,调用NdisSendPackets函数实现数据包的发送。
  3.3 服务端数据接收
  当把数据包传到局域网中以后,为了实现更好的隐蔽性,sebek采用一种机制使得同一蜜网体系中其它装有sebek蜜罐的主机不能检测到该数据包,只有服务器端能检测到,而且数据包的传输只能是单向的,即只能从客服端传输到服务器端,反之则不能传输,实现这一机制的方法是sebek定义了一个通用的协议,客户端和服务端的通信通道是单向的,这个通道使用udp协议,每个数据包除包含udp头以外还有一个sebek头部数据,在sebek头中定义了一个Magic成员,具体的数据包传输过程中的算法为:
  while(蜜罐A的sebek数据包传输到蜜罐B时)
  if ( 蜜罐B的Magic值=数据包中的Magic值)
  蜜罐B主机丢弃该数据包
  while(蜜罐A的sebek数据包传输到蜜网网关时)
  if(数据包中端口号=网关预定义的端口号
其他文献
<正> 目的:根据成人呼吸窘迫综合征(ARDs)患者的糖皮质激素受体(GR)的变化,探讨在救治ARDS患者时糖皮质激素(GC)的合理使用方案。方法:研究对象为综合性ICU中28例ARDS患者。
通过对制造执行系统开发过程中的车间班次管理进行研究,开发属于自己的通用程序集,在一定程度上既满足了客户的个性化需求,又能满足客户所需的共性需求。以此来实现制造执行系统开发工作的规范化和高效化,从而不断地缩短项目周期,提高项目质量。
传统小学语文阅读教学模式下,教师一贯居于主导地位,导致学生学习状态被动,且教学方式单一,教学内容局限于课本,课堂氛围刻板、严肃,学生难以发掘语文阅读学习的趣味,学习效
一大早,定坡村被大雾笼罩,兰吉来和陈紫辉已经从村里出发,他们要尽早赶到南宁市,为自己合作社养殖的土山猪找市场。广西德保县东凌乡定坡村,是兰吉来出生和成长的地方,这里被
目的探讨MRI影像基础上急性缺血性脑卒中静脉溶栓的临床可行性及效果。方法选取2016年6月至2020年6月张家港第六人民医院收治的80例急性缺血性脑卒中患者作为研究对象,根据患