약 1.4만대 라우터, 차단 불가 악성코드 감염
보안업체 루멘(Lumen)의 블랙 로터스 연구팀이 주로 ASUS 라우터 등 약 1.4만 대의 네트워크 기기로 구성된 봇넷을 발견했습니다. 'KadNap'으로 명명된 이 악성코드는 분산 해시 테이블(DHT)을 활용한 P2P 구조를 채택해 기존 방식의 서버 차단 및 탐지를 무력화하는 것이 특징입니다. 감염된 기기는 사이버 범죄에 악용되는 익명 프록시 네트워크로 전락하며, 보안 패치가 되지 않은 취약점을 통해 확산되고 있어 사용자들의 즉각적인 조치가 필요합니다.
보안 업체 루멘(Lumen)의 블랙 로터스 랩스(Black Lotus Labs) 연구원 크리스 포모사(Chris Formosa)는 Ars에 전한 말에서, 연구진이 사이버 범죄에 사용되는 트래픽을 익명으로 우회시키는 프록시 네트워크로 강제 편입된 14,000대의 라우터 및 기타 네트워크 기기(주로 ASUS 제조)로 구성된 '차단이 불가능한(takedown-resistant)' 봇넷을 발견했다고 밝혔다. 'KadNap'이라 불리는 이 악성코드는 소유자들이 패치하지 않은 취약점을 악용하여 기기를 장악한다고 포모사는 설명했다. ASUS 라우터의 비율이 높은 것은 봇넷 운영자들이 해당 모델에 영향을 미치는 취약점에 대한 신뢰할 수 있는 익스플로잇(exploit)을 확보했기 때문일 가능성이 높다. 그는 공격자들이 이 작업에 제로데이(zero-day) 취약점을 사용하고 있을 가능성은 낮다고 덧붙였다.
다른 봇넷 사이에서도 돋보이는 특징을 가진 이 봇넷의 감염된 라우터 수는 하루 평균 약 14,000대로, 블랙 로터스가 이 봇넷을 처음 발견했던 작년 8월의 10,000대에서 증가했다. 감염된 기기는 압도적으로 미국에 위치해 있으며, 대만, 홍콩, 러시아에도 소규모로 분포하고 있다.
KadNap의 가장 두드러진 특징 중 하나는 명령 제어(C2) 서버의 IP 주소를 숨기기 위해 분산 해시 테이블(Distributed Hash Tables, DHT)을 사용하는 네트워크 구조인 Kademlia에 기반한 정교한 P2P(피어 투 피어) 설계이다. 이러한 설계 덕분에 해당 봇넷은 전통적인 방법을 통한 탐지 및 차단에 강력한 저항성을 갖는다.
포모사와 동료 블랙 로터스 연구원 스티브 루드(Steve Rudd)는 수요일에 발표한 글에서 “KadNap 봇넷은 분산 제어를 위해 P2P 네트워크를 사용한다는 점에서 익명 프록시를 지원하는 다른 봇넷들 사이에서도 돋보인다”며 “이들의 의도는 명확합니다. 탐지를 피하고 방어자들이 이를 막기 어렵게 만드는 것입니다”라고 말했다.
분산 해시 테이블(DHT)은 강력한 P2P 네트워크를 구축하는 데 오랫동안 사용되어 왔으며, 가장 대표적인 예로 비트토렌트(BitTorrent)와 IPFS(Inter-Planetary File System)가 있다. 하나 이상의 중앙 집중식 서버가 노드를 직접 제어하고 다른 노드의 IP 주소를 제공하는 방식 대신, DHT를 사용하면 모든 노드가 자신이 찾는 기기나 서버를 다른 노드에 조회할 수 있다. 이러한 분산 구조와 IP 주소를 해시(hash)로 대체하는 방식은 네트워크가 차단이나 서비스 거부(DoS) 공격에 대한 복원력을 갖게 한다.
DHT의 개념은 이해하기 다소 어려울 수 있다. 간단히 말해, DHT는 여러 네트워크 피어에 분산 저장되는 데이터 구조를 의미한다. 이 설계는 네트워크를 확장 가능하게 만든다. 네트워크 노드가 많을수록 요소의 분배가 더욱 원활해진다. 또한 DHT는 네트워크에 결함 허용(fault-tolerant) 기능을 제공한다. 한 노드가 네트워크를 떠나더라도 다른 노드들이 이를 인지하고 다른 곳에서 위치를 조회할 수 있기 때문이다. 이론적으로 이 네트워크를 마비시키는 유일한 방법은 연결된 모든 노드의 연결을 끊어버리는 것뿐이다.
Kademlia는 (1) 데이터 청크를 해싱하여 파생된 고유 비트 스트링인 '키(key)'와 (2) 각 노드에 할당되는 '노드 ID'를 지정하기 위해 160비트 공간을 사용한다. 이후 노드들은 다른 노드의 키를 저장하게 된다. 저장된 키는 이를 저장하는 노드의 ID와의 유사성을 기준으로 구성된다. 여기서 '근접성'은 네트워크를 매핑하는 수학적 방법인 'XOR 거리(distance)'로 측정된다. 한 노드가 다른 노드를 조회할 때, 이 지표를 사용하여 최종적으로 일치하는 항목을 찾을 때까지 자신이 찾고 있는 키와 거리가 가장 가까운 다른 노드들을 찾아낸다.
Kademlia의 변종인 KadNap은 비트토렌트 노드를 통해 검색할 키를 획득한다. 포모사는 이 과정을 다음과 같이 비유하여 설명했다:
"DHT는 목표에 점점 더 가까이 다가가도록 도와줍니다. 우선 몇 개의 초기 비트토렌트 노드에 접속하여 '안녕, 나에게 이 비밀 암호가 있어. 이걸 누구에게 전달해야 할지 찾고 있어'라고 말하는 식입니다. 그러면 근처의 몇 '이웃'들에게 이 암호를 전달하고, 그들은 '아, 알겠어. 이 암호가 정확히 무슨 뜻인지는 모르겠지만 좀 낯익은데, 이것이 무엇을 의미하는지 알 것 같은 사람들이 여기 있어'라고 알려줍니다. 이제 당신은 그 이웃들에게 가고 이 과정이 계속 반복됩니다. 결국 누군가에게 도달하면 그들은 '그래! 바로 내 암호야. 환영해'라고 말할 것입니다. 우리 사례의 경우, 이 사람에게 도달하면 그는 '여기 방화벽 22번 포트를 위한 파일이 있고, 여기 당신이 연결하고자 하는 C2(명령 제어 서버) 주소가 담긴 두 번째 파일이 있어'라고 말할 것입니다."