84

Толочь воду в ступе или о блокировках в Интернете

Речь НЕ пойдёт о Телеграм и о Роскомнадзоре. Это краткий курс по передачи данных в том числе и в Интернете. Просто взгляд с самого "низа" ИТ-технологий. Кому интересна альтернатива блокировок - проматывайте до полужирного "решение".


Если Вы читаете данный текст, то либо Вам его кто-то распечатал, либо Вы делаете с электронного устройства. Каким образом устройство понимает, что именно Вам показать?


Вся информация в современных вычислительных устройствах передается и хранится в виде последовательности чисел 0 и 1. Позиция занимаемая 0 или 1 называется бит. 8 идущих подряд битов - байт. Несложно подсчитать, что 1 байт может принимать 2**8 = 256 значений (от 0 до 255). Хорошо, как мы можем получить текст? Для стандартизации в ИТ используются так называемые "протоколы" - это общепринятые соглашения между участниками информационного обмена. Например, мы выпускаем стандарт, что байт 0x00 обозначает пробел, байты от 0х01 до 0x1B - заглавные латинские, от 0х1С до 0х36 - малые латинские и т.д. Это будет "таблица кодировки". Если у двух пользователей есть одна и та же таблица кодировки, то они могут спокойно общаться текстом, который для остальных будет бредом. Задача "взлома" такой таблицы - буквально минутное дело, но отделить обычный текст от перекодированного современные автоматизированные системы не в состоянии.

Примечание: Официальное обозначение чисел в системах счисления. Первый 0 - признак числа отличного от десятичной системы счисления, 2 позиция - это код системы счисления b - двоичная, x - 16-ричная, если буквы нет - 8-ричная, далее идёт обозначение, цифры 10-15 заменяются буквами латинского алфавита от A до F)

А как же видео, картинки, звук? Алгоритмы сжатия и оптимизации рассматривать не будем - это чистая и красивая математика, которая достаточно сложна для понимания обычным пользователем.


Для записи и воспроизведения звука используется набор числовых значений. Положение мембраны разделяется на уровни (256 положения для одного бита, 65536 для двух), воспроизведение - выставление мембраны в записанное ранее положение.


Картинки кодируются попиксельно (пиксель - точка на экране), каждой точке присваивается сразу 3 значения (RGB-модель, красный + зеленый + синий), значение каждого пикселя - это 3 байта в которых 1-й, это насыщенность красным, 2-й зеленым, а третий - синим цветом.


Видео (без применения сжатия) - это последовательность картинок и звука.


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


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


РесурсыДекодирования = Сообщения*ЧислоАлгоритмов*Ключи


Однобайтных кодировочных таблиц полного заполнения может быть 32 385 штук (комбинаторика), не полного или кратного - гораздо больше. Таблица весит 256 байт, полная карта - всего 8 Мб, что позволяет работать с ней на самых дохлых устройствах. Не зная алгоритм смены кодировочных таблиц дешифрующий сервис должен будет конвертировать текст в единую кодировку 32 385 штук, а затем распознать в итоговых текстах тот, который является настоящим. То есть использование простой динамики кодировочных таблиц уже сильно усложняет перехват сообщений. Идём дальше:


Вес контента по нисходящей: видео - изображения - звук - текст. В каждый вышестоящий уровень можно легко записать что-то из нижестоящего. Зная простейшие математические приёмы можно довести уровень "сопутствующей" информации до 50-70 % без распознавания DPI. То есть пересылаешь небольшие картинки - работает мессенджер.


К чему пост? Блокировки чего-либо, это процесс, который заставляет заинтересованные стороны "опускаться" по древу технологий к базовым вещам. Протоколы всех современных мессенджеров - это вариации старичка XMPP/Jabber. Это доказывает, что технически не сложно создать новые наборы протоколов для передачи текста, видео, аудио и т.д. Как только одна из сторон дойдет до прямых манипуляций бинарными данными (самый низ), то вторая сможет либо выключить сразу всё, либо признать своё поражение.


Главная ошибка "контролёров" в самом принципе подхода к блокировкам: сейчас всё работает на самом верху стека протоколов и при достаточно небольшой небрежности может быть "вскрыто" целым рядом технических средств. Чем глубже будут уходить потенциальные "злоумышленники" от поверхности - тем сложнее и менее эффективно будет работать перехват. При сохранении текущей динамики уже через 1-2 года сообщения групп потративших 100-200к рублей (что делает минимальное число участников - 2) на вменяемого программиста будут абсолютно надёжно защищены от любого вида и алгоритма технической прослушки.


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


Как только начались блокировки "на поверхности" включились средства обхода 1 уровня. В 2017-м году вышел закон о запрете средств обхода 1 уровня, включился второй... В итоге спустя N уровней мы придём к ситуации, когда нужно будет запретить вообще всё. При этом экономический ущерб будет исчисляться триллионами рублей, что с учётом внешнеполитической обстановки - фактически приговор для государства. Далее - блокировки приводят к росту числа вариантов обхода, при этом "террористы" составляют крайне малую долю тех, кто пользуется шифрованием. 99,99% - это люди которые просто хотят обезопасить свою личную жизнь от возможных проблем (общение с любовницей, например). Эти люди не откажутся от общения и для них будут созданы 100500 мессенджеров, трафик которых будет очень сложно отследить и расшифровать. В итоге у настоящих террористов будут развязаны руки - скрыть трафик среди огромного числа "нестандартных" мессенджеров нереально. Третий фактор - образование. Таланты из молодого поколения начнут писать свои кодпейджи и либы для скрытого общения. Напрямую работая с бинарными данными. И всё. В итоге на блокировках государство теряет популярность. развязывает руки преступникам и демонстрирует профнепригодность своих спецслужб, при этом народ получает проблемы. Выигрывают в этом только преступники и закадычные "друзья" государства...


Я работал во времена "без Интернета". Независимо от формы и рынка работы предприятия, учреждения, организации скорость бизнес-процессов без Интернета сильно падает, особенно в сферах с быстрым оборотом (например, торговля). Платежи шли неделями, обмен письмами мог доходить до месяца... Падение оборотов - это уменьшение доходов всех субъектов экономики - предпринимателей, работников, государства.


Решение:


Основных мотивов для блокировок два: это защита корпоративной информации (контент входит в эту категорию) и перехват информации.


Защита информации (в рыночной экономике) осуществляется юридическими средствами и экономическими методами. Юридические средства - это ответственность за нарушение лицензионных соглашений, а экономические - сделать так, чтобы пиратство потеряло экономический смысл. Например, мы умные люди и понимаем, что "запрещенный" контент один фиг будет распространяться. Наиболее эффективно работает метод кнута и пряника. Пряник - это создание сервисов типа Майбука, Букмейта и т.д. - за копеечную плату в месяц пользователь получает неограниченый доступ к контенту. Плюсом - бесплатный контент средне-низкого качества (например версия видео 360р), для другой "запрещёнки" (да-да для всей) выделяем легальную песочницу и просто смотрим кто в неё ходит. Кнут - кучи ресурсов с "запрещёнкой" вне песочницы с "сюрпризами". По сути выбор у пользователя - или я за копейку (или даже бесплатно) получаю то, что хочу или я рискую обрести кучу проблем. Что выберет пользователь? Что получит бизнес? Пользователь - контент, бизнес - дополнительную прибыль. Все довольны.


Теперь о перехвате информации. Самое сложное в перехвате информации - вычислить факт самой передачи. По сути тексты самих сообщений не так уж и важны, это где-то около 20 %  значимой информации. Кстати, в этом вопросе преклоняю голову перед КГБ, которое было во много раз более серьезной организацией, чем современное ФСБ. В книгах сотрудников КГБ часто встречались вариации простого принципа. Например, агент или террорист связывается с кем-то, этого "кого-то" берут "под колпак" и если контакт хороший и интересный, то его вдумчиво обрабатывают и потом используют в своих целях - получение встречной информации, дезинформация противника и т.д. Любая террористическая организация, закрытое сообщество, агентская сеть и т.п. всегда открыты для своих членов. Этот же принцип используют правоохранители по всему миру внедряя "агентов под прикрытием"...


Спасибо дочитавшим

Правила сообщества

Обязательно к прочтению для авторов:

1. Если вы добавляете пост, утверждающий об утечке данных или наличии дыр в системе, предоставьте ссылку на источники или технически подкованное расследование. Посты из разряда "Какой-то банк слил данные, потому что мне звонили мошенники" будут выноситься в общую ленту.
2. Все вопросы "Как обезопасить сервер\приложение\устройство" - в лигу "Компьютер это просто".

Обязательно к прочтению для всех:

Добавление ссылки разрешено если она не содержит описание коммерческих (платных) продуктов и/или идентификаторов для отслеживания перехода и для доступа не нужен пароль или оплата в т.ч. интернет-ресурсы, каналы (от 3-х тематических видео), блоги, группы, сообщества, СМИ и т.д.


Запрещены политические holy wars.

По решению модератора или администратора сообщества пользователь будет забанен за:

1. Флуд и оскорбление пользователя, в т.ч. провокация спора, флуда, холивара (высказывание без аргументации о конкретной применимости конкретного решения в конкретной ситуации), требование уже данного ответа, распространение сведений порочащих честь и репутацию, принижающих квалификацию оппонента, переходы на личности.

2. Публикацию поста/комментария не соответствующего тематике сообщества, в том числе обсуждение администраторов и модераторов сообщества, для этого есть специальное сообщество.

3. За обвинение в киберпреступной деятельности.

4. За нарушение прочих Правил Пикабу.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества