2014.07.18

가트너 기고 | 오픈소스 SW 품질 및 보안에 대한 올바른 이해

Mark Driver | CIO KR
오픈소스 소프트웨어(OSS: Open Source Software)는 클로즈드소스 소프트웨어(CSS: Closed Source Software) 보다 태생적으로 품질이 좋고 보안이 강력한 것일까? 소프트웨어 개발자들 사이에서 이 질문에 대한 의견은 오랫동안 분분했다.

일부 사람들은 OSS가 취미로 소프트웨어 개발을 하던 사람들의 결과물이기 때문에 CSS 개발에 비해 참여자들의 성실함이나 모범사례들이 간과되는 경향이 있다고 말한다. 그러나 대부분의 사람들은 오픈소스 모델이 ‘투명’한 속성을 지니고 있기 때문에 당연히 클로즈드소스보다 품질 및 보안이 뛰어날 것이라고 주장한다.

하지만 실제 IT 프로젝트의 보안 수준이나 최종 결과물의 품질은 OSS 나 CSS 의 속성 때문에 달라지는 것이 아니라, 각 프로젝트 별로 적용되는 거버넌스 및 기술 등 다양한 요소에 의해 결정된다. 따라서, IT 리더들은 OSS에 대한 모든 고정관념들을 내려놓고, 각 프로젝트에 적용되는 OSS를 개별 검토하여 품질 및 보안을 평가해야 한다. 이를 통해서만 기업의 성공적인 장기 IT 로드맵을 수립할 수 있다.

가트너는 2016년까지 최소 95%의 IT 조직들이 중요한 기업 IT 포트폴리오에 OSS를 이용할 것으로 예측하고 있다. 소위 ‘주류’ IT 과업들에 OSS의 사용이 증가하면서, 2020년까지 OSS로 인해 발생되는 품질 및 보안 결함 문제들도 상당히 증가할 전망이다. 기업 내에서 OSS를 활용할 경우 리스크는 최소화하고 가치는 최대화하기 위해 다음과 같은 사항들을 고려해야 한다.

OSS가 당연히 품질이 뛰어날 것이라는 생각을 버려라
오픈소스 모델은 투명성을 특징으로 하기 때문에 프로젝트 운영이 원활하고 협업이 잘 될 경우 ‘중간’ 이상의 품질을 보장할 수 있다. 이 때문에, 다수의 사람들이 OSS가 본질적으로 CSS 보다 품질이 뛰어나다고 생각한다.

이를 뒷받침 하는 조사결과도 있다. 2012년 소프트웨어 품질 평가 전문업체인 코베리티(Coverity)는 오픈소스 프로젝트의 평균 결함 밀도(1,000코드 라인당 결함 수)가 클로즈드소스 코드 기반과 대체로 비슷한 수준이라고 발표했다.

실제 아래 표를 보면 소프트웨어의 코드 라인이 백만을 넘지 않을 경우 모든 구간에서 OSS 결함 밀도가 소유권이 있는 특허 코드 보다 낮다. 그러나 백만 라인이 넘어가는 경우 OSS 의 결함 밀도는 CSS 보다 높아진다.

 

오픈소스의 결함이 더 적다고 주장하는 OSS 지지자들은 OSS 개발에 참여하는 베타 테스터와 공동개발자의 수가 많기 덕분에 어떤 문제든 신속하게 규명되고 쉽게 해결될 것이라 말한다. 사실 OSS가 소규모 팀이 개발에 참여하는 CSS보다 훨씬 더 많은 ‘전문가’의 도움을 받을 수 있다는 건 장점에 해당한다. OSS는 코드가 릴리스 되기 전에 전문인 검토와 조사를 받을 수 있다. 하지만 이는 실행되지 않는 한 이론에 불과한 장점이다.

결국, 오픈소스 프로젝트의 품질은 ‘투명’하거나 ‘공개’적인 속성이 아닌 개발에 참여하는 커뮤니티의 효과성, 커뮤니티의 효과성, 프로젝트 성숙도, 결함 추적과 해결 방식, 계획된 제품 로드맵 대비 임시 코딩, 강력한 IP 거버넌스 및 보안 감사 등과 같은 요소들에 의해 좌우된다.

OSS의 보안이 당연히 강력할 것이라는 생각을 버려라
오늘날의 IT 환경에는 수많은 위협요소와 취약성이 존재한다. 따라서 강력한 보안을 보장하는 IT 솔루션을 개발하거나 소스 코드(source code)의 보안 취약점을 발견하기 위해서는 전문적이고 복합적인 기술이 필요하다.

임의로 운영되는 OSS 커뮤니티가 모든 발생 가능한 보안 문제에 대응할 수 있다고 보기는 어렵다.

