Кстати, в рамках свежего обновления, на сервис ТЦИ audit.statdom.ru, кроме прочего, добавлен вывод HTTPS-записи (при наличии, см. скриншот) и определение поддержки MLKEM+X25519 для TLS-узлов (см. второй скриншот).

Screenshot, HTTPS

На скриншоте – HTTPS-запись DNS-зоны, размещённой на сервисе Cloudflare. Можно видеть сведения об IP-адресах, указание на то, что присутствует ECH-конфигурация (сама конфигурация пока что не выводится).

Screenshot, MLKEM

Обнаружение поддержки постквантовой гибридной криптосистемы MLKEM+X25519 выполяется TLS-сканером отдельно (естественно, это, пока что, редкая криптосистема, если распространённость определять по количеству TLS-узлов).



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

Кстати, ECH для TLS я достаточно подробно, – но, вместе с тем, популярно, – описывал в отдельной статье на сайте ТЦИ в 2021 году. Описание там дано в контексте развития “этих интернетов”, начиная от ESNI, что, на мой взгляд, весьма полезно.



Comments Off on Ссылки: популярное описание ECH

Языки программирования на GitHub, рейтинг 2024 года: всех обогнал Python, что и понятно – первая же главная тенденция, упомянутая в отчёте GitHub, – рост активности по разработке AI/ИИ. Я GitHub, в смысле публикации результатов, практически не использую (кроме того, конечно, что это типовой источник исходных кодов и других весьма полезных данных), а вот языки программирования – использую. Python, который с первого места рейтинга, – использую регулярно, но по чуть-чуть: в основном, потому что это входной язык SAGE (система компьютерной алгебры), но и потому, что весьма удобно написать какой-то быстрый демонстрационный скрипт, иллюстрирующий работу с тем или иным API.

На втором месте рейтинга – JavaScript. Постоянно теперь использую, так как он среди основных языков в паре проектов, к которым я имею непосредственное отношение.

Третье место – TypeScript. Не использую, однако специфический код, хоть и редко, но попадается.

Четвёртое место – Java. Очень давно не использую. Однако с кодом на Java сталкиваюсь не так редко, как хотелось бы.

Пятое место – C#. Очень и очень давно не использую, не попадается.

Шестое место – C++. Иногда использую, в том числе, всякие “варианты” для Arduino и др. Код попадается постоянно. Вообще, я согласен с известным мнением, что основной недостаток “плюсов”, как явления, в том, что никто их реально не знает (буквально).

Седьмое место – PHP. Иногда использую: например, dxdt.ru работает на WordPress, а это PHP.

Восьмое место – Shell. Что бы это ни значило, однако большие bash-скрипты – и пишу, и использую постоянно.

Девятое место – C. Регулярно использую (см. комментарий к шестому пункту выше). Постоянно требуется смотреть в код на C. Для криптографических инструментов, системных сервисов – всё ещё основной язык подлинной документации (а не “руководства пользователя”).

Десятое место – Go. Сейчас у меня это основной используемый язык, он был бы на первом месте, но в рейтинге GitHub – почему-то на десятом.

Perl не попал в десятку. Шутка. Ну, то есть, действительно не попал, а я иногда использую, но гораздо реже, чем разные ассемблеры. Впрочем, Rust в десятку тоже не попал (пока так и не использую, но код иногда читать приходится).

Кстати, о языках: несмотря на название (GitHub), в том же рейтинге самый большой прирост разработчиков на данной платформе указан для Великобритании.



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

На сайте ТЦИ опубликована моя статья «Постквантовые криптосистемы в TLS и не только». Там про ML-KEM и вес ключей, а также о сертификатах и, – немного, – о квантовых вычислениях. Цитата:

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



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

Очередная атака “про Spectre”, позволяющая, в частности, читать память произвольных процессов в Linux, и на Intel, и на AMD. Пусть в этот раз речь в публикации не про новые аппаратные особенности, а про исправления в старых особенностях, но я всё же сошлюсь на свою записку о неустранимости подобных дефектов аппаратуры.

(Подробная статья на OpenNET.)



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

