[보안뉴스 문가용 기자] 아직 정체가 밝혀지지 않은 해커 혹은 해킹 조직이 오픈소스 레디스(Redis) 서버들에서 조용히 모네로를 채굴하고 있다는 사실이 뒤늦게 밝혀졌다. 공격자는 수년 동안이나 자신이 직접 만든 것으로 보이는 멀웨어 변종을 활용해 조금씩 돈을 벌어왔으며, 이 때문에 기존 백신 도구들로 전혀 탐지할 수 없었다고 한다.

[이미지 = utoimage]
채굴자는 2021년 9월부터 최소 1200개의 레디스 서버들을 침해해 온 것으로 분석된다. 레디스 서버는 주로 소규모 기업들이 데이터베이스로 활용하는데, 이 사건의 피해자들 역시 대다수 소규모 기업들인 것으로 나타났다. 이 캠페인을 제일 처음 발견한 보안 업체 아쿠아노틸러스(Aqua Nautilus)는 현재 이 레디스용 멀웨어에 헤드크랩(HeadCrab)이라는 이름을 붙여 추적 중에 있다.
고도의 메모리 기반 멀웨어
아쿠아노틸러스 측은 이번 주 자사 블로그를 통해 헤드크랩에 대해 설명했다. 핵심은 메모리에서 실행되는 멀웨어로, 현재까지도 인터넷에 연결된 레디스 서버들을 위협하고 있다는 것이다. 레디스 서버들은 보통 인증 장치가 활성화 되어 있지 않은 채 인터넷에 연결되어 있는 경우가 많은데, 이는 사실 레디스 서버가 인터넷에 직접 연결되어 사용되도록 만들어진 것이 아니기 때문이다. 외부와의 연결이 차단된 안전한 환경에서 사용되도록 설계된 것이 레디스다.
헤드크랩은 레디스가 어떤 식으로 작동하는지 잘 이해하고 있는 자의 손에서 만들어진 것으로 보인다고 한다. “레디스 클러스터(Redis Cluster) 내 여러 노드들에 저장된 데이터를 동기화 하거나 복제할 때 레디스가 작동하는 방식을 교묘하게 악용하도록 설계되어 있습니다. 관리자가 같은 클러스터 내에 있는 서버 하나는 마스터로, 다른 하나는 슬레이브로 지정할 수 있는데, 이 때 슬레이브로 지정된 서버들은 마스터 서버와 동기화, 마스터 서버 내 각종 모듈 다운로드 등 여러 가지 기능을 실행할 수 있게 됩니다. 레디스의 모듈들은 일종의 실행파일들로 관리자들이 레디스 서버를 효과적으로 운영하고 기능을 향상시키는 데 사용됩니다.”
아쿠아 측의 분석에 의하면 헤드크랩은 이 ‘마스터-슬레이브’ 프로세스를 익스플로잇 하는 것으로 결과적으로 모듈 대신 채굴 코드가 다운로드 되도록 일을 꾸미는 것이 공격자들의 전략이라고 한다. 이런 공격 시도 중 하나가 아쿠아시큐리티가 설치한 허니팟에 걸린 것부터 조사가 시작됐다. “저희 하니팟을 통해 발각된 공격의 경우 정상적인 레디스 명령인 SLAVEOF를 사용해 레디스 서버 하나를 슬레이브로 지정하더군요. 이 경우 슬레이브로 지정된 건 저희 하니팟이었고, 마스터는 자신들의 서버였죠. 지정이 끝나고서는 동기화가 시작됐고, 공격자들은 헤드크랩이 내포된 악성 모듈을 클라이언트로 다운로드 하기 시작했습니다.”
각종 기능들
아쿠아의 보안 연구원 아사프 에이타니(Asaf Eitani)는 “헤드크랩은 꽤나 고차원적인 멀웨어”라고 설명한다. “레디스의 모듈 프레임워크를 활용해 악성 공격을 실시한다는 것도 아무나 할 수 없는 일이죠. 게다가 헤드크랩은 레디스 API를 사용해 C&C와 통신하기도 합니다. C&C 서버는 정상적인 서버이긴 한데 공격자들에게 침해된 것으로 보입니다.”
여기에 더해 헤드크랩에는 고급 난독화 기능들도 포함되어 있다. 이 기능들은 50개가 넘으며, 전부 메모리에서만 실행된다. 다이내믹 로더를 사용해 실행 바이너리들을 실행하기 때문에 탐지가 되지도 않는다. “공격자는 레디스 서비스의 정상적인 행동 패턴까지도 조작합니다. 그래서 다른 공격자들이 같은 레디스 서버를 발견하지 못하도록 합니다. 이런 모든 기능들을 다 담고 있으니 멀웨어는 복잡하고, 꽤나 고차원적입니다.”
이렇게 복잡하고 고차원적으로 만들어진 멀웨어지만 궁극적 목적은 암호화폐를 채굴하는 것 뿐이다. “현재까지는 그렇게 보입니다. 하지만 멀웨어 내부에는 그 이상의 기능들이 감춰져 있습니다. 예를 들어 SSH 키를 훔쳐낸 후 다른 서버들로 침투하는 기능도 있고, 다른 데이터를 외부로 빼돌리는 기능도 있습니다. 파일이 없는 커널 모듈을 로딩하여 서버 커널을 완벽하게 장악하게도 합니다. 암호화폐 채굴이 아니라 다른 목적으로 사용돼도 손색이 없습니다.”
방어 방법
아쿠아 시큐리티의 또 다른 위협 분석가인 아사프 모락(Assaf Morag)는 “아직 이렇게 복잡하고 정교한 멀웨어를 누가 만들었는지 알 수 없다”고 설명한다. “하지만 헤드크랩이 발견되었다면, 네트워크 전체가 침해되었을 가능성을 가지고 조사를 시작하는 게 좋습니다. 레디스 설정 파일부터 스캔해서 인증 장치가 제대로 발동되도록 하고, slaveof 명령을 사용할 수 없도록 하는 게 긴급히 취할 수 있는 조치입니다. 무엇보다 레디스 서버를 인터넷에 노출시키지 않는 편이 안전합니다.”
현재 쇼단 검색을 통해 발견되는 레디스 서버는 4만 2천 개가 넘는다. 인터넷에 연결되지 않도록 되어 있는 본 설계를 무시한 이용 현황이 그리 좋지만은 않다는 뜻이다.
아쿠아 측은 지난 12월에도 레디스 환경에서 악성 행위를 실시하는 멀웨어인 레디고(Redigo)를 발견한 바 있다. 레디고는 고(Go) 언어로 작성된 레디스용 백도어였다. “레디스 서버는 공격자들이 종종 노리는 멀웨어가 맞다”며 “레디스 서버를 사용하는 주체들은 좀 더 레디스 보안에 신경을 써야 하는 분위기로 흘러가고 있다”고 모락은 경고한다.
3줄 요약
1. 소규모 회사들 사이에서 인기 높은 레디스, 공격자들 사이에서도 인기 높아지고 있음.
2. 최근 레디스 환경에서 모네로 채굴하는 고차원적인 멀웨어가 발견됨.
3. 레디스 노리는 공격자들의 수준 높아진다는 건 소규모 회사들에 좋지 않은 소식.
[국제부 문가용 기자(globoan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>