본문 바로가기

POST/Tech

보안 소프트웨어 공급망 솔루션을 구현할 때 저지르는 10가지 실수

2022.08.22 The Top 10 Mistakes when Implementing a Secure Software Supply Chain Solution
원문보기

그 어느 때보다 보편화된 오픈 소스 코드 사용.

문제는 오픈소스 패키지의 양이 증가함에 따라 안전하지 않은 구성 요소가 전 세계의 소프트웨어 공급망에 점점 더 많이 사용되고 있다는 점입니다. 오픈소스 구성 요소가 악용될 수 있는 방법은 다양하고, 이는 중대한 보안 침해로 이어질 수 있습니다.

Sonatype Nexus Lifecycle을 사용하면 소프트웨어 개발 수명 주기를 보호할 수 있다는 장점이 있음을 많은 이들이 알고 있지만, 이 솔루션을 구현할 때 저지르는 일반적인 실수에 대해서도 인지하고 있는 것이 중요합니다. 다음은 Sonatype Nexus Lifecycle을 사용할 때의 흔한 실수 10가지입니다.

MISTAKE #1: 개발자 생산성에 대한 집중 부재

개발자 생산성은 조직의 일반적인 과제입니다. 개발자는 안전하지 않은 구성 요소인지 식별하고 사용하지 않도록 유의해야 하며 가능한 빨리 대체 버전을 사용해야 합니다. 그래야 배포 이후 애플리케이션에 대한 위험과 취약한 오픈 소스 구성 요소에 대한 변경 사항을 최소화할 수 있습니다. Sonatype Nexus Lifecycle 사용자에 따르면 올바른 보안 공급망 소프트웨어가 배포되면 개발자 생산성이 크게 향상된다고 합니다. 개발팀은 다음과 같이 말합니다. “…우리는 함께 훨씬 더 쉽게 작업이 가능해졌고, 협업하고 있습니다.”

MIB Group 그룹의 선임 엔터프라이즈 아키텍트도 “Nexus 이전에 특정 오픈소스 라이브러리를 사용하려면 매우 수동적인 절차를 거친 뒤, 취약점이 없는지 많은 검토를 다시 거쳐야 했다. 시간이 오래 걸린 것은 당연하다.”라고 말했습니다. 개발자들은 Nexus Lifecycle을 사용하며 잠재적인 취약점을 조사할 수 있게 되었고 그에 따른 속도와 생산성은 놀랍도록 개선되었습니다.

MISTAKE#2: 통합되지 않는 DevOps 도구

다양한 개발자 도구의 통합은 조직에서 요구하는 주요 사항 중 하나입니다. 아래 그림은 보안 소프트웨어 공급망 솔루션이 소프트웨어개발 수명 주기 (SDLC)에 통합할 수 있는 몇 가지 방법을 보여줍니다.

그림 1 - 소프트웨어 개발 수명 주기(SDLC)의 다양한 단계에서 보안 소프트웨어 공급망 솔루션의 통합. 출처: PeerSpot 보고서 2022

소규모 소프트웨어 회사의 보안 분석가는 Nexus Lifecycle과의 통합 이후 회사가 보다 능동적인 접근 방식을 취할 수 있게 되었다고 말했습니다. 또 보안 분석가 역시 이 통합이 매우 간단한 프로세스라고 언급했습니다.

MISTAKE #3: 데이터 정확성과 낮은 오탐률에 대한 집중

개발자 생산성 감소를 나타내는 지표 그리고 보안 팀에게는 낮은 오탐률을 매우 민감하게 바라보게 됩니다. 소프트웨어 회사인 Security Analyst는 Sonatype을 사용하여 오탐을 피할 수 있었다고 말하며 전반적으로 데이터 품질이 문제를 더 빨리 해결하는데 도움이 된다는 사실을 깨달았다고 말합니다.

MISTAKE #4: 라이선스 정보의 최신 버전

라이선스 정보가 정확하지 않거나 규정을 준수하지 않을 경우 오픈 소스 소프트웨어를 오용하고 법적 문제가 발생할 수 있습니다. 따라서 오픈 소스 소프트웨어를 사용하는 부서는 각 구성 요소에 대한 모든 버전 릴리스, 패치 및 라이선스 문제에 대한 최신 정보를 확인해야 합니다. 기술 서비스 회사의 제품 전략 부서 이사는 회사 제품의 라이선스가 올바르게 부여되어 있는지 확인하기 위해 Nexus Lifecycle을 이용했습니다. 기술 공급 업체의 소프트웨어 설계자 역시 Nexus Lifecycle이 회사 제품이 올바른 라이선스를 사용하고 있는지 확인하는 기능을 높이 평가했습니다.

MISTAKE #5: 안전하지 않은 구성요소의 방치

안전하지 않은 오픈 소스 구성요소를 소프트웨어 공급망에서 차단하는 것은 당연합니다. 취약성, 불법 복제 및 호환되지 않는 라이선스와 같은 문제가 야기될 수 있기 때문입니다. 금융 서비스 회사의 Product Owner Secure Coding은 “우리가 사용하는 코드의 50%는 오픈 소스입니다. 따라서 취약점의 종류를 스캔하는 것은 아주 중요한 일입니다.” 라고 말하면서 Nexus Lifecycle이 오픈 소스 스캔 및 타사 종속성 스캔과 관련하여 많은 가치를 제공한다고 말했습니다. 그는 “매우 강력하며 많은 보안을 제공합니다. 안전하지 않은 오픈 소스 구성 요소가 개발 수명 주기에 들어가는 것을 차단할 수 있습니다.” 라고 Nexus Lifecycle을 설명했습니다.

MISTAKE #6: 사일로 전반에 대한 고려

보안 소프트웨어 공급망 솔루션을 구현할 때 저지르는 일반적인 실수 중 하나는 조직 내 사일로에 대한 전반적인 고려 및 계획을 하지 않는다는 것입니다. 부서 관리자는 보안, 개발 및 DevOps 팀을 포함한 모든 사람이 오픈 소스 보안 및 라이선스 관리에 필요한 새로운 프로세스와 조치를 인지하고 있는지 확인해야 합니다. 금융 서비스 회사의 부사장 겸 선임 관리자는 모든 이해 관계자가 계획의 초기 단계에 참여해야 한다며 회사가 결과를 처리하기 위한 프로세스와 인력이 있어야 한다고 설명했습니다.

MISTAKE #7: SDLC 전반에 걸친 정책 시행에 대한 고려

또 다른 일반적인 실수는 다양한 유형의 사용자 지정 정책을 시행하는 것과 관련되어 있습니다. 팀은 관대한 라이선스가 있는 구성요소에 더욱 엄격한 표준을 적용할지, 혹은 그 그 반대의 경우 더 엄격한 표준을 적용할지 결정해야 합니다. 금융 서비스 회사의 부사장 겸 선임 관리자는 SDLC 전반에 걸쳐 오픈 소스 인텔리전스와 정책 시행을 제공하는 Nexus Lifecycle을 칭찬했습니다. 그는 “SDLC 기여자들이 개발의 라이프 사이클에서 적절하고 허용된 시간에 적절하고 허용되는 라이브러리만 사용하도록 제한한다.”고 설명했습니다. 제품 전략 그룹 이사는 SDLC 전반에 걸친 오픈 소스 인텔리전스와 정책 시행에 감사를 표했습니다. 그는 팀이 개발 환경을 설정하면서 Sonatype을 개발 파이프라인에 구축하도록 했고 그들은 코드베이스를 스캔해 실제로 새로운 오픈 소스 소프트웨어를 제품에 도입하는 시점에서 취약점을 갖고 있거나 라이선스 정책을 위반하는 구성요소를 도입하지는 않는지 확인할 수 있다고 말했습니다.

MISTAKE #8: DevOps 및 AppSec 팀 전체의 전략과 목표 부재

조직은 특정 소프트웨어 공급망 전략을 구현하지 않을 경우 어떤 잠재적인 영향이 있을지 인식해야 합니다. 여기에는 소프트웨어 개발 팀, 보안 팀 및 기타 이해 관계자의 보안 문제 해결이 포함됩니다. 또한 보안 소프트웨어 공급망 솔루션 구현에 대한 목표가 없으면 시간이 지남에 따라 비용이 증가할 수 있다는 점도 분명히 고려해야 합니다. 금융 서비스 회사의 부사장 겸 선임 관리자의 배포 전략은 법률, 개발, 정보 보안 및 DevOps 리더를 포함하는 것이었습니다. 그는 리더십이 도구의 기능과 기본값을 이해하고 결과를 관리하기 위한 전략을 마련하기를 원했습니다. 그는 “발견된 취약점과 이것이 가시적으로 보일 수 있도록 하는 프로세스를 구현하고 싶었습니다. 누군가가 문제를 분류하고 처리할 수 있도록 알림을 만들어야 했습니다.”라고 말했습니다.

MISTAKE #9: 보안 애플리케이션 개발 속도 개선 부재

보안 소프트웨어 공급망의 개선으로 팀은 개발 재작업 및 공통 보안 게이트를 가속화하여 보안 애플리케이션을 더 빠르게 구축할 수 있습니다. 이를 통해 새로운 개발 프로젝트 및 서비스의 출시 시간을 단축할 수 있고 보안 이점 외에도 조직이 애플리케이션에 도입될 수 있는 취약성을 가진 구성요소 그리고 정책 위반과 같은 문제로 발생하는 심각한 책임을 피하는데 도움이 됩니다. Nexus Lifecycle과 관련해 기술 공급업체의 DevOps 엔지니어는 이 솔루션이 회사의 보안 앱을 시장에 출시하는데 걸리는 시간을 단축한 것에 대해 만족했습니다. 그는 “만드는데 몇 시간 걸렸던 스크립트를 Nexus에서 기본적으로 제공하는 간단한 워크플로로 대체할 수 있었습니다. 시간 면에서 약 40%를 절약했습니다.”라고 말했습니다. Nexus Lifecycle 실제 사용자들을 통해 출시 시간 단축 뿐만 아니라 사후 관리 비용과 유지 관리가 쉬워지고 취약점이 발견될 경우 빠르게 알림을 받을  수 있는 것도 Nexus Lifecycle의 큰 장점 중 하나라는 의견을 들을 수 있었습니다.

MISTAKE #10: 빨리 시작하지 않는 것

보안 소프트웨어 공급망을 구현하는 프로세스는 빨리 시작하는 것이 중요합니다. 구성 요소가 안전하지 않은 것으로 확인되며 개발 환경에서 식별된 뒤에 빠르게 차단되어야 하므로 프로세스를 시작하기 전에 오랜 시간을 지체하지 않도록 해야 합니다. Primerica의 선임 DevOps 엔지니어는 조직이 가능한 한 빨리 Nexus Lifecycle을 구현해야 한다는 견해를 표명했습니다. 그는 "회사에 도움이 될 것이기 때문에 가능한 한 빨리 환경에 구현하도록 하십시오."라고 조언했습니다. 기술 공급업체의 소프트웨어 설계자는 기업이 Nexus Lifecycle을 즉시 구현하도록 권장했습니다. 그는 몇 가지 높은 취약성과 보안 문제가 생겼을 당시 Sonatype 관계자들이 설정에 큰 도움을 주었고 취약성과 보안 문제가 해결되었다고 말했습니다.

Conclusion

조직은 상용 오픈 소스 구성 요소로 인한 보안, 라이선스 및 성능 문제로 심각한 위험에 처해 있습니다. 이런 문제들이 해결되지 않으면 개발 팀은 더 많은 작업을 수행하는 것은 물론, 비용 증가 문제에 직면하게 됩니다. 보안 소프트웨어 공급망 솔루션을 통해 조직은 애플리케이션에 도입되기 전에 취약한 구성 요소를 차단할 수 있습니다. 이 외에도 애플리케이션의 시장 출시 시간 단축, 라이선스 위험 감소 등의 이점으로 개발자 생산성을 높입니다. 위에서 나열한 일반적인 실수를 피하는 것은 보안 소프트웨어 공급망 전반에 걸친 성공적인 경험을 위한 중요한 첫 번째 단계입니다.