최근 깃파드의 오픈소스 클라우드 기반 IDE플랫폼 출시 계기, 다시금 ‘오픈소스 주의보’

오픈소스는 이제 개발자는 물론 많은 SW소비자들에게 매우 중요하면서 요긴한 도구가 되고 있다. 누구나 거의 무료로 사용하고 수정해 커뮤니티에 기여할 수 있다는 점에서 특히 그렇다. 그럼에도 불구하고 때론 치명적인 오류나 허술한 보안 시스템이 문제도 지적되곤 한다. 국내외 IT기업들이 앞다투어 오픈소스 프로그램을 내놓을 때마다 무결성과 보안을 걱정하는 목소리도 높아가고 있다.

 

시프트 레프트로 배포 전 품질 테스트

전문가들은 “마치 ‘공짜’인양 주어진 오픈소스 SW를 받아먹기만 할게 아니라 행여 있을 수 있는 취약점을 끊임없이 관찰하고 대비책을 세워야 할 것”이라고 조언한다.

우선 개발된 SW의 품질을 효율적으로 테스트하기 위한 ‘시프트 레프트(shift left)’ 방식이 가장 첫 단계의 보안책으로 추천되고 있다.

실제로 깃허브나 각종 호스팅 사이트가 공개하는 프로그램들은 매일 수많은 취약점들을 노출한다. 문제없이 이들 수많은 데이터를 소화하기 위해선 자동화된 솔루션이 필수다. 그래서 사고가 나기 전에 미리 ‘백신’을 투입할 필요가 있는 것이다. 즉 소프트웨어 개발 단계에서 ‘시프트 레프트’를 도입해 조기에 보안을 강화해야 한다는 지적이다.

오픈소스의 결함과 보안문제에 대한 치밀한 대비가 필요하다는 지적이 날로 높다. 사진은 최근 깃파드가 출시한 오픈소스 클라우드 기반 IDE플랫폼의 화면. (사진=깃파드 홈페이지)
오픈소스의 결함과 보안문제에 대한 치밀한 대비가 필요하다는 지적이 날로 높다. 사진은 최근 깃파드가 출시한 오픈소스 클라우드 기반 IDE플랫폼의 화면. (사진=깃파드 홈페이지)

 

개발환경 코드작업 기계화 오픈소스 ‘깃파드’

최근에도 개발환경 기술 업체 깃파드가 오픈소스로 클라우드 기반 IDE(통합개발환경) 플랫폼을 개발자들에게 제공한다고 밝혀 각국의 주목을 받고 있는 가운데 이런 우려도 함께 부각되고 있다.

이번에 깃파드가 내놓은 프로그램 ‘깃파드’는 꽤나 파격적이다. 즉 개발자들이 바로 코딩할 수 있는 개발환경을 자동으로 구축해 주는 클라우드 기반 IDE 플랫폼이다.

일종의 쿠버네티스 애플리케이션인 ‘깃파드’를 사용하면 개발환경을 코드로 유지해 그 동안 수동으로 해온 프로젝트 소스 코드작업을 아예 기계로 실행할 수 있다. 또 SW개발 등에 관한 데이터를 집적해둔 리포지토리를 실시간 모니터링하고 모든 정보의 변화에 맞춰 개발환경을 준비할 수 있다. 이를 위한 ‘깃파드’의 핵심요소는 도구 설정, 깃 브랜치(Git branch) 확인, 코드 컴파일링, 종속성 다운로드 등이다.

 

라이브러리 보안 결함 늘 경계할 필요

국내 IT업계 일각에선 이번 깃파드의 오픈소스 출시를 반기면서도 “라이브러리의 보안 결함이 있을 수 있는 만큼 행여 그런 경우를 대비해 라이브러리를 늘 수정해야 할 것”이라며 경계하는 목소리도 나오고 있다.

즉 깃파드에 의한 애플리케이션의 라이브러리에서 결함이 충분히 발생할 수도 있을 것이란 전제다. 그런 경우 버전 업데이트, 혹은 필요하다면 라이브러리 업그레이드를 통해 결함을 해결해야 할 것이란 충고다.

 

오픈소스 프로젝트 사전 ‘자동 스캔’도 좋은 방법

또 결함과 보안의 취약성으로 인해 ‘옥토퍼스 스캐너’ 사고나, 타이포스쿼팅 등과 같은 오픈소스 악용된 사례에 주목해야 한다는 목소리도 있다. 이 경우를 대비해 ‘깃허브’ 등 리포지토리 운영업체는 자사가 호스팅하는 오픈소스 프로젝트를 ‘자동 스캔’하기 시작했다. 즉 자기 검열을 통해 사전에 문제의 소지를 없애거나 미리 발견해내 차단한다는 것이다.

이같은 오픈소스 프로젝트 스캔은 매우 효율적인 문제 해결 방안임이 입증되고 있다. 수 많은 사람들이 공유함에도 불구하고 그야말로 ‘눈먼 대중’에 의해 발견되지 못한 취약점과 버그를 잡아낼 수 있다.

또 오픈소스 배포 과정에서 우발적으로 노출된 개인 인증 정보와 같은 데이터 유출 신호도 식별해내고, 차단한다. 실제로 지난해부터 일부 IT업체들은 정상적 오픈소스 리포지토리에 게시되는 악성코드를 식별하기 위해 자사 제품에 자동화된 스캔 기능을 추가하기도 했다. 이러한 기술에는 또한 머신 러닝이 활용되기도 한다.

 

코드 베이스 내부 요소 라이선스 문제도

원칙적으로 오픈소스는 라이선스 걱정을 할 필요가 없다는게 장점이다. 그럼에도 불구하고 오픈소스 프로그램 자체의 공식적인 라이선스와는 달리 그것을 구성하는 요소들의 라이선수는 허가나 동의를 받지 않은 경우가 적지않다. 말하자면 코드 베이스에 포함된 오픈소스 구성 요소의 라이선스가 코드 베이스 전체에 대한 라이선스와 충돌하는 셈이다.

그래서 오픈소스로 제공된 많은 자동화 솔루션들이 이런 문제의 소지가 있을 수 있어 주의가 요망된다는 지적이다.

저작권자 © 애플경제 무단전재 및 재배포 금지