본문 바로가기

NEWS

치명적 보안위협 제거하고 안전하게 오픈소스 활용하려면?… OSC, 혁신적 SW거버넌스 전략 제시

OSC Korea 김재천 상무(왼쪽), 김달호 상무(오른쪽).

 

[디지털데일리 양민하 기자] 소프트웨어(SW) 개발 및 운영 과정에서 오픈소스의 활용이 당연시되는 추세다. 개발에 필요한 시간과 노력을 혁신적으로 단축할 수 있기 때문이다.

 

그러나 이 같은 오픈소스의 장점도 예기치 못한 위협에 직면할 수 있다.

 

오픈소스가 누구에게나 공개돼 있는 만큼 공격의 대상이 되기 쉽고, 또 악의적인 코드를 삽입한 오픈소스가 정상 오픈소스처럼 배포될 수도 있기 때문이다.

 

매일 2만1000개 이상의 신규 오픈소스 버전이 공급망을 통해 배포되는 상황 속에서, 이를 이용하는 기업의 보안 위협도 당연히 기하급수적으로 높아지고 있다.

 

오픈소스를 보다 안전하게 사용하기 위해서는 보안 관리 기술과 함께 자동화된 오픈소스 관리 도구가 절실하게 요구된다.

 

이러한 시장 요구를 반영, OSC는 안전하고 효과적인 소프트웨어(SW) 공급망관리 전략을 제시하고 있다.

 

관련하여 OSC코리아는 31일 <디지털데일리> 웨비나 플랫폼 'DD튜브'을 통해 '소프트웨어 공급망 공격 대응 방안과 오픈소스 거버넌스 자동화 전략'을 주제로 최신 SW 공급망 관리 전략을 제시했다.

이날 OSC코리아측은 자사가 공급하고 있는 '소나타입'(Sonatype)의 넥서스(Nexus) 플랫폼을 제시해 참석자들의 큰 주목을 받았다.

 

◆SW 공급망 위기 오픈소스 취약점·공격 기법 다양화

 

소프트웨어 공급망(SW Supply Chain)은 개발용 오픈소스 패키지가 유통되는 환경을 통칭한다.

 

이날 발표자로 나선 OSC코리아 김재천 상무는 'SW 공급망'을 자동차와 같은 거대 제조업 사례와 유사하다고 설명했다.

 

김 상무는 "자동차를 만들 때 일반적으로 600여개의 협력사들이 부품을 공급하는데, 자동차 제조사는 여러 부품을 구입해 자재 저장소에 놓고, 공정별로 부품을 조립해 가면서 자동차를 생산 및 출고하게 된다"고 말했다.

 

즉, 소프트웨어 또한 '부품'인 오픈소스를 퍼블릭 라이브러리에서 다운로드받아 사설 리포지토리(저장소)에 저장하고, 이후 빌드해 출시 대기 형태로 준비한다는 것이다.

 

그런데 문제는 SW 공급망을 통해 오픈소스가 배포되는 과정에서 보안 관련 이슈가 발생할 수 있다는 점이다.

 

실제로 지난 2022년 통계에 따르면 전체 SW공급망 다운로드의 약 16%가 치명적인 수준의 취약점을 가진 컴포넌트로 파악됐다.

 

오픈소스 취약점을 내포한 소프트웨어는 출시 전 보안검사를 통해 필드에 배포되지 않을 수도 있다. 다만 기업은 이를 수정하는 과정에서 시간과 노력을 낭비하게 된다. 배포 이후에 취약점이 발견되는 경우에는 즉각적인 조치가 이뤄지기 어렵다는 문제가 있다.

 

 

또한 악성 소프트웨어를 통한 공급망 공격 또한 기하급수적으로 늘어나는 추세다. 공격 기법 역시 다양화되고 있다. 오픈소스 취약점이 잠재적인 리스크라면 악성 소프트웨어는 즉각적인 피해에 노출된다는 점에서 더욱 적극적인 대응이 요구되고 있다.

 

특히 주요 패키지명의 타이핑 오류를 활용하는 기법으로 임의의 PC에 대한 접근 권한을 얻는 '타이포스쿼팅'은 다운로드 명령에 실행 명령

이 포함돼있어 다운로드만 해도 악성 소프트웨어가 의도한 명령을 실행시킬 수 있다.

 

뿐만 아니라 내부 앱에서 사용하는 패키지명을 찾아낸 후 내부보다 외부 최신 의존성을 우선하는 관리 방식의 특성을 활용한 '의존성 혼동'도 문제점으로 꼽힌다.

 

이에 대해 김 상무는 "이는 내부망에서만 사용해야 하는 패키지를 구분해서 관리하는 방법으로 방어할 수 있다"며 "소나타입 넥서스 리포지토리 및 파이어월 등 도구를 활용하면 내부망에서만 사용하는 패키지는 외부망에서 받지 못하도록 설정할 수 있다"고 전했다.

 

한편 악성 소프트웨어가 악의적으로 만들어진 소프트웨어를 배포하는 방식이라면, 정상적이거나 정상적으로 보이게 만든 소프트웨어에 악성코드를 삽입하는 공격 방식도 있다.

 

이 경우에는 통상 다단계로 악성코드가 동작하기 때문에 악성코드인지 식별하기 어렵고, 악성코드가 주입된 소프트웨어를 사용하는 고객까지 피해가 전파된다는 설명이다.

 

이 외에도 최근 '서비스형 멀웨어'(MaaS) 형태로 비용만 지불하면 쉽게 악성 소프트웨어를 배포할 수 있는 서비스가 등장, 누구나 쉽게 악성 소프트웨어 통해 공급망을 공격할 수 있는 상황이 됐다.

 

