Industry Issue

2024 OSSRA 보고서: 오픈소스 구성요소 구 버전 코드의 위험

Software Risk Analysis
작성자
관리자
작성일
2024-03-20 09:33
조회
110

2024 OSSRA 보고서: 오픈소스 구성요소 구 버전 코드의 위험

 

오픈소스 좀비 코드 경고

2024 "오픈소스 보안 및 위험 분석(OSSRA)보고서는 오픈소스 소프트웨어 사용자의 유지관리를 강조하며 오픈소스 구성요소를 최신화하지 않아 발생하는 다양한 보안 문제를 알립니다. 이번 OSSRA 보고서에 따르면 대부분의 상용 코드베이스에 구버전 구성요소가 포함되어 있었고, 그중 91%는 최신 버전과 비교해 10단계 이상 낮은 버전의 구성요소가 포함되어 있었습니다. 또한 코드베이스의 49%에는 최근 24개월간 개발이 전혀 진행되지 않은 구성요소가 포함되어 있었습니다.


[그림 1] 위험 분석 대상 코드베이스의 49%에 최근 24개월간 개발이 전혀 진행되지 않은 구성요소가 포함되어 있었습니다.

 

좀비 코드 위험을 해소하기 위한 유지관리

좀비 코드란 더 이상 사용되지도 않고 애플리케이션 기능에 필요하지 않은데도 코드베이스에 존재하는 코드를 말합니다. 다양한 좀비 영화(빠른 좀비와 느린 좀비, “라스트 오브 어스”의 포자 좀비와 “살아 있는 시체들의 밤”의 머리통 좀비)가 존재하는 것처럼 좀비 코드도 매우 다양합니다. 영화나 게임 속 좀비처럼, 좀비 코드는 어디선가 갑자기 튀어나와 예기치 못한 문제를 초래합니다. 오픈소스 사용과 관련하여 좀비 코드의 가장 큰 문제는 악용에 취약한 구버전 코드입니다.

직접 개발한 소프트웨어든 별도로 구입한 소프트웨어든 소프트웨어에는 대부분 오픈소스가 포함되어 있습니다. 2024 OSSRA 보고서에 따르면 감사 대상 코드 중 96%에 오픈소스가 포함되어 있었습니다. 일부 산업(항공우주, 통신 등)의 경우 모든 코드베이스에 오픈소스가 포함되어 있었습니다. 또한 여러 산업에서 위험 분석 대상 코드베이스의 상당수에 고위험 취약점이 포함되어 있었습니다(제조 부문 87%, IoT 부문 50%).

오픈소스 구성요소를 업데이트하지 않으면 애플리케이션의 취약점이 공격에 노출되고, 데이터 유출이나 기타 보안 문제가 발생합니다.

위험 분석 대상 코드베이스의 91%는 최신 버전보다 훨씬 오래된 오픈소스를 사용하고 있었습니다. 이번 OSSRA 보고서 역시 인기 있는 오픈소스 구성요소의 최신화를 강조했습니다. 취약한 구버전 오픈소스를 사용하면 커다란 문제가 생길 수 있습니다. 예를 들어, 2024 OSSRA 보고서에서 제시한 상위 10개 취약점 중 2위가 크로스 사이트 스크립팅 취약점이었습니다. 공격자는 이러한 취약점을 악용해 신뢰할 수 없는 코드를 실행합니다. 해당 문제는 4년 전 jQuery 3.5.0. 버전에서 패치되었습니다. 하지만 OSSRA 보고서의 데이터에 따르면 보안 위험 스캔을 진행한 코드베이스의 1/3은 아직도 패치되지 않은 버전의 jQuery를 사용하고 있었습니다.

