일반적으로 보안 회사에서 "취약점을 무시하라"는 말을 들으리라고는 생각하지 않습니다. 결국 취약점은 대규모 침해 사고의 원인이 되며, 그러한 사고가 발생하면 사후 논평과 분석, 권고 사항이 몇 달 동안 우리의 피드를 가득 채웁니다.
그리고 "취약점 무시"가 "보안 강화"라는 개념과 함께 언급되는 경우는 더더욱 없습니다.
이제는 보셨습니다. 다만 대부분의 조언이 그렇듯, 여기에도 주의 사항과 전제 조건이 따릅니다.
물론 모든 취약점을 무시해서는 안 됩니다. 하지만 지금은 안심하고 무시해도 되는, 또는 적어도 나중으로 우선순위를 미뤄도 되는 취약점 유형이 있다는 사실이 밝혀졌습니다. 저는 2018년 오픈 소스 취약점 관리 현황을 WhiteSource Software에서 읽다가 이 개념을 접했습니다.
몇 가지 매우 흥미로운 통계와 더불어, 이 보고서는 오픈 소스 취약점을 비유효 취약점과 유효 취약점이라는 두 가지 범주로 나눌 수 있다는 개념을 제시합니다.
WhiteSource의 분류는 일부 취약점이 비유효하다는 전제에 기반합니다. 즉, 사용자 지정 코드에서 호출되지 않기 때문에 악용될 수 없다는 것입니다. 이러한 취약점을 분석하고 구분할 수 있다면 보안 담당자와 개발자는 유효하다고 판단되는 취약점에 집중할 수 있으며, 그 결과 애플리케이션의 전반적인 보안을 강화하는 동시에 시간과 노력을 줄일 수 있다는 설명입니다.

예를 들어, 취약한 함수가 포함된 오픈 소스 구성 요소에 의존하는 사용자 지정 애플리케이션을 생각해 보겠습니다. White Source의 정의에 따르면, 이 예시의 취약한 함수는 사용자 지정 애플리케이션에서 전혀 호출되지 않으므로 "비유효"로 분류될 수 있습니다. 예리한 독자라면 이 취약한 함수가 오픈 소스 구성 요소(또 다른 구성 요소 또는 동일한 구성 요소)의 함수에 의해 호출될 수도 있으며, 그 결과 유효해질 수 있다는 점을 알아차릴 것입니다. 이 가능성에 대해 WhiteSource에 문의하자, 이러한 가능성도 고려한다며 분류 기준을 자세히 설명했습니다. 취약한 코드가 사용자 지정 코드에서 직접 호출되거나 다른 오픈 소스 구성 요소를 통해 간접적으로 호출되면 "유효"로 분류됩니다. 반대로 취약한 함수를 호출하는 경로가 직접적으로든 간접적으로든 존재하지 않으면 "비유효"로 분류됩니다.
WhiteSource의 조사에 따르면 개발자의 96.8%가 오픈 소스 구성 요소에 의존할 뿐만 아니라 전체 프로젝트의 7.5%가 취약한 것으로 나타났으므로, 어떤 취약점에 집중할지 우선순위를 정할 수 있다면 분명 큰 도움이 될 것입니다. 또한 WhiteSource는 무려 64%의 오픈 소스 제품에서 비유효 취약점만 발견되었으며, 이러한 취약점은 무시해도 안전하다고 주장합니다.
물론 적극적으로 호출되지 않는다는 이유만으로 코드의 취약점을 아무렇지 않게 무시해도 된다고 생각하지는 않지만, 이러한 구분을 활용해 취약점 관리의 우선순위를 정하는 데에는 분명 가치가 있습니다. 실제로 적극적으로 호출되는 취약한 코드에 집중하면 개발자와 보안 전문가는 애플리케이션의 전반적인 보안을 즉시 강화할 수 있습니다. 또한 White Source의 보고서에 따르면 시니어 개발자는 주니어 개발자보다 취약점 해결에 평균적으로 더 많은 시간을 할애하므로, 이를 통해 시니어 개발자의 역량을 더욱 효율적으로 활용할 수 있습니다.
어떤 형태로든 우선순위를 정하는 방법이 마련되어야 합니다. WhiteSource에 따르면 2017년에 보고된 취약점은 약 3,500건으로, 2016년보다 60% 증가했습니다. 보고된 취약점 3,500건이 모두 모든 애플리케이션이나 조직에 영향을 미치는 것은 아니지만, 이 수치가 누적된다는 점을 기억해야 합니다. 즉, 이 3,500건은 누적 집계에 추가되는 새로운 취약점입니다.
말할 필요도 없이, 사용자 지정 코드와 오픈 소스 코드에는 많은 취약점이 존재합니다. 취약점이 "유효한지" 또는 "유효하지 않은지"에 따라 해결 우선순위를 정하는 것은 다른 요인뿐 아니라 실질적인 위협을 기준으로 위험을 평가하는 새로운 보안 전략과도 부합합니다. 유효하지 않은 취약점이 초래하는 실질적인 위협은 거의 없습니다. 그렇다고 해서 유효하지 않은 취약점을 무시하는 것이 장기적으로 최선의 접근 방식은 아닐 수 있습니다. 이러한 취약점이 결국 유효해질 가능성이 있기 때문입니다. 기능이 추가되거나 개선되면서 사용자 지정 코드가 변경되고 오픈 소스 구성 요소도 시간이 지남에 따라 변경되면, 취약한 함수를 호출하는 경로가 열릴 수 있습니다. 이것이 바로 취약점을 대상으로 한 소스 코드 분석을 가급적 지속적으로, 늦어도 최종 빌드 단계에서는 수행해야 하는 이유 중 하나입니다.
하지만 마감 기한을 지키고 개발자의 시간을 효율적으로 활용하려면, ‘비유효’ 취약점은 우선순위에서 뒤로 미루고 ‘유효’ 취약점을 즉시 해결하는 것이 현재 개발자가 보안을 강화할 수 있는 더 나은 방법 중 하나일 수 있습니다.
작성자 소개