◆"자동화 도구 통해 오픈소스 거버넌스 구현 필요"

 

기업은 일반적으로 방화벽을 통해 내부망을 보호하고 멀웨어를 탐지하는 제품을 사용하고 있다.

 

다만 퍼블릭 리포지토리는 프로그래밍 언어별로 운영되며 무결성을 보장하지 않는다. 또 네트워크 방화벽으로는 선별적인 악성 패키지 차단이 어려운 것이 현실이다.

 

이에 대해 김 상무는 "기업 내부망에서 오픈소스를 받아 사용하는 경우 사설 리포지토리가 필요한 이유"라고 강조했다.

 

소나타입 넥서스 리포지토리는 퍼블릭 리포지토리에 대한 프록시(Proxy) 및 빌드 아티팩트에 대한 저장소(Hosted) 방식을 지원한다.

 

넥서스 리포지토리에는 파이어월 기능이 내장돼있다. 알려진 위협요소는 물론 알려지지 않은 리스크에 대해서도 인공지능 및 머신러닝(AI/ML) 알고리즘을 통해 소프트웨어 공급망을 모니터링한다.

 

리포지토리 파이어월은 IQ 서버라는 정책서버가 별도로 존재해 오픈소스 관리 정책을 설정하면 이 정책을 받아서 동작한다. 외부에서 새로운 컴포넌트가 유입될 때마다 정책 기반으로 판단하는 방식이다.

 

악성 소프트웨어는 모두 차단하지만, 취약한 패키지의 경우 심각도 및 기업의 정책에 따라 반입 여부를 설정할 수 있다.

 

개발자가 원하는 컴포넌트가 격리된 경우, 에러 메시지와 함께 조치 웹주소(URL)가 전달된다. 이를 통해 개발자는 어떤 컴포넌트가 차단되었는지, 왜 차단되었는지, 어떻게 하면 차단되지 않는 컴포넌트를 선택할 수 있는지 등 정보를 확인할 수 있다.

 

김 상무는 "개발자 스스로 조치 가능한 환경을 만드는 것이 목표"라며 "패키지가 차단된 경우 개발자는 보안팀이나 관리자의 개입 없이 스스로 조치가 가능하다"고 설명했다.

 

 

그렇다면 오픈소스 관리 정책은 어떻게 만들고 수립해야 할까.

 

오픈소스 취약점은 최초 반입될 때는 문제가 없었지만 나중에 발견되는 경우도 있고, 문제가 있던 패키지가 추후 개선되는 경우도 있다. 이 때문에 취약점을 단편적으로 차단하게 되면 개발자의 생산성을 해칠 수 있다.

 

따라서 파이어월에서는 악성 소프트웨어는 무조건 차단하되, 취약한 패키지에 대해서는 심각도에 따라 차별화된 정책을 가져갈 필요성이 있다.

 

김 상무는 "소나타입은 빌트인(Built-in) 형태로 다양한 정책을 제공하고 있다"며 "이를 파이어월에 적용해 정책을 준수하는 경우, 준수하지 않는 경우 각각 어떤 조치를 취할지 설정하면 된다"고 말했다.

 

다만 파이어월은 최초 유입 단계에서 검사가 이뤄지기 때문에 앱별로 오픈소스를 관리하는 데 한계가 있다. 이를 지속적으로 모니터링하기 위해서는 라이프사이클(Lifecycle)이 필요하다.

 

소나타입 넥서스 라이프사이클은 소트프웨어 개발 라이프사이클(SDLC)의 모든 단계에 걸쳐 지속적으로 위험요소를 확인하고 정책을 반영해 취약점을 교정해 준다.

 

넥서스 라이프사이클을 통해 각 단계별로 점검한 결과는 리포트로 제공된다. 앱 별, 스테이지 별로 현재 어떤 컴포넌트를 사용하고 있는지, 컴포넌트 취약점이 존재하는지, 보안 레벨 어디에 해당하는지 등 정보를 제공한다.

 

김 상무는 마지막으로 "오픈소스 거버넌스 자동화를 위해서는 크게 3가지 요소를 고려해야 한다"고 설명했다. ▲시프트 레프트(Shift Left)

▲정확성(Accuracy) ▲유연한 정책(Flexible Policy) 등이다.

 

'시프트 레프트'란 오픈소스 유입 관문부터 실시간 통제가 이뤄져야 한다는 뜻이다. 소나타입 넥서스 리포지토리와 파이어월은 오픈소스가 유입되는 입구에 위치해있다. 개발자 스스로 최적의 컴포넌트를 선택할 수 있도록 지원한다.

 

두 번째는 데이터베이스(DB)의 정확성이다. 넥서스 플랫폼은 글로벌 최대 DB를 기반으로 실시간 취약점 스캐닝을 제공한다.

 

마지막은 유연한 정책(Flexible Policy)이다. 동일한 오픈소스를 사용하더라도 기업마다 처한 환경과 정책은 상이하다. 따라서 여러 가지 정책들을 유연하게 선택할 수 있어야 한다. 김 상무는 넥서스 플랫폼이 이 같은 요소를 모두 충족하는 형태라고 전했다.

 

OSC코리아는 오픈소스 기반의 개발운영(Devops) 및 마이크로서비스 아키텍처(MSA) 전문 기업이다. 아키텍처 진단 컨설팅, 선행기술 검증 등 클라우드 네이티브(Cloud Native) 기술 컨설팅, DevOps, CI/CD 등 개발 환경 및 운영환경을 구축하고, MSA 전환 또는 도입에 따른 분석 설계와 그에 필요한 기술 지원 서비스를 제공하고 있다.

 

양민하 기자 ymh@ddaily.co.kr