CN116842510A - 容器下反弹shell变种检测方法、装置、系统和存储介质 - Google Patents

容器下反弹shell变种检测方法、装置、系统和存储介质 Download PDF

Info

Publication number
CN116842510A
CN116842510A CN202310935774.2A CN202310935774A CN116842510A CN 116842510 A CN116842510 A CN 116842510A CN 202310935774 A CN202310935774 A CN 202310935774A CN 116842510 A CN116842510 A CN 116842510A
Authority
CN
China
Prior art keywords
file
shell
monitoring
access
detecting
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
Application number
CN202310935774.2A
Other languages
English (en)
Inventor
黄晓龙
聂万泉
魏兴国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Moan Technology Co ltd
Original Assignee
Hangzhou Moan Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Moan Technology Co ltd filed Critical Hangzhou Moan Technology Co ltd
Priority to CN202310935774.2A priority Critical patent/CN116842510A/zh
Publication of CN116842510A publication Critical patent/CN116842510A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及安全检测技术领域中的一种容器下反弹shell变种检测方法、装置、系统和存储介质,包括以下步骤:在不同系统上监控Bash类进程的访问文件;提取不同系统上的Bash类进程的访问文件的共同访问特征,并基于共同访问特征生成文件集合;基于文件监控系统对文件集合进行监控,并生成监控结果;当监控结果为发生文件访问时,执行反弹shell检测操作,解决了现有反弹shell检测无法针对变种情况进行检测的问题。

Description

容器下反弹shell变种检测方法、装置、系统和存储介质
技术领域
本发明涉及安全检测技术领域,具体涉及一种容器下反弹shell变种检测方法、装置、系统和存储介质。
背景技术
现有检测方案均为反弹Shell检测,但是对于变种检测防御方案,例如用户上传Shell、拷贝、重命名Shell等该类攻击方案基本没有防御手段。即只要用户在机器上随意改名,移动Shell脚本,参数混淆,使用现有防御手段无法实现有效检测。
另一方面,现有检测方案基本为针对主机的检测方案,而由于容器的特殊性,每个容器都有独立的文件系统,所以直接的主机检测方案并不能很好应用到容器内的威胁检测。
发明内容
本发明针对现有技术中的缺点,提供了一种容器下反弹shell变种检测方法、装置、系统和存储介质,解决了现有反弹shell检测无法针对变种情况进行检测的问题。
为了解决上述技术问题,本发明通过下述技术方案得以解决:
一种容器下反弹shell变种检测方法,包括以下步骤:
在不同系统上监控Bash类进程的访问文件;
提取不同系统上的Bash类进程的访问文件的共同访问特征,并基于所述共同访问特征生成文件集合;
基于文件监控系统对所述文件集合进行监控,并生成监控结果;
当所述监控结果为发生文件访问时,执行反弹shell检测操作。
可选的,提取共同访问特征包括以下步骤:
判断不同系统上是否存在相同名称的Bash类进程的访问文件;
若存在,则提取该Bash类进程的访问文件的文件名称作为共同访问特征,若不存在,则无需提取共同访问特征。
可选的,执行反弹shell检测操作,包括以下步骤:
获取被访问的文件的进程PID值,并基于所述进程PID值读取伪文件系统下的文件,得到反弹shell特征,其中,所述反弹shell特征包括当前进程、兄弟进程、父进程、爷进程的进程名以及文件描述符;
基于所述反弹shell特征进行反弹shell判定。
可选的,反弹shell判定,包括以下步骤:
检测伪文件系统下“0”号文件描述符是否为socket,若是,则为反弹shell;
检测伪文件系统下“0”号描述符是否为pipe,若是,则从父进程、兄弟进程内查找关联进程,且当所述关联进程存在socket类型文件描述符时,判定为反弹shell;
检测伪文件系统下是否存在ptmx类型描述符,若存在,则当爷进程同为ptmx进程且存在socket类型的文件描述符时,判定为反弹shell。
可选的,还包括以下步骤:
当反弹shell检测操作检测到反弹shell时,发送SIGKILL信号进行进程阻断处理。
一种容器下反弹shell变种检测装置,所述容器下反弹shell变种检测装置执行如上述任意一项所述的容器下反弹shell变种检测方法,包括监控模块、检测模块、规则引擎模块和阻断模块;
所述监控模块用于通过文件监控系统监控文件集合,当所述文件集合发生文件访问时,将访问该文件的PID值发送至检测模块;
所述检测模块用于,接收所述PID值,并读取当前进程、兄弟进程、父进程、爷进程的进程名和文件描述符,作为特征值发送至规则引擎模块;
所述规则引擎模块用于根据文件描述符判定反弹shell;
所述阻断模块用于,当所述规则引擎模块检测到反弹shell时,向上报进程发送SIGKILL信号,以直接阻断进程。
一种容器下反弹shell变种检测系统,包括访问监控单元、特征提取单元、文件监控单元和检测单元;
所述访问监控单元用于在不同系统上监控Bash类进程的访问文件;
所述特征提取单元用于提取不同系统上的Bash类进程的访问文件的共同访问特征,并基于所述共同访问特征生成文件集合;
所述文件监控单元用于基于文件监控系统对所述文件集合进行监控,并生成监控结果;
所述检测单元用于当所述监控结果为发生文件访问时,执行反弹shell检测操作。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现上述任意一项所述的容器下反弹shell变种检测方法。
采用本发明提供的技术方案,与现有技术相比,具有如下有益效果:
通过提取共同访问特征得到的文件集合实现攻击检测,使得当遇见用户上传Shell、拷贝、重命名Shell等变种情况时,依然能够实现攻击检测,不需要频繁更新检测规则,且检测的准确率更高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本实施例一提出的一种容器下反弹SHELL变种检测方法流程图。
具体实施方式
下面结合实施例对本发明做进一步的详细说明,以下实施例是对本发明的解释而本发明并不局限于以下实施例。
实施例一
如图1所示,一种容器下反弹shell变种检测方法,包括以下步骤:在不同系统上监控Bash类进程的访问文件;提取不同系统上的Bash类进程的访问文件的共同访问特征,并基于共同访问特征生成文件集合,具体地,Inotify-tools通过在不同系统上监控Bash类进程的访问文件,对共有的访问特征进行提取,即提取共同访问特征,从而通过共同访问特征实现即使在不同系统上的Bash也会访问该文件,进而解决系统差异导致的问题,
其中,提取共同访问特征包括以下步骤:判断不同系统上是否存在相同名称的Bash类进程的访问文件;若存在,则提取该Bash类进程的访问文件的文件名称作为共同访问特征,若不存在,则无需提取共同访问特征,例如,当在不同系统上检测到,共同访问文件为/etc/inputrc文件,则/etc/inputrc文件即为共同访问特征,然后将/etc/inputrc文件存储到文件集合内
需要说明的是,由于攻击者在进行攻击时,其必须要访问的文件本质是不会改变的,即无论反弹shell如何变种,攻击者进行攻击时,必然会访问某一种文件,且必然被访问的文件的特性是不同系统下,其文件名均相同不会被篡改的特性,因此本实施例通过提取这一部分攻击者必然会访问的文件组合成文件集合,并对文件集合的访问进行监控的形式,实现容器内的反弹shell变种检测。
进一步地,基于文件监控系统对文件集合进行监控,并生成监控结果时,需要在容器启动时将该容器的文件集合通过文件监控系统Fanotify监控上,而若是对主机的监控,则只需更改文件集合的路径即可实现,进而实现了既能对主机的安全检测也能进行容器化安全检测的检测能力
进一步地,当监控结果为发生文件访问时,执行反弹shell检测操作,具体包括以下步骤:获取被访问的文件的进程PID值,并基于进程PID值读取伪文件系统下的文件,得到反弹shell特征,其中,反弹shell特征包括当前进程、兄弟进程、父进程、爷进程的进程名以及文件描述符;基于反弹shell特征进行反弹shell判定。
具体地,获得进程PID后,通过读取伪文件系统/proc/pid/fd下的文件来获取反弹Shell特征,由于Linux一切皆文件的思想,直接通过读文件的方式,将/proc/pid/fd通过读取文件名的方式,即可读取到文件特征,之后将其进行规则判定,该特征包括socket、pipe等反弹Shell特征,除此之外,还会获取父进程,爷进程,兄弟进程的文件描述符,这些特征将作为判定依据使用。
具体地,反弹shell判定,包括以下步骤:检测伪文件系统下“0”号文件描述符是否为socket,若是,则为反弹shell;检测伪文件系统下“0”号描述符是否为pipe,若是,则从父进程、兄弟进程内查找关联进程,且当关联进程存在socket类型文件描述符时,判定为反弹shell;检测伪文件系统下是否存在ptmx类型描述符,若存在,则当爷进程同为ptmx进程且存在socket类型的文件描述符时,判定为反弹shell。
完成反弹shell判定后,为保证文件安全,还可发送SIGKILL信号进行进程阻断处理。
实施例二
一种容器下反弹shell变种检测装置,容器下反弹shell变种检测装置执行如实施例一任意一项的容器下反弹shell变种检测方法,包括监控模块、检测模块、规则引擎模块和阻断模块;监控模块用于通过文件监控系统监控文件集合,当文件集合发生文件访问时,将访问该文件的PID值发送至检测模块,即监控框架通过Fanotify监控文件集合,当发生文件访问时则会将访问该文件的PID发送给检测模块;
检测模块用于,接收PID值,并读取当前进程、兄弟进程、父进程、爷进程的进程名和文件描述符,作为特征值发送至规则引擎模块,具体地,当检测模块得到PID时,会将当前进程,兄弟进程,父进程,爷进程的的文件描述符,进程名进行读取,其将作为发给规则引擎的特征值,文件描述符特征值大致有Socket、Pipe、Ptmx等文件类型,当获得了特征后,将其发送给规则引擎进行反弹Shell判定;规则引擎模块用于根据文件描述符判定反弹shell,具体地,主要根据fd文件描述符来进行判定,判定方案如下:检测/proc/pid/fd下0号文件描述符是为socket则为反弹shell;检测/proc/pid/fd下0号描述符是否为pipe,如果是则从父,兄弟进程中寻找与之关联的进程,且该进程存在socket类型文件描述符则为反弹shell;检测/proc/pid/fd下是否存在ptmx类型描述符,如果是且爷进程也同为ptmx进程且存在Socket类型的文件描述符,则说明是反弹shell。
如果检测到反弹Shell,则直接将其发送给阻断模块进行阻断,具体地,当规则引擎模块检测到反弹shell时,阻断模块向上报进程发送SIGKILL信号,以直接阻断进程。
实施例三
一种容器下反弹shell变种检测系统,包括访问监控单元、特征提取单元、文件监控单元和检测单元;访问监控单元用于在不同系统上监控Bash类进程的访问文件;特征提取单元用于提取不同系统上的Bash类进程的访问文件的共同访问特征,并基于共同访问特征生成文件集合;文件监控单元用于基于文件监控系统对文件集合进行监控,并生成监控结果;检测单元用于当监控结果为发生文件访问时,执行反弹shell检测操作,由于本实施例的检测系统执行如实施例一所述的检测方法,因此在本实施例中,不再做详细赘述。
一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时,实现实施例一任意一项所述的容器下反弹shell变种检测方法。
计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线段的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线段、电线段、光缆、RF等等,或者上述的任意合适的组合。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块、模组或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元、模组或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。
所述单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线段、或半导体的系统、装置或器件,或者任意以上的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何在本发明揭露的技术范围内的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (8)

1.一种容器下反弹shell变种检测方法,其特征在于,包括以下步骤:
在不同系统上监控Bash类进程的访问文件;
提取不同系统上的Bash类进程的访问文件的共同访问特征,并基于所述共同访问特征生成文件集合;
基于文件监控系统对所述文件集合进行监控,并生成监控结果;
当所述监控结果为发生文件访问时,执行反弹shell检测操作。
2.根据权利要求1所述的一种容器下反弹shell变种检测方法,其特征在于,提取共同访问特征包括以下步骤:
判断不同系统上是否存在相同名称的Bash类进程的访问文件;
若存在,则提取该Bash类进程的访问文件的文件名称作为共同访问特征,若不存在,则无需提取共同访问特征。
3.根据权利要求1所述的一种容器下反弹shell变种检测方法,其特征在于,执行反弹shell检测操作,包括以下步骤:
获取被访问的文件的进程PID值,并基于所述进程PID值读取伪文件系统下的文件,得到反弹shell特征,其中,所述反弹shell特征包括当前进程、兄弟进程、父进程、爷进程的进程名以及文件描述符;
基于所述反弹shell特征进行反弹shell判定。
4.根据权利要求3所述的一种容器下反弹shell变种检测方法,其特征在于,反弹shell判定,包括以下步骤:
检测伪文件系统下“0”号文件描述符是否为socket,若是,则为反弹shell;
检测伪文件系统下“0”号描述符是否为pipe,若是,则从父进程、兄弟进程内查找关联进程,且当所述关联进程存在socket类型文件描述符时,判定为反弹shell;
检测伪文件系统下是否存在ptmx类型描述符,若存在,则当爷进程同为ptmx进程且存在socket类型的文件描述符时,判定为反弹shell。
5.根据权利要求1所述的一种容器下反弹shell变种检测方法,其特征在于,还包括以下步骤:
当反弹shell检测操作检测到反弹shell时,发送SIGKILL信号进行进程阻断处理。
6.一种容器下反弹shell变种检测装置,其特征在于,所述容器下反弹shell变种检测装置执行如权利要求1-5任意一项所述的容器下反弹shell变种检测方法,包括监控模块、检测模块、规则引擎模块和阻断模块;
所述监控模块用于通过文件监控系统监控文件集合,当所述文件集合发生文件访问时,将访问该文件的PID值发送至检测模块;
所述检测模块用于,接收所述PID值,并读取当前进程、兄弟进程、父进程、爷进程的进程名和文件描述符,作为特征值发送至规则引擎模块;
所述规则引擎模块用于根据文件描述符判定反弹shell;
所述阻断模块用于,当所述规则引擎模块检测到反弹shell时,向上报进程发送SIGKILL信号,以直接阻断进程。
7.一种容器下反弹shell变种检测系统,其特征在于,包括访问监控单元、特征提取单元、文件监控单元和检测单元;
所述访问监控单元用于在不同系统上监控Bash类进程的访问文件;
所述特征提取单元用于提取不同系统上的Bash类进程的访问文件的共同访问特征,并基于所述共同访问特征生成文件集合;
所述文件监控单元用于基于文件监控系统对所述文件集合进行监控,并生成监控结果;
所述检测单元用于当所述监控结果为发生文件访问时,执行反弹shell检测操作。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1-5任意一项所述的容器下反弹shell变种检测方法。
CN202310935774.2A 2023-07-27 2023-07-27 容器下反弹shell变种检测方法、装置、系统和存储介质 Pending CN116842510A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310935774.2A CN116842510A (zh) 2023-07-27 2023-07-27 容器下反弹shell变种检测方法、装置、系统和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310935774.2A CN116842510A (zh) 2023-07-27 2023-07-27 容器下反弹shell变种检测方法、装置、系统和存储介质

