一种基于旁路网络全流量的SSH协议行为模式识别与告警方法与流程

文档序号:17321860发布日期:2019-04-05 21:34阅读:414来源:国知局

本发明涉及网络安全技术领域,尤其涉及一种基于旁路网络全流量的ssh协议行为模式识别与告警方法。



背景技术:

安全外壳协议(secureshellprotocol)简写为ssh,是一种建立在应用层基础上的安全协议,旨在不安全网络上提供安全远程登录及其它安全网络服务。

对于暴露在互联网上的服务器,无时不刻正遭受恶意的ssh暴力破解攻击,常见的攻击方式是攻击者通过密码字典或随机组合密码的方式尝试登陆服务器,这种攻击行为一般不会有明确攻击目标,大多数是通过扫描软件直接扫描整个广播域或网段获取开启ssh协议端口的服务器信息,然后再发起相应攻击,然而对于大多数服务器并没有在遭受恶意ssh暴力破解攻击时的预警服务。

此外,目前大多数预警系统都是依靠分析每台服务器ssh协议的登陆日志来判断恶意攻击行为以及该行为是否破解成功。这类方法需要对每台服务器进行相应的配置从而获取相关ssh协议的日志信息,操作较为繁琐。特别地,在大型网络环境下,这项工作将对服务器系统管理员的工作带来了巨大的考验和较高的要求。综上所述,本文提出一种基于流量信息的ssh协议行为模式的识别告警方法。



技术实现要素:

本发明目的是为了克服现有技术的不足而提供一种基础数据获取简单、避免了传统识别的繁琐、可适用范围广、识别判断快速简便且准确率高的基于旁路网络全流量的ssh协议行为模式识别与告警方法。

下述文档中涉及到的英文所对应的中文解释如下:tcp(传输控制协议报文);local_bl(本地黑名单);weak_ip(本地受攻击名单);sip(源地址);dip(目的地址);inpacket(源地址所发出的流量包的数量);retransmit_in(源地址所发出的流量包的重传数量);outpacket(目的地址所发出的流量包的数量);retransmit_out(目的地址所发出的流量包的重传数量);timeout_state(tcp连接的结束状态);inpackets(源地址实际所发出的流量包的数量);outpackets(目的地址实际所发出的流量包的数量);timeout_state(tcp连接的结束状态);info(第一级);warn(第二级)。

为达到上述目的,本发明采用了如下技术方案。

一种基于旁路网络全流量的ssh协议行为模式识别与告警方法,具体包括以下步骤:

步骤一:通过交换机镜像获取网络流量,从中分离得到tcp的流量信息,再通过对tcp流量进行分析获取得到ssh协议相关的数据,最后对ssh协议数据进行清洗和分析,从数据集合中提取关键特征信息;所述获取数据、清洗数据以及提取特征的操作具体包括先通过对交换机进行配置,将镜像流量导出至数据解析器,根据网络报文信息解析获取得到tcp的流量,每次tcp通讯记作一条流量数据;再根据tcp报文中目的端口信息,提取出端口ssh协议的流量信息;再对ssh协议的流量信息进行清洗和分析,从报文信息中提取sip(源地址)、dip(目的地址)的特征信息,并统计本次通讯过程中inpacket(源地址所发出的流量包的数量)、retransmit_in(源地址所发出的流量包的重传数量)、outpacket(目的地址所发出的流量包的数量)、retransmit_out(目的地址所发出的流量包的重传数量)以及记录timeout_state(tcp连接的结束状态),共七个特征信息;

步骤二:根据所述步骤一所获取的数据关键特征信息,判断当前集合内的每条流量数据类型是属于登陆成功、暴力破解和扫描过程;

步骤三:依据所述步骤二中获得的每条流量数据的判断结果,进行综合考虑和推断当前时间段内的整体行为,根据整体行为执行相应的告警操作;

步骤四:依据所述步骤三中的告警操作,进行更新和维护本地黑名单local_bl和本地受攻击名单weak_ip。

作为本发明的进一步改进,还对所述步骤一中的七个特征信息作进一步降维操作,具体操作是记inpackets(源地址实际所发出的流量包的数量)的取值为inpacket减去retransmit_in后的值,同理,outpackets(目的地址实际所发出的流量包的数量)的取值为outpacket减去retransmit_out后的值,将七个特征降为五个特征(sip,dip,inpackets,outpackets,timeout_state),该降维操作有利于减少计算数据量,提升计算效率和节约计算资源。

