欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种容器内挖矿行为的检测方法独创技术7734字

一种容器内挖矿行为的检测方法

2021-02-15 07:01:35

一种容器内挖矿行为的检测方法

  技术领域

  本发明涉及到网络安全技术领域,尤其涉及到一种容器内挖矿行为的检测方法。

  背景技术

  随着比特币的成功,许多基于区块链技术的数字货币相继问世。如以太坊(ETH)和Monero(XMR)等。这些加密货币不依靠特定货币机构发行,而是依据特定算法,通过大量的计算产生。能够完成大量运算产生加密货币的工具我们通常称为挖矿程序。同样由于容器技术的普及,越来越多的应用程序采用docker容器进行部署。新的IT技术带来新的安全问题,黑客挖矿从早期的入侵硬件设备、服务器到入侵云端的docker容器和容器编排工具如Kubernetes等。黑客将挖矿程序打包到容器中,利用容器的特性限制内存和CPU的使用率,使得检测挖矿行为更为困难。

  现有的挖矿行为的检测方式主要有一种,是基于流量特征的检测,需要镜像网络流量。现有的安全技术对挖矿行为的检测是基于流量特征的检测,主要步骤为:

  1)镜像待检测的网络流量,提取协议流量;

  2)根据提取的协议流量,检测流量的具体网络传输包是否存在挖矿通协议封装的网络传输数据包;

  3)通过ioc、协议、字符串等匹配检测传输数据包中的内容来认定是否为挖矿通讯数据包。

  我们可以看出上诉方案是基于镜像流量的网络层的检测,而在容器环境下默认使用docker0虚拟网桥进行数据通讯,上诉方案仅能检测到宿主机IP层面的挖矿行为,无法定位到是哪个容器的哪个进程产生的挖矿行为,不适用容器和集群环境,且无法对加密的协议的挖矿行为提取特征进行检测。

  发明内容

  本发明的目的是为了克服现有技术的不足,提供了一种容器内挖矿行为的检测方法。

  本发明是通过以下技术方案实现:

  本发明提供了一种容器内挖矿行为的检测方法,该容器内挖矿行为的检测方法包括以下步骤:

  步骤1:注册内核模块,提取容器内的进程列表;

  步骤2:使用扫描软件扫描容器镜像及容器内进程,检测容器镜像中是否存在挖矿程序的可疑进程;

  步骤3:监控可疑进程的命令行参数、系统调用、文件访问和网络请求;

  步骤4:提取可疑进程命令行参数、系统调用、文件访问和网络请求特征,综合判断该可疑进程是否为挖矿进程;

  步骤5:对挖矿进程及其所在容器内进程进行处理。

  优选的,步骤2中扫描容器镜像及容器内进程所使用的扫描软件为clamscan。

  优选的,步骤3或步骤4中所述的系统调用是程序与操作系统交互的一种方式。

  优选的,所述的系统调用的接口包含了若干个操作系统赋予给运行在其上的应用程序使用的函数。

  优选的,所述的函数允许的操作包括且不限于打开文件、创建网络连接、从文件中读写。

  优选的,步骤4中,通过分析可疑进程网络请求的协议及目的地址,结合可疑进程系统调用、命令行参数、文件访问情况,可以综合判断可疑进程是否为挖矿行为。

  本发明通过注册内核模块,提取到容器内的进程列表,并使用clamscan扫描容器镜像及容器内进程,通过分析网络请求的协议及目的地址,结合进程系统调用、命令行参数、文件访问情况,就可以综合判断进程是否为挖矿行为。本发明与现有技术相比,能准确定位到挖矿行为是容器内的哪个进程产生的,并且能检测到容器内加密的挖矿行为的进程。

  附图说明

  图1是本发明实施例提供的整体流程图。

  具体实施方式

  为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

  请参考图1,图1是本发明实施例提供的整体流程图。

  如图1所示,本发明实施例提供的容器内挖矿行为的检测方法,包括以下步骤:

  步骤1:注册内核模块,提取容器内的进程列表;

  步骤2:使用扫描软件扫描容器镜像及容器内进程,检测容器镜像中是否存在挖矿程序的可疑进程;

  步骤3:监控可疑进程的命令行参数、系统调用、文件访问和网络请求;

  步骤4:提取可疑进程命令行参数、系统调用、文件访问和网络请求特征,综合判断该可疑进程是否为挖矿进程;

  步骤5:对挖矿进程及其所在容器内进程进行处理。

  在本发明实施例中,上述步骤2中扫描容器镜像及容器内进程所使用的扫描软件为clamscan。上述步骤3或步骤4中所述的系统调用是程序与操作系统交互的一种方式,并且是程序与操作系统交互的重要方式。所述的系统调用的接口包含了若干个操作系统赋予给运行在其上的应用程序使用的函数。所述的函数允许的操作包括且不限于打开文件、创建网络连接、从文件中读写。

  通俗来讲,系统调用是程序与操作系统交互的主要方式。系统调用接口包含了若干个操作系统赋予给运行在其上的应用程序使用的函数。这些函数允许打开文件、创建网络连接、从文件中读写等操作,容器内大部分的事件都要经过系统调用。

  在本发明实施例中,上述步骤4中,通过分析可疑进程网络请求的协议及目的地址,结合可疑进程系统调用、命令行参数、文件访问情况,可以综合判断可疑进程是否为挖矿行为。

  具体的,根据现有已知技术,完整的挖矿程序主要通过读取配置文件(配置文件通常包含矿池地址和钱包地址),调用sendto和sendmsg系统函数向矿池发送数据。加密货币的挖矿进程的命令行参数中,通常含有“stratum+tcp”。矿池地址为公开的域名和端口,我们通过域名解析可以提取出矿池的IP地址和端口。通过分析网络请求的协议及目的地址,结合进程系统调用、命令行参数、文件访问情况,就可以综合判断进程是否为挖矿行为。

  下面我们以门罗币挖矿程序为例进行说明。挖矿程序包含xmrig和config.json两部分组成。其中config.json中包含矿池地址和钱包地址。启动挖矿程序xmrig后会向矿池(pool.supportxmr.com:3333 149.202.83.171)发送数据。通过对挖矿程序的综合分析,我们可以定位出在容器id为cac8d5962315的容器中/mnt/xmrig进程为挖矿程序。

  本发明通过注册内核模块,提取到容器内的进程列表,并使用clamscan扫描容器镜像及容器内进程,通过分析网络请求的协议及目的地址,结合进程系统调用、命令行参数、文件访问情况,就可以综合判断进程是否为挖矿行为。

  本发明与现有技术相比,能准确定位到挖矿行为是容器内的哪个进程产生的,并且能检测到容器内加密的挖矿行为的进程。

  以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

《一种容器内挖矿行为的检测方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)