基于容器技术的恶意代码检测方案,解决传统沙盒问题

检测维修 0 110

技术简介:

本发明针对传统沙盒存在的安全性差的问题,提出了基于容器技术的恶意代码检测方案,针对传统沙盒存在的资源消耗大的问题,也提出了基于容器技术的恶意代码检测方案。通过容器隔离环境,实现对可疑程序行为的实时监控与分析,通过系统调用hook机制,进行对可疑程序行为的实时监控与分析,从而兼顾安全性与运行效率。

关键词:容器技术,恶意代码检测,沙盒系统

本发明隶属信息安全技术领域范畴,特地涉及一种借助容器的恶意代码检测沙盒系统以及检测办法。

背景技术:

这些年来,恶意软件运用了诸多代码保护机制,像多重加密壳、驱动关联壳、变形壳等,还采用了多态和变形等新技术,致使传统的恶意代码静态分析技术面临严峻挑战。基于沙盒技术的动态行为分析技术成为识别未知恶意代码并对抗高级持续性威胁(apt)的有效办法。

现有的沙盒技术,一般分为两种:

有一种沙盒基于hook技术,它利用对内核过滤驱动以及dll注入等方式来实施hook,以此拦截可疑程序针对系统资源的操作(这些资源涵盖进程对象、文件、注册表、内存和网络等等),将可疑程序的写入操作重新定向于沙盒的隔离环境里,避免可疑程序对真实系统环境造成破坏,这种基于hook技术的沙盒安全性与隔离性欠佳,易于借助沙盒检测以及漏洞利用来实现沙盒逃逸,进而破坏沙盒的有效性。

还有一种是依托虚拟化技术构建的沙盒系统,它会将可疑程序放置于专门而独立的虚拟机里运行,借助虚拟化的相关机制,达成运行环境的有效隔离,可是,基于虚拟化技术的这种沙盒,因依赖完整的虚拟机,从而出现系统资源消耗比较大,并且虚拟机启动速度较为缓慢的状况,致使其实用性方面存在欠缺,这也成为了现有技术难以避免的不足之处。

技术实现要素:

在于本发明之中,目的是针对上述已有现有技术所存在的缺陷那里,去提供设计一种基于容器的恶意代码检测沙盒系统以及检测方法,从而解决上述技术层面的问题 。

为了达到上述目的,本发明的技术方案是;

有一种基于容器的恶意代码检测沙盒系统,它包含主机系统,还有恶意行为分析引擎,以及容器管理系统,另外还有若干个容器。

它是用于管理、运行容器之地,会对容器运行期间的系统调用予以阻滞、筛选,还还会把系统调用操作详情传送给那恶意行为分析引擎的系统设备 。

带有恶意性质行为的分析引擎,是用来接收主机所拦截的系统里容器系统调用的相关信息,并且还要对恶意行为展开分析从而生成分析报告的 。

在主机系统里,容器管理系统在其中运行,靠着这样它去管理容器的生命周期,以此形成完善过程了 的 。

这里面还涵盖着一个或者多个的容器镜像,容器管理系统,会依据可疑程序的类型,去挑选适宜的容器镜像,进而配置相应的容器,最终达成操作系统运行环境的隔离这一目的。

更进一步来说,该系统另外还涵盖系统内核,这个系统内核乃是主机系统以及容器共同分享的内核 。

包含系统调用hook内核模块的系统内核,系统调用hook内核模块,是用来生成系统调用hook机制的 。

主机系统借助系统调用hook机制,对容器的系统调用予以拦截,并且进行过滤,记录容器系统调用过程中的信息,而后发送到恶意行为分析引擎。

进一步的,该系统还包括恶意代码样本数据库;

存在一个恶意代码样本库,其用途是去保存针对可疑程序所做的恶意行为分析得出的分析结果,最后并对外进行提供查询这项服务。

进一步而言,系统调用hook机制存在多种实现方式,其中涵盖Linux系统内的seccomp - bpf机制,还有kprobe机制,另外包括系统调用地址替换方式,并且也有Windows系统的过滤驱动方式。

一种基于容器的恶意代码检测方法,包括如下步骤:

发起针对可疑程序的恶意代码检测;

容器管理系统选择容器镜像,配置容器;

容器管理系统开启容器,引发容器之内可疑程序的开启或者执行行为,。

钩子内核模块,对容器借助系统调用的行为实施截取,把系统调用的相关信息,有选择且精准地传送给恶意程序分析引擎,这是系统调用所运用的一种方式,借此实现对系统调用的拦截 。

