Интересный практический пример неверной настройки DNS в зоне vk.com, как его можно видеть и сейчас, и уже в течение нескольких недель. Скриншот выдачи сервиса проверки audit.statdom.ru (подробные объяснения – ниже):

DNS vk.com

Зона vk.com делегирована на авторитативные NS с именами, находящимися в той же зоне (так называемые “субординатные” NS), а именно: ns1, ns2, ns3, ns4.vk.com (всё в vk.com, не лучшее решение, но сейчас о другом). При этом в самой зоне vk.com для имён NS указаны AAAA-записи – это DNS-записи, содержащие IPv6-адреса. Вообще, чтобы избежать циклов при рекурсивном опросе DNS, для имён авторитативных серверов, которые сами определены в делегируемой зоне, используются так называемые glue-записи: серверы имён вышестоящей зоны возвращают IP-адреса для имён, на которые эта зона делегирована.

То есть, если домен example.com делегирован на ns1.example.com и ns2.example.com, то авторитативные серверы зоны первого уровня com. будут возвращать в дополнительном блоке DNS-ответа IP-адреса для ns1.example.com и ns2.example.com, чтобы резолвер мог к ним обратиться. (Понятно, что иначе резолвер, для определения адреса ns1.example.com, должен обратиться к DNS-серверам example.com, а чтобы обратиться к DNS-серверам example.com – нужно узнать адрес ns1.example.com, ну и так далее.)

Так вот, для vk.com в glue- указаны только А-записи (IPv4-адреса), но не указаны AAAA-записи (IPv6-адреса). Между тем, как отмечено в предыдущем параграфе, в самой зоне IPv6-адреса для NS указаны: каждый NS из списка делегирования снабжён v6-адресом в DNS. Под “данными в самой зоне” тут имеются в виду данные, возвращаемые непосредственно авторитативными NSами (которые ns[1,2,3,4].vk.com).

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

Для vk.com дополнительными оказываются адреса IPv6 для авторитативных NS. Адреса выбраны красивые, резолверы, работающие по v6, могли бы их использовать, но DNS-сервис под ними недоступен и отсутствуют glue-записи.



Комментировать »

Не нужно забывать, что ключевую роль в процессе сегментации интернетов сыграло желание слово “Интернет” писать со строчной буквы.



Комментарии (1) »

Цитата из заметки, вышедшей на dxdt.ru в 2014 году (собственно, это почти вся та заметка):

Например, очки дополненной реальности осуществляют обработку данных в “облачном сервисе” (пусть это будет сервис Google), это означает, что изображение того или иного объекта реальности, построенное видеокамерой очков, воздействует на информационную систему сервиса. Другими словами, показав носителю очков определённое изображение, можно внедрить программный код во вполне себе виртуальный сервис Google, хоть это и похоже на фантастику. Внедрённый код сможет распространиться по другим узлам, образующим “виртуальность”, а также проникнуть в другие очки, например. Или в смартфоны. Сервис-носитель, конечно, должен содержать подходящую уязвимость, но кого сейчас удивишь очередным “переполнением буфера”?



Комментировать »

В сентябре 2024 года записок на dxdt.ru вышло не очень много, но три из них, всё ж, отмечу отдельно:

Циклы и логические формулы – является ли P и ¬¬P одним и тем же, и при чём здесь оптимизация записи циклов компиляторами.
Многобайтовые постквантовые ключи и TLS – объём сообщений в TLS разрастается в результате бурного развития постквантовой криптографии.
Следы звуков в кодах для LLM – числа, записанные в байтах ASCII, могут “быть буквами”, а могут и не быть.



Комментировать »

Гибридная криптосистема с постквантовой стойкостью X25519Kyber768 использует, как нетрудно догадаться, ключи X25519 в дополнение к Kyber. При этом X25519 – типовая криптосистема в современном TLS, так что в одном и том же ClientHello может быть одновременно два ключа: и X25519Kyber768, и просто X25519. И вот, например, Firefox в свежих версиях использует тут один и тот же ключ X25519 – и в гибриде, и в обособленном варианте. Это экономит одну итерацию X25519 (технически, что в гибридном варианте, что нет – это одна и та же криптосистема, никаких отличий). А вот Chrome, в такой же ситуации, использует два разных ключа X25519.



Комментировать »

В работе LLM (Large Language Models) используются токены, а не слова, как слова. То есть, процесс можно сравнить с изучением письменности, но без изучения языка. Для использования компьютерами, буквы, как символы, кодируются значениями байтов – это вполне привычная система.

Так, если взять ASCII, то символу (букве) L соответствует шестнадцатеричный индекс 0x4C. Тут есть множество философских моментов: во-первых, натуральное число 0x4C – это число, а не буква, так что, в большинстве компьютерных применений, 0x4C – вовсе не имеет отношения к букве L; во-вторых, для того, чтобы число указало на букву, всегда требуется внешняя структура – ASCII, в данном случае, – и система соглашений, определяющая, как минимум, метаязык и алфавит; в-третьих, компьютер, на котором работает LLM, “читает” именно байты, а не воспринимает буквы как буквы, то есть, как элементы, переключающие неизвестную компьютеру структуру, хоть бы это была и только таблица ASCII (тем более, что современные тексты используют Unicode – другое кодирование).

Числа, записанные в байтах, могут “быть буквами”, но могут и не быть. Буквы могут “быть звуками”, а могут и не быть. Хитрость в том, что сама по себе, без дополнительных соглашений, буква L никакой звук не обозначает, а обозначает, скажем, “длину стороны треугольника”, однако L может использоваться в записи звуков. (Да, речь только про фонетическое письмо.) Тут не так важно то, насколько фонетика вообще определяет язык, как то, что превращения букв при записи слов языка определяются, в том числе, превращениями звуков. Так что именно этот момент, – поднятие фонетической структуры из разных записей, – позволяет изучать происхождение и родство современных языков. Это максимально далеко и от ASCII, и от Unicode, самих по себе.

Слово “яблоко” не является яблоком, но “слово” является словом (или тоже нет?), однако ещё дальше от смысловых конструкций ASCII- или Unicode-таблицы, преобразованные в очередные наборы чисел. Всё это не мешает попыткам переносить следы способов записи смысловых конструкций, оставшиеся в корпусе обучающих текстов, в новый поток индексов (байтов), генерируемый LLM. И эти индексы пользователю предлагается считать буквами, потому что компьютером же можно преобразовать коды в изображения символов, которые пользователь начнёт читать как текст. “Большая” же идея, естественно, в предположении о том, что автоматический компьютерный перебор может воссоздать ту самую, внешнюю структуру.

Известно, что идея LLM выросла из методов атрибуции текстов: разным авторам свойственны разные словари (конкордансы) и стили комбинирования слов, связанные с привычной записью частей речи; если на основе текстов с известным авторством построить достаточно длинные “вероятностные цепочки” слов и их частей (последнее – необходимо для учёта морфологических особенностей), то можно будет строить предположения об авторстве для других текстов, сравнивая их цепочки с цепочками из базовой выборки. Это можно делать даже вручную, но компьютерная обработка несравнимо эффективнее. Переход к LLM начинается со следующего шага, на котором уже слова из словаря выбираются так, чтобы подходить к цепочкам, построенным на большой выборке текстов. Свидетельствует ли успешное исполнение сверхмощным компьютером перевернутого алгоритма атрибуции о каком-то “универсальном интеллекте”? Вряд ли.



Комментировать »

Снова пишут о том, что пользователи TOR могут быть “деанонимизированы” при помощи анализа параметров трафика с сопоставлением по времени. Почему-то, иногда такая особенность преподносится как новость. Но это весьма старый метод. Например, я писал об этом почти десять лет назад на dxdt.ru:

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

P.S. В той записке есть ссылки на два внешних ресурса: PDF с исходным описанием на сайте издания Spiegel и ссылка на сайт журнала “Доменные имена”, в котором я публиковал статью по теме. Показательно, что ни одна из ссылок нынче не ведёт на документы и тексты: обращение по адресу на сайте издания Spiegel – возвращает HTTP 404, а ссылка на сайт “Доменных имён” – переадресует на главную страницу nic.ru. В последнем случае, это связано с тем, что RU-CENTER вообще удалил сайт журнала – мне до сих пор непонятно по какой такой причине, поскольку, хоть сам журнал и закрыли, но на сайте был весьма полезный архив номеров.



Комментировать »

Использование имеющихся сейчас посквантовых криптосистем в TLS существенно увеличивает объём передаваемых данных. Например, ключ Kyber768, используемый в первом же сообщении (ClientHello), требует более килобайта (1184 байта). При этом, в TLS 1.3 есть штатная возможность передать несколько ключей для разных криптосистем в одном сообщении ClientHello, чтобы сервер выбрал подходящее. Эта возможность постоянно используется на практике.

Например, клиент может сразу передать ключи X25519 (32 байта) и P-256 (32+32 == 64 байта). То есть, две криптосистемы – и лишь 96 байтов расходуется на запись ключей (небольшое количество дополнительных байтов нужно для записи тех структур, в которых передаются ключи, но это можно не учитывать). Если передавать ключи двух постквантовых криптосистем, – скажем, с теми же Kyber768 и стандартизованным вариантом ML-KEM, – то получается уже больше двух килобайт. Это много, но если регулярно переходить от одной поствкантовой криптосистемы к другой, то становится необходимым, рутинным элементом TLS-соединений. Заметьте, что сам перечень поддерживаемых клиентом криптосистем для обмена сессионными секретами передаётся в TLS отдельно. Обычно, в этом перечне указано значительно больше криптосистем, чем передано ключей. Так, браузер может передавать семь поддерживаемых вариантов и ключи только для трёх из них (так сейчас делает Firefox). Чтобы сервер мог выбрать криптосистему, ключи от которой отсутствуют в ClientHello, в TLS 1.3 предусмотрен механизм повторного согласования – HelloRetryRequest: сервер, в этом случае, запрашивает повторное ClientHello, где будет только ключ той криптосистемы, которая выбрана (это всё можно самостоятельно увидеть на тестовом сервере TLS 1.3 при помощи современного браузера).

Подобный перебор с постквантовыми криптосистемами ещё больше увеличивает трафик, поэтому уже рассматриваются варианты того, как бы данный момент переложить на DNS. Так, в сообщении Google про ML-KEM в браузере Chrome, на которое я недавно ссылался, упоминается соответствующий черновик RFC – там предлагается публиковать в DNS сведения о предпочитаемых криптосистемах для обмена сеансовыми ключами в TLS. Конечно, тут нужно учитывать возможную защиту DNS-ответов от подмены, то есть, всё это тянет за собой не только и не столько DNSSEC (которая сама не имеет пока что ничего “постквантового”), как DNS-over-TLS/DNS-over-HTTPS.

Развитие постквантового TLS очень бурное. Впрочем, пока что не совсем понятно, для чего вообще такой рост объёмов данных. Сама по себе “постквантовая стойкость” тут ничего не объясняет, как и популярные описания в стиле “зашифруй заранее, пока нет квантового компьютера”. Однако вот уже и DNS охвачена дополнением записей. С одной стороны, размещение предварительных сведений о настройках TLS в DNS выглядит более чем разумно: запрос в систему всё равно необходим для получения IP-адреса; с другой стороны – данное направление развития как-то быстро сводится к надстраиванию новых и новых, всё больших и больших “дополнений”. (Надстраивание происходит в ускоряющемся темпе: не успели год назад внедрить в браузеры Kyber, как его уже переименовали в ML-KEM и переделали.) Эти “дополнения” вытесняют привычную работу с DNS, заменяя её на другой процесс, который следует называть “обнаружением сервисов” (Service Discovery) – дело в том, что с появлением ECH даже и IP-адреса будут извлекаться из доступной сети по-другому.



Комментировать »

Воскресное чтение манускриптов. Сегодня нам попалась строка из первой книги “Илиады” (1.69), где речь идёт о прорицателе Калхасе. Вот подтверждающий скриншот из манускрипта Venetus A:

Screenshot, Venetus A

Строка, вторая на скриншоте, в современной типографике выглядит так: “Κάλχας Θεστορίδης οἰωνοπόλων ὄχ᾽ ἄριστος”, то есть, “Калхас Фесторид – “птицевед” наилучший”. Фесторид, с “Ф” – это в русской традиции, а так-то можно прочитать и “Тэсторидис”, без мощного “th-фронтинга”, – выйдет больше похоже на греческую фамилию. “Птицевед” – это довольно условно: Калхас наблюдает птиц, как и уточняется в комментарии между строками (буквально: ὀρνεοσκόπων), однако он не орнитолог, а птицегадатель. Считается, что прорицатели, наряду с другими явлениями окружающей действительности, использовали наблюдение за полётом птиц для получения предмета толкования.

Что там за птиц видели гомеровские прорицатели, были ли это орнитологические объекты или не совсем орнитологические – точно сказать сложно, особенно, на фоне “бледных собак”, “тёмно-винного моря” и прочих “пурпурных овец”: может, прорицатели смотрели прямо в варп, а уже упрощённое описание увиденного превращалось в сведения про полёт и крики птиц (не только про птиц, конечно). А может – нет. Однако прорицатели, как известно из описаний, сначала выстраивали некоторые ограничения – определяли место, способ наблюдения, ставили шатёр, размечали направления, ещё какие-то подготовительные меры принимали, – и только потом, но тоже по заранее заданному алгоритму, выполняли наблюдение, интерпретируя его результат.

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



Комментировать »

Google пишет, что в ближайших версиях Chrome отключит использование Kyber768, заменив его на ML-KEM. Речь про использование в гибридной криптосистеме с постквантовой стойкостью для обмена ключами TLS 1.3. То есть, вместо X25519+Kyber768 будет ML-KEM+X25519 (здесь “минус” это дефис, а “плюс” – это плюс). Связано решение с тем, что криптосистему, в постквантовой части, стандартизировал NIST, и вариант из стандарта (кто бы мог подумать!) не совместим с тем вариантом, который использовался до стандартизации под именем Kyber.

В частности, при стандартизации отказались от одного из “промежуточных” преобразований с хеш-функцией, которое, в теории, могло бы предотвращать утечки состояния генератора (псевдо)случайных чисел. Про это всё, естественно, написано в документе NIST. Формулировка выглядит занимательно для тех, кто следит за темой модификации криптосистем в стандартах. В цитате далее (из приложения к стандарту NIST) под словосочетанием “этот шаг” (this step) имеется в виду шаг алгоритма, на котором вычислялось значение SHA-256 от инициализирующего значения: “The purpose of this step was to safeguard against the use of flawed randomness generation processes. As this standard requires the use of NIST-approved randomness generation, this step is unnecessary and is not performed in ML-KEM”. Пересказ смысла: поскольку в стандарте NIST прописано требование использовать только генераторы случайных чисел, разрешённые NIST, то и дополнительная защита от “испорченных генераторов” (то есть, оборачивание значения в хеш-функцию) более и не требуется. Логично, чего уж там. Строго говоря, ничто не мешает применить хеш-функцию для маскировки состояния раньше, до передачи значения в KEM. (Тут, конечно, речь только про дополнительный шаг уровня реализации, а SHA-3, требуемая непосредственно внутри Kyber, осталась.)

Так что постквантовые криптосистемы не просто развиваются, но ещё и вот начали тасоваться их названия, порядок байтов, способы конкатенации и использования хеш-функций. Возможно, я через некоторое время добавлю ML-KEM+X25519 на свой тестовый сервер TLS 1.3.



Комментировать »

Вот ещё один занятный пример про неверное описание “квантовых технологий” и криптографии. На сайте IBM, – вроде бы, профильной технологической корпорации, – размещена справка о том, что же это такое – “квантовая криптография”. В самом начале справки утверждается, будто “у квантовой криптографии есть потенциал стать более надёжной/стойкой (secure), чем предыдущие виды криптографических алгоритмов, и она невзламываемая (unhackable) даже теоретически”. Этот момент про исключительную надёжность, весьма традиционный, базируется на не менее расхожем утверждении, что в основе стойкости квантовой криптографии, как бы, лежат некие “физические законы” или “законы природы”. Несмотря на то, что из самого описания алгоритмов понятно, что в основе стойкости лежит принятая математическая модель некоторой статистики и интерпретации, не менее математической, физических экспериментов с квантовыми частицами (одной из интерпретаций). То есть, технический метод защиты информации, передаваемой по физическим каналам связи, почему-то опять объявляется абсолютно стойким.

Cтатья, впрочем, идёт дальше и необходимость квантовой криптографии обосновывает тем, что квантовый компьютер, дескать, поможет быстро “факторизовать числа” и взломать RSA. А квантовая криптография тут может оказаться единственным способом защиты, потому что её не удастся взломать квантовым компьютером (что, вообще говоря, далеко не факт, если задуматься). Это, впрочем, вещи из совсем разных областей: не только нельзя путать технические методы защиты информации с математической криптографией, но и методы квантовой криптографии никак не избавляют от необходимости аутентификации сторон, между которыми установлен защищаемый технический канал связи. То есть, здесь тоже требуются либо заранее распределённые доверенным способом секретные ключи (но зачем тогда ещё и квантовая криптография?), либо какой-то механизм электронной подписи (который, конечно, будет чисто математическим, и как бы ещё не оказался на практике той же самой RSA в X.509-сертификате).

Отдельно можно отметить, что на той же странице размещён и небольшой блок текста про постквантовую криптографию, которая, – в заметном противоречии с только что заявленной уникальностью квантовой криптографии, как можно подумать, – тоже предлагает “квантово-защищённые” алгоритмы.



Комментировать »