Offcanvas

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

“SW 유통망을 탄탄하게”··· 리눅스 재단, ‘시그스토어’ 무료 서명 서비스 출시

2021.03.11 Lucian Constantin  |  CSO
릴리즈 및 기타 소프트웨어 결과물에 디지털 방식으로 서명할 수 있는 개발자 대상 무료 서비스를 리눅스 재단이 출시했다. 이 프로젝트의 목적은 최근 전례 없는 많은 공격에 직면한 오픈소스 소프트웨어 공급망의 보안과 감사 가능성을 강화하는 것이다.

시그스토어(sigstore)라는 이름의 이 새로운 서비스의 기반 코드는 구글, 레드햇, 퍼듀대학교와 협력해 개발됐으며 앞으로 리눅스 재단이 유지할 것이다. 모든 서명과 서명 이벤트는 잠재적인 남용을 발견하기 위해 모니터링할 수 있는 변형 억제 공개 로그에 저장된다.
 
Image Credit : Getty Images Bank

시그스토어의 작동 방식?
시그스토어는 OpenID 인증 프로토콜을 사용하여 인증서와 ID를 묶는다. 즉, 개발자는 자신의 이메일 주소나 기존 OpenID ID 제공자의 계정을 사용하여 소프트웨어에 서명할 수 있다.

이는 마이크로소프트나 애플 등 특정 소프트웨어 생태계의 유지 기관이 신뢰하는 인증 기관(CA)으로부터 인증서를 획득해야 하는 전통적인 코드 서명과 다르다. 전통적인 코드 서명 인증서를 획득하려면 ID 검증 또는 개발자 프로그램 참여 등의 특수 절차를 거쳐야 한다.

시그스토어 서명 클라이언트는 단기 키 쌍을 생성하고 리눅스 재단이 운영하는 시그스토어 PKI(Public Key Infrastructure)에 문의한다. 이 PKI 서비스는 OpenID 연결 부여가 성공했는지 확인하고 소프트웨어 서명에 사용할 키 쌍에 기초하여 인증서를 발행한다. 서명 이벤트는 공개 로그에 기록되며, 이후에 키가 폐기될 수 있다.

이것이 기존 코드 서명과 또 다른 차이점이다. 각 서명 이벤트가 새로운 쌍의 키와 인증서를 생성하기 때문이다. 궁극적인 목표는 특정 ID가 특정 시간에 1개의 파일에 서명했는지에 대한 공개적인 증거를 확보하는 것이다. 이 정보를 사용하여 정책 및 시행 메커니즘을 생성하는 도구를 개발하는 몫은 리눅스 재단에게 있다.

“일반적인 X.509 인증서 권한에 기초하기 때문에 사람들은 자신의 루트 CA를 추가할 수 있고 신뢰하지 않는 우리의 CA를 버릴 수 있으며 자신의 중개인을 추가하는 등의 일이 가능하다”고 구글의 오픈소스 보안팀원이자 프로젝트 기여자인 댄 로렝은 전했다.

개발자들은 공개 PKI 서비스와 투명성 로그를 사용하거나 자신의 조직을 위해 자체적인 내부 서명 시스템을 배치 및 운영할 수 있다. 로깅 서비스를 위한 코드는 리코(Rekor)이며 루트 인증서 권한을 위한 코드는 풀치오(Fulcio)이고 오픈소스로써 깃허브(GitHub)에서 제공된다.

소프트웨어 릴리즈에 서명하는 이유?
일반적으로 소프트웨어 코드 서명은 소프트웨어 출처에 관한 보증을 제공하며, 특정 코드가 사용자가 신뢰하는 특정 개발자 또는 조직에서 만든 것임을 입증한다. 예를 들어, 애플리케이션 화이트리스트(Whitelist) 처리 솔루션은 이 정보를 사용하여 특정 시스템에서 누가 만든 어떤 소프트웨어가 실행될지에 대한 사용자 정책을 시행할 수 있다.

이런 정책을 패키지 관리자까지 확장할 수 있다. 현대적인 소프트웨어는 대부분의 코드 베이스를 처리하는 제3자 오픈소스 구성 요소를 사용하여 구축된다. 이로 인해 npm, 피피(Pypi), 루비 젬스(Ruby Gems) 등의 오픈소스 패키지 저장소에 대한 공격이 있었다. 최근에 밝혀진 한 공격 기법은 의존성 혼란이라 불리며 공개 저장소에서 이름은 같지만 버전이 높은 패키지를 공개함으로써 패키지 관리자를 속여 특정 로컬 패키지의 악의적인 변종을 설치하도록 한다.

소프트웨어 디지털 서명을 중심으로 구축된 보안 정책은 이런 공격뿐 아니라 소프트웨어 개발자가 사용하는 다운로드 또는 업데이트 서버가 해킹되고 정상적인 패키지가 악의적인 것 또는 소프트웨어 업데이트 메커니즘에 대한 중간자 공격으로 대체되는 것을 막는 데 도움이 될 수 있다.

개발자의 기기 또는 소프트웨어 구축 인프라 등의 해킹과 수천 개의 조직에 영향을 미쳤던 최근의 솔라윈즈(SolarWinds) 공격 등 소프트웨어 개발 초기 단계 중 악성 코드 주입 같은 다른 공격도 있다. 소프트웨어 릴리즈 서명은 배포 전 마지막 단계에 속하며 코드 주입 후 발생하기 때문에 코드 서명으로 반드시 이런 공격이 예방되는 것은 아니다. 하지만 시그스토어에 포함된 것 같은 투명성 로그는 사고 조사자에게 중요한 정보를 제공하거나 조기 해킹 감지 효과를 발휘할 수 있다.

레드햇의 보안 엔지니어링 책임자 루크 힌즈에 따르면, 로그를 사용하여 'HaveIBeenPwned.com' 데이터 유출 알림 서비스가 작동하는 방식과 유사한 모니터링 도구를 구축할 수 있으며, 여기에서 사용자는 이메일 주소를 입력하고 인덱싱 된 공개 유출에 등장하는지 여부를 알림으로 받아볼 수 있다. 개발자들이 이런 도구를 사용하여 시그스토어 로그에 이메일 주소가 등장할 때마다 알림을 받을 수 있는 것이다. 활동을 하지 않는 상태에서 이런 이벤트가 발생하면 계정 또는 시스템이 해킹되어 누군가 대신 소프트웨어를 서명하고 있다는 즉각적인 경보가 된다.

-> 리눅스 재단이 보안과 다양성 문제를 다루는 방법

힌즈는 에 “투명성 로그의 핵심은 공격을 차단하는 능력이 아니라 현재 존재하지 않는 공격에 대한 인사이트를 제공하는 것이다. 소프트웨어 공급망에 관한 투명성을 제공한다”라고 밝혔다.

퍼듀대학교의 연구원들은 해당 로그를 사용하는 모니터 프로토타입을 개발하고 있다. 단 프로젝트 유지 측은 향후 오픈소스 커뮤니티와 보안 영역의 사설 기업들이 시그스토어 서비스를 중심으로 도구를 구축하기를 희망하고 있다. 예를 들어, 개발 조직이 시스템을 배치하고 세부적인 보안 컨트롤을 생성하는 식이다.

로렝은 “우리는 보안 정책 자체를 개발하고 있는 것이 아니라 이런 정책 엔진 중 하나를 개발하는 데 사용할 수 있는 도구와 프리미티브(Primitive)를 개발하고 있다. 12명의 개발자가 있고 그 중 7명이 이 결과물에 서명해야 할 수 있다. 이런 다양한 시나리오를 생각해 볼 수 있다”라고 말했다.
 
 

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.