恶意行为分析引擎依据上述容器的系统调用信息,针对可疑程序开展建模以及分析工作,进而生成分析报告,凭借该报告判断程序是不是含有恶意代码,接着更新恶意代码样本数据库,随后通知主机系统 。

主机系统会依据恶意行为分析引擎给出的分析结果,来判定是不是要中止容器的运行并且清除运行数据。

还有更进一步的情况,在步骤里,发起针对可疑程序的恶意代码检测之时,存在两种触发方式,一种是,由用户选定程序文件,通过手动触发,进而发起针对可疑程序的恶意代码检测;另一种是,由主机系统依照预设策略,自动触发,以此发起针对可疑程序的恶意代码检测。

进一步的,步骤容器管理系统选择容器镜像,配置容器中:

主机系统之中有让容器管理系统得以运行,此系统会对容器的生命周期予以管理,主机系统里运行着一个或者多个容器,容器管理系统依据可疑程序的类型,去挑选那对应的容器镜像,以此来配置种种不同的系统运行环境 。

进而,步骤方面,容器管理系统开启容器,并且引发容器里可疑程序的开启或者执行动作,这当中还涵盖着:

若可疑程序属于可执行程序范畴,那么便会致使该可疑程序得以执行;而若可疑程序并非可执行程序,依据其文件类型,挑选与之相应的软件来打开 。

与此同时,步骤通过系统调用相关的hook内核模块,对特定位置的容器内部系统调用展开拦截操作,并且会把经由这个拦截过程所获取到的系统调用信息,发送至专门用于恶意程序分析的引擎之上此具体状况涵盖了下述多方面的内容:

主机系统借助系统内核的系统调用,通过hook内核模块的系统调用hook机制,来对容器的系统调用实施拦截与过滤,记录下容器的系统调用过程信息,再将其发送至恶意行为分析引擎,。

系统调用进行hook机制的达成途径涵盖了、linux系统的seccomp - bpf机制,kprobe机制,又或系统调用地址替换方式,还有windows系统的过滤驱动方式 。 。

除此之外,恶意代码样本数据库存有可疑程序样本的行为分析结果,并且对外给予查询服务;恶意程序分析引擎能够运行于主机系统、虚拟机或者容器里,还能够运行于远程服务器上 。

百度恶意代码检测工具_容器沙盒系统_基于容器技术的恶意代码检测

对于容器方面,第一,关于在主机系统之上启动相关容器,第二,在该容器之内打开或者执行可疑程序,第三,主机系统呢可借助系统调用hook技术来截獲以及过滤此容器的系统调用操作,第四,把涉及容器的系统调用全过程的那些信息递送到被划定语“具有一种恶意性质行为判定能力的分析引擎”那里,第五,该恶意行为分析引擎针对于可疑程序的系统调用作为展开实时性的情况分析,依照得到成果生成分析报告,第六,再进行更新恶意程序那种代表样本的数据库,第七,并且通知主机系统去予以处理并执行落实。

本发明具备有益效果,发明借助容器技术达成可疑程序运行环境的有效隔离,相比较写入重定向技术沙盒,有着更好的安全性与隔离性,同时,相较于虚拟化沙盒,存在系统资源消耗小,启动速度快,管理便捷等特性,兼顾了安全性与运行效率,进而提升了实用性。本发明达成了恶意代码运行环境的安全隔离,提升了沙盒系统的安全性,同时节省了沙盒系统的系统资料消耗,加快了沙盒系统的启动速度,从而提高了恶意代码分析沙盒的实用性。

并且,此项发明的设计原理具备可靠性,其结构呈现为简单状态,拥有极为广泛的应用前景。

这般来看哈,就该发明同现存技术相比较而言,具备突出的实质性特性以及显著的进展状况,其施行所带来的有益成效同样是清晰可见的。

附图说明

图1是,由本发明实施例所提供的,一种基于容器的,恶意代码检测沙盒系统接框架示意图 。

一种基于容器的恶意代码检测方法流程图,是由本发明实施例所提供的,图2展示之 。

具体实施方式

下面,结合附图,通过具体实施例,详尽阐述本发明,以下实施例,具对本发明的解释作用,然而,本发明,并不限定于以下实施方式。

按照图1显示的样子,本发明实施例所给出的一种借助容器的恶意代码检测沙盒系统,包含主机系统,还有恶意行为分析引擎,以及容器管理系统,另外还有若干个个容器 。

主机系统,用于管理和运行容器,并对容器运行过程中的系统调用进行拦截和过滤,并将系统调用操作信息发送到恶意行为分析引擎;

恶意行为分析引擎,用于接收主机系统拦截的容器系统调用信息,并进行恶意行为分析生成分析报告;