급속도로 발전한 보안취약성 관련 시장 및 기술 분야에서는 클로즈드소스 제품들에 활발히 적용되고 있다. 퍼징(Fuzzing), 제로데이 IPS 시그니처(Zero-day Intrusion Protection System signatures) 및 정기적인 취약점 관리 등으로 인해 클로즈드소스 프로젝트와 제품 등에서 취약점 차단 가능성은 더욱 높아졌다.

OSS의 품질과 마찬가지로 효과적인 보안은 프로젝트에 적용되는 거버넌스 및 기술 모범사례를 통해 이뤄지는 것이다. 보안 단 문제만 집중적으로 다루는 전문인력을 보유한 개발자 커뮤니티는 그 어떤 단일 보안 공급자보다 강력한 보안을 확보할 수 있다.

OSS의 품질과 보안 관리는 프로젝트 건별로 진행하라
좋은 평가를 받는 오픈소스 프로젝트라면 대중이 언제든지 접근할 수 있는 버그질라(Bugzilla)나 지라(Jira)와 같은 버그 추적 기능을 제공할 것이다. 그렇지 않은 프로젝트는 매우 신중히 살펴볼 필요가 있다.

전체적인 OSS의 품질 및 보안 관리를 위해서는, 웹 브라우저로 제공되는 이러한 이슈 추적 시스템을 활용해 프로젝트의 미해결 항목 수와 그 상태 및 위험도를 파악하고, 보고기능을 사용해 시간 경과에 따른 동향을 파악해야 한다.

더 나아가, 올로와 같은 오픈소스 프로젝트 추적 웹 사이트를 이용하여 할당된 시간 및 참여자들과 같은 프로젝트 동향을 검토하여 전체적인 완성도 및 모멘텀에 대한 통찰력을 얻어야 한다.

개별 프로젝트 포럼을 참조하여 미해결 항목, 프로젝트 방향 그리고 커뮤니티 멤버들 간의 잠재적인 충돌, 스트레스 요인 등을 찾을 수도 있다.

앞으로 점점 더 많은 주요 IT 포트폴리오에서 OSS 활용이 증가할 것이다. 이에 따라, IT 리더들은 시대에 뒤떨어진 OSS 품질 및 보안의 고정관념과 일반론을 뒤로하고 프로젝트별로 세부적인 측정 및 평가 기준을 구축해야 한다.

* Mark Driver는 가트너 리서치 부사장이다. ciokr@idg.co.kr




2014.07.18

가트너 기고 | 오픈소스 SW 품질 및 보안에 대한 올바른 이해

Mark Driver | CIO KR
오픈소스 소프트웨어(OSS: Open Source Software)는 클로즈드소스 소프트웨어(CSS: Closed Source Software) 보다 태생적으로 품질이 좋고 보안이 강력한 것일까? 소프트웨어 개발자들 사이에서 이 질문에 대한 의견은 오랫동안 분분했다.

일부 사람들은 OSS가 취미로 소프트웨어 개발을 하던 사람들의 결과물이기 때문에 CSS 개발에 비해 참여자들의 성실함이나 모범사례들이 간과되는 경향이 있다고 말한다. 그러나 대부분의 사람들은 오픈소스 모델이 ‘투명’한 속성을 지니고 있기 때문에 당연히 클로즈드소스보다 품질 및 보안이 뛰어날 것이라고 주장한다.

하지만 실제 IT 프로젝트의 보안 수준이나 최종 결과물의 품질은 OSS 나 CSS 의 속성 때문에 달라지는 것이 아니라, 각 프로젝트 별로 적용되는 거버넌스 및 기술 등 다양한 요소에 의해 결정된다. 따라서, IT 리더들은 OSS에 대한 모든 고정관념들을 내려놓고, 각 프로젝트에 적용되는 OSS를 개별 검토하여 품질 및 보안을 평가해야 한다. 이를 통해서만 기업의 성공적인 장기 IT 로드맵을 수립할 수 있다.

가트너는 2016년까지 최소 95%의 IT 조직들이 중요한 기업 IT 포트폴리오에 OSS를 이용할 것으로 예측하고 있다. 소위 ‘주류’ IT 과업들에 OSS의 사용이 증가하면서, 2020년까지 OSS로 인해 발생되는 품질 및 보안 결함 문제들도 상당히 증가할 전망이다. 기업 내에서 OSS를 활용할 경우 리스크는 최소화하고 가치는 최대화하기 위해 다음과 같은 사항들을 고려해야 한다.

OSS가 당연히 품질이 뛰어날 것이라는 생각을 버려라
오픈소스 모델은 투명성을 특징으로 하기 때문에 프로젝트 운영이 원활하고 협업이 잘 될 경우 ‘중간’ 이상의 품질을 보장할 수 있다. 이 때문에, 다수의 사람들이 OSS가 본질적으로 CSS 보다 품질이 뛰어나다고 생각한다.

