容器镜像安全检查方法及其装置与流程

文档序号:12157502阅读:305来源:国知局
本发明涉及一种容器镜像安全检查方法及其装置。更详细地,涉及一种对用于生成容器(Container)的镜像(Image)执行安全检查的方法及执行该方法的装置。
背景技术
::由于IT市场的迅速发展,要求提供能够进行应用程序的快速开发和发布的开发操作(DevOps)环境。根据这种要求,出现了作为用于进行应用程序的开发、安装及运行的开源平台的Docker。Docker使容器技术自动化,从而易于使用。容器技术为用于解决当软件从一个计算环境移动到其它计算环境时如何稳定操作的问题的解决方案。容器在开发者的笔记本电脑中可作为测试环境来应用,在数据移动环境中可作为产品来应用,并且在数据中心内的物理设备中可作为私有云或公共云内的虚拟机来应用。容器技术和虚拟化技术在一些方面多少有些相似,但在其它方面存在差别。即,当使用虚拟化技术时,所移动的程序包为虚拟机,其中整个操作系统和应用程序都包括。用于驱动三个虚拟机的物理服务器将具有管理器(hypervisor)和在其上被驱动的三个不同的操作系统。相反,关于用于驱动单一操作系统的容器,则用于驱动装入三个容器中的应用程序的服务器和各个容器会与其它容器共享操作系统的内核。操作系统的共享部分为只读部分,而在各个容器中具有用于记录的自动挂载。因此,与利用虚拟化技术相比,利用容器技术在计算资源应用的效率方面有利。Docker为利用所述容器技术来进行应用程序的开发、安装和运行的开源平台。如果应用Docker,则可从基础设施分离出应用程序,并能够如应用程序那样对基础设施进行管理。Docker有助于更快的代码安装、更快的测试和更快的发布,从而缩短编码和运行代码的周期。Docker基于轻量的容器提供较高的移植性(Portability)、扩展性(Scalability)和可用性(Availability)。Docker容器从镜像中生成。因此,所述镜像为最重要的安全管理对象之一。如果镜像的安全设置有误,则利用该镜像生成的容器会受到致命的安全攻击或有可能被用于攻击。因此,需要提供一种对用于生成容器的所述镜像进行安全检查的方法和执行该方法的装置。现有技术文献专利文献:韩国公开专利第2015-0047288号(2015年05月04日公开)技术实现要素:本发明所要解决的技术问题是提供一种在主机(host)操作系统上运行容器之前,对用于生成所述容器的镜像执行安全检查的方法及执行该方法的装置。本发明的技术问题并不限定于以上所提及的技术问题,本领域技术人员能够从下面的记载中明确理解没有提及的其它技术问题。为了解决上述技术问题,本发明的一方面(Aspect)的安全检查方法可包括以下步骤:接收用于生成容器的镜像,所述容器为用于能够在主机操作系统上运行的应用程序的隔离区域;通过解析所述镜像来识别用于构成所述镜像的一个以上的层;从所述一个以上的层收集作为安全检查对象的安全设置文件的路径;以及查询收集到的路径并检查是否存在违反已设置的安全策略的安全设置文件。在一实施例中,识别所述一个以上的层的步骤可包括:通过以所述镜像的更新日志为基础解析所述镜像来识别所述一个以上的层。在一实施例中,收集所述文件的路径的步骤可包括:判断在所述一个以上的层中是否存在安全设置文件的路径未被存储在已设置的熟知路径仓库中的层;以及从所述安全设置文件的路径未被存储的层的文件系统收集安全设置文件的路径。在一实施例中,进一步可包括以下步骤:生成安全检查列表,所述安全检查列表由存储在所述熟知路径仓库中的安全设置文件的路径和收集到的安全设置文件的路径构成。在一实施例中,所述生成安全检查列表的步骤可包括:在第一层的第一安全设置文件的路径与第二层的第二安全设置文件的路径相同的情况下,去除所述第一安全设置文件的路径和所述第二安全设置文件的路径中的一个路径。在一实施例中,去除所述一个路径的步骤可包括:在所述第一层为所述第二层的上级层的情况下,去除所述第一安全设置文件的路径,并且在所述第一层为所述第二层的下级层的情况下,去除所述第二安全设置文件的路径。在一实施例中,在收集安全设置文件的路径的步骤之后,可进一步包括将收集到的安全设置文件的路径存储在所述熟知路径仓库中的步骤。在一实施例中,所述熟知路径仓库可包括由根节点、子节点和叶节点构成的树形结构,所述根节点包括层的标识符,所述子节点包括已设置的安全策略的标识符,所述叶节点包括安全设置文件的路径。在一实施例中,进一步可包括以下步骤:生成安全检查结果所述安全检查结果包括违反所述已设置的安全策略的安全设置文件的路径和违反的已设置的安全策略的项目。在一实施例中,生成所述安全检查结果的步骤可包括:向服务器和所述应用程序的开发者装置中的至少之一传送所述安全检查结果,所述服务器用于管理能够通过所述应用程序的运行而提供的服务。为了解决上述技术问题,根据本发明的另一方面(Aspect),可提供一种安全检查装置,包括:接收用于生成容器的镜像的模块,所述容器为用于能够在主机操作系统上运行的应用程序的隔离区域;通过解析所述镜像来识别用于构成所述镜像的一个以上的层的模块;从所述一个以上的层收集作为安全检查对象的安全设置文件的路径的模块;以及查询收集到的路径并检查是否存在违反已设置的安全策略的安全设置文件的模块。根据如上所述的本发明,可在运行容器之前执行镜像的安全检查,从而事先防止因运行容器而可能产生的危险。并且,通过独立于容器的运行来执行安全检查,从而能够不依赖于容器的运行与否来决定安全检查环境和时间。此外,能够不消耗容器运行所需要的资源来执行安全检查。进一步,根据如上所述的本发明,可通过再使用已执行安全检查的安全设置文件的路径并去除重复的安全设置文件的路径,来缩短安全检查所需要的时间。本发明的效果并不限定于以上所提及的效果,本领域技术人员能够从下面的记载中明确理解没有提及的其它效果。附图说明图1是用于说明本发明一实施例的主机系统的图。图2是用于说明现有的主机服务器的图。图3是用于说明本发明一实施例的主机服务器的图。图4是用于说明本发明一实施例的安全检查方法的图。图5是用于说明本发明一实施例的镜像的层和安全检查列表的图。图6是用于说明本发明一实施例的去除重复路径的图。图7是用于说明本发明一实施例的包含在熟知路径仓库中的树形结构的图。图8是本发明一实施例的安全检查器的方框图。图9是本发明一实施例的主机服务器的硬件结构图。具体实施方式参照附图的同时参照详细地后述的实施例,本发明的优点及特性以及实现这些的方法将会明确。但是,本发明并不限定于以下所公开的实施例,而是可以以彼此不同的多种方式实现,本实施例仅仅用于完整地公开本发明,并且为了向本发明所属
技术领域
:的技术人员完整地告知本发明的范围而提供的,本发明仅由权利要求的范围定义。在说明书全文中相同的附图标记指相同的结构要素。在对本说明书进行说明之前,对本说明书中使用的若干个用语进行说明。虚拟化引擎(Virtualengine)为与基础设施(infrastructure)相分离来构建(build)、移动(ship)或运行(run)应用程序(application)的平台。具体来讲,虚拟化引擎可分配用于运行应用程序的资源(CPU、存储器、I/O模块或网络等)。此外,虚拟化引擎可提供与文件系统(filesystem)、进程(process)树或用户账户等隔离(isolate)的应用程序运行环境。本发明一实施例的虚拟化引擎可以是Docker,但并不限定于此。此外,虚拟化引擎可以基于LXC(LinuXContainers,LinuX容器)进行操作,但并不限定于此,也可以基于Libcontainer进行操作。镜像(Image)为用于移动应用程序的程序包。具体来讲,镜像可通过虚拟化引擎的构建命令来生成。镜像可以是只读(read-only)程序包,但并不限定于此。镜像可由一个以上的层构成。并且,镜像可用于生成容器。一个镜像也可以用于生成一个容器,并且还可以用于生成多个容器。容器(Container)为用于运行应用程序的虚拟的隔离区域。例如,所述容器可形成在存储器(RAM)上的特定区域中。具体来讲,容器可通过虚拟化引擎的运行命令从镜像中生成。容器支持操作系统级别的虚拟化。并且,容器可包括应用程序、二进制(binary)及库(library)。即,容器并不另行包括来宾操作系统(guestOS),能够以主机操作系统(hostOS)的内核(kernel)为基础,利用二进制及库来运行应用程序。层(Layer)为构成镜像的要素。具体来讲,在变更或附加层的一部分的情况下,虚拟化引擎不会将现有的镜像变更为新镜像,而是在现有的镜像中附加关于已变更或已附加的部分的层。在以下的说明中,将所述现有的镜像的层作为上级层来进行说明。并且,将所述关于已变更或已附加的部分的层作为下级层来进行说明。但是,上级层可由基础层等以不同的方式表述,这对本发明所属
技术领域
:的技术人员来说是显而易见的。并且,虚拟化引擎可以以镜像更新日志(updatelog)为基础,识别用于构成镜像 的层。此外,虚拟化引擎也可以以镜像的变更历史为基础,将镜像回滚(rollback)到之前状态。除此之外,如果没有其它定义,则在本说明书中所使用的所有用语(包括技术用语及科技用语)能够以本发明所属
技术领域
:的技术人员共同理解的含义使用。另外,在一般使用的词典中定义的用语只要没有被明确地特别定义,就不能理想地或过度地解释。在本说明书中使用的用语用于说明实施例,并不限制本发明。在本说明书中,单数形式只要在句子中未特别提及就可以包括复数形式。此外,在说明书中使用的“包括(comprises)”和/或“包含(comprising)”并不排除提及的结构要素、步骤、动作和/或元素之外的一个以上的其它结构要素、步骤、动作和/或元素的存在或附加。下面,参照附图,对本发明进行更详细说明。图1是用于说明本发明一实施例的主机系统的图。图1中所公开的主机系统的各结构要素为按功能区分的功能要素,在实际物理环境中可通过将一个以上的结构要素彼此结合来实现。参照图1,本发明一实施例的主机系统包括主机服务器10、镜像仓库20和开发者装置30。下面,对各结构要素进行具体说明。主机服务器10为用于提供主机服务的服务器。具体来讲,主机服务器10可提供的主机服务可以是平台即服务(PaaS:PlatformasaService)、基础设施即服务(Iaas:InfrastructureasaService)或软件即服务(SaaS:SoftwareasaService)中的任一种。即,在该情况下,主机服务器10可理解为用于提供云计算服务的服务器。主机服务器10可以是提供除云计算服务以外的多种主机服务的服务器。主机服务器10可包括主机操作系统11、虚拟化引擎13和容器15。在一实施例中,镜像仓库20存储由开发者装置30等多种外部装置构建的多种镜像21。所述外部装置是指除主机服务器10和开发者装置30以外的具备多种开发平台的计算装置。即,本实施例中,开发者装置30或所述外部装置将构建的镜像推送到镜像仓库20中。在另一实施例中,存储在镜像仓库20中的镜像21也可以是根据开发者装置30的命令、由主机服务器10的虚拟化引擎13构建的镜像。此时,主机服务器10的虚拟化引擎13可将构建的镜像21推送(push)到镜像仓库20中。主机服务器10的虚拟化引擎13可从镜像仓库20拉取(pulling)镜像21。主机服务器10的虚拟化引擎13可以以构建或拉取的镜像21为基础生成容器15。主机服务器10的虚拟化引擎13可以以主机操作系统11的内核为基础、利用二进制及 库17来运行包含在容器15中的应用程序19。特别是,本发明一实施例的主机服务器10可包括安全检查器100。安全检查器100可对构建或拉取的镜像21执行安全检查。即,在虚拟化引擎13运行容器15之前,安全检查器100可先对用于生成容器15的镜像21执行安全检查。并且,安全检查器100可将安全检查结果传送给用于管理开发者装置30或主机服务的服务器(未图示)。在本发明一实施例的安全检查器100可执行的安全检查可包括如下确认事项:在容器15的访问账户中有无不需要的账户;容器15的访问账户的密码有效性;容器15的访问路径和权限;容器15的更新日志;是否应用容器15的安全补丁;通过应用程序19执行的服务中的不需要的服务;应用程序19的环境设置;是否加密应用程序19的运行中所需要的数据;或者是否删除应用程序19的运行中不需要的数据,但并不限定于此。镜像仓库20为用于存储及管理镜像21的仓库。具体来讲,镜像仓库20可接收并存储从主机服务器10推送的镜像21。并且,镜像仓库20可以以主机服务器10能够拉取的方式传送镜像21。镜像仓库20可以是公共(public)仓库,但并不限定于此,也可以是私有(private)仓库。此外,本发明一实施例的镜像仓库20可以是Docker注册中心(DockerRegistryHub),但并不限定于此。开发者装置30为用于开发应用程序19的装置。具体来讲,本发明一实施例的开发者装置30可构建用于应用程序19的镜像21。并且,开发者装置30可将构建的镜像推送到镜像仓库20中。本发明另一实施例的开发者装置30可根据用户输入、通过主机服务器10来构建镜像21。例如,开发者装置30可通过向虚拟化引擎13传送build命令来构建镜像21。开发者装置30可根据用户输入来更新镜像21。例如,开发者装置30可通过向虚拟化引擎13传送commit命令来生成附加了针对已变更的部分的层的镜像21。开发者装置30可根据用户输入来生成容器15。例如,开发者装置30可通过向虚拟化引擎13传送创建(create)命令来生成容器15。开发者装置30可根据用户输入来运行生成的容器15。例如,开发者装置30可通过向虚拟化引擎13传送exec命令来运行生成的容器15。开发者装置30可根据用户输入将由主机服务器10构建的镜像21推送到镜像仓库20中。例如,开发者装置30可通过向虚拟化引擎13传送push命令来将由主机服务器10构建的镜像21推送到镜像仓库20中。开发者装置30可根据用户输入向主机服务器10拉取存储在镜像仓库20中的镜像21。例如,开发者装置30可通过向虚拟化引擎13传送pull命令来向主机服务器10拉取存储在镜像仓库20中的镜像21。本发明又一实施例的开发者装置30可根据用户输入、通过外部装置(未图示)来构建镜像21。此时,外部装置可以是能够对镜像21的构建提供专业化环境的装置,但并不限定于此。并且,开发者装置30可将通过外部装置(未图示)构建的镜像21推送到镜像仓库20中。并且,开发者装置30可接收由安全检查器100执行的安全检查结果。开发者装置30可将接收到的安全检查结果输出到屏幕。综上,本发明一实施例的主机系统通过在主机服务器10中运行容器15之前执行镜像21的安全检查,从而能够事先防止可因容器15的执行而产生的危险。此外,本发明一实施例的主机系统通过独立于容器15的运行执行安全检查,能够不依赖于容器15的运行与否来确定安全检查环境和时间。进而,本发明一实施例的主机系统能够不消耗容器15的运行所需要的资源来执行安全检查。下面,参照图2和图3,将现有的主机服务器和本发明一实施例的主机服务器10进行对比来进行说明。图2是用于说明现有的主机服务器的图。并且,图3是用于说明本发明一实施例的主机服务器10的图。参照图2,现有的主机服务器以主机操作系统11和管理器(Hypervisor,43)为基础运行一个以上的虚拟机(Virtualmachine,45)。并且,现有的主机服务器可以以包含在各个虚拟机45中的来宾操作系统(guestOS,47)为基础、利用二进制及库17来运行应用程序19。但是,现有的主机服务器为了重复运行用于主机操作系统11和各个虚拟机45的来宾操作系统47,消耗较多的资源。并且,现有的主机服务器通过管理器43和主机操作系统11来运行在来宾操作系统47中运行的应用程序19,从而有可能降低应用程序19的运行速度。参照图3,本发明一实施例的主机服务器10以主机操作系统11和虚拟化引擎13为基础运行一个以上的容器15。并且,主机服务器10可以以主机操作系统11的内核为基础、利用二进制及库17来运行应用程序19。因此,本发明一实施例的主机服务器10不会消耗用于运行来宾操作系统的资源。并且,主机服务器10通过主机操作系统11直接运行应用程序19,从而不会发生应用程序19的运行速度的降低。此外,通过在容器15中不包括来宾操作系统,可减小用于生成容器15的镜像21的容量。此外,本发明一实施例的主机服务器10可利用安全检查器100在运行容器15之前执行镜像21的安全检查。下面,对包含在本发明一实施例的主机服务器10中的安全检查器100进行说明。 图4是用于说明本发明一实施例的安全检查方法的顺序图。参照图4,安全检查器100从镜像仓库20接收用于生成容器15的镜像21(S100)。具体来讲,安全检查器100可从镜像仓库20拉取镜像21。并且,安全检查器100可接收拉取出的镜像21。安全检查器100通过解析(parsing)接收到的镜像21来识别构成镜像21的一个以上的层(S200)。具体来讲,安全检查器100可通过以接收到的镜像21的更新日志为基础解析所述镜像来识别所述一个以上的层。更新日志可包括镜像标识符、新层附加到镜像的日期及时间、新附加到镜像的层的容量及用于向镜像附加新层的命令,但并不限定于此。即,更新日志为关于层附加的镜像21的历史。安全检查器100判断在识别出的一个以上的层中是否存在安全设置文件的路径未被存储在熟知路径仓库中的层(S300)。安全设置文件的路径为作为安全检查对象的文件在文件系统上所处的路径。并且,熟知路径仓库为用于累积管理由安全检查器100已执行安全检查的层的安全设置文件的路径。熟知路径仓库可包括由根(root)节点、子(child)节点和叶(leaf)节点构成的树形结构。在该情况下,根节点可包括层的标识符,子节点可包括已设置的安全策略的标识符,叶节点可包括安全设置文件的路径。判断结果,在存在安全设置文件的路径未被存储的层的情况下,安全检查器100从安全设置文件的路径未被存储的层的文件系统收集安全设置文件的路径(S400)。具体来讲,安全检查器100可扫描安全设置文件的路径未被存储的层的文件系统并收集与存储在安全策略仓库中的安全设置文件的形式匹配的安全设置文件的路径。安全策略仓库为用于管理安全设置文件的形式和安全设置文件根据已设置的安全策略应具有的环境设置值的仓库。并且,安全检查器100将收集到的安全设置文件的路径进一步存储在熟知路径仓库中(S500)。安全检查器100生成安全检查列表(S600)。具体来讲,安全检查器100可生成由存储在熟知路径仓库中的安全设置文件的路径构成的安全检查列表。在该情况下,熟知路径仓库中存储有已存储的安全设置文件的路径和从文件系统新收集到的安全设置文件的路径。此外,在存在重复的安全设置文件的路径的情况下,安全检查器100可在去除一个安全设置文件的路径之后生成安全检查列表。具体来讲,在第一层的第一安全设置文件的路径和第二层的第二安全设置文件的路径相同的情况下,安全检查器100可去除第一安全设置文件的路径和第二安全设置文件的路径中的一个路径。特别是,在第一层为第二层的上级层的情况下,安全检查器100可去除第一层的第一安全设置文件的路径。并且,在第一层为第二层的下级层的情况下,安全检查器100可去除第二层 的第二安全设置文件的路径。即,安全检查器100可在构成镜像21的层中维持相对而言最近附加的层的安全设置文件的路径,并去除相对而言以前附加的层的安全设置文件的路径。安全检查器100查询安全检查列表,并检查是否存在违反已设置的安全策略的安全设置文件(S700)。具体来讲,安全检查器100可判断位于包含在安全检查列表里的安全设置文件的路径中的安全设置文件的环境设置值是否违反已设置的安全策略。并且,安全检查器100可以以存储在安全策略仓库中的安全设置文件应具有的环境设置值为基础,判断是否违反已设置的安全策略。更具体来讲,安全检查器100可在如下情况下判断为违反已设置的安全策略:容器15的访问账户中存在不需要的账户、容器15的访问账户的密码到期、存在容器15的不正当访问路径及权限、未应用容器15的安全补丁、通过应用程序19执行的服务中存在不需要的服务、允许不正当访问的应用程序19的环境设置、应用程序19的运行中所需要的数据的未加密、或存在应用程序19的运行中所不需要的数据,但并不限定于此。并且,安全检查器100可生成安全检查结果,并传送给用于管理能够通过应用程序的运行而提供的服务的服务器(未图示)和应用程序的开发者装置30中的至少之一。安全检查结果,在存在违反已设置的安全策略的安全设置文件的情况下,可包括违反已设置的安全策略的安全设置文件的路径和违反的已设置的安全策略的项目,但并不限定于此。图5是用于说明本发明一实施例的镜像21的层和安全检查列表的图。假设在图5所示的本发明一实施例的镜像21中包含有应用程序19、用于运行应用程序19的乌班图(Ubuntu)、Apachetomcat和Git的二进制及库17。并且,假设构成镜像21的四个层中的层1为用于乌班图的二进制及库的层,层2由Apachetomcat的二进制及库构成,层3由Git的二进制及库构成,层4由应用程序19的运行代码构成。参照图5,安全检查器100可通过解析镜像21来识别四个层。安全检查器100可以以熟知路径仓库为基础从识别出的层中收集安全设置文件的路径。具体来讲,安全检查器100可从层1收集“/etc/profile”、“/etc/bash.bashrc”等的安全设置文件的路径。安全检查器100可从层2收集“/tomcat/conf/server.xml”的安全设置文件的路径。安全检查器100可从层3收集“/etc/gitconfig”的安全设置文件的路径。并且,安全检查器100可从层4收集“/usr/app/config.xml”和“/usr/app/user.xml”的安全设置文件的路径。安全检查器100可以以存储在熟知路径仓库中的安全设置文件的路径和新收集到的安全设置文件的路径为基础,生成每个层的安全检查列表。具体来讲,在安全检查 器100所生成的层1的安全检查列表中可包含有具有“/etc/profile”、“/etc/bash.bashrc”等的值的两个以上的节点。在安全检查器100所生成的层2的安全检查列表中可包含有具有“/tomcat/conf/server.xml”值的节点。在安全检查器100所生成的层3的安全检查列表中可包含有具有“/etc/gitconfig”值的节点。并且,在安全检查器100所生成的层4的安全检查列表中可包含有具有“/usr/app/config.xml”、“/usr/app/user.xml”值的两个节点。图6是用于说明本发明一实施例的去除重复路径的图。假设在构成本发明一实施例的镜像21的四个层中,层1的安全设置文件的路径和层4的安全设置文件的路径重复。参照图6,安全检查器100可通过解析镜像21来识别四个层。安全检查器100可从层1收集“/etc/profile”、“/etc/bash.bashrc”等的安全设置文件的路径。并且,安全检查器100可从层4收集“/usr/app/config.xml”、“/usr/app/user.xml”和“/etc/profile”的安全设置文件的路径。安全检查器100可判断为层1的“/etc/profile”的安全设置文件的路径和层4的“/etc/profile”的安全设置文件的路径重复。由于层1为层4的上级层,因此安全检查器100可去除层1的重复的安全设置文件的路径。在去除重复的安全设置文件的路径之后,安全检查器100可生成每个层的安全检查列表。具体来讲,在安全检查器100所生成的层1的安全检查列表中可不包括具有“/etc/profile”值的节点,而是包括具有“/etc/bash.bashrc”等的值的一个以上的节点。并且,在安全检查器100所生成的层4的安全检查列表中可包含有具有“/usr/app/config.xml”、“/usr/app/user.xml”和“/etc/profile”的值的三个节点。因此,本发明一实施例的安全检查器100可通过去除重复的安全设置文件的路径来缩短安全检查中所需要的时间。图7是用于说明存储在本发明一实施例的熟知路径仓库中的树形结构的图。参照图7,熟知路径仓库可利用树形结构来累积管理已执行安全检查的层的安全设置文件的路径。包含在熟知路径仓库中的树形结构可具有三个级别。具体来讲,在树形结构的级别1的根节点中可包含有层的标识符。在树形结构的级别2的子节点中可包含有已设置的安全策略的标识符。在树形结构的级别3的叶节点中可包含有安全设置文件的路径。因此,本发明一实施例的安全检查器100可通过再使用安全检查已执行的安全设置文件的路径来缩短在收集用于构成镜像21的所有层的安全设置文件的路径时所消 耗的时间。目前为止,参照图4至图7进行说明的本发明实施例的方法可通过以计算机可读的代码实现的计算机程序的运行来执行。计算机程序可通过互联网等网络从第一计算装置传送到第二计算装置并安装在第二计算装置中,由此可在第二计算装置中使用。在此,第一计算装置和第二计算装置均可包括如台式机(Desktop)、服务器(Server)或工作站(Workstation)等的固定式计算装置;如智能手机(smartphone)、平板电脑(tablet)、平板手机(phablet)或膝上型电脑(laptop)等的移动计算装置;以及如智能手表(SmartWatch)、智能眼镜(SmartGlasses)或智能腕带(SmartBand)等的可穿戴式(wearable)计算装置。下面,对包含在本发明一实施例的主机服务器10中的安全检查器100的逻辑结构进行具体说明。图8是本发明一实施例的安全检查器100的方框图。参照图8,安全检查器100可包括输入输出部110、存储部120、镜像扫描部130、安全检查执行部140和安全检查控制部150。对各个结构进行说明,输入输出部100可输入和输出安全检查器100的操作中所需要的数据。具体来讲,输入输出部110可从镜像仓库20接收想要执行安全检查的、拉取出的镜像21。并且,输入输出部110可将通过安全检查控制部150生成的安全检查结果存储在文件中,或可通过网络传送该安全检查结果。存储部120可存储安全检查器100的操作中所需要的数据。具体来讲,存储部120可包括熟知路径仓库123和安全策略仓库126。熟知路径仓库123为用于对由安全检查器100已执行安全检查的层的安全设置文件的路径进行累积管理的仓库。并且,安全策略仓库126为用于管理安全设置文件的形式和安全设置文件根据已设置的安全策略应具有的环境设置值的仓库。镜像扫描部130可扫描安全设置文件。具体来讲,镜像扫描部130可扫描安全设置文件的路径未被存储在熟知路径仓库123中的层的文件系统。镜像扫描部130可收集与存储在安全策略仓库126中的安全设置文件的形式匹配的安全设置文件的路径。并且,镜像扫描部130可将收集到的安全设置文件的路径进一步存储在熟知路径仓库123中。安全检查执行部140检查是否存在违反已设置的安全策略的安全设置文件。具体来讲,安全检查执行部140可判断位于包含在安全检查列表里的安全设置文件的路径中的安全设置文件的环境设置值是否违反已设置的安全策略。并且,安全检查执行部140可以以存储在安全策略仓库126中的安全设置文件应具有的环境设置值为基础, 判断是否违反已设置的安全策略。更具体来讲,安全检查执行部140可在如下情况下判断为违反已设置的安全策略:容器15的访问账户中存在不需要的账户、容器15的访问账户的密码到期、存在容器15的不正当访问路径及权限、未应用容器15的安全补丁、通过应用程序19执行的服务中存在不需要的服务、允许不正当访问的应用程序19的环境设置、应用程序19的运行中所需要的数据的未加密、或存在应用程序19的运行中所不需要的数据的情况下,但并不限定于此。安全检查控制部150可通过控制输入输出部110、存储部120、镜像扫描部130和安全检查执行部140来执行安全检查。具体来讲,安全检查控制部150可通过解析由输入输出部110接收到的镜像21来识别构成镜像21的一个以上的层。在识别出的一个以上的层中存在安全设置文件的路径未被存储在熟知路径仓库123中的层的情况下,安全检查控制部150可通过镜像扫描部130来收集安全设置文件的路径。安全检查控制部150可生成由存储在熟知路径仓库123中的安全设置文件的路径构成的安全检查列表。特别是,在存在重复的安全设置文件的路径的情况下,安全检查控制部150可在去除一个安全设置文件的路径之后生成安全检查列表。安全检查控制部150可通过安全检查执行部140来检查包含在安全检查列表里的安全设置文件中是否存在违反已设置的安全策略的安全设置文件。安全检查控制部150可生成安全检查结果。并且,安全检查控制部150可通过输入输出部110来输出安全检查结果。目前为止,图8的各个结构要素可指软件、或者如现场可编程门阵列(Field-ProgrammableGateArray,FPGA)或专用集成电路(Application-SpecificIntegratedCircuit,ASIC)等的硬件。但是,所述结构要素并不限定于软件或硬件,而是可以构成为位于可寻址(addressing)的存储介质中,还可以构成为执行一个或更多个处理器。在所述结构要素内提供的功能可由进一步细分的结构要素来实现,还可以以将多个结构要素相加来执行特定的功能的一个结构要素来实现。图9是本发明一实施例的主机服务器10的硬件结构图。参照图9,主机服务器10可包括处理器51、存储器53、网络接口55、数据总线57和贮存器59。处理器51可由用于执行运算的一个以上的中央处理器(CentralProcessingUnit,CPU)构成。存储器53中可驻留有主机操作系统11、虚拟化引擎13和容器15。特别是,存储器53中可驻留有用于执行本发明一实施例的安全检查方法的安全检查器100。网络接口55可与镜像仓库20或开发者装置30进行数据收发。数据总线57可执行用于在处理器51、存储器53、网络接口55和贮存器59之间传递数据的移动通道功能。并且,贮存器59中可存储有镜像21和用于执行本发明一实施例的安全检查方法的安全检查器100。更具体来讲,贮存器59中可存储有包括如下指令的计算机程序:接收用于生成容器15的镜像21的指令(Instruction),所述容器15为用于能够在主机操作系统11中运行的应用程序19的隔离区域;通过解析镜像21来识别构成所述镜像21的一个以上的层的指令;从一个以上的层收集作为安全检查对象的安全设置文件的路径的指令;以及查询收集到的路径并检查是否存在违反已设置的安全策略的安全设置文件的指令。以上参照附图对本发明的实施例进行了说明,但本发明所属
技术领域
:的技术人员应能理解,本发明可不变更本发明的技术思想或必要特征而以其他具体方式实施。因此,应理解为以上所述的实施例在所有方面为示例性的而并非限定性的。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1