Home > 전체기사

로그4셸과 닮은꼴? 웹 앱 프레임워크인 스프링에서 나온 스프링4셸

  |  입력 : 2022-03-31 14:00
페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기 네이버 블로그 보내기
지난 12월 세상은 역대 최악의 취약점을 찾아냈다. 로그4j에서 발견된 로그4셸 취약점이 바로 그것이다. 그리고 3월, 또 다른 취약점이 웹 앱 프레임워크에서 발견됐고, 스프링4셸이라는 이름이 붙었다. 또 다른 악몽의 시작일까?

[보안뉴스 문가용 기자] 인기 높은 웹 애플리케이션 개발 프레임워크인 스프링(Spring)에서 제로데이 취약점이 발견됐다. 많은 개발자들이 스프링을 사용해 앱을 개발하기 때문에 수많은 웹 애플리케이션들이 취약할 것으로 예상되고 있다. 이 제로데이 취약점은 원격 공격을 가능하게 하는 성질을 가지고 있기 때문에 스프링과 관련된 웹 애플리케이션들의 시급한 점검이 필요하다.

[이미지 = utoimage]


일부 보안 업체에서는 이 취약점을 스프링4셸(Spring4Shell) 혹은 스프링셸(SpringShell)이라고 부르고 있고, 이 이름은 현재 빠르게 퍼져나가는 중이다. 요 하루 이틀 정도, 보안 업계는 스프링4셸 취약점을 분석하느라 분주한 시간을 보내고 있다. 특히 스프링4셸이 새로 생긴 취약점인지 혹은 오래된 취약점과 관련되어 있는지 확인하는 작업이 한창 진행 중에 있다. 보안 업체 프레토리안(Praetorian)과 플래시포인트(Flashpoint)는 독립적으로 분석해 “새롭게 발생한 취약점”이라는 결론을 똑같이 내렸다. 또한 아파치 톰캣(Apache Tomcat) 서버에 구축되었을 경우 원격 익스플로잇이 가능하다는 사실도 똑같이 발표했다.

스프링4셸 취약점에는 아직 CVE 번호가 붙지 않았다. 하지만 앞으로 장기간의 패치 작업이 이뤄져야 할 것으로 예상된다. 프레토리안의 CTO인 리차드 포드(Richard Ford)는 “취약한 채로 남겨둔 웹 애플리케이션의 경우(스프링으로 개발된 앱들 중), 원격 익스플로잇의 가능성을 내재시키는 것과 다름이 없다”고 경고한다. “익스플로잇은 매우 간단한데, 그 파급력은광범위합니다. 물론 지켜져야 하는 조건이 있는데, 이 조건이 성립하지 않는 환경에 있다고 판단되더라도 일단 패치를 하는 것이 좋습니다.”

스프링 프레임워크에서는 이번 주 두 개의 다른 취약점들이 발견되기도 했다. 스프링 클라우드(Spring Cloud)의 취약점인 CVE-2022-22963과 스프링 익스프레션(Spring Expression)의 취약점인 CVE-2022-22950이 바로 그것이다. 보안 업계는 스프링4셸과 이 두 가지 취약점들과의 관련성을 분석하고 있는데, 아직까지는 무관한 것으로 분석되고 있다. 프레토리안과 플래시포인트도 같은 결론을 내리고 있다.

스프링은 VM웨어(VMware)가 소유하고 운영하는 브랜드 중 하나다. 프레토리안에 따르면 현재 VM웨어는 로그4셸에 대한 패치를 준비 중에 있다고 한다. 플래시포인트의 경우 다크웹을 조사 중에 있는데, 아직까지 해커들 사이에서 스프링4셸에 대한 이야기가 나오고 있지는 않다고 한다. “현 시점까지는 실제 공격을 위한 익스플로잇 시도는 발견되지 않고 있습니다. 여태까지 분석된 바에 의하면 공격자들이 이 취약점을 익스플로잇 하려면 DeserializationUtils라는 걸 사용하는 웹 앱 인스턴스들을 먼저 찾아내야 합니다. 그런데 자바 개발자들 대부분 DeserializationUtils이 위험하다는 건 상식처럼 알고 있습니다.”

포드는 이것이 두 가지 의미를 가지고 있다고 풀이한다. “개발자들이 위험하다고 알고 있는 것이니 어지간하면 발견되지 않을 것이라는 뜻이 됩니다. 공격의 전제 조건이 성립되기 힘들 수 있다는 뜻이죠. 그런데 만약 발견된다면 어떨까요? 로그4셸 익스플로잇 외에 다른 위험 가능성, 즉 DeserializationUtils가 원래 가지고 있던 위험성까지도 복합적으로 작용하게 된다는 뜻이 됩니다. 이 취약점 익스플로잇이 가능한 환경이면 보이는 것보다 더 많은 위험이 잠재되어 있을 수도 있습니다.”

