콘텐츠로 이동하기
위협 인텔리전스

2023년 취약점 공격 트렌드 분석

2024년 10월 27일
Mandiant

보안 상담

보안에 대한 문의사항을 해당 전문가가 상담해 드립니다.

문의하기

* 해당 블로그의 원문은 2024년 10월 16일 Google Cloud 블로그(영문)에 게재되었습니다. 


작성자: Casey Charrier, Robert Weiner


https://storage.googleapis.com/gweb-cloudblog-publish/images/tte-2023-fig1.max-2100x2100.jpg

맨디언트(Mandiant)는 2023년에 공개된 138개의 취약점을 분석하고, 그중 실제 공격에 활용된 사례들을 추적했습니다. 예전처럼 대부분(97개)이 패치가 제공되기 전에 악용된 제로데이 취약점이었습니다. 참고로 기술 지원이 종료된 것은 제외하였습니다. 나머지 41개는 패치가 제공된 후 처음 악용된 n-day 취약점이었습니다. 맨디언트는 이전부터 제로데이 공격이 증가할 것으로 예상했습니다. 한 가지 주목할 점은 2023년에는 제로데이 공격이 n-day 공격을 크게 앞질러 두 유형 간 격차가 더욱 커진 것입니다.

맨디언트의 데이터는 신뢰할 수 있는 관찰에 기반하고 있지만 취약점의 첫 번째 악용 사례에 의존하기 때문에 수치는 보수적인 추정치입니다. 첫 번째 악용 날짜는 공개되지 않거나 "7월 중순" 또는 "2023년 2분기"와 같은 모호한 시간대가 주어지는 경우가 많아 가장 최근의 가능한 날짜를 가정하였습니다. 또한, 발견되지 않은 악용 사례가 발생했을 가능성도 높습니다. 따라서 실제 악용 시간은 이 데이터가 나타내는 것보다 훨씬 빠를 것입니다.

타임라인을 통해 살펴본 취약점 악용

취약점 악용까지 걸리는 시간

TTE(Time-to-Exploit, 이하 TTE)는 취약점이 패치되기 전후에 악용되기까지 소요되는 평균 시간을 나타내는 지표입니다. 분석에 따르면 TTE는 매년 줄고 있습니다. 2018~2019년 평균 63일이던 TTE는 2020~2021년 초에는 44일로, 2021~2022년에는 32일로 줄어들어 2018년의 절반 수준이 되었습니다. 2023년에는 TTE가 가장 큰 폭으로 감소하여 평균 5일에 불과했습니다. 이는 이전 기록의 6분의 1에도 미치지 않는 수치입니다.

평균 TTE에서 통계적으로 분석하여 15개의 데이터를 제외했습니다. 여기에는 n-day 2개와 제로데이 13개가 포함되며, 이들을 제외하지 않으면 평균 TTE는 5일에서 47일로 증가합니다.

제로데이와 N-day 악용

2023년 이전까지는 n-day와 제로데이 비율이 2021~2022년에는 38:62, 2020~2021년 초에는 39:61로 꾸준히 유지되었습니다. 그러나 2023년에는 이 비율이 30:70으로 변해 이전과 큰 차이를 보였습니다. 제로데이 공격이 꾸준히 증가해 온 만큼, 이 변화는 n-day 사용이 감소한 것보다는 제로데이 공격과 탐지가 증가했기 때문으로 보입니다. 또한, 2023년에는 제로데이를 악용한 성공적인 공격이 더 많았을 가능성도 있습니다. 향후 데이터와 분석을 통해 이 변화가 지속적인 추세인지, 아니면 2023년에만 나타난 일시적 현상인지를 확인할 수 있을 것입니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/tte-2023-fig2.max-2100x2100.jpg

N-Day 취약점 악용

이전 분석 내용처럼 이미 공개된 취약점에 대해 패치가 제공된 후 첫 한 달 내에 악용될 가능성이 가장 높은 것으로 나타났습니다. n-day 취약점 중 12%(5건)는 패치 발표 하루 내에, 29%(12건)는 일주일 내에, 56%는 한 달 내에 악용되었습니다. 이전 보고서에서는 n-day 취약점의 25%가 패치 후 6개월이 지나서 악용되었으나, 2023년에는 두 건(5%)을 제외한 모든 n-day 취약점이 6개월 이내에 악용되었습니다.

