一种局域网内部攻击源的自动定位、隔离方法与流程

文档序号:11206269阅读:395来源:国知局
本发明涉及网络通信
技术领域
:,尤其涉及一种局域网内部攻击源的自动定位、隔离方法。
背景技术
::局域网的安全是网络安全中非常重要的一环,在局域网中存在各种各样的网络威胁:例如arp(addressresolutionprotocol)欺骗、dhcp(dynamichostconfigurationpotocal)服务器干扰、udpflood洪水攻击等,外部黑客入侵后也会在局域网内兴风作浪。在网络的日常运维过程中,用户端的arp防火墙、入侵检测系统ids(intrusiondetectionsystem)、上网行为管理以及人工抓包都能够发现网络攻击行为,并获得攻击者的ip(internetprotocol)地址或者mac(mediaaccesscontrol)地址,然后网络管理员需要定位攻击源的网络端口和计算机,关闭或者隔离交换机端口并通知机主。这个过程如果依靠人工操作的话非常困难,首先大型网络的拓扑结构非常复杂,往往有多个甚至数十个三层设备、成百上千个二层设备,网络管理员需要一台一台登录到三层设备,执行查看arp表的命令,根据攻击者的ip地址确定其mac地址,然后一台一台登录到二层设备,执行查看mac地址表的命令,根据mac地址确定其接入交换机端口,然后登录到接入交换机手工执行命令隔离其端口。特别是通常情况下ip地址和mac地址以及mac地址和交换机端口的对应关系是复杂的多对多关系,需要进行复杂的判断才能建立正确的对应关系,判断过程很繁琐并且容易出错。现有的网络协议无法解决上述问题,例如某些局域网启用802.1x协议,可以实现基于mac地址和端口的认证,管理员也可以控制是否允许某个mac地址接入网络,但是不适合用于局域网攻击源的定位和隔离,有以下三个原因:首先部分老旧交换机不支持802.1x协议,其次802.1x配置复杂,需要radius、ad等后台支持,最重要的是802.1x是纯二层协议,而网络攻击的定位需要结合二层协议和三层协议。现在有一些软件能够解决上述问题的某一个环节,但是没有给出整体的解决方案。例如一些软件实现了自动采集三层设备的arp表或者二层设备的mac地址表并保存到数据库,一些软件例如ciscoworks的lanmanagementsolution(lms)的usertracking实现了ip、mac、端口定位功能,一些软件提供了自动操作交换机端口的功能(通过cli命令行或者snmp)等,但是没有一个系统把网络设备数据采集、ip-mac定位、mac-交换机端口定位、隔离攻击源这几个过程自动整合起来,特别是由于没有处理ip地址和mac地址以及mac地址和交换机端口的复杂多对多对应关系,因而无法实现局域网攻击源的自动定位和隔离。为了解决局域网中ip-mac、mac-交换机端口的复杂对应关系,一些局域网采取了“绑定”方法,包括在路由器绑定ip-mac地址,在dhcp服务器绑定ip-mac地址,在接入交换机绑定mac地址和交换机端口等,这样做虽然能够实现ip地址和mac地址以及mac地址和交换机端口的一一对应,但是会导致使用网络非常不灵活,特别是绑定的维护工作量巨大并且很容易出错。技术实现要素:本发明实施例所要解决的技术问题在于,提供一种局域网内部攻击源的自动定位、隔离方法及系统。可自动对局域网内部攻击源进行定位隔离。为了解决上述技术问题,本发明实施例提供了一种局域网内部攻击源的自动定位、隔离方法,包括:采集网络设备的数据并保存到数据库的步骤,根据攻击者的ip地址定位mac地址的步骤,根据mac地址定位交换机端口的步骤,操作接入交换机以隔离攻击源的步骤。进一步地,所述根据攻击者的ip地址定位mac地址的步骤还包括处理一个ip地址对应多个mac地址的步骤:通过分析一个mac地址对应多个不同ip地址来检测假冒主机的arp欺骗,如果存在假冒主机的arp欺骗并且有假冒该ip地址则将ip对应到arp欺骗者的mac地址,如果不存在假冒主机的arp欺骗,对于ip地址正常切换所导致的一个ip在不同时刻对应不同mac的情况,通过匹配局域网攻击发生的时间和arp表中ip-mac条目的时间戳,将ip对应到一个mac地址,对于在ip地址切换过程中arp表过期时间内会出现新老ip-mac条目同时出现的情况,通过依次匹配多个时间点的数据,等待网络设备旧的arp表条目过期并且数据采集程序更新数据后,将ip对应到一个mac地址。更进一步地,所述根据mac地址定位交换机端口的步骤还包括:首先过滤掉交换机的级联口,对于端口正常切换所导致一个mac在不同时刻对应不同的接入交换机端口的情况,通过匹配局域网攻击发生的时间和mac地址表中mac-交换机端口条目的时间戳,将mac地址对应到一个接入交换机端口,对于在网络端口切换过程中mac地址表过期时间内会出现新老mac-交换机端口条目同时出现的情况,通过依次匹配多个时间点的数据,等待网络设备旧的mac地址表条目过期并且数据采集程序更新后,将mac对应到一个交换机端口。更进一步地,所述操作接入交换机以隔离攻击源的步骤包括根据预先设置的管理策略选择采取物理隔离或者逻辑隔离,然后使用snmpset操作接入交换机设置相应oid的值实现隔离操作,所述物理隔离为关闭交换机端口,所属逻辑隔离为将交换机端口设置成某一个隔离的vlan。实施本发明实施例,具有如下有益效果:本发明能够适应于各种网络环境,不需要任何人工操作,网络规模越大、网络拓扑结构越复杂本发明的效果越明显,采用本发明能够大大缩短网络安全事件的处理时间,提高网络管理员的工作效率,保证局域网的网络安全。附图说明图1是攻击源定位、隔离的流程图;图2是数据采集程序的拓扑结构图;图3是数据库的部分数据字典;图4是数据库的部分数据字典。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。本发明实施例的一种局域网内部攻击源的自动定位、隔离方法包括以下步骤。结合图1所示。数据采集步骤:数据采集程序自动采集网络设备的数据并保存到数据库。数据采集程序使用snmp获取网络设备mib(managementinformationbase)的数据,目前的网络设备都支持snmp协议,通过snmp的方式操作网络设备和设备的厂商型号(私有mib除外)及软件配置无关,snmpv2提供了get-bulk原语(绝大多数网络设备都支持snmpv2),一次请求就可以获取mib的一个表结构数据,大大减少了程序和网络设备的交互次数,提高了性能并简化了编程。数据采集程序使用get-bulk向网络设备发起snmp请求(如果设备不支持snmpv2则使用get和get-next),网络设备返回所请求的数据,采集程序接收并解析数据后调用存储过程写数据库,数据采集模块的结构图如图2所示。需要采集以下的mib数据项:ipnettomediatable(新标准是ipnettophysicaltable)、iftable、dot1dbaseport、dot1qvlan(cisco设备是vtpvlan)、dot1dtpfdbtable和dot1qtpfdbtable。这些数据项的更新频率差别很大,dot1dbaseport、dot1qvlan等数据几乎不会改变,而通常arp表的过期时间是20分钟,mac地址表的过期时间是300秒,数据采集程序采集的时间间隔要小于过期时间才能保证不会丢失数据。数据库的设计:数据库系统采用传统的关系数据库,由于攻击源的定位需要多表连接等复杂查询,不能使用nosql数据库,推荐使用mysql等开源数据库。在数据库中建立网络设备基础信息表、arp表、网络设备接口表、桥端口表、vlan表、mac地址表、操作日志表等数据表,数据字典如图3、图4所示。其中表tb_network_device存放网络设备基础信息,网络设备的基础信息可以手工输入,也可以根据设置的ip地址范围自动搜索,或者使用邻居发现协议自动发现网络设备。日志表记录数据采集日志、隔离端口操作日志等,日志数据由系统自动生成。其他的数据从网络设备自动采集,这些表每一个都对应snmpmib的一个表数据,数据表的设计(表名、字段名和数据类型)建议完全参照mib的数据项,忽略一些用不到的数据项,并且增加了设备ip、时间戳等字段。数据保存到数据库的策略:如果只需要查询当前ip-mac、mac-交换机端口对应关系,只需要在数据库中保存最新的数据,如果只是检测假冒主机的arp欺骗,只需要在数据库中保存发生变化的mac-ip。有些网络攻击是当前正在发生的,例如网络抓包发现的网络攻击,也有些网络攻击是过去某一个时刻或者某一个时间段发生的,例如通过分析网络设备日志发现的网络攻击,用户端arp防火墙上报的网络攻击等。本发明必须准确查询当前和过去某一个时刻的ip-mac、mac-交换机对应关系,因此必须在数据库中保存所有采集到的ip-mac、mac-交换机端口数据。由于ip-mac、mac-交换机端口的数据量很大,并且不会用到太久以前的数据,系统只保存最近一个月的数据,定期清除过期的历史数据。根据攻击者的ip地址定位mac地址的步骤:如果只知道攻击者的ip地址而不知道其mac地址(ids、上网行为管理系统等三层设备上报的网络攻击),需要根据ip地址查询数据库得到mac地址,如果已经知道攻击者的mac地址(例如用户端arp防火墙发现的攻击源,同一个网段内人工抓包发现的攻击源)则跳过这一步。根据ip地址定位mac地址的时候,要区分一个ip地址对应一个mac地址和一个ip地址对应多个mac地址的不同情况,一个ip地址对应多个mac地址又分为假冒主机的arp欺骗和ip地址的正常切换等不同情况。当网络攻击者的ip地址对应到多个mac地址时候,首先检测网络中是否存在假冒主机的arp欺骗。具体方法是:通过累加每一个mac地址的不同ip数目,如果某个mac地址的不同ip数目大于某个阈值(通常设置为3),就认为其是假冒主机的arp欺骗,对于这种情况,将ip地址对应到arp欺骗者的mac地址。这样做的依据是如果已经确定攻击源本身进行了arp欺骗(例如通过arp防火墙上报的网络攻击、网络抓包发现的arp欺骗等),则将ip地址对应到arp欺骗者的mac地址是完全正确的。即使是某种极端情况(理论上存在,现实中几乎不存在),某一个时段内同一个ip地址对应的多个mac地址,其中一个mac地址进行arp欺骗,而其他的mac地址进行其他网络攻击(例如dhcp服务器干扰等),针对这种情况也要先处理arp欺骗,因为一般情况下arp欺骗对网络影响最大。排除了假冒主机的arp欺骗之后,也可能存在网络攻击者的ip地址对应到多个mac地址,然后区分是不同时刻对应多个mac地址还是同一个时刻对应多个mac地址两种情况。对于ip地址正常切换的情况,由于数据库中保存了ip-mac的历史记录,一个ip地址会查询到多个mac地址,通过匹配网络攻击发生的时间和arp条目的时间戳就可以将ip对应到一个mac地址。由于在ip地址切换过程中arp表缓存期间内会出现新老ip-mac同时出现的情况,导致同一个时刻一个ip地址对应多个mac地址(也就是网络攻击发生的时间和ip地址正常切换的时间刚好重合,只是理论上存在这种可能,现实中几乎不存在),通过匹配多个时间点的数据(多个时间点之间的时间间隔大于arp表的过期时间)就可以处理这种情况,过滤无关数据,从而达到ip-mac一一对应。根据mac地址定位交换机端口的步骤:以下几种原因会导致一个mac地址对应多个交换机端口:由于交换机之间的级联,级联口会包括其下面连接的所有mac地址;计算机更换端口。首先需要排除交换机的级联口,主要有三种方法:事先手工标注交换机的级联口(既包括上联口也包括下联口),利用邻居发现协议自动建立网络拓扑结构,累计每个交换机端口下面的mac地址数自动判断出接入交换机端口和级联口。对于计算机更换交换机端口的情况,处理方法和处理ip-mac地址正常切换的方法一样,对于同一个mac地址不同时刻对应不同的接入交换机端口,通过匹配网络攻击发生的时间和mac地址表条目的时间戳就可以处理这种情况,从而达到mac地址和接入交换机端口的一一对应。由于在端口切换过程中mac地址表缓存期间内会出现新老mac-交换机端口同时出现的情况,导致同一个时刻一个mac地址对应多个接入交换机端口(也就是网络攻击发生的时间和端口切换的时间刚好重合,只是理论上存在这种可能,现实中几乎不存在),通过匹配多个时间点的数据(多个时间点之间的时间间隔大于mac地址表的过期时间)就可以处理这种情况,过滤无关数据,从而达到mac-交换机端口一一对应。在snmp的mib中mac地址表对应dot1dtpfdbtable和dot1qtpfdbtable,其中mac地址对应数据项dot1dtpfdbaddress,端口号对应数据项dot1dtpfdpport,这里的端口号不是对应到网络设备接口iftable的索引号ifindex,而是对应到桥端口表dot1dbaseport的端口号,然而操作交换机端口(关闭或者打开)是通过索引号ifindex操作网络设备接口表iftable,所以需要连接桥端口表dot1dbaseport和接口索引表iftable,将mac地址对应到交换机端口的索引号ifindex和端口描述ifdescr。操作交换机隔离攻击源的步骤:当定位攻击源的接入交换机端口后,接下来操作交换机隔离攻击源,隔离的方法有两种:物理隔离(关闭接入交换机端口)和逻辑隔离(把交换机端口设置为一个特殊的vlan)。推荐采用物理隔离,简单粗暴有效,逻辑隔离实现相对复杂,并且udp洪水攻击等依然有可能影响网络设备,逻辑隔离唯一的优点是可以实现当被隔离电脑打开浏览器上网的时候系统重定向到一个提示网页,告诉用户因为网络安全原因其端口被隔离,而物理隔离对于用户而言没有提示信息,用户很可能以为是网卡、网线、操作系统等其他原因导致网络故障。操作交换机端口可以使用snmp或者cli命令,推荐采用snmp的方式,通过操作标准的mib就可以实现关闭交换机端口实现物理隔离,而逻辑隔离设置端口的vlan会涉及到私有mib。通过设置iftable.ifentry的ifadminstatus的值就可以关闭或者打开端口,以下是ifadminstatus的值和含义。1:up2:down3:testing操作ifadminstatus的时候需要通过接口索引ifindex来进行,例如关闭交换机10.1.1.1的接口索引是5的端口的命令如下:snmpset-v2c-cpublic10.1.1.1.1.3.6.1.2.1.2.1.7.52关闭交换机端口后,在数据库中记录操作日志,提供以后查询使用。各个流程之间的衔接步骤:网络管理员只需要提供网络攻击发生的时间、攻击者的ip地址或者mac地址,系统会自动进行查询定位、隔离操作、并记录日志,管理员通过查看日志监控系统运行。系统能自动处理ip地址到mac地址、mac地址到接入交换机端口的各种复杂对应关系,确保任何情况下都不会发生误操作。以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1