GLITCH: Automated Polyglot Security Smell Detection in Infrastructure as Code

被引:6
|
作者
Saavedra, Nuno [1 ,2 ]
Ferreira, Joao F. [1 ,2 ]
机构
[1] Univ Lisbon, IST, Lisbon, Portugal
[2] Univ Lisbon, INESC ID, Lisbon, Portugal
关键词
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
相关论文
共 50 条
  • [31] Understanding Code Smell Detection via Code Review: A Study of the OpenStack Community
    Han, Xiaofeng
    Tahir, Amjed
    Liang, Peng
    Counsell, Steve
    Luo, Yajing
    2021 IEEE/ACM 29TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2021), 2021, : 323 - 334
  • [32] 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
  • [33] Hiding data and code security for application hosting infrastructure
    Lin, P
    Candan, KS
    Bazzi, R
    Liu, ZC
    INTELLIGENCE AND SECURITY INFORMATICS, PROCEEDINGS, 2003, 2665 : 388 - 388
  • [34] Automated Smell Detection and Recommendation in Natural Language Requirements
    Veizaga, Alvaro
    Shin, Seung Yeob
    Briand, Lionel C.
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2024, 50 (04) : 695 - 720
  • [35] Automated verification of security policies in mobile code
    Braghin, Chiara
    Sharygina, Natasha
    Barone-Adesi, Katerina
    INTEGRATED FORMAL METHODS, PROCEEDINGS, 2007, 4591 : 37 - 53
  • [36] Abnormal trajectory detection for security infrastructure
    Le, Van-Khoa
    Beauseroy, Pierre
    Grall-Maes, Edith
    2018 2ND INTERNATIONAL CONFERENCE ON DIGITAL SIGNAL PROCESSING (ICDSP 2018), 2018, : 1 - 5
  • [37] A Support Vector Machine based Approach for Code Smell Detection
    Kaur, Amandeep
    Jain, Sushma
    Goel, Shivani
    2017 INTERNATIONAL CONFERENCE ON MACHINE LEARNING AND DATA SCIENCE (MLDS 2017), 2017, : 9 - 14
  • [38] Code smell detection based on supervised learning models: A survey
    Zhang, Yang
    Ge, Chuyan
    Liu, Haiyang
    Zheng, Kun
    NEUROCOMPUTING, 2024, 565
  • [39] Comparing and experimenting machine learning techniques for code smell detection
    Francesca Arcelli Fontana
    Mika V. Mäntylä
    Marco Zanoni
    Alessandro Marino
    Empirical Software Engineering, 2016, 21 : 1143 - 1191
  • [40] Optimizing LSTM for Code Smell Detection: The Role of Data Balancing
    Khleel, Nasraldeen Alnor Adam
    Nehéz, Károly
    Infocommunications Journal, 2024, 16 (03): : 57 - 63