https://storage.googleapis.com/gweb-cloudblog-publish/original_images/tte-2023-fig3.gif

취약점 공개부터 악용까지 걸리는 시간

분석한 취약점 중 41건(30%)은 공개 이후 처음 악용되었습니다. 이러한 취약점에 대해 자세히 알아보겠습니다. 맨디언트는 악용 코드의 존재와 악용 시점 간의 상관관계를 분석했으나, 두 변수 간에 뚜렷한 연관성은 확인할 수 없었습니다. 일반적으로 이 둘이 연관될 것으로 추정되지만, 장기 분석에서는 이러한 관계가 없음을 보여줍니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/tte-2023-fig4.max-2100x2100.jpg

악용 코드가 악용 전에 제공된 경우 취약점 공개일로부터 첫 악용 코드 공개까지 중간값은 7일이었고, 악용 코드 공개일부터 첫 악용까지 중간값은 30일이었습니다. 공개부터 악용까지 걸린 중간값은 43일이었습니다. 반면에 악용이 먼저 발생한 후 악용 코드가 공개된 경우에는 공개일부터 악용까지의 중간값이 15일, 악용부터 악용 코드 공개까지의 중간값이 4일, 공개부터 악용 코드 공개까지의 중간값이 23일이었습니다.

이 통계는 기존에 공개된 악용 사례가 실제로 악용되는 데에 미치는 영향이 예측 불가능하다는 과거 분석과 일치합니다. 맨디언트는 여전히 이러한 경향이 유지되는 한편, 특정 취약점이 실제로 악용되는 시점에 영향을 미치는 다른 요인도 있다는 점에 주목하고 있습니다. 이러한 요인에는 악용 가치와 악용의 난이도 등이 포함되지만, 이에 국한되지는 않습니다.

예를 들어 2023년에 언론의 주목을 받은 취약점 중 58%는 실제로 악용된 사례가 없었습니다. 그리고 취약점이나 보안 문제가 실제로 존재하고, 악용될 수 있다는 것을 증명하는 PoC나 악용 코드가 공개된 경우에도 72%는 실제로 악용된 적이 없는 것으로 나타났습니다. 이처럼 악용 코드가 공개되더라도 실제 악용까지 이어지는 경우는 제한적이며, 여러 다른 요인들이 악용 시점에 영향을 줄 수 있음을 보여줍니다.

아래는 악용 코드 공개가 실제 악용 시점에 미치는 영향과 다른 요인들이 어떻게 작용할 수 있는지를 보여주는 두 가지 구체적인 사례입니다.

CVE-2023-28121 사례

CVE-2023-28121은 WordPress의 WooCommerce Payments 플러그인에서 발생한 잘못된 인증 취약점입니다. 이 취약점은 2023년 3월 23일에 공개되었으나, PoC나 기술적 세부사항은 약 3개월 반이 지난 7월 3일에 처음 등장했습니다. 이날 게시된 블로그에는 사전 인증 없이 관리자 계정을 만드는 방법이 설명되었습니다. 다음 날인 7월 4일에는 이 취약점을 스캔하고 악용해 관리자 계정을 생성할 수 있는 Metasploit 모듈이 공개되었습니다. 그러나 PoC나 모듈이 공개된 직후에는 악용 활동이 관찰되지 않았으며, 악용 활동은 7월 14일에 처음으로 확인되었습니다. 이는 또 다른 무기화된 악용 코드가 7월 11일에 출시되고, 7월 13일에 업그레이드 버전이 공개된 이후였습니다. Wordfence는 7월 14일에 시작된 악용 캠페인이 7월 16일 하루에만 130만 건의 공격을 기록했다고 보고했습니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/tte-2023-fig5.max-1700x1700.jpg

이 사례는 공개 이후 약 3개월 동안 악용이 없었으나, 대규모 악용이 가능한 악용 코드가 공개된 후 10일 만에 대규모 악용이 시작된 사례를 보여줍니다. 이 경우 신뢰성 있고 대규모로 악용할 수 있는 코드가 공개되면서 공격자의 악용 동기가 높아졌음을 알 수 있습니다.

