文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Checkmarx发布开源静态分析解决方案KICS,实现保护云原生应用安全!

2024-12-03 08:05

关注

+ 我们为什么开发KICS?

云原生的出现致使现代应用的设计、开发和部署方式的观念彻底发生改变。最终,单体应用被分解成小型、独立的微服务,且不受所处的环境约束。Orchestration 将它们粘合在一起,使应用程序变得更可扩展、更可靠、更灵活。

就此而论,Orchestration不仅涉及微服务通信或组成的方式,还涉及基础架构需求或特定配置。虽然在不久之前,基础架构和配置主要通过人工提供,但随着DevOps理念的出现,自动化现在已经普及并在代码中定义。因此,基础架构即代码(IaC)时代已经来临。

[[389553]]

IaC通过工具和技术建立了一种方法,用于通过代码进行基础架构配置和提供服务。基础架构即代码的优点包括:自动化、幂等性(例如,复制用于测试和生产的基础架构)、一致性、自文档化、降低成本等。然而,与传统的软件开发类似,基础架构即代码也容易出现错误配置或安全漏洞等问题,这些问题不仅可能危及某一特定的应用程序,还可能在更大范围内危及整个业务及其底层基础架构。

引入KICS(保持基础架构即代码安全):这是一个由Checkmarx(静态代码分析领域的市场领导者)提供的开源独立引擎,用于在本地云应用的环境中检测源自基础架构即代码的漏洞、合规问题或错误配置。截至发布之日,KICS已提供1000多条安全规则(用Cx语言查询),支持Terraform、Kubernetes、Docker、AWS CloudFormation和Ansible,跨越多个云提供商(如AWS、谷歌云或微软Azure)。

+ 我们如何开发KICS?

起初,KICS仅有50个查询,沉寂在一个私有存储库中,并作为一个独立的引擎存在。当时,引擎只能读取少量的IaC文件类型,将它们转换为内部展现形式,并以JSON格式生成结果。

为了让KICS成为一个产品,Checkmarx制定了一个雄心勃勃的目标,即在不到三个月的时间内达到1000个REGO/OPA查询,并在不到两个月的时间内使其完全开源化。

KICS规则—使用REGO创建超1000条规则

两周内,Checkmarx招募了一批学生人才加入团队,并专注于创建更多使用REGO开发的规则。

REGO/OPA是一种用于查询结构化文档的高级说明性语言。因此,我们选择它作为获取IaC扫描规则的方法。学生们很快学会了使用REGO进行开发,并在不到一周的培训内,按照Checkmarx应用安全研究团队提供的建议漏洞列表和描述编写出规则和IaC样本(每项查询一个真正样本和一个真负样本)。

有意思的是,完成这些工作后,难题就变成了代码合并请求批准,而不是开发本身。到最后的截止时间时,团队不仅达到了1000个查询的里程碑,并超过了这个里程碑(大约1200个)。

KICS核心——开源查询

核心团队最初的重点在使KICS完全开源化。

经过本项目开源软件顾问Lior Kaplan的密切监督,并根据他提出的宝贵建议,Checkmarx打破了对于私有存储库的依赖性,重写了更合适的commit历史记录,并根据Apache 2.0许可将其移到了公有GitHub存储库

https://github.com/Checkmarx/kics 中。

在这个过程期间,Checkmarx利用GitHub Actions搭建了CI流水线,将所有KICS的基础架构保持在GitHub环境中。很快,按照代码合并请求在流水线中运行一系列的验证。它解决了几个质量方面问题:

所有这些验证都出奇地快,只花费大约一分钟,这是在每次成功的“代码合并请求”之后让KICS准备发布的时间。

只要质量等级在每个CI步骤中通过,KICS就可以随时发布。遵循开源的最佳实践,我们产生了:

每次KICS发布包括裸源、Windows、Linux和MacOS二进制文件,以及一个docker镜像,详见DockerHub  。

KICS文档——共享财富

KICS拥有一个强大的核心功能,其能够分析多种类型的IaC文件,并且有数千条安全规则,持续每两周发布一次。

为此,Checkmarx建造了一个网站,并将其存储在AWS中。但这只是漂亮的登录页。文档站点是根据markdown文件通过MkDocs动态生成的,详见GitHub页面。

Checkmarx试图使KICS文档尽可能清晰易懂,包含本项目的所有内容,包括路线图,以及使用或贡献方法说明。此外,我们还使用Gitter建立了一个KICS社区。一些人开始对外评论,提出问题,并立即提供反馈。

KICS管理——敏捷、规范化

团队遵循看板管理法以敏捷的方式开展工作。以这种方式管理工作变得很容易,因为可以轻而易举地利用GitHub的集成管理功能。

Checkmarx将工作划分为小项目并为此划定了目标,以便更好地组织要处理的问题和请求。每个开放的问题运用标签,以便于理解它们的本质:漏洞、特性、安全性、查询、增强等等。

为了指导和更好地管理KICS用户的贡献,Checkmarx为漏洞、特性、新查询和代码合并请求定义了模板。有了模板,我们能获取重要的信息,并最终标准化描述工作的质量。

总体而言,KICS是一个由架构师、开发人员、DevOps和经理组成的多学科团队。目前已有一些关注者给予 KICS更多的贡献、反馈等。Checkmarx期待听到更多使用者的声音!

在此,诚邀您使用Checkmarx的产品!免费下载KICS并向我们提供反馈意见,前30位最详细的反馈意见提供者将获得1000 元京东代金券!

此外,3月30日北京时间下午4-5点,Checkmarx将在线上直播演示KICS,并在线进行答疑!我们在此诚邀您的参与!

【责任编辑:张燕妮 TEL:(010)68476606】

 

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