Чек-лист перевірки анонімності серфінгу +37
- 26.07.15 11:51 •
- madflux •
- # 263557 •
- Хабрахабр •
- 37 •
- 32070
- такий же як Forbes, тільки краще.
Хотілося мати під рукою такий собі чек-лист, який би відповідав, «палішься» ти чи ні? На даний момент список складається з 12 методів перевірки, про які нижче і піде мова, в тому числі про те, як на них не попастися, але спочатку про найпростіший по порядку.
Заголовки HTTP proxy
HTTP_VIA, HTTP_X_FORWARDED_FOR, HTTP_FORWARDED_FOR, HTTP_X_FORWARDED, HTTP_FORWARDED, HTTP_CLIENT_IP, HTTP_FORWARDED_FOR_IP, VIA, X_FORWARDED_FOR, FORWARDED_FOR, X_FORWARDED, FORWARDED, CLIENT_IP, FORWARDED_FOR_IP, HTTP_PROXY_CONNECTION
Відкриті порти HTTP proxy
Найцікавіші порти 3128, 1080, 8123. Якщо їх не використовувати, то цілком можна уникнути необгрунтованих підозр у використанні 3proxy, SOCKS 5 або Polipo.?
Відкриті порти web proxy
Як і у випадку з HTTP, веб проксі можна повісити на будь-який порт, але ми хотіли, щоб тест працював дуже швидко, тому обмежилися зворотним коннектом на порти 80 і 8080.
Віддається веб сторінка? Відмінно! На даний момент ми вміємо визначати PHProxy, CGIProxy, Cohula і Glype.
Підозріле назву хоста
Не варто прив'язувати доменні імена до особистого VPN, а якщо і робити це, то варто уникати «говорять» імен.
Різниця в тимчасових зонах (браузера і IP)
Виходячи з даних GeoIP можна дізнатися країну по IP користувача, а отже і його тимчасову зону. Далі можна обчислити різницю в часі між браузером і часом відповідним часовій зоні VPN сервера.
Різниця є? Значить користувач напевно ховається.
При перемиканні на VPN потрібно не забувати переводити системний час, змінювати час в браузері, або працювати з російськими проксі.
Належність IP до мережі Tor
Нічого кримінального, але вже факт розкриття того, що ви ховаєтеся, не дуже тішить.
Режим браузера Turbo
Визначення web proxy (JS метод)
Порівнявши window.location.hostname з хостом запитаної сторінки, можна визначити чи використовується web proxy.
Веб проксі в принципі не надійні, тому краще обходити такі способи анонімізації зовсім.
Витік IP через Flash
Adobe Flash дуже добре працює повз призначених для користувача проксі. Ініціювавши з'єднання до нашого сервера, можна дізнатися IP користувача.
Визначення тунелю (двосторонній пінг)
Запустивши пінг до клієнтського IP, з боку нашого сервера, можна дізнатися приблизну довжину маршруту. Те ж саме можна зробити з боку браузера, XMLHTTPRequest смикає порожню сторінку нашого nginx. Отриману різницю в петлі більше 30 мс можна інтерпретувати як тунель.
Звичайно маршрути туди і назад можуть відрізнятися, або веб сервер трохи прітомозіт, але в цілому точність виходить досить хороша.
Єдиний спосіб захиститися - заборонити ICMP трафік до свого VPN сервера.
витік DNS
Дізнатися який DNS використовує користувач не проблема, ми написали свій DNS сервер, який записує всі звернення до наших унікально згенерував піддоменів.
Наступним кроком зібрали статистику на кілька мільйонів користувачів, хто і який DNS використовує. Зробили прив'язку до провайдерів, відкинули публічні DNS і отримали список пар DNS / ISP.
Тепер зовсім не складно дізнатися, якщо користувач представився абонентом однієї мережі, а використовує DNS зовсім від іншого.
Частково проблему вирішує використання публічних DNS сервісів, якщо це можна назвати рішенням.
Витік через ВКонтакте
Детальніше можна подивитися документацію тут vk.com/dev/openapi. Кнопка «Вихід» після кожної сесії в загальному то вирішує питання, але найкраща рекомендація - не входить :)
Дякую за увагу!