CN114363353A - 一种比特币隐藏服务的匿名通信流量的识别方法和装置 - Google Patents
一种比特币隐藏服务的匿名通信流量的识别方法和装置 Download PDFInfo
- Publication number
- CN114363353A CN114363353A CN202111257756.0A CN202111257756A CN114363353A CN 114363353 A CN114363353 A CN 114363353A CN 202111257756 A CN202111257756 A CN 202111257756A CN 114363353 A CN114363353 A CN 114363353A
- Authority
- CN
- China
- Prior art keywords
- size
- data packet
- traffic
- sequence
- flow
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种比特币隐藏服务的匿名通信流量的识别方法方法和装置,所述方法包括:对于待识别的流量序列,根据所述流量序列中的数据包的大小、方向,构建所述流量序列的特征向量;将所述特征向量输入到预先训练得到的分类器,根据所述分类器的输出识别出所述流量序列是否为比特币隐藏服务的匿名通信流量。应用本发明可以通过构建轻量级特征向量,实现对比特币匿名服务流量的高效识别。
Description
技术领域
本发明涉及计算机技术领域,特别是指一种比特币隐藏服务的匿名通信流量的识别方法和装置。
背景技术
匿名网络的网站指纹识别是一项流量分析技术,本地攻击者被动监听匿名网络通信流量,综合利用统计学习、机器学习、深度学习等方法,判定监听流量是否属于客户端访问特定公共互联网网站的流量或属于特定隐藏服务网站对外提供服务的流量。网站指纹识别的关键主要在于特征的选取,已有方法利用流量序列的统计信息如数据包大小、方向、数量、时序等构建特征向量,识别准确率可达85%以上。
然而,在匿名网络中,隐藏服务的类型多样,除了网站型隐藏服务,还有比特币型隐藏服务、文件传输型隐藏服务、远程登录型隐藏服务等。在各类新兴类型的隐藏服务中,比特币型隐藏服务是近年来快速增长的一类隐藏服务。
如图1所示,近年来,随着比特币用户数量的不断增加,其对隐私保护的需求日益增长。在比特币官方的支持下,越来越多的比特币用户将自己的节点配置成隐藏服务接入比特币网络,使得网络中的比特币隐藏服务的节点的数量在过去的两年内持续增长。截止2021年5月,网络中共有1599个比特币隐藏节点,已占全网比特币节点总数的16.8%。
由于比特币专用的通信协议与独特的网络行为,比如区块同步、交易转发等,使其流量呈现独特特征,因此也可以通过流量指纹识别技术对其进行识别。
然而,在实际应用中,本发明发现,现有的加密流量指纹识别技术,重点针对网站浏览等应用程序或者网站型的隐藏服务进行特征提取与分类,当针对比特币隐藏节点类型的隐藏服务进行分类识别时,这些方法的特征工程不一定适用;在现有的加密流量指纹识别方法的特征工程中,特征向量的维数普遍较大,不够轻量。
针对日益增多的比特币隐藏节点,如何抽取比特币节点的网络流量特征,构建轻量级特征向量,高效地对此类比特币隐藏服务节点的匿名通信流量进行识别,是本发明所要解决的主要问题。
发明内容
有鉴于此,本发明的目的在于提出一种比特币隐藏服务的匿名通信流量的识别方法和装置,可以通过构建轻量级特征向量,实现对比特币隐藏服务节点的匿名通信流量的高效识别,从而高效识别出比特币隐藏服务节点。
基于上述目的,本发明提供一种比特币隐藏服务的匿名通信流量的识别方法,包括:
对于待识别的流量序列,根据所述流量序列中的数据包的大小、方向,构建所述流量序列的特征向量;
将所述特征向量输入到预先训练得到的分类器,根据所述分类器的输出识别出所述流量序列是否为比特币隐藏服务的匿名通信流量。
可选的,所述分类器是根据预先收集的比特币隐藏服务节点的匿名通信流量以及其它类型的匿名通信流量序列的特征向量,预先训练得到的:
收集比特币隐藏服务以及其它类型的匿名通信流量序列;
针对收集的每个比特币隐藏服务节点的匿名通信流量序列,根据所述流量序列中的数据包的大小、方向,构建所述流量序列的特征向量,并将得到的特征向量的标签设置为比特币隐藏服务的匿名通信流量;
针对收集的每个其它类型的匿名通信流量序列,根据所述流量序列中的数据包的大小、方向,构建所述流量序列的特征向量,并将得到的特征向量的标签设置为其它类型的匿名通信流量;
利用所述训练集中的特征向量及其标签,训练所述分类器。
可选的,所述根据所述流量序列中的数据包的大小、方向,构建所述流量序列的特征向量,具体包括:
解析所述流量序列得到TLS层数据包;
根据TLS层数据包的大小、方向,构建所述流量序列的特征向量。
可选的,所述根据TLS层数据包的大小、方向,构建所述流量序列的特征向量,具体包括:
根据所述TLS层数据包的大小及方向,确定所述TLS层数据包的大小数值;
对于预先划分的若干个数值范围,根据所述TLS层数据包的大小数值,统计出各数值范围内的数据包的个数;
根据统计出的各数值范围内的数据包的个数,构建所述流量序列的特征向量。
可选的,所述根据所述TLS层数据包的大小及方向,确定所述TLS层数据包的大小数值,具体包括:
在所述TLS层数据包的方向为入包方向时,确定所述TLS层数据包的大小数值等于所述TLS层数据包的大小;
在所述TLS层数据包的方向为出包方向时,确定所述TLS层数据包的大小数值等于所述TLS层数据包的大小取负值。
可选的,所述预先划分的若干个数值范围具体为:
在-5140到5140的范围内设置的20个连续的数值范围,每个数值范围的区间大小为一个CELL单元的大小。
本发明还提供一种比特币隐藏服务的匿名通信流量的识别装置,包括:
特征向量构建模块,用于对于待识别的流量序列,根据所述流量序列中的数据包的大小、方向,构建所述流量序列的特征向量;
流量识别模块,用于将所述特征向量输入到预先训练得到的分类器,根据所述分类器的输出识别出所述流量序列是否为比特币隐藏服务的匿名通信流量。
本发明还提供一种电子设备,包括中央处理单元、信号处理和存储单元,以及存储在信号处理和存储单元上并可在中央处理单元上运行的计算机程序,其中,所述中央处理单元执行如上所述的比特币隐藏服务的匿名通信流量的识别方法。
本发明的技术方案中,对于待识别的流量序列,根据所述流量序列中的数据包的大小、方向,构建所述流量序列的特征向量;将所述特征向量输入到预先训练得到的分类器,根据所述分类器的输出识别出所述流量序列是否为比特币隐藏服务的匿名通信流量。相比于现有技术中组合数据包大小、方向、数量、时序等信息所构建的特征向量,本发明仅利用流量数据包大小与方向,构建的特征向量为轻量特征向量,大大减少了特征向量的维数,便于减轻后续的计算量,实现对比特币隐藏服务的匿名通信流量的高效识别,从而高效识别出比特币隐藏服务节点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术的网络中的比特币隐藏服务节点示意图;
图2为本发明实施例提供的一种比特币隐藏服务的匿名通信流量的识别方法流程图;
图3为本发明实施例提供的一种分类器的训练方法流程图;
图4为本发明实施例提供的一种目标隐藏服务站的流量捕获方法流程图;
图5为本发明实施例提供的8种不同类型的匿名通信流量的流量类型及数据数量分布示意图;
图6为本发明实施例提供的一种流量序列的特征向量的确定方法流程图;
图7a-7d为本发明实施例提供的比特币隐藏服务的匿名通信流量与其它类型的匿名通信流量在TLS数据包大小分布的差异示意图;
图8为本发明实施例提供的构建的特征向量的示意图;
图9为本发明实施例提供的一种比特币隐藏服务的匿名通信流量的识别装置的内部结构框图;
图10为本发明实施例提供的一种电子设备硬件结构示意图;
图11为本发明实施例提供的方法和现有的加密流量识别方法在准确率、召回率、特征向量维数上的实验结果对比示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
需要说明的是,除非另外定义,本发明实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
下面结合附图详细说明本发明实施例的技术方案。
本发明实施例提供的一种比特币隐藏服务的匿名通信流量的识别方法流程,如图2所示,包括如下步骤:
步骤S201:对于待识别的流量序列,根据所述流量序列中的数据包的大小、方向,构建所述流量序列的特征向量。
本步骤中,针对待识别的流量序列,根据所述流量序列中的数据包的大小、方向,提取所述流量序列的特征向量,具体方法将在后续详细介绍。
步骤S202:将构建的特征向量输入到预先训练得到的分类器,根据所述分类器的输出识别出所述流量序列是否为比特币隐藏服务的匿名通信流量。
其中,所述分类器是根据预先收集的比特币隐藏服务的匿名通信流量以及其它类型的匿名通信流量序列的特征向量,预先训练得到的,具体训练方法,流程如图3所示,包括如下步骤:
步骤S301:收集比特币隐藏服务的匿名通信流量序列以及其它类型的匿名通信流量序列。
具体地,主要是采集比特币隐藏服务的服务器与其入口节点之间的流量,从而得到比特币隐藏服务节点的匿名通信流量;采集网站型隐藏服务的服务器与其入口节点之间的流量,从而得到网站型隐藏服务的匿名通信流量。
在示例性的实施例中,对于比特币隐藏服务的服务器与其入口节点之间的流量,本发明的收集方式为:搭建提供比特币隐藏服务的比特币节点,在匿名网络中植入受控入口节点作为该比特币隐藏服务节点的入口节点;在该比特币隐藏服务节点与受控入口节点之间,捕获该比特币隐藏服务节点与网络中其它比特币节点通信的流量。对于比特币节点,不同时刻它有着不同的行为,其中持续时间较久的行为是同步高度和同步区块,所以本发明采集了比特币隐藏服务节点进行这两种行为时的流量,来代表比特币隐藏服务的匿名通信流量;即采集比特币隐藏服务节点的同步高度和同步区块行为时的流量,作为采集到的比特币隐藏服务的匿名通信流量序列。
在示例性的实施例中,对于网站型隐藏服务的服务器与其入口节点之间的流量,本发明的收集方式为:部署一个受控的代理隐藏服务站和一个受控入口节点,该受控入口节点指定为该代理隐藏服务站的入口节点;将该代理隐藏服务站用作反向代理,实现从它向各个目标隐藏服务的访问。该代理过程,具体流程如图4所示,包括如下子步骤:
子步骤S401:客户端向代理隐藏服务站发送隐藏服务的请求。
本子步骤中,客户端可以根据代理隐藏服务站提供的隐藏服务的域名,向代理隐藏服务站发送隐藏服务的请求;
在示例性的实施例中,客户端可以根据代理隐藏服务站提供的隐藏服务的域名hs1.onion,向代理隐藏服务站发送隐藏服务的请求。
子步骤S402:代理隐藏服务站接收到客户端发送的隐藏服务的请求后,将所述请求向目标隐藏服务站转发。
在示例性的实施例中,代理隐藏服务站中部署的隐藏服务可以是多个,例如,部署了域名分别为A.onion、B.onion、C.onion的隐藏服务,分别对应的端口号分别为8090、8091、8092;
代理隐藏服务站中存储的代理规则列表中,记录了本站部署的各隐藏服务的域名,以及各隐藏服务所对应的目标隐藏服务站的域名;比如,代理规则列表中域名为A.onion的隐藏服务,所对应的端口号为8090,而8090对应的目标隐藏服务站的域名为aaa.onion;
相应地,代理隐藏服务站接收到客户端发送的隐藏服务的请求后,可以根据所述请求中携带的所述隐藏服务的域名,从代理规则列表中查找到对应的目标隐藏服务站的域名;进而根据查找到的域名,将所述请求向对应的目标隐藏服务站转发。
子步骤S403:代理隐藏服务站将所述目标隐藏服务站返回的信息转发至所述客户端。
本子步骤中,目标隐藏服务站根据代理隐藏服务站转发的请求,向代理隐藏服务站返回响应信息后,返回的响应信息经受控入口节点到达代理隐藏服务站;代理隐藏服务站将所述目标隐藏服务站返回的响应信息转发至客户端。
子步骤S404:受控入口节点捕获所述目标隐藏服务站的流量。
具体地,在目标隐藏服务站向代理隐藏服务站返回响应信息时,响应信息必经过受控入口节点,由此可以由受控入口节点捕获所述目标隐藏服务站的流量。
经验证,在代理隐藏服务站与其受控入口节点间捕获的流量序列,与同次访问中目标隐藏服务与其入口节点之间的流量序列,两者可达到0.96以上的相似度。
本发明收集了2000个目标隐藏服务网站域名,通过上述方法,控制客户端依次对不同的目标隐藏服务网站进行访问,采集目标隐藏服务站与其受控入口节点之间的流量。
除了上述网站型隐藏服务流量之外,本步骤还收集了一组公开数据集——CIC2020Darknet公开数据集,其包含了8种不同类型应用程序客户端到入口节点之间的匿名通信流量(其流量类型及数据数量分布如图5所示)。
本步骤中,将收集的网站型隐藏服务的匿名通信流量,以及8种不同类型应用程序的匿名通信流量,作为收集的其它类型的匿名通信流量序列。
也就是说,本步骤中收集的其它类型的匿名通信流量流量序列,包括:网站型隐藏服务的匿名通信流量,以及多种不同类型应用程序的匿名通信流量序列。所述多种不同类型应用程序客户端包括:聊天、文件传输、VOIP (基于IP的语音传输)等客户端。
步骤S302:针对收集的每个流量序列,根据所述流量序列中的数据包的大小、方向,构建所述流量序列的特征向量。
本步骤中,针对收集的每个流量序列,根据所述流量序列中的数据包的大小、方向,提取所述流量序列的特征向量,具体方法将在后续详细介绍。
步骤S303:为收集的流量序列的特征向量设置标签。
具体地,针对收集的每个比特币匿名服务的流量序列,在构建所述流量序列的特征向量后,将该特征向量的标签设置为比特币隐藏服务的匿名通信流量;
针对收集的每个其它类型的匿名通信流量序列,在构建所述流量序列的特征向量后,将该特征向量的标签设置为其它类型的匿名通信流量;
步骤S304:利用所述训练集中的特征向量及其标签,训练所述分类器。
具体地,可以使用机器学习算法随机森林结合k近邻算法,构建所述分类器,进行数据的训练和预测。随机森林就是通过集成学习的思想将多棵树集成的一种算法,它的基本单元是决策树。每棵决策树都是一个分类器(假设现在针对的是分类问题),那么对于一个输入样本,N棵树会有N个分类结果。而随机森林集成了所有的分类投票结果,将投票次数最多的类别指定为最终的输出。我们使用随机森林与k近邻算法结合的分类器。
本步骤中,将训练集中作为训练实例的特征向量,输入到所述分类器中,根据特征向量的标签与所述分类器的输出之间的差异,调整所述分类器的参数,实现对分类器的训练。
上述步骤S201以及步骤S302中所提及的构建所述流量序列的特征向量的具体方法,流程如图6所示,包括如下步骤:
步骤S601:解析所述流量序列得到TLS层数据包。
具体地,在网站型隐藏服务的匿名通信流量的捕获过程中,可能由于访问失败等异常情况导致捕获的流量数据无效或有误,为避免这部分异常数据干扰实验结果,应对这部分数据进行清洗。清洗过程包括:
删除为空的pcap文件;
根据捕获日志,删除因未成功访问到隐藏服务而被标记出来的pcap文件;
删除解析失败的pcap文件;
在流量解析模块使用tshark对清洗后的pcap数据进行解析,将其解析到 TLS记录层数据,得到TLS数据包的方向、长度、时间戳等信息。
更优地,在对解析后的数据进行特征提取之前,还可对其进行预处理,具体操作包括数据长度统计和对齐。由于比特币节点之间的连接和通信是连续的,因此我们捕获的流量是连续的,需要在传输之前进行切分。具体预处理过程包括如下操作:
统计网站型隐藏服务匿名通信流量的长度,范围约为50-300个数据包,其中有65%以上的数据长度大于100个数据包;
将数据集中的流量序列统一剪裁到长度为100个数据包,以在较大程度上对齐数据序列;
为了后续进一步测试模型性能,将全部数据流量序列再分别剪裁到长度为80、60、40、20、10个数据包。
步骤S602:根据解析出的TLS层数据包的大小、方向,构建所述流量序列的特征向量。
本发明的核心思想是,利用匿名网络的流量序列在TLS数据包大小差异上的特征,构建特征向量,即构建流量指纹。
本发明中用于指纹识别的特征向量是基于TLS层数据包的大小和方向的。匿名网络Tor基于TLS(传输层安全性协议,Transport Layer Security) 协议加密传输,是一种安全协议,目的是为互联网通信提供安全及数据完整性保障。该协议由两层组成:TLS记录协议(TLS Record)和TLS握手协议(TLS Handshake),较低的层为TLS记录协议,位于某个可靠的传输协议(例如TCP)上面。在应用层,Tor将加密数据嵌入到固定大小的数据包中,称为CELL,长度为514字节。然后,CELL进一步嵌入到TLS记录中 (多个CELL可以分组到一个TLS记录中)。最后,在传输层,TLS记录通常被分割成多个TCP数据包,其大小由最大传输单元(MTU)限制。或者,几个TLS记录可以在一个TCP数据包中。
本发明的发明人关注到比特币隐藏服务的匿名通信流量相比于其它类型的匿名通信流量,在TLS记录层数据包的大小分布上有着明显差异;如图 7a、7b、7c、7d所示,分别表示四种典型应用:聊天、文件传输、VOIP、网站浏览的匿名通信流量序列与比特币隐藏服务的匿名通信流量序列的TLS 层数据包大小分布统计对比图。
基于此,本步骤中,根据所述TLS层数据包的大小及方向,确定所述 TLS层数据包的大小数值;对于预先划分的若干个数值范围,根据所述TLS 层数据包的大小数值,统计出各数值范围内的数据包的个数;根据统计出的各数值范围内的数据包的个数,构建所述流量序列的特征向量。
具体地,在确定TLS层数据包的大小数值时,在所述TLS层数据包的方向为入包方向时,确定所述TLS层数据包的大小数值等于所述TLS层数据包的大小;
在所述TLS层数据包的方向为出包方向时,确定所述TLS层数据包的大小数值等于所述TLS层数据包的大小取负值。
在示例性的实施例中,可以为流量序列构建一个20维的轻量级特征向量,如图8所示;经统计,通常流量序列中的TLS数据包的大小范围约为88-4072;由此,将数据包大小统计范围设置为0-5140,且根据数据包方向分别为TLS层数据包的大小数值标记正负,TLS层数据包为入包的,其大小数值为正值,TLS层数据包为出包的,其大小数值为负值;
在-5140到5140的范围内设置20个连续的数值范围,每个数值范围的区间大小为514,即一个CELL单元的大小,20个连续的数值范围分别为:
(-5140,-4626)…(-514,0)(0,514)…(4626,5140);
统计流量序列的TLS层数据包的大小数值,在上述20个数值范围内的数据包个数,可以得到20个数值;由此20个数值构成该流量序列的特征向量。
基于上述的比特币隐藏服务的匿名通信流量的识别方法,本发明提供的一种比特币隐藏服务的匿名通信流量的识别装置,内部结构如图9所示,包括:特征向量构建模块901、流量识别模块902;
其中,特征向量构建模块901用于对于待识别的流量序列,根据所述流量序列中的数据包的大小、方向,构建所述流量序列的特征向量;
流量识别模块902用于将所述特征向量输入到预先训练得到的分类器,根据所述分类器的输出识别出所述流量序列是否为比特币隐藏服务的匿名通信流量。
进一步,本发明提供的一种比特币隐藏服务的匿名通信流量的识别装置还可包括:分类器训练模块903。
分类器训练模块903用于收集比特币隐藏服务的匿名通信流量序列以及其它类型的匿名通信流量序列;针对收集的每个比特币隐藏服务的匿名通信流量序列,根据所述流量序列中的数据包的大小、方向,构建所述流量序列的特征向量,并将得到的特征向量的标签设置为比特币隐藏服务的匿名通信流量;针对收集的每个其它类型的匿名通信流量序列,根据所述流量序列中的数据包的大小、方向,构建所述流量序列的特征向量,并将得到的特征向量的标签设置为其它类型的匿名通信流量;利用所述训练集中的特征向量及其标签,训练所述分类器。
具体地,特征向量构建模块901中包括如下单元:解析单元911和特征向量确定单元912。
解析单元911用于解析所述流量序列得到TLS层数据包;
特征向量确定单元912用于根据TLS层数据包的大小、方向,构建所述流量序列的特征向量;具体地,特征向量确定单元912可以根据所述TLS层数据包的大小及方向,确定所述TLS层数据包的大小数值:在所述TLS层数据包的方向为入包方向时,确定所述TLS层数据包的大小数值等于所述TLS 层数据包的大小;在所述TLS层数据包的方向为出包方向时,确定所述TLS 层数据包的大小数值等于所述TLS层数据包的大小取负值;
进而,特征向量确定单元912对于预先划分的若干个数值范围,根据所述TLS层数据包的大小数值,统计出各数值范围内的数据包的个数;根据统计出的各数值范围内的数据包的个数,构建所述流量序列的特征向量。
图10示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的比特币隐藏服务的匿名通信流量的识别方法。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、 RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,可以与非线性接收机相连,从非线性接收机接收信息,实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器 1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本发明的技术方案中,对于待识别的流量序列,根据所述流量序列中的数据包的大小、方向,构建所述流量序列的特征向量;将所述特征向量输入到预先训练得到的分类器,根据所述分类器的输出识别出所述流量序列是否为比特币隐藏服务的匿名通信流量。相比于现有技术中组合数据包大小、方向、数量、时序等信息所构建的特征向量,本发明仅利用流量数据包大小与方向,构建的特征向量为轻量特征向量,大大减少了特征向量的维数,便于减轻后续的计算量。
使用本发明提供的方法,在数据包序列长度为100的情况下,对匿名网络中比特币隐藏服务的匿名通信流量进行识别,精确率可以达到98.96%、召回率可以达到98.73%。在数据包序列长度为20的情况下,识别精确率可以达到 96.25%、召回率可以达到86.95%。
如图11所示的多个识别方法的对比表可以看出,本发明识别比特币隐藏服务的匿名通信流量的准确率和召回率是最高的,而其特征向量维数为最低的,可以低至20,而其它方法的特征向量维数则至少需要100位以上,甚至多达1000位维数以上;
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本发明难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本发明难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本发明的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本发明的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本发明。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种比特币隐藏服务的匿名通信流量的识别方法,其特征在于,包括:
对于待识别的流量序列,根据所述流量序列中的数据包的大小、方向,构建所述流量序列的特征向量;
将所述特征向量输入到预先训练得到的分类器,根据所述分类器的输出识别出所述流量序列是否为比特币隐藏服务的匿名通信流量。
2.根据权利要求1所述的方法,其特征在于,所述分类器是根据预先收集的比特币隐藏服务的匿名通信流量序列以及其它类型的匿名通信流量序列的特征向量,预先训练得到的:
收集比特币隐藏服务以及其它类型的匿名通信流量序列;
针对收集的每个比特币隐藏服务的匿名通信流量序列,根据所述流量序列中的数据包的大小、方向,构建所述流量序列的特征向量,并将得到的特征向量的标签设置为比特币隐藏服务的匿名通信流量;
针对收集的每个其它类型的匿名通信流量序列,根据所述流量序列中的数据包的大小、方向,构建所述流量序列的特征向量,并将得到的特征向量的标签设置为其它类型的匿名通信流量;
利用所述训练集中的特征向量及其标签,训练所述分类器。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述流量序列中的数据包的大小、方向,构建所述流量序列的特征向量,具体包括:
解析所述流量序列得到TLS层数据包;
根据TLS层数据包的大小、方向,构建所述流量序列的特征向量。
4.根据权利要求2所述的方法,其特征在于,所述根据TLS层数据包的大小、方向,构建所述流量序列的特征向量,具体包括:
根据所述TLS层数据包的大小及方向,确定所述TLS层数据包的大小数值;
对于预先划分的若干个数值范围,根据所述TLS层数据包的大小数值,统计出各数值范围内的数据包的个数;
根据统计出的各数值范围内的数据包的个数,构建所述流量序列的特征向量。
5.根据权利要求4所述的方法,其特征在于,所述根据所述TLS层数据包的大小及方向,确定所述TLS层数据包的大小数值,具体包括:
在所述TLS层数据包的方向为入包方向时,确定所述TLS层数据包的大小数值等于所述TLS层数据包的大小;
在所述TLS层数据包的方向为出包方向时,确定所述TLS层数据包的大小数值等于所述TLS层数据包的大小取负值。
6.根据权利要求5所述的方法,其特征在于,所述预先划分的若干个数值范围具体为:
在-5140到5140的范围内设置的20个连续的数值范围,每个数值范围的区间大小为一个CELL单元的大小。
7.一种比特币隐藏服务的匿名通信流量的识别装置,其特征在于,包括:
特征向量构建模块,用于对于待识别的流量序列,根据所述流量序列中的数据包的大小、方向,构建所述流量序列的特征向量;
流量识别模块,用于将所述特征向量输入到预先训练得到的分类器,根据所述分类器的输出识别出所述流量序列是否为比特币隐藏服务的匿名通信流量。
8.根据权利要求7所述的装置,其特征在于,还包括:
分类器训练模块,用于收集比特币隐藏服务的匿名通信流量序列以及其它类型的匿名通信流量序列;针对收集的每个比特币隐藏服务的匿名通信流量序列,根据所述流量序列中的数据包的大小、方向,构建所述流量序列的特征向量,并将得到的特征向量的标签设置为比特币隐藏服务的匿名通信流量;针对收集的每个其它类型的匿名通信流量序列,根据所述流量序列中的数据包的大小、方向,构建所述流量序列的特征向量,并将得到的特征向量的标签设置为其它类型的匿名通信流量;利用所述训练集中的特征向量及其标签,训练所述分类器。
9.根据权利要求7所述的装置,其特征在于,所述特征向量构建模块具体包括:
解析单元,用于解析所述流量序列得到TLS层数据包;
特征向量确定单元,用于根据TLS层数据包的大小、方向,构建所述流量序列的特征向量。
10.一种电子设备,包括中央处理单元、信号处理和存储单元,以及存储在信号处理和存储单元上并可在中央处理单元上运行的计算机程序,其特征在于,所述中央处理单元执行所述程序时实现如权利要求1-6任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111257756.0A CN114363353A (zh) | 2021-10-27 | 2021-10-27 | 一种比特币隐藏服务的匿名通信流量的识别方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111257756.0A CN114363353A (zh) | 2021-10-27 | 2021-10-27 | 一种比特币隐藏服务的匿名通信流量的识别方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114363353A true CN114363353A (zh) | 2022-04-15 |
Family
ID=81096077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111257756.0A Pending CN114363353A (zh) | 2021-10-27 | 2021-10-27 | 一种比特币隐藏服务的匿名通信流量的识别方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114363353A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180091397A1 (en) * | 2015-10-07 | 2018-03-29 | International Business Machines Corporation | Anonymization of traffic patterns over communication networks |
CN110519298A (zh) * | 2019-09-19 | 2019-11-29 | 北京丁牛科技有限公司 | 一种基于机器学习的Tor流量识别方法及装置 |
CN111953669A (zh) * | 2020-07-30 | 2020-11-17 | 江苏大学 | 适用于SDN的Tor流量溯源与应用类型识别方法和系统 |
CN112910890A (zh) * | 2021-01-29 | 2021-06-04 | 北京邮电大学 | 基于时间卷积网络的匿名网络流量指纹识别方法及设备 |
-
2021
- 2021-10-27 CN CN202111257756.0A patent/CN114363353A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180091397A1 (en) * | 2015-10-07 | 2018-03-29 | International Business Machines Corporation | Anonymization of traffic patterns over communication networks |
CN110519298A (zh) * | 2019-09-19 | 2019-11-29 | 北京丁牛科技有限公司 | 一种基于机器学习的Tor流量识别方法及装置 |
CN111953669A (zh) * | 2020-07-30 | 2020-11-17 | 江苏大学 | 适用于SDN的Tor流量溯源与应用类型识别方法和系统 |
CN112910890A (zh) * | 2021-01-29 | 2021-06-04 | 北京邮电大学 | 基于时间卷积网络的匿名网络流量指纹识别方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109063745B (zh) | 一种基于决策树的网络设备类型识别方法及系统 | |
CN111565205B (zh) | 网络攻击识别方法、装置、计算机设备和存储介质 | |
CN111277570A (zh) | 数据的安全监测方法和装置、电子设备、可读介质 | |
US9473380B1 (en) | Automatic parsing of binary-based application protocols using network traffic | |
CN109474603B (zh) | 数据抓包处理方法及终端设备 | |
CN112019574A (zh) | 异常网络数据检测方法、装置、计算机设备和存储介质 | |
CN103873583A (zh) | 基于云平台针对互联网用户行为进行分析的方法和系统 | |
CN105917632A (zh) | 用于电信中的可扩缩分布式网络业务分析的方法 | |
CN102984161B (zh) | 一种可信网站的识别方法和装置 | |
CN111866024A (zh) | 一种网络加密流量识别方法及装置 | |
CN110768875A (zh) | 一种基于dns学习的应用识别方法及系统 | |
CN111222547B (zh) | 一种面向移动应用的流量特征提取方法及系统 | |
CN112565308B (zh) | 基于网络流量的恶意应用检测方法、装置、设备及介质 | |
CN111181923A (zh) | 流量检测方法、装置、电子设备及存储介质 | |
CN112165484A (zh) | 基于深度学习与侧信道分析的网络加密流量识别方法装置 | |
CN109428857A (zh) | 一种恶意探测行为的检测方法和装置 | |
CN108055166B (zh) | 一种嵌套的应用层协议的状态机提取系统及其提取方法 | |
CN116112287B (zh) | 基于时空关联的网络攻击组织追踪方法与装置 | |
CN112688924A (zh) | 网络协议分析系统 | |
US20230275922A1 (en) | Method and apparatus for finding hidden ip address in malicious site using dns service | |
US20230106935A1 (en) | Network probe placement optimization | |
CN114760087B (zh) | 软件定义工业互联网中的DDoS攻击检测方法及系统 | |
CN114363353A (zh) | 一种比特币隐藏服务的匿名通信流量的识别方法和装置 | |
CN114301802A (zh) | 密评检测方法、装置和电子设备 | |
CN113076355A (zh) | 一种数据安全流动态势感知的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |