[보안뉴스 문정후 기자] 인터넷 공간에서 가장 빈번하게 등장하는 사이버 공격의 유형은 무엇일까? 클라우드플레어(Cloudflare)가 2023년 상반기부터 2024년 상반기에 이르는 1년 동안 일어난 일을 분석한 결과 ‘디도스’인 것으로 나타났다. 디도스를 하기 위해서는 자동화 봇이 만든 트래픽이 동원되는데, 그래서인지 모든 트래픽의 1/3이 자동화 봇이 발생시킨 것으로 분석됐다고 한다. 디도스 트래픽은 인터넷 공간의 만연한 현상이라고 해도 과언이 아니다.

[이미지 = gettyimagesbank]
취약점 익스플로잇 공격과 22분
하지만 디도스가 많다는 건 그리 놀랄 만한 일이 아니다. 더 놀라운 건 사이버 공격자들이 취약점의 개념 증명용 익스플로잇이 공개된 후 이를 무기로 전환시키는 시간이 빠르면 22분에 불과하다는 사실이다. 즉 보안 업계가 CVE 번호를 부여하고 따로 관리하는 그 취약점들이 개념 증명용 익스플로잇과 함께 공개된 후 거의 순식간이라고 할 수 있는 시간에 익스플로잇 공격이 시작된다는 것이다.
그런 취약점들 중 다음 몇 가지가 특히 공격자들 사이에서 인기가 높은 것으로 분석됐다.
1) CVE-2023-50164 : 아파치(Apache) 소프트웨어
2) CVE-2022-33891 : 아파치 소프트웨어
3) CVE-2023-29298 : 콜드퓨전(Coldfusion)
4) CVE-2023-38203 : 콜드퓨전
5) CVE-2023-26360 : 콜드퓨전
6) CVE-2023-35082 : 모바일아이언(MobieIron)
7) CVE-2024-27198 : 젯브레인즈 팀시티(JetBrains TeamCity)
이 “22분”은 대단히 상징적인 숫자다. 개념 증명용 익스플로잇 코드가 나오고 나서, 그것을 바탕으로 웹 애플리케이션 방화벽 규칙을 설정하기에도 빠듯한 시간이기 때문이다.패치가 개념 증명용 코드와 함께 발표됐다는 전제 하에, 심지어 보안 담당자가 전 조직적으로 패치를 적용하기에도 어려운 시간이다. 한 마디로 실직적인 대응이 불가능한 시간대에 익스플로잇 공격이 이뤄지기도 한다는 뜻으로 해석이 가능하다.
“제로데이 취약점은 보안 담당자들 사이에서 악몽과 같은 존재입니다. 알려지지 않은 취약점이니 대응할 수가 없거든요. 그렇기에 제로데이 취약점을 찾으려는 공격자들의 시도 역시 빗발칩니다. 그래서 2022년에서 2023년 기간 동안 제로데이 익스플로잇 공격은 15% 증가했습니다. 숫자로 말하자면 2023년 한 해 동안에만 실제 공격에 활용된 제로데이 취약점이 97개입니다. 제로데이 취약점에 대한 공격은 앞으로도 증가하기만 할 것입니다.” 클라우드플레어 측의 설명이다.
CVE 번호가 붙은 취약점들, 즉 ‘알려진 취약점들’은 제로데이가 아니다. 알려진 취약점과 제로데이 취약점 사이의 가장 큰 차이는 취약점의 존재를 보안 업계가 알고 있다는 것과 모르고 있다는 것으로, 이는 대응의 효과를 좌지우지 한다. 그렇기에 공격자들도 제로데이에 좀 더 투자를 하는 것이다. 하지만 알려진 취약점이라고 해도 22분 정도로 빠르게 공략해 버린다면, 얘기가 달라진다. 대응을 할 물리적 시간이 부족해지는 것이기 때문이다. 제로데이나 다름이 없어진다는 뜻으로도 해석이 가능하다.
취약점 익스플로잇과 패치의 진행 과정
“젯브레인즈 팀시티에서 발견된 CVE-2024-27198 취약점이 가장 좋은 사례입니다. 협정 세계시(UTC) 기준 2023년 11월 4일 14시에 팀시티 측에서 업데이트를 발표했습니다. 그런 후 14시 59분에 CVE-2024-27198에 대한 정보를 공개했습니다. 그러자 이 취약점을 제일 먼저 발견하고 은밀히 제보한 보안 업체 라피드7(Rapid7)이 19시 23분에 개념 증명용 익스플로잇 코드를 블로그에 발표했습니다. 그러자 19시 45분부터 해당 취약점의 익스플로잇 시도가 발견되기 시작했습니다.”
이 일련의 과정 중 잘못된 것은 하나도 없다. 원래 보안 업체는 일반적으로 애플리케이션에서 취약점을 찾으면 개발사에만 먼저 이를 알린다. 공격이 이미 시작되고 있는 상태, 즉 해당 취약점이 제로데이가 아니라면 아무런 내용도 공개하지 않고 침묵을 지킨다. 일반적으로 90일 정도 이 침묵을 유지한다. 그러다가 개발사가 취약점을 패치와 함께 발표하면, 제보를 했던 쪽에서도 기술적 세부 정보를 공개하는데, 여기에는 보통 여러 가지 공격 시나리오와 개념 증명용 익스플로잇 코드가 포함된다. 보안 담당자들이 취약점 대비를 보다 입체적으로, 총괄적으로 할 수 있게 하기 위해서다.
개념 증명용 익스플로잇 코드는 말 그대로 취약점의 익스플로잇이 어떻게 이뤄지는지 개념만을 다루기 위해 만들어진 것으로, 실제 익스플로잇 공격을 할 수 있는 무기는 아니다. 보안 전문가들은 중요한 요소들을 의도적으로 뺌으로써 아무나 이 도구를 복제해 무기로 쓰는 상황이 벌어지지 않도록 한다. 그러니 개념 증명용 코드를 가져간다 하더라도 해킹 공격을 실행할 수 있는 건 아니다. 이처럼 보안 업계는 취약점 제보 방식, 픽스를 기다리는 기간, 정보 공개의 수위 등을 암묵적으로 정해놓고 그것을 빠짐없이 따르는 편이다.
취약점 정보가 악용될 가능성을 최소화 해놓고, 동시에 상황 대처에 필요한 정보는 최대한 조심스럽게 공유한다는 것 자체가 보안 전문가, 즉 해킹 기술을 가진 사람들을 염두에 둔 움직임이다. 그러므로 배제되는 부류가 있는데 바로 최종 사용자(일반 사용자)다. 실제로 위의 취약점 관리의 흐름에 있어서 가장 문제가 되는 것도 최종 사용자다. 저렇게 조심스럽게 패치를 내놓아 대응을 하려 해도, 최종 사용자들이 패치 소식을 접하지도 않고, 패치를 적용하지도 않기 때문이다. 그래서 패치가 나와도 공격자들은 취약점을 여전히 익스플로잇 할 수 있었다.
그런 상황에서 개념 증명용 코드를 무기화 하는 데 걸리는 시간이 22분밖에 되지 않는다는 소식이 나온 것이다. 최종 사용자들이 패치를 즉각 적용한다 하더라도 22분은 대응하기 벅찬 시간이다. 최종 사용자들까지 갈 것도 없이, 보안 담당자들에게도 대응하기가 물리적으로 불가능한 시간이 수 있다. 클라우드플레어는 보고서를 통해 “인간의 대응으로는 한계가 있다”고 지적하며 “머신러닝을 기반으로 한 접근법을 가미해야 될 것”이라고 제안했다.
서드파티 앱과 서비스
취약점 익스플로잇 공격에 대응할 시간이 짧아진다는 건 애플리케이션 쪽에서부터 문제가 불거질 가능성이 높아지고 있다는 뜻이다. 애플리케이션의 사용량은 계속해서 증가하고 있는데, 기업들에서 사용되는 애플리케이션의 경우 평균 47개의 서드파티 스크립트를 활용하고 있다고 클라우드플레어 측은 경고하고 있다. 사용하는 서드파티 요소가 많으면 많을수록 사용자(사용 기업)는 제어할 수 없는 것이 많아지고, 따라서 위험 가능성은 높아진다.
“기업들 사이에서 가장 흔히 사용되는 서드파티 스크립트는 구글의 태그 매니저, 구글 애널리틱스, 구글 애드, 구글 번역, 리캡챠, 메타 페이스북과 인스타그램, 클라우드플레어 웹 분석, jsDelivr, 뉴렐릭(New Relic), 앱큐즈(Appcues), 마이크로소프트 클래리티(Clarity), 빙(Bing), 링크드인, 제이쿼리, 워드프레스, 핀터레스트, 언패키지(UNPKG), 틱톡, 핫자(Hotjar)입니다. 사업 운영에 있어 유용한 것이 사실이지만 반대로 최종 사용자의 브라우저에 곧바로 로딩되는 것이 많기 때문에 늘 위험을 안고 있다는 걸 기억해야 합니다.”
또한 기업 애플리케이션들은 평균 50개의 서드파티와 연결되어 있다는 것도 클라우드플레어는 지적한다. “구글, 마이크로소프트, 메타, 핫자, 카스퍼스키, 센트리(Sentry), 크리데오(Criteo), 토크투(tawk.to), 원트러스트(OneTrust), 뉴렐릭, 페이팔이 가장 많은 것으로 조사되고 있습니다. 애플리케이션을 통해 이런 사이트나 서비스들로 곧바로 연결될 수 있다는 건데, 이 역시 편리하지만 그만큼 위험할 수 있는 기능입니다.”
3줄 요약
1. 인터넷 공간에서 가장 많이 나타나는 공격은 디도스.
2. 애플리케이션 취약점 익스플로잇은 갈수록 빨라지고 있어 인공지능 활용이 필수가 되어감.
3. 서드파티 요소는 그 자체로 리스크인데, 계속해서 늘어나고 있는 상황.
[국제부 문정후 기자(globoan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>