Lori MacVittie는 F5 CTO 오피스의 수석 엔지니어이자 최고 에반젤리스트로, 애플리케이션 딜리버리, 자동화 전략 및 인프라 분야에서 깊이 있는 전문성을 보유하고 있습니다. AI 에이전트를 위한 가드레일을 정의하고, 취약한 멀티클라우드 아키텍처를 분석하며, 확장 가능한 시스템의 한계를 탐구하는 등 복잡한 문제를 명확하게 풀어내는 것으로 잘 알려져 있습니다. 애플리케이션 개발, IT 아키텍처, 네트워크 및 시스템 운영 전반에 걸쳐 30년 이상의 업계 경험을 쌓았습니다. F5에 합류하기 전에는 수상 경력이 있는 기술 편집자로 활동했습니다. MacVittie는 컴퓨터 과학 석사 학위를 보유하고 있으며, 보안, 클라우드 및 엔터프라이즈 아키텍처 분야를 아우르는 다수의 저서를 집필한 작가입니다. 또한 보드게임과 비디오 게임을 열정적으로 즐기며, 치즈에 대해서는 거리낌 없이 확고한 견해를 갖고 있습니다.
Lori Mac Vittie의 다른 블로그 게시물관련 블로그 게시물
성평등을 향한 여정: 사이버 보안 분야에서 성공적인 커리어를 개척하는 방법에 관한 Jenn Gile과의 Q&A
F5의 ‘성평등을 향한 여정’ 시리즈 네 번째 Q&A에서는 Rachael Shah와 NGINX 제품 마케팅 책임자 Jenn Gile이 사이버 보안 직종에 대한 오해를 바로잡고, 사이버 보안 분야의 성별 격차를 해소하기 위한 조언과 그 이점에 대해 이야기합니다.
TLS 검사에서 피터 파커 원칙 다루기
“큰 힘에는 큰 책임이 따른다.” 볼테르와 처칠도 이와 비슷한 말을 남겼지만, 이 문구는 스파이더맨 코믹스에서 벤 삼촌의 말로 가장 널리 알려져 있습니다. 물론 이 문구가 문화적으로 널리 통용되는 이유 중 하나는 TLS 검사를 비롯해 수많은 상황과 주제에 적용할 수 있기 때문입니다.
Venafi와 F5를 통한 머신 아이덴티티 보호
‘머신 아이덴티티’란 간단히 말해 자동화된 프로세스가 자신의 신원을 식별할 수 있도록 하고, 다른 자동화 시스템과 프로세스가 관련 리소스에 적절한 수준의 접근 권한을 부여하도록 하는 방법을 의미합니다. 이 개념 자체는 새로운 것이 아닙니다. 비교적 새로운 점은 이를 구현해야 하는 규모입니다.
마이너와 미니언: 데이터 유출만이 비용을 초래하는 것은 아닙니다
물론 데이터 유출은 더 큰 비용을 초래할 수 있고(적어도 지금은), 실패 사실을 세상에 드러낼 수밖에 없게 합니다(통지 의무가 있으니까요). 하지만 보안을 단순히 데이터 노출 문제로만 봐서는 안 됩니다. 요즘은 데이터가...
내 클라우드에서 나가!
F5의 Jay Kelley가 전하는 최신 소식에는 Microsoft Office 365용 신규 ID 및 액세스 솔루션을 배포할 때 고려해야 할 사항이 정리되어 있습니다.
Shift(웹 앱) 보안 레터
웹 앱 보안을 개발 초기 단계로 앞당기세요. F5 블로그에서 DevOps 파이프라인 초기에 보안을 통합하여 취약점을 예방하고 시간을 절약하는 방법을 알아보세요.