在所述特征信息中,timeout_state(tcp连接的结束状态)是对tcp通讯过程中所出现的结束情况的总结,用于判断当前tcp连接是否属于未连接、已连接、是否结束状态多种情况。

作为本发明的进一步改进,依据所提取的数据特征,识别判断当前数据集内数据所对应的行为特征,具体识别过程包括:

若在ssh协议的流量数据中存在“inpackets>=30andoutpackets>=30”的数据,则表明本次通讯行为属于登陆成功;

若在ssh协议的流量数据中存在“14<=inpackets<28and14<=outpackets<28andtimeout_statein[8,13,14,15]”的数据,则表明本次通讯行为属于暴力破解过程;

若在ssh协议的流量数据中存在“inpackets<5andoutpackets<5andinpackets>=outpacketsandtimeout_statein[1,4,10,11,13,15]”的数据,则表明本次通讯行为属于扫描过程。

作为本发明的进一步改进,依据所列举的条件和信息,再进行对当前检查时间段内判断整体行为模式,整体行为模式是指源地址(sip)和目的地址(dip)在当前时间段内的通讯行为模式,具体执行告警方法如下:

若判断当前行为属于登陆成功过程后执行告警方法,包括:首先会检查当前源地址(sip)是否属于local_wl(白名单)文件,若是则不告警;若不是,则发出info(第一级)级别的告警,提醒管理员存在异常可疑的登陆情况;发出info告警后,接着判断当前时间内登陆成功的数据量占当前源地址与目的地址的tcp通讯总数据量的百分比,若百分比超过预设阈值,则发出warn(第二级)级别告警;

若判断当前行为属于暴力破解过程后执行告警方法,包括:首先判断当前时间内暴力破解的数据量占当前源地址与目的地址的tcp通讯总数据量的百分比,若超过预设阈值,则发出info级别告警;在发出info告警后,接着判断当前源地址(sip)是否属于local_bl文件,或被第三方情报源标记为异常ip,若判断为是,则提升告警等级为warn,反之则写入local_bl,在下一个时间段内继续观察;

若判断当前行为属于扫描过程后执行告警方法,包括:首先判断当前时间内源地址(sip)的数据量占当前源地址的tcp通讯总数据量的百分比,若超过预设阈值,则发出info级别告警,若不超过则继续判断sip是否属于local_bl文件;若属于则同样发出info级别告警,若不存在,则不告警;在发出info告警后,接着判断当前源地址(sip)是否属于内网ip且扫描速率是否达到ipperminute,即每分钟探测一个ip,若判断已达到,则提升告警等级为warn。

作为本发明的进一步改进,依据s4-s7步骤中的判断方法,在确认行为后,将相关源地址(sip)写入local_bl文件,将目的地址(dip)写入weak_ip文件。其中,local_bl文件记录恶意源地址信息,包括:源地址位置信息、所属分类(扫描、破解、恶意登陆)、最近一次更新时间;其中,weak_ip记录内网目的地址信息,包括:所属分类(是否被扫描、是否被暴力破解、是否被恶意登陆)、最近一次更新时间3。

local_wl文件是预先设置的源地址白名单,记录允许异地访问的sip或位置信息。

作为本发明的进一步改进,local_bl和weak_ip两份文件会基于每次检查的结果进行在线自动更新,其中,tag字段的取值范围0-7,使用二进制表示三类威胁:000(0)表示无危胁、100(4)表示登陆、010(2)表示撞库、001(1)表示扫描,若local_ip中某个ip的标签tag=6(110),表示该ip既属于恶意暴力破解也属于成功登陆。

作为本发明的进一步改进,local_bl和weak_ip两份文件更新操作中,若ip存在文件中则判断上一次更新时间与当前时间之间关系决定是否更新;若不存在则构建新的ip关键字进行更新。

由于上述技术方案的运用,本发明的技术方案带来的有益技术效果:本技术方案通过从交换机获取镜像流量,配置操作较为简单和便捷;本技术方案同时也无需对ssh协议流量进行解密操作,而是通过另一视角观测流量信息,加速识别和判断过程,并且在识别和判断后立即发出相应的预警信息和解决方案,极大提高系统管理员的工作效率;本技术方案只需依据旁路网络的流量信息,在不对ssh安全协议的流量数据进行解密的情况下对其行为模式进行识别,旨在根据行为模式判断当前网络攻击形式以及当前网络和网络主机所受到的威胁情况,并依据攻击形式和所受威胁情况向网络管理员提供告警和应对攻击的方法,实现保护内网主机安全;本发明使用多级规则进行管道式的组合,降低了整体运算量和规则的复杂度;同时使用流量信息且在不对ssh协议进行解密的情况下判断整体的行为模式,提高了运算速度;另外,相比通过日志判断行为的方法,本方法延展了对威胁情况的刻画,提高了识别的准确率。

