首页
学习
活动
专区
圈层
工具
发布
技术百科首页 >镜像漏洞扫描 >镜像漏洞扫描的原理是什么?

镜像漏洞扫描的原理是什么?

词条归属:镜像漏洞扫描

镜像漏洞扫描主要基于以下原理:

​​特征匹配​​

  • ​​漏洞特征库​​

维护一个庞大的已知漏洞特征库,这个库包含了各种软件组件(如操作系统内核、应用程序、库文件等)在不同版本下存在的漏洞信息。例如,对于某个特定版本的OpenSSL库,其特征库中会记录已发现的诸如心脏滴血(Heartbleed)漏洞的特征信息,包括特定的代码模式、内存布局特征或者网络协议交互中的异常特征等。

当扫描镜像时,扫描工具会将镜像中的软件组件与特征库中的漏洞特征进行比对。如果发现镜像中的某个组件存在与特征库中某一漏洞特征相匹配的情况,就判定该镜像可能存在此漏洞。

  • ​​文件签名与哈希值​​

对镜像中的文件计算哈希值(如MD5、SHA - 256等)。在漏洞特征库中,也会存储已知存在漏洞的文件的哈希值。如果在镜像中发现某个文件的哈希值与特征库中存在漏洞的文件哈希值相同,就可以确定该文件存在相应漏洞。

同时,一些软件组件会有特定的文件签名,扫描工具可以通过验证这些签名来判断组件的完整性和是否存在已知漏洞。

​​基于规则的检测​​

  • ​​语法和语义规则​​

针对镜像中的配置文件、脚本等,定义一系列的语法和语义规则。例如,在Linux系统的配置文件中,某些特定的配置项设置可能会导致安全风险,如开放了不必要的端口或者设置了过于宽松的权限。

扫描工具会解析这些配置文件和脚本,按照预定义的规则进行检查。如果发现违反规则的情况,就认为存在潜在漏洞。对于脚本语言编写的程序,还会检查代码逻辑是否存在可能导致安全问题的情况,如注入漏洞(SQL注入、命令注入等)的可能性。

  • ​​软件组件关系规则​​

分析镜像中不同软件组件之间的关系。某些组件组合在一起可能会产生安全风险,例如,特定版本的Web服务器与数据库服务器的组合可能存在认证绕过或者数据泄露的风险。

扫描工具会根据预定义的组件关系规则,检查镜像中的组件搭配是否合理,是否存在已知的风险组合。

​​动态行为分析(部分高级扫描工具采用)​​

  • ​​模拟运行环境​​

在一定程度上模拟镜像的运行环境,启动镜像中的部分服务或者进程。例如,对于一个包含Web应用的镜像,可能会启动Web服务器进程并模拟一些正常的用户请求。

在模拟运行过程中,监测软件的行为,如网络连接、文件访问、内存操作等。如果发现异常行为,如试图访问敏感文件、建立异常的网络连接等,就可能判定存在漏洞。

  • ​​漏洞利用尝试(有限度)​​

在安全可控的环境下,尝试利用已知漏洞的利用方式进行测试。不过这种方式比较谨慎,因为如果操作不当可能会对周围环境造成影响。通过尝试利用,可以更准确地判断镜像是否存在特定漏洞,但这种方式的使用受到严格的限制和规范。

相关文章
"docker scan"本地扫描镜像漏洞
2020年年底,Docker hub推出镜像自动扫描的功能,同时Docker也支持了在本地通过Docker命令选项的方式支持镜像漏洞扫描,目前Docker Desktop for Mac以及window上的Docker都可以通过Docker scan子命令扫描本地镜像是否存在漏洞软件。
公众号: 云原生生态圈
2021-07-15
2.7K0
Harbor容器镜像安全漏洞扫描详述和视频
(本文发布时,Harbor在Github上已获得2828颗星:https://github.com/vmware/harbor)
Henry Zhang
2019-04-12
2.5K0
如何扫描网站的漏洞?都有哪些扫描工具?
1.例如我们的目标网址为“http://www.xxxx.cn/forum/index.php”那么我们把地址改为http://www.xxxx.cn/forum/index.PHP后再浏览看看是否存在页面,如果存在的话,则服务器所使用的系统为windows,如果显示不存在,则服务器很有可能使用的是*nix系统。
网络技术家园
2021-04-02
6.4K0
Docker镜像扫描器的实现
Docker镜像简介 这篇文章算抛砖引玉,给大家提供一些简单的思路。 首先要做Docker镜像扫描,我们必须要懂Docker镜像是怎么回事。 Docker镜像是由文件系统叠加而成。最底层是bootfs,之上的部分为rootfs。 bootfs是docker镜像最底层的引导文件系统,包含bootloader和操作系统内核。 rootfs通常包含一个操作系统运行所需的文件系统。这一层作为基础镜像。 在基础镜像之上,会加入各种镜像,如emacs、apache等。 如何分析镜像 对镜像进行分析,无外乎静态分析和
企鹅号小编
2018-02-08
3.2K0
Docker镜像的原理
运行容器,且进入容器内,参数 解释 -i 交互式命令操作 -t 开启一个终端 bash 进入容器后执行的命令
NeilNiu
2023-02-25
1K0
点击加载更多
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券