Loading...

소프트웨어공급망

2 Contents
최신순

SW공급망 공격 대응을 위한 SBOM 관리

한국과학기술정보연구원(KISTI)은 1960년대부터 과학 기술 데이터를 체계적으로 관리하며 우리나라의 경제와 과학 발전을 뒷받침해 왔습니다. 슈퍼컴퓨터와 더불어 1988년 시작된 국가과학기술연구망(KREONET)은 국내 인터넷 기술의 시초로서 현재까지도 중요한 연구 인프라로 기능하고 있습니다. 이러한 인프라 운영 과정에서 리눅스, 오픈스택 등 다양한 오픈소스 소프트웨어의 활용은 필수적입니다. 그러나 오픈소스의 사용이 보편화됨에 따라 소프트웨어의 구성 요소를 투명하게 관리하고 보안 위협에 선제적으로 대응해야 할 필요성이 그 어느 때보다 커지고 있습니다. 최근 발생한 레바논의 통신 기기 폭발 사건이나 xz 유틸리티의 백도어 발견 사례는 소프트웨어 공급망 보안의 중요성을 극명하게 보여줍니다. 현대의 소프트웨어는 수많은 라이브러리가 복잡한 계층 구조로 얽혀 있어, 단 하나의 구성 요소만 오염되어도 전체 시스템의 권한을 탈취당할 수 있는 취약점을 안고 있습니다. 특히 개발 과정에서 참조하는 외부 라이브러리의 의존성이 기하급수적으로 복잡해지면서, 공격자가 숨겨놓은 악성 코드를 수동으로 파악하기란 사실상 불가능에 가깝습니다. 이러한 공급망 공격은 전 세계적인 보안 위협으로 부상하고 있습니다. 이에 대응하기 위해 국가정보원과 과학기술정보통신부 등 정부 기관들은 소프트웨어 공급망 보안 가이드라인을 마련하고 SBOM 시범 적용을 추진하고 있습니다. 미국 등 주요국에서는 이미 의료 기기처럼 생명과 직결된 분야에 대해 소프트웨어 구성 정보를 투명하게 공개하도록 의무화하는 추세입니다. SBOM(Software Bill of Materials)은 제조 분야의 자재 명세서처럼 소프트웨어를 구성하는 모든 부품과 버전, 라이선스 정보를 상세히 기록한 문서입니다. 이를 통해 소프트웨어 내부에 잠재된 보안 취약점을 가시화하고, 문제 발생 시 즉각적인 대응 체계를 구축할 수 있습니다. SBOM을 실제로 활용하기 위해서는 이를 자동으로 생성하고 분석하는 도구가 필요합니다. Syft와 같은 도구는 컨테이너 이미지나 파일 디렉터리를 스캔하여 표준 형식의 SBOM을 생성하며, Grype는 생성된 SBOM을 바탕으로 국가 취약점 데이터베이스(NVD)를 대조해 위협 요소를 식별합니다. 리눅스 패키지 매니저의 메타데이터를 활용하면 수천 개의 패키지가 포함된 시스템에서도 1분 내외의 짧은 시간 안에 보안 리포트를 생성할 수 있습니다. 이러한 자동화 도구들은 깃허브 액션과 같은 빌드 환경과 연동되어 개발 라이프사이클 전반의 보안성을 높이는 데 기여합니다. 하지만 도구에만 의존하는 것에는 한계가 있음을 인지해야 합니다. SBOM 생성 도구마다 분석 방식이 다르기 때문에 두 개 이상의 도구를 통한 교차 검증이 필수적이며, MATLAB처럼 특정 언어나 환경을 지원하지 않는 경우도 존재합니다. 또한 보안 취약점을 모두 해결하려다 서비스 운영에 차질이 생기는 상황도 발생할 수 있습니다. 따라서 완벽한 예방에 매몰되기보다는, 상용 도구를 적절히 활용하여 내부 자산을 정확히 파악하고 보안 이슈가 발생했을 때 얼마나 신속하게 대응할 수 있는가에 초점을 맞춘 유연한 보안 관리 체계를 확립하는 것이 무엇보다 중요합니다.

