[논문 리뷰] Secure Scrum: Development of Secure Software with Scrum
이 논문은 스쿠럼 프레임워크의 확장으로, 핵심 구조를 변경하지 않은 채 전체 애자일 개발 라이프사이클 전반에 보안 관행을 통합하는 Secure Scrum을 제안한다. S-마크를 도입하여 보안 관련 백로그 항목을 태그하고, 팀이 보안 작업을 분해하고 검증하는 데 안내함으로써, 비전문가도 보안 제어를 식별하고 구현하며 검증할 수 있도록 한다. 현장 테스트 결과, 취약점 수가 크게 감소했으며, 표준 스쿠럼을 사용하는 팀들과 비교해 Secure Scrum을 사용한 팀 3은 훨씬 적은 결함을 기록했다. 이는 최소한의 오버헤드로 보다 향상된 보안 성과를 달성할 수 있음을 보여준다.
Nowadays, the use of agile software development methods like Scrum is common in industry and academia. Considering the current attacking landscape, it is clear that developing secure software should be a main concern in all software development projects. In traditional software projects, security issues require detailed planning in an initial planning phase, typically resulting in a detailed security analysis (e.g., threat and risk analysis), a security architecture, and instructions for security implementation (e.g., specification of key sizes and cryptographic algorithms to use). Agile software development methods like Scrum are known for reducing the initial planning phases (e.g., sprint 0 in Scrum) and for focusing more on producing running code. Scrum is also known for allowing fast adaption of the emerging software to changes of customer wishes. For security, this means that it is likely that there are no detailed security architecture or security implementation instructions from the start of the project. It also means that a lot of design decisions will be made during the runtime of the project. Hence, to address security in Scrum, it is necessary to consider security issues throughout the whole software development process. Secure Scrum is a variation of the Scrum framework with special focus on the development of secure software throughout the whole software development process. It puts emphasis on implementation of security related issues without the need of changing the underlying Scrum process or influencing team dynamics. Secure Scrum allows even non- security experts to spot security issues, to implement security features, and to verify implementations. A field test of Secure Scrum shows that the security level of software developed using Secure Scrum is higher then the security level of software developed using standard Scrum.
연구 동기 및 목표
- 표준 스쿠럼에서 보안이 종종 후순서로 다뤄지는 바탕으로 체계적인 보안 통합의 부족을 해결하기 위해.
- 비보안 전문가가 애자일 스프린트 내에서 보안 제어를 식별하고 구현하며 검증할 수 있도록 하기 위해.
- 보안이 개발 라이프사이클 전반에 걸쳐 우선시되도록 하면서도 스쿠럼의 민첩성과 팀의 자율성을 유지하기 위해.
- 침해 비용이 잠재적 이득을 초월하는 '적절한' 보안 수준을 정의하고 달성하기 위해 — 과잉 설계를 방지하기 위해.
- 실제 애자일 팀 환경에서 Secure Scrum의 실용성, 사용성 및 효과성을 평가하기 위해.
제안 방법
- 보안 관련 우려 사항을 강조하기 위해 제품 백로그 및 스프린트 백로그의 사용자 스토리와 작업에 S-마크(보안 애너테이션)를 도입한다.
- 팀이 보안 관련 사용자 스토리를 S-마크가 부여된 구체적이고 실행 가능한 작업들로 분해하도록 안내함으로써, 보안이 구현 단계에서 확실히 다뤄지도록 한다.
- 침해 가능성과 잠재적 이득을 기반으로 위험을 평가하는 위협 기반 우선순위 모델을 적용하여, '적절한 보안 수준' 원칙과 일치시킨다.
- 최소한의 교육 및 관리 오버헤드를 위해 경량이며 스쿠럼과 호환되는 도구(예: S-마크용 색상 카드)를 사용한다.
- 취약점 수 계산 메커니즘을 적용: $sp = \sum cpf(cf)$, 여기서 $cpf(cf)$는 취약성 원인 기능(예: SQL 인젝션, XSS, CSRF)을 수치화한다.
- 통제된 현장 실험을 통해 표준 스쿠럼을 사용하는 팀과 비교하여 보안 성능을 평가한다.
실험 결과
연구 질문
- RQ1Secure Scrum은 팀의 자율성이나 민첩성을 해치지 않으면서도 스쿠럼 프레임워크에 보안 관행을 효과적으로 통합할 수 있는가?
- RQ2비보안 전문가들이 S-마크와 구조화된 작업 분해를 통해 보안 제어를 얼마나 잘 식별하고 구현할 수 있는가?
- RQ3Secure Scrum의 사용은 표준 스쿠럼 대비 소프트웨어 취약점 수를 측정 가능한 수준으로 줄이는가?
- RQ4Secure Scrum은 요구사항 및 작업 추적 측면에서 팀의 생산성과 문서 품질에 어떤 영향을 미치는가?
- RQ5위협 기반 위험 평가를 통해 '적절한 보안 수준' 원칙을 애자일 환경에서 실질적으로 적용할 수 있는가?
주요 결과
- 표준 스쿠럼을 사용하는 팀들(팀 1의 18개, 팀 2의 12개)과 비교해, Secure Scrum를 사용한 팀 3는 훨씬 적은 수의 취약점을 기록했다.
- 표준 스쿠럼을 사용한 두 팀 모두 SQL 인젝션, XSS, CSRF, 비보안 세션 관리 등의 침해 가능한 결함를 보였다.
- S-마크의 사용 덕분에 팀 3는 모든 14개의 사용자 스토리와 8개의 작업 그룹에 보안 관련 우려 사항을 태그했으며, 이는 보안 문제의 높은 수용도와 가시성을 보여준다.
- 팀 3의 관련 사용자 스토리와 작업을 그룹화하는 방식은 분산을 줄이고 추적 가능성을 향상시켰으며, 同시에 높은 보안 커버리지를 유지했다.
- 평가 결과, Secure Scrum는 이해하기 쉽고 사용하기 쉬우며, 최소한의 교육 및 관리 오버헤드를 유발하며, 기존 스쿠럼 도구와 원활하게 통합됨을 확인했다.
- 비기능 요구사항(예: 보안, 성능)을 추가로 추적함에 있어 약간의 생산성 손실이 있었지만, 그에 비해 얻는 보안 이점이 훨씬 더 크다는 것이 확인되었다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.