目录
Trivy工作原理
cve ID和CVE数据库
个人理解:
当有人发现漏洞时,在社区提交漏洞,然后被cve 官方数据库收录,分配cve id。
漏洞扫描工具扫描镜像内的组件/库的包的版本,然后再去官方数据库检索,当检索到当前镜像内的组件/库的版本 在 官方数据库有漏洞记录,就列出漏洞列表(cve id列表)。
疑问:如果是这样,我还有个疑问,我们都组件和库,如果安装到不是默认的目录,比如/home/mydir它是不是就扫描不到了。
大佬答疑:
原理是端口扫描和漏洞库对比,跟病毒扫描一样,流程:发现并连接目标主机→发送get请求→接受返回数据→根据返回数据对比漏洞库
第一阶段:发现目标主机或网络。
第二阶段:发现目标后进一步搜集目标信息,包括操作系统类型、运行的服务以及服务软件的版本等。如果目标是一个网络,还可以进一步发现该网络的拓扑结构、路由设备以及各主机的信息。
第三阶段:根据搜集到的信息判断或者进一步测试系统是否存在安全漏洞。网络安全漏洞扫描技术包括有 PING 扫射(Ping sweep)、操作系统探测 (Operating system identification)、如何探测访问控制规则 (firewalking)、端口扫描 (Port scan)以及漏洞扫描 (vulnerability scan)等。这些技术在网络安全漏洞扫描的三个阶段中各有体现。
网络安全漏洞扫描技术的两大核心技术就是端口扫描技术和漏洞扫描技术,这两种技术广泛运用于当前较成熟的网络扫描器。
疑问:
1、“发现目标后进一步搜集目标信息”,这样的话目标主机需要安装trivy吗?不然谁给它响应get请求和返回数据?
2、“搜集目标信息,包括操作系统类型、运行的服务以及服务软件的版本”、“根据返回数据对比漏洞库”,请问它是如何知道要搜集哪些信息的,比如它报了我的镜像里面的go的一个net包有风险,要求我升级到最新版本。 我很好奇,它是怎么知道我的服务器上有这个go的net包,并且知道这个包的版本 然后和数据库上的版本进行对比。
回答:
您的两个疑问,其实指向一个问题:该工具的扫描范围以及扫描工具的扫描引擎的能力,如果您学过开发,可以搜一下看它的执行代码是怎样的,否则只需要知道它能支持扫什么对象就可以的。注:trivy是个开源工具:trivy 源码分析(扫描镜像中的漏洞信息)_huzai9527的博客-CSDN博客_trivy源码
疑问:
该工具的扫描范围 是配置的吗?
“搜集目标信息,包括操作系统类型、运行的服务以及服务软件的版本”、“根据返回数据对比漏洞库”,请问它是如何知道要搜集哪些信息的,比如它报了我的镜像里面的go的一个net包有风险,要求我升级到最新版本。 我很好奇,它是怎么知道我的服务器上有这个go的net包,并且知道这个包的版本 然后和数据库上的版本进行对比。
对于开源工具,没有范围一说,可在源代码上开发成您想要的样子。如图是该工具基础架构图,底层是扫描器&#