一种基于软件定义网络的入侵检测系统的制作方法

文档序号:28592193发布日期:2022-01-22 08:58阅读:186来源:国知局
一种基于软件定义网络的入侵检测系统的制作方法

1.本发明属于网络通信技术领域,涉及入侵检测系统,尤其是一种基于软件定义网络的入侵检测系统。


背景技术:

2.随着互联网技术的迅速发展和业务功能的多样化,信息技术的应用越来越广,网络信息安全成为当前人们的迫切需求和关注的重点。现有的安全防护技术大多以专用硬件设备的形式存在,其功能动态升级困难、灵活性差。另一方面,安全设备或者软件独立且分离,无法进行组合配置,可扩展性差;静态部署难以应对动态的业务需求,实时防御能力弱。除此之外,大数据、云计算等新兴技术的蓬勃发展使得用户对安全系统的防护性和安全技术的有效性能提出了更高的要求。现有安全解决方案在预测、防范、响应和恢复方面存在许多薄弱环节,已经无法满足安全防护的需要。
3.软件定义网络(softwaredefinenetwork,sdn)的诞生改变了网络安全的服务模式和技术实现,推动了其功能演进,可以将各种安全模块软件定义和虚拟化,然后基于全局视角和优化策略集中管理和控制,动态调用和部署,集成各种安全服务和功能以实现合理高效的资源配置。
4.综上所述,如何将软件定义网络对捕获的网络活动或系统事件进行检测分析并生成安全防御策略是目前迫切需要解决的问题。


技术实现要素:

