큰 인기도 없고 유명하지도 않은 소프트웨어 구성 요소 하나에서 취약점이 발견됐다. 하지만 이를 그대로 방치했다가 공격에 당하면 어느 날 해커들이 장비를 완전히 장악하게 된다. 적어도 보안의 관점에서 ‘사소한 요소’라는 건 존재하지 않는다

[보안뉴스 문가용 기자] 리눅스 배포판 중 하나인 그놈(GNOME)이라는 데스크톱 환경에서 새로운 취약점이 하나 발견됐다. 이 취약점을 익스플로잇 하는 데 성공할 경우 공격자들은 순식간에 피해자의 장비를 장악할 수 있게 된다고 한다.

[보안뉴스 / 10.11.] 리눅스에서 발견된 ‘원클릭’ 취약점, 보안에 사소한 것이 없음을 상기시켜

[이미지 = gettyimagesbank]

깃허브시큐리티랩(GitHub Security Lab)에서 작성한 새 블로그에 의하면 “그놈의 디폴트 애플리케이션 중 하나에서 고위험군 취약점이 발견됐다”고 한다. 이 취약점은 “10점 만점에 8.8점 정도의 위험도를 가진 것으로 분석되고 있으며, 일종의 아웃 오브 바운드 어레이 접근(out-of-bounds array access) 취약점”이라고도 설명했다. 문제의 애플리케이션의 작동 방식 때문에 공격자는 피해자의 클릭 한 번을 유도해야만 익스플로잇에 성공할 수 있다고 하며, 이 과정을 통과할 경우 임의의 코드를 그놈 OS 상에서 실행시킬 수 있게 된다.

보안 업체 큐뮬로스(Qmulos)의 규정 준수 전략 담당인 이고르 볼로비치(Igor Volovich)는 “기업들이 반드시 알아두어야 할 심각한 위협”이라고 평가한다. “보안 사고와 아무런 관련이 없는 소프트웨어 내 사소한 구성 요소 하나에서 발견된 취약점이라고 하더라도 꽤나 중대한 공격에 활용될 수 있다는 사실을 증명하는 취약점이라고 볼 수 있습니다. 이런 취약점 혹은 취약한 요소가 그놈 환경에만 있지는 않을 겁니다. 공격자가 먼저 발견하느냐, 우리가 먼저 발견해 조치를 취하느냐의 싸움이 항상 우리 곁에 존재하는 이유죠.”

디페던시 내의 취약점
문제의 취약점은 CVE-2023-43641이며, 리눅스나 그놈에서 직접 발현되는 것은 아니다. 취약점이 위치하는 정확한 위치는 libcue라는 요소이다. 일종의 라이브러리로, 사실 그리 유명하지도 않고 널리 사용되지도 않는다. 깃허브 전체를 통틀어 단 9개의 응용 버전들이 존재할 뿐이다. libcue는 큐 시트(cue sheet)를 확인하는 기능을 가지고 있다. 큐 시트는 CD나 DVD의 트랙들이 어떤 구조로 구성되어 있는지 묘사하는 데 사용되는 메타데이터 포맷이다.

이 libcue라는 덜 유명한 라이브러리를 활용하고 있는 애플리케이션의 이름은 트래커마이너즈(tracker-miners)다. 그놈에 디폴트로 설치되어 있는 것으로, 홈 디렉토리 내 파일들을 정리하는 데 사용된다. 특정 디렉토리들에 파일이 추가되거나 수정될 때 트래커마이너즈는 자동으로 업데이트 된다는 특징을 가지고 있기도 하다

깃허브 측의 연구원들은 CVE-2023-43641 취약점에 대한 익스플로잇을 연구할 때 바로 이러한 특징을 활용했다. 방문하면 큐 시트 파일 다운로드 명령이 발동되도록 하는 악성 웹 페이지를 만들었다. 파일은 다운로드 폴더에 저장이 되는데, 이 다운로드 폴더는 트래커마이너즈의 자동 업데이트를 발동시킨다. 트래커마이너즈가 자동으로 발동되는 이유는 파일을 확인하기 위해서인데, 이 때 libcue가 사용된다. libcue가 다운로드 폴더의 파일을 확인하는 순간 숨겨져 있던 명령이 실행되는데, 공격자가 어떤 명령을 넣느냐에 따라 여러 가지 결과를 낳을 수 있게 된다. 깃허브는 ‘계산기 앱을 실행시킨다’는 명령으로 귀결되는 개념증명용 익스플로잇 코드를 공개하기도 했다.

리눅스 사용자들에게 어떤 의미인가
리눅스는 기본적으로 무료로 배포되는 OS이다. 무료이지만 OS로 갖춰야 할 기능들은 대부분 가지고 있기 때문에 광범위하게 사용된다. 각종 사물인터넷 장비들이 바로 이 리눅스를 기반으로 하고 있다. 이런 점이 리눅스의 강점이자 약점이다. 리눅스의 ‘보안 문제’에 있어서도 마찬가지다.

볼로비치는 이 점을 다음과 같이 설명한다. “리눅스는 오픈소스이기 때문에 다양한 사람들이 기여를 할 수 있습니다. 많은 사람이 참여하기 때문에 개발과 향상, 혁신이 끊임없이 이뤄지죠. 하지만 마찬가지로 많은 사람이 만지고 분석하기 때문에 새로운 공격 방법들도 계속해서 발굴됩니다. 여러 사람 중 그런 공격법을 미리 터득해 제보하고 고치는 사람도 있고, 공격에 활용하는 사람도 있습니다. 그래서 어떤 취약점은 빠르게 패치되고, 어떤 취약점은 빠르게 해커들의 무기가 됩니다. 이런 양면성을 가지고 있는 게 리눅스입니다. 이런 리눅스의 매력 때문에 사용자르이 전 세계에 광범위하게 퍼져 있고, 공격자들로서는 매력적인 공격 표적이 됩니다.”

디폴트로 설치되어 있지만 아는 사람도 거의 없고 사용하는 사람은 더 없는 애플리케이션 속에 있는 인기도 없고 유명하지도 않은 디펜던시 하나가 작은 오류 하나를 가지고 있는데, 그 사소한 문제가 꽤나 심각한 사태를 야기할 수 있다는 것은 모든 리눅스 사용자와 관리자에게 경종을 울리는 소식이다. “이번 취약점이야 패치 하면 넘어갈 수 있습니다. 하지만 그래도 찝찝한 건 어쩔 수 없죠. 분명 어딘가 아무도 모르는 곳에 그런 취약점이 도사리고 있을 가능성이 있다는 생각이 드니까요. 보안이 사건 발생 후에만 등장하는 것으로서 취급된다면 우리는 이런 불안감에서 해방될 수 없습니다. 사고도 막을 수 없고요.” 볼로비치의 설명이다.

그래서 그는 “특정 취약점을 찾아 패치하는 전략을 넘어, ‘통제와 제어’의 개념으로 보안에 접근해야 한다”고 권한다. “그렇게 함으로써 공격자들이 드나들 수 있을 만한 각종 길목들을 미리 찾아 막아둘 수 있게 됩니다. 리스크를 미리 관리하는 것이죠. 소프트웨어 취약점들이 발표되는 것들을 기다렸다가 패치하는 식의 후속 조치보다 좀 더 선제적으로, 그리고 보다 종합적인 시각으로 조직 내 데이터와 망을 보호해야 합니다. 사건에 ‘대응’하는 게 아니라 사건을 미리 예측해야 한다는 말로 표현할 수도 있습니다.”

3줄 요약
1. 그놈 리눅스의 디폴트 애플리케이션에서 취약점 발견됨.
2. 취약점이 원래 위치한 곳은 애플리케이션의 사소한 디펜던시 하나.
3. 하지만 익스플로잇 당하면 장비 전체를 공격자에게 빼앗길 수도 있음.

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

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