GLITCH:基础设施即代码中自动化多语言安全气味检测
密码学与安全
2022-09-08 v3 软件工程
摘要
基础设施即代码(IaC)是通过可编程配置文件(亦称IaC脚本)管理IT基础设施的过程。与其他软件制品类似,IaC脚本可能含有安全气味,即可能导致安全弱点的编码模式。现有的IaC脚本安全气味自动分析工具聚焦于特定技术如Puppet、Ansible或Chef。这意味着当某一工具中实现一种新的气味检测时,其并不能立即用于其他工具所支持的技术——唯一的选择是重复劳动。本文提出一种可在不同IaC技术间实现一致安全气味检测的方法。我们开展了一项大规模实证研究,分析三个大型数据集上的安全气味,包含196,755个IaC脚本与12,281,251行代码(LOC)。我们表明所有类别的安全气味在各数据集中均被识别,并识别出可能影响众多IaC项目的某些气味。为开展此项研究,我们开发了GLITCH,一种技术无关的新框架,通过将IaC脚本转换为中间表示来实现自动化多语言气味检测,可在其上定义不同的安全气味检测器。GLITCH目前支持对以Ansible、Chef或Puppet编写的脚本中九种不同安全气味的检测。我们将GLITCH与最先进的安全气味检测器进行比较。所得结果不仅表明GLITCH可降低为多种IaC技术编写安全气味分析的工作量,而且其精度与召回率均高于当前最先进工具。
引用
@article{arxiv.2205.14371,
title = {GLITCH: Automated Polyglot Security Smell Detection in Infrastructure as Code},
author = {Nuno Saavedra and João F. Ferreira},
journal= {arXiv preprint arXiv:2205.14371},
year = {2022}
}
备注
arXiv admin note: text overlap with arXiv:1907.07159 by other authors