掌桥专利:专业的专利平台
掌桥专利
首页

一种加密挖矿代理软件服务端资源监测方法及装置

文献发布时间:2024-04-18 19:58:53


一种加密挖矿代理软件服务端资源监测方法及装置

技术领域

本发明属于网络安全技术领域,具体涉及一种加密挖矿代理软件服务端资源监测方法及装置。

背景技术

在加密挖矿活动中,加密挖矿代理软件通过将挖矿流量进行加密后发送给矿池,规避流量特征监控。根据加密方式不同,加密挖矿代理软件分为两种:一种是基于加密隧道技术的代理软件,该技术通过客户端和服务端组成一条加密隧道,服务端部署在境外,客户端和服务端互相加密通讯,完成加密隧道的组建;一种是基于SSL加密技术的代理软件,该技术可为客户端和服务端的通信应用程序之间提供保密性和数据完整性。

利用挖矿代理软件的加密挖矿技术更新快、对抗性较强,传统的基于明文流量特征检测的挖矿活动监测技术,无法监测加密挖矿行为。有鉴于此,本发明提出一种挖矿代理软件服务端资源监测技术,用于监测部门有效掌握虚拟货币挖矿活动,及时分析和发现挖矿活动的服务器资源使用情况。

发明内容

为了解决现有技术中存在的上述问题,本发明提供一种加密挖矿代理软件服务端资源监测方法及装置。

为了实现上述目的,本发明采用以下技术方案。

第一方面,本发明提供一种加密挖矿代理软件服务端资源监测方法,包括以下步骤:

步骤101,定时运行挖矿软件和加密挖矿代理软件;

步骤102,基于加密挖矿代理软件运行进程ID,监测加密挖矿代理软件的网络流量,并生成流量数据包数据库;

步骤103,建立包括矿池信息库、服务端信息库、币种挖矿流量特征库的先验知识库,基于先验知识库进行加密挖矿代理软件服务端IP、端口和域名识别;

步骤104,基于识别出的加密挖矿代理软件服务端的信息进行防火墙策略配置,转步骤102,更新流量数据包数据库;若监测到网络流量,转步骤105;

步骤105,基于先验知识库的挖矿币种识别,更新服务端信息库和币种挖矿流量特征库。

进一步地,所述挖矿软件和加密挖矿代理软件配置在同一个局域网中,可以部署在同一台物理机器上,也可以分开部署在不同的物理机器上或部署在虚拟机和宿主机器中。

进一步地,通过设计定时器,定时启动挖矿软件和加密挖矿代理软件。

进一步地,所述挖矿软件为真实的矿机软件或挖矿发包程序。

进一步地,所述监测加密挖矿代理软件的网络流量的方法包括:使用包括Wireshark、科来、TCPDump的通用网络流量监测分析工具,进行网络流量监测配置。

进一步地,所述流量数据包数据库用于存储挖矿软件和加密挖矿代理软件之间数据通信的源IP、源端口、目的IP、目的端口、目的地址位置、进程和报文大小。

进一步地,所述矿池信息库用于存储挖矿矿池的域名、IP、端口、名称;所述服务端信息库用于存储加密挖矿代理软件服务端的IP、端口、域名、代理名称;所述币种挖矿流量特征库用于存储币种名称、报文大小、时间。

更进一步地,所述进行加密挖矿代理软件服务端IP、端口和域名识别的方法包括:

对监测到的流量数据包中的时序数据{P(i)}进行预处理,得到{P(i)}中连续重复出现次数超过设定阈值的时序数据;其中,P(i)为第i个采集时刻的时序数据,包括挖矿软件和加密挖矿代理软件之间进行数据通信时的源IP、目的IP和端口,i=0,1,2,…,M,M+1为采集时刻个数;

按照预处理后{P(i)}中IP出现次数从高到低的顺序对IP进行排列,选出最前面的几个IP;

遍历矿池信息库,筛除流量数据包中的矿池IP,更新流量数据包数据库;

遍历币种挖矿流量特征库,筛除流量数据包数据库中相同币种、代理软件的报文大小与币种挖矿流量特征库不一样的报文大小和报文大小不固定的源IP;

遍历服务端信息库,筛选出流量数据包数据库中IP相同的端口和域名信息;

输出加密挖矿代理软件服务端IP、端口、域名和时间信息,更新服务端信息库。

更进一步地,所述对流量数据包中的时序数据{P(i)}进行预处理的方法包括:

S1、设置解向量{S(i),f(S

S2、设置初始解S(i)=P(i),i=1,2,…,M;

S3、初始化i=1;

S4、初始化n=0;

S5、设置S(i)=P(i),计算f(S

S6、将P(i)中的源IP和目的IP的位置互换,得到P'(i),S'(i)=P'(i),计算f'(S

S7、若n

S8、若i

S9、若F

第二方面,本发明提供一种加密挖矿代理软件服务端资源监测装置,包括:

定时运行模块,用于定时运行挖矿软件和加密挖矿代理软件;

流量监测模块,用于基于加密挖矿代理软件运行进程ID,监测加密挖矿代理软件的网络流量,并生成流量数据包数据库;

服务端识别模块,用于建立包括矿池信息库、服务端信息库、币种挖矿流量特征库的先验知识库,基于先验知识库进行加密挖矿代理软件服务端IP、端口和域名识别;

防火墙配置模块,用于基于识别出的加密挖矿代理软件服务端的信息进行防火墙策略配置,转流量监测模块更新流量数据包数据库;若监测到网络流量,转知识库更新模块;

知识库更新模块,用于基于先验知识库的挖矿币种识别,更新服务端信息库和币种挖矿流量特征库。

与现有技术相比,本发明具有以下有益效果:

(1)本发明通过对加密挖矿代理软件的自动运行、采集数据、分析,减少了人工操作环节,能够达到自动运行长期监测的目标,解决了加密挖矿代理软件不定时更改服务端信息问题。

(2)本发明基于加密挖矿代理软件服务端信息实现沙箱环境的防火墙策略自动配置更新,提升对加密挖矿代理软件服务端隐藏信息的发现能力,解决了加密挖矿代理软件服务端与用户通联负载均衡设置问题。

(3)本发明能够从海量流量数据包中识别发现加密挖矿代理软件服务端IP、端口、域名、包大小等信息,提升自动监测分析效率,解决了批量化分析加密挖矿代理软件服务端信息的数据维度大的难题。

附图说明

图1为本发明实施例一种加密挖矿代理软件服务端资源监测方法的流程图。

图2为本发明实施例的沙箱环境示意图。

图3为本发明实施例一种加密挖矿代理软件服务端资源监测装置的方框图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚、明白,以下结合附图及具体实施方式对本发明作进一步说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例一种加密挖矿代理软件服务端资源监测方法的流程图,包括以下步骤:

步骤101,定时运行挖矿软件和加密挖矿代理软件;

步骤102,基于加密挖矿代理软件运行进程ID,监测加密挖矿代理软件的网络流量,并生成流量数据包数据库;

步骤103,建立包括矿池信息库、服务端信息库、币种挖矿流量特征库的先验知识库,基于先验知识库进行加密挖矿代理软件服务端IP、端口和域名识别;

步骤104,基于识别出的加密挖矿代理软件服务端的信息进行防火墙策略配置,转步骤102,更新流量数据包数据库;若监测到网络流量,转步骤105;

步骤105,基于先验知识库的挖矿币种识别,更新服务端信息库和币种挖矿流量特征库。

本实施例中,步骤101主要用于定时运行挖矿软件和加密挖矿代理软件,在两个软件的交互过程中实现对加密挖矿代理软件服务端资源的监测。本实施例的运行涉及到沙箱环境(通过物理或者软件隔离方式虚拟一个隔离环境,在该隔离环境中只运行矿机、流量采集软件,该隔离环境即沙箱环境),如图2所示。矿机通常指虚拟货币所用到的设备或软件,用于生成、发送挖矿数据包至矿池。本实施例中的矿机指用于发送挖矿数据的软件。矿池通常指一种可以将少量算力合并联合运作的方法,根据算力的贡献分配虚拟货币奖励,并使用这种方式建立的一些辅助网站。沙箱环境使用的组件包括:虚拟机软件VirtualBox,被配置为用于放置挖矿代理软件运行的环境;GUI自动化软件Appium和WinAppDriver,被配置为用于自动下载和运行挖矿代理软件。本实施例之所以定时运行挖矿软件和加密挖矿代理软件,因为加密挖矿代理软件服务端采用了负载均衡策略,每次定时重新启动运行时,可能会连接到之前未识别发现的服务端IP和端口,所以通过多次定时运行挖矿软件和挖矿加密代理软件,能够有效提升加密挖矿代理软件服务端资源监测能力。

本实施例中,步骤102主要用于监测加密挖矿代理软件的网络流量,并生成流量数据包数据库。本实施例通过tasklist获取加密挖矿代理软件运行进程ID,基于所述ID对加密挖矿代理软件的网络流量进行监测;基于监测中获得的挖矿软件和加密挖矿代理软件之间数据通信信息(如源IP、源端口等),生成流量数据包数据库。

本实施例中,步骤103主要用于基于先验知识库进行加密挖矿代理软件服务端IP、端口和域名识别。先验知识库包括矿池信息库、服务端信息库和币种挖矿流量特征库,分别用于存放与矿池、加密挖矿代理软件服务端和币种挖矿流量相关的特征信息。本实施例的先验知识库是在信息监测过程中通过信息的不断更新、不断积累形成的。本实施例基于改进的模拟退火算法进行加密挖矿代理软件服务端IP、端口和域名的识别,所述算法的解向量初始状态为空,程序运行后逐步更新。后面的实施例将给出一种基于改进的模拟退火算法的具体识别方法。

本实施例中,步骤104主要用于根据加密挖矿代理软件服务端的信息进行防火墙策略配置。所述防火墙策略配置,是指在window环境下利用bat脚本编写防火墙出站功能设置,通过遍历服务端信息库获得IP和PORT变量,方法如下:首先,在防火墙的出站规则中新建规则;其次,分别勾选程序、选定程序路径,程序路径为代理软件程序的路径,勾选阻止连接;最后,在作用域内填入已经监测发现的代理软件的服务端IP地址,每次发现新的代理软件服务端IP时,均需添加至此处作用域,直至代理软件对外访问连接失败。

本实施例中,步骤105主要用于基于先验知识库的挖矿币种识别,更新服务端信息库和币种挖矿流量特征库。基于先验知识库的挖矿币种识别,通过对先验知识库进行检索对比分析实现。先验知识库中包含信息如eth币采用特定eth_submitLogin指令完成授权认证,SERO币采用特定sero_submitLogin指令,有的矿池的子域名中携带币种信息,如btc.f2pool.com表示是btc币。对服务端信息库和币种挖矿流量特征库更新的内容包括两个库中的IP、端口、域名、币种、时间等字段。

作为一可选实施例,所述挖矿软件和加密挖矿代理软件配置在同一个局域网中,可以部署在同一台物理机器上,也可以分开部署在不同的物理机器上或部署在虚拟机和宿主机器中。

本实施例给出了部署挖矿软件和加密挖矿代理软件的技术方案。本实施例的挖矿软件和加密挖矿代理软件配置在同一个局域网中,可以部署在同一台物理机器上,也可以分开部署在不同的物理机器上或部署在虚拟机和宿主机器中。分开部署的好处是:挖矿软件的挖矿流量通过网卡发送至加密挖矿代理软件,可以通过流量监控软件监控挖矿软件发送出来的数据包。如果挖矿软件和加密代理软件部署在同一台物理机器上,二者的通信不经过网卡,难以采集挖矿软件发出的数据包。

作为一可选实施例,通过设计定时器,定时启动挖矿软件和加密挖矿代理软件。

本实施例给出了定时运行挖矿软件和加密挖矿代理软件的一种技术方案。本实施例通过设计一个定时器,定时启动这两种软件,实现这两种软件的定时运行。在Windows系统中可利用Bat脚本和ping命令编写定时器:

ping-ntime ip>null

参数time代表需要定时的时间,单位为秒,参数ip代表某一个IP地址,可选用127.0.0.1,用户根据需要自行设置。

作为一可选实施例,所述挖矿软件为真实的矿机软件或挖矿发包程序。

本实施例给出了挖矿软件的两种实现方法。本实施例的挖矿软件可以是真实的矿机软件,也可以挖矿发包程序。矿机软件可使用互联网上公开的挖矿软件程序;挖矿发包程序可利用python程序的socket函数和挖矿币种的数据包进行设计,如eth挖矿数据包格式:"{"id":111,"jsonrpc":"2.0","method":"eth_submitLogin","params":["钱包地址,"xxx"],"worker":"eth"}""{"id":111,"method":"eth_getwork","params":[],"jsonrpc":"2.0"}"。

作为一可选实施例,所述监测加密挖矿代理软件的网络流量的方法包括:使用包括Wireshark、科来、TCPDump的通用网络流量监测分析工具,进行网络流量监测配置。

本实施例给出了监测加密挖矿代理软件的网络流量的几种常用软件。本实施例采用通用网络流量监测分析工具实现网络流量监测,包括Wireshark、科来、TCPDump等。其中,Wireshark的优点是采用开放源代码,可使用户轻松进行功能修改和自定义;缺点是速度慢,专业性强,对初学者不友好。科来的优点是使用方便,交互性好,容易入门。TCPDump的优点是功能强大;缺点采用命令行操作,在某些操作系统上需要进行繁琐权限配置。

作为一可选实施例,所述流量数据包数据库用于存储挖矿软件和加密挖矿代理软件之间数据通信的源IP、源端口、目的IP、目的端口、目的地址位置、进程和报文大小。

本实施例给出了流量数据包(Pcap)数据库存储的信息内容。流量数据包数据库在利用Wireshark等进行网络流量监测过程中自动生成,用于存储挖矿软件和加密挖矿代理软件之间进行数据通信时的源IP、源端口、目的IP、目的端口、目的地址位置、进程和报文大小等。

作为一可选实施例,所述矿池信息库用于存储挖矿矿池的域名、IP、端口、名称;所述服务端信息库用于存储加密挖矿代理软件服务端的IP、端口、域名、代理名称;所述币种挖矿流量特征库用于存储币种名称、报文大小、时间。

本实施例分别给出了先验知识库的3个信息/特征库存储的数据内容。其中,矿池信息库用于存储与挖矿矿池相关的信息,包括挖矿矿池的域名、IP、端口、名称。服务端信息库用于存储加密挖矿代理软件服务端的相关信息,包括IP、端口、域名、代理名称。币种挖矿流量特征库用于存储币种名称、报文大小、时间。

作为一可选实施例,所述进行加密挖矿代理软件服务端IP、端口和域名识别的方法包括:

对监测到的流量数据包中的时序数据{P(i)}进行预处理,得到{P(i)}中连续重复出现次数超过设定阈值的时序数据;其中,P(i)为第i个采集时刻的时序数据,包括挖矿软件和加密挖矿代理软件之间进行数据通信时的源IP、目的IP和端口,i=0,1,2,…,M,M+1为采集时刻个数;

按照预处理后{P(i)}中IP出现次数从高到低的顺序对IP进行排列,选出最前面的几个IP;

遍历矿池信息库,筛除流量数据包中的矿池IP,更新流量数据包数据库;

遍历币种挖矿流量特征库,筛除流量数据包数据库中相同币种、代理软件的报文大小与币种挖矿流量特征库不一样的报文大小和报文大小不固定的源IP;

遍历服务端信息库,筛选出流量数据包数据库中IP相同的端口和域名信息;

输出加密挖矿代理软件服务端IP、端口、域名和时间信息,更新服务端信息库。

本实施例给出了识别加密挖矿代理软件服务端IP、端口和域名的一种技术方案。本实施例先基于模拟退火改进算法对监测到的流量数据包中的时序数据{P(i)}进行预处理,得到{P(i)}中连续重复出现次数超过设定阈值的时序数据;然后按照预处理后{P(i)}中IP出现次数从高到低的顺序对IP进行排列,选出最前面的几个IP;最后通过对先验知识库中IP、端口、域名等信息进行筛选处理,加速发现输出加密挖矿代理服务端信息。

作为一可选实施例,所述对流量数据包中的时序数据{P(i)}进行预处理的方法包括:

S1、设置解向量{S(i),f(S

S2、设置初始解S(i)=P(i),i=1,2,…,M;

S3、初始化i=1;

S4、初始化n=0;

S5、设置S(i)=P(i),计算f(S

S6、将P(i)中的源IP和目的IP的位置互换,得到P'(i),S'(i)=P'(i),计算f'(S

S7、若n

S8、若i

S9、若F

本实施例给出了基于模拟退火改进算法对时序数据{P(i)}进行预处理的一种技术方案。本实施例通过设置解向量{S(i),f(S

图3为本发明实施例一种加密挖矿代理软件服务端资源监测装置的组成示意图,所述装置包括:

定时运行模块11,用于定时运行挖矿软件和加密挖矿代理软件;

流量监测模块12,用于基于加密挖矿代理软件运行进程ID,监测加密挖矿代理软件的网络流量13,并生成流量数据包数据库;

服务端识别模块14,用于建立包括矿池信息库、服务端信息库、币种挖矿流量特征库的先验知识库,基于先验知识库进行加密挖矿代理软件服务端IP、端口和域名识别;

防火墙配置模块15,用于基于识别出的加密挖矿代理软件服务端的信息进行防火墙策略配置,转流量监测模块更新流量数据包数据库;若监测到网络流量,转知识库更新模块;

知识库更新模块,用于基于先验知识库的挖矿币种识别,更新服务端信息库和币种挖矿流量特征库。

本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

相关技术
  • 一种身份认证方法、装置、代理服务端和存储介质
  • 一种基于主机监控技术的挖矿恶意软件检测系统及方法
  • 一种基于K-S检验的加密代理下的挖矿流量识别方法
  • 一种Dotnet局域网软件加密服务端激活方法
技术分类

06120116513976