CN115859291B - 安全监测方法、装置、设备及存储介质 - Google Patents
安全监测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115859291B CN115859291B CN202310053184.7A CN202310053184A CN115859291B CN 115859291 B CN115859291 B CN 115859291B CN 202310053184 A CN202310053184 A CN 202310053184A CN 115859291 B CN115859291 B CN 115859291B
- Authority
- CN
- China
- Prior art keywords
- container
- request
- external access
- access request
- potential safety
- 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.)
- Active
Links
Images
Landscapes
- Alarm Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明属于计算机技术领域,公开了一种安全监测方法、装置、设备及存储介质。本申请通过在监测到宿主机的对外访问请求时,检测对外访问请求是否由容器发起;若是,则获取对外访问请求对应的请求发起容器的容器标识信息;根据容器标识信息获取请求发起容器对应的容器进程信息;根据容器进程信息确定请求发起容器是否存在安全隐患;若存在安全隐患,则拦截对外访问请求。由于是在宿主机发起对外访问请求时,检测对外访问请求是否有容器发起,若是,则会根据请求发起容器的容器进程信息检测请求发起容器是否存在被劫持、被篡改等安全隐患,并在存在安全隐患时拦截对外访问请求,从而避免了请求发起容器被攻击者远程控制。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种安全监测方法、装置、设备及存储介质。
背景技术
目前,在互联网技术领域,部署业务服务已经逐渐容器化,但是,在使用容器部署业务服务时,为了保证容器的轻量化,无法在容器内部署安全防御软件,从而导致容器容易受到攻击,被恶意程序或恶意软件劫持,自动向攻击者发起请求,使得攻击者可以对容器进行远程控制,导致业务服务安全性降低。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种安全监测方法、装置、设备及存储介质,旨在解决现有技术无法防止容器被攻击者远程控制的技术问题。
为实现上述目的,本发明提供了一种安全监测方法,所述方法包括以下步骤:
在监测到宿主机的对外访问请求时,检测所述对外访问请求是否由容器发起;
若是,则获取所述对外访问请求对应的请求发起容器的容器标识信息;
根据所述容器标识信息获取所述请求发起容器对应的容器进程信息;
根据所述容器进程信息确定所述请求发起容器是否存在安全隐患;
若存在安全隐患,则拦截所述对外访问请求。
可选的,所述根据所述容器进程信息确定所述请求发起容器是否存在安全隐患的步骤,包括:
检测所述容器进程信息中是否存在shell进程;
若存在,则获取所述shell进程的文件描述符;
若所述文件描述符中的标准输入和标准输出均指向同一socket对象,则判定所述请求发起容器存在安全隐患。
可选的,所述若存在,则获取所述shell进程的文件描述符的步骤之后,还包括:
若所述文件描述符中的标准输入或标准输出指向一目标socket对象,另一个指向管道连接,则从所述文件描述符中提取管道连接数据;
根据所述管道连接数据进行进程追踪,获得管道连接进程;
若所述管道连接进程的文件描述符指向目标socket对象,则判定所述请求发起容器存在安全隐患。
可选的,所述若存在,则获取所述shell进程的文件描述符的步骤之后,还包括:
若所述文件描述符中的标准输入和标准输出均指向管道连接,则提取所述标准输入对应的输入连接数据及所述标准输出对应的输出连接数据;
获取所述输入连接数据对应的输入连接进程及所述输出连接数据对应的输出连接进程;
检测所述输入连接进程及所述输出连接进程是否为同一进程;
若为同一进程,则判定所述请求发起容器存在安全隐患。
可选的,所述若为同一进程,则判定所述请求发起容器存在安全隐患的步骤,包括:
若为同一进程,则检测是否存在所述输入连接进程或所述输出连接进程对应的socket对象;
若存在,则判定所述请求发起容器存在安全隐患。
可选的,所述检测所述输入连接进程及所述输出连接进程是否为同一进程的步骤之后,还包括:
若不为同一进程,则获取所述输入连接进程对应的输入对象集,以及所述输出连接进程对应的输出对象集;
若所述输入对象集与所述输出对象集中存在同一socket对象,则判定所述请求发起容器存在安全隐患。
可选的,所述在监测到宿主机的对外访问请求时,检测所述对外访问请求是否由容器发起的步骤,包括:
在监测到宿主机的对外访问请求时,则获取历史地址转换日志;
检测所述历史地址转换日志中是否存在所述对外访问请求对应的地址转换日志;
若存在,则从所述地址转换日志中提取请求发起类型;
若所述请求发起类型为容器发起类型,则判定所述对外访问请求由容器发起;
相应的,所述获取所述对外访问请求的请求发起容器的步骤,包括:
从所述地址转换日志中提取所述对外访问请求对应的请求发起容器的容器标识信息。
此外,为实现上述目的,本发明还提出一种安全监测装置,所述安全监测装置包括以下模块:
请求监测模块,用于在监测到宿主机的对外访问请求时,检测所述对外访问请求是否由容器发起;
标识获取模块,用于若是,则获取所述对外访问请求对应的请求发起容器的容器标识信息;
信息查找模块,用于根据所述容器标识信息获取所述请求发起容器对应的容器进程信息;
隐患检测模块,用于根据所述容器进程信息确定所述请求发起容器是否存在安全隐患;
请求拦截模块,用于若存在安全隐患,则拦截所述对外访问请求。
此外,为实现上述目的,本发明还提出一种安全监测设备,所述安全监测设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的安全监测程序,所述安全监测程序被处理器执行时实现如上所述的安全监测方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有安全监测程序,所述安全监测程序执行时实现如上所述的安全监测方法的步骤。
本发明通过在监测到宿主机的对外访问请求时,检测对外访问请求是否由容器发起;若是,则获取对外访问请求对应的请求发起容器的容器标识信息;根据容器标识信息获取请求发起容器对应的容器进程信息;根据容器进程信息确定请求发起容器是否存在安全隐患;若存在安全隐患,则拦截对外访问请求。由于是在宿主机发起对外访问请求时,检测对外访问请求是否有容器发起,若是,则会根据请求发起容器的容器进程信息检测请求发起容器是否存在被劫持、被篡改等安全隐患,并在存在安全隐患时拦截对外访问请求,从而避免了请求发起容器被攻击者远程控制。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的电子设备的结构示意图;
图2为本发明安全监测方法第一实施例的流程示意图;
图3为本发明安全监测方法第二实施例的流程示意图;
图4为本发明安全监测装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的安全监测设备结构示意图。
如图1所示,该电子设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及安全监测程序。
在图1所示的电子设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明电子设备中的处理器1001、存储器1005可以设置在安全监测设备中,所述电子设备通过处理器1001调用存储器1005中存储的安全监测程序,并执行本发明实施例提供的安全监测方法。
本发明实施例提供了一种安全监测方法,参照图2,图2为本发明一种安全监测方法第一实施例的流程示意图。
本实施例中,所述安全监测方法包括以下步骤:
步骤S10:在监测到宿主机的对外访问请求时,检测所述对外访问请求是否由容器发起。
需要说明的是,本实施例的执行主体可以是安全监测设备,也可以是宿主机本身,安全监测设备可以是个人电脑、服务器等电子设备,还可以是其他可实现相同或相似功能的其他设备,本实施例对此不加以限制,在本实施例及下述各实施例中,以安全监测设备为例对本发明安全监测方法进行说明。
需要说明的是,宿主机可以是承载有容器的物理机,对外访问请求可以是宿主机访问外网电子设备时发送的请求。
可以理解的是,容器部署在宿主机上,容器无法直接与外网电子设备进行通信,需要由宿主机进行转发,若容器被恶意程序或恶意软件劫持,则其主动访问攻击者时,宿主机中必定会生成对外访问请求,因此,可以安全监测设备可以监测宿主机发起的对外访问请求,并在监测到对外访问请求时,进行进一步排查,确定该对外访问请求是否由被劫持的容器所发起。
步骤S20:若是,则获取所述对外访问请求对应的请求发起容器的容器标识信息。
应当理解的是,若该对外访问请求时由容器发起,则表示容器主动访问外网的电子设备,此时改容器有可能被劫持,因此,可以获取去请求发起容器的容器标识,以便于进一步检测该容器是否被恶意程序或恶意软件劫持。
步骤S30:根据所述容器标识信息获取所述请求发起容器对应的容器进程信息。
需要说明的是,根据容器标识信息获取请求发起容器对应的容器进程信息可以是根据容器标识信息生成对应的进程查看指令,执行该进程查看指令,读取请求发起容器中的进程信息,从而获得请求发起容器对应的容器进程信息。
例如:假设宿主机中运行的容器为docker容器,容器标识信息为A,则此时可以生成进程查看指令“docker top A”来查看请求发起容器中的进程信息,从而获得请求发起容器对应的容器进程信息。
步骤S40:根据所述容器进程信息确定所述请求发起容器是否存在安全隐患。
应当理解的是,在获取到容器进程信息之后,可以检测请求发起容器中是否存在敏感进程,若存在,则可以进一步检测敏感进程是否被恶意程序或恶意软件所劫持,从而判断请求发起容器是否存在安全隐患。
步骤S50:若存在安全隐患,则拦截所述对外访问请求。
可以理解的是,若请求发起容器存在安全隐患,则表示请求发起容器发起的对外访问请求,大概率是在主动访问攻击者,因此,可以拦截对外访问请求。
在具体实现中,在拦截对外访问请求之后,还可以读取被拦截的对外访问请求中记录的访问目标IP、请求参数等信息,将访问目标IP添加至访问黑名单中,并根据访问目标IP及请求参数生成拦截日志进行存储,以便于安全监测设备的管理人员进行进一步排查。
在具体实现中,容器在对外进行访问时,需要由宿主机进行请求转发,而宿主机会根据预先设置的转发地址映射表对容器发起的请求进行网络地址转换,并在转换完之后,宿主机会将请求发出,在此过程中,可以对宿主机进行调整,令宿主机每次进行网络地址转换时,记录请求发起者的类型,并生成对应的地址转换日志,以便于检测请求是否由容器发起,则此时本实施例所述步骤S10,可以包括:
在监测到宿主机的对外访问请求时,则获取历史地址转换日志;
检测所述历史地址转换日志中是否存在所述对外访问请求对应的地址转换日志;
若存在,则从所述地址转换日志中提取请求发起类型;
若所述请求发起类型为容器发起类型,则判定所述对外访问请求由容器发起;
相应的,本实施例所述获取所述对外访问请求的请求发起容器的步骤,包括:
从所述地址转换日志中提取所述对外访问请求对应的请求发起容器的容器标识信息。
需要说明的是,历史地址转换日志可以是宿主机此前在进行网络地址转换时生成的地址转换日志。获取历史地址转换日志可以是从转换日志库中提取历史地址转换日志,其中,转换日志库可以是用于存储地址转换日志的数据库,该数据库可以设置在宿主机上,也可以设置在安全监测设备中,本实时对此不加以限制。请求发起类型为请求发起者的类型,请求发起类型可以包括:容器发起类型、消息转发类型、虚拟机发起类型等多种不同的类型。
在具体实现中,若历史地址转换日志中存在对外访问请求对应的地址转换日志,则表示宿主机对该对外访问请求进行过网络地址转换,则此时可以进一步从对外访问请求对应的地址转换日志中提取请求发起类型,而若是请求发起类型为容器发起类型,则可以判定对外访问请求由容器发起。
可以理解的是,宿主机在生成地址转换日志时,会获取请求发起者的标识信息、请求发起者的类型等信息生成地址转换日志,因此,若对外访问请求由容器发起,可以从地址转换日志中提取对外访问请求对应的请求发起容器的容器标识信息。
本实施例通过在监测到宿主机的对外访问请求时,检测对外访问请求是否由容器发起;若是,则获取对外访问请求对应的请求发起容器的容器标识信息;根据容器标识信息获取请求发起容器对应的容器进程信息;根据容器进程信息确定请求发起容器是否存在安全隐患;若存在安全隐患,则拦截对外访问请求。由于是在宿主机发起对外访问请求时,检测对外访问请求是否有容器发起,若是,则会根据请求发起容器的容器进程信息检测请求发起容器是否存在被劫持、被篡改等安全隐患,并在存在安全隐患时拦截对外访问请求,从而避免了请求发起容器被攻击者远程控制。
参考图3,图3为本发明一种安全监测方法第二实施例的流程示意图。
基于上述第一实施例,本实施例安全监测方法的所述步骤S40,包括:
步骤S401:检测所述容器进程信息中是否存在shell进程。
需要说明的是,恶意软件或恶意程序在对容器进行劫持时,为了保证可对容器进行远程控制,一般需要对shell进程进行篡改,令容器的shell输入和输出可以被攻击者控制,从而实现对容器的远程控制,而基于此方式进行远程控制的过程中,容器中必定会运行有shell进程,因此,可以先检测容器进程信息中是否存在shell进程。
步骤S402:若存在,则获取所述shell进程的文件描述符。
可以理解的是,若存在shell进程,则可以进一步检测该shell进程是否被篡改,则此时可以获取shell进程的文件描述符进行进一步排查。
在具体实现中,获取shell进程的文件描述符可以是获取shell进程的进程号,根据进程号生成描述符获取命令,安全监测设备与容器进行远程连接,并控制容器执行描述符获取命令,然后接收容器反馈的shell进程的文件描述符。
例如:假设shell进程的进程号为7133,则可以生成描述符获取命令“ls -l /proc/7133/fd”,通过远程连接的方式,控制容器执行描述符获取命令,之后接收容器反馈的shell进程的文件描述符。
步骤S403:若所述文件描述符中的标准输入和标准输出均指向同一socket对象,则判定所述请求发起容器存在安全隐患。
可以理解的是,若文件描述符中的标准输入和标准输出均指向同一个socket对象,则表示该shell进程的输入和输出均被重定向至一个socket对象进行控制,则此时攻击者可以通过远程控制该socket对象,来令容器执行攻击者发送的指令,并将指令运行结果回显给攻击者,令攻击者可以对请求发起容器进行远程控制,因此,可以判断请求发起容器存在安全隐患。
例如:假设获取到的文件描述符为“0->socket[373225];1->socket[373225]...”,而文件描述符中0为标准输入,1为标准输出,则此时可以判定该shell进程的标注输入和标准输出均被篡改,被修改为指向一个编号为373225的socket对象,此时攻击者可以通过该socket对象远程控制该请求发起容器,因此,可以判定该请求发起容器存在安全隐患。
进一步的,攻击者可能会在对文件描述符进行篡改时进行伪装,此时标注输入和标准输出可能不会直接指向同一个socket进程,而是通过管道连接,将标准输入和标准输出中的一个指向socket进程,另一个管道连接至另一个进程,再通过该进程指向该socket对象,为了在此种情况,依旧可以检测到,本实施例所述步骤S402之后,还可以包括:
若所述文件描述符中的标准输入或标准输出指向一目标socket对象,另一个指向管道连接,则从所述文件描述符中提取管道连接数据;
根据所述管道连接数据进行进程追踪,获得管道连接进程;
若所述管道连接进程的文件描述符指向目标socket对象,则判定所述请求发起容器存在安全隐患。
需要说明的是,若文件描述符中的标准输入或标准输入指向一目标socket,而另一个指向管道连接,则此时需要进行进一步排查,检测攻击者是否是通过进程连接进行伪装,从而实现远程控制,因此,可以从文件描述符中提取该管道连接时使用的管道连接数据。
可以理解的是,根据管道连接数据进行进程追踪,则可以获取进行管道连接时指向的进程,此时可以获取该管道连接进程的文件描述符,检测该文件描述符中是否有任意一个指向上述标准输入或标准输出指向的目标socket对象,若是,则表示攻击者是通过管道来间接将shell进程的标注输入和标准输出重定向至同一个socket对象,实现对请求发起容器的远程控制,因此,可以判定请求发起容器存在安全隐患。
例如:假设获取到的shell进程的文件描述符为“0->socket[373225];1->pipe[663772]...”,则此时管道连接数据为“pipe[663772]”,若此时根据该管道连接数据进行管道追踪,获取到的管道连接进程为进程号为10035的进程,则此时可以生成描述符获取命令,根据描述符获取命令获取管道连接进程的文件描述符,若此时文件描述符中有任一一条指向socket[373225],则可以判定请求发起容器存在安全隐患。
进一步的,为了避免被排查到,攻击者可能还会进行进一步伪装,令shell进程的标准输出和标准输出均指向管道连接,然后通过两个不同的管道连接,将标准输出和标准输出重定向至同一个socket对象,为了在此时依旧可以监测到,本实施例所述步骤S402之后,还可以包括:
若所述文件描述符中的标准输入和标准输出均指向管道连接,则提取所述标准输入对应的输入连接数据及所述标准输出对应的输出连接数据;
获取所述输入连接数据对应的输入连接进程及所述输出连接数据对应的输出连接进程;
检测所述输入连接进程及所述输出连接进程是否为同一进程;
若为同一进程,则判定所述请求发起容器存在安全隐患。
需要说明的是,输入连接数据可以是标准输入所指向的管道连接数据,输出连接数据可以是标准输出指向的刚拿到连接数据。输入连接进程可以是对输入连接数据进行管道追踪后获得的管道连接进程,输出连接进程可以是对输出连接数据进行管道追踪后获得的管道连接进程。
在实际使用中,检测输入连接进程及输出连接进程是否为同一进程可以是将输入连接进程的进程号与输出连接进程的进程号进行对比,若输入连接进程与输出连接进程的进程号一致,则可以判定输入连接进程与输出连接进程为同一进程。
可以理解的是,若输入连接进程与输出连接进程为同一进程,则表示攻击者是通过将shell进程的标准输出及标准输入重定向至同一进程,以实现远程控制,因此,可以判定请求发起容器存在安全隐患。
在具体实现中,为了避免误判,本实施例所述若为同一进程,则判定所述请求发起容器存在安全隐患的步骤,可以包括:
若为同一进程,则检测是否存在所述输入连接进程或所述输出连接进程对应的socket对象;
若存在,则判定所述请求发起容器存在安全隐患。
可以理解的是,攻击者为了实现远程控制,最终还是需要使用socket对象对容器进行操控,若将shell进程的标准输入和标准输出重定向至同一个进程,但是该进程不存在对应的socket对象,则攻击者其实是无法远程控制请求发起容器的,因此,为了避免出现误判现象,在确定输入连接进程与输出连接进程为同一进程之后,还可以检测是否存在输入连接进程或输出连接进程对应的socket对象,在存在时,才判定请求发起容器存在安全隐患。
其中,判定是否存在输入连接进程或输出连接进程对应的socket对象可以是检测输入连接进程或输出连接进程的文件描述符中是否有任一一项指向socket对象,若有,则可以判定存在输入连接进程或输出连接进程对应的socket对象。
进一步的,即使输入连接进程与输出连接进程为不同一进程,但是两个不同的进程其实也可以指向同一socket对象,此时,攻击者依旧可以实现对请求发起容器的远程控制,为了在此时依旧可以正常检测到,本实施例所述检测所述输入连接进程及所述输出连接进程是否为同一进程的步骤之后,还可以包括:
若不为同一进程,则获取所述输入连接进程对应的输入对象集,以及所述输出连接进程对应的输出对象集;
若所述输入对象集与所述输出对象集中存在同一socket对象,则判定所述请求发起容器存在安全隐患。
需要说明的是,输入连接进程对应的输入对象集可以是输入连接进程的文件描述符中指向的socket对象的集合,输出连接进程对应的输出对象集可以是输出连接进程的文件描述符中指向的socket对象的集合。
可以理解的是,若输入对象集与输出对象集中存在同一socket对象,则表示虽然shell进程的标准输入和标准输出指向了两个不同的进程,但是两个不同的进程对应了同一个socket对象,此时,攻击者依旧可以通过该socket对象对请求发起容器进行远程控制,因此,可以判定请求发起容器存在安全隐患。
例如:假设输入对象集为{socket[373225]、socket[373222]、socket[373221]},输出对象集为{socket[373225]、socket[373226]、socket[373227]},则此时输入对象集和输出对象集存在同一个socket对象(socket[373225]),则此时攻击者可以通过socket[373225]对请求发起容器进行远程控制,因此,可以判定请求发起容器存在安全隐患。
本实施例通过检测所述容器进程信息中是否存在shell进程;若存在,则获取所述shell进程的文件描述符;若所述文件描述符中的标准输入和标准输出均指向同一socket对象,则判定所述请求发起容器存在安全隐患。由于会检测容器中shell进程的标准输入和标准输出是否被重定向至同一个socket对象,来确定请求发起容器是否可被攻击者远程控制,可准确的判断请求发起容器是否存在安全隐患。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有安全监测程序,所述安全监测程序被处理器执行时实现如上文所述的安全监测方法的步骤。
参照图4,图4为本发明安全监测装置第一实施例的结构框图。
如图4所示,本发明实施例提出的安全监测装置包括:
请求监测模块10,用于在监测到宿主机的对外访问请求时,检测所述对外访问请求是否由容器发起;
标识获取模块20,用于若是,则获取所述对外访问请求对应的请求发起容器的容器标识信息;
信息查找模块30,用于根据所述容器标识信息获取所述请求发起容器对应的容器进程信息;
隐患检测模块40,用于根据所述容器进程信息确定所述请求发起容器是否存在安全隐患;
请求拦截模块50,用于若存在安全隐患,则拦截所述对外访问请求。
本实施例通过在监测到宿主机的对外访问请求时,检测对外访问请求是否由容器发起;若是,则获取对外访问请求对应的请求发起容器的容器标识信息;根据容器标识信息获取请求发起容器对应的容器进程信息;根据容器进程信息确定请求发起容器是否存在安全隐患;若存在安全隐患,则拦截对外访问请求。由于是在宿主机发起对外访问请求时,检测对外访问请求是否有容器发起,若是,则会根据请求发起容器的容器进程信息检测请求发起容器是否存在被劫持、被篡改等安全隐患,并在存在安全隐患时拦截对外访问请求,从而避免了请求发起容器被攻击者远程控制。
进一步的,所述隐患检测模块40,还用于检测所述容器进程信息中是否存在shell进程;若存在,则获取所述shell进程的文件描述符;若所述文件描述符中的标准输入和标准输出均指向同一socket对象,则判定所述请求发起容器存在安全隐患。
进一步的,所述隐患检测模块40,还用于若所述文件描述符中的标准输入或标准输出指向一目标socket对象,另一个指向管道连接,则从所述文件描述符中提取管道连接数据;根据所述管道连接数据进行进程追踪,获得管道连接进程;若所述管道连接进程的文件描述符指向目标socket对象,则判定所述请求发起容器存在安全隐患。
进一步的,所述隐患检测模块40,还用于若所述文件描述符中的标准输入和标准输出均指向管道连接,则提取所述标准输入对应的输入连接数据及所述标准输出对应的输出连接数据;获取所述输入连接数据对应的输入连接进程及所述输出连接数据对应的输出连接进程;检测所述输入连接进程及所述输出连接进程是否为同一进程;若为同一进程,则判定所述请求发起容器存在安全隐患。
进一步的,所述隐患检测模块40,还用于若为同一进程,则检测是否存在所述输入连接进程或所述输出连接进程对应的socket对象;若存在,则判定所述请求发起容器存在安全隐患。
进一步的,所述隐患检测模块40,还用于若不为同一进程,则获取所述输入连接进程对应的输入对象集,以及所述输出连接进程对应的输出对象集;若所述输入对象集与所述输出对象集中存在同一socket对象,则判定所述请求发起容器存在安全隐患。
进一步的,所述请求监测模块10,还用于在监测到宿主机的对外访问请求时,则获取历史地址转换日志;检测所述历史地址转换日志中是否存在所述对外访问请求对应的地址转换日志;若存在,则从所述地址转换日志中提取请求发起类型;若所述请求发起类型为容器发起类型,则判定所述对外访问请求由容器发起;
进一步的,所述标识获取模块20,还用于从所述地址转换日志中提取所述对外访问请求对应的请求发起容器的容器标识信息。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的安全监测方法,此处不再赘述。
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种安全监测方法,其特征在于,所述安全监测方法包括以下步骤:
在监测到宿主机的对外访问请求时,检测所述对外访问请求是否由容器发起;
若是,则获取所述对外访问请求对应的请求发起容器的容器标识信息;
根据所述容器标识信息获取所述请求发起容器对应的容器进程信息;
根据所述容器进程信息确定所述请求发起容器是否存在安全隐患;
若存在安全隐患,则拦截所述对外访问请求;
其中,所述根据所述容器进程信息确定所述请求发起容器是否存在安全隐患的步骤,包括:
检测所述容器进程信息中是否存在shell进程;
若存在,则获取所述shell进程的文件描述符;
若所述文件描述符中的标准输入和标准输出均指向同一socket对象,则判定所述请求发起容器存在安全隐患;
所述若存在,则获取所述shell进程的文件描述符的步骤之后,还包括:
若所述文件描述符中的标准输入或标准输出指向一目标socket对象,另一个指向管道连接,则从所述文件描述符中提取管道连接数据;
根据所述管道连接数据进行进程追踪,获得管道连接进程;
若所述管道连接进程的文件描述符指向目标socket对象,则判定所述请求发起容器存在安全隐患。
2.如权利要求1所述的安全监测方法,其特征在于,所述若存在,则获取所述shell进程的文件描述符的步骤之后,还包括:
若所述文件描述符中的标准输入和标准输出均指向管道连接,则提取所述标准输入对应的输入连接数据及所述标准输出对应的输出连接数据;
获取所述输入连接数据对应的输入连接进程及所述输出连接数据对应的输出连接进程;
检测所述输入连接进程及所述输出连接进程是否为同一进程;
若为同一进程,则判定所述请求发起容器存在安全隐患。
3.如权利要求2所述的安全监测方法,其特征在于,所述若为同一进程,则判定所述请求发起容器存在安全隐患的步骤,包括:
若为同一进程,则检测是否存在所述输入连接进程或所述输出连接进程对应的socket对象;
若存在,则判定所述请求发起容器存在安全隐患。
4.如权利要求2所述的安全监测方法,其特征在于,所述检测所述输入连接进程及所述输出连接进程是否为同一进程的步骤之后,还包括:
若不为同一进程,则获取所述输入连接进程对应的输入对象集,以及所述输出连接进程对应的输出对象集;
若所述输入对象集与所述输出对象集中存在同一socket对象,则判定所述请求发起容器存在安全隐患。
5.如权利要求1-4任一项所述安全监测方法,其特征在于,所述在监测到宿主机的对外访问请求时,检测所述对外访问请求是否由容器发起的步骤,包括:
在监测到宿主机的对外访问请求时,则获取历史地址转换日志;
检测所述历史地址转换日志中是否存在所述对外访问请求对应的地址转换日志;
若存在,则从所述地址转换日志中提取请求发起类型;
若所述请求发起类型为容器发起类型,则判定所述对外访问请求由容器发起;
相应的,所述获取所述对外访问请求的请求发起容器的步骤,包括:
从所述地址转换日志中提取所述对外访问请求对应的请求发起容器的容器标识信息。
6.一种安全监测装置,其特征在于,所述安全监测装置包括以下模块:
请求监测模块,用于在监测到宿主机的对外访问请求时,检测所述对外访问请求是否由容器发起;
标识获取模块,用于若是,则获取所述对外访问请求对应的请求发起容器的容器标识信息;
信息查找模块,用于根据所述容器标识信息获取所述请求发起容器对应的容器进程信息;
隐患检测模块,用于根据所述容器进程信息确定所述请求发起容器是否存在安全隐患;
请求拦截模块,用于若存在安全隐患,则拦截所述对外访问请求;
所述隐患检测模块,还用于检测所述容器进程信息中是否存在shell进程;若存在,则获取所述shell进程的文件描述符;若所述文件描述符中的标准输入和标准输出均指向同一socket对象,则判定所述请求发起容器存在安全隐患;
所述隐患检测模块,还用于若所述文件描述符中的标准输入或标准输出指向一目标socket对象,另一个指向管道连接,则从所述文件描述符中提取管道连接数据;根据所述管道连接数据进行进程追踪,获得管道连接进程;若所述管道连接进程的文件描述符指向目标socket对象,则判定所述请求发起容器存在安全隐患。
7.一种安全监测设备,其特征在于,所述安全监测设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的安全监测程序,所述安全监测程序被处理器执行时实现如权利要求1-5中任一项所述的安全监测方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有安全监测程序,所述安全监测程序执行时实现如权利要求1-5中任一项所述的安全监测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310053184.7A CN115859291B (zh) | 2023-02-03 | 2023-02-03 | 安全监测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310053184.7A CN115859291B (zh) | 2023-02-03 | 2023-02-03 | 安全监测方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115859291A CN115859291A (zh) | 2023-03-28 |
CN115859291B true CN115859291B (zh) | 2023-05-16 |
Family
ID=85657502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310053184.7A Active CN115859291B (zh) | 2023-02-03 | 2023-02-03 | 安全监测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115859291B (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005352673A (ja) * | 2004-06-09 | 2005-12-22 | Fujitsu Ltd | 不正アクセス監視プログラム、装置および方法 |
FI127335B (en) * | 2016-05-27 | 2018-04-13 | Cysec Ice Wall Oy | Logging of telecommunications on a computer network |
US10678935B2 (en) * | 2017-04-11 | 2020-06-09 | Nicira, Inc. | Identifying container file events for providing container security |
US10860718B2 (en) * | 2017-07-28 | 2020-12-08 | Mcafee, Llc | Protecting computer systems used in virtualization environments against fileless malware |
US20220129541A1 (en) * | 2020-10-23 | 2022-04-28 | Red Hat, Inc. | Containers system auditing through system call emulation |
US11822642B2 (en) * | 2020-10-29 | 2023-11-21 | Stripe, Inc. | Processing transactions involving card reader devices containerized execution of code |
CN114912103A (zh) * | 2021-02-09 | 2022-08-16 | 华为技术有限公司 | 一种访问控制方法及相关装置 |
CN115373798A (zh) * | 2022-07-25 | 2022-11-22 | 国网新疆电力有限公司乌鲁木齐供电公司 | 一种智能物联终端容器逃逸攻击检测和防御方法 |
-
2023
- 2023-02-03 CN CN202310053184.7A patent/CN115859291B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115859291A (zh) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11570211B1 (en) | Detection of phishing attacks using similarity analysis | |
US10846402B2 (en) | Security scanning method and apparatus for mini program, and electronic device | |
US8955124B2 (en) | Apparatus, system and method for detecting malicious code | |
CN103955645B (zh) | 恶意进程行为的检测方法、装置及系统 | |
WO2018188558A1 (zh) | 账号权限的识别方法及装置 | |
CN109547426B (zh) | 业务响应方法及服务器 | |
CN108600162B (zh) | 用户认证方法及装置、计算设备及计算机存储介质 | |
US20190138713A1 (en) | Method for Detecting a Deviation of a Security State of a Computing Device from a Desired Security State | |
CN111191243A (zh) | 一种漏洞检测方法、装置和存储介质 | |
CN109460653B (zh) | 基于规则引擎的验证方法、验证设备、存储介质及装置 | |
CN114422139A (zh) | Api网关请求安全验证方法、装置、电子设备及计算机可读介质 | |
CN110505246B (zh) | 客户端网络通讯检测方法、装置及存储介质 | |
CN113836509B (zh) | 信息采集方法、装置、电子设备和存储介质 | |
US20190222592A1 (en) | Detection device, detection method, detection system, and detection program | |
CN115859291B (zh) | 安全监测方法、装置、设备及存储介质 | |
JP6258189B2 (ja) | 特定装置、特定方法および特定プログラム | |
CN115118481B (zh) | 一种主机信息采集方法、装置、设备及介质 | |
CN116722994A (zh) | 数据的检测方法、装置、电子设备及存储介质 | |
CN116028157A (zh) | 风险识别方法、装置及电子设备 | |
CN106022122B (zh) | 一种信息处理方法及装置 | |
KR20150134519A (ko) | 모바일 어플리케이션의 아이콘 도용 여부를 탐지하는 방법 및 그 장치 | |
CN114417349A (zh) | 攻击结果判定方法、装置、电子设备及存储介质 | |
CN112948831A (zh) | 应用程序风险识别的方法和装置 | |
US20200320190A1 (en) | Detecting directory reconnaissance in a directory service | |
CN115996152B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |