설치를 위해 Tor Browser 공식 다운로드 페이지에 접속 자신이 사용하는 운영체제에 맞게 다운로드

https://www.torproject.org/download/


설치 파일을 실행하여 완료하고 Tor Browser를 실행하면 이런 창이 뜨는데 Connect 연결을 누르셈

혹시 매번 Tor Browser를 실행할때마다 연결을 누르는 게 번거러우면 Always connect automatically 항상 자동 연결을 누르고 연결해주면 됨


연결이 완료된 상태 여기서 오른쪽 상단에 있는 방패 모양을 누르셈


그러면 이런 작은 창이 뜨는데 Change 변경을 누르셈


설정은 딱 이것만 하면 됨

Standard, Safer, Safest


Tor Browser는 트래픽을 암호화하여 IP를 바꾸는 것뿐만 아니라 기기 지문을 이용해 식별하고 추적하는 기법인 핑거프린팅(Fingerprinting)을 모든 사용자가 거의 똑같은 브라우저 설정을 사용해 강력히 보호하는 기능도 가지고 있음

너가 만약 Tor Browser에 특정 설정을 변경하거나 uBlock Origin같은 새로운 확장 프로그램을 설치한다면 지문을 특이하게 만들어 익명성이 손상되거나 공격 표면을 증가 시켜 만들어 보안이 손상될 수 있음

https://support.torproject.org/#faq-3


Standard는 기본 상태


Safer는

1. HTTPS 사이트가 아니면 JavaScript(자바스크립트)가 비활성화됨

2. 일부 글꼴과 수학 기호가 비활성화됨

3. HTML5 미디어와 WebGL는 클릭하여 재생해야됨


Safest는

1. 모든 사이트에서 JavaScript(자바스크립트)가 비활성화됨 보통의 사이트는 JavaScript를 사용하기 때문에 비활성화하면 사이트가 많이 깨짐

2. Safer 2번에서 일부 이미지가 추가로 비활성화됨

3. Safer와 동일


나는 일반적으로 Standard를 사용하고 사이트에서 JavaScript 비활성화가 필요하면 Safest를 사용함


JavaScript 사용하면 IP가 유출된다는 소리가 많이 퍼졌는데 이것에 대한 배경을 설명해보자면 2014년 FBI가 Playpen이라는 다크웹 아동 포르노 웹사이트의 호스팅 서버를 압수하고 2주 동안 함정 수사 목적으로 몰래 운영했음

이 과정에서 Firefox의 제로 데이 취약점(알려지지 않은 취약점)을 이용하여 Playpen 사이트를 접속하는 사람에게 JavaScript를 통해 멀웨어를 퍼트리고 멀웨어에 감염된 컴퓨터에서 특정 식별 정보를 복사하여 FBI 서버로 전송했음


이런 사건 때문에 JavaScript에 관해 오해가 생겼는데 기본적으로 JavaScript는 사이트의 구성 요소지 멀웨어를 배포하고 사용자를 해킹하기 위한 게 아님

JavaScript를 통한 해킹은 Tor Browser의 기반인 Firefox에 제로 데이 취약점이 있었기 때문이고 이런 제로 데이 취약점은 찾기 힘들 뿐만 아니라 알려지면 개발자들에 의해 바로 패치가 됨


면웹에서도 이런 방식의 공격을 FBI 같은 기관이 사용할 수 있냐고 묻는다면 글쎄

예를 들어 이렇게 찾기 힘들고 알려지면 패치되는 취약점을 특정 사용자를 검거하기 위해 멀쩡히 합법적으로 운영하는 디시같은 사이트를 압수하여 다른 일반 사람들에게까지 멀웨어를 배포할 수는 없음

거기다 이 사건이 일어난 미국에서도 멀웨어 배포하여 사용자 개인 식별 정보를 획득한 것이 수정 헌법 4조를 위반했다고 논란이 있었음


그리고 Tor Browser 사용자를 향한 이와 똑같은 공격이 또 있을지도 난 의문임

사건 이후 몇 년이 지난 지금은 이미 이 선례가 널리 퍼져 Tor Browser를 조금만 검색해도 다크웹에 접속하기 전 Safest를 사용해 JavaScript를 비활성화하라는 주의사항을 쉽게 볼 수 있기 때문에 다크웹에 접속하는 사람들은 거의 모두 Safest를 사용함


그러면 Safest를 사용하지 않아도 되는 거 아니냐고 생각할 수 있는데 

JavaScript를 비활성화하면 기기 지문을 이용해 식별하고 추적하는 기법인 핑거프린팅(Fingerprinting)을 거의 방어하고 위에 Playpen 사용자 검거에 사용된 취약점처럼 특정 공격을 어렵게 만들어 보안이 향상됨


이런 이점이 있으니 JavaScript를 비활성화해도 원활하게 작동되는 사이트가 있으면 Safest를 사용하는 걸 추천함 대부분의 onion 사이트는 JavaScript 없이 작동되게 설계돼서 Safest를 사용해도 문제없을 거임


Tor 네트워크 설정

세계 각국 자원봉사자들이 운영하는 Tor의 모든 노드는 공개되어 있어서 정부가 마음먹으면 Tor 접속을 쉽게 차단이 가능한데 Tor 설정에는 Bridges(브릿지)라는 기능이 있음 브릿지를 활성화하면 Tor를 이용하고 있다는 사실을 숨겨 Tor Browser 접속을 차단하는 국가의 검열을 우회할 수 있음 (예: 중국, 러시아)


토르 브라우저에 내장된 브릿지에는 obfs4, snowflake, meek-azure이 있음


obfs4는 Tor 트래픽을 무작위로 보이게 해줘서 검열을 우회함 중국에서는 막힐 수 있다고 함


snowflake는 P2P 프로토콜인 WebRTC를 이용해 snowflake 프락시를 거쳐 검열을 우회한다고 함 자세한 작동 방식은 이것을 보도록 하자

https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/wikis/Technical%20Overview


meek-azure는 Microsoft 웹 사이트를 이용하는 것처럼 보이게 해줘서 검열을 우회함 속도가 느리지만 가장 확실한 방법 중국이 Microsoft Azure의 모든 서버를 차단하지 않는 건 이득보다 손해가 더 크다고 판단하는 듯함


브라우저에 내장된 브릿지 외에 다른 비공개 obfs4 브릿지를 요청할 수 있는데 Request a New Bridge를 누르면 됨

obfs4를 사용하는 상황이면 이렇게 비공개 브릿지를 요청하는 것이 좋을 것 같음


보통의 경우 obfs4나 snowflake를 사용하고 이것이 막히면 meek-azure 좋을 듯


참고로 아카는 토르 접속도 막아놨음