안녕하세요. 오픈소스 전문 기업 엘에스웨어 오픈소스 사업본부입니다.
오늘은 오픈소스를 활용할 때 필수 체크 사항인 오픈소스 의존성에 대한 포스팅을 준비했습니다. 오픈소스 의존성에 대한 정의와 의존성의 전이가 유발할 수 있는 문제, 그리고 문제 예방을 위해 필요한 포세라 포털 위드 블랙덕에 대해 함께 알아볼까요?
오픈소스 의존성이란?
오픈소스 의존성(Dependency)을 갖는다는 것은 어떤 소프트웨어의 구성 요소(A)를 다른 소프트웨어(B)에 적용하여 이용할 때 B 요소가 A 요소에 의존하게 되는 것을 의미합니다. 오픈소스 소프트웨어의 구성 요소의 세계에서 협력은 필수적이며, 각 객체가 협력한다는 것은 객체 간의 파라미터나 리턴값 또는 지역변수 등으로 다른 객체를 참조하는 것, 즉 의존성이 존재한다는 뜻으로 볼 수 있습니다.
그리고 의존성이 존재한다는 것은 변경에 의한 전파 가능성을 암시하며, 방향성을 가지고 있는 의존성은 항상 한 방향으로만 작용합니다. 예를 들어 A 요소가 변경될 때, A를 의존하는 B 요소도 함께 변경될 수 있으며 이에 따른 영향으로 전체적인 수정이 필요한 경우가 발생할 수 있습니다.
의존성의 전이
의존성에는 두 가지 종류가 있습니다. 먼저, 위에서 언급한 대로 한 요소가 바로 다른 요소에 의존하는 경우를 직접 의존성이라고 합니다. 그리고 직접적으로 연결되진 않더라도 연쇄적인 의존으로 인해 영향을 받는 것을 간접 의존성 또는 전이 의존성이라고 합니다.
이때, 의존성의 전이란 오픈소스 라이브러리나 패키지가 또 다른 다수의 라이브러리나 패키지에 의존하는 상황을 의미합니다. 즉 직접적으로 사용하는 라이브러리(A)가 다른 라이브러리(B)에 의존성을 가지고 있으면서 동시에 B 라이브러리가 또 다른 라이브러리(C)에 의존하게 되면서 A와 C 사이에도 간접적인 의존성이 연결되는 것을 뜻합니다.
의존성 전이가 발생한 경우 의존성을 가진 요소들의 관리가 어려워지고, 각 의존성의 역할과 중요도를 파악하기 쉽지 않습니다. 또한, 현재 사용하는 라이브러리가 안전하더라도 해당 라이브러리가 직간접적으로 의존하는 요소에 보안 취약점이 발견된다면 그 라이브러리도 보안 취약점으로부터 안전할 수 없습니다. 마지막으로, 의존성 전이가 다중에 걸쳐 발생한 경우 한 라이브러리를 업데이트할 때 다른 의존성이 영향을 받을 수 있습니다. 이로 인해 호환성 등 연쇄적인 시스템상의 문제가 발생할 수 있습니다.
의존성 문제 해결 방안
위와 같은 의존성 전이로 인한 문제를 예방하기 위해서는 의존성을 가진 라이브러리를 적절하게 관리하는 것이 필요합니다. 대표적인 의존성 문제 해결 방안으로는 SBOM과 의존성 분석 도구 ‘포세라 포털 위드 블랙덕’이 있습니다.
1. SBOM
SBOM(Software Bill of Materials)은 소프트웨어 제품에 포함된 모든 구성 요소를 리스트로 정리한 소프트웨어 자재 명세서입니다. SBOM을 통해 어떠한 라이브러리가 제품에 사용됐는지, 각각의 버전은 무엇인지, 어떤 의존성이 있는지 명확하게 알 수 있죠. SBOM을 활용하면 제품에 문제가 발생했을 때 빠르게 문제가 되는 부분을 파악하고, 해결 방안을 찾을 수 있습니다.
2. 포세라 포털 위드 블랙덕
포세라 포털 위드 블랙덕은 블랙덕과 100% 실시간 연동하여 오픈소스 라이브러리를 점검 및 관리할 수 있도록 돕는 솔루션입니다. 블랙덕은 직접 의존성과 전이 의존성을 가진 라이브러리를 모두 분석하여 의존성 목록을 트리 구조로 제시하며, 빠르고 정확한 점검 결과를 바탕으로 포세라 포털 위드 블랙덕을 통해 오픈소스 통합 관리를 수행할 수 있습니다.
오늘은 이렇게 오픈소스를 활용하면서 꼭 체크해야 할 오픈소스 의존성에 대해 알아봤습니다. 오픈소스 의존성부터 보안 취약점과 라이선스까지 통합으로 관리하는 포세라 포털 위드 블랙덕에 대한 자세한 정보가 필요하다면 아래 엘에스웨어 로고를 클릭해 주세요.
엘에스웨어
📍서울특별시 금천구 서부샛길 606 대성디폴리스 A동 18층
📞 02-6919-0321
📧 opensource@lsware.com
'오픈소스' 카테고리의 다른 글
오픈소스 보안 취약점의 위험성과 블랙덕의 대응 :: 에퀴팩스 데이터 유출 사례 (1) | 2024.06.12 |
---|---|
오픈소스 국제 표준 및 인증 :: 오픈체인 프로젝트 (0) | 2024.05.30 |
[NEWS] 정부, SBOM 공급망 보안 가이드라인 1.0 발표 (0) | 2024.05.14 |
오픈소스 관련 사이트 알아보기 :: GitHub, Awesome Open Source, Bootstrap, SourceForge (0) | 2024.05.10 |
개발부터 운영까지 DevOps, 그리고 오픈소스 (1) | 2024.05.03 |