시큐어 SDLC 시각의 시코어코딩 활용과 평가

  • 발행 : 2015.02.28

초록

악의적인 공격에 대해 안전한 소프트웨어를 개발하고자 하는 보안강화 활동은 소프트웨어개발 생명주기(SDLC)의 모든 단계에서 수행되어야 한다. 시큐어코딩은 개발 단계에서 적용될 수 있는 안전한 코딩 기법으로 실행코드가 지닐 수 있는 취약성의 근본 원인을 소스코드 수준에서 제거하고자 하는 시도이다. 그럼에도 불구하고 시큐어코딩을 구현활동의 일부로만 국한시켜 보는 시각은 기법이 갖는 장점을 충분히 살리지 못할 수 있다. 외국에서는 이미 시큐어코딩의 적용과 평가를 SDLC 수준에서 시행하고 있으며 시큐어 SDLC로 분류되는 BSIMM과 SAMM, MS SDL은 이러한 시도의 대표적인 사례라 할 수 있다. 본 고에서는 이들 보안 프레임워크를 대상으로 시큐어코딩이 어떻게 정의되고, 수행되며, 평가되는지 비교를 통해 효과적인 시큐어코딩 활동의 이해를 돕고자 한다.

키워드

참고문헌

  1. 데이터넷, http://www.datanet.co.kr/news/ article-View.html?idxno=72320
  2. Building Security In Maturity Model 2, http://bsimm2.com/index.php, 2010
  3. OWASP, Software Assurance Maturity Model, version 1,0, 2009. 3
  4. Security Development Lifecycle, http://www.microsoft.com/security/sdl/default.aspx 마이크로소프트, 2015
  5. 행정기관 및 공공기관 정보시스템 구축.운영 지침, 행정자치부, 2013. 8
  6. Motor Industry Software Reliability Association(MISRA), MISRA-C: 2012
  7. JPL Institutional Coding Standard for the C Programming Language, 2009
  8. 무기체계 소프트웨어 개발 및 관리지침서, 부록 6, 무기체계 소프트웨어 코딩 규칙, 방위사업청
  9. The CERT$^{(R)}$ C Coding Standard, Second Edition: 2014
  10. 안전행정부, 소프트웨어 개발보안 가이드, 2013
  11. CVE-2015-1479, http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1479
  12. PMD, http://pmd.sourceforge.net/eclipse/
  13. Gary Mcgraw, Software Security: Building Security In, Addison-Wesley, 2006