Offcanvas

보안 / 애플리케이션 / 오픈소스

오픈소스의 두 얼굴··· 탁월한 가치, 만만치 않은 맹점

2015.06.17 Taylor Armerding  |  CSO


맥컬리비는 자신이 (가장 성공적인 오픈소스 OS인) 리눅스를 이용하기 시작했다는 점을 언급하며 “이것이 20년 전에 출시됐더라면 패치 미설치와 관련한 문제는 더 심각했을 것이다. 오픈소스가 ‘두 개의 구분된 조직’으로 존재했을 것이기 때문이다”라고 이야기했다.

맬컬리비는 “리눅스의 경우 그 자체로 제1 OS인 ‘커널 팀(kernel team)’과 ‘애플리케이션 유지관리자(application maintainer)’가 별개로 존재한다”라고 설명했다.

그는 “리눅스 커널 자체에 대한 모든 변경은 여전히 리눅스(의 창시자 리누스 토발즈) 본인 혹은 소수의 어플리케이션 유지관리자들의 승인이 있어야 가능하다. 그들, 오직 그들만이 코어 커널 OS에서 이뤄지는 활동을 결정할 수 있다”라고 설명을 이었다.

그러나 그들은 리눅스 애플리케이션 혹은 ‘패키지’(‘디스트로(distro)’ 혹은 ‘디스트리뷰션(distribution)’이라고도 불리는)를 유지하는 수천의 오픈소스 개발자들에 대해서는 어떤 관심도 보이지 않는다. 그곳은 독자적인 생태계라 할 수 있다.

이는 유저랜드(userland) 영역의 완전한 무정부 상태를 야기했다. 이 곳에서는 안정성과 보안에 모두 위험한 수준이다. 책임자가 없기 때문이다.

로스는 “폐쇄형 소스 소프트웨어 역시 오픈소스처럼 ‘버려질’ 여지가 있긴 마찬가지라 할 수도 있지만, 상용, 독점 소프트웨어들에겐 유지 및 업데이트에 따른 경제적 인센티브가 있다. 품질 관리를 신경 쓰는 벤더라면 패치 등의 문제는 크게 걱정할 것이 없을 것이다”라고 설명했다.

맥컬리비와 마찬가지로 로스 역시 상용 애플리케이션에 이용되는 오픈소스 컴포넌트의 가장 큰 문제로 잊혀질 가능성을 지적했다. 예를 들어 오픈SSL 라이브러리를 이용 중 그 속의 각종 주요 결함으로 갑작스런 문제가 발생할 수 있다. 문제 발생 시 패치가 필요한 것은 오픈소스 소프트웨어나 상용 소프트웨어 모두 마찬가지지만, 상용 애플리케이션에서 오픈SSL이 이용되는 경우에는 많은 최종 사용자들이 그것의 존재 자체를 인식하지 못하고, 따라서 패치가 필요하다는 사실 자체를 인지하지 못하게 될 수 있는 것이다.

탄틀레프도 같은 문제를 강조하며 “패치가 있다고 문제가 사라지는 것은 아니다. 환경의 누군가는 아직 그것을 설치하지 않았다. 일반적으로 오픈소스 애플리케이션에 ‘자동 업데이트’는 지원되지 않는다”라고 설명했다.

개발자 혹은 조직의 니즈에 맞춘 커스텀이나 변경이 부메랑이 되어 위협을 안겨줄 수도 있다. 탄틀레프는 “각 수정들이 모여 오픈소스 프로그램을 변경, 혹은 분리 버전으로 만든다. 이 변경된 애플리케이션들 가운데 다수는 다시 배포가 이뤄지고, 그 경우 ‘어떤 버전을 사용할 것인가?’라는 문제가 제기되어 버린다. 그리고 그 문제에 답을 내리기란 매우 곤란하다”라고 설명했다.

즉 사용자 혹은 개발자들은 자신이 애플리케이션 패치를 시행했다 생각했지만, 실제로는 버전의 차이로 패치가 적용되지 못하고, 취약성은 그대로 남아있게 되는 것이다.

변경의 가능성은 누군가의 장난이 가능하다는 의미이기도 하다. 탄틀레프는 “마음만 먹는다면 코드에 맬웨어를 주입하는 것도 가능하고, 더 나쁜 경우에는 아예 설계 단계에서부터 맬웨어를 숨겨둔 오픈소스 애플리케이션이 배포 되어 문제를 야기할 수도 있을 것이다. 슬프게도 이들 모두 가정의 수준을 넘어서, 실제 사례로 발견된 바 있는 것들이다”라고 말했다.

마지막으로, 법률이나 규제 관련 문제가 발생했을 때 커뮤니티 내 수 천의 관계자 중 특정인에게 책임을 묻기 어렵다는 점도 큰 문제다. 맥컬리비는 “아무도 책임지지 않는 도구를 누가 이용할 수 있겠는가?”라고 지적했다.

물론, 오픈소스의 지지자들은 커뮤니티가 독점적 시스템의 기업보다 훨씬 믿을 수 있다고 이야기한다. 일례로 CMS 크리틱에 개재한 기고문에서 다니엘 스렐폴은 “독점 시스템을 관리하는 그 한 곳의 기업에 사고가 생기면 무엇이 남는가? 반대로 오픈소스 CMS는 보다 역동적이라 할 수 있다. 어떤 집단도 이를 소유하지 않으며, 대신 지원 네트워크가 그것을 유지해나간다. 커뮤니티는 안정적인 존재 기반이다”라고 강조했다.

그렇다면, 사용자들은 오픈소스를 활용함에 있어 어떻게 최악의 상황을 피할 수 있을까?

답은 어렵지 않다. 탄틀레프는 “간단하다. 오픈소스를 다른 소프트웨어들과 동등하게 다룬다면, 기업들은 그 가치를 최대한 이용할 수 있다”라고 말했다.

그는 “시작은 소스에 대한 이해에서부터다. 소프트웨어가 어디에서, 즉 믿을만한 소스에서 오는지를 검증하는 것이 중요하다. 믿을만한 소스들을 파악하는 것만으로도 소프트웨어 조달은 한결 용이해질 것이다”라고 설명했다.

하지만 소스에 대한 검증 이후에도 소프트웨어 자체에 대한 적절한 통제 프로세스와 프로그램을 적용하기 이전에는 배치에 주의해야 한다고 탄틀레프는 덧붙였다.

그는 “마지막으로, 환경 내부의 소프트웨어들을 관리하고 모니터링 할 프로그램 역시 필요하다. 취약성 발생은 없는지, 새로 배포된 패치는 없는지, 그리고 무엇보다, 필요한 모든 패치들이 제대로 설치되어 있는지를 언제나 확인해야 한다”라고 강조했다. ciokr@idg.co.kr 

CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.