인터넷에서 개인정보를 보호하는 가장 강력한 도구 중 하나가 바로 Tor입니다. 하지만 최근 몇 년간의 사례에서 보듯이, Tor의 강력함에도 불구하고 분명한 한계는 존재합니다. 이번 글에서는 Tor가 어떻게 작동하는지, 무엇을 할 수 있고 없는지, 그리고 Tor를 사용하면서도 안전하게 지내는 방법을 살펴보겠습니다.
Tor 핵심 정리: Tor란 무엇일까?
Tor의 작동 방식은 다음과 같습니다. Tor를 통해 메시지를 보내면, 그 메시지는 Tor 네트워크 전체를 무작위 경로로 돌아 전달됩니다. 이를 가능하게 하는 기술이 바로 '어니언 라우팅(onion routing)'입니다. 어니언 라우팅은 마치 여러 겹의 봉투에 메시지를 넣고 각 봉투마다 자물쇠를 채워 보내는 것과 비슷합니다.
네트워크의 각 노드는 가장 바깥쪽 봉투를 열어 다음 목적지를 확인한 뒤, 아직 봉인된(암호화된) 내부 봉투들을 다음 주소로 전달합니다.
그 결과, 어떤 단일 Tor 노드도 경로 전체 중 한 구간만 볼 수 있으며, 메시지의 이동 경로를 추적하는 것은 극도로 어려워집니다.
하지만 결국 메시지는 어딘가에 도착해야 합니다. 목적지가 'Tor 히든 서비스(hidden service)'라면 데이터는 Tor 네트워크 내부에 머무릅니다. Tor 히든 서비스란 Tor 네트워크에 직접 연결되어 있으면서 일반 인터넷(클리어넷, clearnet이라고도 함)에는 연결되지 않은 서버를 말합니다.
반면 Tor 브라우저와 Tor 네트워크를 일반 인터넷으로 가는 프록시처럼 사용한다면 상황은 조금 더 복잡해집니다. 이때 트래픽은 반드시 '출구 노드(exit node)'를 거쳐야 합니다. 출구 노드는 인터넷 트래픽을 클리어넷으로 다시 내보내는 특수한 유형의 Tor 노드입니다.
대다수의 Tor 출구 노드는 문제가 없지만, 일부는 심각한 위협이 될 수 있습니다. 인터넷 트래픽은 출구 노드의 엿보기에 취약하기 때문입니다. 물론 모든 출구 노드가 악성인 것은 결코 아닙니다. 그렇다면 문제는 얼마나 심각할까요? 악성 출구 노드를 피할 수 있을까요?
악성 Tor 출구 노드 잡아내기
스웨덴의 보안 연구자 '클로에(Chloe)'는 부패한 Tor 출구 노드들이 스스로 모습을 드러내도록 속이는 기법을 개발했습니다(원본 블로그는 현재 폐쇄됨). 이 기법은 '허니팟(honeypot, 꿀단지)'이라고 불리며, 작동 방식은 다음과 같습니다.
먼저 클로에는 합법적으로 보이는 도메인 이름과 웹 디자인을 갖춘 웹사이트를 만들어 허니팟으로 삼았습니다. 이번 실험을 위해 비트코인 판매 사이트처럼 보이는 도메인을 만들었죠. 그런 다음 당시 활동 중이던 모든 Tor 출구 노드 목록을 받아 Tor에 접속하고, 각 출구 노드를 차례로 거쳐 해당 사이트에 로그인했습니다.
결과의 정확성을 유지하기 위해, 조사 대상 출구 노드(당시 약 1,400개)마다 고유한 계정을 사용했습니다.
그리고 클로에는 한 달간 기다렸습니다. 출구 Tor 트래픽에서 로그인 자격 증명을 훔치려던 출구 노드들은 고유 로그인 정보를 확인하고 사용자 이름과 비밀번호를 가로채 사용하려 했을 것이고, 허니팟 비트코인 사이트는 그 시도를 기록했습니다.
출구 노드마다 사용자 이름과 비밀번호 조합이 고유했기 때문에, 클로에는 신속하게 여러 악성 Tor 출구 노드를 적발할 수 있었습니다.
1,400개 노드 중 16개가 로그인 자격 증명을 훔치려 시도했습니다. 많아 보이지 않지만, 단 하나라도 너무 많은 숫자입니다.
Tor 출구 노드는 위험한가?
클로에의 Tor 출구 노드 허니팟 실험은 매우 시사적이었습니다. 악성 Tor 출구 노드는 확보할 수 있는 데이터가 있다면 기회만 되면 활용한다는 사실을 보여줬습니다.
다만 이번 허니팟 연구는 비트코인을 빠르게 훔치려는 운영자만 걸러냈다는 점을 고려해야 합니다. 더 야심 찬 범죄자라면 이렇게 단순한 허니팟에는 나타나지 않을 가능성이 높습니다.
그럼에도 이 실험은 기회만 주어진다면 악성 Tor 출구 노드가 얼마나 큰 피해를 줄 수 있는지 보여주는 충격적인 사례입니다.
2007년에는 보안 연구원 단 에거스타드(Dan Egerstad)가 실험 차원에서 5개의 침해된 Tor 출구 노드를 운영한 바 있습니다. 에거스타드는 순식간에 전 세계 수천 대 서버의 로그인 정보를 손에 넣게 되었는데, 여기에는 호주, 인도, 이란, 일본, 러시아 대사관의 서버도 포함되어 있었습니다. 당연히 이들 서버에는 극도로 민감한 정보가 담겨 있었습니다.
에거스타드는 자신의 출구 노드를 통과한 트래픽의 약 95%가 표준 HTTP 프로토콜을 사용하는 암호화되지 않은 상태였으며, 덕분에 콘텐츠 전체에 접근할 수 있었다고 추산합니다.
연구 결과를 온라인에 공개한 후, 에거스타드는 스웨덴 경찰에게 압수수색을 받고 구금되었습니다. 그는 경찰관 한 명이 체포 이유가 유출을 둘러싼 국제적 압력 때문이라고 말했다고 주장합니다.
악성 Tor 출구 노드를 피하는 6가지 방법
정보가 유출된 외국 세력들은 기본적인 실수를 저질렀습니다. 바로 Tor의 작동 방식과 용도를 오해한 것입니다. 많은 사람들이 Tor를 종단 간 암호화 도구로 생각하지만, 실제로는 그렇지 않습니다. Tor는 검색과 메시지의 출발점을 익명화할 뿐, 내용까지 암호화해 주지는 않습니다.
Tor로 일반 인터넷을 탐색한다면, 출구 노드는 여러분의 검색 세션을 훔쳐볼 수 있습니다. 이는 악의적인 사람들이 스파이 행위, 절도, 협박만을 위해 출구 노드를 설치할 강력한 동기가 됩니다.
다행히 Tor를 사용하면서 개인정보와 보안을 지키기 위한 간단한 요령들이 있습니다.
1. 다크웹에 머물기
나쁜 출구 노드로부터 안전을 지키는 가장 쉬운 방법은 아예 출구 노드를 사용하지 않는 것입니다. Tor 히든 서비스만 이용하면 클리어넷으로 빠져나가지 않고도 모든 통신을 암호화된 상태로 유지할 수 있습니다. 가능하다면 좋은 방법이지만, 항상 현실적이지는 않습니다.
Tor 네트워크(흔히 '다크웹'이라 불림)는 일반 인터넷보다 수천 배 작기 때문에 원하는 것을 항상 찾을 수 있는 것은 아닙니다. 또한 소셜 미디어 사이트(Facebook처럼 Tor onion 사이트를 운영하는 곳은 제외)를 이용하려면 출구 노드를 거쳐야 합니다.
2. HTTPS 사용
Tor를 더 안전하게 만드는 또 다른 방법은 종단 간 암호화를 활용하는 것입니다. 요즘은 그 어느 때보다 많은 사이트가 오래되고 안전하지 않은 HTTP 표준 대신 HTTPS로 통신을 보호하고 있습니다. HTTPS는 지원하는 사이트에 대해 Tor에서 기본 설정으로 활성화됩니다. 참고로 .onion 사이트는 HTTPS를 표준으로 사용하지 않는데, Tor 히든 서비스를 통한 Tor 네트워크 내 통신은 그 특성상 이미 암호화되어 있기 때문입니다.
HTTPS를 사용하면 트래픽이 출구 노드를 통해 Tor 네트워크를 떠날 때에도 개인정보가 보호됩니다. HTTPS가 인터넷 트래픽을 어떻게 보호하는지 더 알고 싶다면, 전자프론티어재단(EFF)의 'Tor와 HTTPS' 인터랙티브 가이드를 확인해 보세요.
어떤 경우든 Tor 브라우저로 일반 인터넷 사이트에 접속할 때는 민감한 정보를 전송하기 전에 HTTPS 표시가 초록색으로 켜져 있는지 반드시 확인하세요.
3. 익명 서비스 이용
Tor 안전성을 높이는 세 번째 방법은 사용자의 활동을 기본적으로 기록하지 않는 웹사이트와 서비스를 이용하는 것입니다. 요즘 같은 시대에 쉽게 실천하기는 어렵지만, 몇 가지 작은 조정만으로도 큰 효과를 볼 수 있습니다.
예를 들어 구글 검색 대신 DuckDuckGo로 바꾸면 추적 가능한 데이터 흔적이 줄어듭니다. Ricochet처럼 Tor 네트워크를 통해 라우팅할 수 있는 암호화 메신저로 옮기는 것도 익명성을 높이는 데 도움이 됩니다.
4. 개인정보 사용 자제
익명성을 높이는 도구를 활용하는 것과 더불어, Tor에서 개인정보를 전송하거나 사용하는 일 자체를 삼가야 합니다. Tor로 리서치를 하는 것은 괜찮습니다. 하지만 포럼에 글을 올리거나 다른 Tor 히든 서비스와 상호작용할 때는 신원을 특정할 수 있는 어떤 정보도 사용하지 마세요.
5. 로그인, 구독, 결제 피하기
로그인이 필요한 사이트와 서비스는 피하는 것이 좋습니다. 악성 Tor 출구 노드를 통해 로그인 자격 증명을 보내면 심각한 결과로 이어질 수 있다는 뜻입니다. 클로에의 허니팟이 바로 좋은 예입니다.
또한 Tor로 서비스에 로그인하면 식별 가능한 계정 정보를 사용하게 될 가능성이 높습니다. 예컨대 평소 쓰던 Reddit 계정으로 Tor를 통해 로그인한다면, 그 계정에 이미 신원 관련 정보가 묶여 있는지 생각해 봐야 합니다.
마찬가지로 Facebook onion 사이트는 보안과 개인정보 보호에 도움이 되지만, 평소 계정으로 로그인해 게시물을 올리면 그 게시물은 숨겨지지 않으며 누구나 추적할 수 있습니다(다만 발신 위치는 알 수 없습니다).
Tor는 마법이 아닙니다. 계정에 로그인하면 흔적이 남습니다.
6. VPN 사용
마지막으로 VPN을 활용하세요. 가상사설망(VPN)은 데이터가 Tor 네트워크를 떠난 후에도 암호화를 유지해 악성 출구 노드로부터 여러분을 보호합니다. 데이터가 계속 암호화되어 있다면, 악성 출구 노드는 이를 가로채 신원을 파악할 기회조차 얻지 못합니다.
VPN을 선택할 때는 로그를 기록하지 않는다는 명확한 정책을 갖추고, 독립적인 감사를 거친 평판 좋은 업체를 고르는 것이 중요합니다. ExpressVPN, CyberGhost 등 오랜 기간 신뢰를 쌓아온 서비스부터 비교 검토해 보세요.
Tor를 안전하게 사용하기
Tor, 그리고 확장해서 다크웹은 반드시 위험한 곳일 필요가 없습니다. 이 글의 안전 수칙을 따르면 노출될 위험은 크게 줄어듭니다. 기억해야 할 핵심은 '천천히, 신중하게' 움직이는 것입니다.