보안 컨설턴트의 PiotrDuszyński 씨가 최근 Tor 네트워크에도 방문자의 실제 IP주소를 확인할 수 있는 방법을 발표했다. Tor가 개인정보를 보호하도록 구축된 것임을 감안할 때, 이것은 개인에게 심각한 문제라고 할 수 있습니다. 그러나 그가 발표한 방법에는 몇 가지 전제 조건이 있습니다. 기사 제목에 'Tor'라고 썼습니다만, 이 위협은 단순히 Tor 네트워크의 사용에만 한정되는 것이 아니라, 공격자가 다단계 공격을 사용하여 부정행위를 수행할 수 있다는 간단한 예제이기도 합니다.



구체적인 환경요건

 

Tor 네트워크 채널을 통해 누군가의 IP주소를 확인하려면 다음과 같은 여러 조건이 필요합니다.

- Tor 브라우저가 아닌 표준 Web 브라우저를 사용한다
- Tor 출구 노드의 제어
- HTTP 패킷 스니핑
- HTTP 301 캐시 포이즈닝

이러한 조건을 개별적으로 검증한 후 전체를 정리하고 검증하기로 합시다.


- Tor 브라우저가 아닌 표준 Web 브라우저를 사용한다

이 취약점은 표준 Web 브라우저 (Firefox나 Chrome 등)를 사용하는 것, SOCKS5 프로토콜을 Tor 네트워크에 프록시하는 것이 전제 조건입니다. 따라서 이 취약점의 영향을 받을 수 있는 대상은, 권장되는 Tor 브라우저를 사용하지 않는 사용자입니다. Tor 브라우저 이외의 브라우저 사용을 중지해야 하는 이유에 대해 자세히 읽어 볼 것을 권장하지만, 보안, 네트워크 트래픽의 복잡성을 충분히 이해하지 않는 한 Tor 브라우저 없이 Tor 네트워크에 액세스하여서는 안됩니다. 또한, 이 네트워크의 사용에 있어서 더욱 중요한 것은 윤리적으로 행동하는 것입니다.


- Tor 출구 노드의 제어

출구 노드를 제어하면 트래픽 흐름을 제어할 수 있다


Tor 네트워크의 모든 사용자에게 큰 문제는, 공격자에 Tor 출구 노드를 제어되어 버린 경우에 발생합니다. Tor 출구 노드는 기본적으로는 Tor 네트워크와 공공 인터넷 사이의 인터페이스입니다. 인터넷의 웹사이트에 액세스하는 데 몇 가지 방법이 있습니다. 여기에서는 두 가지 방법을 예로 설명한다면, 첫 번째는 Web 브라우저를 시작하고 URL 주소를 입력하거나 도메인 이름을 알 수 없기에 Google 검색을 실행하여 표시되는 링크를 클릭하는 방식. 다른 하나는 Tor 네트워크에 액세스하는 경우, 이것은 첫 번째 방법의 변화 형태입니다.

첫 번째 방법은 가장 일반적으로 많이 사용되는 방법이며, Web 요청을 수행하여 네트워크 패킷을 대상에 전달한 후에 대상으로부터 네트워크 패킷을 보내옵니다. 이 경우 송신자 및 발신자의 식별자는 IP주소라고 하며, 이를 통해 공공 인터넷에서 사용자가 고유하게 식별됩니다. 이것은 가장 단순한 설명이며, 실제로는 다양한 작업을 수행합니다.

그런데 Tor 네트워크를 경유하면 Tor 네트워크의 릴레이 서비스를 호스팅하는 다른 서버를 경유하고 마지막 노드(출구 노드)에 도달하여 목적으로 하는 웹사이트로 연결이 완결합니다. 이 출구 노드는 사용자의 네트워크 패킷이 Tor 네트워크와 최종 목적지인 웹사이트 사이를 왕복하기 위한 인터페이스이며, 사용자에게 돌아가기 위한 입구이기도 합니다. 중간의 여러 홉을 통과함으로써 패킷에 익명성이 추가됩니다. 이 과정에서 다른 여러가지 작업의 수행이 동반합니다.

확실히 말할 수 있는 것은 악의적인 공격자가 출구 노드를 제어하고 있을 가능성이 있다는 사실은, Tor 브라우저를 사용하나 프록시하나 어느 쪽에도 바람직한 상황이 아니라는 것입니다.


- HTTP 패킷 스니핑

HTTPS 대신 HTTP

또한, HTTP 트래픽을 도청해야 합니다. 간단히 말하면, 최근 HTTPS 이외의 모든 것에 중간자공격(MiTM)에 대한 취약점이 존재하며, 이는 골치 아픈 문제입니다. HTTPS 보안을 의미하는 'S'는 상정한 수신자에게 통신하다, 그리고 당연히 통신이 해킹되지 않았음을 보증하는 것입니다. HTTPS 세계에서는 웹사이트에 액세스하는 데 디지털 인증서가 사용됩니다. 도메인 이름을 등록하고 당신이 그 소유자임을 증명하는 구체적인 단계로는, 도메인 이름을 등록하고 당신의 아이덴티티가 확인된 후 디지털 인증서를 발급해주는 회사에 도메인 이름을 제출합니다. 그리고 이 인증서를 보안 연결에 사용함으로써, 당신이 지정한 호스트 이름과 통신임을 방문자에게 보장합니다.

여기에 누군가가 당신의 네트워크 통신에 침입하여 당신의 통신을 도청하고 있다고 합시다. HTTP를 통해 요청을 보내면 요청은 공격자(MiTM)를 통과한 후 엔드 포인트에 보내집니다. HTTP를 통해 전송되는 모든 데이터는 일반 텍스트이기 때문에 패킷에 액세스 할 수 있으면 누구나 내용을 읽을 수 있습니다. 더 큰 문제로 반환된 응답을 공격자가 조작하여 공격자의 의도에 따라 편집된 내용이 표시될 수 있습니다. Web 개발자를 위한 디버깅 등의 정당한 목적으로 이 방법이 이용될 수 있습니다.


- HTTP 301 캐시 포이즈닝

HTTPS를 통해 웹사이트에 액세스하려면 기본적으로 그 도메인 이름에 액세스하고, 해당 도메인으로부터 '웹사이트 example.com에서 응답합니다'라는 내용의 디지털 인증서와 함께 응답을 반환합니다. 인증서가 붙어 있으면 인증서의 신뢰 체인이 정당한 것임을 의미하기 때문에 그 사이트는 스스로의 정당성을 증명하기 위해 장애물을 넘은 것입니다. 인증서를 사용하는 가장 큰 장점은 뭔가가 누락하고 있다는 적신호를 Web 브라우저가 가르쳐주는 것입니다. 그런 (정당한) 적신호 중 하나가 자체 서명 인증서 경고입니다. 이것은 기업의 정당성을 확인하고, 디지털 인증서를 발급하는 신뢰할 수 있는 단체인 인증 기관이 아닌 서버가 자신의 디지털 인증서를 생성하는 경우에 이러한 경고 메시지가 표시됩니다. Web 브라우저는 사이트의 인증서를 요청하고 있지만 신뢰할 수 있는 게시자가 아닌 자체 서명일 경우, 경고가 표시됩니다. HTTPS용 Web서버에서 응용프로그램을 개발하고 서비스를 호스팅 할 경우 또는 신뢰할 수 있는 친구가 그 서비스를 호스팅하는 경우는 아마 자체 서명 인증서를 사용하게 될 것입니다. 그리고 이런 경우라면 자체 서명 브라우저의 경고를 무시해도 상관없습니다.



위협을 완성시키는 조건


이 취약점을 악용하여 Tor 네트워크를 통해 HTTPS가 아닌 웹사이트에 액세스하여 동시에 공격자가 출구 노드를 제어하여 부정 HTTP 301을 송신 서버에서 사용자에게 반환되는 응답에 주입해야 합니다. 이러한 리디렉션은 캐시되므로 자신의 컴퓨터에 로컬로 저장됩니다.

사용자가 Tor 네트워크를 빠져나와 약간의 시간이 경과한 후, 이 페이지를 요청하면 해당 사용자 전용으로 만들어진, 공격자가 제어하는 ​​서버에 대한 부정 리디렉션이 발생합니다. 결과적으로 서버는 다른 정보와 함께 사용자의 IP주소를 수집할 수 있고, 그 서버를 제어하는 ​​범죄자가 그것을 사용할 수 있습니다.


결론과 대책


이 상황의 잠재적인 심각성을 결코 과소평가해서는 안됩니다. HTTP를 지금도 사용하고 있는 합법적인 사이트가 존재합니다. 이유는 알 수 없지만, 지금도 존재하는 것은 사실입니다. 여기에서 주요 대책은 HTTP를 사용하여 웹사이트에 로그인하지 않도록 하는 것입니다. 부득이하게 사용해야 할 경우에는 다른 이메일 주소와 비밀번호의 조합을 사용하는 것이 좋습니다.

Tor를 사용하면 개인정보가 보호된다고 많은 사람이 생각하지만, 대부분의 경우 그것은 사실입니다. 그러나 악의적인 누군가가 출구 노드를 제어하는 ​​요구 사항을 충족하면 Tor의 본래의 목적을 손상시킬 수 있습니다. 여기에는 Tor 프로젝트에 의한 출구 노드의 프로그래밍 및 패키징 방법이 관계합니다.

이러한 점이 문제를 야기하는 원인이 될 가능성은 충분하며 실제로는 Tor뿐만 아니라 VPN이나 ​​프록시 서비스를 호스팅하는 공격자도 아마 마찬가지입니다. 이러한 서비스에서 부정행위를 하지 않는 것, 예를 들어, 서비스가 실제로 IP주소를 기록하지 않는 것, 그 이외의 방법으로 서비스가 사용자를 추적하지 않는 것을 어떻게 확인할 수 있을까요?

그래서 대책의 마지막 수단으로 Tor 브라우저를 사용하는 것이 중요합니다. JavaScript, Cookie, 캐시 또는 실행중인 플러그인은 사이버 보안에 중요한 역할을 하지만, Tor 브라우저는 사용자의 프라이버시를 중시하는 것으로 되어 있습니다. 그리고 JavaScript를 비활성하고, Web 브라우저를 닫을 때 Cookie와 캐시를 삭제한 후 닫고, 다시 열어 이전 세션의 정적 정보가 남지 않도록 하거나 처음부터 Tor 브라우저를 사용하는 것이 대책의 핵심입니다. 한 걸음 더 나아가 운영체제 수준의 익명성을 검토하는 방법도 있고, 그 경우 Whonix와 Tails의 두 가지 선택이 있습니다.

마지막으로 말씀드리고 싶은 것은 어떤 공격이든 고려하여야 할 요소가 정말 많이 있다는 것이며, 그러한 요소의 복잡성을 모두 이해하는 것은 현실적이지 않다는 것입니다. 어떤 대책을 강구해도 발견되지 않은 (또는 발견되어 공개되지 않음) 소프트웨어의 취약점의 악용 방법이 존재할 가능성이 있으며, 예를 들어 제로데이 악성코드 및 다단계 공격이 이것에 해당합니다. 강한 의지를 가지고 공격을 가하는 사람이 있다는 사실을 고려하여 자신의 행동에 주의하고 가능한 보호대책을 최대한 활용하는 것이 중요합니다.

출처 참조 번역
Tor ネットワークでも IP アドレスを特定される可能性
https://www.watchguard.co.jp/security-news/obtaining-ip-addresses-even-from-the-tor-network.html

Tor ネットワークでも IP アドレスを特定される可能性

2019 年 6 月 5 日 Emil Hozan 著 セキュリティコンサルタントの PiotrDuszyński 氏が最近、Tor ネットワーク経由であっても訪問者の実 IP アドレスを特定できる方

www.watchguard.co.jp

 

Posted by 말총머리
,