一种网络设备指纹生成方法及探测设备与流程

文档序号:12478127阅读:294来源:国知局

本发明涉及网络技术领域,特别是涉及一种网络设备指纹生成方法及探测设备。



背景技术:

随着计算机网络的不断发展,网络设备的安全问题得到了人们的普遍关注。其中网络设备的身份特征在网络安全中起到非常重要的作用。目前网络设备的常用身份特征有:互联网协议(Internet Protocol,IP)地址或介质访问控制(Media Access Control,MAC)地址,然而IP地址和MAC地址容易被伪造,故其安全性较低。



技术实现要素:

为解决上述问题,本发明提供的一种网络设备指纹生成方法及探测设备,包括:

探测设备采集网络设备的特征信息,并将所述特征信息进行处理生成特征标识;所述探测设备将所述特征标识进行处理生成所述网络设备的设备指纹。

进一步地,所述特征信息至少为所述网络设备的操作系统特征、所述网络设备的通讯协议特征、所述网络设备的时钟偏差、所述网络设备的时钟频率中的一种。

进一步地,所述探测设备采集所述网络设备的操作系统特征的方法为:所述探测设备采用其操作系统扫描工具对网络设备的操作系统特征进行扫描,从而获得该网络设备的操作系统特征。

具体地,所述网络设备的操作系统特征包括:操作系统类型、操作系统名称、操作系统版本、内核版本和网络设备名称。

进一步地,所述探测设备采集所述网络设备的通讯协议特征的方法为:所述探测设备采用其通讯协议扫描工具对网络设备的通讯协议特征进行扫描,从而获得该网络设备的通讯协议特征。

具体地,所述网络设备的通讯协议特征为互联网协议第四版的特征、互联网协议第六版的特征、地址解析协议的特征中的一种。

进一步地,所述探测设备采集所述网络设备的时钟频率的方法为:

步骤s1:所述探测设备至少两次采集网络设备的数据包,提取各个数据包的时间戳值;

步骤s2:计算从最后一次采集的数据包中提取的时间戳值与从第一次采集的数据包中提取的时间戳值的差值,将所述差值除按预置时间间隔得到所述网络设备的时钟频率,所述间隔时间为最后一次采集的数据包与第一次采集的数据包之间的时间。

进一步地,所述探测设备采集所述网络设备的时钟频率的方法为:

步骤s1:所述探测设备至少两次采集网络设备的数据包,提取各个数据包的时间戳值;

步骤s2:计算从最后一次采集的数据包中提取的时间戳值与从第一次采集的数据包中提取的时间戳值的差值,将所述差值除按预置时间间隔得到一个商值,所述间隔时间为最后一次采集的数据包与第一次采集的数据包之间的时间;得到一个商值。

步骤s3:多次重复步骤s1~步骤s2,得到多个商值,将所述多个商值取平均得到所述网络设备的时钟频率。

优选地,所述探测设备通过哈希算法将所述特征信息生成特征标识。

优选地,所述探测设备通过哈希算法将所述特征标识生成设备指纹。

优选地,所述探测设备将所述设备指纹传输给网络设备。

一种探测设备,包括:

采集模块,用于采集网络设备的特征信息,并将所述特征信息进行处理生成特征标识;

指纹生成模块,用于将所述特征标识进行处理生成设备指纹。

进一步的,所述探测设备还可以包括:

数据传输模块,用于将所述设备指纹传输给所述网络设备。

有益效果

本发明所提供的一种网络设备指纹生成方法及探测设备,探测设备首先采集网络设备的特征信息,其次对采集到的特征信息进行处理生成特征标识,最后再将所述特征标识进行处理生成该网络设备的设备指纹。

由此可以看出,当入侵设备不知道探测设备采集网络设备的哪些特征信息,也不知道探测设备如何对特征信息进行处理生成特征标识再如何处理生成的设备指纹时,入侵设备也就难以对该网络设备的设备指纹进行伪造,很显然,将本发明构建的网络设备指纹来作为网络设备的身份特征,可有效地保证该网络设备在网络中的安全。

附图说明

图1为本发明提供的一种网络设备指纹生成流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

图1为本发明提供的一种网络设备指纹生成流程示意图,包括:

步骤101:探测设备采集网络设备的操作系统特征,并生成特征标识1;具体地,

探测设备采用其操作系统扫描工具对网络设备的操作系统进行扫描,从而获得该网络设备的操作系统特征,其中,操作系统特征可包括网络设备的操作系统类型、操作系统名称、操作系统版本、内核版本和名称;探测设备以网络设备的操作系统特征为参数,通过哈希算法生成特征标识1;

步骤102:采集网络设备通讯协议特征,并生成特征标识2;具体地,

探测设备采用其通讯协议扫描工具扫描所述网络设备的通讯协议特征,从而获得该网络设备的通讯协议特征,其中,所述通讯协议特征可为互联网协议(Internet Protocol,IP)第四版IPV4的特征,如支持的协议类型、通信端口,互联网协议(Internet Protocol,IP)第六版IPV6的特征,如支持的协议类型、通信端口,地址解析协议(Address Resolution Protocol,ARP)的特征,如支持的协议类型、通信端口,探测设备再将获得的通讯协议特征记录并保存;探测设备以网络设备的通讯协议特征为参数,通过哈希算法生成特征标识2;

步骤103:采集网络设备时钟偏差,并生成特征标识3;具体地,

探测设备按预置时间间隔Δt向网络设备发送n个带有时间戳值的数据包;接收所述网络设备发送的n个带有时间戳值的数据包响应,并依次记录接收到n个带有时间戳值的数据包响应的时间值,得到第一时间值序列,记为Ti,i=1,2,…,n;

将n个带有时间戳值的数据包响应的时间戳值依次进行处理,得到第二时间值序列,记为T'i,,i=1,2,…,n;

测量每一个所述带有时间戳值的数据包响应中的时间戳值,将每一个数据包中的时间戳值除以对应数据包中的系统时钟频率得到第二时间值序列,记为T'i,,i=1,2,…,n;

系统时钟频率通过接收到的两个带有时间戳值的数据包响应中的时间戳值作差得到差值,再将该差值除以上述两个带有时间戳值的数据包响应的时间间隔得到。

将第一时间值序列与第二时间值序列进行处理,得到所述网络设备的时钟偏差。

具体地,可以通过以下两种处理方法得到:

方法一:对第一时间值序列Ti与第二时间值序列T'i中分别按从前到后顺序进行异常值判断;其中,判断的方法可以为:由于是依次记录的时间值,则第一时间值序列中的时间值应该为成比例递增的,若某一个时间值明显偏离这种递增趋势的则为异常值,同理,第二时间值序列的异常值判断方法也一致;

当首次判断出第一时间值序列Ti与第二时间值序列T'i中同一次序的两个时间值均不为异常值时,记录第一时间值序列中次序的时间值,记为第一时间值,记录第二时间值序列中次序的时间值,记为第二时间值;

例如,首次判断出第一时间值序列Ti中第二个时间值T2与第二时间值序列T'i中第二个时间值T'2均不为异常值时,记录T2为第一时间值,T'2为第二时间值。

从第一时间值序列中第一时间值T2的后一个时间值T3起依次与第一时间值T2作差,得到第一差值序列Ri,具体地,

Ri=T(i)-T2,i=1,2,…,n,

再获取各个时间值与第一时间值之间的时间间隔,得到第一时间间隔序列,具体地,如以下公式:

Mi=i*Δt,i=1,2,…,n-2;

从第二时间值序列中第二时间值T'2的后一个时间值T'3起依次与第二时间值T'2作差,得到第二差值序列R'i,具体地,

R'i=T'(i)-T'2,i=1,2,…,n;

将第一差值序列Ri与第二差值序列R'i依次对应作差,得到第三差值序列Ei;具体地,Ei=Ri-R'i,i=1,2,…,n-2;

将第三差值序列Ei中的异常值消除,得到第四差值序列E'i,i=1,2,…,n-1;具体地,将第三差值序列Ei基于拉依达准则或格拉布斯准则消除第三差值序列Ei中的异常值后得到第四差值序列E'i,并消除第一时间间隔序列中与第三差值序列中的异常值相同位置处的时间间隔值,得到第二时间间隔序列。

将第四差值序列E'i与第二时间间隔序列进行线性回归得到网络设备的时钟偏差;其中,进行线性回归线性回归的方法可以为以简单最小二乘法、加权最小二乘法、一般最小二乘法中的一种。

方法二:

对第一时间值序列Ti与第二时间值序列T'i中分别按从后到前顺序进行异常值判断;其中,判断的方法可以为:由于是依次记录的时间值,则第一时间值序列中的时间值应该为成比例递增的,若某一个时间值明显偏离这种递增趋势的则为异常值,同理,第二时间值序列的异常值判断方法也一致;

当首次判断出第一时间值序列Ti与第二时间值序列T'i中同一次序的两个时间值均不为异常值时,记录第一时间值序列中次序的时间值,记为第三时间值,记录所述第二时间值序列中次序的时间值,记为第四时间值;

例如,首次判断出第一时间值序列Ti中倒数第二个时间值T(n-1)与第二时间值序列T'i中倒数第二个时间值T'(n-1)均不为异常值时,记录T(n-1)为第三时间值,T'(n-1)为第四时间值。

将第一时间值序列中第三时间值T(n-1)与第三时间值T(n-1)前的时间值依次作差,得到第五差值序列Ni;具体地,Ri=T(n-1)-Ti,i=1,2,…,n-2,

再获取各个时间值与第一时间值之间的时间间隔,得到第三时间间隔序列,具体地,如以下公式:

M'i=(n-i)*Δt,i=1,2,…,n-2;

将第二时间值序列中第四时间值T'(n-1)与第四时间值T'(n-1)前的时间值依次作差,得到第六差值序列N'i;具体地,R'i=T'(n-1)-T'i,i=1,2,…,n-1;

将第五差值序列Ni与第六差值序列N'i依次对应作差,得到第七差值序列Di;具体地,Di=Ni-N'i,i=1,2,…,n-2;

将第七差值序列Di中的异常值消除,得到第八差值序列D'i,i=1,2,…,n-1;具体地,将第七差值序列Di基于拉依达准则或格拉布斯准则消除第七差值序列Di中的异常值后得到第八差值序列D'i,同时消除第三时间间隔序列中与第七差值序列中的异常值相同位置处的时间间隔值,得到第四时间间隔序列;

将第八差值序列D'i与第四时间间隔序列进行线性回归得到网络设备的时钟偏差;其中,进行线性回归的方法可以为以简单最小二乘法、加权最小二乘法、一般最小二乘法中的一种。

探测设备以上述方法一或方法二得到的时钟偏差为参数,通过哈希算法生成特征标识3;

步骤104:采集网络设备时钟频率,并生成特征标识4;具体地,采集网络设备时钟频率可以通过以下两种实现方式中任一方式实现。

方式一:

步骤s1:所述探测设备至少两次采集网络设备的数据包,提取各个数据包的时间戳值;

步骤s2:计算从最后一次采集的数据包中提取的时间戳值与从第一次采集的数据包中提取的时间戳值的差值,将所述差值除以间隔时间得到网络设备的时钟频率值,间隔时间为最后一次采集的数据包与第一次采集的数据包之间的时间。

方式二:

步骤s1:所述探测设备至少两次采集网络设备的数据包,提取各个数据包的时间戳值;

步骤s2:计算从最后一次采集的数据包中提取的时间戳值与从第一次采集的数据包中提取的时间戳值的差值,将所述差值除以间隔时间得到一个差值,该差值再除以间隔时间得到一个商值,间隔时间为最后一次采集的数据包与第一次采集的数据包之间的时间;

步骤s3:多次重复步骤s1~步骤s2,得到多个商值,将所述多个商值取平均得到所述网络设备的时钟频率。

方式二较方式一来说,多次重复步骤s1~步骤s2的操作,并通过多次求平均的方法来减少误差,由此,方式二得到的时钟频率较方式一得到的时钟频率更为准确。

探测设备以上述任一方式得到的时钟频率为哈希算法的输入参数,生成特征标识4;

步骤105:生成设备指纹。

具体地,所述探测设备调用其设备指纹模块,以特征标识1、特征标识2、特征标识3和特征标识4作为哈希算法的输入参数,通过哈希算法对上述特征进行处理生成该网络设备的设备指纹。

应当说明的是,本发明具体实施例还可以通过上述特征信息(即网络设备的操作系统特征、网络设备的通讯协议特征、网络设备的时钟偏差、网络设备的时钟频率中)中的一种来生成该网络设备的设备指纹,例如:系统操作特征,具体地,

步骤101:探测设备采集网络设备的操作系统特征,并生成特征标识1;具体地,

探测设备采用其操作系统扫描工具对网络设备的操作系统进行扫描,从而获得该网络设备的操作系统特征,其中,操作系统特征可包括网络设备的操作系统类型、操作系统名称、操作系统版本、内核版本和名称;探测设备以网络设备的操作系统特征为参数,通过哈希算法生成特征标识1;

步骤102:生成设备指纹。

具体地,所述探测设备调用其设备指纹模块,以特征标识1作为哈希算法的输入参数,通过哈希算法对上述特征进行处理生成该网络设备的设备指纹。

本发明具体实施例还可以通过上述特征信息(即网络设备的操作系统特征、网络设备的通讯协议特征、网络设备的时钟偏差、网络设备的时钟频率中)中的两种特征信息来生成该网络设备的设备指纹,例如:操作系统特征和所述网络设备的通讯协议特征,具体地,

步骤101:探测设备采集网络设备的操作系统特征,并生成特征标识1;具体地,

探测设备采用其操作系统扫描工具对网络设备的操作系统进行扫描,从而获得该网络设备的操作系统特征,其中,操作系统特征可包括网络设备的操作系统类型、操作系统名称、操作系统版本、内核版本和名称;探测设备以网络设备的操作系统特征为参数,通过哈希算法生成特征标识1;

步骤102:采集网络设备通讯协议特征,并生成特征标识2;具体地,

探测设备采用其通讯协议扫描工具扫描所述网络设备的通讯协议特征,从而获得该网络设备的通讯协议特征,其中,所述通讯协议特征可为互联网协议(Internet Protocol,IP)第四版IPV4的特征,如支持的协议类型、通信端口,互联网协议(Internet Protocol,IP)第六版IPV6的特征,如支持的协议类型、通信端口,地址解析协议(Address Resolution Protocol,ARP)的特征,如支持的协议类型、通信端口,探测设备再将获得的通讯协议特征记录并保存;探测设备以网络设备的通讯协议特征为参数,通过哈希算法生成特征标识2;

步骤103:生成设备指纹。

具体地,所述探测设备调用其设备指纹模块,以特征标识1和特征标识2作为哈希算法的输入参数,通过哈希算法对上述特征进行处理生成该网络设备的设备指纹。

本发明具体实施例还可以通过上述特征信息(即网络设备的操作系统特征、网络设备的通讯协议特征、网络设备的时钟偏差、网络设备的时钟频率中)中的三种特征信息来生成该网络设备的设备指纹,例如:操作系统特征、通讯协议特征和时钟偏差,具体地,

步骤101:探测设备采集网络设备的操作系统特征,并生成特征标识1;具体地,

探测设备采用其操作系统扫描工具对网络设备的操作系统进行扫描,从而获得该网络设备的操作系统特征,其中,操作系统特征可包括网络设备的操作系统类型、操作系统名称、操作系统版本、内核版本和名称;探测设备以网络设备的操作系统特征为参数,通过哈希算法生成特征标识1;

步骤102:采集网络设备通讯协议特征,并生成特征标识2;具体地,

探测设备采用其通讯协议扫描工具扫描所述网络设备的通讯协议特征,从而获得该网络设备的通讯协议特征,其中,所述通讯协议特征可为互联网协议(Internet Protocol,IP)第四版IPV4的特征,如支持的协议类型、通信端口,互联网协议(Internet Protocol,IP)第六版IPV6的特征,如支持的协议类型、通信端口,地址解析协议(Address Resolution Protocol,ARP)的特征,如支持的协议类型、通信端口,,探测设备再将获得的通讯协议特征记录并保存;探测设备以网络设备的通讯协议特征为参数,通过哈希算法生成特征标识2;

步骤103:采集网络设备时钟偏差,并生成特征标识3;具体地,

探测设备按预置时间间隔Δt向网络设备发送n个带有时间戳值的数据包;接收所述网络设备发送的n个带有时间戳值的数据包响应,并依次记录接收到n个带有时间戳值的数据包响应的时间值,得到第一时间值序列,记为Ti,i=1,2,…,n;

将n个带有时间戳值的数据包响应的时间戳值依次进行处理,得到第二时间值序列,记为T'i,,i=1,2,…,n;

获取每一个所述带有时间戳值的数据包响应中的时间戳值,将每一个数据包中的时间戳值除以对应数据包中的系统时钟频率得到第二时间值序列,记为T'i,,i=1,2,…,n;

系统时钟频率通过接收到的两个带有时间戳值的数据包响应中的时间戳值作差得到差值,再将该差值除以上述两个带有时间戳值的数据包响应的时间间隔得到。

将第一时间值序列与第二时间值序列进行处理,得到所述网络设备的时钟偏差。

具体地,可以通过以下两种处理方法得到:

方法一:对第一时间值序列Ti与第二时间值序列T'i中分别按从前到后顺序进行异常值判断;其中,判断的方法可以为:由于是依次记录的时间值,则第一时间值序列中的时间值应该为成比例递增的,若某一个时间值明显偏离这种递增趋势的则为异常值,同理,第二时间值序列的异常值判断方法也一致;

当首次判断出第一时间值序列Ti与第二时间值序列T'i中同一次序的两个时间值均不为异常值时,记录第一时间值序列中次序的时间值,记为第一时间值,记录第二时间值序列中次序的时间值,记为第二时间值;

例如,首次判断出第一时间值序列Ti中第二个时间值T2与第二时间值序列T'i中第二个时间值T'2均不为异常值时,记录T2为第一时间值,T'2为第二时间值。

从第一时间值序列中第一时间值T2的后一个时间值T3起依次与第一时间值T2作差,得到第一差值序列Ri,具体地,

Ri=T(i+2)-T2,i=1,2,…,n-2,

再获取各个时间值与第一时间值之间的时间间隔,得到第一时间间隔序列,具体地,如以下公式:

Mi=i*Δt,i=1,2,…,n-2;

从第二时间值序列中第二时间值T'2的后一个时间值T'3起依次与第二时间值T'2作差,得到第二差值序列R'i,具体地,

R'i=T'(i+2)-T'2,i=1,2,…,n-2;

将第一差值序列Ri与第二差值序列R'i依次对应作差,得到第三差值序列Ei;具体地,Ei=Ri-R'i,i=1,2,…,n-2;

将第三差值序列Ei中的异常值消除,得到第四差值序列E'i,i=1,2,…,n-1;具体地,将第三差值序列Ei基于拉依达准则或格拉布斯准则消除第三差值序列Ei中的异常值后得到第四差值序列E'i,并消除第一时间间隔序列中与第三差值序列中的异常值相同位置处的时间间隔值,得到第二时间间隔序列;将第四差值序列E'i与第二时间间隔序列进行线性回归得到网络设备的时钟偏差;其中,进行线性回归的方法可以为以简单最小二乘法、加权最小二乘法、一般最小二乘法中的一种。

方法二:

对第一时间值序列Ti与第二时间值序列T'i中分别按从后到前顺序进行异常值判断;其中,判断的方法可以为:由于是依次记录的时间值,则第一时间值序列中的时间值应该为成比例递增的,若某一个时间值明显偏离这种递增趋势的则为异常值,同理,第二时间值序列的异常值判断方法也一致;

当首次判断出第一时间值序列Ti与第二时间值序列T'i中同一次序的两个时间值均不为异常值时,记录第一时间值序列中次序的时间值,记为第三时间值,记录所述第二时间值序列中次序的时间值,记为第四时间值;

例如,首次判断出第一时间值序列Ti中倒数第二个时间值T(n-1)与第二时间值序列T'i中倒数第二个时间值T'(n-1)均不为异常值时,记录T(n-1)为第三时间值,T'(n-1)为第四时间值。

将第一时间值序列中第三时间值T(n-1)与第三时间值T(n-1)前的时间值依次作差,得到第五差值序列Ni;具体地,Ri=T(n-1)-Ti,i=1,2,…,n-1,

再获取各个时间值与第一时间值之间的时间间隔,得到第三时间间隔序列,具体地,如以下公式:

M'i=(n-i)*Δt,i=1,2,…,n-2;将第二时间值序列中第四时间值T'(n-1)与第四时间值T'(n-1)前的时间值依次作差,得到第六差值序列N'i;具体地,R'i=T'(n-1)-T'i,i=1,2,…,n-2;

将第五差值序列Ni与第六差值序列N'i依次对应作差,得到第七差值序列Di;具体地,Di=Ni-N'i,i=1,2,…,n-2;

将第七差值序列Di中的异常值消除,得到第八差值序列D'i,i=1,2,…,n-1;具体地,将第七差值序列Di基于拉依达准则或格拉布斯准则消除第七差值序列Di中的异常值后得到第八差值序列D'i,同时消除第三时间间隔序列中与第七差值序列中的异常值相同位置处的时间间隔值,得到第四时间间隔序列;

将第八差值序列D'i与第四时间间隔序列进行线性回归得到网络设备的时钟偏差;其中,进行线性回归的方法可以为以简单最小二乘法、加权最小二乘法、一般最小二乘法中的一种。

探测设备以上述方法一或方法二得到的时钟偏差为参数,通过哈希算法生成特征标识3;

步骤104:生成设备指纹。

具体地,所述探测设备调用其设备指纹模块,以特征标识1、特征标识2和特征标识3作为哈希算法的输入参数,通过哈希算法对上述特征进行处理生成该网络设备的设备指纹。

进一步地,设备指纹生成后,探测设备可以通过数据传输模块将该网络设备的设备指纹做成数据包并传输到该网络设备中,该网络设备接收该数据包并对其解析从而得到该网络设备的设备指纹。也可以通过人为方式将探测设备生成的设备指纹导入到网络设备中,如通过U盘将设备指纹拷贝到网络设备,或者,直接通过网络设备的输入部件将探测设备生成的设备指纹输入到网络设备中。

网络设备获取设备指纹后,将该设备指纹作为该网络设备的身份特征,从上述描述可以看出,本发明所提出的一种网络设备指纹生成方法,是对网络设备的软件信息(如:时钟频率、时钟偏差)或/和硬件信息(如:系统操作特征、通讯协议特征)进行采集,并使用特有算法(如:哈希算法)对软件信息或/和硬件信息进行加工生成特征标识,并对特征标识再次通过特有算法(如:哈希算法)进行加工生成设备指纹,两次特有算法的使用相当于对特征信息进行加密,而由于入侵设备无法知道探测设备采集网络设备的哪些特征信息,也无法知道探测设备如何对特征信息进行处理生成特征标识再如何处理生成的设备指纹时,入侵设备也就难以对该网络设备的设备指纹进行伪造,从而有效地保证该网络设备在网络中的安全。

同时,还可以看出本发明是通过探测设备直接采集网络设备的特征信息,再经过处理生成网络设备的设备指纹,则不需要安排专门的管理人员对该网络设备进行管理,而对于同一网络,只要一台探测设备即可对所有网络中的网络设备一一生成设备指纹,从而减少了维护管理人员对所有网络进行管理的时间成本和劳动力成本。

与方法实施例相对应,本申请还提供一种探测设备,本申请提供的探测设备可以包括:

采集模块,用于采集网络设备的特征信息,并将采集的特征信息进行处理生成特征标识;

指纹生成模块,用于将采集模块生成的特征标识进行处理生成所述网络设备的设备指纹。

数据传输模块,用于将所述设备指纹传输给所述网络设备。

本发明实施例提供的探测设备,采集模块采集网络设备的特征信息,该特征信息可包括该网络设备的操作系统特征、网络设备的通讯协议特征、网络设备的时钟偏差、网络设备的时钟频率,并对采集到的特征信息分别作为哈希算法的输入参数,生成对应的特征标识1、特征标识2、特征标识3和特征标识4;

具体地,采集模块采用其操作系统扫描工具对网络设备的操作系统进行扫描,从而获得该网络设备的操作系统特征,其中,操作系统特征可包括网络设备的操作系统类型、操作系统名称、操作系统版本、内核版本和名称;探测设备以网络设备的操作系统特征为参数,通过哈希算法生成特征标识1;

采集模块采用其通讯协议扫描工具扫描所述网络设备的通讯协议特征,从而获得该网络设备的通讯协议特征,其中,所述通讯协议特征可为互联网协议(Internet Protocol,IP)第四版IPV4的特征,如支持的协议类型、通信端口,互联网协议(Internet Protocol,IP)第六版IPV6的特征,如支持的协议类型、通信端口,地址解析协议(Address Resolution Protocol,ARP)的特征,如支持的协议类型、通信端口,探测设备再将获得的通讯协议特征记录并保存;探测设备以网络设备的通讯协议特征为参数,通过哈希算法生成特征标识2;

采集模块按预置时间间隔Δt向网络设备发送n个带有时间戳值的数据包;接收所述网络设备发送的n个带有时间戳值的数据包响应,并依次记录接收到n个带有时间戳值的数据包响应的时间值,得到第一时间值序列,记为Ti,i=1,2,…,n;

将n个带有时间戳值的数据包响应的时间戳值依次进行处理,得到第二时间值序列,记为T'i,,i=1,2,…,n;

测量每一个所述带有时间戳值的数据包响应中的时间戳值,将每一个数据包中的时间戳值除以对应数据包中的系统时钟频率得到第二时间值序列,记为T'i,,i=1,2,…,n;

系统时钟频率通过接收到的两个带有时间戳值的数据包响应中的时间戳值作差得到差值,再将该差值除以上述两个带有时间戳值的数据包响应的时间间隔得到。

将第一时间值序列与第二时间值序列进行处理,得到所述网络设备的时钟偏差。具体地,可以通过以下两种处理方法得到:

方法一:对第一时间值序列Ti与第二时间值序列T'i中分别按从前到后顺序进行异常值判断;其中,判断的方法可以为:由于是依次记录的时间值,则第一时间值序列中的时间值应该为成比例递增的,若某一个时间值明显偏离这种递增趋势的则为异常值,同理,第二时间值序列的异常值判断方法也一致;

当首次判断出第一时间值序列Ti与第二时间值序列T'i中同一次序的两个时间值均不为异常值时,记录第一时间值序列中次序的时间值,记为第一时间值,记录第二时间值序列中次序的时间值,记为第二时间值;

例如,首次判断出第一时间值序列Ti中第二个时间值T2与第二时间值序列T'i中第二个时间值T'2均不为异常值时,记录T2为第一时间值,T'2为第二时间值。

从第一时间值序列中第一时间值T2的后一个时间值T3起依次与第一时间值T2作差,得到第一差值序列Ri,具体地,

Ri=T(i+2)-T2,i=1,2,…,n-2,

再获取各个时间值与第一时间值之间的时间间隔,得到第一时间间隔序列,具体地,如以下公式:

Mi=i*Δt,i=1,2,…,n-2;

从第二时间值序列中第二时间值T'2的后一个时间值T'3起依次与第二时间值T'2作差,得到第二差值序列R'i,具体地,

R'i=T'(i+2)-T'2,i=1,2,…,n-2;

将第一差值序列Ri与第二差值序列R'i依次对应作差,得到第三差值序列Ei;具体地,Ei=Ri-R'i,i=1,2,…,n-2;

将第三差值序列Ei中的异常值消除,得到第四差值序列E'i,i=1,2,…,n-1;具体地,将第三差值序列Ei基于拉依达准则或格拉布斯准则消除第三差值序列Ei中的异常值后得到第四差值序列E'i,并消除第一时间间隔序列中与第三差值序列中的异常值相同位置处的时间间隔值,得到第二时间间隔序列;

将第四差值序列E'i与第二时间间隔序列进行线性回归得到网络设备的时钟偏差;其中,进行线性回归的方法可以为以简单最小二乘法、加权最小二乘法、一般最小二乘法中的一种。

方法二:

对第一时间值序列Ti与第二时间值序列T'i中分别按从后到前顺序进行异常值判断;其中,判断的方法可以为:由于是依次记录的时间值,则第一时间值序列中的时间值应该为成比例递增的,若某一个时间值明显偏离这种递增趋势的则为异常值,同理,第二时间值序列的异常值判断方法也一致;

当首次判断出第一时间值序列Ti与第二时间值序列T'i中同一次序的两个时间值均不为异常值时,记录第一时间值序列中次序的时间值,记为第三时间值,记录所述第二时间值序列中次序的时间值,记为第四时间值;

例如,首次判断出第一时间值序列Ti中倒数第二个时间值T(n-1)与第二时间值序列T'i中倒数第二个时间值T'(n-1)均不为异常值时,记录T(n-1)为第三时间值,T'(n-1)为第四时间值。

将第一时间值序列中第三时间值T(n-1)与第三时间值T(n-1)前的时间值依次作差,得到第五差值序列Ni;具体地,Ri=T(n-1)-Ti,i=1,2,…,n-2,

再获取各个时间值与第一时间值之间的时间间隔,得到第三时间间隔序列,具体地,如以下公式:

M'i=(n-i)*Δt,i=1,2,…,n-2;

将第二时间值序列中第四时间值T'(n-1)与第四时间值T'(n-1)前的时间值依次作差,得到第六差值序列N'i;具体地,R'i=T'(n-1)-T'i,i=1,2,…,n-1;

将第五差值序列Ni与第六差值序列N'i依次对应作差,得到第七差值序列Di;具体地,Di=Ni-N'i,i=1,2,…,n-2;

将第七差值序列Di中的异常值消除,得到第八差值序列D'i,i=1,2,…,n-1;具体地,将第七差值序列Di基于拉依达准则或格拉布斯准则消除第七差值序列Di中的异常值后得到第八差值序列D'i,同时消除第三时间间隔序列中与第七差值序列中的异常值相同位置处的时间间隔值,得到第四时间间隔序列;

将第八差值序列D'i与第四时间间隔序列进行线性回归得到网络设备的时钟偏差;其中,进行线性回归的方法可以为以简单最小二乘法、加权最小二乘法、一般最小二乘法中的一种。

探测设备以上述方法一或方法二得到的时钟偏差为参数,通过哈希算法生成特征标识3;

采集模块采集网络设备时钟频率可以通过以下两种实现方式中任一方式实现。

方式一:

步骤s1:采集模块至少两次采集网络设备的数据包,提取各个数据包的时间戳值;

步骤s2:计算从最后一次采集的数据包中提取的时间戳值与从第一次采集的数据包中提取的时间戳值的差值,将所述差值除以间隔时间得到网络设备的时钟频率值,间隔时间为最后一次采集的数据包与第一次采集的数据包之间的时间。

方式二:

步骤s1:采集模块至少两次采集网络设备的数据包,提取各个数据包的时间戳值;

步骤s2:计算从最后一次采集的数据包中提取的时间戳值与从第一次采集的数据包中提取的时间戳值的差值,将所述差值除以间隔时间得到一个商值,间隔时间为最后一次采集的数据包与第一次采集的数据包之间的时间。;

步骤s3:多次重复步骤s1~步骤s2,得到多个商值,将所述多个商值取平均得到所述网络设备的时钟频率。

方式二较方式一来说,多次重复步骤s1~步骤s2的操作,并通过多次求平均的方法来减少误差,由此,方式二得到的时钟频率较方式一得到的时钟频率更为准确。

采集模块以上述任一方式得到的时钟偏差为参数,通过哈希算法生成特征标识4;

指纹生成模块以特征标识1、特征标识2、特征标识3和特征标识4作为哈希算法的输入参数,生成该网络设备的设备指纹。

进一步地,设备指纹生成后,探测设备可以通过数据传输模块将该网络设备的设备指纹做成数据包并传输到该网络设备中,该网络设备接收该数据包并对其解析从而得到该网络设备的设备指纹。也可以通过人为方式将探测设备生成的设备指纹导入到网络设备中,如通过U盘将设备指纹拷贝到网络设备,或者,直接通过网络设备的输入部件将探测设备生成的设备指纹输入到网络设备中。

网络设备获取设备指纹后,将该设备指纹作为该网络设备的身份特征,由于入侵设备无法知道探测设备采集网络设备的哪些特征信息,也无法知道探测设备如何对特征信息进行处理生成特征标识再如何处理生成的设备指纹时,入侵设备也就难以对该网络设备的设备指纹进行伪造,从而有效地保证该网络设备在网络中的安全。

以上对本发明所提供的一种网络设备指纹生成方法及探测设备进行了详细介绍。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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