• XSS.stack #1 – первый литературный журнал от юзеров форума

Генерирование случайного трафика для сокрытия персональных данных от интернет-провайдера

weaver

31 c0 bb ea 1b e6 77 66 b8 88 13 50 ff d3
Забанен
Регистрация
19.12.2018
Сообщения
3 301
Решения
11
Реакции
4 622
Депозит
0.0001
Пожалуйста, обратите внимание, что пользователь заблокирован
Автор: Hoid

Никакого сетевого нейтралитета не существует, и ваш интернет-провайдер может собирать любую информацию, какую захочет. Частично конфиденциальность можно защитить при помощи VPN, но этот метод не является совершенным. Альтернативный вариант: утилита Noisy, разработанная Итаем Хари, которая позволяет закидать вашего провайдера случайными HTTP/DNS-запросами так, что даже если информация будет перехвачена, то не будет представлять особой ценности.

Если за последний год вы не вылезали из своей берлоги и не знакомы с понятием сетевого нейтралитета, попробую ввести вас быстро в курс дела.

Недавно в США вышел закон, который аннулирует сетевой нейтралитет. То есть теперь провайдер на законных основаниях может собирать информацию о вашей деятельности в интернете без вашего ведома и согласия. На практике сей факт означает, что будут собираться IP-адреса, которые легко могут быть преобразованы в физическое местонахождение, история посещения сайтов и содержимое страниц, просмотренных вне протокола HTTPS, включая информацию, отправленную через веб-формы. В фонде электронных рубежей (Electronic Frontier Foundation; EFF) полагают, что провайдеры могут пойти еще дальше и начать продавать собранные сведения на сторону.

Для защиты от этого произвола нам поможет утилита Noisy, представляющая собой простой скрипт, написанный на Python, который генерирует случайный HTTP/DNS-трафик в фоновом режиме, пока вы просматриваете сайты. Таким образом, ваша информация теряет уникальность становится бесполезной для маркетологов и компаний, занимающихся анализом подобного рода сведений.

Идеи, реализованные в Noisy, не являются чем-то новым, и были подчерпнуты из Squawk, представляющим собой скрипт, внедряемый на веб-страницах для отсылки дополнительных случайных запросов. Однако Noisy проще использовать и модифицировать.

Рассмотрим пошагово, как настроить и запустить этот инструмент.


Шаг 1: Установка зависимостей

У вас должен быть установлен Python. В Kali Linux все необходимое уже есть по умолчанию. Noisy совместим с версиями 2.7 и 3.6. Для проверки версии Python в вашей системе введите следующую команду:

Код:
python -V

В Noisy используется модуль Requests, который можно установить при помощи следующей команды:

Код:
pip install requests

Кроме того, еще большую пользу от Noisy можно получить, если установить Docker, поскольку в этом случае вы сможете изолировать трафик в ограниченной среде как отдельный канал. Однако использование Docker не является обязательным.

Шаг 2: Клонирование Noisy из GitHub

После того как Python и все нужные зависимости установлены, загружаем Noisy из репозитория при помощи команды git:

Код:
git clone https://github.com/1tayH/noisy.git

Альтернативный вариант: зайти в репозиторий и загрузить .zip файл. Вначале нажмите на кнопку «Clone or download» и в открывшемся контекстном меню выберите пункт «Download ZIP». После загрузки распакуйте содержимое архива.

4065


Рисунок 1: Загрузка архива из репозитория

Шаг 3: Знакомство с конфигурационным файлом

Теперь нужно отредактировать конфигурационный файл. Несмотря на то, что для корректной работы Noisy изменять настройки не требуется, попутно мы сможем разобраться, как работает программа. Вначале переходим в директорию с распакованным архивом при помощи команды cd:

Код:
cd noisy

Затем откройте файл config.json в вашем любимом текстовом редакторе. В качестве примера используем Vim:

Код:
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",
        "bit.ly",
        "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 мало адресов, весь список будет пройден за не очень большое время. Как итог, потенциально может появиться опознаваемый кусок информации, который легко будет отфильтрован.

Шаг 4: Добавление сайтов в конфигурационный файл

Чтобы избежать вышеупомянутой проблемы, я создал альтернативный конфигурационный файл. Я решил, что миллиона адресов будет вполне достаточно, загрузил первый миллион сайтов из рейтинга Alexa и прогнал этот список более пяти раз через простейший скрипт-рандомизатор, написанный на Python. Полученный перечень был скопирован в файл config.json. Теперь трафик, генерируемый утилитой Noisy, будет более случайным.

Мой конфигурационный файл размером более 25 Мб можно загрузить, если зайти на GitHub-страницуи либо кликнуть правой кнопкой мыши на кнопку «Download» и в контекстном меню выбрать «Save Link As», либо нажать на кнопку «Download», после чего содержимое файла загрузится в браузере, и вы сможете сохранить страницу. После загрузки не забудьте заменить оригинальный конфигурационный файл в папке «noisy».

Если вы решите сделать свой собственный список сайтов, помните, что информация хранится в формате JSON, и каждый адрес должен быть заключен в двойные кавычки с запятой на конце. Кроме того, я всегда добавляю префикс https://, чтобы вначале попробовать зайти на сайт через протокол HTTPS.

Пример:
Код:
"https://website.com",

Шаг 5: Рандомизация трафика

После обновления файла config.json все готово для рандомизации трафика. При помощи команды cd зайдите в директорию noisy и запустите скрипт noisy.py с аргументом в виде конфигурационного файла:

Код:
cd noisy
python noisy.py --config config.json

После запуска этой команды начнется генерация случайного трафика. Если все работает корректно, вы должны увидеть исходящий поток различных адресов как в примере ниже:

Код:
INFO:root:Visiting https://azerbaijantourism.az/about
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): azerbaijantourism.az
INFO:root:Visiting https://azerbaijantourism.az/
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): azerbaijantourism.az
INFO:root:Visiting https://azerbaijantourism.az/booking-conditions
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): azerbaijantourism.az


Чтобы остановить скрипт, нажмите комбинацию клавиш Ctrl-C.

Шаг 6: Другие параметры в Noisy

Когда Noisy не запущен, используйте аргумент h или help для ознакомления с другими опциями, как, например, установка таймаута.

Код:
pythonnoisy.py–help

Полный перечень аргументов:

Код:
noisy.py [-h] [--log -l] --config -c [--timeout -t]

опциональные аргументы:
  -h, --help    справка
  --log -l      уровень журналирования событий
  --config -c   конфигурационный файл
  --timeout -t  продолжительность работы паука в секундах

Шаг 7: Запуск 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

Шаг 8: Увеличение объемов случайного трафика (необязательно)

Изучая конфигурационный файл, вы могли заметить, что задержка устанавливается в секундах. Сей факт означает, что наименьшая задержка может быть равна одной секунде, если настроить конфигурацию так:

Код:
"min_sleep": 0,
"max_sleep": 1,


В некоторых случаях этой задержки может быть недостаточно, как, например, в ситуациях, когда в вашей сети много людей, и нужно генерировать большие объемы случайного трафика.

Используя Docker-compose, мы можем запустить одновременно несколько контейнеров для генерации неограниченных объемов трафика. Нужно зайти в папку examples, собрать новый образ и запустить сборку на том количестве контейнеров, которое вам необходимо:

Код:
cd examples/docker-compose
docker-compose build
docker-compose up --scale noisy=<number-of-containers>


Однако в этом случае нужно отслеживать количество генерируемого трафика, поскольку при большом количестве работающих контейнеров может замедлиться скорость интернета. Кроме того, если у вас есть ограничения по трафику, нужно очень внимательно следить за тем, сколько генерируется случайных данных.

Как вы могли убедиться, Noisy – чрезвычайно простая утилита, и после некоторых настроек, вы получаете невероятно мощный инструмент, который должен стать вашим повседневным инструментом, если вы заботитесь о своей конфиденциальности.

Спасибо за внимание. Вы всегда можете связаться со мной через твиттер @The_Hoid.
 
Есть еще такой скрипт (перед запуском код проверьте сами), в заданный диапазон времени посещает указанные страницы. К использованию рекомендуется вкупе с раздачей торрентов.


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title id="ptitle">Random Traffic Generator</title>
<link rel="copyright" href="//creativecommons.org/publicdomain/zero/1.0/" />
<link rel="license" href="//creativecommons.org/publicdomain/zero/1.0/" />
<!--
English:
Here is no copyright - CC0 1.0 Universal (CC0 1.0) Public Domain Dedication


The person who associated a work with this deed has dedicated the work to the public domain by waiving all of his or her rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law.

You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.

Russian:
Нет авторских прав на содержимое данного файла.

Открытая лицанзия CC0 1.0 Универсальная (CC0 1.0) - Передача в общественное достояние

Лицо, которое связало произведение с этим Кратким описанием (Commons Deed), передало произведение в общественное достояние путём отказа от всех своих прав на произведение по всему миру в рамках законодательства об авторских правах, включая все связанные и смежные права, которые он или она имеют по отношению к данному произведению, в той степени, в которой это допускается законом.

Вы можете копировать, изменять, распространять и исполнять данное произведение, даже в коммерческих целях, всё не спрашивая разрешения.

-->

<style>
<!--
h1 {
font-family: Arial, Helvetica, sans-serif;
font-size: 2em;
font-weight: bold;
text-align: center;
}
p {text-align: justify; }
-->
</style>
</head>
<body>
<noscript>
<p>Your browser desn't support JavaScript or JavaScript is turned off. Please enable JavaScript, this is neccessary for correct work of random traffic generator.</p>
<p>Ваш браузер не поддерживает JavaScript или поддержка JavaScript отключена. Пожалуйста, включите поддержку JavaScript - она требуется дла работы генератора случайного трафика</p>
</noscript>
Language / язык:
<select id='langselect' onChange="onChg(this);" disabled="disabled">
<option value="en" selected="selected" id="engopt">english</option>
<option value="ru">русский</option>
</select>
<h1 id="hh1">The Random Traffic Generator</h1>
<p id="pupdown">For better protection from timing-attack it's recomended to start downloading of large file (i.e. <a href="http://cdimage.debian.org/debian-cd/8.1.0/i386/iso-dvd/debian-8.1.0-i386-DVD-2.iso" target="_blank">debian-8.1.0-i386-DVD-2.iso</a>&nbsp;4.3&nbsp;GB), uploading of another one (on <a href="https://letitbit.net/?lang=en" target="_blank">letitbit.net</a> for example) and start this Random Traffic Generator to work all of it simultaneously; you can cancel loading of delete files after.</p>
<p id="rti">Random time interval between requests will be:</p>

<form id="form">
<span id="s1">from</span> <input type="number" value="3" min="0" name="min" id="min" onChange="onChg(this);" disabled="disabled" /> <span id="s2">to</span> <input type="number" value="10" min="0" name="max" id="max" onChange="onChg(this);" disabled="disabled" /> <span id="s3">seconds</span>.<br />
<span id="s4">URLs for random HTTP-requests:</span><br />
<textarea id="urlarea" cols="80" rows="10" disabled="disabled">https://www.bing.com/search?q=$R
https://en.wikipedia.org/wiki/Special:Random</textarea>
<br />
<b>$R</b> <span id="s5">will be replaced with a random number between</span> <input type="number" value="77" name="rndmin" id="rndmin" onChange="onChg(this);" disabled="disabled" /> <span id="s6">and</span> <input type="number" value="7777" name="rndmax" id="rndmax" onChange="onChg(this);" disabled="disabled" />
<br />
<span id="s7">Number or frames for streams (HTTP-connections):</span> <input type="number" value="3" min="1" name="nstreams" id="nstreams" onChange="onChg(this);" disabled="disabled" /><input type="checkbox" name="visframes" id="visframes" value="off" onChange="onChg(this)" disabled="disabled" /><label for="visframes" id="lbl">visible frames</label>
<br />
<input type="checkbox" name="outpost" id="outpost" checked="checked" value="on" onChange="onChg(this)" disabled="disabled" /><label for="outpost" id="lbl2">Add random length HTTP-header to each request to obsfucate outgoing traffic</label>
<br />
<span id="s8">Length of this header will be from</span> <input type="number" value="18" min="18" name="minouts" id="minouts" onChange="onChg(this);" disabled="disabled" /> <span id="s9">to</span> <input type="number" value="1800" min="18" name="maxouts" id="maxouts" onChange="onChg(this);" disabled="disabled" /> <span id="s10">bytes</span>
<br />
<input type="checkbox" name="jsiframe" id="jsiframe" checked="checked" value="on" onChange="onChg(this)" disabled="disabled" /><label for="jsiframe" id="lbl3">Enable JavaScript in frames (required if add HTTP-header selected)</label>
<br />

<input type="button" value="Start" onClick="startit();" style="background: green; color: yellow;" id="startbutt" disabled="disabled" />
<input type="button" value="Stop" onClick="stopit();" style="background: red; color: yellow;" id="stopbutt" disabled="disabled" />
<input type="button" value="Reload" onClick="reload_page();" id="reloadbutt" disabled="disabled" />
</form>
<br />
<br />
<div id="foriframes"></div>
<p id="copyleft" style="font-size: 0.9em;"><span style="text-decoration: line-through; color: green;">&copy;</span> <a href="https://creativecommons.org/publicdomain/zero/1.0/" target="_blank">CC0 1.0 Universal (CC0 1.0) Public Domain Dedication</a>. The person who associated a work with this deed has dedicated the work to the public domain by waiving all of his or her rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.</p>
<script>
<!--
var rqrmin, rqrmax, minint, maxint, reqon, streams, timerout, minouts, maxouts, outpost, visstr, hs, sboxstr;
var timers=[], urls=[], treqs=[];

function InitGlbVar() {
rqrmin=77; rqrmax=7777; minint=3000; maxint=10000; reqon=false; streams=3; minouts=18; maxouts=1800; outpost=true; visstr='style="display: none;"'; hs='0123456789ABCDEF\n', sboxstr='allow-forms allow-scripts';
}
InitGlbVar();

var loclang= {
ru:
[['ptitle','innerHTML','Генератор случайного трафика'],
['pupdown','innerHTML','Для лучшей защиты от тайминг-атак рекомендуется параллельно запустить скачивание одного большого файла (например: <a href="http://cdimage.debian.org/debian-cd/8.1.0/i386/iso-dvd/debian-8.1.0-i386-DVD-2.iso" target="_blank">debian-8.1.0-i386-DVD-2.iso</a>&nbsp;4.3&nbsp;ГБ), загрузку другого (например, на <a href="https://letitbit.net/?lang=ru" target="_blank">letitbit.net</a>) и данный Генератор случайного трафика; после Вы можете отменить загрузку или удалить файлы.'],
['hh1','innerHTML','Генератор случайного трафика'],
['rti','innerHTML','Интервал времени между запросами будет случайный в пределах'],
['s1','innerHTML','от'],
['s2','innerHTML','до'],
['s3','innerHTML','секунд'],
['s4','innerHTML','Будут случайно опрашиваться следующие URL-адреса:'],
['s5','innerHTML','будет заменено на случайное целое число в диапазоне между'],
['s6','innerHTML','и'],
['s7','innerHTML','Количество фреймов для HTTP-соединений:'],
['lbl','innerHTML','показывать фреймы'],
['lbl2','innerHTML','Покрывать исходящий трафик, добавляя к каждому запросу HTTP-заголовок произвольной длины'],
['lbl3','innerHTML','Запускать JavaScript во фреймах (требуется, если выбрано покрывать исходящий трафик)'],
['s8','innerHTML','от'],
['s9','innerHTML','до'],
['s10','innerHTML','байт'],
['startbutt','value','Пуск'],
['stopbutt','value','Стоп'],
['reloadbutt','value','Обновить'],
['copyleft','innerHTML','<span style="text-decoration: line-through; color: green;">&copy;</span> <a href="https://creativecommons.org/publicdomain/zero/1.0/deed.ru" target="_blank">Открытая лицанзия CC0 1.0 Универсальная (CC0 1.0) - Передача в общественное достояние</a>. Лицо, которое связало произведение с этим Кратким описанием (Commons Deed), передало произведение в общественное достояние путём отказа от всех своих прав на произведение по всему миру в рамках законодательства об авторских правах, включая все связанные и смежные права, которые он или она имеют по отношению к данному произведению, в той степени, в которой это допускается законом. Вы можете копировать, изменять, распространять и исполнять данное произведение, даже в коммерческих целях, всё не спрашивая разрешения.']
],
en: []
};

function IR(minr, maxr) { return( Math.floor( Math.random()*(maxr-minr+1) ) + minr); }

function CT() {
var d=new Date();
var t=d.getTime();
delete d;
return(t);
}

function EnaObj() {
var i=0;
for (i=0; i<arguments.length; i++)
document.getElementById(arguments).disabled=false;
}

function EnaAllObj() {
var i=0;
for (i=0; i<document.all.length; i++)
if (document.all.disabled) document.all.disabled=false;
for (i=0; i<arguments.length; i++) document.getElementById(arguments).disabled=true;
}

function DisObj() {
var i=0;
for (i=0; i<arguments.length; i++) document.getElementById(arguments).disabled=true;
}

function onChg(obj) {
switch (obj.id) {
case 'min':
if (obj.value*1000<=maxint) minint=obj.value*1000;
break;
case 'max':
if (obj.value*1000>=minint) maxint=obj.value*1000;
break;
case 'rndmin':
rqrmin=obj.value;
break;
case 'rndmax':
rqrmax=obj.value;
break;
case 'nstreams':
streams=obj.value;
break;
case 'minouts':
minouts=obj.value;
break;
case 'maxouts':
maxouts=obj.value;
break;
case 'outpost':
outpost=!outpost;
var jf=document.getElementById('jsiframe');
if (outpost) {
EnaObj('minouts', 'maxouts');
sboxstr='allow-forms allow-scripts';
jf.checked=true;
jf.disabled=true;
}
else {
DisObj('minouts', 'maxouts');
sboxstr='';
jf.disabled=false;
}
break;
case 'jsiframe':
if (obj.checked) sboxstr='allow-forms allow-scripts'; else sboxstr='';
break;
case 'visframes':
if (obj.checked) visstr=''; else visstr='style="display: none;"';
break;
case 'langselect':
for (i=0; i<loclang[obj.value].length; i++) document.getElementById(loclang[obj.value][0])[loclang[obj.value][1]]=loclang[obj.value][2];
}
}

function stopit() {
EnaObj('startbutt','urlarea','nstreams','visframes', 'jsiframe', 'outpost');
DisObj('stopbutt');
reqon=false;
var i=0;
clearInterval(timerout);
for (i=0; i<streams; i++) clearTimeout(timers);
}

function reload_page() {
stopit();

InitGlbVar();
EnaAllObj('stopbutt', 'jsiframe');

document.getElementById('nstreams').value=streams;
document.getElementById('visframes').checked = false;
document.getElementById('outpost').checked=outpost;
document.getElementById('jsiframe').checked=true;
document.getElementById('min').value=minint/1000;
document.getElementById('max').value=maxint/1000;
document.getElementById('rndmin').value=rqrmin;
document.getElementById('rndmax').value=rqrmax;
document.getElementById('minouts').value=minouts;
document.getElementById('maxouts').value=maxouts;
document.getElementById('engopt').selected=true;

location.reload();
}

function req(fi, imm) {
treqs[fi]=CT();
if (reqon)
timers[fi]=setTimeout( function()
{
var i=0;
var df=document.getElementById('f'+fi);
var newurl=urls[IR(0,urls.length-1)].replace('$R', IR(rqrmin,rqrmax));
if (outpost) {
var str='';
for (i=1; i<=IR(minouts/18,maxouts/18); i++) str+=hs;
df.srcdoc=
'<form action="'+newurl+'" method="POST"> \
<textarea name="rndt">'+str+'</textarea> \
<input type="submit" value="put" /> \
</form> \
<script type="text/javascript">document.forms[0].submit();</script>';

} else df.contentWindow.location.replace(newurl);
}, (imm)?0:IR(minint, maxint) );
}

function startit() {
var instr='';
var i=0;
for (i=0; i<streams; i++) instr+='<iframe sandbox="'+sboxstr+'" '+'id="f'+i+'" '+visstr+' onload="req('+i+', false)" onerror="req('+i+', false)" ></iframe>';
document.getElementById('foriframes').innerHTML=instr;

DisObj('nstreams','visframes','startbutt','urlarea', 'jsiframe', 'outpost');
EnaObj('stopbutt');

urls=document.getElementById('urlarea').value.split('\n');

minint=document.getElementById('min').value*1000;
maxint=document.getElementById('max').value*1000;

reqon=true;
for (i=0; i<streams; i++) req(i, false);

timerout=setInterval( function() {
var t=CT();
for (i=0; i<streams; i++) if (t-treqs>maxint) req(i, true);
}, (minint+maxint)/2 );

}

var mi=0;

for (mi=0; mi<loclang.ru.length; mi++) {
loclang.en[mi]=[];
loclang.en[mi][0]=loclang.ru[mi][0];
loclang.en[mi][1]=loclang.ru[mi][1];
loclang.en[mi][2]=document.getElementById(loclang.ru[mi][0])[loclang.ru[mi][1]];
}


EnaAllObj('stopbutt', 'jsiframe');

-->
</script>

</body>
</html>
 
Сетевой нейтралитет вообще то о приоритете одного траффика над другим, к анонимности прямого отношения не имеет.
 
Я так понимаю требуется связка с браузером. А нету случайно автономной программы подобного направления?
нет никакой связки с браузером. Все работает автономно.
 
ТС не воспринимай на личный счет, но материал - какое то мракобесие.
Сквозит неточностями и подменой понятий.
Сетевой нейтралитет, как было сказано выше, на прямую к анонимности не относится.
Это история о шейпинге трафика.

VPN (с шифрованием), ssh, https - если Вы не спалили ключи, то MITM невозможен!
И ваш трафик для провайдера - это шифрованная каша.

Есть исследования в которых при помощи нейронных сетей научились из шифрованного трафика выуживать некую мета информацию.
На пример могут с достаточно большой вероятностью определить, что в шифрованном трафике есть трафик некоторого приложения.
К примеру инстаграм.
Но не более! Что там внутри передается вытащить не могут.
Целевые IP, порты, домены, заголовки, контент, ... все это невидимо для опсоса/провайдера.
При условии того, что Вы не спалили ключи шифрования.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
ТС не воспринимай на личный счет, но материал - какое то мракобесие.
Перевод выполнен SecurityLab. Автор не я. Поэтому все норм ))
 
ТС не воспринимай на личный счет, но материал - какое то мракобесие.
Сквозит неточностями и подменой понятий.
Сетевой нейтралитет, как было сказано выше, на прямую к анонимности не относится.
Это история о шейпинге трафика.

VPN (с шифрованием), ssh, https - если Вы не спалили ключи, то MITM невозможен!
И ваш трафик для провайдера - это шифрованная каша.

Есть исследования в которых при помощи нейронных сетей научились из шифрованного трафика выуживать некую мета информацию.
На пример могут с достаточно большой вероятностью определить, что в шифрованном трафике есть трафик некоторого приложения.
К примеру инстаграм.
Но не более! Что там внутри передается вытащить не могут.
Целевые IP, порты, домены, заголовки, контент, ... все это невидимо для опсоса/провайдера.
При условии того, что Вы не спалили ключи шифрования.
а что на счет этого?
и о
При условии того, что Вы не спалили ключи шифрования.
если можно то по подробнее
 
а что на счет этого?
и о если можно то по подробнее

Годная статья, спасибо было довольно интересно читать.
Я слышал о подобного рода атаках. И именно в контексте вычисления подозреваемых.
Хотя подробного описания до этого момента не видел.
Тор в принципе вызывает сомнения. Учитывая ресурсы государств, держать сотни или тысячи своих выходных node очевидно, что не проблема.


Относительно палива ключей шифрования я ничего нового не скажу.
Только повторю, то что МИТМ возможен если у атакующего есть ключи шифрования.
 
Относительно палива ключей шифрования я ничего нового не скажу.
я просто так сказать новичок и много чего не знаю
потому и спрашиваю что ничего не знаю об этих ключах
а статью мне кинул этот пользователь
под моей темой
 
Тор в принципе вызывает сомнения.
и без разници используеш ли ты tails или просто тор?
и что тогда использовать вместо "тор" если разници нет?
(+ на сколько разница значительна если она есть)
или что в принципе лучше? (есть ли альтернативы или типо того)
 
Засрать таким скриптом логи - да.
Скрыть свой трафик или хотя бы усложнить поиск - нет.
Зачастую запросы от мусоров поступают в виде: такого-то числа, во-столько по gmt с такого-то вашего адреса был осуществлен доступ к такому-то ip адресу. Просим указать ФИО, адрес, телефон того кто осуществлял данный коннект. Провайдер открывает какой-нить NetFlow коллектор. Забивает число, время, ip назначения и получает серый ip абонента который туда ломался. Затем открывает биллинг, смотрит кому принадлежит ip и выдает искомое ментам. Все.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх