보안 제품정보


인기 높은 오픈소스인 GWT에서 8년 전에 발견된 취약점, 아직도 패치 안 됐다 2023.12.19

2015년부터 알려져 있던 자바 비직렬화 취약점이 아직까지도 패치가 되지 않았다는 사실이 알려지면서 보안 업계에 충격을 전해주고 있다. 코드 실행 공격까지 이어질 수 있어 심각한 사태를 야기할 수 있지만 GWT 개발자는 감감무소식이다.

[보안뉴스 문가용 기자] 8년 전에 발견된 자바 비직렬화 취약점 하나가 구글 웹 툴킷(Google Web Toolkit) 오픈소스 애플리케이션 프레임워크에 아직까지 존재하고 있다는 사실이 발견됐다. 문제는 해결이 생각보다 쉽지 않을 수 있다는 데 있다고 한다.

[이미지 = gettyimagesbank]


문제의 프레임워크인 GWT는 각종 오픈소스 도구들로 구성되어 있다. 웹 개발자들은 이 프레임워크를 사용해 자바스크립트 프론트엔드 애플리케이션들을 만들고 보수한다. IT 업체 엔리프트(Enlyft)에 의하면 GWT를 적극적으로 활용해 사업 행위를 실시하는 기업은 2천 개가 넘는다고 하는데, 대부분이 1인 기업 혹은 많아야 10명 내외의 소규모 기업들이라고 한다. 즉 보안에 충분한 예산을 쓰기 힘든 곳들이라는 것이다.

보안 업체 비숍폭스(Bishop Fox)의 관리 총괄 벤 링컨(Ben Lincoln)은 GWT에서 이제야 문제가 되고 있는 취약점이 지난 8년 동안 거기서 아무런 주목도 받지 않고, 아무런 픽스도 없이 존재해 있었다는 사실 자체가 믿기지 않는다고 한다. 그러면서 “자바 비직렬화 취약점은 2022년에 발견된 스프링4셸(Spring4Shell) 취약점과 비슷하다”고 설명하며 “원격 코드 실행 공격으로 이어질 수 있다”고 경고한다.

“이런 위험한 취약점이 패치도 없이, 아니 심지어 위험하다거나 관리 기간이 지났다는 표시도 없이, 취약한 부분에 대한 언급이 문서 어디에도 언급되지 않은 채 이 많은 시간이 흘렀다는 게 말이 되지 않습니다. 해당 프레임워크 개발자들이 패키지 안에 경고가 담긴 문건 정도는 포함시켰어야 합니다. 기능 설명 문서는 있으면서 취약점은 쏙 빼놓다니요.”

문제의 취약점은 2015년 한 차례 주목을 받은 적이 있기 때문에 GWT의 원래 개발자가 취약점에 대해 몰랐을 리 없다는 게 링컨의 주장이다. “개발자는 취약점이 한창 화제가 됐을 때도 신경을 쓰지 않았고, 그냥 뭉개고 시간을 보낸 겁니다. 그 누구도 이 취약점이 패치되지 않았을 거라고 상상하지 못하기도 한 것이고요. 당연히 문제가 됐으면 해결됐을 거라고 생각하는 게 일반적이죠.”

취약한 애플리케이션의 위험
개발자의 잘못과 무심함은 둘째 치고, 먼저는 이 취약한 프레임워크로 인해 발생할 수 있는 위험 가능성을 완화시키는 게 급선무라고 링컨은 강조한다. “하지만 취약점이 있는 것으로 분석된 웹 애플리케이션을 패치 없이 안전하게 만든다는 건 꽤나 까다로운 일입니다. 특히 이번 취약점의 경우, 너무나 낮은 층위에 있기 때문에 그 위로 쌓인 애플리케이션의 기본 구조 자체를 변경해야 할 가능성이 높습니다.”

그러면서 링컨은 “먼저 최악의 상황을 상정한 상태에서 위험 완화 작업을 시작해야 한다”고 강조한다. “취약한 애플리케이션이 무엇인지 알았다면, 그 애플리케이션을 갑자기 사용 중단했을 때 일어날 파장이 무엇인지, 그리고 그것이 한창 복구되지 않았을 때 벌어질 일을 미리 계산해 두고 움직이라는 것입니다. 또한 취약한 채로 애플리케이션을 계속 사용해서 공격이 들어왔을 때 벌어질 일도 상상할 수 있어야 합니다. 그것이야말로 반드시 막아야 하는 일이니까요.”

이번에 다시 떠오른 취약점처럼 서드파티에서 책임을 다 하지 못해 생기는 문제가 우리 회사에 악영향을 미치지 못하게 하려면 어떻게 해야 할까? 링컨은 “애초에 서드파티 개발사나 개발자가 취약점에 대해 어떤 식으로 대응하는지, 얼마나 빠르게 조치를 취하는지와 관련된 이력을 살피는 게 중요하다”고 강조한다.

“의외로 많은 개발자들이 오픈소스로 자신이 만든 결과물을 공개하여 나누는 건 좋아하는데 그 후 관리에는 취약한 모습을 보일 때가 많습니다. 자기의 할 일은 개발하여 나누는 데에서 끝난다고 보는 거죠. 그 후부터 생기는 문제는 오픈소스 커뮤니티 전체가 해결해야 한다는 게 그들의 마인드입니다. 이런 개발자들은 취약점에 대해서 둔감하게 반응합니다. 그런 개발사나 개발자가 배후에 있는 오픈소스나 서드파티 요소라면 사용하지 않는 게 안전합니다.”

그러면서 링컨은 “내부적으로 오픈소스와 서드파티 요소들의 목록을 주기적으로 파악하고 취약점 관리를 하는 게 중요하다”고 짚는다. “이제 애플리케이션 개발에 있어 오픈소스가 차지하는 비중은 매우 높아진 상황이며, 오픈소스 없이 개발하는 걸 상상하기 힘들 정도입니다. 그렇기 때문에 그러한 요소들을 전담하여 관리하는 체계가 마련되어야 합니다.”

3줄 요약
1. 유명 오픈소스 프레임워크인 GWT에서 2015년에 취약점 발견됨.
2. 그런데 그 취약점이 아직까지도 고쳐지지 않은 채 사용되고 있었음.
3. 서드파티와 오픈소스만 전문적으로 관리하는 체계 마련이 이제는 필수.

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

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