ivengo 0 Опубликовано 27 декабря, 2018 Несколько месяцев назад в Америке вышел закон, который аннулирует сетевой нейтралитет. То есть теперь провайдер на законных основаниях может собирать и анализировать информацию о деятельности пользователя в сети без получения согласия. На практике это означает, что будут собираться IP-адреса, которые с легкостью могут быть преобразованы в физическое местонахождение, историю посещения сайтов и содержимое страниц, просмотренных вне протокола HTTPS, включая информацию, отправленную через веб-формы. В фонде электронных рубежей (Electronic Frontier Foundation; EFF) полагают, что интернет-провайдеры могут пойти еще дальше и начать продавать собранную информацию третьим лицам.Сокрытие данных от провайдера с помощью NoisyДля сокрытия данных от провайдера поможет утилита Noisy, представляющая собой простой скрипт, написанный на Python. Он может генеририровать случайный HTTP/DNS-трафик в фоновом режиме, в то время когда вы посещаете сайты. Таким образом, ваша информация теряет уникальность, становится бесполезной для маркетологов и компаний, занимающихся анализом подобного рода сведений.Идеи, реализованные в скрипте Noisy, не являются чем-то новым, и были почерпнуты из инструмента Squawk, представляющего собой скрипт, встраиваемый в веб-страницы для отсылки дополнительных случайных запросов. Однако Noisy проще использовать и модифицировать.Рассмотрим пошагово, как работать с Noisy.Установка зависимостейУ вас должен быть установлен Python. Noisy совместим с версиями 2.7 и 3.6. Для проверки версии Python в вашей системе введите следующую команду:python -VВ Noisy используется модуль Requests, который можно установить при помощи следующей команды:pip install requestsКроме того, еще большую пользу от Noisy можно получить, если установить Docker, поскольку в этом случае вы сможете изолировать трафик в ограниченной среде как отдельный канал. Однако использование Docker не является обязательным.Клонирование Noisy из GitHubПосле того как Python и все нужные зависимости установлены, загружаем Noisy из репозитория при помощи команды:git clone https://github.com/1tayH/noisy.gitАльтернативный вариант: зайти в репозиторий и загрузить .zip файл. Вначале нажмите на кнопку «Clone or download» и в открывшемся контекстном меню выберите пункт «Download ZIP»: После загрузки распакуйте содержимое архива.Знакомство с конфигурационным файломТеперь нужно отредактировать конфигурационный файл. Несмотря на то, что для корректной работы Noisy изменять настройки не требуется, попутно мы сможем разобраться, как работает программа. Вначале переходим в директорию с распакованным архивом при помощи команды:cd noisyЗатем откройте файл config.json в вашем любимом текстовом редакторе. В качестве примера используем:vim config.jsonАльтернативный вариант: на рабочем столе зайти папку «Files», а затем в директорию «noisy» и открыть файл config.json в редакторе Notepad++.Информация в файле хранится в формате JSON. Noisy берет первый адрес из списка «root_urls» и ждет случайное время в диапазоне между «min_sleep» и «max_sleep» (в секундах) перед тем, как кликнуть на случайную ссылку на странице. Глубина просмотра указана в параметре «max_depth». После завершения просмотров страниц на текущем сайте, берется следующий адрес из списка и так далее.{ "max_depth": 25, "min_sleep": 3, "max_sleep": 6, "timeout": false, "root_urls": [ "http://4chan.org", "https://www.reddit.com", "https://www.yahoo.com", "http://www.cnn.com", "https://p---hub.com", "https://www.ebay.com", "https://wikipedia.org", "https://youtube.com", "https://github.com", "https://medium.com", "https://thep-----bay.org", ], "blacklisted_urls": [ "https://t.co", "t.umblr.com", "messenger.com", "itunes.apple.com", "l.facebook.com", "mediawiki", ".css", ".ico", ".xml", "intent/tweet", "twitter.com/share", "dialog/feed?", ".json", "zendesk", "clickserve", ".png" ], "user agents": [ "there are many user agents here!" ]}Как вы могли заметить, есть некоторые особенности, связанные с настройками. Во-первых, в списке «root_urls» всего 11 адресов. Во-вторых, при посещении некоторых сайтов в вышеуказанном списке могут возникнуть проблемы.При посещении сайтов содержимое не показывается на экране, но может привлечь внимание того, кто занимается мониторингом локальной сети или в случае, если просмотр этих сайтов запрещен настройками прокси-сервера. Короче говоря, отредактируйте этот список на ваше усмотрение. Чем больше будет добавлено адресов, тем более случайным будет трафик.Поскольку в файле config.json мало адресов, весь список будет пройден за не очень большое время. Как итог, потенциально может появиться опознаваемый кусок информации, который легко будет отфильтрован.Добавление сайтов в конфигурационный файлЕсли вы решите сделать свой собственный список сайтов, помните, что информация хранится в формате JSON, и каждый адрес должен быть заключен в двойные кавычки с запятой на конце. Кроме того, я всегда добавляю префикс https://, чтобы вначале попробовать зайти на сайт через протокол HTTPS. Пример:"https://website.com",Рандомизация трафикаПосле обновления файла config.json все готово для рандомизации трафика. При помощи команды cd зайдите в директорию noisy и запустите скрипт noisy.py с аргументом в виде конфигурационного файла:cd noisypython noisy.py --config config.jsonПосле запуска этой команды начнется генерация случайного трафика. Если все работает корректно, вы должны увидеть исходящий поток различных адресов как в примере ниже:INFO:root:Visiting https://azerbaijantourism.az/aboutINFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): azerbaijantourism.azINFO:root:Visiting https://azerbaijantourism.az/INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): azerbaijantourism.azINFO:root:Visiting https://azerbaijantourism.az/bookin...ests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): azerbaijantourism.azЧтобы остановить скрипт, нажмите комбинацию клавиш Ctrl+C.Другие параметры в NoisyКогда Noisy не запущен, используйте аргумент h или help для ознакомления с другими опциями, как, например, установка таймаута:python noisy.py –helpПолный перечень аргументов:noisy.py [-h] [--log -l] --config -c [--timeout -t]Опциональные аргументы:-h, —help справка-log -l уровень логирования событий-config -c файл настройки-timeout -t продолжительность работы паука в секундахЗапуск Noisy через Docker (необязательно)Как говорилось выше, можно поместить Noisy в контейнер на базе Docker при помощи следующей команды (но вначале нужно установить Docker):docker build -t noisy .Вы даже можете сделать сборку для устройства Raspberry Pi с операционной системой Raspbian, если хотите вынести рандомизатор трафика в отдельное место.docker build -f Dockerfile.pi -t noisy .После того как сборка выполнена, запуск осуществляется при помощи следующей команды:docker run -it noisy --config config.jsonУвеличение объемов случайного трафика (необязательно)Изучая конфигурационный файл, вы могли заметить, что задержка устанавливается в секундах. Сей факт означает, что наименьшая задержка может быть равна одной секунде, если настроить конфигурацию так:"min_sleep": 0,"max_sleep": 1,В некоторых случаях этой задержки может быть недостаточно, как, например, в ситуациях, когда в вашей сети много людей, и нужно генерировать большие объемы случайного трафика.Используя Docker-compose, мы можем запустить одновременно несколько контейнеров для генерации неограниченных объемов трафика. Нужно зайти в папку examples, собрать новый образ и запустить сборку на том количестве контейнеров, которое вам необходимо:cd examples/docker-composedocker-compose builddocker-compose up --scale noisy=<number-of-containers>Однако в этом случае нужно отслеживать количество генерируемого трафика, поскольку при большом количестве работающих контейнеров может замедлиться скорость интернета. Кроме того, если у вас есть ограничения по трафику, нужно очень внимательно следить за тем, сколько генерируется случайных данных.Как вы могли убедиться, Noisy – чрезвычайно простая утилита, и после некоторых настроек, вы получаете невероятно мощный инструмент, который должен стать вашим повседневным инструментом, если вы заботитесь о своей конфиденциальности. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты