System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及云计算领域,尤其涉及一种麒麟操作系统的云镜像漏洞扫描方法及系统。
技术介绍
1、云镜像漏洞扫描是指通过对云镜像操作系统中的应用包、配置、依赖项等内容的漏洞进行自动化检测、评估到管理的过程。云镜像漏洞扫描已经广泛应用于信息系统安全建设和维护工作,是评估与度量容器镜像风险的一种常见手段。
2、目前主流的云镜像漏洞扫描工具主要包含trivy、clair、docker hub等。云镜像漏洞扫描的原理主要是通过从操作系统厂商等漏洞信息源获取漏洞数据,汇总后将云镜像产物与漏洞信息进行对比,从而判断镜像中是否存在该漏洞,最终形成云镜像的漏洞扫描报告。
3、目前主流的云镜像漏洞扫描工具虽然基本都能够实现对特定操作系统的软件包漏洞扫描,但是部分扫描工具无法对软件依赖项进行漏洞扫描或者ci持续交付。其中,trivy作为目前应用最广泛、功能最全面的云镜像漏洞扫描工具,也有其一定的局限性。trivy所能够实现扫描的操作系统十分有限,除ubuntu、redhat等几个linux操作系统外,trivy无法对银河麒麟操作系统的漏洞进行扫描,也无法自动优化进行扫描功能拓展,其可延展性功能完善性较低。trivy对操作系统自研软件包也无法进行安全漏洞扫描,具有一定局限性。
技术实现思路
1、本专利技术要解决的技术问题就在于:针对现有技术存在的技术问题,本专利技术提供一种麒麟操作系统的云镜像漏洞扫描方法及系统,在trivy云镜像漏洞扫描工具的基础上拓展麒麟操作系统漏洞扫描功能,实现
2、为解决上述技术问题,本专利技术提出的技术方案为:
3、一种麒麟操作系统的云镜像漏洞扫描方法,包括:
4、s101)获取麒麟操作系统的漏洞信息并格式化为trivy云镜像漏洞扫描工具的标准格式,将标准格式的漏洞信息更新至trivy云镜像漏洞扫描工具的数据库;
5、s102)实例化trivy云镜像漏洞扫描工具的typekylin分析器,typekylin分析器从云镜像指定的路径读取版本信息文件,根据版本信息文件的内容判断云镜像的系统是否为麒麟操作系统,是则获取麒麟操作系统的版本信息;
6、s103)实例化麒麟操作系统软件包探测接口,若麒麟操作系统的版本信息在有效期内,使用trivy云镜像漏洞扫描工具通过麒麟操作系统软件包探测接口对云镜像中操作系统所安装的软件包进行漏洞扫描。
7、进一步的,将标准格式的漏洞信息更新至trivy云镜像漏洞扫描工具的数据库时,包括:
8、s201)将标准格式的漏洞信息保存在指定文件夹的目录下,在trivy云镜像漏洞扫描工具的数据库中增加麒麟数据源kylinsrc,定义麒麟数据源kylinsrc的sourceid与指定文件夹名称一致,按照标准格式的漏洞信息的字段名称定义麒麟数据源kylinsrc的cve结构体kylincve;
9、s202)实例化麒麟数据源kylinsrc的更新接口update与获取数据接口get。
10、进一步的,实例化麒麟数据源kylinsrc的更新接口update与获取数据接口get时,包括update接口实例化的步骤,具体包括:
11、s301)遍历麒麟数据源kylinsrc根目录下的所有标准格式的漏洞信息文件;
12、s302)将标准格式的漏洞信息文件解码并存储至cve结构体kylincve的对象列表中;
13、s303)新建数据库的批处理操作,用于批量更新漏洞信息;
14、s304)遍历cve结构体kylincve对象并将每个标准格式的漏洞信息保存至数据库;
15、s305)新建trivy云镜像漏洞扫描工具的vulnerabilitydetail类型,将标准格式的漏洞信息中的漏洞详细描述信息保存至vulnerabilitydetail对象中,并调用数据库的putvulnerabilitydetail接口将漏洞详细描述信息保存至数据库的vulnerability-detail表中;
16、s306)将标准格式的漏洞信息中的编号保存至数据库的vulnerability-id表中。
17、进一步的,步骤s201还包括:定义操作系统版本列表和麒麟修复状态结构体;遍历cve结构体kylincve对象并将每个标准格式的漏洞信息保存至数据库的同时,还包括:
18、s401)判断每个cve结构体kylincve的对象的“系统版本:修复信息”键值对中,是否系统版本符合麒麟操作系统版本列表,且修复信息符合麒麟修复状态结构体结构,是则执行步骤s402;
19、s402)若当前系统版本的修复信息表不存在,则在数据库的data-source库中新建该系统版本的修复信息表,否则执行步骤s403;
20、s403)将符合系统版本列表的修复信息保存至对应操作系统版本的修复信息表;
21、s404)如果cve结构体kylincve的对象的修复状态status为“released”,则新建trivy云镜像漏洞扫描工具的advisory类型,并将修复信息中的修复状态status和注释note赋值给advisory,然后将advisory保存至数据库的advisory-detail表中。
22、进一步的,实例化麒麟数据源kylinsrc的更新接口update与获取数据接口get时,包括get接口实例化的步骤,具体包括:获取麒麟操作系统版本和软件包名称,将麒麟操作系统版本和软件包名称与指定文件夹的目录中每个标准格式的漏洞信息中的对应信息进行匹配,若存在匹配结果,获取对应的advisory列表并返回。
23、进一步的,根据版本信息文件的内容判断云镜像的系统是否为麒麟操作系统时,包括:如果版本信息包含“id=kylin”或“id=neokylin”,则代表该云镜像的系统为麒麟操作系统。
24、进一步的,获取麒麟操作系统的版本信息时,包括:获取以“version=”为开始的行内容,并截取“version=”之后的内容,得到麒麟操作系统的具体版本。
25、进一步的,实例化麒麟操作系统软件包探测接口时,包括:
26、s501)实例化麒麟操作系统软件包探测接口kylinospkgdetector;
27、s502)在trivy云镜像漏洞扫描工具的detector列表中加入麒麟操作系统软件包探测接口kylinospkgdetector;
28、s503)声明麒麟操作系统软件包探测接口kylinospkgdetector的数据源是麒麟数据源kylinsrc,并将trivy云镜像漏洞扫描工具的配置信息传入麒麟操作系统软件包探测接口kylinospkgdetector。
29、进一步的,使用trivy云镜像漏洞扫描工具通过麒麟操作系统软件包本文档来自技高网...
【技术保护点】
1.一种麒麟操作系统的云镜像漏洞扫描方法,其特征在于,包括:
2.根据权利要求1所述的麒麟操作系统的云镜像漏洞扫描方法,其特征在于,将标准格式的漏洞信息更新至trivy云镜像漏洞扫描工具的数据库时,包括:
3.根据权利要求2所述的麒麟操作系统的云镜像漏洞扫描方法,其特征在于,实例化麒麟数据源kylinSrc的更新接口Update与获取数据接口Get时,包括Update接口实例化的步骤,具体包括:
4.根据权利要求3所述的麒麟操作系统的云镜像漏洞扫描方法,其特征在于,步骤S201还包括:定义操作系统版本列表和麒麟修复状态结构体;遍历CVE结构体KylinCVE对象并将每个标准格式的漏洞信息保存至数据库的同时,还包括:
5.根据权利要求4所述的麒麟操作系统的云镜像漏洞扫描方法,其特征在于,实例化麒麟数据源kylinSrc的更新接口Update与获取数据接口Get时,包括Get接口实例化的步骤,具体包括:获取麒麟操作系统版本和软件包名称,将麒麟操作系统版本和软件包名称与指定文件夹的目录中每个标准格式的漏洞信息中的对应信息进行匹配,若存在匹
6.根据权利要求1所述的麒麟操作系统的云镜像漏洞扫描方法,其特征在于,根据版本信息文件的内容判断云镜像的系统是否为麒麟操作系统时,包括:如果版本信息包含“ID=kylin”或“ID=neokylin”,则代表该云镜像的系统为麒麟操作系统。
7.根据权利要求1所述的麒麟操作系统的云镜像漏洞扫描方法,其特征在于,获取麒麟操作系统的版本信息时,包括:获取以“VERSION=”为开始的行内容,并截取“VERSION=”之后的内容,得到麒麟操作系统的具体版本。
8.根据权利要求2所述的麒麟操作系统的云镜像漏洞扫描方法,其特征在于,实例化麒麟操作系统软件包探测接口时,包括:
9.根据权利要求8所述的麒麟操作系统的云镜像漏洞扫描方法,其特征在于,使用trivy云镜像漏洞扫描工具通过麒麟操作系统软件包探测接口对云镜像中操作系统所安装的软件包进行漏洞扫描时,包括:
10.一种麒麟操作系统的云镜像漏洞扫描系统,其特征在于,包括互相连接的微处理器和计算机可读存储介质,所述微处理器被编程或配置以执行权利要求1~9任一项所述的麒麟操作系统的云镜像漏洞扫描方法。
...【技术特征摘要】
1.一种麒麟操作系统的云镜像漏洞扫描方法,其特征在于,包括:
2.根据权利要求1所述的麒麟操作系统的云镜像漏洞扫描方法,其特征在于,将标准格式的漏洞信息更新至trivy云镜像漏洞扫描工具的数据库时,包括:
3.根据权利要求2所述的麒麟操作系统的云镜像漏洞扫描方法,其特征在于,实例化麒麟数据源kylinsrc的更新接口update与获取数据接口get时,包括update接口实例化的步骤,具体包括:
4.根据权利要求3所述的麒麟操作系统的云镜像漏洞扫描方法,其特征在于,步骤s201还包括:定义操作系统版本列表和麒麟修复状态结构体;遍历cve结构体kylincve对象并将每个标准格式的漏洞信息保存至数据库的同时,还包括:
5.根据权利要求4所述的麒麟操作系统的云镜像漏洞扫描方法,其特征在于,实例化麒麟数据源kylinsrc的更新接口update与获取数据接口get时,包括get接口实例化的步骤,具体包括:获取麒麟操作系统版本和软件包名称,将麒麟操作系统版本和软件包名称与指定文件夹的目录中每个标准格式的漏洞信息中的对应信息进行匹配,若存在匹配结果,获取对应的advisor...
【专利技术属性】
技术研发人员:彭欢,高桐,路明,罗雨佳,郭俊余,孔金珠,史晶,程启,
申请(专利权)人:银河麒麟软件长沙有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。