CVE-2023-27997 사례

CVE-2023-27997, 또는 XORtigate로 알려진 이 취약점은 Fortinet FortiOS의 SSL/VPN 구성 요소에서 발생하는 힙 기반 버퍼 오버플로 취약점입니다. 이 취약점은 2023년 6월 11일에 공개되었으며, Fortinet이 공식 보안 권고문을 발표하기 전에 이미 “XORtigate”라는 이름으로 큰 언론의 주목을 받았습니다. 6월 13일에는 PoC가 포함된 두 개의 블로그 게시물과 이후 실제 공격에 바로 사용될 수 없는 상태(Non-weaponized)의 GitHub 악용 코드가 게시되었습니다. 6월 16일에는 PoC 코드, 스캐너, 무기화된 악용 코드가 모두 공개되었습니다. 즉각적인 관심과 악용 코드 공개 후 바로 악용이 일어날 것으로 예상되었으나, 맨디언트는 9월 12일에 이르러서야 첫 악용 활동을 확인했습니다. 이 취약점의 악용은 맨디언트가 확인한 바에 따르면 제한적이고 표적화된 캠페인에서만 발생했습니다. 이 사례에서는 대중의 관심과 악용 코드 공개가 악용 시점에 영향을 미치지 않은 것으로 보입니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/tte-2023-fig6.max-1600x1600.jpg

유즈 케이스 비교

관찰된 타임라인 차이가 발생한 주된 이유 중 하나는 두 취약점의 신뢰성과 악용 용이성 차이입니다. CVE-2023-28121은 악용 코드가 공개되자마자 간단히 악용될 수 있었으며, 특정 HTTP 헤더만 설정하면 악용이 가능합니다. 이로 인해 대규모 자동화된 악용 캠페인에 매우 적합합니다. 반면에 CVE-2023-27997은 힙 기반 버퍼 오버플로를 악용해야 하며, 데이터 실행 방지(DEP)와 주소 공간 레이아웃 무작위화(ASLR) 같은 여러 보안 기능을 우회해야 합니다. 또한, 커스텀 해싱과 XOR 메커니즘을 분석해야 하는 복잡성도 있습니다. 이러한 복잡한 요소들과 시스템에 이미 적용된 여러 보호 조치를 고려할 때 이 취약점은 시간 효율성과 신뢰성 면에서 악용이 쉽지 않습니다.

또 다른 중요한 차이는 공격 대상 제품이 공격자에게 제공하는 가치입니다. FortiOS는 보안 중심의 제품으로 주로 민감한 환경에 상당한 권한을 가지고 배포됩니다. 따라서 CVE-2023-27997이 악용될 경우 공격자는 높은 권한을 획득하여 큰 피해를 입힐 수 있습니다. 반면에 WooCommerce Payments는 인기 있는 WordPress 플러그인으로 CVE-2023-28121을 통해 플러그인이 실행되는 웹 서버에 완전한 접근이 가능합니다. 그러나 이러한 웹 서버는 일반적으로 DMZ나 민감한 데이터나 중요한 시스템이 위치한 영역과 분리된, 제한된 권한만 부여된 네트워크에 존재하므로, 전체 조직에 미치는 영향은 제한적입니다. 공격자는 자신이 목표로 하는 바에 따라 가치가 높은 취약점에 더 많은 자원을 투입할 수 있으며, 악용이 쉬운 낮은 가치의 취약점은 기회주의적인 공격자에게 매력적일 수 있습니다.

벤더별 비교

2023년에는 악용된 취약점이 있는 공급업체 수가 2021년 최고치보다 17% 증가했습니다. 최근 몇 년 동안 마이크로소프트, 애플, 구글이 해마다 가장 많이 악용된 공급업체였으나, 올해는 이들 비중이 줄어 전체의 40% 미만을 차지했습니다. 특히 상위 3개 업체 중 하나가 가까스로 상위에 오른 상황입니다. 구글은 8개의 취약점이 악용되었고, 어도비는 6개의 취약점이 악용되어 네 번째로 많았습니다. 53개 공급업체 중 31개(58%)는 단 하나의 취약점만이 악용되었습니다. 이는 공격자들이 다양한 제품을 타겟으로 성공적으로 악용하고 있음을 보여줍니다. 이에 따라 방어자들은 점점 넓어지는 공격 표면을 보호해야 하는 과제에 직면하고 있습니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/tte-2023-fig7.max-2100x2100.jpg