SW공급망 공격 대응을 위한 SBOM 관리
한국전자통신연구원오픈소스 테크데이
  • 융합
  • 공학·기술

[EOST2023] 누구를 위한 SBoM 공급망보안 기술인가, 그 해결책은?

소프트웨어 자재 명세서라고 불리는 SBOM(Software Bill of Materials)은 특정 소프트웨어가 어떤 구성 요소들로 이루어져 있는지에 대한 상세 정보를 담고 있는 문서입니다. 이는 마치 식품의 성분표와 같은 역할을 수행하며, 현대 소프트웨어 공급망 내에서 재사용되는 수많은 오픈소스의 정보를 투명하게 전달하기 위해 고안되었습니다. 최근에는 이를 활용해 특정 취약점이 발견되었을 때 어떤 시스템이 영향을 받는지 신속하게 파악하려는 시도가 늘고 있지만, 여전히 실제 활용 측면에서는 보완해야 할 기술적 과제가 많이 남아 있는 상태입니다. 현재 SBOM 관련 연구와 상용화는 주로 이를 생성하는 기술이나 소스 코드를 보유한 개발자 관점에서의 분석에만 집중되어 있는 경향이 있습니다. 하지만 정작 소프트웨어를 실제로 가동하고 있는 최종 사용자(End-user)들이 취약점에 어떻게 대응해야 할지에 대한 연구는 상대적으로 미진한 실정입니다. 소스 코드가 없는 사용자들도 자신들이 사용하는 프로그램의 위험성을 직접 인지하고 대응할 수 있는 기술적 환경이 마련되어야 하며, 이는 보안의 우선순위를 바로잡는 관점에서 매우 중요한 연구 분야라고 할 수 있습니다. 소프트웨어 공급망은 단순히 개발 단계에 그치지 않고 최종 사용자의 기기에 도달하여 설치되는 시점까지를 모두 포괄하는 개념입니다. 취약점으로 인해 정보가 유출되거나 랜섬웨어 피해를 입는 주체는 결국 사용자이기 때문입니다. 따라서 사용자가 신뢰할 수 있는 개발자가 만든 오픈소스를 사용했는지, 그리고 그 안에 포함된 수많은 하위 구성 요소들이 안전하게 관리되고 있는지를 직접 추적할 수 있는 시스템이 필요합니다. 이는 복잡하게 얽힌 현대 소프트웨어 생태계에서 사용자의 안전을 지키기 위한 필수적인 보안 요소입니다. Log4j(로그포제이) 사태와 같은 대규모 보안 사고가 발생했을 때, 사용자와 개발자 모두 영향 범위를 파악하는 데 상당한 수작업과 시간을 소모하곤 합니다. 개발자는 자신이 사용한 오픈소스의 깊은 단계까지 일일이 확인해야 하고, 사용자는 소스 코드가 없기에 개발자의 답변만을 기다릴 수밖에 없기 때문입니다. 이러한 정보 비대칭성은 보안 패치가 배포된 이후에도 실제 시스템에 적용되기까지 수개월에서 수년의 지연을 발생시키며, 그 사이 사용자는 무방비 상태로 위협에 노출되는 위험한 상황을 겪게 됩니다. 특히 우리나라는 공공기관에서 맞춤형 소프트웨어를 발주하는 프로젝트가 많아, 유지보수 기간이 종료된 이후에는 보안 취약점 관리가 사각지대에 놓이기 쉽습니다. 이를 해결하기 위해 소프트웨어 납품 시 SBOM을 함께 제공하고, 사용자가 이를 통해 최신 취약점 데이터베이스와 자신의 시스템을 대조해 볼 수 있는 표준화된 프로토콜이 도입되어야 합니다. 사용자가 직접 구성 요소를 검색하고 문제가 있을 시 개발사에 적극적인 대응을 요청할 수 있는 구조가 정착된다면, 보다 선제적이고 현실적인 사이버 보안 환경을 구축할 수 있을 것입니다.

[EOST2023] 누구를 위한 SBoM 공급망보안 기술인가, 그 해결책은?
한국전자통신연구원오픈소스 테크데이
  • 공학·기술