Tor 출구 노드 333개 해킹·제거 경위
원제: How I got over 300 Tor exit nodes removed
왜 중요한가
전체 Tor 출구 릴레이의 10%를 장악한 대규모 공급망 침해로, 익명 네트워크 인프라의 구조적 보안 취약성을 실증한 사례다.
2026년 10월 2일 오전 9시 35분, 333개의 감염된 Tor 출구 노드가 SSH 연결을 가로채는 공격을 동시에 시작했다. 전체 Tor 출구 릴레이 약 3,000개 중 10%에 해당하는 규모로, 공격자는 2개월 전인 8월에 서버에 침투해 OpenSSH 백도어인 Ebury 1.8.3을 설치했다.
공격은 크게 두 갈래였다. 특정 포트를 차단해 비암호화 메일 트래픽만 처리하도록 유도하는 것과, SSH 연결을 가로채는 중간자(MITM) 공격이다. 감염된 출구 노드를 경유해 Port 22로 SSH 접속을 시도하면, 사용자 모르게 12개의 SSH 인터셉션 서버 중 하나로 리다이렉트된다. 피해자가 SSH 경고를 무시하고 로그인을 진행하면 공격자는 비밀번호를 탈취하고, 실제 서버에 두 개의 연결을 열어 명령어를 실시간으로 감시하는 동시에 Ebury를 추가 배포한다.
보안 연구자 KABA는 10월 2일 금요일 저녁 Tor Project 네트워크 건강팀에 분석 결과를 제보했다. 팀은 "이런 유형의 공격은 처음 본다"고 밝히며 즉시 대응에 나섰다. 10월 4일 일요일, 팀은 릴레이 운영자들에게 공지를 보내 노드 종료를 요청하고 해당 릴레이에 'BadExit' 플래그를 붙여 트래픽 경유를 차단했다. 이틀 뒤인 5일 월요일, 공격자들이 릴레이 다수를 재시작했지만 이미 플래그가 지정된 상태라 중간 릴레이로만 작동할 수 있었고, 이후 운영자와 공격자 양측에 의해 모든 감염 서버가 종료됐다.
네트워크 건강팀은 공지에서 "공격자가 Linux 호스트에 접근한 뒤 비출구 릴레이의 torrc 파일을 수정해 출구 릴레이로 전환시켰다"고 설명했다. metrics.torproject.org에서는 10월 4일 출구 대역폭이 눈에 띄게 감소하는 그래프가 확인된다.
기술적 탐지 방법: KABA는 exitmap 도구를 활용해 출구 노드를 하나씩 고정한 뒤, 서버 A에서 서버 B로 SSH 연결을 맺는 스크립트를 작성했다. 서버 A는 올바른 SSH 핑거프린트가 반환되는지 확인하고, 서버 B는 연결이 지정된 출구 노드에서 왔는지 아니면 12개의 인터셉션 서버 중 하나에서 왔는지 검증하는 방식으로 전체 출구 노드를 스캔했다.