Ресурсы: техническое описание TLS, LaTeX - в картинки (img), криптографическая библиотека Arduino, шифр "Кузнечик" на ассемблере AMD64/AVX и ARM64
Смартфоны, которые находятся в распоряжении у граждан, это хорошая основа для создания децентрализованных сетей связи, сетей обмена сообщениями. Я писал о таких mesh-сетях раньше и не раз. Самый доступный вариант создания подобной сети – специальное приложение, исполняемое смартфоном. А самый простой вариант сети – сеть, ретранслирующая текстовые (возможно, гипертекстовые) сообщения так, что в итоге они доступны всем участникам сети. Распространение сообщений может идти достаточно медленно, скажем, от минут до нескольких часов (полезна и функция отложенной передачи, когда долгое время отсутствовавший в сети узел может получить сообщения, накопившиеся за несколько суток).
Протокол обмена сообщениями должен быть независимым от транспорта передачи данных. Тогда для обмена данными годятся любые доступные смартфону средства коммуникации. Если есть доступ к Интернету, то данные передаются через глобальную Сеть. Есть только локальный WiFi – данные передаются через него. Есть только GSM – передача происходит через SMS (MMS). Совсем плохо со связью – узлы, находящиеся в непосредственной близости, синхронизируются через Bluetooth. Одна из непростых задач состоит в том, чтобы успешно реализовать анонсирование разнообразных адресов (для разных коммуникационных транспортов) новых узлов. Но эта задача решаема (подобные протоколы уже разработаны). И, конечно, из-за наличия GSM в сети будут проблемы с анонимностью, но это отдельная проблема. А вот скрыть сам трафик сети, так, чтобы он не обнаруживался и не блокировался системами DPI, проще.
Как бороться с такой сетью? Самый очевидный вариант: блокировать сервис, раздающий приложения (например, Google Play Market или Apple App Store). Однако пользователи могут начать обмениваться кодом приложения между собой, хоть это и потребует дополнительных усилий. В общем, как и другие децентрализованные решения, основанные на современных доступных коммуникационных устройствах, сеть получается очень устойчивой и живучей (хоть и заведомо медлительной).
Комментарии (4) »
Между прочим, сильный противник в Интернете может сделать гораздо больше, чем просто устраивать банальные DDoS. Сильный противник – это игрок уровня АНБ, например. А самый действенный вариант здесь – активная атака на ключевые маршрутизаторы и на BGP.
Известно, что системное программное обеспечение маршрутизаторов содержит уязвимости. Это касается не только “домашних роутеров”, но и дорогих продуктов уровня Cisco. Эти уязвимости, вероятно, позволяют не просто остановить работу маршрутизатора, но повлиять на то, как работает большой сегмент сети, где взломанный маршрутизатор находится. Маршрутизатор позволяет делать с трафиком всё что угодно, в том числе, проводить инъекцию пакетов, заменять данные в пакетах и выполнять другие, не менее занимательные, вещи. Атаковать маршрутизатор можно удалённо, а если он удачно расположен, то послужит отличной отправной точкой для проведения других атак.
Что касается BGP (это протокол обмена информацией о сетевых маршрутах, определяющий то, как ходят пакеты в Сети): здесь поможет использование точек присутствия на основных магистралях для воздействия на BGP . При должном масштабе и информированности атакующего эта, вполне себе инфраструктурная, атака может заставить трафик в выбранном сегменте Интернета “ходить не туда”. Естественно, захваченные чужие маршрутизаторы служат идеальным базисом для BGP-атак.
Комментарии (1) »
Да, сегодня же международный день числа Пи (π), 3.14 (14 марта). По этому случаю, – а в день числа Пи положено думать обо всём круглом, – NASA опубликовали картинку планеты Сатурн.

Я не уверен, что это самая круглая планета Солнечной системы, но колец у Сатурна больше всех, это точно. Изображение синтезировано из снимков, сделанных аппаратом “Кассини”. Это аппарат использует орбитальный манёвр, который в NASA называют Pi transfer – “Пи-перевод”. Суть манёвра – в использовании притяжения спутника Сатурна, Титана, для изменения орбиты “Кассини”. Число Пи фигурирует в названии потому, что положение Титана на его орбите вокруг Сатурна при двух пролётах “Кассини” отличается на π радиан (то есть, это противоположные точки орбиты).
Comments Off on День числа Пи
В связи с некоторым обострением международных отношений интересно вспомнить, что базовые системы адресации Интернета управляются из США, что только добавляет пикантности ситуации. (Предложения о прекращении предоставления адресного пространства в рамках санкций – уже встречались; правда, инициатором их была негосударственная организация из США.)
Надо сказать, что и у ICANN, и у “подведомственных” ей структур, есть технические возможности по весьма эффективному блокированию национальных сегментов Интернета, в том числе, национальных доменов. Да, эти возможности, пока что, – скорее теоретические, но они есть. А в данном контексте важны именно возможности, а вовсе не намерения, как можно было бы подумать.
Поделюсь несколькими ссылками на прошлые записки по теме (кто бы мог подумать, что они опять станут актуальны):
- ICANN и управление Интернетом;
- ICANN, правительство США и “независимость” Интернета (2009 год, между прочим);
- Новые домены, DNSSEC и главный рубильник.
И ещё одно наблюдение, по близкой теме:
Комментарии (10) »
В СМИ пишут про то, что Штаты перебросили несколько дополнительных истребителей (вроде, F-15) в Литву. Естественно, проводят параллели с ситуацией вокруг Украины и Крыма. Как обычно, забывают, что (в реальности) боевой радиус современных истребителей – это 600-800 км, а между Литвой и Украиной – Белоруссия. (Конечно, в теории, штатовские истребители могут перебросить на территорию самой Украины, но, на практике, это было бы уже слишком, да и смысла в этом нет никакого.)
Сошлюсь на одну из прошлых записок по этой теме – F-22: сценарии и дальность перегона.
Комментарии (15) »
Нашли как бы ответ на Goto fail от GnuTLS (это очень распространённая библиотека криптографических функций) – некорректная обработка сертификатов в GnuTLS приводит к тому, что сессию можно перехватить. Пишут, что эту свежую ошибку в GnuTLS выявили в рамках аудита кода для Red Hat.
Очень много подобного добра в коде криптобиблиотек, к сожалению. Сейчас, хотя бы, стали чуть более тщательно исследовать этот код, из-за шума вокруг деятельности АНБ.
Комментарии (1) »
В продолжение записки про ошибку “goto fail” в операционных системах Apple. Это очень показательный случай, очередной. Ошибка, заключающаяся в одной элементарной строке кода, приводит к тому, что “защищённое” соединение можно перехватывать без проблем. И практических методов защиты от использования этой ошибки – нет.
Сравнение отпечатков сертификатов никак не помогает, потому что сертификат используется легитимный, полученный с сервера – ошибка гарантирует, что не проверяется соответствие подписей. Подмена IP-адреса сервера может происходить с помощью DNS, это традиционный способ. Тут, в принципе, некоторую защиту обеспечивает DNSSEC, но только если атакуемый домен подписан (а это вряд ли). Более того, во многих сетевых конфигурациях (скажем, в чужой WiFi-сети) подмену сервера можно провести, сохранив его IP-адрес, то есть, DNSSEC уже никак не поможет. DANE – только добавит пользователю уверенности, что всё хорошо, так как отпечатки сертификатов из DNS и с подставного сервера – совпадут.
Вот.
Так работает современная массовая криптография. Один оператор goto – и больше нет защиты. Совсем.
Комментарии (3) »
Нашумевший недавно Outernet – представляет собой довольно наивный проект: сотни низкоорбитальных микроспутников транслируют на землю некий контент, связанный с Интернетом, да так, что этот контент могут принимать даже смартфоны, используя штатный канал WiFi. Схема работает наподобие радиостанции – в одну сторону. То есть, это никакой не “бесплатный WiFi-доступ к Интернету”, как поспешили написать многие СМИ.
Очевидно, что приём смартфоном полезных данных из сигнала WiFi, исходящего с борта кучи быстро движущихся микроспутников, за сотни километров, из космоса, через ионосферу – это, пока что, фантастика. Можно было бы предположить, что орбитальный сигнал смогут принимать модифицированные точки доступа WiFi, оснащённые дополнительными антеннами, но и такой вариант представляется труднореализуемым для массового потребителя.
Интересно, что, помимо прочих слов, на страничке с описанием проекта сказано, что планируется трансляция Blockchain из сети Биткоин. Blockchain позволяет проверять биткоин-транзакции (подробности – в отдельной заметке про биткоины). Однако центральная трансляция Blockchain противоречит основным принципам хождения биткоинов. Предполагается, что через Outernet данные достигнут тех жителей Земли, которым подключение к Интернету недоступно. То есть, спутниковая трансляция будет для них единственным источником Blockchain, соответственно, в него можно включить какие угодно транзакции, сделав ответвление от основной цепочки. Смысл теряется. Ну и, понятно, осуществить транзакцию без связи с Интернетом – всё равно не выйдет, так что особой практической пользы в такой трансляции нет.
(А вообще, спутниковые трансляции могут оказаться полезным источником особого программного обеспечения для граждан. Но это другая история.)
Комментарии (2) »
У Apple – грандиозная ошибка в коде, отвечающем за установление TLS-соединения: лишний оператор goto (зачем они вообще его использовали?) приводит к тому, что не проверяется серверная подпись при генерации ключа по протоколу Диффи-Хеллмана. Это означает, что сессия может прослушиваться, так как атакующий получает возможность подменить сеансовый ключ. Ошибка, можно сказать, сводит защищённость TLS в соответствующих продуктах Apple примерно к нулю.
Addon:
Пожалуй, скопирую и фрагмент исходного кода:
static OSStatus
SSLVerifySignedServerKeyExchange(SSLContext *ctx, bool isRsa, SSLBuffer signedParams,
uint8_t *signature, UInt16 signatureLen)
{
OSStatus err;
...
if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0)
goto fail;
if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0)
goto fail;
goto fail;
if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0)
goto fail;
...
fail:
SSLFreeBuffer(&signedHashes);
SSLFreeBuffer(&hashCtx);
return err;
}
Речь, как несложно догадаться, о паре последовательных goto. Второй из операторов безусловен, а так как переменная err, в случае, если ошибочный goto выполнился, содержит 0, то и сама функция “проверки” вернёт этот код успешного завершения.
Комментарии (2) »
Ещё один пример в поддержку тезиса о том, что полностью непрозрачное национальное киберпространство – это не обязательно хорошо: системы раннего предупреждения о ракетном нападении. Они разнообразными средствами мониторят чужую территорию для того, чтобы у владельцев системы были основания полагать, что они могут определить старт ракет противника с достаточным запасом по времени, то есть сумеют нанести ответный удар.
При этом, сравнимые системы должны быть у каждого из потенциальных противников, иначе нарушается баланс и сильно страдает концепция сдерживания. Поэтому, если одна из сторон предприняла меры, делающие работу системы мониторинга невозможной (территория стала “непрозрачной” для наблюдения), то это сильно обостряет ситуацию. Более того, противник может воспринять такие действия как подготовку к немедленной атаке.
Комментарии (3) »
В ESA изучают возможности захвата и спуска с орбиты спутников. Речь, впрочем, идёт об отказавших аппаратах, о космическом мусоре. Тема называется e.DeOrbit, спутники планируют захватывать сетью (кстати, схема совпадает с предложенной для беспилотников в одной из недавних записок) и утаскивать, видимо, в плотные слои атмосферы.

Между прочим, это воплощение в реальности одной из очень старых схем противоспутникового оружия. Захватить таким образом можно и действующий спутник. В том числе военный, если он не оборудован подходящей защитной системой. А если загодя вывести на орбиту несколько подобных “перехватчиков”, выполнив их малозаметными, то в назначенный час можно здорово подпортить коммуникационные и навигационные системы противнику. Да, чтобы не морочиться с сетью, спутник противника можно повредить выстрелом. Но в таком случае количество космического мусора увеличивается, а это действительно плохо.
Комментарии (11) »
Новый