Сеть анонимайзеров Tor (The Onion Router, луковичная маршрутизация) часто используется интернет-активистами и пользователями в странах, где процветает интернет-цензура. Власти авторитарных стран активно пытаются обнаружить и блокировать трафик Tor, поэтому данная тема — анализ и выявление пакетов Tor — представляется довольно щекотливой. Теоретически, исследователи могут предоставить полезную информацию «врагу», то есть представителям тех самых репрессивных режимов.
Но этот факт не останавливает специалистов, которые изучают новые эффективные методы обнаружения трафика Tor. Они говорят, что существенная часть такого трафика — это сканы портов, попытки взломов, передача украденных конфиденциальных данных, коммуникации ботнетов и прочие виды интернет-преступлений. Так что вполне можно понять админов, желающих от греха подальше заблокировать трафик Tor в своей сети.
Как известно, протокол Tor специально оптимизирован таким образом, чтобы выглядеть как обычный трафик HTTPS. Например, вот как tshark интерпретирует сессию Tor на порт TCP 443.
$ tshark -nr tbot_2E1814CCCF0.218EB916.pcap | head
1 0.000000 172.16.253.130 -> 86.59.21.38 TCP 62 1565 > 443 [SYN] Seq=0 Win=64240 Len=0 MSS=1460 SACK_PERM=1
2 0.126186 86.59.21.38 -> 172.16.253.130 TCP 60 443 > 1565 [SYN, ACK] Seq=0 Ack=1 Win=64240 Len=0 MSS=1460
3 0.126212 172.16.253.130 -> 86.59.21.38 TCP 54 1565 > 443 [ACK] Seq=1 Ack=1 Win=64240 Len=0
4 0.127964 172.16.253.130 -> 86.59.21.38 SSL 256 Client Hello
5 0.128304 86.59.21.38 -> 172.16.253.130 TCP 60 443 > 1565 [ACK] Seq=1 Ack=203 Win=64240 Len=0
6 0.253035 86.59.21.38 -> 172.16.253.130 TLSv1 990 Server Hello, Certificate, Server Key Exchange, Server Hello Done
7 0.259231 172.16.253.130 -> 86.59.21.38 TLSv1 252 Client Key Exchange, Change Cipher Spec, Encrypted Handshake Message
8 0.259408 86.59.21.38 -> 172.16.253.130 TCP 60 443 > 1565 [ACK] Seq=937 Ack=401 Win=64240 Len=0
9 0.379712 86.59.21.38 -> 172.16.253.130 TLSv1 113 Change Cipher Spec, Encrypted Handshake Message
10 0.380009 172.16.253.130 -> 86.59.21.38 TLSv1 251 Encrypted Handshake Message
Специалист по безопасности Эрик Хьелмвик (Erik Hjelmvik) опубликовал в своём блоге статью об использовании программы CapLoader, которая осуществляет идентификацию протокола методом статистического анализа пакетов. В случае с протоколом Tor это, наверное, самый лучший способ идентификации. CapLoader умеет различать разные виды SSL-трафика, не полагаясь на номера портов.
Для эксперимента Эрик Хьелмвик взял PCAP-дампы, которые содержат трафик одного из Tor-ботнетов.
При загрузке этих дампов в программу CapLoader мы получаем следующую картину.
Как видим, трафик Tor успешно распознаётся.