GLITCH: Automated Polyglot Security Smell Detection in Infrastructure as Code

被引:12
|
作者
Saavedra, Nuno [1 ,2 ]
Ferreira, Joao F. [1 ,2 ]
机构
[1] Univ Lisbon, IST, Lisbon, Portugal
[2] Univ Lisbon, INESC ID, Lisbon, Portugal
来源
PROCEEDINGS OF THE 37TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, ASE 2022 | 2022年
关键词
devops; infrastructure as code; security smells; Ansible; Chef; Puppet; intermediate model; static analysis;
D O I
10.1145/3551349.3556945
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Infrastructure as Code (IaC) is the process of managing IT infrastructure via programmable configuration files (also called IaC scripts). Like other software artifacts, IaC scripts may contain security smells, which are coding patterns that can result in security weaknesses. Automated analysis tools to detect security smells in IaC scripts exist, but they focus on specific technologies such as Puppet, Ansible, or Chef. This means that when the detection of a new smell is implemented in one of the tools, it is not immediately available for the technologies supported by the other tools - the only option is to duplicate the effort. This paper presents an approach that enables consistent security smell detection across different IaC technologies. We conduct a large-scale empirical study that analyzes security smells on three large datasets containing 196,755 IaC scripts and 12,281,251 LOC. We show that all categories of security smells are identified across all datasets and we identify some smells that might affect many IaC projects. To conduct this study, we developed GLITCH, a new technology-agnostic framework that enables automated polyglot smell detection by transforming IaC scripts into an intermediate representation, on which different security smell detectors can be defined. GLITCH currently supports the detection of nine different security smells in scripts written in Ansible, Chef, or Puppet. We compare GLITCH with state-of-the-art security smell detectors. The results obtained not only show that GLITCH can reduce the effort of writing security smell analyses for multiple IaC technologies, but also that it has higher precision and recall than the current state-of-the-art tools.
引用
收藏
页数:12
相关论文
共 13 条
  • [1] Polyglot Code Smell Detection for Infrastructure as Code with GLITCH
    Saavedra, Nuno
    Goncalves, Joao
    Henriques, Miguel
    Ferreira, Joao F.
    Mendes, Alexandra
    2023 38TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, ASE, 2023, : 2042 - 2045
  • [2] Control and Data Flow in Security Smell Detection for Infrastructure as Code: Is It Worth the Effort?
    Opdebeeck, Ruben
    Zerouali, Ahmed
    De Roover, Coen
    2023 IEEE/ACM 20TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES, MSR, 2023, : 534 - 545
  • [3] The Seven Sins: Security Smells in Infrastructure as Code Scripts
    Rahman, Akond
    Parnin, Chris
    Williams, Laurie
    2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2019), 2019, : 164 - 175
  • [4] Automated Infrastructure as Code Program Testing
    Sokolowski, Daniel
    Spielmann, David
    Salvaneschi, Guido
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2024, 50 (06) : 1585 - 1599
  • [5] Code Smell Detection Tool for Java']Java Script Programs
    Almashfi, Nabil
    Lu, Lunjin
    2020 5TH INTERNATIONAL CONFERENCE ON COMPUTER AND COMMUNICATION SYSTEMS (ICCCS 2020), 2020, : 172 - 176
  • [6] Smelly Variables in Ansible Infrastructure Code: Detection, Prevalence, and Lifetime
    Opdebeeck, Ruben
    Zerouali, Ahmed
    De Roover, Coen
    2022 MINING SOFTWARE REPOSITORIES CONFERENCE (MSR 2022), 2022, : 61 - 72
  • [7] Improving software security with static automated code analysis in an industry setting
    Baca, Dejan
    Carlsson, Bengt
    Petersen, Kai
    Lundberg, Lars
    SOFTWARE-PRACTICE & EXPERIENCE, 2013, 43 (03) : 259 - 279
  • [8] Raising Security Awareness of Cloud Deployments using Infrastructure as Code through CyberSecurity Challenges
    Gasiba, Tiago Espinha
    Andrei-Cristian, Iosif
    Lechner, Ulrike
    Pinto-Albuquerque, Maria
    ARES 2021: 16TH INTERNATIONAL CONFERENCE ON AVAILABILITY, RELIABILITY AND SECURITY, 2021,
  • [9] Assessing Architecture Conformance to Security-Related Practices in Infrastructure as Code Based Deployments
    Ntentos, Evangelos
    Zdun, Uwe
    Falazi, Ghareeb
    Breitenbuecher, Uwe
    Leymann, Frank
    2022 IEEE INTERNATIONAL CONFERENCE ON SERVICES COMPUTING (IEEE SCC 2022), 2022, : 123 - 133
  • [10] On the Understandability of Design-Level Security Practices in Infrastructure-as-Code Scripts and Deployment Architectures
    Ntentos, Evangelos
    Lueger, Nicole elisabeth
    Simhandl, Georg
    Zdun, Uwe
    Schneider, Simon
    Scandariato, Riccardo
    Ferreyra, NICOLaS E. DiAZ
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2024, 34 (01)