메인메뉴로 이동 본문으로 이동

컨텐츠 내용

  1. 고객센터
  2. OSS뉴스

OSS뉴스

OSS뉴스 조회 페이지
공급망 공격과 오픈소스 안전 다잡기 위해 출범한 시그스토어 프로젝트 관리자 / 2021.03.12

공급망 공격과 오픈소스 안전 다잡기 위해 출범한 시그스토어 프로젝트

 

 

리눅스재단(Linux Foundation)이 새로운 프로젝트인 시그스토어(Sigstore)를 발표했다. 오픈소스 소프트웨어의 공급을 보다 안전하게 만들기 위해서 시작된 프로젝트라고 하며, 개발자들이 소프트웨어 개발 과정에서 암호화 서명을 보다 쉽고 간편하게 도입시킬 수 있게 하는 것이 목적이라고 한다. 최근 자주 발생하고 있는 공급망 공격에 대한 대비책이 될 수 있을 것으로 기대되고 있다.

 

 

이미지출처: 보안뉴스

 

 

시그스토어는 이미 개발자들과 소프트웨어 개발사에 무료로 제공되고 있다. 시그스토어를 통해 개발자들은 공개 파일, 컨테이너 이미지, 바이너리 등과 같은 소프트웨어 요소들에 안전한 서명을 할 수 있게 된다. 서명이 완료된 요소들은 침해나 감염, 조작 등이 불가능한 공공 로그에 저장된다. 이 서비스의 유지와 관리, 향상은 오픈소스답게 시그스토어 커뮤니티에서 담당할 수 있다고 한다.

시그스토어 프로젝트에 참여한 회원들은 레드햇(Red Hat), 구글(Google), 퍼듀대학(Purdue University)이다. 시그스토어를 제일 먼저 주창한 건 레드햇의 보안 수석 엔지니어인 류크 힌즈(Luke Hinds)다. 시그스토어에 대한 아이디어를 구글 소프트웨어 엔지니어인 댄 로렌크(Dan Lorenc)에 전달했고, 둘은 의기투합해 작업을 시작했다. 현재는 커뮤니티가 형성되어 있어 여러 사람이 개발과 향상, 수리 및 보완 등에 참여하고 있다고 한다.

소프트웨어의 공급망은 여러 모로 취약하며, 최근 들어 그 사실이 극명하게 드러나고 있는 상황이다. 공급망에 침투한 공격자들은 특정 사용자를 표적으로 삼아 공격하기도 하고, 계정을 탈취하거나 암호화 키를 침해한다.

소프트웨어 프로젝트가 시작되고 완성되기까지 여러 개의 키들을 활용하는 게 보통인데, 여기에는 더 이상 프로젝트에 관여하지 않는 사람들의 키까지도 포함되어 있을 때가 많다. 또한 이 키들은 깃 리포지터리의 리드미 파일들이나 웹사이트에 저장되는데, 접근과 조작이 간단하다. 그래서 암호화 키들은 소프트웨어 유지 관리를 담당하는 입장에서 관리가 매우 까다로운 요소 중 하나다.

이렇게 까다로운 키는 소프트웨어 요소들을 ‘서명’하는 데 필요하다. 이 요소는 신뢰할만한 표시를 남기는 것이 바로 이 서명이다. 원칙적으로는 믿을만한 개발자나 소프트웨어 벤더사들만 서명을 할 수 있기 때문이다. 서명을 본 순간 개발자들이나 사용자들은 ‘이 소프트웨어는 출처에 아무런 이상이 없고, 따라서 신뢰할 수 있어’라고 생각하게 된다.

하지만 암호화 서명이 제대로 이뤄지고 있는 오픈소스 프로젝트들은 거의 없다. “지난 9개월 동안 다양한 오픈소스 개발자들과 관리자들을 만나 디지털 서명 문제를 어떻게 해결하고 있는지를 물었습니다. 오픈소스 생태계에서의 암호화 서명 현황을 파악하려 한 것이죠.” 로렌크의 설명이다.

그 결과 “오픈소스 생태계와 암호화 서명은 거의 아무런 상관이 없는 것처럼 보일 정도로 동떨어져 있다는 걸 알 수 있었다”고 한다. “거의 모든 오픈소스 소프트웨어 프로젝트들에서 안전한 소프트웨어 서명을 도입하기 위해 아무런 조치를 취하고 있지 않았어요. 그래서 시작된 것이 시그스토어입니다. 누구나 간편하게, 무료로 소프트웨어를 서명하게 해주면서 동시에 서명과 관련된 리스크를 줄여주기 위해서 말이죠.” 힌즈의 설명이다.

힌즈는 ‘리스크’에 관해 추가로 설명한다. “서명을 한다고 해서 완전히 안전해지는 것이 아닙니다. 리스크가 발생하기도 합니다. 가장 중요한 건 서명에 필요한 키를 보호하는 문제죠. 키가 노출되면 서명의 효력이 사라지게 되거든요. 하지만 키를 보호한다는 건 쉬운 일이 아닙니다.”

시그스토어는 오픈아이디(OpenID)라는 인증 프로토콜을 활용해 인증서들과 아이덴티티들을 연결시킨다. 그렇기 때문에 다중인증, 일회용 비밀번호, 하드웨어 토큰 생성기와 같이, 이미 보유하고 있는 보안 제어 장치들을 사용할 수 있게 된다고 로렌크는 설명한다. “새로운 개념이 아니라, 이미 모두가 알고 있고 사용할 줄 아는 요소들에서부터 프로젝트를 출발시키고자 했습니다. 그래야 접근성을 높일 수 있으니까요.”

시그스토어의 설명에 따르면 시그스토어의 사용자는 먼저 수명이 짧은 키를 두 개 생성하게 된다. 그러면 공공 키 인프라(PKI) 서비스와 오픈아이디를 통해 연결이 성립되며, PKI에서 서명 가능한 인증서를 제공한다. 인증서들은 인증서 투명성 로그(certificate transparency log)에 기록되며, 소프트웨어 서명에 필요한 요소들은 서명 투명성 로그(signature transparency log)에 저장된다.

이 두 개의 투명성 로그들은 전체 공개 상태로 설정되어 있으며, 조작 등의 탬퍼링이 불가능하게 만들어졌다고 힌즈는 말한다. “누구나 이 로그를 보면서 모니터링 및 보안 감사를 할 수 있습니다. 누가 어떤 것에 서명을 했는지도 투명하게 기록이 되죠. 누구나 특정 공공 키나 이메일 주소로 서명된 값들을 요청해서 볼 수도 있고요.”

또한 사용자들이 생성하는 키들의 수명이 짧기 때문에 누군가 허락 없이 가져가는 것을 방지하기 위한 관리 작업도 불필요하게 된다. 따라서 리스크와 불편함이 현저히 줄어든다는 것이 시그스토어의 장점이라고 힌즈는 강조했다.

현재 시그스토어의 투명성 로그는 완전 가동 중에 있다. 하지만 아직 개발자들에게 제공되는 상태는 아니다. 하지만 마지막 점검과 마무리 단계를 지나 올해 안에 공개할 예정이라고 한다. 시그스토어에 관한 상세 설명은 웹사이트(https://sigstore.dev/what_is_sigstore/)에서 열람이 가능하다. 시그스토어 커뮤니티는 깃허브(https://github.com/sigstore)에 이미 마련되어 있다.

 

 

[출처] 보안뉴스(https://www.boannews.com/media/view.asp?idx=95492&kind=)