토어
토어(Tor; The Onion Router)는 온라인상에서 익명을 보장하고 검열을 피할 수 있게 해주는 다크넷 소프트웨어 중 하나이다. 대한민국에서는 Tor에 대해 토르라고 쓰는 경우가 많은데, 원칙적으로는 토어가 맞으나 토르라고 말해도 뜻이 통한다.
목차
개요
토어는 온라인상에서 익명을 보장하고 검열을 피할 수 있게 해주는 다크넷 소프트웨어 중 하나이다. 수 천개 이상의 릴레이로 구성된 오버레이 네트워크를 통해 네트워크 감시나 인터넷 트래픽 분석을 하는 모든 것들로부터 사용자의 위치나 사용량 등을 숨긴다. 토어를 사용하면 웹 사이트 방문, 게시글을 비롯한 모든 통신 양식을 포함하여 사용자의 인터넷 활동을 추적하는 것을 막아준다. 토어의 목적은 인터넷 활동이 감시되지 않도록 함으로써 개인의 프라이버시뿐만 아니라 발언의 자유와 능력을 보호하는 것이다.
인터넷 같은 일반 네트워크가 아닌, 오버레이 네트워크를 통해 같은 웹페이지를 방문하더라도 완벽한 익명성을 보장해주는 기술이다. 문제는 바로 이 익명성에 있었는데 미국 정부는 이 익명 시스템을 자신들만 사용할 수 없었다. 미국 정부만 사용할 경우 연결이 감지될 때마다 미국 정부로 특정될 수밖에 없기 때문에 진정한 익명성을 위해서는 미국 정부뿐만 아니라 모든 사람이 이용할 수 있어야 했다. 그래서 이 기술은 오픈소스 라이선스로 공개했고 ‘The Onion Router’의 머리글자를 따 'Tor'라고 부르며 수많은 사람이 다양한 용도로 사용하고 있다.[1]
등장배경
1990년대 중반 미국 정부에 소속해있는 미국해군연구소(NRL, Naval Research Laboratory)에서 시작되었으며 토어의 핵심 원칙인 어니언 라우팅(onion routing)은 1990년대 중순 미국 해양 조사 실험연구소(NRL) 직원들, 수학자 Paul Syverson, 컴퓨터 과학자 Michael G. Reed, David Goldschlag가 개발하였다. 개발 목적은 온라인 상의 미국 정보 통신을 보호하기 위해서이다.
역사
1990년대 중반 미국 정부에 소속해있는 미국해군연구소(NRL)의 직원인 수학자 파울 시버슨(Paul Syverson), 컴퓨터 과학자 미카엘 리드(Michael G. Reed), 데이비드 골드슬라그(David Goldschlag)는 온라인 정보 보호를 목적으로 토어의 핵심 기술인‘어니언 라우팅(Onion Routing)’ 기술을 개발했다. 어니언 라우팅은 1997년 미 국방성 산하의 방위고등연구계획국(DARPA)에서 추가적인 개발을 진행하였다.
2002년 9월 20일, 개발자인 파울 시버슨과 컴퓨터 과학자인 로저 딩글다인(Roger Dingledine), 닉 메튜슨(Nick Mathewson)이 개발하였고 1년 뒤 첫 공개 릴리스했다. 2004년 8월 13일, 파울 시버슨, 로저 딩글다인, 닉 메튜슨은 제13회 USENIX 보안 심포지엄에서 "Tor: The Second-Generation Onion Router"를 발표하였다. 2004년 미국해군연구소(NRL)는 토어의 코드를 자유 라이선스로 공개했으며 전자 프런티어 재단(EFF)은 로저 딩글다인과 닉 메튜슨이 개발을 계속할 수 있도록 자금을 지원하기 시작했다.[1]
2006년 12월, 로저 딩글다인과 닉 메튜슨 외 5명이 매사추세츠에 토어를 지속해서 관리하는 것을 목표로 한 연구 교육 비영리 조직인 토어 프로젝트(Tor Project)를 설립한다. 초기 후원자로는 미국 국제 방송국(IBB), 케임브리지 대학, 구글 등이었다. 현재 토어 프로젝트 예산의 대부분(80~100%)을 미국 정부에서 지원한다.[2]
특징
토어는 웹을 안전하게 비공개로 서핑할 수 있게 해주는 도구로, 사용자의 프라이버시를 보호하기 위해 사용되는 여러 층의 암호화를 가리킨다. 토어의 기본 기능은 사용자의 인터넷 발자취를 감추어 웹검색과 다운로드를 익명화하는 것이다. 일반적인 인터넷 통신은 PC가 ISP(Internet Service Provider)를 통해 다른 PC와 연결하여 데이터를 주고받는다. 이때 데이터를 전달하는 중계자인 ISP는 국가 또는 국가에 준하는 기관이기 때문에 대부분 검열될 수 있고, 추적되고, 녹음되어 역추적이 가능하다.
토어는 다른 네트워크 위에 만들어진 가상의 네트워크인 오버레이 네트워크 기술인 Onion Routing 기술을 사용한다. 양파처럼 중첩된 통신 프로토콜 스택의 응용 계층에서 암호화된다. 목적지까지 한 번에 데이터를 전송하지 않고 다음 노드 대상 IP주소를 포함한 데이터를 여러 번 암호화하고 연속적인 무작위 선택에 의해 릴레이로 구성된 가상 회로를 통해 전달된다. 각 릴레이는 표현 계층내 암호 계층의 암호를 해독하여 다음 릴레이를 표시하며 나머지 암호화된 데이터를 그 계층에 전달한다. 최종 릴레이는 암호의 가장 안쪽 계층을 해독하여 원본 IP 주소를 공개하지 않고 원래 데이터를 목적지로 전송한다. 통신의 라우팅은 토어 회로의 모든 홉에서 은폐되었기 때문에 통신 피어가 출처와 목적지를 파악하는 네트워크 감시를 통해 특정될 수 있는 단일 지점을 알 수 없게 한다.
- 클라이언트 A에서 서버 B와 C를 거쳐 목적지 D에 가는 경우
- A는 서버 목록에서 임의로 B와 C를 선택한다.
- A는 B에게 A와 B 사이의 암호화 통신을 위한 세션 키 교환 정보와 가상 회선 연결 요청한다.
- B는 가상 회선 연결을 수락하고 A에게 세션 키 교환 정보를 전송한다.
- A와 B 사이에 전단을 얻은 세션 키는 암호화 통신으로 얻을 수 있고 이후 A와 B 사이의 통신이 암호화 통신 경로로 이뤄진다.
- A가 B가 C에 대한 가상 협력 회선 연결 요청한다.
- B는 C에게 가상 B와 C 사이의 암호화 통신을 위한 세션 키 교환 정보와 회선 연결 요청한다.
- C는 가상 회선 연결을 수락하고 B에게 세션 키 교환 정보를 전송한다.
- B는 B와 C 사이에 가상 회선 연결이 되었다고 연락한다.[3]
이후 구축된 ABC 간의 가상 회선을 통해 A는 D와 통신을 할 수 있고 통신 패킷은 마치 C가 원본처럼 D에서 보인다. A와 B 사이, B와 C 사이의 세션 키는 각각 A와 B, B와 C밖에 모르기 때문에 중계에 익명성을 얻을 수 있다.
토어의 사용은 상대적으로 쉽다. 토어 브라우저를 다운로드하고 설치하면 되는데 토어 브라우저로 크롬,파이어폭스등 우리가 사용하고 있는 어떤 브라우저든 대처할 수 있다. 토어 브라우저에서 하는 활동이 어떤 것이든 비밀로 유지되며 보안 된다.
토어는 사용자의 데이터가 네트워크에 들어가기 전 암호화된 패킷에 묶어 버린다. 그 후 토어는 특정 정보를 포함한 패킷 일부분을 제거하는데 이 정보에는 소스,크기,목적지,시간 등이 포함된다.
다음 단계로 토어는 암호화된 데이터를 많은 서버나 릴레이에 보내기 전에 묶어진 정보의 나머지 부분을 임의로 암호화한다. 이로 인해 추적이 불가능하게 되는 것이다. 각 릴레이는 해독과 재 암호를 진행해 데이터가 어디서 왔는지 그리고 어디로 가는지 정도만 알 수 있도록 정보를 남겨두기 때문에 익명성을 지켜낼 수 있었다. 토어가 사용하는 수많은 암호화 층은 확실한 익명성을 보장하기 때문에 이것이 흡사 여러 겹으로 이루어진 양파와 비슷하여 어니언이라는 이름이 붙여지게 된 것이다.
활용
토어는 강력한 익명성을 제공한다. 단순히 프라이버시 보호를 위해 사용하기도 하고 인터넷 검열국가에서 검열을 피하기 위해 사용하기도 하고 다양한 사이버상의 범죄에 이용하기도 한다.
클라이언트뿐만 아니라 서버에도 익명성을 제공할 수 있다. 토르 네트워크에 서버(Web 서버, 메일 서버, IRC 서버)를 구축하면 네트워크 경로를 알 수 없게 만들 수 있다. DNS 패치 등을 사용하여 3~4중으로 보호되는 해시 암호 .onion 형식의 도메인이 그 예시다. 일반적인 브라우저로는 접속이 불가능하나 토어 브라우저를 사용하면 접근이 가능하다. 이를 'Onion Services', '숨겨진 서비스(Hidden Services)'라고 한다. 이 서비스들은 공인 IP 주소가 필요 없기 때문에 방화벽이나 네트워크 주소 변환 뒤에 있는 호스트에서도 사용할 수 있다.[1]
순기능
- 정치적 보복으로부터 반체제 인사 보호
- 내부 고발
- 네트워크 검열 및 콘텐츠 필터링 시스템 순환 또는 제한된 방화벽 정책 우회
- 감시로부터 개인의 프라이버시 보호
- 첩보 작전 등을 포함하는 군사 활동
- 표현의 자유와 보호
역기능
- 컴퓨터 범죄(해킹, 크래킹 등)
- 파일 공유(와레즈, 포르노, 기밀 파일, 불법 또는 위조 소프트웨어 등)
- 불법 제품 구매 또는 판매(마약, 약물, 총기 등)
- 불법 또는 불법적인 재화나 용역의 구매 또는 판매(도박, 폭력, 살인청부 등)
- 범죄 활동(테러 모의 등)
- 거짓 여론 형성(가짜 뉴스, 여론 조작 등)
종류
토르의 구현은 파이썬(Python) , 자바스크립트(JavaScript) 및 기타 프로그래밍 언어와 함께 C로 작성되었다. 2016 년 3월 기준 총 540,751줄의 코드로 구성된다.
토어 브라우저
토어 브라우저 번들(TBB, Tor Browser Bundle)로 알려진 대표적인 토어 프로젝트의 제품이다. 모질라 파이어폭스, ESR 웹 브라우저, Torbutton, TorLauncher, NoScript 및 HTTPS Everywhere Firefox 확장 및 Tor 프록시로 구성된다. 윈도우, 맥OS, 리눅스에서 작동 가능하다. 자동으로 토어 백그라운드 프로세스를 실행하고 세션이 종료되면 브라우저는 HTTP 쿠기 및 개인정보 등의 민감한 데이터를 삭제한다.[1]
토어 메신저
2015년 10월 29일, 토어 프로젝트는 토어와 OTR(Off-the-Record)가 내장되어 있는 인스턴트 메시지 프로그램인 토르 메신저 베타를 출시했다. 2018년 4월 메신저 프로젝트를 중단시켰다.
타사 제품
- Vuze(구 Azureus)의 비트토렌트(BitTorrent), Bitmessage 익명 메시지 시스템, TorChat 인스턴트 메시지가 토어 시스템을 사용한다.
- 가디언 프로젝트(The Guardian Project)는 모바일 통신의 보안을 향상시키기 위해 안드로이드 OS용 무료 오픈소스 애플레케이션과 펌웨어 제품을 적극적으로 개발하고 있다. 응용 프로그램으로 ChatSercure 인스턴트 메시지 클라이언트, Orbot Tor, Orweb 개인 보안 강화 모바일 브라우저, Orfox, ProxyMob Firefox add-on, ObscuraCam이 있다.
- 보안 중심의 운영체제인 GNU/리눅스 같은 보안 중심의 운영체제는 토어 시스템을 사용한다.[1]
문제점
현재의 모든 대기 시간이 낮은 익명성 네트워크(Proxy Network)와 마찬가지로 토어는 토어 네트워크(네트워크로 들어오고 나가는 트래픽)의 경계에서 트래픽을 모니터링할 수도 없고, 방어하지도 못한다.[1]
도청
- 자율 시스템(AS) 도청 : 만약 자율 시스템(AS)이 클라이언트에서 엔트리 릴레이까지, 그리고 출구 릴레이에서 목적지까지 두 경로 세그먼트만 존재하는 경우 진입로와 출구 세그먼트의 트래픽을 알아내어 잠재적으로 클라이언트가 통신한 대상을 유추할 수 있다. 이 문제는 통신 사이 사이에 랜덤한 딜레이를 넣어주는 기능을 넣어 방지할 수 있다.
- 종료 노드 도청 : 토어 노드 간의 통신은 암호화되어 있지만, 종료 노드(출구)가 되는 토어 노드와 일반적인 TCP 통신 업체와의 사이에서는 통신이 해독된다는 점을 이용한 것으로 LAN 분석기를 탑재한 토어 노드를 설치하여 빠져나가는 통신 노드를 모니터링하면 가로챌 수 있다. 이 문제는 데이터 자체를 HTTPS나 SMTP over SSL로 별도 암호화하여 방지할 수 있다.[3]
IP 공개 프로토콜
일부 프로토콜은 IP 주소를 공개한다. 프랑스의 컴퓨터과학 및 자동화 연구소(INRIA)는 토어 출구 노드를 제어하는 공격자가 비트토렌트와 Tor dissimulation 기술을 우회할 수 있음을 증명했다.[1]
- 비트토렌트 컨트롤 메시지 검사 : 트래커(Tracker) 및 확장 프로토콜 핸드셰이킹(Handshaking)은 선택적으로 클라이언트 IP 주소를 포함할 수 있다. 수집된 데이터 분석 결과 각각 35%, 33%가 클라이언트의 주소를 포함하고 있었다.
- 하이재킹 트래커 응답 : 트래커와 피어(Peer) 간의 통신에서 암호화나 인증이 부족하기 때문에 전형적인 중간자 공격(man-in-the-middle attacks)은 공격자가 피어 IP 주소를 결정하고 콘텐츠 배포를 할 수 있게 한다.
- 분산해시테이블(DHT) 탐색 : 토어를 통한 분산해시테이블 접속이 불가능하다는 점을 악용해 공격자는 타켓이 토어를 이용해 다른 피어에 접속해도 분산 해시 테이블에서 조회해 대상의 IP 주소를 밝힐 수 있다. 이 기술을 통해 IP 주소가 드러난 사용자를 이용해 다른 스트림을 식별할 수 있다.
전망
- 전체 사용자의 94~97%는 일반적인 사용자이다. 개인의 프라이버시를 보호하고 표현의 자유와 보안 등을 이유로 사용하고 있고 .onion 도메인에 접속한 적이 한 번도 없다. 그러나 2016년 기준 토어에 개설된 5205개의 사이트 중 2723개의 사이트가 .onion 도메인을 사용 중이고 이중 1547개의 사이트가 불법적인 자료를 가지고 있다. 이 불법적인 자료란 포르노, 마약, 도박, 돈세탁, 사이버 테러리즘, 청부살인, 불법 무기 거래 등이다. 토어 사용자의 3~6%가 이러한 다크웹(dark web)을 사용 중이다.
- 실크로드(Silk Road): 마약, 해킹 코드, 개인정보 등 각종 불법 물품과 정보를 판매하는 인터넷 웹사이트이다. 2013년 7월 미국 연방수사국(FBI)은 실크로드 서버 접속에 성공했고, 10월 서버를 압수했으며, 운영자인 로스 윌리엄 울브리히트(Ross William Ulbricht)를 체포했다. 2011년 초부터 운영된 이 사이트는 총 수익이 약 12억 달러(한화 약 1조 3000억 원)로 추정되며 운영자 로스 윌리엄 울브리히트는 가석방 없는 종신형에 처한다. 대중에게 실크로드가 공개된 이후 토어 네트워크 사용량은 6배 수준으로 뛰어오르게 된다.
- 가장 많은 사용자가 있는 국가는 미국이지만, 2위는 중국과 같은 검열제도가 있는 국가다. 중국은 2009년 9월 30일 건국 60주년 기념식을 맞이하여 인터넷 검열을 강화하고, 토어를 비롯한 기술을 이용하여 황금 방패를 우회하는 사람을 적발하고, 토어 공식 사이트의 접속 차단, 토어 중계 노드에 대한 접근 차단 기능을 강화하였다. 2018년에는 중국 백신 파동 사건으로 인해 VPN 우회도 막혔으며 이에 대항하기 위하여 토어 프로젝트는 일반적인 사용자 스스로가 중계 노드가 될 수 있으니 토어의 중계 노드가 되어주는 지원자가 더 늘기를 호소했다.[3]
대안
토어는 취약점에 패치를 적용하고 보안을 강화함으로써 대응한다. 토어 프로젝트는 토어 브라우저를 올바르게 사용하는 방법에 대한 모범 사례(지침)을 제공한다. 부적절하게 사용되었을 때 토르는 안전하지 않다. 예를 들어 토어는 모든 트래픽이 보호되는 것이 아니며 토어 브라우저를 통해 라우팅된 트래픽만 보호된다고 경고한다. 사용자들은 HTTPS 버전의 웹사이트를 이용해야하며, 토렌트를 사용하지 말아야한다. 브라우저 플러그인을 사용할 수 없고 인터넷이 연결된 상태에서 토어를 통해 다운로드된 문서를 열지 말아야하며 안전한 브릿지를 사용해야한다.[1]
보안 레벨
개별 사용자 요구에 따라 토어 브라우저는 세 가지 수준의 보안 레벨을 제공한다.[1]
- 낮음(기본값): 모든 브라우저 기능 활성화하여 가장 유용한 경험과 최저 수준의 보안 제공한다.
- 보통: 일부 브라우저 기능의 비활성화.
- HTML5 비디오 및 오디오 미디어는 클릭해야 재생된다.
- HTTPS가 아닌 사이트에서는 자바스크립트가 비활성화된다.
- 자바스크립트가 활성화된 사이트는 최적화가 되지 않고 일부 사이트의 스크립트가 더 느리게 실행된다.
- 수학 방정식을 표시하는 일부 메커니즘이 비활성화된다.
- 일부 글꼴 렌더링 기능이 비활성화된다.
- 높음: 대부분의 브라우저 기능의 비활성화.
- 모든 사이트에서 자바스크립트가 비활성화된다.
- 일부 이미지, 글꼴 및 아이콘이 비활성화된다.
각주
참고 자료
- 〈토어〉, 《위키백과》
- 〈Tor(소프트웨어)〉, 《나무위키》
- 〈Tor_(anonymity_network)〉, 《wikipedia》
- LEMMiNO, 〈The Dark Side of the Web〉, 《Youtube》, 2016-07-02
같이 보기
이 문서는 로고가 필요합니다.