시높시스 기고문 01
오픈소스 소프트웨어: 현대 소프트웨어 개발의 중추
Open source software: A pillar of modern software development
오픈소스 소프트웨어(OSS)가 없었다면 오늘날의 소프트웨어 애플리케이션은 아예 존재하지 못했을지도 모르고, 존재하더라도 성능이 지금만큼 강력하지 못할 것입니다. 개발자들은 모두가 이용, 수정, 학습할 수 있는 소스 코드로 오픈소스 소프트웨어를 설계하고, 해당 코드를 특정 라이선스와 함께 공개합니다.
OSS는 다른 코드와 쉽게 통합됩니다. 따라서 개발자들은 오픈소스 소프트웨어로 애플리케이션을 제작하여 핵심 역량에 집중하고 회사와 고객을 위해 혁신적이고 창의적인 솔루션을 구축할 수 있습니다. 하지만 소프트웨어에 생기는 오픈소스 구성요소 및 의존성 문제를 인지하지 못하는 개발자가 많습니다. OSS는 소프트웨어 공급망의 핵심 요소입니다. 시높시스의 2023년 “오픈소스 보안 및 위험 분석(OSSRA)” 보고서의 분석에 따르면, 코드베이스의 96%에 오픈소스 소프트웨어가 포함되어 있는 것으로 나타났습니다. 오픈소스 소프트웨어는 회사에 엄청난 가치를 제공하지만, 제대로 관리하지 않으면 큰 피해가 발생할 수도 있습니다. 법무법인 GTC에서 오픈소스 소프트웨어 관리 시스템을 구축한 임원 앤서니 데시코(Anthony Decicco)는 “조금만 주의하면 이러한 위험을 관리하면서도 OSS의 효과를 극대화할 수 있다”고 말합니다.
오픈소스의 장점과 단점
현대의 애플리케이션은 독점 코드, 오픈소스 코드, API, UI, 데이터베이스, 운영체제 및 기타 다양한 구성으로 이루어져 있습니다. 그리고 소프트웨어 공급망은 애플리케이션의 구성, 개발, 배포, 작동에 관여하는 모든 코드로 이루어집니다. 이 코드에 취약한 부분이 한 곳이라도 있으면 애플리케이션과 이를 사용하는 기업이 위험에 처하게 됩니다. OSSRA 조사에 따르면 코드베이스의 84%가 적어도 한 가지 이상의 취약점을 갖고 있는 것으로 밝혀졌는데, 이는 코드 보안이 그만큼 중요하다는 의미입니다.
OSS의 장점은 다음과 같습니다.
• 민첩성 및 빠른 개발: 개발팀은 새로운 기술을 기존 소프트웨어 스택에 빠르게 통합할 수 있습니다. 과거에는 몇 달에서 몇 년이 걸렸지만, 이제는 며칠에서 몇 주 이내로 가능합니다.
• 개발 및 유지 비용 감소: 오픈소스 소프트웨어는 무료입니다. 따라서 상용 소프트웨어보다 비용 효율이 높습니다. 처음에는 소규모로 시작해서 나중에 필요할 때 규모를 확장할 수 있습니다.
• 회사의 핵심 영역에 집중: 코드베이스 중에서 고도의 전문성을 요하는 부분에 시간과 노력을 집중할 수 있습니다.
다른 종류의 소프트웨어와 마찬가지로, 오픈소스 소프트웨어에도 IT팀과 개발팀이 고려해야 할 위험 요소가 있습니다. 오픈소스 코드는 다양한 방식으로 애플리케이션에 유입됩니다. 개발자가 애플리케이션을 설계할 때OSS를 사용하는 경우도 있고, 타사의 상용 코드에 OSS가 포함되어 있는 경우도 있고, 외주 개발 과정에서 OSS가 유입되는 경우도 있습니다. 그런데 OSS는 소규모 커뮤니티나 자원봉사자가 개발하는 경우가 많기 때문에 최신 상태가 항상 유지되지는 않습니다. 적극적으로 나서서 유지보수를 하는 사람이 없고, 이미 시정된 취약점이 그대로 남아 있기도 합니다.
오픈소스 고유의 문제 중 하나는 라이선스 요건입니다. 시높시스 조사에 따르면 감사 대상 코드베이스의 54%가 라이선스 충돌이 있는 것으로 나타났습니다. 예를 들어, 소프트웨어가 라이선스 허용 범위를 넘어서 사용되면 저작권 침해가 발생할 수 있습니다. 데시코에 따르면 “라이선스와 사용 방법에 따라 전용 소스 코드를 공유할 책임이 생길 수 있고, 이로 인해 비즈니스 가치가 심각하게 훼손될 수 있습니다.” 이러한 라이선스 문제를 해결하기 위해 시간과 자원을 투입하다 보면 회사의 핵심 업무를 놓치게 됩니다.
소프트웨어 공급망 보안
오픈소스 소프트웨어가 다른 소프트웨어보다 항상 더 위험한 것은 아니지만 OSS 보안에 유념하여 모든 보호 조치를 강구해야 합니다. 오픈소스든 아니든 애플리케이션에 구성요소가 많아질수록 공격자의 위협에 노출될 가능성도 커집니다. 오늘날 디지털 환경에서 보안을 유지할 수 있는 유일한 방법은 해당 애플리케이션과 연계된 소프트웨어 공급망의 모든 요소를 파악하는 것입니다.
소프트웨어 공급망을 보호하는 것은 매우 중요합니다. 이에 세계 각국의 정부들도 사이버 보안 절차를 의무화하고 있습니다. 특히 미국은 연방 정부와 정부 납품 업체가 사용하는 소프트웨어의 보안을 법제화했으며, 해당 요건은 정부 납품 업체의 파트너 업체 등으로 빠르게 전파되며 업계 전반에 영향을 끼치고 있습니다. 따라서 이제는 모든 조직이 이러한 흐름에 맞춰 견고한 보안 플랫폼을 구축해야 합니다.
이러한 법률과 지침의 목표는 연결성이 갈수록 높아지는 세상에서 소프트웨어 공급망 전반의 보안과 회복 탄력성을 개선하는 것입니다. 기업의 애플리케이션뿐만 아니라 해당 기업의 기기나 네트워크에 연결된 애플리케이션도 그 대상입니다. 그에 따라 각국의 정부는 기록을 관리하고, 정보를 공유하고, 사이버 보안 표준을 최신화하고, 취약점 탐색 능력을 개선하고, 모든 소프트웨어에 대해 상세한 SBOM을 요구하고, 모든 구성요소의 출처를 정확히 파악하는 등 다방면으로 노력하고 있습니다.
소프트웨어 공급망 보안 강화 방법
소프트웨어 공급망에 문제가 생기면 회사가 위험에 놓이게 됩니다. 오픈소스 소프트웨어를 사용하기 위한 첫걸음은 코드와 의존성의 보안을 확보하는 것입니다. 그러기 위해서는 OSS 공급자를 조사하고 코드의 작동에 필요한 라이선스와 종속성을 추적하는 등의 노력이 필요합니다. 오픈소스 프로젝트는 수만 개가 넘기 때문에 코드나 개발자를 일일이 전부 확인하는 것이 불가능합니다. 따라서 코드를 추적하는 것이 까다로워지는 것입니다.
완전한 소프트웨어 공급망 보안을 위해서는 소프트웨어 공급망 전체를 파악하고, 모니터링 시스템을 구축하고, 취약점을 정기적으로 테스트하고, 시정 조치를 강구해야 합니다. 오픈소스 소프트웨어는 중요한 소프트웨어 애플리케이션의 개발을 지원하고 고객과의 상호작용을 개선하는 등 다양한 측면에서 회사에 도움이 됩니다. 오픈소스 소프트웨어의 위험으로부터 회사를 보호하기 위해서는 코드의 내용을 식별하고, 모니터링하고, 분석할 수 있도록 다방면으로 노력해야 합니다. 이를 위해서는 적절한 자동화 솔루션과 도구가 필요합니다.
🔗 https://www.synopsys.com/blogs/software-security/open-source-software-supply-chain.html
엘에스웨어
📍서울특별시 금천구 서부샛길 606 대성디폴리스 A동 18층
📞 02-6919-0321
📧 opensource@lsware.com
'Synopsys' 카테고리의 다른 글
[시높시스 기고문] 오픈소스 구성요소 구버전 코드의 위험 :: 2024 OSSRA 보고서 (1) | 2024.03.21 |
---|---|
[시높시스] 2024 OSSRA Report :: 오픈소스 보안 및 위험 분석 보고서 (0) | 2024.03.07 |