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

企业动态 云原生
Checkmarx近日重磅发布了开源静态分析解决方案KICS (保持基础架构即代码安全),使开发人员能够编写更安全的基础架构即代码(IaC),并为保护传统应用和云原生应用的专有代码、开源组件及关键基础架构安全提供了一个独立平台。

 Checkmarx近日重磅发布了开源静态分析解决方案KICS (保持基础架构即代码安全),使开发人员能够编写更安全的基础架构即代码(IaC),并为保护传统应用和云原生应用的专有代码、开源组件及关键基础架构安全提供了一个独立平台。免费下载地址:https://docs.kics.io/getting-started/ , 3月30日下午4-5点,Checkmarx将举行KICS线上直播演示讲座,诚邀您的参与!

+ 我们为什么开发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条规则的目标是一个重大挑战。我们调整了我们的流程与设计,并创建了可重用的存储库,以避免在我们的REGO代码中复制。

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

KICS核心——开源查询

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

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

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

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

  • 代码测试覆盖率(使用Codecov)
  • 代码质量(使用SonarCloud和Codacy)
  • 代码安全性(通过KICS GitHub action使用Checkmarx提供的CxSAST和我们自己的KICS)

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

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

  • 一次夜间发布,使用相应commit的哈希值来命名。
  • 每两周发布一次官方版本,使用SemVer标准。

每次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】

 

责任编辑:张燕妮 来源: 51CTO
相关推荐

2009-09-24 15:45:23

2019-09-25 12:53:10

华为云容器多云混合云

2013-03-19 14:26:00

2010-06-28 15:55:23

数据泄漏DLP数据保护

2013-04-09 14:52:36

2014-10-22 14:35:21

浪潮主机安全

2014-06-05 09:55:30

SAP行业云

2009-04-16 11:10:59

LinuxIDF开源软件

2023-07-05 16:09:58

2018-10-17 17:51:13

华为

2010-02-24 09:28:37

WCF安全配置

2020-07-14 08:13:10

混合云

2013-09-17 14:44:48

数字管道物理安全华为

2011-01-06 10:58:40

2015-05-21 16:44:07

2011-12-13 11:39:38

天地超云云服务器云计算

2016-12-28 18:08:11

RiverbedSaaS数字化转型

2024-10-30 17:36:12

点赞
收藏

51CTO技术栈公众号