Publications (1)

Publication Number Publication Date
CN116842510A true CN116842510A (zh) 2023-10-03

Family

ID=88168987

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310935774.2A Pending CN116842510A (zh) 2023-07-27 2023-07-27 容器下反弹shell变种检测方法、装置、系统和存储介质

Country Status (1)

Country Link
CN (1) CN116842510A (zh)

Similar Documents

Publication Publication Date Title
US10657251B1 (en) Multistage system and method for analyzing obfuscated content for malware
EP3506139B1 (en) Malware detection in event loops
US10430586B1 (en) Methods of identifying heap spray attacks using memory anomaly detection
CN107066883B (zh) 用于阻断脚本执行的系统和方法
EP2839406B1 (en) Detection and prevention of installation of malicious mobile applications
US10192052B1 (en) System, apparatus and method for classifying a file as malicious using static scanning
RU2680736C1 (ru) Сервер и способ для определения вредоносных файлов в сетевом трафике
US8839435B1 (en) Event-based attack detection
CN111737696A (zh) 一种恶意文件检测的方法、系统、设备及可读存储介质
US20120144488A1 (en) Computer virus detection systems and methods
US20170061126A1 (en) Process Launch, Monitoring and Execution Control
CN107979581B (zh) 僵尸特征的检测方法和装置
RU2723665C1 (ru) Динамический индикатор репутации для оптимизации операций по обеспечению компьютерной безопасности
KR20150124370A (ko) 악성 프로세스 행동을 검출하기 위한 방법, 장치 및 시스템
EP3531329B1 (en) Anomaly-based-malicious-behavior detection
US10482240B2 (en) Anti-malware device, anti-malware system, anti-malware method, and recording medium in which anti-malware program is stored
CA2674327C (en) Exploit nonspecific host intrusion prevention/detection methods and systems and smart filters therefor
JP6000465B2 (ja) プロセス検査装置、プロセス検査プログラムおよびプロセス検査方法
US10860719B1 (en) Detecting and protecting against security vulnerabilities in dynamic linkers and scripts
KR20160099159A (ko) 악성 코드를 탐지하기 위한 전자 시스템 및 방법
CN114785567A (zh) 一种流量识别方法、装置、设备及介质
CN111783092B (zh) 面向安卓应用程序间通信机制的恶意攻击检测方法及系统
CN112395603B (zh) 基于指令执行序列特征的漏洞攻击识别方法、装置及计算机设备
CN112069499A (zh) 一种检测方法、装置、存储介质及电子设备
CN116842510A (zh) 容器下反弹shell变种检测方法、装置、系统和存储介质

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