IT업체들의 소프트웨어 공급망을 자세히 살펴보고 이들이 사용하는 소프트웨어 생애주기 프로그램의 성숙도에 관해서도 확인해야 한다.
앨리게이터. 이미지 출처 : Flickr/seanlriley/REMIXED
4월 5일 오픈소스 취약점 데이터베이스(Open Source Vulnerability Database)가 폐쇄됐다. OSVD는 정기적으로 엄청난 양의 무료 기성 코드를 새 소프트웨어에 주입하는 개발자들에게 또 다른 보안 문제를 일으킨 것으로 알려졌다.
이름에서 알 수 있듯이 OSVD는 비 상업적인 개발자들이 알려진 취약성에 대한 (무료) 패치를 찾을 수 있는 데이터베이스였다.
OSVD 이외에 다른 취약성 저장소가 남아 있지만, OSVD의 폐쇄로 기업이 소프트웨어를 자체 개발할 때 오픈소스 코드를 사용하는 방법과 관련된 문제 중 하나가 두드러지게 나타났다. 일단 앱에 통합된 후에는 차후에 발견되는 취약성을 해결하기 위해 절대로 업데이트 되지 않을 수 있다.
이는 심각한 문제다. 기업 개발자를 위해 오픈소스 소프트웨어 보안에 주력하는 신생벤처인 소스클리어(SourceClear)의 CEO 마크 커피는 “모두가 오픈소스를 사용한다"며 "코드의 90%가 그들이 만들지 않은 것일 수 있다"고 우려를 표했다.
오픈소스 코드 취약성 제거를 돕는 자동화 플랫폼 업체인 블랙덕(Black Duck)의 전략 부사장 마이크 피팅거는 “실제 이 수치가 75%에 가까울 수 있지만 여전히 중요하다”고 말했다.
다른 업체들도 비슷한 서비스를 제공하고 있다. 대표적인 업체로 화이트소스(WhiteSource)가 있는데 이 업체는 OSVD에서 컴파일된 상업적 정보 사용을 취급하고 있다. 화이트소스는 고객사 앱에서 오픈소스 구성요소를 발견하고 진행 중인 소프트웨어 프로젝트에 취약한 코드가 추가되거나 고객의 기존 소프트웨어에 영향을 끼치는 새 취약성이 나타나면 경고한다.
회사가 소프트웨어를 신속하게 개발할 것을 요구할 경우 개발자들은 오픈소스 코드를 많이 사용하게 된다. 바로 사용할 수 있고 때로는 무료인 데다 관련 커뮤니티를 이미 심사한 것이기 때문에 믿고 사용하는 것이다. 피팅거는 이러한 긴급성으로 어떤 오픈소스 소프트웨어의 어떤 버전을 사용하는지에 관한 기록이 없는 경우가 많아 기업 보안 전문가들이 자체 앱이 얼마나 취약한지 파악할 때 추측에 의존할 수밖에 없다고 지적했다.
개발자들이 자동화된 방식으로 어떤 오픈소스 코드를 사용하는지 기록하지 않는 한, 이런 정보를 차후에 컴파일링하면 기본적으로 추측에 의존할 수밖에 없다. 그는 "개발팀의 기억에 의존할 수밖에 없게 된다"고 말했다.
공격자들은 이러한 오픈소스 코드 사용에 관해 잘 알고 있다. 그들은 누가 어떤 코드에 기여하고 누구의 코드에 문제가 있었는지 확인하기 위해 깃허브(Github)를 모니터링한다. 커피는 자신을 팔로우(Follow)하는 사람들을 팔로우하면서 이들이 개발하고 있는 것을 파악하고 깃허브에서 발견한 취약한 코드 중 일부를 사용하기를 기도한다고 밝혔다.