공급업체별 취약점 수는 보안 수준의 우수성이나 취약성을 직접적으로 나타내지 않으며, 다른 경쟁사보다 “덜 안전하다”는 의미도 아닙니다. 제품 사용 범위와 공급업체가 제공하는 제품의 다양성에 따라 악용 횟수에 차이가 발생할 수 있습니다. 이러한 다양한 시스템과 네트워크를 방어하는 데 있어 업계의 모범 사례에서 교훈을 얻는 것이 성공적인 악용 방지에 중요한 접근법이 될 것입니다.

시사점

발견된 취약점이 증가하면서 위협 행위자는 이러한 취약점을 더 쉽게 악용할 수 있는 기회를 얻게 됩니다. 맨디언트의 분석에 따르면, 제로데이와 n-day 악용은 2020년부터, 2021년, 2022년, 2023년까지 매년 맨디언트 침해 대응(Mandiant Incident Response) 사건에서 가장 많은 초기 감염 경로로 나타났습니다. 이에 따라 방어자들은 실시간으로 탐지하고 대응하는 능력을 갖추고 있습니다. 또한, n-day가 더 빠르게 악용되고 다양한 제품에 사용되면서 패치 우선순위 선정이 더욱 어려워지고 있습니다. 기술 발전으로 인해 공격 표면이 넓어짐에 따라, 단일 취약 기술이 전체 시스템과 네트워크에 어떻게 영향을 미칠 수 있는지를 고려하는 것이 중요합니다. 공격이 발생했을 때 피해 범위를 제한하기 위해 분할된 아키텍처와 접근 제어 구현을 우선해야 합니다.

다년간 악용까지 걸리는 시간인 TTE를 추적한 결과, TTE는 매년 급격히 줄어들고 있음을 알 수 있습니다. 불과 5~6년 전 평균 TTE는 63일이었으나 현재는 5일로 감소했습니다. 이러한 악용 증가의 원인은 향상된 위협 탐지 기능 덕분일 수 있지만, 공격자가 패치 주기를 앞질러 빠르게 움직일 수 있다는 점을 시사합니다. 위협 행위자가 TTE를 단축하고 제로데이 공격 성공을 높여감에 따라, 패치 지연 및 충분히 보호되지 않은 공격 표면은 성공적인 공격 가능성을 높입니다.

데이터에 따르면 악용 코드 공개와 언론 보도는 악용 시점을 예측하는 지표가 아닙니다. 특정 경우에서만 상관관계를 보였으며, 이런 요소들이 대응 우선순위나 특정 취약점 대응을 높이는 기준이 되지는 않습니다. 악용 코드 공개와 관심은 고려해야 하지만, 악용의 난이도와 공격 가치 등 다른 요인과 함께 종합적으로 평가해야 합니다.

전망

분석에 따르면 제로데이 악용은 여전히 위협 행위자에게 매우 매력적인 방식입니다. 제로데이 악용이 n-day보다 더 많이 발생하고 n-day 악용이 공개 이후 더 빨리 이루어진다면, 향후 TTE는 더 줄어들 가능성이 큽니다. 제로데이 탐지가 어려운 과제이지만 탐지 도구의 발전과 확산으로 악용되는 취약점 수가 증가할 여지가 있습니다.

앞으로 n-day 사용이 크게 줄거나 타겟이 되는 공급업체 수가 감소할 가능성은 낮습니다. 위협 행위자는 n-day와 제로데이를 모두 활용하고, 더 많은 공급업체와 제품을 타겟으로 악용을 확장할 것입니다. 이 트렌드는 다양한 타겟에 대해 더 빠른 악용 타임라인을 보일 것으로 예상됩니다.

제로데이 악용 비율 증가와 악용 타임라인 단축이 위협 행위자가 n-day 공격을 중단할 것임을 의미하지는 않습니다. 맨디언트 패치가 출시된 지 몇 달 또는 몇 년 후에도 취약점을 악용하는 사례를 여러 번 목격해왔습니다.

게시 위치