구버전 오픈소스는 보안 문제뿐만 아니라 기술 부채까지 야기합니다. 오픈소스를 제대로 업데이트하지 않으면 버그 문제, 성능 문제, 호환성 문제가 부채처럼 쌓여 간다는 의미입니다. 기술 부채가 축적되면 애플리케이션 유지관리가 어려워지고 비용도 많이 듭니다. 시간이 지나면 가용성과 성능도 저하됩니다. 좀비 오픈소스가 있으면 라이선스 준수도 어려워집니다. 구버전 구성요소나 비활성 구성요소는 라이선스 약관 설명이나 지원을 받기가 힘듭니다.


[그림 2] 위험 분석 대상 코드베이스의 91%에는 최신 버전과 비교해 10단계 이상 낮은 버전의 구성요소가 포함되어 있었습니다.

 

오픈소스 유지관리 개선을 위한 3가지 방법

OSSRA 보고서에 따르면, 오픈소스 유지관리 시스템을 개선하고 좀비 코드 관련 위험을 해소하기 위한 3가지 방법이 있습니다.
  • 자동화 도구 실행소프트웨어 구성 분석 등 자동화 도구를 사용하여 구버전 구성요소와 취약점을 식별할 수 있습니다. 2024 OSSRA 보고서에 따르면, 애플리케이션 하나당 평균 500개의 오픈소스 구성요소가 존재합니다. 자동화 보안 테스트가 그만큼 중요하다는 의미입니다. 자동화 솔루션 없이 수동 시스템만으로 대규모 테스트를 진행할 수는 없습니다. 수동 프로세스와 달리 자동화 오픈소스 테스트 및 관리 시스템을 이용하면 개발 초기에 전달 일정 변경이나 생산성 문제 없이 다양한 문제를 빠르고 지속적으로 식별할 수 있습니다.
  • 정기 업데이트 실시: 오픈소스 구성요소를 정기적으로 업데이트하면 취약한 구버전 좀비 코드의 축적을 방지할 수 있습니다. 특히 관리가 활발히 이뤄지는 인기 프로젝트의 오픈소스 라이브러리를 사용하는 경우에는 정기 업그레이드가 꼭 필요합니다.
  • 소프트웨어 자재 명세서(SBOM) 생성 관리: 오픈소스 구성요소를 정확하게 정리한 최신 SBOM을 이용하여 코드의 품질, 라이선스, 보안을 관리할 수 있습니다. 종합 SBOM은 애플리케이션의 오픈소스 구성요소뿐 아니라 그러한 구성요소의 라이선스, 버전, 패치 상태까지 보여줍니다. 자체적으로 SBOM을 생성할 리소스가 없는 조직이나 SBOM을 빠르게 생성하고자 하는 조직은 Synopsys SBOM Services를 사용하여 소프트웨어 보안 감사를 진행하고 SBOM을 생성할 수 있습니다. 아직 SBOM 생성 능력이 없고, 고객과 규제 요건을 위한 표준 SBOM이 필요한 조직에게 유용한 서비스입니다.
명심하시기 바랍니다. 영화 속 좀비처럼 좀비 오픈소스 구성요소 하나가 모든 방어 시스템을 무너뜨리고 끔찍한 재앙을 초래할 수 있습니다. 오픈소스가 포함된 소프트웨어를 사용하는 조직(2024 OSSRA 보고서에 따르면 거의 모든 조직)은 소프트웨어 보안을 위해 오픈소스 유지관리를 적극적으로 수행해야 합니다. 모든 오픈소스 사용자는 구버전 오픈소스 소프트웨어의 제거를 우선 순위에 두어야 합니다. 그 첫 단계는 유지관리 시스템을 점검하여 부족한 부분을 개선하는 것입니다. 좀비가 나타난 후에는 너무 늦습니다.

 

2024 OSSRA Report 다운로드: https://sites.ziftsolutions.com/synopsys.ziftsolutions.com/8a9982ac8e60b9cd018e6455a3410f9d

 

원문 게시일: 2024.03.06

원문 기고자: Fred Bals

출처: https://www.synopsys.com/blogs/software-security/zombie-dead-code.html

/about-us/inquiry/
https://www.youtube.com/@softflow2018
https://blog.naver.com/softflow_group
#