[논문 리뷰] Exploring Security Practices in Infrastructure as Code: An Empirical Study
이 사례 기반 연구는 AWS, Azure 및 Google Cloud를 위한 Terraform 구성 파일을 사용하는 812개의 오픈소스 GitHub 리포지토리에서 인프라로서 코드(IaC) 보안 최선의 실천 사례의 채택을 조사한다. Checkov를 통한 정적 분석을 적용하여, 접근 정책이 가장 널리 채택된 반면 암호화(저장 중)는 가장 간과된 것으로 밝혀졌으며, 리포지토리의 인기(스타 수)와 보안 실천 채택 간에 강한 정적 상관관계가 있음을 발견했다.
Cloud computing has become popular thanks to the widespread use of Infrastructure as Code (IaC) tools, allowing the community to conveniently manage and configure cloud infrastructure using scripts. However, the scripting process itself does not automatically prevent practitioners from introducing misconfigurations, vulnerabilities, or privacy risks. As a result, ensuring security relies on practitioners understanding and the adoption of explicit policies, guidelines, or best practices. In order to understand how practitioners deal with this problem, in this work, we perform an empirical study analyzing the adoption of IaC scripted security best practices. First, we select and categorize widely recognized Terraform security practices promulgated in the industry for popular cloud providers such as AWS, Azure, and Google Cloud. Next, we assess the adoption of these practices by each cloud provider, analyzing a sample of 812 open-source projects hosted on GitHub. For that, we scan each project configuration files, looking for policy implementation through static analysis (checkov). Additionally, we investigate GitHub measures that might be correlated with adopting these best practices. The category Access policy emerges as the most widely adopted in all providers, while Encryption in rest are the most neglected policies. Regarding GitHub measures correlated with best practice adoption, we observe a positive, strong correlation between a repository number of stars and adopting practices in its cloud infrastructure. Based on our findings, we provide guidelines for cloud practitioners to limit infrastructure vulnerability and discuss further aspects associated with policies that have yet to be extensively embraced within the industry.
연구 동기 및 목표
- 주요 클라우드 제공업체에서 인프라로서 코드(IaC) 보안 최선의 실천 사례를 개발자들이 어떻게 구현하고 있는지 이해하기 위해.
- AWS, Azure 및 Google Cloud를 위한 널리 인정된 IaC 보안 정책을 식별하고 분류하기 위해.
- 실제 오픈소스 IaC 프로젝트에서 이러한 정책의 채택 수준을 사례 기반으로 평가하기 위해.
- GitHub 메타데이터(예: 스타 수, 포크 수, 기여자 수 등)가 보안 IaC 설정 실천과 상관관계가 있는지 조사하기 위해.
- 사례 기반 발견 결과를 바탕으로 IaC 보안 향상을 위한 실행 가능한 지침 제공하기 위해.
제안 방법
- 산업계에서 널리 인정된 287개의 Terraform 보안 정책을 일반적인 보안 제어 도메인 기반으로 여덟 가지 카테고리로 분류하고 선별함.
- AWS, Azure 및 Google Cloud를 위한 Terraform를 사용하는 812개의 활성 오픈소스 GitHub 리포지토리 데이터셋을 수집함.
- Checkov라는 정적 분석 도구를 사용하여 각 프로젝트의 구성 파일에서 정책 이행 여부를 스캔함.
- 비생산용 또는 교육용 프로젝트를 제외하기 위해 리포지토리를 필터링하여 실제 배포 대상 프로젝트만 분석 대상으로 확정함.
- 보안 설정 채택과의 상관관계 평가를 위해 GitHub 메타데이터(스타 수, 포크 수, 기여자 수)를 수집함.
- Checkov의 그래프 기반 스캐닝을 활용하여 다중 리소스 간의 맥락 인식 보안 검사를 가능하게 함.
실험 결과
연구 질문
- RQ1RQ1: 어떤 보안 가이드라인이 Terraform 이행 정책을 함께 제공하며, 이를 어떻게 분류할 수 있는가?
- RQ2RQ2: 이러한 분류된 보안 정책은 실제 오픈소스 IaC 프로젝트에서 AWS, Azure 및 Google Cloud에서 어느 정도 채택되어 있는가?
- RQ3RQ3: 스타 수, 포크 수, 기여자 수 등의 GitHub 메타데이터 지표 중 보안 IaC 설정 실천과 상관관계가 있는 것은 무엇인가?
주요 결과
- 모든 세 클라우드 제공업체에서 접근 정책이 가장 널리 채택된 보안 실천 사례로, 신원 및 액세스 제어 준수가 높은 것으로 나타났다.
- 저장 중 암호화 정책이 가장 낮은 채택률을 보였으며, 다른 카테고리와 비교해 상당히 낮은 이행 비율을 보였고, 특히 AWS와 Azure에서 두드러진 편이다.
- AWS와 Azure는 로깅/모니터링 및 오래된 기능 정책의 채택률이 유사하게 낮았으며, GCP는 전송 중 암호화 및 하드코딩된 비밀번호 강제 적용 정책에서 특별한 격차를 보였다.
- GitHub 스타 수와 보안 IaC 실천 채택 간에 강한 정적 상관관계가 발견되어, 인기 있는 프로젝트일수록 보안 정책을 더 잘 이행하는 경향이 있음을 시사한다.
- Checkov와 같은 정적 분석 도구가 존재함에도 불구하고 많은 오픈소스 프로젝트가 여전히 핵심 보안 정책을 이행하지 못하고 있어, 도구 채택과 인식 부족이 문제로 드러났다.
- 이 연구는 IaC 보안이 클라우드 제공업체 및 실천 카테고리 간에 일관되지 않음을 확인했으며, CI/CD 파이프라인 내 교육 및 도구 통합 개선이 시급함을 시사한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.