목차
ㄴ 토르(Tor)란 무엇인가?
ㄴ Onion Routing : 익명성의 핵심 원리
ㄴ 토르는 탈중앙화된 익명 네트워크
ㄴ 토르 네트워크의 작동 방식
ㄴ 익명 주소는 검색할수 없는데 어떻게 검색하나
ㄴ 내PC에 설치된 토르 브라우저가 .onion 서버와 어떻게 통신하나
ㄴ 토르 네트워크는 완벽한 탈중앙화인가
ㄴ 토르 브라우저 설치시 기본 통신포트 및 탐지 방식
ㄴ 토르의 한계 : 완전한 익명은 아니다
ㄴ 익명성 도구로서의 토르, 하지만 사용자는 신중해야
■ 토르(Tor)란 무엇인가?
Tor(The Onion Router)는 사용자의 인터넷 트래픽을 여러 노드를 거쳐 암호화하고 전달하는 방식으로, 익명성을 보장하는 오픈소스 네트워크입니다. 원래는 미 해군 연구소(NRL)가 개발했고, 지금은 비영리 단체인 Tor Project에서 운영하고 있습니다.
1. 주요 목적은
- 사용자의 실제 IP 주소 은닉
- 통신 경로 추적 불가
- 검열 회피
■ Onion Routing : 익명성의 핵심 원리
Tor는 **"양파 라우팅(Onion Routing)"**이라는 독특한 방식으로 데이터를 암호화합니다. 이름 그대로, 양파 껍질처럼 여러 겹의 암호화 계층을 덧씌우는 구조입니다.
1. Onion Routing 작동 방식
1) 사용자는 Tor 네트워크에 접속할 때, 3개의 노드(서버)를 무작위로 선택합니다:
- Entry Node (입구 노드)
- Middle Node (중간 노드)
- Exit Node (출구 노드)
2) 사용자 데이터는 3겹의 암호화를 입고 전송됩니다.
- Entry 노드는 사용자 IP를 알지만, 목적지는 모름.
- Middle 노드는 양쪽 IP를 모르고 단지 릴레이만 함.
- Exit 노드는 최종 목적지와 통신하지만, 사용자 IP는 모름
3) 경로를 구성할 때, 사용자의 브라우저는 각 노드에 맞는 **공개키 암호화(Public Key Encryption)**를 사용해 암호화된 데이터를 생성합니다.
4) 각 노드는 자신에게 해당하는 암호화 레이어만 벗길 수 있어, 전체 트래픽 경로를 아는 노드는 존재하지 않습니다.
■ 토르는 탈중앙화된 익명 네트워크
탈중앙화라는 용어는 토르 네트워크의 핵심적인 특징을 잘 나타냅니다. 이는 다음과 같은 측면에서 분명하게 드러납니다.
1. 분산된 구조
- 토르 네트워크는 전 세계의 자원봉사자들이 운영하는 수많은 중계 서버(릴레이 또는 노드라고 불림)로 구성됩니다. 특정 기관이나 단일 주체가 네트워크 전체를 통제하는 중앙 집중식 시스템과는 대조적입니다.
2. 단일 실패 지점 부재
- 중앙 서버가 없는 분산된 구조 덕분에, 네트워크의 특정 부분이 마비되더라도 전체 네트워크는 계속 작동할 수 있습니다. 이는 검열에 대한 저항력을 높이는 중요한 요소입니다.
3. 자율적인 운영
- 각 릴레이는 자발적으로 운영되며, 토르 프로젝트는 네트워크의 개발과 유지 관리를 지원하지만, 개별 릴레이의 운영에는 직접적으로 관여하지 않습니다.
4. 오픈 소스
- 토르 소프트웨어는 오픈 소스이므로 누구나 코드를 검토하고 개선에 참여할 수 있습니다. 이는 투명성을 높이고 특정 주체의 악의적인 통제 가능성을 낮춥니다.
■ 토르 네트워크의 작동 방식
탈중앙화라는 용어는 토르 네트워크의 핵심적인 특징을 잘 나타냅니다. 이는 다음과 같은 측면에서 분명하게 드러납니다.
1. 사용자가 토르 브라우저를 통해 인터넷에 접속하려고 하면, 사용자의 트래픽은 무작위로 선택된 여러 개의 토르 릴레이를 거치게 됩니다. 일반적으로 최소 3개의 릴레이(입구 노드, 중간 노드, 출구 노드)를 통과합니다.
2. 각 릴레이를 통과할 때마다 데이터는 여러 겹의 암호화(어니언 라우팅)를 거칩니다. 각 릴레이는 자신의 바로 이전 릴레이와 다음 릴레이의 정보만 알 수 있으며, 전체 통신 경로를 파악할 수 없습니다.
3. 마지막 릴레이인 출구 노드에서 암호화가 해제되고, 사용자의 트래픽은 최종 목적지 서버로 전송됩니다. 이때 목적지 서버는 트래픽의 출발 IP 주소를 출구 노드의 IP 주소로 인식하게 되어 사용자의 실제 IP 주소를 숨길 수 있습니다.
■ 익명 주소는 검색할수 없는데 어떻게 검색하나
.onion 주소로 운영되는 서버(숨겨진 서비스)의 주소를 찾아가는 방법은 일반적인 웹사이트와는 다릅니다. 토르 네트워크 내부에서만 접근 가능하며, 공개적으로 검색 엔진 등에 노출되지 않는 경우가 많기 때문입니다.
1. 웹사이트 자체에서 제공
- 일반적인 웹사이트 운영자가 보안이나 익명성을 강화하기 위해 .onion 주소를 함께 운영하는 경우가 있습니다. 이 경우, 해당 웹사이트의 공지나 정보 페이지에 .onion 주소가 명시되어 있을 수 있습니다. Tor Browser User Manual과 같은 공식 문서나 NordVPN 블로그에서 이와 관련된 내용을 확인할 수 있습니다.
2. 숨겨진 서비스 목록(디렉토리)
- 네트워크 내에는 .onion 주소들을 모아놓은 일종의 디렉토리나 링크 모음 사이트들이 존재합니다. 하지만 이러한 목록은 끊임없이 변하고, 신뢰성을 보장하기 어려울 수 있으며, 때로는 위험한 링크를 포함할 수도 있습니다. 몇몇 검색 엔진(예: Ahmia, Torch)도 .onion 사이트를 색인하기도 하지만, 모든 사이트를 찾을 수 있는 것은 아닙니다. SOCRadar의 Dark Web Search Engine과 같은 특화된 검색 엔진도 존재합니다.
3. 온라인 커뮤니티 및 포럼
- 특정 주제나 관심사를 가진 토르 사용자들의 커뮤니티나 포럼에서 관련 .onion 주소 정보를 공유하는 경우가 있습니다.
4. 직접적인 공유
- 익명의 정보 제공자나 특정 서비스 운영자가 직접 .onion 주소를 공유하는 경우가 있습니다.
※ 주의사항
.onion 주소는 매우 길고 무작위적인 문자열로 이루어져 있어 외우거나 추측하기 어렵습니다.
토르 네트워크는 익명성을 제공하지만, 모든 .onion 서비스가 안전하거나 합법적인 것은 아닙니다. 접근 시 주의를 기울여야 합니다.
일부 .onion 서비스는 접속을 위해 특정 인증(예: 비밀번호, 키 파일)을 요구할 수 있습니다.
■ 내PC에 설치된 토르 브라우저가 .onion 서버와 어떻게 통신하나
일반적인 IP 기반 통신과는 완전히 다른 방식으로 작동하며, 토르 네트워크의 핵심적인 익명성 유지 메커니즘을 보여줍니다. 그 통신 아키텍처와 알고리즘은 다음과 같습니다.
1. 숨겨진 서비스 디스크립터 (Hidden Service Descriptor) 생성 및 등록
1) 숨겨진 서비스를 운영하는 서버는 자신의 공개 키와 연결 정보(접속할 수 있는 토르 릴레이 주소 및 포트) 등을 담은 **디스크립터(Descriptor)**를 생성합니다.
2) 이 디스크립터는 분산 해시 테이블 (DHT, Distributed Hash Table) 형태의 특별한 토르 릴레이 그룹인 **디렉토리 서버 (Rendezvous Directory)**에 익명으로 등록됩니다. 이때 서버의 IP 주소는 노출되지 않습니다.
3) .onion 주소 자체는 이 서버의 공개 키에서 암호학적으로 파생된 짧고 기억하기 쉬운 형태입니다.
2. 클라이언트의 접속 시도
1) 사용자가 토르 브라우저에 .onion 주소를 입력하면, 클라이언트는 이 주소를 해싱하여 해당 숨겨진 서비스의 디스크립터를 찾기 위한 요청을 토르 네트워크를 통해 디렉토리 서버로 보냅니다.
2) 클라이언트의 요청 또한 여러 홉의 토르 릴레이를 거치면서 익명화됩니다.
3. 디스크립터 획득
1) 디렉토리 서버는 클라이언트가 요청한 .onion 주소에 해당하는 디스크립터를 찾아 클라이언트에게 익명으로 전달합니다.
2) 클라이언트는 이 디스크립터로부터 숨겨진 서비스에 접속하기 위한 **릴레이 정보 (Introduction Point)**를 얻게 됩니다. 이 릴레이는 숨겨진 서비스가 자신의 존재를 알리기 위해 미리 선택해 둔 토르 릴레이입니다.
4. 랑데부 포인트 설정 (Rendezvous Point Establishment)
1) 클라이언트는 디스크립터에서 얻은 릴레이 중 하나를 **랑데부 포인트 (Rendezvous Point)**로 무작위로 선택합니다.
2) 클라이언트는 랑데부 포인트를 통해 숨겨진 서비스와 안전하게 연결하기 위한 암호화된 연결 설정 정보를 담은 메시지를 생성하고, 이를 여러 홉을 거쳐 랑데부 포인트로 전달합니다. 이 메시지는 숨겨진 서비스만이 해독할 수 있도록 암호화됩니다.
5. 연결 요청 전달
1) 숨겨진 서비스 또한 디스크립터에 명시된 Introduction Point 릴레이에 주기적으로 연결되어 클라이언트의 연결 시도를 기다립니다.
2) 랑데부 포인트에 도착한 클라이언트의 연결 설정 정보는 다시 여러 홉을 거쳐 숨겨진 서비스의 Introduction Point로 전달되고, 최종적으로 숨겨진 서비스에게 전달됩니다.
5. 종단 간 연결 형성
1) 숨겨진 서비스는 전달받은 연결 설정 정보를 이용하여 랑데부 포인트로 연결을 시도합니다.
2) 랑데부 포인트는 클라이언트와 숨겨진 서비스 간의 익명화된 양방향 통신 경로를 설정하는 역할을 합니다. 이제 클라이언트와 서버는 서로의 실제 IP 주소를 알지 못한 채 안전하게 통신할 수 있습니다.
6. 핵심 알고리즘 및 아키텍처 요소
1) 분산 해시 테이블 (DHT): 숨겨진 서비스의 디스크립터를 효율적으로 찾고 관리하기 위해 사용됩니다.
2) 어니언 라우팅 (Onion Routing): 클라이언트와 서버 간의 모든 통신 경로를 익명화하고 암호화합니다.
3) 공개 키 암호화: 디스크립터 생성, 연결 설정 정보 암호화 등 다양한 단계에서 익명성과 보안성을 확보하는 데 사용됩니다.
4) 랑데부 프로토콜 (Rendezvous Protocol): 클라이언트와 서버가 서로의 IP 주소를 노출하지 않고 안전하게 연결을 설정할 수 있도록 하는 핵심 프로토콜입니다.
■ 토르 네트워크는 완벽한 탈중앙화인가
디렉토리 서버의 존재는 토르 네트워크가 완전한 의미의 탈중앙화는 아니라는 점을 시사합니다. 토르는 부분적으로 탈중앙화된 구조를 가지고 있다고 보는 것이 더 정확합니다.
1. 디렉토리 서버의 역할과 탈중앙화
1) 필수적인 초기 부트스트랩
- 토르 네트워크는 수많은 자원봉사자들의 릴레이로 구성되지만, 클라이언트가 처음 네트워크에 접속하고 어떤 릴레이가 있는지, 그들의 공개 키는 무엇인지 알 수 있는 중앙 집중적인 정보원이 필요합니다. 이 역할을 수행하는 것이 디렉토리 서버입니다.
2) 신뢰의 앵커
- 디렉토리 서버는 토르 네트워크의 무결성을 유지하는 데 중요한 역할을 합니다. 릴레이 정보를 서명하여 악의적인 릴레이가 네트워크에 위장 진입하는 것을 방지합니다. 이는 일종의 신뢰 앵커 역할을 수행합니다.
3) 탈중앙화의 한계
- 디렉토리 서버는 네트워크의 핵심 정보를 관리하고 제공하기 때문에, 이 서버들이 통제되거나 마비될 경우 토르 네트워크 전체에 영향을 미칠 수 있습니다. 이는 중앙 집중적인 요소로 작용하며, 완전한 탈중앙화라고 보기 어려운 이유입니다.
2. 디렉토리 서버 운영 주체 및 위치
1) 핵심 토르 개발팀 및 신뢰할 수 있는 기관
- 디렉토리 서버는 주로 토르 프로젝트의 핵심 개발팀과 토르 커뮤니티 내에서 오랜 기간 신뢰를 쌓아온 기관 및 개인들이 운영합니다.
2) 분산된 운영
- 단일 기관이 모든 디렉토리 서버를 운영하는 것은 아닙니다. 여러 주체가 전 세계에 분산된 위치에서 디렉토리 서버를 운영하여 단일 실패 지점을 줄이려는 노력을 기울이고 있습니다. 정확한 서버 위치는 보안상의 이유로 공개되지 않는 경우가 많습니다.
3. 디렉토리 서버 다운 시 토르 네트워크 영향
1) 신규 접속 불가
- 디렉토리 서버가 모두 다운되면, 새로운 사용자는 토르 네트워크에 처음 접속하기 위한 릴레이 목록과 공개 키를 얻을 수 없게 됩니다. 따라서 새로운 연결 설정이 불가능해집니다.
2) 기존 연결 유지
- 이미 토르 네트워크에 연결되어 회로가 설정된 사용자는 해당 회로가 유지되는 동안에는 통신을 계속할 수 있습니다. 하지만 새로운 웹사이트 접속이나 새로운 .onion 서비스 연결은 디렉토리 정보를 얻을 수 없으므로 실패하게 됩니다.
3) 네트워크 마비 가능성
- 디렉토리 서버가 장기간 다운될 경우, 기존 회로가 만료되거나 끊어지면 결국 대부분의 사용자가 토르 네트워크를 이용할 수 없게 되어 사실상 네트워크가 마비될 수 있습니다.
-> 결론적으로, 디렉토리 서버는 토르 네트워크의 초기 작동과 보안 유지에 필수적인 중앙 집중적인 요소입니다. 이 때문에 토르는 완전한 탈중앙화 시스템이라고 보기는 어렵습니다. 하지만 네트워크 운영 주체를 분산시키고, 클라이언트가 디렉토리 정보를 검증할 수 있도록 설계하여 중앙 집중화의 위험을 최소화하려는 노력을 기울이고 있습니다. 디렉토리 서버의 가용성은 토르 네트워크의 안정적인 운영에 매우 중요합니다.
■ 토르 브라우저 설치시 기본 통신포트 및 탐지 방식
1. 토르 브라우저 기본적인(Default) 통신 포트
1) SOCKS 프록시 포트 : 9050 (기본 설정). 토르 브라우저는 이 포트를 통해 로컬에서 실행되는 토르 백그라운드 프로세스와 통신하며, 익명화된 네트워크 연결을 설정합니다.
2) 제어 포트 : 9051 (기본 설정). 토르 브라우저와 토르 백그라운드 프로세스가 제어 명령을 주고받는 데 사용됩니다.
3) 기업 환경에서 토르 브라우저를 사용하는 PC를 적발하기 위한 기술은 다음과 같습니다. 이러한 기술은 네트워크 모니터링, 엔드포인트 보안, 로그 분석 등 다양한 영역에 걸쳐 적용될 수 있습니다.
2. 네트워크 기반 탐지
1) 알려진 토르 릴레이 IP 주소 및 포트 차단/모니터링
- 토르 네트워크의 입구 노드(Guard Node) IP 주소 목록은 공개되어 있습니다. 방화벽, IPS (침입 방지 시스템) 등에서 이러한 IP 주소와의 통신을 차단하거나, 통신 시도를 탐지하여 경고를 발생시킬 수 있습니다. 기본 토르 포트(9001, 9030 등)에 대한 통신 시도도 모니터링 대상이 될 수 있습니다.
2) 특정 트래픽 패턴 분석
- 토르 트래픽은 일반적인 웹 트래픽과 구별되는 특징적인 패턴을 가질 수 있습니다. DPI (Deep Packet Inspection) 솔루션을 사용하여 패킷 헤더, 페이로드 크기, 통신 빈도 등을 분석하여 토르 트래픽으로 의심되는 흐름을 탐지할 수 있습니다.
3) DNS 쿼리 분석
- 토르 브라우저 사용 시 특정 디렉토리 서버나 .onion 주소에 대한 DNS 쿼리가 발생할 수 있습니다. DNS 로그를 분석하여 이러한 특이한 쿼리를 탐지할 수 있습니다.
4) NetFlow/sFlow 분석
- 네트워크 트래픽의 흐름 정보를 분석하여 특정 내부 IP 주소에서 외부의 알려진 토르 릴레이 IP 주소로의 지속적인 연결 시도를 탐지할 수 있습니다.
2. 엔드포인트 기반 탐지
1) 프로세스 모니터링
- PC에서 tor.exe (Windows) 또는 tor (Linux/macOS) 프로세스가 실행 중인지 감시합니다. 이는 토르 백그라운드 프로세스의 실행 여부를 확인하는 가장 직접적인 방법입니다.
2) 애플리케이션 화이트/블랙리스팅
- 승인되지 않은 실행 파일(예: tor.exe, 토르 브라우저 실행 파일)의 실행을 차단하거나, 알려진 악성 소프트웨어 목록에 토르 브라우저 실행 파일을 포함하여 탐지합니다.
3) 레지스트리/구성 파일 감시
- 토르 브라우저가 사용하는 특정 레지스트리 키 (Windows) 또는 설정 파일의 생성 및 변경을 감시합니다.
4) 메모리 분석
- 의심스러운 프로세스의 메모리 내용을 분석하여 토르 관련 특징적인 패턴이나 문자열을 탐지할 수 있습니다.
5) USB/외부 저장 장치 제어
- 토르 브라우저 휴대용 버전을 USB 드라이브 등으로 실행하는 것을 방지하기 위해 외부 저장 장치 사용을 제한하거나 감사합니다.
3. 로그 분석
1) 웹 프록시 로그
- 기업 내 웹 프록시 서버를 사용하는 경우, 토르 브라우저 사용자는 프록시 설정을 우회하려고 시도할 수 있습니다. 프록시 거부 로그 등을 분석하여 비표준 포트나 직접 IP 주소로의 연결 시도를 탐지할 수 있습니다
2) 방화벽 로그
- 내부 PC에서 외부의 알려진 토르 릴레이 IP 주소나 포트로의 연결 시도 로그를 분석합니다.
3) SIEM (Security Information and Event Management) 시스템
- 다양한 보안 장비 및 시스템의 로그를 통합 분석하여 토르 브라우저 사용과 관련된 이상 징후를 상관 분석합니다.
4. 기타 기술
1) 가상 사설망 (VPN) 탐지
- 토르 브라우저 사용자는 VPN을 함께 사용하여 익명성을 더욱 강화하려고 시도할 수 있습니다. VPN 사용을 탐지하고 차단하는 기술을 활용하여 간접적으로 토르 사용을 유추할 수 있습니다.
2) SSL/TLS 검사
- HTTPS 트래픽을 복호화하여 내부적으로 분석하는 솔루션을 사용하여 토르 네트워크 관련 특징적인 연결 패턴을 탐지할 수 있지만, 이는 개인 정보 침해 논란을 야기할 수 있습니다.
■ 토르의 한계 : 완전한 익명은 아니다
Tor는 뛰어난 익명성 도구이지만, 다음과 같은 상황에서는 익명이 깨질 수 있습니다.
1. 사용자 실수
- Tor 사용 중에 일반 브라우저 실행, 실명 계정 로그인, 개인정보 입력 등
- JavaScript, 플러그인, WebRTC 등을 통한 정보 노출
2. 출구 노드의 취약성
- Exit 노드는 암호화가 해제된 트래픽을 다루기 때문에 악의적인 출구 노드가 감청할 수 있음.
- HTTPS가 아닌 사이트 접속 시 민감 정보 노출 위험
3. 글로벌 감시
- 정부나 기관이 네트워크 트래픽 타이밍 분석을 통해 유추 가능
- 실제로 NSA와 같은 기관은 Tor 사용자 추적 시도를 했다는 보고가 있음
■ 익명성 도구로서의 토르, 하지만 사용자는 신중해야
Tor는 현존하는 가장 강력한 익명 통신 도구 중 하나이며, 표현의 자유, 반검열, 프라이버시 보호를 위한 유용한 수단입니다.
하지만 “완벽한 익명성”은 존재하지 않으며, 사용자의 보안 의식과 사용 방식에 따라 그 효과는 크게 달라집니다. Tor는 도구일 뿐, 궁극적인 익명성과 보안은 사용자의 책임 아래 존재합니다.
감사합니다.
다크웹(Dark Web) 접속 방법과 위험성 분석 (3) | 2025.05.17 |
---|---|
다크웹(DarkWeb) 실체와 대응 전략 (0) | 2025.05.14 |