CN113656809A - 镜像的安全检测方法、装置、设备及介质 - Google Patents
镜像的安全检测方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113656809A CN113656809A CN202111022432.9A CN202111022432A CN113656809A CN 113656809 A CN113656809 A CN 113656809A CN 202111022432 A CN202111022432 A CN 202111022432A CN 113656809 A CN113656809 A CN 113656809A
- Authority
- CN
- China
- Prior art keywords
- file
- mirror image
- list
- detection result
- image
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 295
- 238000000034 method Methods 0.000 claims abstract description 57
- 238000012216 screening Methods 0.000 claims abstract description 20
- 238000001914 filtration Methods 0.000 claims abstract description 16
- 241000700605 Viruses Species 0.000 claims description 88
- 238000009434 installation Methods 0.000 claims description 29
- 230000006870 function Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 3
- 241001388118 Anisotremus taeniatus Species 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本申请提出一种镜像的安全检测方法、装置、设备及介质,其中,方法包括:接收客户端发送的镜像的下载地址,根据下载地址,下载镜像,并解析镜像中的文件目录结构;按照设定规则,对文件目录结构进行过滤,以筛选得到应用软件安装列表、可执行文件列表和网页文件列表中的至少一项;根据应用软件安装列表、可执行文件列表和网页文件列表中的至少一项,对镜像进行安全性检测,以得到安全性检测结果;将安全性检测结果发送至客户端。由此,可以实现对镜像进行安全性检测,从而用户可以根据安全性检测结果确定镜像是否安全,以保证用户使用的为安全的镜像,并且还可以帮助安全人员更全面的检查镜像的安全隐患。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种镜像的安全检测方法、装置、设备及介质。
背景技术
相比于虚拟机,容器具有更加灵活的部署方式和更高的性能,在应对敏捷开发、持续交付和成本节约等需求的情况下,容器具有更大的优势并可以广泛应用于各种场景中。目前大多数应用所使用的容器镜像是基于网络公开的共享镜像所构建的,容器所使用的共享镜像的安全性是应用安全的基础。因此,如何对共享镜像进行安全性检测是非常重要的。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
本申请提出一种镜像的安全检测方法、装置、设备及介质,以实现对镜像进行安全性检测,从而用户可以根据安全性检测结果确定镜像是否安全,以保证用户使用的为安全的镜像,并且还可以帮助安全人员更全面的检查镜像的安全隐患。
本申请第一方面实施例提出了一种镜像的安全检测方法,包括:
接收客户端发送的镜像的下载地址;
根据所述下载地址,下载所述镜像,并解析所述镜像中的文件目录结构;
按照设定规则,对所述文件目录结构进行过滤,以筛选得到应用软件安装列表、可执行文件列表和网页文件列表中的至少一项;
根据所述应用软件安装列表、所述可执行文件列表和所述网页文件列表中的至少一项,对所述镜像进行安全性检测,以得到安全性检测结果;
将所述安全性检测结果发送至所述客户端。
本申请第二方面实施例提出了一种镜像的安全检测装置,包括:
接收模块,用于接收客户端发送的镜像的下载地址;
处理模块,用于根据所述下载地址,下载所述镜像,并解析所述镜像中的文件目录结构;
筛选模块,用于按照设定规则,对所述文件目录结构进行过滤,以筛选得到应用软件安装列表、可执行文件列表和网页文件列表中的至少一项;
检测模块,用于根据所述应用软件安装列表、所述可执行文件列表和所述网页文件列表中的至少一项,对所述镜像进行安全性检测,以得到安全性检测结果;
发送模块,用于将所述安全性检测结果发送至所述客户端。
本申请第三方面实施例提出了一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如本申请第一方面实施例提出的镜像的安全检测方法。
本申请第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请第一方面实施例提出的镜像的安全检测方法。
本申请第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如本申请第一方面实施例提出的镜像的安全检测方法。
上述本申请中的一个实施例至少具有如下优点或有益效果:
通过接收客户端发送的镜像的下载地址,根据下载地址,下载镜像,并解析镜像中的文件目录结构;按照设定规则,对文件目录结构进行过滤,以筛选得到应用软件安装列表、可执行文件列表和网页文件列表中的至少一项;根据应用软件安装列表、可执行文件列表和网页文件列表中的至少一项,对镜像进行安全性检测,以得到安全性检测结果;将安全性检测结果发送至客户端。由此,可以实现对镜像进行安全性检测,从而用户可以根据安全性检测结果确定镜像是否安全,以保证用户使用的为安全的镜像,并且还可以帮助安全人员更全面的检查镜像的安全隐患。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例一所提供的镜像的安全检测方法的流程示意图;
图2为本申请实施例二所提供的镜像的安全检测方法的流程示意图;
图3为本申请实施例三所提供的镜像的安全检测方法的流程示意图;
图4为本申请实施例四所提供的镜像的安全检测方法的流程示意图;
图5为本申请实施例五所提供的镜像的安全检测方法的流程示意图;
图6为本申请实施例六所提供的镜像的安全检测方法的流程示意图;
图7为本申请实施例的检测原理示意图;
图8为本申请实施例七所提供的镜像的安全检测装置的结构示意图;
图9示出了适于用来实现本申请实施方式的示例性计算机设备的框图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
目前,可以基于以下方式,对镜像进行安全性检测:利用开源工具获取镜像的操作***及应用版本等数据,根据获取的数据,匹配CVE(Common Vulnerabilities&Exposures,通用漏洞披露)数据库,以确定已安装应用可能存在的漏洞。
然而上述方式,仅扫描操作***中已安装应用是否存在对应的CVE漏洞,这种检测方案显然并不全面,原因为:恶意的镜像构造者可以轻易地将病毒或代码执行环境文件(例如webshell文件)放在镜像中而不被使用者发现。
因此针对上述问题,本申请提出一种镜像的安全检测方法、装置、设备及存储介质。
下面参考附图描述本申请实施例的镜像的安全检测方法、装置、设备及介质。在具体描述本申请实施例之前,为了便于理解,首先对常用技术词进行介绍:
CVE,是安全漏洞库,也是对已知漏洞和安全缺陷的标准化名称的列表,其使命是为了能够更加快速而有效地鉴别、发现和修复应用软件产品的安全漏洞。
webshell,是以后缀为asp、php、jsp或者cgi等网页文件形式存在的一种代码执行环境,主要用于网站管理、服务器管理、权限管理等操作,也可以被黑客当作后门程序使用,以达到控制网站服务器的目的。
Digest,是基于镜像构建的确定性生成的哈希值。Digest可以用来确定镜像内容是否存在更改。
图1为本申请实施例一所提供的镜像的安全检测方法的流程示意图。
本申请实施例的执行主体可以为服务端。
如图1所示,该镜像的安全检测方法可以包括以下步骤:
步骤101,接收客户端发送的镜像的下载地址。
在本申请实施例中,镜像的下载地址可以为镜像的下载链接,或者为镜像仓库地址以及登陆口令。
在本申请实施例中,用户可以在客户端输入镜像的下载地址,客户端在监测到用户输入镜像的下载地址后,可以将镜像的下载地址发送至服务端,相应的,服务端可以接收客户端发送的镜像的下载地址。
其中,镜像的下载地址的输入方式包括但不限于触摸输入(如滑动、点击等)、键盘输入、语音输入等。
步骤102,根据下载地址,下载镜像,并解析镜像中的文件目录结构。
在本申请实施例中,服务端在接收到镜像的下载地址后,可以根据镜像的下载地址,下载镜像。并且,服务端在下载得到镜像后,可以对镜像中的镜像文件进行解析,以确定镜像中的文件目录结构。
步骤103,按照设定规则,对文件目录结构进行过滤,以筛选得到应用软件安装列表、可执行文件列表和网页文件列表中的至少一项。
在本申请实施例中,应用软件安装列表可以包括镜像操作***中各已安装应用的安装名称和版本。
在本申请实施例中,可执行文件列表可以包括镜像中各可执行文件。
在本申请实施例中,网页文件列表可以包括镜像中各网页文件(即web文件),网页文件可以包括后缀为asp、php、jsp或者cgi等网页文件。
在本申请实施例中,设定规则为预先设置的规则。
在本申请实施例中,可以按照设定规则,对文件目录结构进行过滤,以筛选得到应用软件安装列表、可执行文件列表和网页文件列表中的至少一项。
步骤104,根据应用软件安装列表、可执行文件列表和网页文件列表中的至少一项,对镜像进行安全性检测,以得到安全性检测结果。
在本申请实施例中,服务端可以根据应用软件安装列表、可执行文件列表和网页文件列表中的至少一项,对镜像进行安全性检测,以得到安全性检测结果,该安全性检测结果用于指示镜像是否安全,或者用于指示镜像中的镜像文件是否安全。
步骤105,将安全性检测结果发送至客户端。
在本申请实施例中,服务端在对镜像进行安全性检测,得到安全性检测结果之后,可以将安全性检测结果发送至客户端,以使用户及时获知镜像是否安全。
本申请实施例的镜像的安全检测方法,通过接收客户端发送的镜像的下载地址,根据下载地址,下载镜像,并解析镜像中的文件目录结构;按照设定规则,对文件目录结构进行过滤,以筛选得到应用软件安装列表、可执行文件列表和网页文件列表中的至少一项;根据应用软件安装列表、可执行文件列表和网页文件列表中的至少一项,对镜像进行安全性检测,以得到安全性检测结果;将安全性检测结果发送至客户端。由此,可以实现对镜像进行安全性检测,从而用户可以根据安全性检测结果确定镜像是否安全,以保证用户使用的为安全的镜像,并且还可以帮助安全人员更全面的检查镜像的安全隐患。
在本申请实施例的一种可能的实现方式中,为了验证镜像中文件的完整性,以确定镜像中的文件是否被篡改,本申请中,客户端还可以向服务端发送镜像的摘要数值,服务端在下载得到镜像后,可以计算镜像中的镜像文件对应的摘要数值,将两个摘要数值进行匹配,只有在一致的情况下,服务端才对镜像进行安全性检测。下面结合图2,对上述过程进行详细说明。
图2为本申请实施例二所提供的镜像的安全检测方法的流程示意图。
本申请实施例的执行主体可以为服务端。
如图2所示,该镜像的安全检测方法可以包括以下步骤:
步骤201,接收客户端发送的镜像的下载地址及第一摘要数值。
在本申请实施例中,第一摘要数值是用户在客户端输入的镜像对应的摘要数值,其中,摘要数值例如可以为Digest值。
在本申请实施例中,用户可以在客户端输入镜像的下载地址和第一摘要数值,客户端在监测到用户输入镜像的下载地址和第一摘要数值后,可以将镜像的下载地址和第一摘要数值发送至服务端,相应的,服务端可以接收客户端发送的镜像的下载地址和第一摘要数值。
步骤202,根据下载地址,下载镜像。
步骤203,确定镜像中的镜像文件的第二摘要数值。
在本申请实施例中,服务端在下载得到镜像后,可以计算镜像中的镜像文件对应的第二摘要数值。
步骤204,在第二摘要数值与第一摘要数值相同的情况下,对镜像中的镜像文件进行解析,以确定镜像中的文件目录结构。
在本申请实施例中,服务端可以将第二摘要数值与第一摘要数值进行比对,在第二摘要数值与第一摘要数值不同的情况下,可以确定镜像中的镜像文件被篡改,此时,无需对镜像进行安全性验证,可以直接向客户端返回镜像不安全的检测结果,或者,向客户端返回镜像被篡改的检测结果;而在第二摘要数值与第一摘要数值相同的情况下,可以对镜像中的镜像文件进行解析,以确定镜像中的文件目录结构,比如可以按层解析镜像中的镜像文件,得到文件目录结构。
步骤205,按照设定规则,对文件目录结构进行过滤,以筛选得到应用软件安装列表、可执行文件列表和网页文件列表中的至少一项。
步骤206,根据应用软件安装列表、可执行文件列表和网页文件列表中的至少一项,对镜像进行安全性检测,以得到安全性检测结果。
步骤207,将安全性检测结果发送至客户端。
步骤205至207的执行过程可以参见本申请任一实施例的执行过程,在此不做赘述。
本申请实施例的镜像的安全检测方法,通过接收客户端发送的镜像的下载地址和第一摘要数值;根据下载地址,下载镜像;确定镜像中的镜像文件的第二摘要数值;在第二摘要数值与第一摘要数值相同的情况下,对镜像中的镜像文件进行解析,以确定文件目录结构。由此,可以实现验证镜像中文件的完整性,即确定镜像中的文件是否被篡改。
为了清楚说明本申请上述实施例中是如何筛选得到应用软件安装列表,并根据应用软件安装列表对镜像进行安全性检测的,本申请还提出一种镜像的安全性检测方法。
图3为本申请实施例三所提供的镜像的安全检测方法的流程示意图。
本申请实施例的执行主体可以为服务端。
如图3所示,该镜像的安全检测方法可以包括以下步骤:
步骤301,接收客户端发送的镜像的下载地址。
步骤302,根据下载地址,下载镜像,并解析镜像中的文件目录结构。
步骤301至302的执行过程可以参见上述任一实施例的执行过程,在此不做赘述。
步骤303,获取文件目录结构中处于第一设定目录下的镜像文件。
在本申请实施例中,第一设定目录为预先设定的目录,比如,该第一设定目录可以为etc/*-release。
在本申请实施例中,可以获取文件目录结构中处于第一设定目录下的镜像文件。
步骤304,对第一设定目录下的镜像文件进行解析,以确定镜像操作***的名称和版本。
在本申请实施例中,可以对第一设定目录下的镜像文件进行解析,确定镜像操作***的名称和版本。
步骤305,根据镜像操作***的名称和版本,确定应用软件安装列表。
在本申请实施例中,可以根据镜像操作***的名称和版本,确定应用软件安装列表。
在本申请实施例的一种可能的实现方式中,不同的镜像操作***可能对应不同的软件管理工具,本申请中,可以确定与镜像操作***的名称和版本对应的目标软件管理工具,并获取目标软件管理工具记录的应用安装历史和已安装应用所依赖的文件,通过解析各已安装应用所依赖的文件,来确定当前镜像层的各已安装应用的安装名称和版本,从而可以根据各已安装应用的安装名称和版本,确定应用软件安装列表,即应用软件安装列表中包括上述已安装应用的安装名称和版本。
步骤306,根据应用软件安装列表中的各已安装应用的安装名称和版本,查询通用漏洞披露CVE数据库,以确定各已安装应用是否存在CVE漏洞。
在本申请实施例中,CVE数据库中存储多个安装名称和多个版本与CVE漏洞之间的对应关系。
在本申请实施例中,可以根据应用软件安装列表中的各已安装应用的安装名称和版本,查询通用漏洞披露CVE数据库,以确定各已安装应用是否存在对应的CVE漏洞。
步骤307,响应于至少一个已安装应用存在CVE漏洞,生成用于指示镜像不安全的安全性检测结果。
在本申请实施例中,在存在至少一个已安装应用存在对应的CVE漏洞的情况下,可以生成用于指示镜像不安全的安全性检测结果。
步骤308,将安全性检测结果发送至客户端。
步骤308的执行过程可以参见上述实施例的执行过程,在此不做赘述。
本申请实施例的镜像的安全检测方法,通过根据应用软件安装列表中的各已安装应用的安装名称和版本,查询通用漏洞披露CVE数据库,以确定各已安装应用是否存在CVE漏洞列表;响应于至少一个已安装应用存在CVE漏洞列表,生成用于指示镜像不安全的安全性检测结果。由此,可以实现对镜像操作***中各已安装应用进行CVE漏洞检测。
为了清楚说明本申请上述实施例中是如何筛选得到可执行文件列表,并根据可执行文件列表对镜像进行安全性检测的,本申请还提出一种镜像的安全性检测方法。
图4为本申请实施例四所提供的镜像的安全检测方法的流程示意图。
本申请实施例的执行主体可以为服务端。
如图4所示,该镜像的安全检测方法可以包括以下步骤:
步骤401,接收客户端发送的镜像的下载地址。
步骤402,根据下载地址,下载镜像,并解析镜像中的文件目录结构。
步骤401至402的执行过程可以参见上述任一实施例的执行过程,在此不做赘述。
步骤403,获取文件目录结构中处于第二设定目录下的各可执行文件。
在本申请实施例中,第二设定目录为预先设定的目录,比如,该第二设定目录可以为usr/local/bin,和/或,usr/bin/目录。
在本申请实施例中,可以获取文件目录结构中处于第二设定目录下的各可执行文件,即本申请中,可以获取目标层(比如bin层)的目录下的各可执行文件(例如二进制文件)。
步骤404,根据各可执行文件,确定可执行文件列表。
在本申请实施例中,可以根据各可执行文件,确定可执行文件列表,即可执行文件列表中包括上述各个可执行文件。
步骤405,将可执行文件列表中的各可执行文件保存到本地。
步骤406,针对每个可执行文件,计算可执行文件的第三摘要数值。
在本申请实施例中,可以计算每个可执行文件的摘要数值,本申请中记为第三摘要数值,该第三摘要数值例如可以为MD5(Message Digest Algorithm 5,消息摘要算法第五版)值。
步骤407,查询本地存储的第一对应关系,以确定是否存储有第三摘要数值对应的第一病毒检测结果。
在本申请实施例中,第一对应关系为摘要数值与病毒检测结果之间的对应关系,病毒检测结果用于指示可执行文件是否存在病毒。
在本申请实施例中,针对每个可执行文件,可以根据该可执行文件的第三摘要数值,查询本地存储的摘要数值与病毒检测结果之间的第一对应关系,以确定本地是否存储有该第三摘要数值对应的第一病毒检测结果。
步骤408,响应于存储有第一病毒检测结果,根据第一病毒检测结果,生成对应的安全性检测结果。
在本申请实施例中,针对每个可执行文件,在本地存储有该可执行文件的第三摘要数值对应的第一病毒检测结果的情况下,可以根据第一病毒检测结果,生成对应的安全性检测结果。
作为一种示例,当每个可执行文件的第一病毒检测结果均指示对应的可执行文件未存在病毒,则安全性检测结果用于指示镜像安全,或者用于指示镜像文件未存在病毒;而当存在至少一个可执行文件的第一病毒检测结果指示对应的可执行文件存在病毒,则安全性检测结果用于指示镜像不安全,或者用于指示镜像文件存在病毒。
步骤409,响应于未存储有第一病毒检测结果,调用病毒检测服务对可执行文件进行病毒检测,以得到第二病毒检测结果,并将第三摘要数值与第二病毒检测结果之间的对应关系添加到本地存储的第一对应关系中。
在本申请实施例中,针对每个可执行文件,在本地未存储有该可执行文件的第三摘要数值对应的第一病毒检测结果的情况下,可以调用病毒检测服务对该可执行文件进行病毒检测,以得到第二病毒检测结果。
作为一种示例,病毒检测服务可以集成至少一个病毒检测模块,每个病毒检测模块对可执行文件进行病毒检测后,可以输出对应的检测值,将各病毒检测模块对应的置信度与各病毒检测模块的检测值进行加权求和,得到最终的目标检测值,根据目标检测值,生成第二病毒检测结果。比如,在目标检测值较低的情况下,第二病毒检测结果用于指示可执行文件存在病毒,在目标检测值较高的情况下,第二病毒检测结果用于指示可执行文件未存在病毒。
在本申请实施例中,还可以将第三摘要数值与第二病毒检测结果之间的对应关系添加到本地存储的第一对应关系中,由此,可以实现对第一对应关系进行动态维护。
步骤410,根据第二病毒检测结果,生成对应的安全性检测结果。
在本申请实施例中,针对每个可执行文件,在得到该可执行文件的第二病毒检测结果的情况下,可以根据第二病毒检测结果,生成对应的安全性检测结果。
作为一种示例,当每个可执行文件的第二病毒检测结果均指示对应的可执行文件未存在病毒,则安全性检测结果用于指示镜像安全,或者用于指示镜像文件未存在病毒;而当存在至少一个可执行文件的第二病毒检测结果指示对应的可执行文件存在病毒,则安全性检测结果用于指示镜像不安全,或者用于指示镜像文件存在病毒。
步骤411,将安全性检测结果发送至客户端。
步骤411的执行过程可以参见上述实施例的执行过程,在此不做赘述。
本申请实施例的镜像的安全检测方法,还可以实现对镜像中的病毒文件进行检测,可以提升镜像安全检测的全面性。
为了清楚说明本申请上述实施例中是如何筛选得到网页文件列表,并根据网页文件列表对镜像进行安全性检测的,本申请还提出一种镜像的安全性检测方法。
图5为本申请实施例五所提供的镜像的安全检测方法的流程示意图。
本申请实施例的执行主体可以为服务端。
如图5所示,该镜像的安全检测方法可以包括以下步骤:
步骤501,接收客户端发送的镜像的下载地址。
步骤502,根据下载地址,下载镜像,并解析镜像中的文件目录结构。
步骤501至502的执行过程可以参见上述任一实施例的执行过程,在此不做赘述。
步骤503,获取文件目录结构中处于第三设定目录下的配置文件。
在本申请实施例中,第三设定目录为预先设定的目录,比如,该第三设定目录可以为/etc/php-fpm.d/目录。
在本申请实施例中,可以获取文件目录结构中处于第三设定目录下的配置文件(即conf文件)。
步骤504,根据配置文件中目标函数的取值,确定第一工作目录,并获取第一工作目录下的网页文件。
在本申请实施例中,目标函数可以包括chroot和/或chdir函数。
在本申请实施例中,可以根据配置文件中目标函数的取值,确定第一工作目录,例如,当目标函数为chroot函数和chdir函数时,第一工作目录可以为root目录。在确定第一工作目录后,可以获取该第一工作目录下的网页文件。
步骤505,查询文件目录结构中处于第四设定目录下的目标文件,并对目标文件进行解析,以确定目标文件中的目标参数。
在本申请实施例中,第四设定目录为预先设定的目录,比如,该第四设定目录可以为conf/,和/或,conf/Catalina/localhost/目录。
在本申请实施例中,目标文件可以为设定后缀的文件,比如,目标文件可以包括后缀为xml的文件。比如可以查找conf/server.xml和conf/Catalina/localhost/*.xml,将server.xml、*.xml文件,作为目标文件。
在本申请实施例中,目标参数为设定参数,比如该目标参数可以为DocBase。
在本申请实施例中,可以对目标文件进行解析,以确定目标文件中的目标参数。
步骤506,根据目标参数确定第二工作目录,并获取第二工作目录下的网页文件。
在本申请实施例中,可以根据目标参数,确定第二工作目录,比如,当目标参数为DocBase参数时,第二工作目录可以为tomcat的工作目录。
在本申请实施例中,在确定第二工作目录后,可以获取该第二工作目录下的各网页文件。
步骤507,根据第一工作目录下的网页文件和第二工作目录下的网页文件,确定网页文件列表。
在本申请实施例中,可以根据第一工作目录下的各网页文件和第二工作目录下的各网页文件,确定网页文件列表,即网页文件列表中可以包括第一工作目录下的各网页文件和/或第二工作目录下的各网页文件。
步骤508,将网页文件列表中的各网页文件保存到本地。
步骤509,针对每个网页文件,计算网页文件的第四摘要数值。
在本申请实施例中,可以计算每个网页文件的摘要数值,本申请中记为第四摘要数值,比如该第四摘要数值可以为MD5值。
步骤510,查询本地存储的第二对应关系,以确定是否存储有第四摘要数值对应的第一代码执行环境检测结果。
在本申请实施例中,第二对应关系为摘要数值与代码执行环境检测结果,代码执行环境检测结果用于指示网页文件是否为代码执行环境文件,比如,以代码执行环境为webshell进行示例,代码执行环境检测结果用于指示网页文件是否为webshell文件。
在本申请实施例中,针对每个网页文件,可以根据该网页文件的第四摘要数值,查询本地存储的摘要数值与代码执行环境检测结果之间的第二对应关系,以确定本地是否存储有该第四摘要数值对应的第一代码执行环境检测结果。
步骤511,响应于存储有第一代码执行环境检测结果,根据第一代码执行环境检测结果,生成对应的安全性检测结果。
在本申请实施例中,针对每个网页文件,在本地存储有该网页文件的第四摘要数值对应的第一代码执行环境检测结果的情况下,可以根据第一代码执行环境检测结果,生成对应的安全性检测结果。
作为一种示例,当每个网页文件的第一代码执行环境检测结果均指示对应的网页文件不为代码执行环境文件,则安全性检测结果用于指示镜像安全,或者用于指示镜像文件中不包括代码执行环境文件;而当存在至少一个网页文件的第一代码执行环境检测结果指示对应的网页文件为代码执行环境文件,则安全性检测结果用于指示镜像不安全,或者用于指示镜像文件中包括代码执行环境文件。
步骤512,响应于未存储有第一代码执行环境检测结果,调用代码执行环境检测服务对网页文件进行检测,以得到第二代码执行环境检测结果,并将第四摘要数值与第二代码执行环境检测结果之间的对应关系添加到本地存储的第二对应关系中。
在本申请实施例中,针对每个网页文件,在本地未存储有该网页文件的第四摘要数值对应的第一代码执行环境检测结果的情况下,可以调用代码执行环境检测服务对网页文件进行检测,以得到第二代码执行环境检测结果。
比如,以代码执行环境为webshell进行示例,可以调用webshell检测服务对网页文件进行检测,以确定该网页文件是否为webshell文件,若该网页文件为webshell文件,则生成的第二代码执行环境检测结果用于指示网页文件为webshell文件,若该网页文件不为webshell文件,则生成的第二代码执行环境检测结果用于指示网页文件不为webshell文件。
步骤513,根据第二代码执行环境检测结果,生成对应的安全性检测结果。
在本申请实施例中,针对每个网页文件,在得到该网页文件的第二代码执行环境检测结果的情况下,可以根据第二代码执行环境检测结果,生成对应的安全性检测结果。
作为一种示例,当每个网页文件的第二代码执行环境检测结果均指示对应的网页文件不为代码执行环境文件时,则安全性检测结果用于指示镜像安全,或者用于指示镜像文件中不包括代码执行环境文件;而当存在至少一个网页文件的第二代码执行环境检测结果指示对应的网页文件为代码执行环境文件,则安全性检测结果用于指示镜像不安全,或者用于指示镜像文件中包括代码执行环境文件。
步骤514,将安全性检测结果发送至客户端。
步骤514的执行过程可以参见上述实施例的执行过程,在此不做赘述。
本申请实施例的镜像的安全检测方法,还可以实现对镜像中的代码执行环境文件进行检测,可以进一步提升镜像安全检测的全面性。
需要说明的是,上述仅以根据应用软件安装列表、可执行文件列表和网页文件列表中的一项,对镜像进行安全性检测进行示例性说明,实际应用时,还可以结合上述多项,对镜像进行安全性检测。下面结合图6,对上述过程进行详细说明。
图6为本申请实施例六所提供的镜像的安全检测方法的流程示意图。
本申请实施例的执行主体可以为服务端。
如图6所示,该镜像的安全检测方法可以包括以下步骤:
步骤601,接收客户端发送的镜像的下载地址。
步骤602,根据下载地址,下载镜像,并解析镜像中的文件目录结构。
步骤601至602的执行过程可以参见上述任一实施例的执行过程,在此不做赘述。
步骤603,按照设定规则,对文件目录结构进行过滤,以筛选得到应用软件安装列表、可执行文件列表和网页文件列表中的多项。
在本申请实施例中,可以根据上述任一实施例,确定应用软件安装列表、可执行文件列表和网页文件列表,本申请对此不作赘述。
步骤604,根据应用软件安装列表、可执行文件列表和网页文件列表中的多项,对镜像进行安全性检测,以得到安全性检测结果。
在本申请实施例的一种可能的实现方式中,可以根据应用软件安装列表和可执行文件列表,对镜像进行安全性检测,以得到安全性检测结果。
作为一种示例,可以根据应用软件安装列表中的各已安装应用的安装名称和版本,查询通用漏洞披露CVE数据库,以确定各已安装应用是否存在CVE漏洞,在应用软件安装列表中所有的已安装应用均未存在CVE漏洞的情况下,可以进一步确定可执行文件列表中是否包含存在病毒的可执行文件(具体可以参见406至409的执行过程,在此不做赘述),在可执行文件列表中所有的可执行文件均未存在病毒的情况下,生成的安全性检测结果用于指示镜像安全,或者,用于指示镜像文件未存在病毒以及镜像中未存在CVE漏洞的已安装应用;在可执行文件列表中包含至少一个可执行文件存在病毒的情况下,生成的安全性检测结果用于镜像不安全,或者用于指示镜像文件存在病毒。
而在应用软件安装列表中存在至少一个已安装应用存在CVE漏洞的情况下,若可执行文件列表中所有的可执行文件均未存在病毒,则生成的安全性检测结果用于指示镜像不安全,或者,用于指示镜像中包含存在CVE漏洞的已安装应用以及镜像文件未存在病毒;若可执行文件列表中存在至少一个可执行文件存在病毒,则生成的安全性检测结果用于镜像不安全,或者用于指示镜像中包含存在CVE漏洞的已安装应用以及镜像文件存在病毒。
在本申请实施例的另一种可能的实现方式中,可以根据应用软件安装列表和网页文件列表,对镜像进行安全性检测,以得到安全性检测结果。
作为一种示例,可以根据应用软件安装列表中的各已安装应用的安装名称和版本,查询通用漏洞披露CVE数据库,以确定各已安装应用是否存在CVE漏洞,在应用软件安装列表中所有的已安装应用均未存在CVE漏洞的情况下,可以进一步确定网页文件列表中是否存在代码执行环境文件(具体可以参见509至513的执行过程,在此不做赘述),在网页文件列表中所有的网页文件均不为代码执行环境文件的情况下,生成的安全性检测结果用于指示镜像安全,或者,用于指示镜像文件中不包括代码执行环境文件以及镜像中未包含存在CVE漏洞的已安装应用;在网页文件列表中存在至少一个代码执行环境文件的情况下,生成的安全性检测结果用于镜像不安全,或者用于指示镜像文件中包括代码执行环境文件。
而在应用软件安装列表中存在至少一个已安装应用存在CVE漏洞的情况下,若网页文件列表中所有的网页文件均不为代码执行环境文件,则生成的安全性检测结果用于指示镜像不安全,或者,用于指示镜像中包含存在CVE漏洞的已安装应用以及镜像文件中不包括代码执行环境文件;若网页文件列表中存在至少一个网页文件为代码执行环境文件,则生成的安全性检测结果用于镜像不安全,或者用于指示镜像中包含存在CVE漏洞的已安装应用以及镜像文件中包括代码执行环境文件。
在本申请实施例的又一种可能的实现方式中,可以根据可执行文件列表和网页文件列表,对镜像进行安全性检测,以得到安全性检测结果。
作为一种示例,在可执行文件列表中所有的可执行文件均未存在病毒的情况下,可以判断网页文件列表中是否包括代码执行环境文件,若网页文件列表中所有的网页文件均不为代码执行环境文件,则生成的安全性检测结果用于指示镜像安全,或者,用于指示镜像文件未存在病毒以及镜像文件中不包括代码执行环境文件;若网页文件列表中存在至少一个网页文件为代码执行环境文件,则生成的安全性检测结果用于镜像不安全,或者用于指示镜像文件未存在病毒以及镜像文件中包括代码执行环境文件。
在可执行文件列表中的至少一个可执行文件存在病毒的情况下,可以判断网页文件列表中是否包括代码执行环境文件,若网页文件列表中所有的网页文件均不为代码执行环境文件,则生成的安全性检测结果用于指示镜像不安全,或者,用于指示镜像文件存在病毒以及镜像文件中不包括代码执行环境文件;若网页文件列表中存在至少一个网页文件为代码执行环境文件,则生成的安全性检测结果用于镜像不安全,或者用于指示镜像文件存在病毒以及镜像文件中包括代码执行环境文件。
在本申请实施例的再一种可能的实现方式中,可以同时根据应用软件安装列表、可执行文件列表和网页文件列表,对镜像进行安全性检测,以得到安全性检测结果。
例如,在应用软件安装列表中所有的已安装应用均未存在CVE漏洞、可执行文件列表中所有的可执行文件均未存在病毒,以及网页文件列表中所有的网页文件均不为代码执行环境文件的情况下,生成的安全性检测结果用于指示镜像安全,而在其他情况下,生成的安全性检测结果用于指示镜像不安全。
步骤605,将安全性检测结果发送至客户端。
作为一种示例,以代码执行环境为webshell进行示例,本申请的原理图可以如图7所示,用户可以在客户端输入镜像的下载地址和摘要数值,客户端可以将镜像的下载地址和摘要数值发送至服务端,服务端可以根据下载地址下载镜像,并根据摘要数值验证镜像的完整性,即服务端可以计算镜像的摘要数值,将计算的摘要数值与接收到的摘要数值进行一致性比对,在两者一致的情况下,可以根据镜像文件生成镜像扫描任务,并向镜像扫描客户端下发镜像扫描任务。
镜像扫描客户在端收到镜像扫描任务后,可以按层解析镜像中的镜像文件,得到文件目录结构,并对解析后的文件目录结构按设定规则进行过滤,分别提取出应用软件安装列表、可执行文件列表和网页文件列表。
之后,可以根据应用软件安装列表中各已安装应用的安装名称及版本,查询CVE漏洞数据库,获取存在CVE漏洞的已安装应用。
根据可执行文件列表,执行病毒查杀,获取可疑/确定的病毒文件,其中,可以将可执行文件保存到本地,并计算可执行文件的md5值,调用接口查询该md5值是否已有检测结果,如是,则直接获取检测结果;如否,则将可执行文件上传到文件服务器中,由文件服务器调用远程病毒检测服务对可执行文件进行病毒检测,并获取检测结果。
根据网页文件列表,执行webshell检测,获取可疑/确定的webshell文件,其中,可以将网页文件保存到本地,并计算网页文件的md5值,调用接口查询该md5值是否已有检测结果,如是,则直接获取检测结果;如否,则将网页文件上传到文件服务器中,由文件服务器调用远程webshell检测服务对网页文件进行webshell检测,并获取检测结果。
根据存在CVE漏洞的已安装应用、可疑/确定的病毒文件、可疑/确定的webshell文件,生成最终的扫描检测报告(即安全性检测结果),并返回给客户端。
本申请实施例的镜像的安全检测方法,不仅可以检测镜像中各已安装应用的CVE漏洞,还可以检测镜像中的病毒文件以及代码执行环境文件,不仅可以提升镜像安全检测的全面性,还能够帮助安全人员更全面的检查安全隐患。
与上述图1至图6实施例提供的镜像的安全检测方法相对应,本申请还提供一种镜像的安全检测装置,由于本申请实施例提供的镜像的安全检测装置与上述图1至图6实施例提供的镜像的安全检测方法相对应,因此在镜像的安全检测方法的实施方式也适用于本申请实施例提供的镜像的安全检测装置,在本申请实施例中不再详细描述。
图8为本申请实施例七所提供的镜像的安全检测装置的结构示意图。
如图8所示,该镜像的安全检测装置800可以包括:接收模块801、处理模块802、筛选模块803、检测模块804以及发送模块805。
其中,接收模块801,用于接收客户端发送的镜像的下载地址。
处理模块802,用于根据下载地址,下载镜像,并解析镜像中的文件目录结构。
筛选模块803,用于按照设定规则,对文件目录结构进行过滤,以筛选得到应用软件安装列表、可执行文件列表和网页文件列表中的至少一项。
检测模块804,用于根据应用软件安装列表、可执行文件列表和网页文件列表中的至少一项,对镜像进行安全性检测,以得到安全性检测结果。
发送模块805,用于将安全性检测结果发送至客户端。
在本申请实施例的一种可能的实现方式中,接收模块801,还用于:接收客户端发送的镜像的第一摘要数值。
处理模块802,具体用于:根据下载地址,下载镜像;确定镜像中的镜像文件的第二摘要数值;在第二摘要数值与第一摘要数值相同的情况下,对镜像中的镜像文件进行解析,以确定文件目录结构。
在本申请实施例的一种可能的实现方式中,筛选模块803,具体用于:获取文件目录结构中处于第一设定目录下的镜像文件;对第一设定目录下的镜像文件进行解析,以确定镜像操作***的名称和版本;根据镜像操作***的名称和版本,确定应用软件安装列表。
在本申请实施例的一种可能的实现方式中,筛选模块803,具体用于:确定与镜像操作***的名称和版本对应的目标软件管理工具;获取目标软件管理工具记录的已安装应用所依赖的文件;解析各已安装应用所依赖的文件,以确定各已安装应用的安装名称和版本;根据各已安装应用的安装名称和版本,确定应用软件安装列表。
在本申请实施例的一种可能的实现方式中,筛选模块803,具体用于:获取文件目录结构中处于第二设定目录下的各可执行文件;根据各可执行文件,确定可执行文件列表。
在本申请实施例的一种可能的实现方式中,筛选模块803,具体用于:获取文件目录结构中处于第三设定目录下的配置文件;根据配置文件中目标函数的取值,确定第一工作目录;获取第一工作目录下的网页文件;查询文件目录结构中处于第四设定目录下的目标文件,并对目标文件进行解析,以确定目标文件中的目标参数;根据目标参数确定第二工作目录,并获取第二工作目录下的网页文件;根据第一工作目录下的网页文件和第二工作目录下的网页文件,确定网页文件列表。
在本申请实施例的一种可能的实现方式中,检测模块804,具体用于:根据应用软件安装列表中的各已安装应用的安装名称和版本,查询通用漏洞披露CVE数据库,以确定各已安装应用是否存在CVE漏洞;响应于至少一个已安装应用存在CVE漏洞,生成用于指示镜像不安全的安全性检测结果;其中,CVE数据库中存储多个安装名称和多个版本与CVE漏洞之间的对应关系。
在本申请实施例的一种可能的实现方式中,检测模块804,具体用于:将可执行文件列表中的各可执行文件保存到本地;针对每个可执行文件,计算可执行文件的第三摘要数值;查询本地存储的第一对应关系,以确定是否存储有第三摘要数值对应的第一病毒检测结果;响应于存储有第一病毒检测结果,根据第一病毒检测结果,生成对应的安全性检测结果;响应于未存储有第一病毒检测结果,调用病毒检测服务对可执行文件进行病毒检测,以得到第二病毒检测结果,并将第三摘要数值与第二病毒检测结果之间的对应关系添加到本地存储的第一对应关系中;根据第二病毒检测结果,生成对应的安全性检测结果。
在本申请实施例的一种可能的实现方式中,检测模块804,具体用于:将网页文件列表中的各网页文件保存到本地;针对每个网页文件,计算网页文件的第四摘要数值;查询本地存储的第二对应关系,以确定是否存储有第四摘要数值对应的第一代码执行环境检测结果;响应于存储有第一代码执行环境检测结果,根据第一代码执行环境检测结果,生成对应的安全性检测结果;响应于未存储有第一代码执行环境检测结果,调用代码执行环境检测服务对网页文件进行检测,以得到第二代码执行环境检测结果,并将第四摘要数值与第二代码执行环境检测结果之间的对应关系添加到本地存储的第二对应关系中;根据第二代码执行环境检测结果,生成对应的安全性检测结果。
本申请实施例的镜像的安全检测装置,通过接收客户端发送的镜像的下载地址,根据下载地址,下载镜像,并解析镜像中的文件目录结构;按照设定规则,对文件目录结构进行过滤,以筛选得到应用软件安装列表、可执行文件列表和网页文件列表中的至少一项;根据应用软件安装列表、可执行文件列表和网页文件列表中的至少一项,对镜像进行安全性检测,以得到安全性检测结果;将安全性检测结果发送至客户端。由此,可以实现对镜像进行安全性检测,从而用户可以根据安全性检测结果确定镜像是否安全,以保证用户使用的为安全的镜像,并且还可以帮助安全人员更全面的检查镜像的安全隐患。
为了实现上述实施例,本申请还提出一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如本申请前述任一实施例提出的镜像的安全检测方法。
为了实现上述实施例,本申请还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请前述任一实施例提出的镜像的安全检测方法。
为了实现上述实施例,本申请还提出一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如本申请前述任一实施例提出的镜像的安全检测方法。
图9示出了适于用来实现本申请实施方式的示例性计算机设备的框图。图9显示的计算机设备12仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图9所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,***存储器28,连接不同***组件(包括***存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及***组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
计算机设备12典型地包括多种计算机***可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***34可以用于读写不可移动的、非易失性磁介质(图9未显示,通常称为“硬盘驱动器”)。尽管图9中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read OnlyMemory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read OnlyMemory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local Area Network;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理单元16通过运行存储在***存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (13)
1.一种镜像的安全检测方法,其特征在于,所述方法包括以下步骤:
接收客户端发送的镜像的下载地址;
根据所述下载地址,下载所述镜像,并解析所述镜像中的文件目录结构;
按照设定规则,对所述文件目录结构进行过滤,以筛选得到应用软件安装列表、可执行文件列表和网页文件列表中的至少一项;
根据所述应用软件安装列表、所述可执行文件列表和所述网页文件列表中的至少一项,对所述镜像进行安全性检测,以得到安全性检测结果;
将所述安全性检测结果发送至所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述客户端发送的所述镜像的第一摘要数值;
所述根据所述下载地址,下载所述镜像,并解析所述镜像中的文件目录结构,包括:
根据所述下载地址,下载所述镜像;
确定所述镜像中的镜像文件的第二摘要数值;
在所述第二摘要数值与所述第一摘要数值相同的情况下,对所述镜像中的镜像文件进行解析,以确定所述文件目录结构。
3.根据权利要求1所述的方法,其特征在于,所述按照设定规则,对所述文件目录结构进行过滤,以筛选得到应用软件安装列表、可执行文件列表和网页文件列表中的至少一项,包括:
获取所述文件目录结构中处于第一设定目录下的镜像文件;
对所述第一设定目录下的镜像文件进行解析,以确定镜像操作***的名称和版本;
根据所述镜像操作***的名称和版本,确定所述应用软件安装列表。
4.根据权利要求3所述的方法,其特征在于,所述根据所述镜像操作***的名称和版本,确定所述应用软件安装列表,包括:
确定与所述镜像操作***的名称和版本对应的目标软件管理工具;
获取所述目标软件管理工具记录的已安装应用所依赖的文件;
解析各所述已安装应用所依赖的文件,以确定各所述已安装应用的安装名称和版本;
根据各所述已安装应用的安装名称和版本,确定所述应用软件安装列表。
5.根据权利要求1所述的方法,其特征在于,所述按照设定规则,对所述文件目录结构进行过滤,以筛选得到应用软件安装列表、可执行文件列表和网页文件列表中的至少一项,包括:
获取所述文件目录结构中处于第二设定目录下的各可执行文件;
根据各所述可执行文件,确定所述可执行文件列表。
6.根据权利要求1所述的方法,其特征在于,所述按照设定规则,对所述文件目录结构进行过滤,以筛选得到应用软件安装列表、可执行文件列表和网页文件列表中的至少一项,包括:
获取所述文件目录结构中处于第三设定目录下的配置文件;
根据所述配置文件中目标函数的取值,确定第一工作目录;
获取所述第一工作目录下的网页文件;
查询所述文件目录结构中处于第四设定目录下的目标文件,并对所述目标文件进行解析,以确定所述目标文件中的目标参数;
根据所述目标参数确定第二工作目录,并获取所述第二工作目录下的网页文件;
根据所述第一工作目录下的网页文件和所述第二工作目录下的网页文件,确定所述网页文件列表。
7.根据权利要求1所述的方法,其特征在于,所述根据所述应用软件安装列表、所述可执行文件列表和所述网页文件列表中的至少一项,对所述镜像进行安全性检测,以得到安全性检测结果,包括:
根据所述应用软件安装列表中的各已安装应用的安装名称和版本,查询通用漏洞披露CVE数据库,以确定各所述已安装应用是否存在CVE漏洞;
响应于至少一个所述已安装应用存在CVE漏洞,生成用于指示所述镜像不安全的安全性检测结果;
其中,所述CVE数据库中存储多个安装名称和多个版本与CVE漏洞之间的对应关系。
8.根据权利要求1所述的方法,其特征在于,所述根据所述应用软件安装列表、所述可执行文件列表和所述网页文件列表中的至少一项,对所述镜像进行安全性检测,以得到安全性检测结果,包括:
将所述可执行文件列表中的各可执行文件保存到本地;
针对每个所述可执行文件,计算所述可执行文件的第三摘要数值;
查询本地存储的第一对应关系,以确定是否存储有所述第三摘要数值对应的第一病毒检测结果;
响应于存储有所述第一病毒检测结果,根据所述第一病毒检测结果,生成对应的所述安全性检测结果;
响应于未存储有所述第一病毒检测结果,调用病毒检测服务对所述可执行文件进行病毒检测,以得到第二病毒检测结果,并将所述第三摘要数值与所述第二病毒检测结果之间的对应关系添加到所述本地存储的第一对应关系中;
根据所述第二病毒检测结果,生成对应的所述安全性检测结果。
9.根据权利要求1所述的方法,其特征在于,所述根据所述应用软件安装列表、所述可执行文件列表和所述网页文件列表中的至少一项,对所述镜像进行安全性检测,以得到安全性检测结果,包括:
将所述网页文件列表中的各网页文件保存到本地;
针对每个所述网页文件,计算所述网页文件的第四摘要数值;
查询本地存储的第二对应关系,以确定是否存储有所述第四摘要数值对应的第一代码执行环境检测结果;
响应于存储有所述第一代码执行环境检测结果,根据所述第一代码执行环境检测结果,生成对应的所述安全性检测结果;
响应于未存储有所述第一代码执行环境检测结果,调用代码执行环境检测服务对所述网页文件进行检测,以得到第二代码执行环境检测结果,并将所述第四摘要数值与所述第二代码执行环境检测结果之间的对应关系添加到所述本地存储的第二对应关系中;
根据所述第二代码执行环境检测结果,生成对应的所述安全性检测结果。
10.一种镜像的安全检测装置,其特征在于,所述装置包括:
接收模块,用于接收客户端发送的镜像的下载地址;
处理模块,用于根据所述下载地址,下载所述镜像,并解析所述镜像中的文件目录结构;
筛选模块,用于按照设定规则,对所述文件目录结构进行过滤,以筛选得到应用软件安装列表、可执行文件列表和网页文件列表中的至少一项;
检测模块,用于根据所述应用软件安装列表、所述可执行文件列表和所述网页文件列表中的至少一项,对所述镜像进行安全性检测,以得到安全性检测结果;
发送模块,用于将所述安全性检测结果发送至所述客户端。
11.一种计算机设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如权利要求1-9中任一所述的镜像的安全检测方法。
12.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9中任一所述的镜像的安全检测方法。
13.一种计算机程序产品,其特征在于,当所述计算机程序产品中的指令由处理器执行时,执行如权利要求1-9中任一所述的镜像的安全检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111022432.9A CN113656809A (zh) | 2021-09-01 | 2021-09-01 | 镜像的安全检测方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111022432.9A CN113656809A (zh) | 2021-09-01 | 2021-09-01 | 镜像的安全检测方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113656809A true CN113656809A (zh) | 2021-11-16 |
Family
ID=78493438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111022432.9A Pending CN113656809A (zh) | 2021-09-01 | 2021-09-01 | 镜像的安全检测方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113656809A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114329462A (zh) * | 2021-11-22 | 2022-04-12 | 网宿科技股份有限公司 | 恶意文件检测方法、装置、设备及可读存储介质 |
CN117076002A (zh) * | 2023-09-28 | 2023-11-17 | 飞腾信息技术有限公司 | 一种安全启动方法及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109977976A (zh) * | 2017-12-28 | 2019-07-05 | 腾讯科技(深圳)有限公司 | 可执行文件相似度的检测方法、装置和计算机设备 |
CN112395042A (zh) * | 2020-10-27 | 2021-02-23 | 国电南瑞科技股份有限公司 | 一种面向业务容器镜像进行安全扫描的方法和装置 |
CN112613041A (zh) * | 2020-12-25 | 2021-04-06 | 南方电网深圳数字电网研究院有限公司 | 容器镜像检测方法和装置、电子设备、存储介质 |
CN113177204A (zh) * | 2021-04-14 | 2021-07-27 | 厦门服云信息科技有限公司 | 一种容器镜像安全检测方法、终端设备及存储介质 |
-
2021
- 2021-09-01 CN CN202111022432.9A patent/CN113656809A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109977976A (zh) * | 2017-12-28 | 2019-07-05 | 腾讯科技(深圳)有限公司 | 可执行文件相似度的检测方法、装置和计算机设备 |
CN112395042A (zh) * | 2020-10-27 | 2021-02-23 | 国电南瑞科技股份有限公司 | 一种面向业务容器镜像进行安全扫描的方法和装置 |
CN112613041A (zh) * | 2020-12-25 | 2021-04-06 | 南方电网深圳数字电网研究院有限公司 | 容器镜像检测方法和装置、电子设备、存储介质 |
CN113177204A (zh) * | 2021-04-14 | 2021-07-27 | 厦门服云信息科技有限公司 | 一种容器镜像安全检测方法、终端设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
张基温: "《信息***安全》", 31 August 2020, 机械工业出版社, pages: 8 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114329462A (zh) * | 2021-11-22 | 2022-04-12 | 网宿科技股份有限公司 | 恶意文件检测方法、装置、设备及可读存储介质 |
CN117076002A (zh) * | 2023-09-28 | 2023-11-17 | 飞腾信息技术有限公司 | 一种安全启动方法及相关装置 |
CN117076002B (zh) * | 2023-09-28 | 2024-01-02 | 飞腾信息技术有限公司 | 一种安全启动方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9679136B2 (en) | Method and system for discrete stateful behavioral analysis | |
US8793682B2 (en) | Methods, systems, and computer program products for controlling software application installations | |
US10318730B2 (en) | Detection and prevention of malicious code execution using risk scoring | |
US8307434B2 (en) | Method and system for discrete stateful behavioral analysis | |
JP5507176B2 (ja) | ソフトウェアの信頼性を測定する方法及び装置 | |
JP5793764B2 (ja) | マルウェアの誤検出を低減する方法及び装置 | |
US20120102568A1 (en) | System and method for malware alerting based on analysis of historical network and process activity | |
US20130247190A1 (en) | System, method, and computer program product for utilizing a data structure including event relationships to detect unwanted activity | |
US8078909B1 (en) | Detecting file system layout discrepancies | |
WO2015184752A1 (zh) | 一种异常进程检测方法及装置 | |
US20180082061A1 (en) | Scanning device, cloud management device, method and system for checking and killing malicious programs | |
US10127382B2 (en) | Malware detection method | |
US20110283358A1 (en) | Method and system to detect malware that removes anti-virus file system filter driver from a device stack | |
CN102663288A (zh) | 病毒查杀方法及装置 | |
JP2019003598A (ja) | 異常な事象を検出するシステム及び方法 | |
CN113656809A (zh) | 镜像的安全检测方法、装置、设备及介质 | |
CN103793649A (zh) | 通过云安全扫描文件的方法和装置 | |
JP6000465B2 (ja) | プロセス検査装置、プロセス検査プログラムおよびプロセス検査方法 | |
US20180341770A1 (en) | Anomaly detection method and anomaly detection apparatus | |
CN105791250B (zh) | 应用程序检测方法及装置 | |
US20140380491A1 (en) | Endpoint security implementation | |
US9239907B1 (en) | Techniques for identifying misleading applications | |
CN106407815B (zh) | 漏洞检测方法及装置 | |
US10880316B2 (en) | Method and system for determining initial execution of an attack | |
US8438637B1 (en) | System, method, and computer program product for performing an analysis on a plurality of portions of potentially unwanted data each requested from a different device |
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 |