이를 뒷받침 하는 조사결과도 있다. 2012년 소프트웨어 품질 평가 전문업체인 코베리티(Coverity)는 오픈소스 프로젝트의 평균 결함 밀도(1,000코드 라인당 결함 수)가 클로즈드소스 코드 기반과 대체로 비슷한 수준이라고 발표했다.

실제 아래 표를 보면 소프트웨어의 코드 라인이 백만을 넘지 않을 경우 모든 구간에서 OSS 결함 밀도가 소유권이 있는 특허 코드 보다 낮다. 그러나 백만 라인이 넘어가는 경우 OSS 의 결함 밀도는 CSS 보다 높아진다.

 

오픈소스의 결함이 더 적다고 주장하는 OSS 지지자들은 OSS 개발에 참여하는 베타 테스터와 공동개발자의 수가 많기 덕분에 어떤 문제든 신속하게 규명되고 쉽게 해결될 것이라 말한다. 사실 OSS가 소규모 팀이 개발에 참여하는 CSS보다 훨씬 더 많은 ‘전문가’의 도움을 받을 수 있다는 건 장점에 해당한다. OSS는 코드가 릴리스 되기 전에 전문인 검토와 조사를 받을 수 있다. 하지만 이는 실행되지 않는 한 이론에 불과한 장점이다.

결국, 오픈소스 프로젝트의 품질은 ‘투명’하거나 ‘공개’적인 속성이 아닌 개발에 참여하는 커뮤니티의 효과성, 커뮤니티의 효과성, 프로젝트 성숙도, 결함 추적과 해결 방식, 계획된 제품 로드맵 대비 임시 코딩, 강력한 IP 거버넌스 및 보안 감사 등과 같은 요소들에 의해 좌우된다.

OSS의 보안이 당연히 강력할 것이라는 생각을 버려라
오늘날의 IT 환경에는 수많은 위협요소와 취약성이 존재한다. 따라서 강력한 보안을 보장하는 IT 솔루션을 개발하거나 소스 코드(source code)의 보안 취약점을 발견하기 위해서는 전문적이고 복합적인 기술이 필요하다.

임의로 운영되는 OSS 커뮤니티가 모든 발생 가능한 보안 문제에 대응할 수 있다고 보기는 어렵다.

급속도로 발전한 보안취약성 관련 시장 및 기술 분야에서는 클로즈드소스 제품들에 활발히 적용되고 있다. 퍼징(Fuzzing), 제로데이 IPS 시그니처(Zero-day Intrusion Protection System signatures) 및 정기적인 취약점 관리 등으로 인해 클로즈드소스 프로젝트와 제품 등에서 취약점 차단 가능성은 더욱 높아졌다.

OSS의 품질과 마찬가지로 효과적인 보안은 프로젝트에 적용되는 거버넌스 및 기술 모범사례를 통해 이뤄지는 것이다. 보안 단 문제만 집중적으로 다루는 전문인력을 보유한 개발자 커뮤니티는 그 어떤 단일 보안 공급자보다 강력한 보안을 확보할 수 있다.

OSS의 품질과 보안 관리는 프로젝트 건별로 진행하라
좋은 평가를 받는 오픈소스 프로젝트라면 대중이 언제든지 접근할 수 있는 버그질라(Bugzilla)나 지라(Jira)와 같은 버그 추적 기능을 제공할 것이다. 그렇지 않은 프로젝트는 매우 신중히 살펴볼 필요가 있다.

전체적인 OSS의 품질 및 보안 관리를 위해서는, 웹 브라우저로 제공되는 이러한 이슈 추적 시스템을 활용해 프로젝트의 미해결 항목 수와 그 상태 및 위험도를 파악하고, 보고기능을 사용해 시간 경과에 따른 동향을 파악해야 한다.

더 나아가, 올로와 같은 오픈소스 프로젝트 추적 웹 사이트를 이용하여 할당된 시간 및 참여자들과 같은 프로젝트 동향을 검토하여 전체적인 완성도 및 모멘텀에 대한 통찰력을 얻어야 한다.

개별 프로젝트 포럼을 참조하여 미해결 항목, 프로젝트 방향 그리고 커뮤니티 멤버들 간의 잠재적인 충돌, 스트레스 요인 등을 찾을 수도 있다.

앞으로 점점 더 많은 주요 IT 포트폴리오에서 OSS 활용이 증가할 것이다. 이에 따라, IT 리더들은 시대에 뒤떨어진 OSS 품질 및 보안의 고정관념과 일반론을 뒤로하고 프로젝트별로 세부적인 측정 및 평가 기준을 구축해야 한다.

* Mark Driver는 가트너 리서치 부사장이다. ciokr@idg.co.kr


X