| 30년된 레디어스 프로토콜에서 30년 된 설계 오류 발견돼 | 2024.07.11 |
네트워크와 시스템의 인증에 사용되어 온 프로토콜에서 치명적 결함이 30년 만에 발견됐다. 늘 거기에 있던 취약점이었는데 아무도 몰랐던 건, 그 취약점이 처음부터 취약점이었던 건 아니었기 때문이다. 관리자들과 벤더사들의 할 일이 늘어났다.
[보안뉴스 문정후 기자] 90년대부터 지금까지 널리 사용되고 있는 유명 프로토콜에서 위험한 취약점이 하나 발견됐다. 이 취약점은 설계 오류, 즉 근본적인 구조에서부터 파생한 문제이며, 따라서 지적된 적이 없다. 너무나 친숙한 프로토콜이라 보안의 관점에서 상세히 분석하려는 시도도 극히 드물었다고 한다. 그래서 취약점은 30년이나 존재할 수 있었다. 프로토콜 자체가 광범위하게 사용되고 있기 때문에 누군가 익스플로잇을 시작할 경우 파장이 매우 커질 수 있다는 경고도 같이 나왔다. ![]() [이미지 = gettyimagesbank] 문제의 프로토콜은 레디어스(RADIUS)다. 네트워크 접근과 인증, 관리에 널리 사용된다. 보스턴대학교, 클라우드플레어(Cloudflare), 바스티온제로(BastionZero), 마이크로소프트(Microsoft), 네덜란드의 CWI 연구소, 캘리포니아대학의 연구원들이 공동으로 연구를 진행했고, 이 취약점 관련 보고서도 같이 작성해 발표했다. 해당 취약점은 CVE-2024-3596이며, 블래스트레디어스(BlastRADIUS)라고 불린다. 익스플로잇에 성공할 경우 래디어스를 기반으로 한 시스템과 네트워크에 자유롭게 출입할 수 있게 된다. 설계 오류? 보고서에 의하면 블래스트레디어스는 ‘설계 오류’다. 처음 만들어질 때부터 보안의 관점에서는 잘못 만들어진 것이라는 뜻이 된다. 그렇다고 레디어스의 최초 개발자가 큰 실수를 저지른 건 아니다. 시대를 반영해서 생각해야 한다. 보고서에 의하면 레디어스가 처음 설계된 건 무려 1991년이라고 한다. 현대의 디지털 기술이나 네트워크 환경은 상상도 하지 못했을 시기다. 전화기 선에 모뎀을 연결한 채 접속해야 했던 인터넷, 그러므로 인터넷을 사용하면 전화비가 청구됐던 시절(그나마도 보편화 되지 않았던 때)에 나온 프로토콜이다. 당연히 ‘보안’의 개념이 지금과 천차만별이었다. “그래서 레디어스 트래픽은 거의 항상 UDP 방식으로 전달됩니다. 이를 레디어스/UDP 프로토콜이라고도 하지요. 망 접근 서버(NAS)와 래디어스 서버 사이에 발생하는 최초 연결은 거의 항상 UDP로 이뤄집니다. 그게 레디어스 프로토콜의 방식입니다. UDP는 TLS와 같이 보안이 강화된 전송 프로토콜과 다르지요. 레디어스/TLS를 사용하라고 권장들을 하지만, 아직 거의 모든 사용자(벤더 및 관리자)들은 기존부터 편리하게 써왔던 레디어스/UDP를 바꾸려 하지 않습니다.” 연구원들의 설명이다. 그 때는 설계 오류가 아니었는데, 지금에 와서는 설계 오류가 되었다는 뜻이다. 어떻게 익스플로잇 할 수 있나? 연구원들은 ‘보안성이 약한 UDP 프로토콜로 트래픽이 전송된다는 취약점’인 CVE-2024-3596을 MD5 충돌 공격(MD5 collision attack)이라는 기법으로 공략했다. MD5는 ‘메시지 다이제스트 알고리즘 5(Message Digest Algorithm 5)’라는 해시 기능으로, 레디어스와 마찬가지로 90년대 초반에 등장했다. 고정된 크기의 해시 값을 빠르고 안정적으로 생성함으로써 데이터 무결성 확인, 디지털 시그니처 비교 등에 활용할 수 있었다. 일종의 보안 도구였던 것으로, 한 때 큰 인기를 누렸었다. 하지만 기술이 발전하면서 MD5의 ‘보안 강화력’이라는 것도 점점 힘을 잃었다. 그 약화의 과정 중에 MD5 충돌 공격이라는 기법이 개발됐다. MD5 알고리즘에 있는 취약점을 통해 두 개의 서로 다른 파일에 같은 해시 값을 부여하는 것으로, 공격자는 한 해시 값으로 두 개의 파일을 추출할 수 있게 된다. 하나는 정상 파일이고 하나는 악성 파일이라면, 공격자는 정상적으로 보이는 해시 값을 이용해 악성 파일을 활성화시킬 수 있게 되는 것이다. “MD5 충돌을 유발해 레디어스 서버의 응답을 조작할 수 있고, 이를 통해 인증 과정을 무사히 통과하고 공격자 스스로 권한을 높일 수 있게 됩니다. 브루트포스 공격을 할 필요도 없고, 정상 크리덴셜을 미리 훔쳐둘 필요도 없습니다.” MD5 충돌 공격으로 레디어스의 취약점을 공략할 수 있는 건, 레디어스가 MD5라는 해싱 기술을 활용하기 때문이기도 하다. 즉 레디어스가 처음 만들어졌을 때에 강력한 보안 기술이었던 MD5를 도입한 건데, 그 보안 기술이 더 이상 강력하지 않아 생긴 문제이기도 하다는 것이다. 이 역시 일종의 설계 오류라고 할 수 있다. 그 때는 설계 오류가 아니었는데 시간이 흐르면서 설계 오류가 된 사례라고 할 수 있다. UDP 프로토콜과 MD5라는 오래된 요소들이 안 좋은 쪽으로 시너지를 일으킨 것이다. 참고로 MD5 충돌 공격이라는 개념이 처음 등장한 것은 이미 2004년의 일이었다고 한다. 하지만 그 공격을 레디어스에 접목시킬 생각을 여태까지 아무도 하지 못했던 것으로 보인다. 실제로 연구원들이 공개한 수법이나 그와 비슷한 기술을 활용해 레디어스를 공격한 사례는 아직까지 발견되지 않고 있다. 블래스트레디어스가 설계 오류이긴 하나 제로데이 취약점인 것은 아니라는 뜻이다. 이미 익스플로잇이 되고 있는 제로데이 취약점이 아니기 때문에 패치 우선순위에서 밀릴 수가 있는데, 연구원들은 “한 번이라도 공격을 허용하면 매우 큰 손해를 입을 수 있고, 파장도 커질 수 있어 우선적으로 패치해야 한다”고 주장하고 있다. 다만 이번에 개발된 취약점 익스플로잇 기법이라는 것이 최종 사용자 크리덴셜이나 실수(악성 링크 클릭이나 악성 파일 열기 등)와 관련이 없으며, 따라서 최종 사용자가 방어하기 위해 할 수 있는 일은 딱히 없다. “레디어스 프로토콜로 네트워크 장비를 만드는 벤더사들이나, 그런 장비들을 네트워크에 연결하여 운영하는 관리자들이 패치 등의 조치를 취해야 합니다.” 어떻게 방어하나? 이 오래된 문제를 해결하려면 어떻게 해야 할까? 연구원들은 “레디어스/UDP 프로토콜이 전부 폐지되어야 한다”고 강조한다. “레디어스 프로토콜은 여러 가지 형태로 구현이 되는데, 그 중 가장 널리 사용되는 게 프리레디어스(FreeRADIUS)입니다. 이 프리레디어스의 수석 메인테이너인 알란 드콕(Alan DeKok)은 이미 2023년에 레디어스/UDP가 디폴트처럼 사용되고 있고, 보안 강화의 기본적인 표준이라는 것도 존재하지 않는다고 지적한 바 있습니다. 레디어스/UDP라는 게 불안전하다고 아무리 광고해봐야 사람들이 사용 패턴을 바꿀 리 없으니, 아예 레디어스/UDP를 삭제시키는 게 낫습니다.” 다행히 레디어스/UDP를 대체할 프로토콜이 존재한다. 레디어스오버TLS(RADIUS over TLS, RADSEC)다. “레디어스오버TLS로 업그레이드 하면 훨씬 안전해집니다. 여기에 더해 레디어스를 구축할 때 멀티홉(multihop) 방식을 차용하는 것이 좋습니다. 레디어스 트래픽을 공공 인터넷으로부터 분리시켜두는 것도 안전을 위해 좋은 방법입니다.” 이 문제에 대한 상세 내용을 올린 보안 업체 잉크브리지네트웍스(InkBridge Networks)는 블로그를 통해 “최소한 전 세계 모든 레디어스 서버들을 업그레이드 해야 한다”고 주장했다. “레디어스 클라아언트만 업그레이드해서는 안 됩니다. 그렇게 해 봐야 네트워크는 여전히 취약한 채로 남아있게 될 겁니다. 서버 차원에서의 업그레이드가 반드시 진행되어야 하므로, 이는 엔드유저보다 관리자와 벤더들의 문제라고 볼 수 있습니다.” 어떤 장비에 영향이 있는가? ‘전 세계’라는 수식어가 들어갈 정도로 이 취약점에 대한 광범위하고 발빠른 대처가 촉구되는 것은 블래스트레디어스 취약점에 노출된 장비들이 너무나 많기 때문이다. 보고서에 의하면 레디어스는 “현대 원거리 통신 및 기업 망을 구성하는 핵심 요소”라고 한다. “DSL이나 FTTH 기법을 사용하는 모든 인터넷 서비스 제공업체(ISP)들은 레디어스를 사용하고 있다고 볼 수 있습니다. 802.1X와 와이파이 인증에도 레디어스가 사용된다고 보면 됩니다. 2G와 3G 로밍에도, 5G DNN 인증에도 레디어스가 존재합니다. 심카드 기반 인증 역시 레디어스를 활용합니다. 온갖 사물인터넷 장비에도, 비행기에도, 긴급 구조 서비스와 사법 기관에서도 레디어스가 사용됩니다. 사실상 우리의 주변 모든 곳에 레디어스가 있다고 해도 됩니다.” 그나마 다행인 건 실제 공격이 간단치 않다는 것이다. 잉크브리지에 의하면 “공격 한 번 성공시키려면 공격자 입장에서 많은 비용을 들여야 한다”고 설명한다. “클라우드 컴퓨팅 기술을 상당히 많이 활용해야 하므로, 클라우드 사용료가 적잖이 들어갈 것으로 예상합니다. 그렇기에 일반적인 해커들이 실제로 구현해 보기에는 부담스러울 수 있습니다. 하지만 그런 비용이라 하더라도 국가가 지원하는 APT 조직에게는 아무 것도 아닐 수 있지요. 블래스트레디어스가 실제 공격에 활용된다면, APT가 배후에 있을 가능성이 매우 높습니다.” 3줄 요약 1. 30년 된 인증 프로토콜에서 30년 된 취약점이 발견됨. 2. 취약점 익스플로잇 쉽지 않지만, 성공하면 피해자 네트워크에 몰래 잠입할 수 있음. 3. UDP 통한 트래픽 이동이 가장 큰 문제로, 벤더사들과 관리자의 발빠른 업그레이드가 필요함. [국제부 문정후 기자(globoan@boannews.com)] <저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지> |
|
|
|