容器管理系统运行在主机系统中,用于对容器的生命周期进行管理;

还包括一个或多个容器镜像,容器管理系统根据可疑程序的类型选择相应的容器镜像配置容器,实现操作系统运行环境的隔离。

该个系统,还涵盖着系统内核,那个系统内核呢,是主机系统以及容器共同分享的内核 。

系统内核包括系统调用hook内核模块,系统调用hook内核模块,用于产生系统调用hook机制;

主机系统通过系统调用hook机制,对容器的系统调用进行拦截和过滤,记录容器的系统调用过程信息,发送到恶意行为分析引擎。

该系统还包括恶意代码样本数据库;

恶意代码样本数据库,用于保存可疑程序的恶意行为分析结果,对外提供查询服务。

系统调用hook机制的实现方式包括linux系统的seccomp-bpf机制、kprobe机制和系统调用地址替换方式以及windows系统的过滤驱动方式。

主机系统,它是一种操作系统,这种操作系统呢,要么是支持容器的windows系统,要么是支持容器的linux系统,它的作用是为用户提供各种业务软件的运行环境,是这样的情况 。

系统内核,主机系统与容器共享的内核;

容器,它与宿主机系统共享内核,借助控制组(cgroups)、命名空间(namespace)以及联合文件系统(overlayfs、aufs或unionfs等等)等技术达成操作系统运行环境的隔离,它属于一种轻量级操作系统虚拟化技术,像docker、lxc以及windowsserver容器之类;。

有一种系统名为容器管理系统,它运行于主机系统之内,针对容器的生命周期予以管理,此管理涵盖了配置,涵盖了启动,还涵盖了关闭等等 。

基本的操作系统镜像,是容器镜像,是支持应用程序得到运行的那个基本的文件系统,不过其中并没有系统内核文件,。

被称为容器的文件系统,它是经由联合文件系统模块,将用于容器的镜像视作只读性质的文件系统,再跟具备可写特性的临时文件系统予以叠加,进而构建出完整的处于可写状态的容器文件系统;在容器运行的进程当中,不会对容器镜像造成改变,并且容器镜像能够被多个容器共同分享;将可写临时文件系统里的数据予以清除之后,容器会回滚至初始状态。

按照图2所呈现的样子,本发明实施例给出的一种借助容器的针对恶意代码的检测方法,涵盖了如下这些步骤:

步骤101:发起针对可疑程序的恶意代码检测;

在步骤101里,是由用户来选定程序文件,通过手动触发的方式,进而发起针对可疑程序的恶意代码检测,又或者是由主机系统依据预设策略自动触发,然后发起针对可疑程序的恶意代码检测。

步骤102:容器管理系统选择容器镜像,配置容器;

步骤102里,容器管理系统于主机系统内运行着,它对容器的生命周期予以管理,涵盖了配置、启动以及关闭等方面;主机系统乃是支持容器技术的windows或者linux操作系统,而主机系统之中能够运行一个或者多个容器;容器管理系统能够依据可疑程序的类型,挑选相应的容器镜像,配置不一样的系统运行环境;。

步骤一百零三,容器管理系统开启容器,进而引发容器内里可疑程序的开启或者执行行为 。

于步骤103里,要是可疑程序属于可执行程序,那么便会触发那个可疑程序的执行,要是可疑程序属于不可执行程序,依据其文件类型,去选择相应的软件来打开,。

步骤104,主机系统借助系统内核系统调用hook模块,拦截上述容器的系统调用,接着把系统调用信息发送至恶意程序分析引擎。

在步骤104里,系统调用hook存在多种达成方式,涵盖linux系统的seccomp - bpf机制、kprobe机制以及系统调用地址替换等方式,还有windows系统的过滤驱动方式,恶意程序分析引擎能够运行于主机系统、虚拟机或者容器之中,而且还能够运行在远程服务器上 。

步骤105:恶意行为分析引擎,依据上述所述容器的系统调用信息,针对可疑程序展开建模以及分析,进而生成分析报告,靠此判断程序是不是含有恶意代码,借此更新恶意程序样本数据库,并且通知主机系统 。

步骤105里,恶意程序样本数据库留存可疑程序样本的行为分析结果,且对外给予查询服务,。

步骤106,主机系统依据恶意行为分析引擎的分析所得结果,来判定是不是终止容器运行,并且还要清除运行方面的数据 。

以下公开的只是本发明的优选实施办法,然而本发明并非限定于此,任何本领域技术人员能想到的不存在创造性的变动,以及在不偏离本发明原理的前提下所做的若干改进与润饰,都应当落入本发明的保护范围之中。

相关推荐: