보안 / 오픈소스

“까딱하면 당한다” 2023년 오픈소스 소프트웨어 10대 위협

Apurva Venkat | CSO 2023.03.02
오픈소스 클라우드 보안 업체 엔돌 랩스(Endor Labs)의 최신 보고서는 2023년 오픈소스 소프트웨어의 10대 위험 요소로 ▲알려진 취약점, ▲합법적인 패키지 손상, ▲이름 혼동 공격, ▲유지관리되지 않는 소프트웨어, ▲오래된 소프트웨어, ▲추적되지 않는 종속성, ▲라이선스 위험, ▲미성숙한 소프트웨어, ▲승인되지 않은 변경사항, ▲부족/과도한 종속성을 꼽았다. 
 
ⓒGetty Images Bank

보고서에 따르면 오늘날 애플리케이션 코드의 약 80%가 오픈소스 패키지를 기반으로 한다. 즉, 오픈소스 소프트웨어는 최신 애플리케이션의 근간이지만 소프트웨어 공급망의 가장 취약한 고리이기도 하다. 

오픈소스 소프트웨어는 보증 없이 제공되기 때문에 모든 위험은 전적으로 사용자의 책임이다. 따라서 오픈소스 종속성의 선택, 보안, 유지관리가 소프트웨어 공급망 보안을 위한 핵심이라고 보고서는 강조했다. 

엔돌 랩스 보고서는 시스템 손상, 데이터 유출, 규정 준수 위반, 가용성 저해로 이어질 수 있는 오픈소스 구성 요소와 관련된 모든 운영 및 보안 문제를 조명했다. 해시코프, 어도비, 팔로알토 네트웍스, 디스코드의 CISO를 포함해 20명의 업계 전문가가 참여했다. 
 

“여전히 ‘알려진 취약점’이 가장 큰 위험 요소”

보고서에 의하면 ‘알려진 취약점’은 오픈소스 소프트웨어의 가장 큰 위험 요소다. 이 위험 요소는 구성 요소 버전에 취약한 코드가 포함돼 있을 때 발생하며, 개발자의 실수로 들어가는 경우가 많다. 위협 행위자가 알려진 취약점을 악용하면 시스템 또는 데이터의 기밀성, 무결성, 가용성을 손상시킬 수 있다고 보고서는 설명했다. 

에퀴팩스(Equifax) 데이터 침해 사고를 야기한 아파치 스트럿츠(Apache Struts)의 CVE-2021-44228 그리고 로그4셸(Log4Shell)이라고도 알려진 아파치 로그4j의 CVE-2021-44228이 대표적인 예다. 알려진 취약점을 방지하려면 오픈소소 소프트웨어를 정기적으로 검사하고, 취약점의 우선순위를 지정하여 리소스 할당을 최적화해야 한다고 보고서는 권고했다. 

‘합법적인 패키지 손상’은 2번째 오픈소스 소프트웨어 위험 요소로 언급됐다. 공격자는 기존의 합법적인 프로젝트 또는 배포 인프라의 일부 리소스를 손상시켜 구성 요소에 악성 코드를 주입할 수 있다. 합법적인 프로젝트 관리자 계정을 탈취하거나 패키지 저장소의 취약점을 악용하는 식이다. 솔라윈즈(SolarWinds) 사이버 공격은 합법적인 패키지가 손상된 결과였다. 

3위를 차지한 오픈소스 소프트웨어 위험 요소는 합법적인 오픈소스 또는 시스템 구성 요소의 이름과 유사한 구성 요소를 생성하거나(타이포스쿼팅), 신뢰할 수 있는 작성자인 척하거나(브랜드재킹), 다른 언어 또는 생태계의 일반적인 명명 패턴을 사용하는 ‘이름 혼동 공격’이다. 

보고서는 이 위험 요소를 피하려면 설치 전후에 코드 특징은 물론이고 소스 코드 저장소, 유지 관리자 계정, 릴리즈 빈도, 다운스크림 사용자 수 등의 프로젝트 특징까지 확인해야 한다고 전했다. 합법적인 파이썬 패키지 컬러라마(Colorama)를 대상으로 타이포스쿼팅 공격을 시도해 비트코인 송금을 공격자의 지갑으로 리디렉션한 컬러라마 공격이 대표적인 예다. 

이어 엔돌 랩스 보고서는 오픈소스 소프트웨어 자체에서의 문제가 아닌 사용상의 문제를 언급했다. 그리고 소프트웨어가 유지관리되지 않거나 아니면 구성 요소 또는 버전이 더 이상 활발히 개발되지 않아 기능 및 보안 버그 패치를 사용할 수 없는 경우가 가장 큰 오픈소스 소프트웨어 운영 위험이라고 지적했다. 이렇게 되면 다운스트림 개발자가 패치를 개발해야 하므로 업무는 늘어나고 해결 시간은 길어진다. 그동안 시스템은 노출된 상태로 유지된다. 

‘오래된 소프트웨어’는 또 다른 오픈소스 소프트웨어 운영 위험이다. 최신 버전이 있는데도 오래된 버전의 구성 요소를 사용하는 프로젝트를 의미한다. 사용하는 구성 요소 버전이 최신 릴리즈보다 뒤처져 있으면 긴급 상황에서 적시에 업데이트하기 어려울 수 있다. 오래된 버전은 최신 버전과 동일한 수준의 보안 평가를 받지 못할 수도 있다. 

보고서는 “새 버전이 사용 중인 버전과 구문상 또는 의미상 호환되지 않는다면 애플리케이션 개발자가 비호환성을 해결하기 위해 상당한 업데이트 및 마이그레이션을 해야 할 수 있다”라고 언급했다. 

오픈소스 소프트웨어의 3번째 운영 위험은 추적되지 않는 종속성이다. 이 문제는 프로젝트 개발자가 구성 요소 종속성을 전혀 인식하지 못할 때 발생한다. 구성 요소가 업스트림 구성 요소의 소프트웨어 BOM(Bill of Material)에 포함되지 않았거나, 소프트웨어 구성 요소 분석(SCA) 도구가 구성 요소를 탐지하지 못했거나, 패키지 관리자를 사용하여 종속성을 설정하지 못했기 때문이다. 개발자는 정확한 BOM을 생성할 수 있는 SCA 도구를 검토하고 평가해야 한다고 보고서는 권고했다. 

한편 오픈소스 소프트웨어와 관련된 위험이 계속해서 증가하고 있다. 애플리케이션 보안 업체 시놉시스(Synopsys)에 따르면 자사 연구진이 조사한 상용 및 독점 코드베이스의 84%에서 적어도 하나 이상의 알려진 오픈소스 취약점이 발견됐다. 또 시놉시스 연구진이 분석한 코드베이스의 48%에는 고위험 취약점이 포함돼 있었다.
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.