구글이 오픈소스 프로젝트의 유지관리를 지원하는 전담조직을 신설했다. 미국 백악관의 소프트웨어 공급망 보호 강화 정책을 지원하는 차원에서다. 각 오픈소스 프로젝트 관리자가 버그나 패치 작업을 발빠르게 진행할 수 있게 지원하는 조직이다.
16일(현지시간) 미국 지디넷에 따르면, 구글은 주요 오픈소스 프로젝트 업스트림 유지관리자를 지원하는 '오픈소스 메인터넌스 크루'를 구성했다고 밝혔다.
구글의 오픈소스메인터넌스크루는 구글 엔지니어로 구성돼 오픈소스 프로젝트의 업스트림 유지관리자와 협업한다. 서로 물고 물려 촘촘한 공급망을 형성하는 오픈소스 생태계에서 특정 요소의 헛점을 노리는 공격자의 침투를 빠르게 차단하고, 연쇄 피해를 최소화하는 것을 지원하게 된다.
구글의 에릭 브루어와 아비섹 아리아는 블로그에서 "오픈소스 유지관리자가 자주 언급하는 한가지 문제는 제한적인 시간"이라며 "제대로 관리되지 않으면서 민감한 오픈소스 구성요소는 보안 리스크기 때문에 전담 엔지니어로 이뤄진 새로운 오픈소스메인터넌스크루와 업스트림 관리자의 긴밀한 협업을 통해 민감한 오픈소스 프로젝트의 보안을 개선할 것"이라고 설명했다.
오픈소스 유지관리 조직 구성은 미국 연방정부의 정책과 궤를 같이 한다.
지난 1월 백악관은 구글, 마이크로소프트, IBM, 아마존웹서비스(AWS) 등을 포함한 주요 기술업체와 회담을 개최하고 업계에서 오픈소스 사이버보안 개선과 소프트웨어 공급망 보호에 힘써줄 것을 요청했다.
조 바이든 미국 대통령은 당시 정부 소프트웨어 구축에 사용되는 구성요소의 공급망 관계를 상술하는 '소프트웨어 명세서(SBOM)'를 제출하게 하는 행정명령에 서명했다.
구글은 지난주 백악관과 리눅스재단, 오픈소스보안재단(오픈SSF) 등의 주최로 열린 '오픈소스 소프트웨어 시큐리티 서밋 2'에서 오픈소스 보안팀을 발표했다. 작년 백악관의 사이버보안 행정명령은 미국표준기술연구소(NIST)의 '시큐어소프트웨어개발프레임워크(SSDF)'에 기반한 더 높은 보안 표준을 요구한다.
구글의 사이버보안팀은 민간부문에 필요한 자금 1억5천만 달러 투자 계획을 밝혔다. 또, 위험평가, 디지털서명, C/C++ 등의 코드를 러스트, 고, 자바 등 메모리 안전 언어로 전환, 사고대응, 코드 스캔, 코드 검증 등 오픈소스를 개선하는 10개 항목 계획을 설명했다.
오픈소스 보안을 개선하고 공급망 위험을 줄이려는 구글의 작업은 오픈SSF 같은 단체에 1억 달러를 지원해 오픈소스 보안 버그를 수정하는 것도 포함한다.
구글은 작년 'Know, Prevent, Fix' 프레임워크란 것을 공유했다. 또, 오픈소스취약점(OSV) 데이터베이스와 데이터 형식 같은 이니셔티브를 통해 보안도구의 접근성을 개선하는데 노력하고 있다. 이 형식은 파이썬, 러스트, 고 등의 생태계에 채택됐다.
일례로 파이썬소프트웨어재단은 파이썬 패키징 어드바이저리 데이터베이스를 만들어 Pypi 저장소에 게시되는 파이썬 패키지에 대한 권고를 중앙집중화했다. 러스트재단은 러스트 크레이트(Crates) 패키지에 대한 자문을 위한 유사한 데이터베이스를 갖고 있다. 깃허브의 GHSA, 클라우드시큐리티얼라이언스의 글로벌보안데이터베이스 등도 OSV에 의존하는 데이터베이스다.
구글의 브루어와 아리아는 "OSV 프로젝트는 정확한 취약점 메타데이터 없이 CVE를 취약점 패치 개발 워크플로우에 연결하기 어렵다는 것을 보여줬다"고 적었다.
이들은 개발자 도구와 프로세스에 OSV 데이터베이스를 통합하면 개발자에게 유용한 곳에 고품질 정보를 제공할 수 있다고 다음 목표를 밝혔다. OSV 결과를 라이브러리 포함 여부를 결정할 때 코드 편집기에서, 워크로드 배포 중지 같은 배포 단계에 보여줄 수 있다는 것이다.
'Know' 측면에서 구글은 개발자에게 프로젝트의 종속성에 대한 통찰력을 제공하는 '시큐리티 스코어카드' 프로젝트를 강조했다. 현재 100만개의 프로젝트에 대한 스코어카드 스캔이 있다. 쿠버네티스 프로젝트도 '시그스토어(Sigstore)'를 사용해 릴리스 서명과 확인을 시작했고, 이를 '소프트웨어 아티팩트 공급망 수준(SLSA)' 규정의 일부로 포함시켰다. 오픈SFF의 SLSA 프레임워크는 코드 무결성을 확인하기 위한 구글의 내부 도구를 기반으로 한다.
구글은 "SLSA 출처 및 메타데이터를 사용해 생성된 SBOM은 더 완전하며, 소스코드와 빌드 위협 벡터를 모두 처리한다"고 밝혔다.
구글은 오픈소스 공급망 보호 강화를 위한 또 다른 주요 프로젝트로 OSS-Fuzz를 꼽았다. OSS-Fuzz는 무작위로 데이터를 입력해 소프트웨어에 예외 오류를 발생시킨 후 원인을 분석하는 퍼즈 시험을 오픈소스 개발자가 진행할 수 있게 지원한다. OSS-Fuzz는 지난 1년간 500개 이상의 프로젝트에서 2천300개의 취약점을 수정하는데 도움을 줬다. 구글은 자바, 스위프트 등의 언어 지원을 추가하고 로그포셸 같은 문제를 찾기 위한 버그 감지기를 개발해 퍼즈 시험 범위 확장에 투자하고 있다.
'Fix' 요소는 영향을 받는 프로젝트의 가장 널리 사용되는 버전에서 취약점을 수정하는데 도움을 주는 것에 초점을 맞췄다. 대중적인 버전의 취약점을 제거하고 알림을 개선하는 것을 목표로 한다.
관련기사
- 쓸 땐 좋았는데...'오픈소스 보안' 문제 환기한 로그4j2021.12.29
- "모든 인터넷 서버 위험"…로그4j 취약점에 보안업계 비상2021.12.12
- MS·구글, Log4j 등 오픈소스 보안개선 앞장2022.02.11
- 로그4j에 놀란 미국…"오픈소스 보안 강화하자"2022.01.14
그 일환으로 구글과 마이크로소프트는 공급망 보안을 개선하기 위해 오픈SFF의 알파오메가 프로젝트에 500만달러를 제공했다. 이 프로젝트는 올해 취약점 수정에 집중하기 위해 노드JS 서버의 자바스크립트 런타임 프로젝트에 30만달러를 수여했다.
구글은 또한 리눅스재단의 시큐어오픈소스(SOS) 프로젝트에 100만달러 자금을 지원했다. SOS는 소프트웨어 강화에 대해 개발자에게 최대 1만달러의 보상금을 제공한다. 구글은 러스트를 리눅스 커널에 도입해 메모리 안정성을 개선하는 인터넷시큐리티리서치그룹에 30만달러를 기부했다.