checkmarx近日重磅发布了开源静态分析解决方案kics(保持基础架构即代码安全),使开发人员能够编写更安全的基础架构即代码(iac),并为保护传统应用和云原生应用的专有代码、开源组件及关键基础架构安全提供了一个独立平台。免费下载地址:
https://docs.kics.io/getting-started/,3月30日下午4-5点,checkmarx将举行kics线上直播演示讲座,诚邀您的参与!【扫码下方二维码马上参与】
微信搜索checkmax微信公众号:checkmarx软件安全管理平台
+我们为什么开发kics?
云原生的出现致使现代应用的设计、开发和部署方式的观念彻底发生改变。最终,单体应用被分解成小型、独立的微服务,且不受所处的环境约束。orchestration将它们粘合在一起,使应用程序变得更可扩展、更可靠、更灵活。
就此而论,orchestration不仅涉及微服务通信或组成的方式,还涉及基础架构需求或特定配置。虽然在不久之前,基础架构和配置主要通过人工提供,但随着devops理念的出现,自动化现在已经普及并在代码中定义。因此,基础架构即代码(iac)时代已经来临。
iac通过工具和技术建立了一种方法,用于通过代码进行基础架构配置和提供服务。基础架构即代码的优点包括:自动化、幂等性(例如,复制用于测试和生产的基础架构)、一致性、自文档化、降低成本等。然而,与传统的软件开发类似,基础架构即代码也容易出现错误配置或安全漏洞等问题,这些问题不仅可能危及某一特定的应用程序,还可能在更大范围内危及整个业务及其底层基础架构。
引入kics(保持基础架构即代码安全):这是一个由checkmarx(静态代码分析领域的市场领导者)提供的开源独立引擎,用于在本地云应用的环境中检测源自基础架构即代码的漏洞、合规问题或错误配置。截至发布之日,kics已提供1000多条安全规则(用cx语言查询),支持terraform、kubernetes、docker、awscloudformation和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完全开源化。
经过本项目开源软件顾问liorkaplan的密切监督,并根据他提出的宝贵建议,checkmarx打破了对于私有存储库的依赖性,重写了更合适的commit历史记录,并根据apache2.0许可将其移到了公有github存储库中。详解:
https://github.com/checkmarx/kics
在这个过程期间,checkmarx利用githubactions搭建了ci流水线,将所有kics的基础架构保持在github环境中。很快,按照代码合并请求在流水线中运行一系列的验证。它解决了几个质量方面问题:
代码测试覆盖率(使用codecov)
代码质量(使用sonarcloud和codacy)
代码安全性(通过kicsgithubaction使用checkmarx提供的cxsast和我们自己的kics)
所有这些验证都出奇地快,只花费大约一分钟,这是在每次成功的代码合并请求之后让kics准备发布的时间。
只要质量等级在每个ci步骤中通过,kics就可以随时发布。遵循开源的最佳实践,我们产生了:
一次夜间发布,使用相应commit的哈希值来命名。
每两周发布一次官方版本,使用semver标准。
每次kics发布包括裸源、windows、linux和macos二进制文件,以及一个docker镜像,详见dockerhub。
kics文档--共享财富
kics拥有一个强大的核心功能,其能够分析多种类型的iac文件,并且有数千条安全规则,持续每两周发布一次。
为此,checkmarx建造了一个网站(https://kics.io/),并将其存储在aws中。但这只是漂亮的登录页。文档站点是根据markdown文件通过mkdocs动态生成的,详见github页面。(
https://hub.docker.com/r/checkmarx/kics)
checkmarx试图使kics文档尽可能清晰易懂,包含本项目的所有内容,包括路线图,以及使用或贡献方法说明。此外,我们还使用gitter建立了一个kics社区。一些人开始对外评论,提出问题,并立即提供反馈。
kics管理--敏捷、规范化
团队遵循看板管理法以敏捷的方式开展工作。以这种方式管理工作变得很容易,因为可以轻而易举地利用github的集成管理功能。
checkmarx将工作划分为小项目并为此划定了目标,以便更好地组织要处理的问题和请求。每个开放的问题运用标签,以便于理解它们的本质:漏洞、特性、安全性、查询、增强等等。
为了指导和更好地管理kics用户的贡献,checkmarx为漏洞、特性、新查询和代码合并请求定义了模板。有了模板,我们能获取重要的信息,并最终标准化描述工作的质量。
总体而言,kics是一个由架构师、开发人员、devops和经理组成的多学科团队。目前已有一些关注者给予kics更多的贡献、反馈等。checkmarx期待听到更多使用者的声音!
在此,诚邀您使用checkmarx的产品!免费下载kics并向我们提供反馈意见【扫码下方二维码马上参与】,前30位最详细的反馈意见提供者将获得1000元京东代金券!
此外,3月30日北京时间下午4-5点,checkmarx将在线上直播演示kics【扫码下方二维码马上参与】,并在线进行答疑!我们在此诚邀您的参与!
5G、IIoT、车联网、卫星等研发测试技术风向,NIWeek2019全面透射
AI芯片的十字路口 未来发展大方向
区块链融资历史上金额排名前50的项目当前的状况分析
芯驰科技全场景车规芯片赋能智能汽车产业
应用于健身房中的智能电子屏已震撼来袭
Checkmarx发布静态分析开源解决方案KICS
宏碁宣布推出其新型Predator X25游戏显示器
NVIDIA新MX130独显到底怎么样
健身房中的镜面显示屏将带来不一样的健身体验
深度学习下的分类,目标检测、语义分割这三个方向具体的概念及其应用场景是什么?
单片机四位时钟电路设计方案汇总(四款电路图及程序分享)
Python 可视化如何配色
AN5120N引脚功能及电压参数
全面解读锂电池储能电芯产业链现状
基于Raspberry Pi 5的蜂窝物联网项目
5G标准专利,都在谁手里?
带 LED 和 LCD 的穿透式玻璃触控应用
中国自动驾驶接受程度高,愿意为其支付更多费用
白天也清晰的投影仪怎么调?一文教你如何不再受光线影响尽情追剧
定子电磁振动异常的主要原因