Решил посмотреть, что пишут в поисковых машинах про TLS. Не обошлось без ИИ. По профильному запросу “Аутентификация в TLS” поиск Ya.ru (это “Яндекс”) отдельным блоком в самом верху страницы показывает текст со странным утверждением, что MITM-атака, это “когда третья сторона вмешивается в соединение двух участников и перехватывает закрытые ключи”. Тут же указано, что это текст от YandexGPT. Да, MITM подразумевает вмешательство третьей стороны, но суть атаки состоит в том, что эта третья сторона выдаёт себя за другого участника обмена, а не “в перехвате закрытых ключей”. MITM, хоть и может использоваться для “перехвата ключей”, но, вообще-то, не про перехват, а про подмену.

Впрочем, цитата сопровождается ссылкой на более объёмное “Введение в TLS”, которое, насколько можно понять, тоже сгенерировано YandexGPT, однако подписано Yandex.Cloud и опубликовано на другом сайте из “обломков” “Яндекса”, а именно, – ни много ни мало, – на сайте самого этого сервиса Yandex.Cloud, который, вроде бы, имеет прямое отношение к информационным технологиям (впрочем, сейчас уже сложно определить). Кроме прочих занимательностей, на этой странице с описанием TLS, например, в блоке с подзаголовком “Целостность данных в TLS” сказано, буквально, следующее:

“TLS гарантирует защиту передаваемых данных от потери, изменения или дублирования. Для этого применяются функции хеширования, вычисляющие контрольный хеш данных и присоединяющие его к основному сообщению. Сравнение отправленной и полученной хеш-суммы данных позволяет убедиться в том, что информация пришла в исходном виде”.

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

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

К сожалению, некорректные и весьма странные утверждения встречаются по всему упомянутому тексту. Видимо, это всё результат, выданный синонимайзером YandexGPT. Например, в блоке “Преимущества использования TLS” утверждается, что “протокол TLS поддерживает NAT” и что “в TLS встроены функции журналирования и аудита”. Если что, то ни первое, ни второе – не верно: в TLS, естественно, нет “поддержки NAT”, но протокол, понятно, может работать через соединение, использующее трансляцию адресов (NAT); TLS не предусматривает никакого “журналирования и аудита” на уровне протокола, да ещё и в качестве “преимущества”, всё строго наоборот – TLS современной версии (1.3) старается снизить возможности по сбору метаинформации, которая могла бы обеспечить “журналирование” и “аудит”.

Представьте, что текст, позиционируемый как описание принципов построения современных языков программирования, содержит следующий фрагмент: “В языках программирования очень распространён оператор присваивания. Из-за своих преимуществ этот оператор обозначается двойной вертикальной чертой и помещает в переменную справа, которая называется “регистром”, значение суммы переменных слева. Оператор присваивания повсеместно записывается вот так: a,b || c”. Подходит ли такой текст в качестве ответа на вопрос об операторах в современных языках программирования? Вряд ли. При этом, поисковые системы всё ещё не полностью растеряли “авторитетность” в глазах пользователей Веба, так что пользователи теперь вынуждены пытаться осмыслить “ответ”, сгенерированный LLM, тем более, что ответ, – вроде как, – записан строгим текстом. Такой вот прогресс.



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

Telegram очередной раз оказался на волне популярности в мировых СМИ. Поэтому появляются статьи, пытающиеся скорректировать “маркетинговые моменты”: Matthew Green про Telegram – популярное описание (англ.) на тему того, считать ли Telegram защищённым, так сказать, если не ограничиваться заявлениями СМИ.



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

NIST выпустил первые стандарты по криптосистемам с постквантовой стойкостью. Как и ожидалось:

  • FIPS 203: обмен ключами (KEM) – Kyber, который в стандарте называется ML-KEM, где ML – это Module-Lattice (модули с решётками, а не “машинное обучение”);
  • FIPS 204, FIPS 205: подписи – CRYSTALS-Dilithium (ML-DSA, основной, 204) и Sphincs+ (SLH-DSA, дополнительный/резервный, 205).

(via)

P.S. Универсальных квантовых компьютеров пока нет и не видно, даже если присмотреться, но NIST в новости намекает, что, “как предсказывают некоторые эксперты”, квантовые компьютеры, способные взламывать современные криптографические алгоритмы, всё же могут появиться в течение десяти лет.



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