삭제된 트위터 게시글
스프링4셸 취약점이 보안 업계에 널리 알려지게 된 건 한 중국 보안 전문가가 개념증명용 공격 시연 화면을 캡쳐해 공유한 이후부터다. 어찌보면 개념증명용 익스플로잇 코드가 선공개되었다고 볼 수 있다. 하지만 그 중국 보안 전문가는 게시글을 재빨리 삭제했다. 중국 내에서는 정부의 허락 없이 취약점 정보를 공개하는 게 큰 범죄인데, 그것 때문인 것으로 보인다. 하지만 3월 30일, 사이버 공격 및 멀웨어 정보 공유 포럼인 VX-언더그라운드(VX-Underground)가 삭제된 게시글의 내용을 퍼트리기 시작했다.

프레토리안의 수석 엔지니어인 안토니 윔즈(Anthony Weems)는 “(중국 보안 전문가가 올린 스크린샷의 원본) 스크린샷을 보고 나니 공격을 간단히 시연할 수 있었다”고 말한다. “아직까지 저희가 분석한 바에 의하면 취약한 스프링 애플리케이션들이 톰캣에 임베드 되어 있어야만 익스플로잇이 가능한 것으로 보입니다. 하지만 스프링붓(Spring Boot)을 사용해 임베드 된 경우라면 익스플로잇이 불가능합니다. 스프링붓을 사용하는 건 꽤나 흔한 기법이기도 합니다. 다행인 지점이죠.”

한 가지 보안 전문가들을 우려스럽게 하는 건 지난 12월에 마찬가지로 자바 생태계에서 발견된 로그4셸(Log4Shell) 취약점과의 관련 가능성이다. 실제 두 취약점(로그4셸과 스프링4셸) 사이에는 유사성이 존재한다. “인기 많은 프레임워크 혹은 라이브러리(전자는 스프링, 후자는 로그4j)가 알려진 것 외에 다른 특성도 가지고 있다는 점에서 두 취약점은 비슷합니다. 자바 환경에서 사용된다는 것도 비슷한 점이고요. 하지만 그것 외에는 크게 비슷할 것이 없습니다.”

로그4셸 취약점이 훨씬 더 심각
로그4셸 취약점에는 ‘역대 최악의 취약점’이라는 수식어가 따라붙는다. 여기에 거의 모든 보안 전문가들이 동의한다. 스프링4셸은 그와 비슷한 수준도 아니다. “파급력이라는 측면에서 둘은 비교 불가입니다. 심지어 스프링4셸 익스플로잇 난이도가 로그4셸의 그것보다 훨씬 높아요. 스프링4셸은 공격하려면 공격자가 미리 애플리케이션의 엔드포인트 주소도 알고 있어야 합니다. 앞서 언급한 전제 조건들도 따라붙고요. 둘이 어쩌다가 이름이 비슷하게 붙었는데, 차이는 확연합니다.”

3줄 요약
1. 인기 높은 웹 앱 프레임워크인 스프링에서 취약점들이 연달아 세 개나 발견됨.
2. 그 중에는 제로데이 취약점도 하나 있는데, 여기에 스프링4셸이라는 이름이 붙음.
3. 로그4셸 취약점과 비슷한 이름이 붙었으나 공격 난이도나 파급력 측면에서는 비교 불가.

[국제부 문가용 기자(globoan@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>

  •  
  • 0
  • 페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기 네이버 블로그 보내기

  •  SNS에서도 보안뉴스를 받아보세요!! 
아스트론시큐리티 파워비즈 2023년2월23일 시작 시큐아이 위즈디엔에스 2018
설문조사
오픈AI가 개발한 인공지능 챗봇 챗GPT가 GPT4 버전까지 나오면서 디지털 혁신의 촉매재 역할을 하고 있습니다. 보안 분야에서도 챗GPT로 인해 보안위협이 가속화될 것이라는 전망과 함께 보안업무에 효과적으로 활용된다면 보안대응 역량 향상에도 크게 기여할 것이라는 의견도 제기됩니다. 이에 대한 여러분들의 생각은 어떠신가요?
챗GPT 악용으로 인해 보안위협이 더욱 고도화되고 증가할 것
챗GPT를 악용하는데 한계가 있어 보안위협이 소폭 늘어나는 추세에 그칠 것
챗GPT 활용에 따라 보안대응 업무에 적지 않은 도움이 될 것
챗GPT의 적극적인 도입 및 적용 통해 보안대응 역량이 획기적으로 향상될 것
보안위협 또는 보안대응과 관련해서는 큰 영향이 없을 것
기타(댓글로)