오픈소스 사용하는 가장 큰 이유
보안
자료 제목 :
오픈소스 기술을 사용하는 주요 이유
The primary Reasons to use open source technologies
자료 출처 :
AWS
원본자료 다운로드
발행 날짜 :
2021년 12월 11일
보안 / 오픈소스

글로벌 칼럼 | 오픈소스 보안은 돈으로도 해결할 수 없다

Matt Asay | InfoWorld 2022.05.19
좋은 소식이 있다. 오픈소스 보안 재단(Open Source Security Foundation, 오픈SSF)에 따르면 1억 5,000만 달러 정도의 자금만 있으면 오픈소스 소프트웨어를 보호할 수 있다. 더 좋은 소식은 업계 큰손들인 아마존, 인텔, 구글, 마이크로소프트가 이미 3,000만 달러를 내기로 했다는 사실이다. 그렇다면 이제 1억 2,000만 달러만 더 모으면 오픈소스의 미래를 보호할 수 있는 셈이다. 정말 그럴까?

그렇지 않다. 나쁜 소식은 오픈소스에 대한 일반화된 접근 방식은 통하지 않는다는 것이다. 오픈SSF의 ‘10포인트’ 계획은 보안에 대한 다면적 접근 방법을 촉진하는 좋은 계획이다. 오픈SSF의 총괄 관리자인 브라이언 벨렌도프는 “한 가지 근본적인 원인이나 모든 문제를 해결할 한 가지 근본적인 접근 방법은 없으므로 이 방식이 과거의 여러 단편적 접근 방법에 비하면 성공할 가능성이 더 높다"라고 주장했다.

맞는 말이다. 그런데 필자가 오픈소스 보안에 대해 우리가 여전히 잘못 접근하고 있을지도 모른다고 우려하는 이유도 마찬가지로 바로 이 때문이다.
 

먼저 계획부터

오픈SSF의 노력을 깎아내리려는 의도는 없다. 필자가 언제나 미래는 낙관적이라고 생각한다. 오픈SSF의 업계 결집 시도는 과거의 방식에 비하면 크게 개선된 것이다. 우리가 버그를 찾고 수정하는 오픈소스 프로세스 역시 소프트웨어 보안에 대처하는 올바른 방법이다. 오픈SSF는 우리가 모두 기존의 노력을 통합할 기회를 제공한다. 오픈SSF의 10포인트 계획의 주요 내용은 다음과 같다.
 
  1. 커뮤니티에서 일하는 모두에게 보안 교육 제공
  2. 주요 오픈소스 구성요소에 대한 위험 평가 대시보드 구축
  3. 디지털 서명 도입 가속화
  4. 비메모리 안전 언어를 대체해 많은 버그의 근본 원인을 제거
  5. 오픈소스 사고 대응팀 구성
  6. 유지보수자와 전문가에 의한 코드 스캔을 개선해 버그를 더 신속하게 발견
  7. 최대 200개의 중대한 구성요소에 대한 제삼자 코드 리뷰 수행
  8. 업계 전반적인 연구 데이터 공유 조율
  9. 소프트웨어 자재 명세서(SBOM) 툴 및 교육 개선으로 도입 촉진
  10. 더 나은 보안 툴과 모범 사례를 통해 가장 중대한 10개 빌드 시스템, 패키지 매니저, 배포 시스템 강화

이는 보안에 대한 전체적이고 현명한 접근 방식이며 개발자가 오픈소스를 좋아하는 또 다른 이유다. 실제로 필자는 AWS의 오픈소스 전략 및 마케팅팀 관리자로 일했던 2020년에 개발자를 대상으로 오픈소스를 좋아하는 이유를 설문 조사했는데 가장 많은 답변이 '보안'이었다. 설문에 참여한 개발자는 주요 오픈소스 프로젝트의 하트블리드(Heartbleed)를 비롯한 기타 취약점에 대해 알고 있었지만, 여전히 오픈소스를 선택했다. 오픈SSF의 노력 덕분에 이제 더 많은 개발자가 한결 더 편한 마음으로 오픈소스를 선택할 수 있게 될 것이다.
 
ⓒ AWS

그러나 이 계획이나 다른 어떤 투자가 오픈소스 보안 문제를 해결해 줄 것이라고 단정해서는 안 된다. AWS, 구글, 또는 마이크로소프트가 아무리 돈이 많아도 소프트웨어 취약점을 피할 수 없는 것과 마찬가지다. 모든 소프트웨어에는 버그가 있다. 지금도 그렇고 앞으로도 영원히 그럴 것이다.
 

계획보다 프로세스

지금까지 오픈소스 보안을 보장하는 최선의 방안은 항상 오픈소스 개발 프로세스였다. 오픈SSF가 훌륭한 계획을 내놓았다 해도 그 사실에는 변함이 없다. 예를 들어 계획은 “최대 200개의 중대한 구성요소에 대한 제삼자 코드 리뷰 수행”을 약속한다. 훌륭한 일이다! 그런데 어떤 구성요소가 “중대한 구성요소”일까? 그렇다. 업계를 혼란에 빠트리는 보안 침해다. “주요 오픈소스 구성요소에 대한 위험 평가 대시보드 구축”도 마찬가지다. 어느 오픈소스 구성요소가 주요 구성요소인지를 미리 알 수만 있다면 그 구성요소에 자금을 투자해 관여하는 개발자가 보안에 각별히 유의하도록 할 수 있으므로 보안 취약점의 수도 줄어들 것이다.

물론 많은 경우 “주요 오픈소스 구성요소”를 책임지는 개발자는 자신의 소프트웨어를 보호하는 일을 전업으로 삼기를 원하지 않는다. 프로젝트마다 차이가 크긴 하지만 프로젝트에 참여하는 개발자의 참여 동기는 저마다 다르다. 오픈소스 개발에 대한 일률적인 자금 투자 방식은 통하지 않는 이유다. 다만, 필자가 예전부터 느낀 점은 쿠버네티스 같은 커뮤니티든 마이SQL/오라클 같은 하나의 기업이든 기업의 관여 비중이 큰 오픈소스가 지속 가능성도 높다는 것은 분명해 보인다.

해커가 사유 소프트웨어와 오픈소스 소프트웨어의 빈틈을 찾는 방법이 대단히 혁신적이라는 점도 변수다. 해커는 지금은 아무도 “중대한” 또는 “주요” 구성요소로 여기지 않는 어떤 구성요소에 이미 잠입해 있을 것이다. 소프트웨어가 침해되면 그 시점에 “중대한” 또는 “주요” 구성요소가 되는 것이다.

필자가 10포인트 계획의 “메타”식 접근 방법을 선호하는 이유가 여기에 있다. 예를 들어 비메모리 안전 언어를 러스트와 같은 언어로 대체하거나 디지털 서명을 도입하는 것 등이다. 이러한 방법은 개발 프로세스에 따라 버그가 발견될 때 이를 수정하면서 프로젝트에 보안을 개선하는 데 도움이 된다.

기억해야 할 점은 화이트소스(WhiteSource)를 비롯한 여러 기업이 밝혔듯 오픈소스의 인기가 높아지면서 버그도 급증했다는 것이다. 생각해 보자. 오픈소스 코드의 우주가 엄청난 속도로 확장되면서 취약점도 함께 확장됐다. 결국 모든 중대한 구성요소를 미리 파악한다는 것은 터무니없거나 아마도 불가능한 일일 것이다.

그렇다면 10포인트 계획은 쓸모가 없는가? 전혀 아니다. 단지 필자는 1억 5,000만 달러로 오픈 소스 보안을 ‘살 수 있다’고 우리가 자신을 속이는 것이 아닐지 우려한다. 그렇게는 되지 않는다. 따라서 지금의 구성요소를 보호한다고 하더라도 업계에서 사용 중인 오래된 시스템, 덜 안전한 “중대한 오픈소스 구성요소”를 업그레이드해야 한다.

결국 오픈소스 보안을 실현할 수 있는 유일한 방법은 개별 프로젝트가 보안이라는 짐을 짊어지고 심각하게 다루고, 그 프로젝트의 각 사용자 역시 보안을 진지하게 받아들이는 것이다. 오픈SSF가 모두에게 이를 실현해줄 수는 없겠지만 도움이 된다면 1억 5,000만 달러도 잘 썼다고 할 수 있을 것이다.
editor@itworld.co.kr

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.