Официальная новость ТЦИ про добавление определения X25519Kyber768 на audit.statdom.ru (САБИУ). Цитата:

На серверной стороне поддержка реализована, например, на узлах Google и веб-фронтендах Cloudflare, одного из крупнейших мировых провайдеров веб-доступа. То есть существенная часть веб-трафика в Интернете уже защищена с помощью данной криптосистемы.

Вообще, этот момент почему-то сейчас упускают из виду: может, оно и прошло незаметно, но сейчас, если вы используете Google или Youtube через более или менее современный браузер из распространённых, TLS-трафик уже защищён при помощи ключей, полученных с использованием Kyber768 – то есть, постквантовой криптосистемы. А если сюда добавить, что очень многие мало-мальски популярные сайты используют Cloudflare, – в том числе, в Рунете этот сервис очень распространён, – то окажется, что немалая часть обычного TLS-трафика в Вебе, – точно больше трети, – уже перешла, так сказать, на “постквантовые ключи”. А момент довольно интересный, но почему-то про него не особо-то пишут даже технические СМИ.

(Кстати, по наличию поддержки на стороне сервера можно, – примерно, – судить, у кого насколько “свой” TLS-бэкенд. Тоже занимательно.)



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

Код, написанный на C, можно транслировать на другие языки высокого уровня при помощи строгого и детерминированного транслятора. Казалось бы. Тем не менее, DARPA тоже подключается к хайпу и предлагает реализовать такой транслятор при помощи LLM. Конечно, перевод должен осуществляться на Rust, потому что нужно же “исключить уязвимости при работе с памятью”, но, конечно, нельзя исключать и влияние моды – об этом, кстати, прямо сказано в исходном сообщении.

(Новость на русском.)



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

Очередное “ИИ решает математические задачи”, в этот раз – от Google и про олимпиадные задачи, но, хотя бы, есть уточнения про ограничения. В исходном сообщении сказано, что “AI achieves silver-medal standard solving International Mathematical Olympiad problems” (“ИИ достиг уровня серебряной медали, решая задачи Международной математической олимпиады”).

Если прочитать сообщение внимательно, то оказывается, что, на первом шаге, задачи были вручную переформулированы в виде предложений на формальном языке, который “подходит для системы”. Буквально: “First, the problems were manually translated into formal mathematical language for our systems to understand” – “Прежде всего, задачи были вручную переведены на формальный математический язык, чтобы наши системы их поняли”. То есть, данный ИИ, – который, как теперь напишут в СМИ (не Google), “демонстрирует уровень серебряного медалиста Международной математической олимпиады”, – даже не может прочитать задачи в том виде, как они представлены для людей (я, собственно, давно привожу этот момент в качестве примера).

Под “формальным математическим языком”, судя по всему, имеется в виду язык системы компьютерных доказательств Lean. То есть, речь, конечно, не про то, что задачу просто “записали строго”: исходные формулировки и так достаточно строгие. Заметьте, что корректный перевод исходного текста задачи на тот или иной формальный язык требует достаточно высокой квалификации и, обычно, примерного понимания сути самой задачи. Рассматриваемой системе ИИ этот шаг, очевидно, недоступен.

На втором шаге ИИ-нейросеть генерировала тексты, представляющие собой запись на формальном языке “доказательства” для поставленной задачи, а то, что получилось, автоматически проверяла при помощи системы компьютерных доказательств Lean, после чего “вносила исправления”. Это называется оптимизированный перебор. Или, так как происходит поиск с дополнительными условиями по всему пространству возможных текстов “программ-доказательств” для Lean, можно сказать, что это “форсированный поиск” по тем “веткам”, которые, предположительно, ведут к корректному “доказательству”. Под “корректным” тут подразумевается такой текст программы, который будет принят системой доказательств Lean – то есть, она не выдаст сообщений об ошибках. Это, конечно, никакой не поиск решения олимпиадной задачи в математическом смысле – это поиск текста, парного к тексту формулировки задачи, если в качестве связующей системы используется Lean.

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



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