5.本发明的目的在于克服现有技术的不足,提供一种基于软件定义网络的入侵检测系统,可有效检测入侵威胁并根据攻击特点变化相应流表策略,积极反应并响应来自内部或外部的已知攻击,从而抵御和防护系统资源。
6.本发明解决现有的技术问题是采取以下技术方案实现的:
7.一种基于软件定义网络的入侵检测系统,包括入侵检测模块、安全应用模块和sdn控制器;
8.入侵检测模块:由分布在网络中并与sdn交换机相连接的传感器组成,负责对流经交换机中的数据进行内容分析,检测到网络攻击就发出报警;
9.安全应用模块:包括数据收集模块、威胁评估模块、策略制定模块和可视化模块,上述模块通过数据库作中介连接在一起,负责对网络数据和传感器的报警数据进行分析,对报警进行实时威胁评估,利用评估结果制定防御策略并通过sdn控制器下发到交换机上进行部署;
10.sdn控制器:与入侵检测模块及安全应用模块相连接,实现对入侵检测模块及安全应用模块的监控功能。
11.而且,所述入侵检测模块:由数据源、数据收集器、检测器、事件及管理单元组成;数据源为网络中的原始数据,包括异常攻击数据和正常数据,数据收集器用于从数据源收
集数据,将数据发送给检测器、事件及管理单元;检测器用于分析从数据收集器发送的数据,判断数据是否为攻击;所述事件用于响应检测器的结果,若发现异常检测则报告网络管理员采取相应的措施;所述管理单元用于协调入侵检测系统的各个模块之间的工作,并且对系统所用的数据库进行管理。
12.而且,所述数据收集模块用于收集报警数据和网络状态信息并存储到数据库中。
13.而且,所述报警数据通过网络编程接口进行实时监听,接收从入侵检测模块的输出插件发送过来的报警数据,然后对接收到的数据进行解析,按字段获取数据,并以预定的格式重新将相关字段信息重新拼装成一条字符串存入到数据库中;所述网络状态信息包括网络拓扑和链路信息,其通过确定控制器提供信息的restapiurl,并构造http请求定时获取相应数据。
14.而且,所述威胁评估模块利用数据收集模块收集到的数据,采用评估方案对新报警进行威胁评估,当有新报警产生时,其从数据库中取出网络信息和报警记录信息进行可信度评估,对于不可信的报警不进行处理,直接进入到下一个评估周期;而对于可信的报警,先将其进行报警合并,将其归类到一个报警组中,然后通过对活跃的报警组进行关联分析、威胁量化,得到归一化后的威胁值后,启动策略制定模块进行防御策略的制定,再进入到下一个评估周期。
15.而且,所述策略制定模块用于制定防御策略,对危及网络安全的入侵攻击行为及时制止,其结合多种网络技术的特点,根据网络实际状况制定动态的网络安全策略,以建立完善的策略库。
16.而且,所述可视化模块用于实现网络数据可视化、安全策略可视化、主机资源可视化、脆弱性风险可视化以及网络入侵可视化功能。
17.本发明的优点和积极效果是:
18.本发明将软件定义网络技术与入侵检测技术相结合,能够及时高效地对捕获的网络活动和系统事件进行检测、分析并生成安全防御策略,及时向sdn控制器反馈以灵活地生成流表,并下发到交换机以拦截恶意流量;该系统可有效检测入侵威胁并根据攻击特点改变流表策略,积极反应并响应来自内部或外部的攻击,从而抵御和防护系统资源。本发明充分利用资源,简化网络设计,具有较高的入侵检测准确率和防御效率、具有广阔的应用前景。
附图说明
19.图1为软件定义网络(sdn)架构图;
20.图2为本发明的基于软件定义网络的入侵检测系统的结构图;
21.图3为本发明的处理流程图;
22.图4为本发明的入侵检测处理过程示意图;
23.图5为本发明的检测网络结构图;
24.图6为本发明的异常检测流程示意图;
25.图7为软件定义网络(sdn)交换中数据包处理图;
26.图8为报警数据接收流程图;
27.图9为网络状态信息获取流程图;
28.图10为威胁评估模块工作流程图;
29.图11为策略制定模块工作流程。
具体实施方式
30.以下结合附图对本发明实施例做进一步详述。
31.本发明提出一种基于软件定义网络的入侵检测系统,通过集中式的管理和控制网络资源,实现动态的资源分配和调度,优化网络配置、监视、管理、调度、优化等工作,提升安全检测和防御的主动性和联动性,增强网络的管理能力、协同水平和服务质量。
32.本发明采用软件定义网络(sdn)包括三层架构,如图1所示,数据转发层处于网络架构的最底层,负责对网络数据进行处理、转发以及搜集一些网络状态信息;控制层位于网络架构的中层,主要负责网络资源的管理,维护网络拓扑、链路信息等;应用层则位于最顶层,包括各种业务和应用。
33.sdn中的三层架构之间通过南北向接口相互连接:南向接口连接控制层和数据转发层,目前openflow标准是南向接口的标准协议;北向接口连接应用层和控制层,目前还没有公认的统一标准。以控制层为核心,向下通过南向接口连接数据转发层,屏蔽了底层网络设备的异构性;向上通过北向接口连接应用层,为网络应用提供统一的api,使用户能够通过软件从逻辑上对网络进行集中式的管理。
34.基于上述说明,本发明提出的一种软件定义架构的入侵检测系统,包括数据转发层、管理控制层和数据智能层共三层。所述数据转发层由运行openflow协议的sdn交换机组成,负责网络流量的监控和获取;数据转发层可以采集并上传给控制中心指定流量,进行流统计,也可以根据管理控制层的指令阻断恶意流。所述管理控制层是系统的核心,可以根据数据转发层上传的流信息,识别可疑流量,进行异常检测;管理控制层也可以根据数据智能层的分析结果生成策略,并控制转发层的动作。所述数据智能层通过与大数据中心的交互,基于人工智能算法实现自适应的特征选取和流分类,识别出入侵行为,将识别结果通知管理控制层。
35.如图2所示,本系统吸取了sdn技术的诸多思想和优点,使得网络安全的攻击和防御过程一体化、模块化、协作化和智能化。本系统将网络入侵的问题分析和检测防御的功能执行分离,由控制层统一管理各种单元模块,集中控制它们根据指令实施具体的安全防御操作。通过将传统安全设备软件化和安全功能虚拟化,可以按需部署和动态调用防护资源,增强系统的灵活性。最上层的大数据和智能中心,专门用于存储和提取各种类型的知识数据和算法模型,实现与管控层资源共享,辅助其进行分析、判断和解决较复杂的安全问题,使整个系统的防护能力和效果达到优化。
36.本系统利用sdn控制器对网络全局的控制能力,不仅将sdn交换机打造成防御部件,而且强化了sdn安全应用的决策能力。从架构上分析,本系统总体上继承了图1所示应用模型的优点,并有针对性的改进了缺点,与使用传统入侵检测技术相比,该系统具有以下优点:
37.1、本系统的入侵检测网络是相对独立于sdn主干网络的,其对sdn的控制平面和数据转发平面的造成的负担都相对较小。
38.2、本系统中的入侵检测探针是随sdn交换机分布式部署在网络各处,因此可以对
网络内部的流量进行检测分析,对发生在网络内部的攻击也能实时感知。
39.3、本系统依靠sdn交换机来执行防御策略,sdn交换机是构成sdn环境的基础设备,分散在网络各处,同传统ips只能依靠单点防御设备相比,该模型所能提供的防御粒度可以做到更为精细。
40.4、本系统引入了威胁评估作为防御决策的依据,提升了sdn安全应用的灵活决策能力。
41.5、本系统主体是构建在sdn框架之上的,继承了sdn易于配置的特点,只需修改安全应用的逻辑就可以实现对整个防御体系的更新,无需单独配置底层检测设备和防御设备,扩展方便。
42.基于上述说明,本发明提供一种软件定义网络的入侵检测系统,如图3所示,包括入侵检测模块、安全应用模块和sdn控制器。其中:
43.入侵检测模块:主要由分布在网络中通过镜像端口连接到sdn交换机的传感器组成,负责对流经交换机中的数据进行内容分析,检测到网络攻击就发出报警。
44.安全应用模块:包括数据收集模块、威胁评估模块、策略制定模块、可视化模块和数据库,数据收集模块、威胁评估模块、策略制定模块、可视化模块通过数据库作中介,松耦合连接,构成一个完整的安全应用模块。所述安全应用模块负责对网络数据和传感器的报警数据进行分析,对报警进行实时威胁评估,利用评估结果制定防御策略并通过sdn控制器下发到交换机上进行部署。
45.sdn控制器:与入侵检测模块及安全应用模块相连接,实现整体控制功能。
46.本系统的工作流程如下:
47.1、sdn交换将网络流量导入到检测网络中的检测探针;
48.2、检测探针对捕获到的网络数据包进行入侵检测;
49.3、检测探针将检测产生的报警发送给检测服务器进行汇集和预处理,保留关键有用信息;
50.4、sdn安全应用从检测服务器获取处理后的报警,结合网络相关信息对其进行威胁评估;
51.5、sdn安全应用根据威胁评估的结果,从策略库中选取合适的策略制定规则,利用报警中所包含的网络会话相关信息,制定相应的防御流表项;
52.6、安全应用通过北向接口,利用控制器将制定的流表项下发给sdn交换机;
53.7、sdn交换在部署防御流表项后,遇到匹配的数据包则执行对应的处理动作,以实现入侵防御。
54.下面对系统中的各个模块进行详细说明:
55.入侵检测模块:由数据源、数据收集器、检测器、事件、管理单元组成。数据源为网络中的原始数据,包括异常攻击数据和正常数据,在网络入侵检测系统中称为网络通信数据包,在主机入侵检测系统中称为日志、操作记录以及审计数据;数据收集器负责从数据源收集数据,将数据发送给其他模块;检测器是入侵检测系统的主要模块,分析从数据收集器发送的数据,判断数据是否为攻击。事件主要的功能是响应检测器的结果,若发现异常检测则报告网络管理员采取相应的措施。管理单元协调入侵检测系统的各个模块之间的工作,并且对系统所用的数据库进行管理。入侵检测模块的检测过程如图4所示。
56.在本实施例中,通过分析入侵检测模块和sdn三层结构,将ids(入侵检测系统)运用在sdn中用于监控网络攻击,sdn中的数据转发平面为ids的监控网段,ids控制台用sdn应用来取代,检测探针由ids传感器充当。基于以上分析,构成如图5所示的检测网络。
57.入侵检测主要分为异常检测和误用检测。如图6所示,异常检测根据用户的行为或资源使用的情况分析判断入侵事件发生与否,而不是仅仅依据入侵攻击行为来判断,因此异常检测技术是基于行为的检测。目前常用的异常检测方法主要有统计异常、基于数据挖掘的异常检测、基于机器学习的异常检测和基于预测模式的异常检测等。
58.sdn交换机中数据的处理过程如图7所示。
59.数据收集模块负责两类数据的收集工作:报警数据和网络状态信息。报警数据的接收、处理流程如图8所示,通过网络编程接口进行实时监听,接收从入侵检测模块的输出插件发送过来的报警数据,然后对接收到的数据进行解析,按字段获取数据,并以预定的格式重新将相关字段信息重新拼装成一条字符串存入到内存数据库redis中存储。
60.网络状态信息主要指网络拓扑、链路等信息,它的收集有所不同,控制器并不会主动地发送数据供数据接收模块接收,而是提供相应的restapi以供被动查询。因此需要先确定控制器提供信息的restapiurl,再通过构造http请求定时获取相应数据。而http请求获取的数据只是原始的数据,需要进行解析,然后同样对解析后的数据按需整理、组合,按格式拼接成字符串后存入数据库保存。获取流程如图9所示。
61.上述数据的收集过程中,最后都是将数据存入redis数据库,原因在于redis作为key-value内存数据库,具有高速读写性能,因此在数据收集时,为了加快数据读写,选择将收集的数据临时存入到redis中。但是,为了进行复杂查询、直观展示,将部分数据转存到关系型数据库中。通过redis做中间缓存,设置定时器将redis里需要的数据批量存入到mysql中。在定时器设置的时间合适时,基本不会导致数据延迟,但却能够通过批量操作而大大提高mysql的读写性能。
62.威胁评估模块:需要利用数据收集模块收集到的数据,采用评估方案对新报警进行威胁评估,总体工作流程如图10所示。当有新报警产生时,威胁评估模块即进入工作状态,首先从数据库中取出网络信息和报警记录信息进行可信度评估,对于不可信的报警不进行处理,直接进入到下一个评估周期;而对于可信的报警,先将其进行报警合并,将其归类到一个报警组中,然后通过对活跃的报警组进行关联分析、威胁量化,得到归一化后的威胁值后,启动策略制定模块进行防御策略的制定,再进入到下一个评估周期。
63.策略制定模块:负责制定防御策略,对危及网络安全的入侵攻击行为及时制止。在威胁评估模块中,已经对报警进行了威胁评估,更新了该报警所属的报警组的威胁评估值。因此,在制定策略时,我们根据报警组的威胁评估值是否超过了预定策略实施的阈值,来决定是否对属于整个报警组的报警采取相应的响应措施。具体工作流程如图11所示。策略响应模块可以结合多种网络技术的特点,根据网络实际状况制定动态的网络安全策略,以建立完善的策略库。
64.对于策略流表的制定,需要依据具体的流表制定规则来实现。对于一条报警,要实现阻断产生该报警的数据流,只需要设计动作为“drop”的流表项,根据报警的信息,按照流表项的标准格式进行相关字段的设置即可。
65.可视化模块:为了给网络管理人员提供更加方便的网络监控,了解网络的实际运
行情况,系统还需要一个可视化工具。可视化模块实现了网络数据可视化、安全策略可视化、主机资源可视化、脆弱性风险可视化以及网络入侵可视化功能。
66.1、网络数据可视化
67.能够分布式部署在各个监控的网络节点,实时分析捕获流量,实时保存捕获到的网络通讯数据包,进行长时间、大容量的数据存储能力;能发现网络中存在的窃密行为,对捕获的原始数据包、数据流、网络会话、应用日志等各种统计数据;实现osi7层流量监控分析,可显示全双工接口的收、发和全部的流量、数据包信息;提供对主机、协议、会话等维度的分析内容呈现,并支持关联分析、智能排序、模糊查询、多级钻取等功能;针对用户、业务应用及服务器对象,即可呈现历史数据统计分析结果,也可提供实时流量、会话信息的呈现与条件检索,让用户对网络流量、业务状态一目了然。通过对流量数据异常检测,快速发现网络攻击、蠕虫、木马、异常连接、敏感数据外发、违规操作等危害网络安全的异常行为;快速发现高级定向攻击行为,准确获取攻击痕迹与证据,及时阻止进一步扩散和渗透。
68.2、网络安全策略可视化
69.针对网络节点设备的安全访问控制策略进行优化检查分析,梳理出各类冗余策略、隐藏策略、过期策略、可合并策略、空策略等,管理员根据分析结果再对策略进行精简和优化调整。通过对网络安全策略的可视化,可以收缩网络访问权限,降低网络安全风险。
70.3、主机资源可视化
71.帮助用户从安全角度自动化构建细粒度资产信息,支持对业务层资产精准识别和动态感知,让保护对象清晰可见。其功能包括:
72.(1)主机发现:通过设置检查规则,系统自动检查已安装探针主机。针对不同网络状况,提供多种探查方法,包括“arp缓存分析”、“ping扫描”、“nmap扫描”、“连接记录分析”等。
73.(2)应用清点:自动化清点进程、端口、账号、中间件、数据库、大数据组件、web应用、web框架、web站点等安全资产,覆盖通用资产。
74.(3)资产快速检索:对于每类业务资产,系统提供“主机视角”和“资产视角”两种通用维度,聚合展示数据。
75.(4)资产面板:在获得资产信息后,将结合业务情况,形成“概览视图”与“分级视图”。
76.(5)报表导出:所有数据提供报表导出功能,可任意选择导出的数据列与数据行,形成自定义报表。
77.通过对主机资源的可视化,可是实现自动化构建资产信息,让资产清晰可见,让资产变化时实时通知,安全不在落后于业务,可以实现灵活的检索,快速定位关键信息。
78.4、脆弱性风险可视化
79.脆弱性风险可视化能精准发现内部风险,帮助安全防御快速定位问题并有效解决安全风险,并提供详细的资产信息、风险信息以供分析和响应。
80.脆弱性风险可视化设计在资产细粒度清点的基础上,持续、全面透彻地发现潜在风险及安全薄弱点,根据多维度的风险分析和精确到命令行的处理建议,用户可及时处理重要风险,以限制黑客接触系统、发现漏洞和执行恶意代码,从而大大提高系统的攻击门槛;能够持续性监测所有主机的安全状况,图形化展现网络风险场景。为安全决策者动态展
示网络安全指标变化、安全走势分析,使安全状况的改进清晰可衡量;能够主动、持续性地监控所有主机上的软件漏洞、弱密码、应用风险、资产暴露性风险等,并结合资产的重要程度进行风险分析,准确定位最急需处理的风险,帮助安全防御快速有效解决潜在威胁。
81.5、网络入侵可视化
82.提供多锚点的检测能力,能够实时、准确地感知入侵事件,发现失陷主机,并提供对入侵事件的响应手段。通过实时监控登录行为,可以及时且自动化地发现黑客使用不同服务尝试暴力破解用户登录密码的攻击行为,并进行自动化封停处理,使得黑客不能进行更多的尝试;可以通过对用户进程行为进行实时监控,结合行为的识别方法,及时发现进程的非法脚本连接操作。网络入侵可视化通过多维度的感知网络叠加能力,对攻击路径的每个节点都进行监控,保证了能实时发现失陷主机,对入侵行为进行告警;结合专家经验,威胁情报、大数据、机器学习等多种分析方法,通过对用户主机环境的实时监控和深度了解,有效发现各种未知网络攻击。
83.需要强调的是,本发明所述的实施例是说明性的,而不是限定性的,因此本发明包括并不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1