本申请涉及网络安全技术领域,尤其涉及一种基于挖掘的持续攻击检测方法及系统。
背景技术:
现有的sdn网络中控制器与交换机之间不强制建立tls安全通道,并且默认状态为非开启状态,使得网络变得脆弱,控制器与交换机之间可能出现明文通信,任何第三方都可以截获或者修改双方的通信内容,容易受到中间人的攻击。控制器与交换机之间缺乏对证书的验证,攻击者容易截取控制器发送给交换机的请求,伪装成控制器与交换机进行通信,从而获得交换机与控制器之间通信的所有内容。
同时,针对持续性的网络攻击,单一的检测手段难以将持续性网络攻击从网络活动中分离出来。
所以急需一种针对性改进基于挖掘的持续攻击检测方法和系统。
技术实现要素:
本发明的目的在于提供一种基于挖掘的持续攻击检测方法及系统,在控制器与交换机之间建立安全加密通道,增加可信任机构ca对控制器和交换机进行认证签名,实现控制器和交换机之间的双向认证,以及在控制器与交换机之间进行密钥协商,实现针对性地改进sdn网络漏洞;基于流行度和连接方向的流量日志进行缩减,并提供对时间窗口的灵活配置。
第一方面,本申请提供一种基于挖掘的持续攻击检测方法,所述方法包括:
获取网络流量数据,根据网络特征,识别网络的类型;
当识别网络为sdn网络时,下发控制指令给控制器和交换机,所述控制指令携带有网络中间可信任机构ca的标识和地址;
所述控制器和交换机接收所述控制指令,分别向网络中间可信任机构ca发送身份认证请求,所述身份认证请求携带有控制器和交换机各自的公钥、用户身份信息和设备标识;
所述可信任机构ca接收到所述身份认证请求,根据设备标识查询数据库,判断所述控制器和交换机是否合法,如果判断结果为合法,则所述可信任机构ca将一条明文消息以及使用ca私钥对明文消息的数字签名证书一起返回给所述控制器和交换机;如果判断结果为不合法,则所述可信任机构ca返回认证失败的通知;
所述控制器和交换机接收到所述可信任机构ca发送的数字签名证书,使用所述可信任机构ca的公钥对所述数字签名证书进行验证,若验证成功,则所述控制器和交换机将所述数字签名证书替换为各自的身份信息;若验证不成功,则所述控制器和交换机向所述可信任机构ca发送认证错误的通知;
所述控制器和交换机在验证成功后,交换机向控制器发送加密安全连接请求,所述加密安全连接请求携带有版本信息、所支持的加密算法和第一随机数;
所述控制器接收到所述加密安全连接请求后,向所述交换机返回响应消息,所述响应消息包括确认的加密算法、随机生成的第二随机数和控制器的数字签名证书;
所述交换机接收到所述响应消息后,使用所述可信任机构ca的公钥对控制器的数字签名证书进行验证,如果验证成功,则生成第三随机数,并使用控制器的公钥对所述第三随机数进行加密,与交换机的数字签名证书一起发送给所述控制器;
所述控制器接收到所述交换机发送的消息后,使用所述可信任机构ca的公钥对交换机的数字签名证书进行验证,如果验证成功,则使用控制器的私钥解密消息中的所述第三随机数密文,完成控制器和交换机的密钥协商;
所述控制器和交换机使用协商好的加密算法和密钥对建立的加密安全连接进行加密通信;
导入网络流量数据后,对数据进行过滤和删减,将处理后的数据通过持久化层存储在原始数据表中;其中所述过滤和删减是利用基于流行度和安全人员标记数据构建可信名单,之后利用可信名单对数据进行过滤;
根据安全人员预先设定的时间窗口,从存储原始数据的数据库中提取指定时间窗口的数据,抽取数据的特征成为特征集,日志数据的特征由内部主机和域名对来标识,网络流日志数据的特征由源端点和目的端点来标识;
对数据进行归一化处理,并给出主机对之间的网络行为的异常评分,将异常评分最高的部分数据存储在异常检测结果数据库中,得到持续攻击的检测结果。
结合第一方面,在第一方面第一种可能的实现方式中,所述数字签名证书采用了哈希运算。
结合第一方面,在第一方面第二种可能的实现方式中,所述加密算法包括des、md5、aes中任意一种。
结合第一方面,在第一方面第三种可能的实现方式中,所述网络中间可信任机构ca可以是认证服务器、密钥服务器、数字证书服务器中任意一种。
第二方面,本申请提供一种基于挖掘的持续攻击检测系统,所述系统包括:网关服务器、分析服务器、网络中间可信任机构ca、至少一个sdn控制器和至少一个sdn交换机;
所述网关服务器获取网络流量数据,根据网络特征,识别网络的类型;
当识别网络为sdn网络时,下发控制指令给至少一个控制器和至少一个交换机,所述控制指令携带有网络中间可信任机构ca的标识和地址;
所述至少一个控制器和至少一个交换机接收所述控制指令,分别向网络中间可信任机构ca发送身份认证请求,所述身份认证请求携带有控制器和交换机各自的公钥、用户身份信息和设备标识;
所述可信任机构ca接收到所述身份认证请求,根据设备标识查询数据库,判断所述至少一个控制器和至少一个交换机是否合法,如果判断结果为合法,则所述可信任机构ca将一条明文消息以及使用ca私钥对明文消息的数字签名证书一起返回给所述至少一个控制器和至少一个交换机;如果判断结果为不合法,则所述可信任机构ca返回认证失败的通知;
所述至少一个控制器和至少一个交换机接收到所述可信任机构ca发送的数字签名证书,使用所述可信任机构ca的公钥对所述数字签名证书进行验证,若验证成功,则所述至少一个控制器和至少一个交换机将所述数字签名证书替换为各自的身份信息;若验证不成功,则所述至少一个控制器和至少一个交换机向所述可信任机构ca发送认证错误的通知;
所述至少一个控制器和至少一个交换机在验证成功后,交换机向对应控制器发送加密安全连接请求,所述加密安全连接请求携带有版本信息、所支持的加密算法和第一随机数;
所述控制器接收到所述加密安全连接请求后,向所述交换机返回响应消息,所述响应消息包括确认的加密算法、随机生成的第二随机数和控制器的数字签名证书;
所述交换机接收到所述响应消息后,使用所述可信任机构ca的公钥对控制器的数字签名证书进行验证,如果验证成功,则生成第三随机数,并使用控制器的公钥对所述第三随机数进行加密,与交换机的数字签名证书一起发送给所述控制器;
所述控制器接收到所述交换机发送的消息后,使用所述可信任机构ca的公钥对交换机的数字签名证书进行验证,如果验证成功,则使用控制器的私钥解密消息中的所述第三随机数密文,完成控制器和交换机的密钥协商;
所述控制器和交换机使用协商好的加密算法和密钥对建立的加密安全连接进行加密通信;
所述分析服务器导入网络流量数据后,对数据进行过滤和删减,将处理后的数据通过持久化层存储在原始数据表中;其中所述过滤和删减是利用基于流行度和安全人员标记数据构建可信名单,之后利用可信名单对数据进行过滤;
根据安全人员预先设定的时间窗口,从存储原始数据的数据库中提取指定时间窗口的数据,抽取数据的特征成为特征集,日志数据的特征由内部主机和域名对来标识,网络流日志数据的特征由源端点和目的端点来标识;
对数据进行归一化处理,并给出主机对之间的网络行为的异常评分,将异常评分最高的部分数据存储在异常检测结果数据库中,得到持续攻击的检测结果。
结合第二方面,在第二方面第一种可能的实现方式中,所述数字签名证书采用了哈希运算。
结合第二方面,在第二方面第二种可能的实现方式中,所述加密算法包括des、md5、aes中任意一种。
结合第二方面,在第二方面第三种可能的实现方式中,所述网络中间可信任机构ca可以是认证服务器、密钥服务器、数字证书服务器中任意一种。
本发明提供一种基于挖掘的持续攻击检测方法及系统,在控制器与交换机之间建立安全加密通道,增加可信任机构ca对控制器和交换机进行认证签名,实现控制器和交换机之间的双向认证,以及在控制器与交换机之间进行密钥协商,实现针对性地改进sdn网络漏洞;基于流行度和连接方向的流量日志进行缩减,并提供对时间窗口的灵活配置。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于挖掘的持续攻击检测方法的流程图;
图2为本发明基于挖掘的持续攻击检测系统的架构图。
具体实施方式
下面结合附图对本发明的优选实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
图1为本申请提供的基于挖掘的持续攻击检测方法的流程图,所述方法包括:
获取网络流量数据,根据网络特征,识别网络的类型;
当识别网络为sdn网络时,下发控制指令给控制器和交换机,所述控制指令携带有网络中间可信任机构ca的标识和地址;
所述控制器和交换机接收所述控制指令,分别向网络中间可信任机构ca发送身份认证请求,所述身份认证请求携带有控制器和交换机各自的公钥、用户身份信息和设备标识;
所述可信任机构ca接收到所述身份认证请求,根据设备标识查询数据库,判断所述控制器和交换机是否合法,如果判断结果为合法,则所述可信任机构ca将一条明文消息以及使用ca私钥对明文消息的数字签名证书一起返回给所述控制器和交换机;如果判断结果为不合法,则所述可信任机构ca返回认证失败的通知;
所述控制器和交换机接收到所述可信任机构ca发送的数字签名证书,使用所述可信任机构ca的公钥对所述数字签名证书进行验证,若验证成功,则所述控制器和交换机将所述数字签名证书替换为各自的身份信息;若验证不成功,则所述控制器和交换机向所述可信任机构ca发送认证错误的通知;
所述控制器和交换机在验证成功后,交换机向控制器发送加密安全连接请求,所述加密安全连接请求携带有版本信息、所支持的加密算法和第一随机数;
所述控制器接收到所述加密安全连接请求后,向所述交换机返回响应消息,所述响应消息包括确认的加密算法、随机生成的第二随机数和控制器的数字签名证书;
所述交换机接收到所述响应消息后,使用所述可信任机构ca的公钥对控制器的数字签名证书进行验证,如果验证成功,则生成第三随机数,并使用控制器的公钥对所述第三随机数进行加密,与交换机的数字签名证书一起发送给所述控制器;
所述控制器接收到所述交换机发送的消息后,使用所述可信任机构ca的公钥对交换机的数字签名证书进行验证,如果验证成功,则使用控制器的私钥解密消息中的所述第三随机数密文,完成控制器和交换机的密钥协商;
所述控制器和交换机使用协商好的加密算法和密钥对建立的加密安全连接进行加密通信;
导入网络流量数据后,对数据进行过滤和删减,将处理后的数据通过持久化层存储在原始数据表中;其中所述过滤和删减是利用基于流行度和安全人员标记数据构建可信名单,之后利用可信名单对数据进行过滤;
根据安全人员预先设定的时间窗口,从存储原始数据的数据库中提取指定时间窗口的数据,抽取数据的特征成为特征集,日志数据的特征由内部主机和域名对来标识,网络流日志数据的特征由源端点和目的端点来标识;
对数据进行归一化处理,并给出主机对之间的网络行为的异常评分,将异常评分最高的部分数据存储在异常检测结果数据库中,得到持续攻击的检测结果。
在一些优选实施例中,所述数字签名证书采用了哈希运算。
在一些优选实施例中,所述加密算法包括des、md5、aes中任意一种。
在一些优选实施例中,所述网络中间可信任机构ca可以是认证服务器、密钥服务器、数字证书服务器中任意一种。
图2为本申请提供的基于挖掘的持续攻击检测系统的架构图,所述系统包括:网关服务器、分析服务器、网络中间可信任机构ca、至少一个sdn控制器和至少一个sdn交换机;
所述网关服务器获取网络流量数据,根据网络特征,识别网络的类型;
当识别网络为sdn网络时,下发控制指令给至少一个控制器和至少一个交换机,所述控制指令携带有网络中间可信任机构ca的标识和地址;
所述至少一个控制器和至少一个交换机接收所述控制指令,分别向网络中间可信任机构ca发送身份认证请求,所述身份认证请求携带有控制器和交换机各自的公钥、用户身份信息和设备标识;
所述可信任机构ca接收到所述身份认证请求,根据设备标识查询数据库,判断所述至少一个控制器和至少一个交换机是否合法,如果判断结果为合法,则所述可信任机构ca将一条明文消息以及使用ca私钥对明文消息的数字签名证书一起返回给所述至少一个控制器和至少一个交换机;如果判断结果为不合法,则所述可信任机构ca返回认证失败的通知;
所述至少一个控制器和至少一个交换机接收到所述可信任机构ca发送的数字签名证书,使用所述可信任机构ca的公钥对所述数字签名证书进行验证,若验证成功,则所述至少一个控制器和至少一个交换机将所述数字签名证书替换为各自的身份信息;若验证不成功,则所述至少一个控制器和至少一个交换机向所述可信任机构ca发送认证错误的通知;
所述至少一个控制器和至少一个交换机在验证成功后,交换机向对应控制器发送加密安全连接请求,所述加密安全连接请求携带有版本信息、所支持的加密算法和第一随机数;
所述控制器接收到所述加密安全连接请求后,向所述交换机返回响应消息,所述响应消息包括确认的加密算法、随机生成的第二随机数和控制器的数字签名证书;
所述交换机接收到所述响应消息后,使用所述可信任机构ca的公钥对控制器的数字签名证书进行验证,如果验证成功,则生成第三随机数,并使用控制器的公钥对所述第三随机数进行加密,与交换机的数字签名证书一起发送给所述控制器;
所述控制器接收到所述交换机发送的消息后,使用所述可信任机构ca的公钥对交换机的数字签名证书进行验证,如果验证成功,则使用控制器的私钥解密消息中的所述第三随机数密文,完成控制器和交换机的密钥协商;
所述控制器和交换机使用协商好的加密算法和密钥对建立的加密安全连接进行加密通信;
所述分析服务器导入网络流量数据后,对数据进行过滤和删减,将处理后的数据通过持久化层存储在原始数据表中;其中所述过滤和删减是利用基于流行度和安全人员标记数据构建可信名单,之后利用可信名单对数据进行过滤;
根据安全人员预先设定的时间窗口,从存储原始数据的数据库中提取指定时间窗口的数据,抽取数据的特征成为特征集,日志数据的特征由内部主机和域名对来标识,网络流日志数据的特征由源端点和目的端点来标识;
对数据进行归一化处理,并给出主机对之间的网络行为的异常评分,将异常评分最高的部分数据存储在异常检测结果数据库中,得到持续攻击的检测结果。
在一些优选实施例中,所述数字签名证书采用了哈希运算。
在一些优选实施例中,所述加密算法包括des、md5、aes中任意一种。
在一些优选实施例中,所述网络中间可信任机构ca可以是认证服务器、密钥服务器、数字证书服务器中任意一种。
具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可以存储有程序,该程序执行时可包括本发明各个实施例中的部分或全部步骤。所述的存储介质可以为磁碟、光盘、只读存储记忆体(简称:rom)或随机存储记忆体(简称:ram)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书各个实施例之间相同相似的部分互相参见即可。尤其,对于实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
以上所述的本发明实施方式并不构成对本发明保护范围的限定。