Loading [MathJax]/extensions/MathMenu.js
The Seven Sins: Security Smells in Infrastructure as Code Scripts | IEEE Conference Publication | IEEE Xplore

The Seven Sins: Security Smells in Infrastructure as Code Scripts


Abstract:

Practitioners use infrastructure as code (IaC) scripts to provision servers and development environments. While developing IaC scripts, practitioners may inadvertently in...Show More

Abstract:

Practitioners use infrastructure as code (IaC) scripts to provision servers and development environments. While developing IaC scripts, practitioners may inadvertently introduce security smells. Security smells are recurring coding patterns that are indicative of security weakness and can potentially lead to security breaches. The goal of this paper is to help practitioners avoid insecure coding practices while developing infrastructure as code (IaC) scripts through an empirical study of security smells in IaC scripts. We apply qualitative analysis on 1,726 IaC scripts to identify seven security smells. Next, we implement and validate a static analysis tool called Security Linter for Infrastructure as Code scripts (SLIC) to identify the occurrence of each smell in 15,232 IaC scripts collected from 293 open source repositories. We identify 21,201 occurrences of security smells that include 1,326 occurrences of hard-coded passwords. We submitted bug reports for 1,000 randomly-selected security smell occurrences. We obtain 212 responses to these bug reports, of which 148 occurrences were accepted by the development teams to be fixed. We observe security smells can have a long lifetime, e.g., a hard-coded secret can persist for as long as 98 months, with a median lifetime of 20 months.
Date of Conference: 25-31 May 2019
Date Added to IEEE Xplore: 26 August 2019
ISBN Information:

ISSN Information:

Conference Location: Montreal, QC, Canada
No metrics found for this document.

I. Introduction

Infrastructure as code (IaC) scripts help practitioners to provision and configure their development environment and servers at scale [1]. IaC scripts are also known as configuration scripts [2] [1] or configuration as code scripts [1] [3]. Commercial IaC tool vendors, such as Chef

https://www.chef.io/chef/

and Puppet [4], provide programming syntax and libraries so that programmers can specify configuration and dependency information as scripts.

Usage
Select a Year
2025

View as

Total usage sinceAug 2019:4,074
01020304050JanFebMarAprMayJunJulAugSepOctNovDec42380000000000
Year Total:80
Data is updated monthly. Usage includes PDF downloads and HTML views.
Contact IEEE to Subscribe

References

References is not available for this document.