on
MS SDL이란? (1)
본 내용은 머리 속에 있는 내용을 정리하기 위한 포스팅으로, 잘못된 설명이나 오역이 있을 수 있습니다. 전반적으로 쭉 읽어보는 정도로 접근하시면 감사하겠습니다. :)
MS SDL은 소프트웨어 개발에 중점을 둔 보안 보증 프로세스(security assurance process)로 2004년부터 진행하는 모든 개발 프로젝트에 필수 정책으로 사용되고 있다.
MS는 기존의 소프트웨어 개발 주기인 SDLC(Software Development Lifecycle)에 보안을 고려한 SDL(Security Development Lifecycle) 모델을 별도로 구성하여, 기존 개발 주기에 소프트웨어 보안 및 개인정보보호 기능이 통합시켰다. 2010년 당시에 이 SDL 요구사항은 50가지나 넘었다고하며, 소프트웨어의 버전이나 환경을 고려하여 지속적인 업데이트를 진행하고 있다.
마이크로소프트에서는 이러한 SDL 모델에 대해 Microsoft Security Development Lifecycle이라는 홈페이지를 통해 모델과 절차를 설명하고 있다.
다음은 마이크로소프트에서 SDL의 적용 전후 프로젝트를 비교한 내용으로, 첫 번째는 SDL을 적용하기 전인 Windows XP와 SDL 적용 후인 Vista의 릴리즈 후 1년간 밝혀진 취약점 정보를 다룬다.
여기서 사실 두 운영체제가 다르고, 아무래도 이후에 나온 운영체제가 더 높은 보안성을 가질 확률이 높으며, 개발자의 기본 보안 역량이 높아서 이러한 차이가 발생할 수도 있을 거란 생각이 들 수 있다. 이 SDL은 이런 앞에 설명한 내용도 SDL 과정의 한 요소로 들어가 있다.
다음 SQL서버의 릴리즈 후 3년간 발생한 취약점을 보면 더 확연한 차이를 느낄 수 있다.
더욱더 현격한 취약점 갯수의 변화를 살펴볼 수 있다. 약 91%의 취약점이 감소됐음을 알 수 있다. 다음 포스팅에서 SDL의 각 과정별 기능을 간단하게 알아보도록 하겠다.