개발자는 종종 오픈 소스 라이브러리의 힘을 빌리지 않고 기능을 재창조하려는 값 비싼 실수를 범하곤 합니다. 오픈 소스 라이브러리는 매우 강력한 재사용성을 제공합니다. 이를 이용하여 레거시 애플리케이션의 개발 작업 과정을 보다 신속하게 진행할 수 있도록 오픈 소스 라이브러리는 기여합니다. 또한 개발자는 오픈 소스 라이브러리가 일반적으로 제공하는 최신 업데이트, 패치 및 클라우드 소싱 기능을 활용할 수 있습니다. 재사용 가능한 코드베이스가 있을 때, 이를 활용하지 않고 처음부터 모든 것을 개발하려 하는 것은 경제적이지도 권장되지도 않습니다. 본질적으로 기업가와 개발자는 비즈니스 IP를 전파하고 시장에서 경쟁력을 유지하는데에 그들의 혁신, 노력 및 시간을 집중해야 합니다.
균형 잡힌 접근법
오픈 소스 라이브러리를 적용할 때에는 신중한 접근이 필요하기 때문에, 무조건적으로 적용하는 것은 피해야 합니다. 오픈 소스 라이브러리의 적용이 제대로 수행되지 않으면 애플리케이션의 위험 지수가 크게 높아질 수도 있습니다. 오픈 소스 라이브러리 프레임워크의 취약점 하나는 애플리케이션 입장에서 매우 큰 공격 지점이 될 수 있으며, 잠재적으로 커다란 고객 기반을 파괴할 수 있습니다. 더욱 좋지 않은 사실은 문제가 발견되지 않아 수년간 누적된 의존성 버그는 보안 위험 요인을 더욱 증폭시킨다는 것입니다.
오픈 소스 컴포넌트의 출처에 대한 적절한 정보 없이, 위험 요소를 가늠하고, 적절한 시정 조치를 취하는 것은 사실상 불가능합니다. 해커들은 취약점을 악용하기 위해서 어디든 숨어 있습니다. 이러한 취약점은 평소에는 크게 부각되어 있지 않으나, 특정 시점에서는 매우 큰 위협으로 다가오게 됩니다. 따라서 개발자는 오픈 소스 컴포넌트의 출처와 함께 어디에서 사용되고 있는지를 반드시 추적하여 알고 있어야 합니다. 이러한 소프트웨어 컴포넌트의 분석 절차는 만일의 상황이 발생하는 (예를 들어, 컴포넌트의 일부가 손상된 것이 사용됨) 경우에 대해서 신속하게 대처하는데 도움이 됩니다.
파편화된 정보
운영체계의 취약점을 다루는 또 다른 주요한 장애 요인은 이들에 대한 포괄적인 정보가 파편화되어 있어 추적하기가 어렵다는 점입니다. 설사 정보가 있더라도, 위협 위험도 및 패치 가용성에 대한 관련 정보가 부족하거나 정보 신뢰성에 문제가 있는 경우가 많습니다. 변화가 있기 했지만, 여전히 오픈 소스 프레임워크를 다루기 위해서는 많은 작업이 필요합니다.
오픈 소스는 안전한가요?
여전히 많은 사람들은 오픈 소스 컴포넌트가 상업용 컴포넌트보다 안전하다고 생각하는 큰 오해를 합니다. 하지만 통상적으로 오픈 소스 라이브러리는 상업용 코드보다 보안적으로 더 취약할 가능성이 높습니다. 개발자는 안전한 코드베이스를 확보하기 위한 수동 또는 자동 보안 테스트를 반복적으로 수행하고, 이를 통해서 발견된 보안 취약점을 적절히 조치하는 과정을 지속적으로 수행하는 것만이 안전한 오픈 또는 상업용 소스를 확보하는 방법임을 이해해야 합니다. 여기에는 침투 테스트, 코드리뷰, 정적/동적 보안 테스트 등이 포함됩니다.
개발자는 진화하는 애플리케이션 보안 환경을 언제든 받아드릴 수 있는 열린 마인드를 가질 필요가 있습니다. 이를 통해서 애플리케이션을 공격하려는 이들을 방어하고, 그들보다 한발 앞서 나갈 수 있습니다. 소프트웨어 개발 비용을 절감하는 과정에서, 비즈니스 소유자와 개발자는 자신이 사용할 오픈 소스 라이브러리의 출처를 확인하고 사용처를 추적하여 애플리케이션에 사용되기 전에 보안 위험에 대해서 충분히 대비를 해야 합니다.
계획된 통합 접근법
이러한 취약한 생태계에서 보안 위협 요소를 인식하고, 즉각적이며 효과적으로 위협 요소를 다룰 수 있는 해법을 보장할 수 있는 방안을 마련하는 것이 중요합니다. OWASP는 오픈 소스 라이브러리로부터 파생된 보안 위협을 인지하고, 2013년 Top 10 보안 위협 목록에 “알려진 취약점이 있는 컴포넌트의 사용”을 등록하였습니다. 보안 도구는 오픈 소스 의존성을 이용한 보안 취약점을 확인하는데 유용합니다. 그러나 합법적인 사용자가 발견하기전에 해커가 오픈 소스 라이브러리의 취약점을 발견할 수 있음을 절대 알 수 없기 때문에, 계획된 보안 감사 및 정기적인 수동 평가를 통해서 취약점을 발견하고 패치하는 것이 소용 없을 수 있습니다.
앱실링은 오픈 소스 컴포넌트의 사용으로 발생할 수 있는 위협을 처리하는 원스톱 솔루션으로서의 역할을 수행하며, 애플리케이션을 안전하게 보호하기 위해서 끊임없이 노력합니다. 동적으로 생생되는 보고서는 개발자와 비즈니스 소유자가 앱 보안 이니셔티브를 계속 유지하고 위협을 막는데 도움이 됩니다.