具体实施方式

下面结合反应路线及具体实施例对本发明作进一步的详细说明。

一种基于旁路网络全流量的ssh协议行为模式识别与告警方法,具体包括:

(1)旁路监控设备抓取交换机的镜像流量,从中分离出tcp流量,再根据目的端口过滤出ssh协议的流量数据。

(2)对ssh协议的流量数据进行清洗,从每条数据中提取五元组信息(sip,dip,inpackets,outpackets,timeout_state)。

(3)对五元组信息进行判断,分析确认是否属于扫描过程、暴力破解过程还是登陆成功过程,具体判断过程如下:

若在ssh协议的流量数据中存在“inpackets>=30andoutpackets>=30”的数据,则表明本次通讯行为属于登陆成功;

若在ssh协议的流量数据中存在“14<=inpackets<28and14<=outpackets<28andtimeout_statein[8,13,14,15]”的数据,则表明本次通讯行为属于暴力破解过程;

若在ssh协议的流量数据中存在“inpackets<5andoutpackets<5andinpackets>=outpacketsandtimeout_statein[1,4,10,11,13,15]”的数据,则表明本次通讯行为属于扫描过程。

(4)根据每条数据的分析判断的结果,综合考虑和整体判断当前时间内(sip,dip)之间的通讯行为模式,并根据其整体的行为模式发出相应的预警信息.具体预警过程如下:

若当前行为属于登陆成功过程,那么告警步骤包括:首先会检查当前源地址(sip)是否属于白名单,若是则不告警;若不是,则发出info级别的告警,提醒管理员存在异常可疑的登陆情况;在发出info告警后,会进一步判断当前时间内登陆成功的数据量占当前源地址与目的地址的tcp通讯总数据量的百分比,若百分比超过预设阈值50%,则发出warn级别告警;

若当前行为属于暴力破解过程那么告警步骤包括:首先判断当前时间内暴力破解的数据量占当前源地址与目的地址的tcp通讯总数据量的百分比,若超过预设阈值50%,则发出info级别告警;在发出info告警后,进一步判断当前源地址(sip)是否属于local_bl文件,或被第三方情报源标记为异常ip;若是,则提升告警等级为warn;反之,则写入local_bl,在下一个时间段内继续观察;

若当前行为属于扫描过程,那么告警步骤包括:首先判断当前时间内源地址(sip)的数据量占当前源地址的tcp通讯总数据量的百分比,若超过预设阈值50%,则发出info级别告警;若不超过,则继续判断sip是否属于local_bl文件,若属于同样发出info级别告警,若不存在,则不告警。在发出info告警后,进一步判断当前源地址(sip)是否属于内网ip且扫描速率是否达到ipperminute,即每分钟探测一个ip,若是,则提升告警等级为warn。

(5)根据分析确认当前过程的行为模式和预警信息,自动更新ip黑名单local_ip文件和内网被攻击ip的名单weak_ip文件。文件格式见附表1和表2,具体查询与更新方式如下:查询时,以ip为关键字搜索,若存在则返回对应内容,根据内容中ip标记和上一次更新时间判断当前记录是否有效。若上一次更新时间与当前查询时间的差大于阈值一个月,则表示当前记录失效,将对应的tag值赋值为0;反之则表示有效,即可使用ip标记辅助判断;

更新时,以ip为关键字搜索,若存在则更新对应内容,根据告警信息更新ip标记,然后将上次更新时间修改为当前时间;若不存在ip,则创建新的ip关键字,构造对应内容,ip标记为当前告警信息,更新时间为当前时间。

为便于全面理解上述方案,还提供表1、表2和表3,具体表格说明如下:其中,表1为数据特征timeout_state的值以及对应的含义;表2为源地址黑名单local_ip文件的文件格式;表3为遭受攻击的目的地址ip名单weak_ip的文件格式。

以上仅是本发明的具体应用范例,对本发明的保护范围不构成任何限制。凡采用等同变换或者等效替换而形成的技术方案,均落在本发明权利保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1