CN116346483A - 一种加密挖矿行为识别方法及装置 - Google Patents
一种加密挖矿行为识别方法及装置 Download PDFInfo
- Publication number
- CN116346483A CN116346483A CN202310351861.3A CN202310351861A CN116346483A CN 116346483 A CN116346483 A CN 116346483A CN 202310351861 A CN202310351861 A CN 202310351861A CN 116346483 A CN116346483 A CN 116346483A
- Authority
- CN
- China
- Prior art keywords
- encrypted
- mining
- pool
- information
- mine
- 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
- 238000005065 mining Methods 0.000 title claims abstract description 113
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000004891 communication Methods 0.000 claims abstract description 43
- 230000006399 behavior Effects 0.000 claims abstract description 37
- 238000000605 extraction Methods 0.000 claims abstract description 28
- 238000010801 machine learning Methods 0.000 claims abstract description 25
- 238000003066 decision tree Methods 0.000 claims description 10
- 238000007637 random forest analysis Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 238000005242 forging Methods 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 102100026278 Cysteine sulfinic acid decarboxylase Human genes 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000009412 basement excavation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 229910052799 carbon Inorganic materials 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000004134 energy conservation Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 108010064775 protein C activator peptide Proteins 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种加密挖矿行为识别方法及装置。所述方法包括以下步骤:基于矿工与矿池通信的反馈报文获取包括IP信息和端口信息的加密矿池节点信息;根据获取的加密矿池节点信息,进行加密挖矿流量特征提取;构建机器学习模型分类器,将提取的流量特征输入到所述分类器,对加密挖矿行为进行识别。本发明通过获取加密矿池节点信息、提取加密挖矿流量和构建机器学习模型分类器,能够精确识别加密挖矿行为。
Description
技术领域
本发明属于网络安全技术领域,具体涉及一种加密挖矿行为识别方法及装置。
背景技术
近年来,以比特币为代表的虚拟货币渗透范围向纵深发展,在逐渐发展形成生态闭环的同时,风险不断积聚且呈发散化、智能化、隐藏化趋势,形势严峻复杂。总体来看,虚拟货币仍处在快速发展演进阶段,且在威胁金融安全、社会安全、助长违法犯罪等方面积聚了一定风险,对虚拟货币的监管具有长期性、复杂性和艰巨性。
虚拟货币“挖矿”活动指通过相关设备计算生产虚拟货币的过程,能源消耗和碳排放量均很大,对国民经济贡献度低,对产业发展、科技进步等带动作用有限,加之虚拟货币生产、炒作交易环节衍生的风险越发突出,其盲目无序发展对推动经济社会高质量发展和节能减排带来不利影响。随着挖矿行为整治工作的持续推进,技术对抗持续升级,新型虚拟货币挖矿手段不断演进。由于基于TCP明文的挖矿行为,其网络流量中的通信特征都十分明显,很容易被安全设备检测出来。为了对抗安全设备的检测,越来越多的矿池支持SSL加密挖矿的形式,而且相关软件操作简单,矿工只需要将原有矿池地址改为SSL矿池地址即可轻松实现加密挖矿,使得国内越来越多的矿工转向加密挖矿。
工业界和学术界目前对于Stratum、Getwork等矿池通信协议特征已经开展了深入研究,现有的检测机制包括基于静态的特定指令或加密函数匹配的检测机制,基于监控CPU等计算资源使用异常的动态检测机制,以及基于网络流量特征的检测机制等。然而,对于加密挖矿行为的识别精度还不够理想,很少有能够准确识别加密挖矿行为的产品。
发明内容
为了解决现有技术中存在的上述问题,本发明提供一种加密挖矿行为识别方法及装置。
为了实现上述目的,本发明采用以下技术方案。
第一方面,本发明提供一种加密挖矿行为识别方法,包括以下步骤:
基于矿工与矿池通信的反馈报文获取包括IP信息和端口信息的加密矿池节点信息;
根据获取的加密矿池节点信息,进行加密挖矿流量特征提取;
构建机器学习模型分类器,将提取的流量特征输入到所述分类器,对加密挖矿行为进行识别。
进一步地,矿池通信协议流程包括:
任务订阅:在矿工与矿池建立连接后,矿工向矿池进行挖矿任务订阅;若矿池反馈正常报文消息,则订阅成功;
矿工认证:任务订阅成功后,矿工向矿池发送其账号名称和密码;若矿池反馈正常报文消息,则认证成功完成认证;只有被矿池认证授权的矿工才能收到矿池指派的任务;
任务发起:认证通过后,矿池向矿工下发计算任务;为提高挖矿效率,矿池根据矿工的算力情况,使矿工动态调整自身难度;
任务提交:当矿工计算出符合shares值的任务时,向矿池提交任务;矿池可随时给矿工指派新任务,矿工收到矿池指派的新任务后,立即无条件转向新任务。
进一步地,加密矿池节点信息通过以下三种方式获得:
网络报文方式:根据接入的网络流量的报文信息,与矿池通信协议中定义的规则内容进行匹配,并根据匹配的网络流量有效载荷信息是否包含矿池通信协议关键词,基于相关矿池通信协议指令标识及相关协议特征的正则表达式,获取矿池IP信息及所采用的通信协议信息;
DNS方式:根据矿池域名中包含pool、btc、eth虚拟货币关键词的特点,筛选出矿池的域名信息及其对应的A记录中IP地址集合,删除无关域名得到矿池域名信息及所对应的IP信息;
公开信息方式:从公开的矿池官网、舆情渠道,收集整理加密矿池的IP、端口及域名信息。
进一步地,获得加密矿池端口信息的方法包括:
通过基于矿池通信协议特征以及SSL/TLS协议伪造矿工节点,并使伪造的矿工节点与矿池IP的开放端口进行模拟通信,探测加密矿池的端口信息。
进一步地,所述方法还包括:建立加密矿池节点信息库,定期存储和更新加密矿池节点信息。
进一步地,进行加密挖矿流量特征提取的方法包括:
以NetFlow、Wireshark和端口镜像方式捕获加密挖矿流量;
采用基于Python3的网络流量基本信息提取库flowcontainer,通过编写Python程序完成加密挖矿流量特征的自动提取。
进一步地,所述加密挖矿流量特征包括:流量元数据特征,TLS握手包长度,加密套件数量,扩展种类数,证书数量,证书自签名,证书有效期,域名关键词。
进一步地,所述机器学习模型为决策树模型。
进一步地,所述机器学习模型为随机森林模型。
第二方面,本发明提供一种加密挖矿行为识别装置,包括:
信息获取模块,用于基于矿工与矿池通信的反馈报文获取包括IP信息和端口信息的加密矿池节点信息;
特征提取模块,用于根据获取的加密矿池节点信息,进行加密挖矿流量特征提取;
识别模块,用于构建机器学习模型分类器,将提取的流量特征输入到所述分类器,对加密挖矿行为进行识别。
与现有技术相比,本发明具有以下有益效果。
本发明通过基于矿池通信协议获取包括IP信息和端口信息的加密矿池节点信息,根据获取的加密矿池节点信息,进行加密挖矿流量特征提取,构建机器学习模型分类器,将提取的流量特征输入到所述分类器,实现了对加密挖矿行为的自动识别。本发明通过获取加密矿池节点信息、提取加密挖矿流量和构建机器学习模型分类器,能够精确识别加密挖矿行为。
附图说明
图1为本发明实施例一种加密挖矿行为识别方法的流程图。
图2为矿池通信协议流程的示意图。
图3为本发明另一实施例的流程示意图。
图4为本发明实施例一种加密挖矿行为识别装置的方框图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明白,以下结合附图及具体实施方式对本发明作进一步说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例一种加密挖矿行为识别方法的流程图,包括以下步骤:
步骤101,基于矿工与矿池通信的反馈报文获取包括IP信息和端口信息的加密矿池节点信息;
步骤102,根据获取的加密矿池节点信息,进行加密挖矿流量特征提取;
步骤103,构建机器学习模型分类器,将提取的流量特征输入到所述分类器,对加密挖矿行为进行识别。
本实施例中,步骤101主要用于获取加密矿池节点信息。本实施例基于根据矿工与矿池通信时反馈的报文,获取加密矿池节点的IP、端口和域名等信息。目前,比特币、莱特币等主流矿池通常采用Stratum通信协议,能够使矿工更加高效、可靠地从矿池获取挖矿的计算任务,该协议数据则以JSON-RPC2.0的格式进行封装,同时针对自身需求对该协议进行部分修改和调整。以太坊矿池以Getwork协议为主,部分以太坊矿池根据Stratum协议规范进行改进,也形成了以太坊版本的Stratum协议。
本实施例中,步骤102主要用于进行加密挖矿流量特征提取。所述加密挖矿流量特征主要包括会话统计特征、TLS协议特征和服务器证书特征等。本实施例根据获取的加密矿池节点IP、端口等信息,提取能够描述挖矿协议的流量特征。会话统计特征可使用开源的流量特征提取工具(例如CICFlowMeter、Joy、Tstat等)进行提取。然而这些特征提取工具一般不能直接提取TLS协议特征和服务器证书特征,后面的实施例将给出加密挖矿流量特征提取的一种技术方案。
本实施例中,步骤103主要用于对加密挖矿行为进行识别。本实施例通过构建机器学习分类器模型,将提取的流量特征输入到所述分类器模型,分类器模型输出识别结果,即“加密挖矿行为”或“非加密挖矿行为”。机器学习包括有监督学习和无监督学习,本实施例采用有监督学习。有监督的机器学习模型包含训练模式和部署模式。在训练模式中,每次当新的数据包到达时,都会生成一组流量统计信息(特征),并将其与数据集中相应的标签进行存储,以用于训练或测试目的。而在部署模式中,从流量中提取特征并输入到先前训练的机器学习模型中,以概率值的形式预测流类型(例如加密挖矿流量或正常流量)。基于机器学习算法的分类器性能不仅取决于模型之间的差异及其具体配置,还取决于输入特征的选择。选择信息丰富的、可区分的特征是机器学习算法的关键步骤。目前学术界和工业界对于在所有场景下都能很好地供机器学习分类器使用的可靠特征集,还没达成共识。然而,基于时间的统计特征(例如流的数据包的大小、数据包间时间、包头或负载中的字节分布熵),正获得越来越多研究者的关注。
作为一可选实施例,矿池通信协议流程包括:
任务订阅:在矿工与矿池建立连接后,矿工向矿池进行挖矿任务订阅;若矿池反馈正常报文消息,则订阅成功;
矿工认证:任务订阅成功后,矿工向矿池发送其账号名称和密码;若矿池反馈正常报文消息,则认证成功完成认证;只有被矿池认证授权的矿工才能收到矿池指派的任务;
任务发起:认证通过后,矿池向矿工下发计算任务;为提高挖矿效率,矿池根据矿工的算力情况,使矿工动态调整自身难度;
任务提交:当矿工计算出符合shares值的任务时,向矿池提交任务;矿池可随时给矿工指派新任务,矿工收到矿池指派的新任务后,立即无条件转向新任务。
本实施例给出了一种矿池通信协议流程。矿池通信即矿工与矿池之间的通信。矿工与矿池之间的通信协议流程包括任务订阅、矿工认证、任务发起和任务提交4个步骤,流程示意图如图2所示。
作为一可选实施例,加密矿池节点信息通过以下三种方式获得:
网络报文方式:根据接入的网络流量的报文信息,与矿池通信协议中定义的规则内容进行匹配,并根据匹配的网络流量有效载荷信息是否包含矿池通信协议关键词,基于相关矿池通信协议指令标识及相关协议特征的正则表达式,获取矿池IP信息及所采用的通信协议信息;
DNS方式:根据矿池域名中包含pool、btc、eth虚拟货币关键词的特点,筛选出矿池的域名信息及其对应的A记录中IP地址集合,删除无关域名得到矿池域名信息及所对应的IP信息;
公开信息方式:从公开的矿池官网、舆情渠道,收集整理加密矿池的IP、端口及域名信息。
本实施例给出了获得加密矿池节点信息的三种方式。所述三种方式分别为网络报文、DNS和公开信息。网络报文方式主要是根据接入的网络流量的报文信息,与矿池协议定义的规则内容进行匹配,该规则内容能够基本覆盖Stratum协议、Getwork协议和其他挖矿通信协议规则格式,并且根据匹配到的网络流量有效载荷信息是否包含矿池协议关键词,如subscribe、authorize、difficulty等内容,通过相关矿池通信协议指令标识及相关协议特征的正则表达式判断矿工IP和端口信息、矿池IP和端口信息以及相关特征,获取矿池IP信息及所采用的通信协议信息。DNS方式主要是根据相关矿池域名中含有pool、btc、eth等虚拟货币关键词的特点,筛选出全网疑似矿池的域名信息以及其对应的A记录中IP地址集合,通过自动过滤部分无关域名以及人工核对复验矿池域名信息后,获取矿池域名信息及所对应的IP信息。公开信息方式主要是根据国内外公开的矿池官网、舆情等渠道,收集整理相关加密矿池的IP、端口以及域名等信息。
基于以上三种方式所采集到的加密矿池的IP等信息,本实施例采用构造线程池和Socket的方式,对疑似加密矿池的IP进行端口扫描探测获取其所有开放端口。再利用SSLSocket与疑似加密矿池的开放端口进行连接,根据相关矿池协议规则,分别构造不同矿池协议的矿工登录请求或其他请求报文进行测试,若为加密矿池的加密端口,则矿池端会返回相应请求的合法报文内容。下面给出几种矿池端和矿工端之间的报文。
矿工端向池发送的“握手”报文内容:
{"id":1,"method":"mining.subscribe","params":[]}
矿池响应矿工端的“握手”报文内容:
{"id":1,"result":[["mining.notify","ae6812eb4cd7735a302a8a9dd95cf71f"],"08000002",4],"error":null}
矿工端向池发送“授权”报文内容:
{"params":["ae6812eb4cd7735a302a8a9dd95cf71f","username","password"],"id":2,"method":"mining.authorize"}
矿池响应矿工端的“授权”报文内容:
{"id":2,"result":true,"error":null}
矿池向矿工端发送“挖矿”报文内容:
{"params":["ae6812eb4cd7735a302a8a9dd95cf71f","job_id","prevhash","coi nb1","coinb2","merkle_branch","version","nbits","ntime","clean_jobs"],"id":null,"method":"mining.notify"}
作为一可选实施例,获得加密矿池端口信息的方法包括:
通过基于矿池通信协议特征以及SSL/TLS协议伪造矿工节点,并使伪造的矿工节点与矿池IP的开放端口进行模拟通信,根据矿池反馈的数据报文信息探测加密矿池的端口信息。
本实施例给出了获得加密矿池端口信息的一种技术方案。本实施例通过建立矿工节点与矿池IP的所有开放端口进行模拟通信,根据矿池反馈的数据报文信息探测加密矿池的端口信息。值得说明的是,由于只探测端口信息,因此与开放端口进行模拟通信的矿工节点,可以用伪造的(模拟的)矿工节点代替真实的矿工节点。
作为一可选实施例,所述方法还包括:建立加密矿池节点信息库,定期存储和更新加密矿池节点信息。
本实施例中,为了便于存取获取的加密矿池节点信息,建立了加密矿池节点信息库,将获取的加密矿池节点信息存入所述信息库,或从所述信息库中读取存放的信息。所述信息库应定期进行更新,即删除时间较久的信息,存入新获取的信息。
作为一可选实施例,进行加密挖矿流量特征提取的方法包括:
以NetFlow、Wireshark和端口镜像方式捕获加密挖矿流量;
采用基于Python3的网络流量基本信息提取库flowcontainer,通过编写Python程序完成加密挖矿流量特征的自动提取。
本实施例给出了加密挖矿流量特征提取的一种技术方案。流量特征提取指的是从网络流量PCAP文件中提取会话统计特征、TLS协议特征、服务器证书特征等。常见的方法有使用开源的流量特征提取工具,例如CICFlowMeter、Joy、Tstat等。然而这些提取工具往往只能提取流量的元数据特征,例如客户端和服务器之间通信的包数、字节数、会话持续时间,以及会话统计特征,包括平均包长度、平均时间间隔、传输速率等。然而对于TLS握手消息、证书特征等,无法直接提取。本实施例采用基于Python3的网络流量基本信息提取库flowcontainer,编写Python程序完成流量特征的自动提取。
本实施例以NetFlow、Wireshark和端口镜像方式捕获加密挖矿流量。NetFlow技术通过聚合匹配相同的5个元组的所有流量来执行流级网络测量(网络流量数据),每个流记录包含源和目标IP、源和目标端口、下一跳、传输的数据包数、传输的字节数、开始和结束时间戳等信息。Wireshark是最著名的网络通讯抓包分析工具,可以截取各种网络封包,显示网络封包的详细信息。端口镜像(port Mirroring)功能通过在交换机或路由器上,将一个或多个源端口的数据流量转发到某一个指定端口来实现对网络的监听,指定端口称之为“镜像端口”或“目的端口”,在不严重影响源端口正常吞吐流量的情况下,可以通过镜像端口对网络的流量进行监控分析。
本实施例采用网络流量基本信息提取库flowcontainer,通过编写Python程序完成加密挖矿流量特征的自动提取。Flowcontainer是基于python3的网络流量基本信息提取库,给定pcap文件,该库会提取pcap所有的流的相关信息,其中流信息包括:流的源端口、源IP、目的IP、目的端口、IP数据包的长度序列、IP数据集的到达时间序列、有效载荷序列以及相应有效载荷的到达时间序列、等扩展信息。flowcontainer兼容wireshark所有特殊扩展字段提取,例如X509证书、SNI、SSL的ciphersuites、tcp载荷、udp载荷、ipid字段等。Flowcontainer使用简单,可以直接导入extract函数,然后给定pcap的路径即可完成流量特征的提取。
作为一可选实施例,所述加密挖矿流量特征包括:流量元数据特征,TLS握手包长度,加密套件数量,扩展种类数,证书数量,证书自签名,证书有效期,域名关键词。
本实施例给出了几种常用的加密挖矿流量特征,分别是流量元数据特征、TLS握手包长度、加密套件数量、扩展种类数、证书数量、证书自签名、证书有效期和域名关键词。下面对这几种特征分别进行介绍。
流量元数据特征:流量的元数据特征一般是指客户端和服务器之间通信的包数、字节数、会话持续时间等。本实施例的流量元数据特征包括数据包数和字节数(区分方向)、会话中TLS包的比例、会话持续时间等6个特征。
TLS握手包长度:TLS握手协议的主要作用是完成服务器和客户端之间协商密钥和加密算法等信息,正常良性节点倾向于交换更安全的参数,以维护稳固的安全性或可扩展性。因此正常流量的握手阶段捕获的记录通常比恶意握手记录要长。本实施例的TLS握手包长度是从TLS流量中提取ClientHello、ServerHello和Certificate的包长度作为特征。
加密套件数量:恶意流量和正常流量在加密套件的使用上有明显区别。选择上也有比较明显的区别。有些加密套件被认为是比较弱的加密套件,安全性不足,在正常的软件中不被推荐使用。Client Hello中包含了客户端支持的Cipher Suite(加密套件),ServerHello回复了选择的Cipher Suite。经测试发现,挖矿流量与普通正常流量的ClientOffered Cipher Suites存在较大差异。例如服务器提供的加密套件数量,正常流量是10-30左右,但加密挖矿流量是30-60左右。
扩展种类数:Extension的组合反映了合法服务和恶意网络之间不同的应用程序性质。正常服务提供者被要求满足每个客户机的各种需求,因此提供了较为丰富的Extension。而相比之下,攻击者只期望成功地连接到至少一个任意目标,而不管它的网络环境,Extension相对简单。Client Hello、Server Hello和Certificate消息中均有Extension。一般正常流量Certificate中Extension的种类数是8-12之间,甚至更大;但挖矿流量Certificate中Extension的种类普遍比较少,一般是3左右。Client Hello和ServerHello消息中Extension长度与普通流量也有明显的区别。
证书数量:在Certificate数量上,正常流量和挖矿流量也存在着比较明显的区别。正常流量的Certificate数量一般是大于等于2个,而挖矿流量的Certificate往往都只有1个证书。
证书自签名:与CA颁发的证书不同,自签名证书通常指未经第三方验证,直接上传到私有公钥基础结构(PKI)的证书文件,安全级别较低。一般可以通过Certificate中的Issuer与Subject值字段是否相同来判断证书是否是自签名。正常流量中基本上很少存在证书自签名的情况。但挖矿流量中,自签名的现象比较常见。
证书有效期:Certificate Validity中有not Before和notAfter两个字段,用来表示证书的有效时间。大多数正常流量证书有效时间跨度均不大,一般为1-4年。2020年9月1日起,两年期公共SSL/TLS证书正式告别了行业,在三大浏览器(Apple Safari、GoogleChrome和MozillaFirefox)的推动下,SSL/TLS证书最长有效期变更为13个月,同时,全球各大证书权威签发机构已停止签发有效期超过1年(398天)的SSL证书。经测试发现,挖矿流量中存在有效期时间为100年超长有效期证书,此外,还存在有效期过期的情况,即notAfter时间早于当前时间。
域名关键词:Client Hello中的Server Name Indication、Certificate签名的Issuer和Subject中Common Name、Certificate Extension中subjectAltName等字段中一般有域名信息。大多数正常流量,这些字段中能看到正常的域名信息,而挖矿流量的这些字段,要么为空,要么会出现矿池相关的域名信息。
作为一可选实施例,所述机器学习模型为决策树模型。
本实施例给出了一种具体的机器学习模型,即决策树(DecisionTree)模型。决策树是一种非参数的有监督学习方法,它能够从一系列有特征和标签的数据中总结出决策规则,并用树状图的结构来呈现这些规则,以解决分类和回归问题。决策树中每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出,最后每个叶节点代表一种分类结果。决策树算法包括ID3、C4.5以及C5.0等,这些算法容易理解,适用各种数据,在解决各种问题时都有良好表现,尤其是以树模型为核心的各种集成算法,在各个行业和领域都有广泛的应用。
作为一可选实施例,所述机器学习模型为随机森林模型。
本实施例给出了另一种具体的机器学习模型,即随机森林模型。随机森林算法是在决策树的基础上研发出来,是比决策树效果更优的一种算法。随机森林算法在其训练中增加了可任意挑选属性的机制。相较于传统模型挑选最优属性作为其划分属性而言,随机森林模型则先从该结点的属性集合中任意选取一个子集,然后挑选该子集的最优属性作为划分属性。该方法可以很好的降低过拟合的现象,使其具有较好的泛化能力。
图4为本发明实施例一种加密挖矿行为识别装置的组成示意图,所述装置包括:
信息获取模块11,用于基于矿工与矿池通信的反馈报文获取包括IP信息和端口信息的加密矿池节点信息;
特征提取模块12,用于根据获取的加密矿池节点信息,进行加密挖矿流量特征提取;
识别模块13,用于构建机器学习模型分类器,将提取的流量特征输入到所述分类器,对加密挖矿行为进行识别。
本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种加密挖矿行为识别方法,其特征在于,包括以下步骤:
基于矿工与矿池通信的反馈报文获取包括IP信息和端口信息的加密矿池节点信息;
根据获取的加密矿池节点信息,进行加密挖矿流量特征提取;
构建机器学习模型分类器,将提取的流量特征输入到所述分类器,对加密挖矿行为进行识别。
2.根据权利要求1所述的加密挖矿行为识别方法,其特征在于,矿池通信协议流程包括:
任务订阅:在矿工与矿池建立连接后,矿工向矿池进行挖矿任务订阅;若矿池反馈正常报文消息,则订阅成功;
矿工认证:任务订阅成功后,矿工向矿池发送其账号名称和密码;若矿池反馈正常报文消息,则认证成功完成认证;只有被矿池认证授权的矿工才能收到矿池指派的任务;
任务发起:认证通过后,矿池向矿工下发计算任务;为提高挖矿效率,矿池根据矿工的算力情况,使矿工动态调整自身难度;
任务提交:当矿工计算出符合shares值的任务时,向矿池提交任务;矿池可随时给矿工指派新任务,矿工收到矿池指派的新任务后,立即无条件转向新任务。
3.根据权利要求1所述的加密挖矿行为识别方法,其特征在于,加密矿池节点信息通过以下三种方式获得:
网络报文方式:根据接入的网络流量的报文信息,与矿池通信协议中定义的规则内容进行匹配,并根据匹配的网络流量有效载荷信息是否包含矿池通信协议关键词,基于相关矿池通信协议指令标识及相关协议特征的正则表达式,获取矿池IP信息及所采用的通信协议信息;
DNS方式:根据矿池域名中包含pool、btc、eth虚拟货币关键词的特点,筛选出矿池的域名信息及其对应的A记录中IP地址集合,删除无关域名得到矿池域名信息及所对应的IP信息;
公开信息方式:从公开的矿池官网、舆情渠道,收集整理加密矿池的IP、端口及域名信息。
4.根据权利要求1所述的加密挖矿行为识别方法,其特征在于,获得加密矿池端口信息的方法包括:
通过基于矿池通信协议特征以及SSL/TLS协议伪造矿工节点,并使伪造的矿工节点与矿池IP的开放端口进行模拟通信,探测加密矿池的端口信息。
5.根据权利要求1所述的加密挖矿行为识别方法,其特征在于,所述方法还包括:建立加密矿池节点信息库,定期存储和更新加密矿池节点信息。
6.根据权利要求1所述的加密挖矿行为识别方法,其特征在于,进行加密挖矿流量特征提取的方法包括:
以NetFlow、Wireshark和端口镜像方式捕获加密挖矿流量;
采用基于Python3的网络流量基本信息提取库flowcontainer,通过编写Python程序完成加密挖矿流量特征的自动提取。
7.根据权利要求1所述的加密挖矿行为识别方法,其特征在于,所述加密挖矿流量特征包括:流量元数据特征,TLS握手包长度,加密套件数量,扩展种类数,证书数量,证书自签名,证书有效期,域名关键词。
8.根据权利要求1所述的加密挖矿行为识别方法,其特征在于,所述机器学习模型为决策树模型。
9.根据权利要求1所述的加密挖矿行为识别方法,其特征在于,所述机器学习模型为随机森林模型。
10.一种加密挖矿行为识别装置,其特征在于,包括:
信息获取模块,用于基于矿工与矿池通信的反馈报文获取包括IP信息和端口信息的加密矿池节点信息;
特征提取模块,用于根据获取的加密矿池节点信息,进行加密挖矿流量特征提取;
识别模块,用于构建机器学习模型分类器,将提取的流量特征输入到所述分类器,对加密挖矿行为进行识别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310351861.3A CN116346483A (zh) | 2023-04-04 | 2023-04-04 | 一种加密挖矿行为识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310351861.3A CN116346483A (zh) | 2023-04-04 | 2023-04-04 | 一种加密挖矿行为识别方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116346483A true CN116346483A (zh) | 2023-06-27 |
Family
ID=86889302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310351861.3A Pending CN116346483A (zh) | 2023-04-04 | 2023-04-04 | 一种加密挖矿行为识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116346483A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117768243A (zh) * | 2024-02-21 | 2024-03-26 | 中国信息通信研究院 | 一种面向虚拟数字货币的行为监测方法及系统 |
CN117768243B (zh) * | 2024-02-21 | 2024-05-31 | 中国信息通信研究院 | 一种面向虚拟数字货币的行为监测方法及系统 |
-
2023
- 2023-04-04 CN CN202310351861.3A patent/CN116346483A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117768243A (zh) * | 2024-02-21 | 2024-03-26 | 中国信息通信研究院 | 一种面向虚拟数字货币的行为监测方法及系统 |
CN117768243B (zh) * | 2024-02-21 | 2024-05-31 | 中国信息通信研究院 | 一种面向虚拟数字货币的行为监测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111277578B (zh) | 加密流量分析特征提取方法、系统、存储介质、安全设备 | |
Velan et al. | A survey of methods for encrypted traffic classification and analysis | |
Shen et al. | Certificate-aware encrypted traffic classification using second-order markov chain | |
i Muñoz et al. | Detecting cryptocurrency miners with NetFlow/IPFIX network measurements | |
CN101741908A (zh) | 一种应用层协议特征的识别方法 | |
CN108768986A (zh) | 一种加密流量分类方法及服务器、计算机可读存储介质 | |
Kim et al. | Anomaly detection based on traffic monitoring for secure blockchain networking | |
Shen et al. | Webpage fingerprinting using only packet length information | |
CN106815511A (zh) | 信息处理装置和方法 | |
WO2023173790A1 (zh) | 一种基于数据包的加密流量分类系统 | |
CN101753622A (zh) | 一种应用层协议特征的提取方法 | |
Laštovička et al. | Using TLS fingerprints for OS identification in encrypted traffic | |
US20110314275A1 (en) | Managing encryption keys | |
CN115426137A (zh) | 恶意加密网络流量检测溯源方法及系统 | |
CN114580011A (zh) | 基于联邦隐私训练的电力设施安全态势感知方法及系统 | |
Piet et al. | Ggfast: Automating generation of flexible network traffic classifiers | |
CN114401097A (zh) | 一种基于ssl证书指纹的https业务流量识别的方法 | |
Zheng et al. | Detecting malicious tls network traffic based on communication channel features | |
Qin et al. | MUCM: multilevel user cluster mining based on behavior profiles for network monitoring | |
Dusi et al. | A preliminary look at the privacy of SSH tunnels | |
CN116346483A (zh) | 一种加密挖矿行为识别方法及装置 | |
Luo et al. | Behavior-based method for real-time identification of encrypted proxy traffic | |
US7266088B1 (en) | Method of monitoring and formatting computer network data | |
CN114465787B (zh) | 一种基于dpi的物联网加密流量监控方法 | |
US20220407722A1 (en) | Method for detecting anomalies in ssl and/or tls communications, corresponding device, and computer program product |
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 |