Ресурсы: техническое описание TLS, LaTeX - в картинки (img), криптографическая библиотека Arduino, шифр "Кузнечик" на ассемблере AMD64/AVX и ARM64
В Let’s Encrypt выпустили первый TLS-сертификат со сроком действия шесть дней. Пишут, что сертификаты на шесть дней не будут содержать не только ссылки на OCSP, но и ссылки на CRL. То есть, механизмов проверки отзыва – не будет. В опубликованном сертификате, впрочем, адрес OCSP-респондера почему-то указан. Обратите внимание, что в сертификате поле Subject вообще пустое – это тоже новый формат: указание Subject/CN некоторое время назад сделали опциональным. Сам сертификат – ниже.
-----BEGIN CERTIFICATE----- MIIDSzCCAtGgAwIBAgISA7CwFcGk4mQWEXMacRtxHeDvMAoGCCqGSM49BAMDMDIx CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF NjAeFw0yNTAyMTkxNzMwMDFaFw0yNTAyMjYwOTMwMDBaMAAwWTATBgcqhkjOPQIB BggqhkjOPQMBBwNCAAQoSItt2V1aocI5dxrKR8iLfmm0KiVvOhiwKByzu2kLeC7C 0BdfAgtwdICdkuEhAXokhXLq6DNZZgmh5T4flVwZo4IB9zCCAfMwDgYDVR0PAQH/ BAQDAgeAMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwHwYDVR0j BBgwFoAUkydGmAOpUWiOmNbEQkjbI79YlNIwVQYIKwYBBQUHAQEESTBHMCEGCCsG AQUFBzABhhVodHRwOi8vZTYuby5sZW5jci5vcmcwIgYIKwYBBQUHMAKGFmh0dHA6 Ly9lNi5pLmxlbmNyLm9yZy8wKAYDVR0RAQH/BB4wHIIaaGVsbG93b3JsZC5sZXRz ZW5jcnlwdC5vcmcwEwYDVR0gBAwwCjAIBgZngQwBAgEwggEFBgorBgEEAdZ5AgQC BIH2BIHzAPEAdgDM+w9qhXEJZf6Vm1PO6bJ8IumFXA2XjbapflTA/kwNsAAAAZUf d/zOAAAEAwBHMEUCIFNd51TfSNiJrO+294t49C5ANc4oC7gTUzf7xnlNlhKsAiEA wi5hfiC9SsKLxlTQ0sctUxhLmdYh40r6ECWQS/yWw2AAdwDgkrP8DB3I52g2H95h uZZNClJ4GYpy1nLEsE2lbW9UBAAAAZUfd/0TAAAEAwBIMEYCIQCs2NuZIUIloOaH 1t9eXDKb8bjoWESBPsK4i2BxMvEIswIhAOMNaQNyr1YkzrcNUz15qGV0oVLg5BJN +ikWxXOdcRHFMAoGCCqGSM49BAMDA2gAMGUCMDANqy7G09AIwzXcd7SNl7uFwhC+ xlfduvp1PeEDHc/FA9K3mRYkGXuKtzNdOh7wcAIxALjEMDmBQiwXbB447oGkaZAe 0rqxA3EtNV5wj0obeObluj/NgUsVEG9OqiBIoggFRw== -----END CERTIFICATE-----
Комментировать »
Один из самых распространённых сценариев использования DNS, как сервиса, это поиск IP-адреса по имени хоста. Сервис DNS, в целом, нужно рассматривать как механизм, обеспечивающий поиск в глобальной распределённой базе данных записей по ключу. Можно считать, что в современном Интернете, с точки зрения обычного использования сервисов типа веба, каждый сценарий начинается с обращения к DNS, и задействует DNS на последующих шагах. Поэтому перехват и подмена DNS-трафика является одним из самых эффективных методов целевых атак. И, конечно, не только целевых.
На слуху сейчас пара методов защиты DNS, а также косвенно связываемый с DNS метод защиты доступа, реализующий аутентификацию по имени (TLS). Пара методов, относящихся непосредственно к DNS, это криптографическое расширение самой системы – DNSSEC, а кроме того защита трафика при помощи TLS – DNS-over-TLS (далее – DoT, сюда же относится “надстройка” в виде DNS-over-HTTPS, DoH). При этом часто можно услышать, что TLS, используемый для веба, – то есть, HTTP-over-TLS, – решает вопрос подмены DNS, так как позволяет аутентифицировать веб-узел по имени.
Действительно, TLS позволяет клиенту проверить подлинность сервера, к которому он подключается, при помощи серверного TLS-сертификата. Если DNS-ответ подменён и программа-клиент подключается к подменному узлу по TLS, то эта программа может проверить сертификат: предполагается, что подменный узел не имеет корректного ключа от доверенного сертификата, DNS-имя задано клиенту при обращении и должно сходиться с указанным в сертификате, поэтому подмена будет обнаружена. Последнее, конечно, подходит для большинства практических случаев, но в случае общем – просто не верно: подставной, но доверенный, сертификат для другого ключа мог быть выпущен либо при помощи всё той же подмены DNS, осуществлённой в направлении систем УЦ, либо при помощи перехвата трафика, идущего к легитимному узлу. Уже это наблюдение приводит к мысли, что TLS для веба никак не может отменить необходимость защиты DNS тем или иным способом – ведь это инструменты, работающие на разных шагах и на разных уровнях: если бы клиент обнаружил подмену DNS, то этот клиент не подключался бы к подменному узлу, так что подменный сертификат по описанной схеме не получилось бы применить (это, впрочем, не исключает применения “в разрыв”, то есть, на промежуточном узле).
Основное отличие TLS, как метода защиты в вебе, для HTTPS, от защиты DNS состоит в том, что для срабатывания TLS в вебе клиент всё же должен подключиться к атакующему, подменному узлу. А это совсем другая поверхность атаки. Например, атакующий узел может “проэксплуатировать” какие-то дефекты клиентской реализации TLS, что отменит требование о наличии легитимного сертификата: в особо продвинутых случаях ни один HTTP-запрос даже не будет отправлен, но клиент окажется взломан, получив код с атакующего узла. DNS, срабатывая раньше, позволяет предотвратить _само_ _подключение_ к подменному узлу по TLS. То есть, эффективная защита DNS предоставляет тут дополнительный рубеж безопасности. Поэтому предположение, что использование TLS с сертификатами в HTTP-over-TLS достаточно для защиты клиента, и поэтому не нужно защищать DNS, так как TLS решит все проблемы выше уровня IP, – ошибочно. (Не будем, впрочем, забывать, что TLS-сертификаты можно получить для IP-адресов тоже, даже в Let’s Encrypt автоматом.)
Но с защитой DNS есть свои проблемы. Вернёмся к паре упомянутых выше методов такой защиты. Первый из них – DNSSEC. Эта технология крайне мало распространена в доменных зонах. Зато DNSSEC касается буквально всех пользователей валидирующих резолверов, так как используется в корневом домене. Всего лишь несколько десятичных цифр позволяют отломить зону верхнего уровня целиком, при этом аварию DNSSEC в большой зоне замечают все и сразу, очередной раз демонстрируя, что про DNS мало кто вообще в курсе, пока эта технология работает, но как только ломается – о DNS узнаёт едва ли не каждый. Второй метод защиты, – DoT/DoH, – распространён существенно больше, поскольку на клиенте встроен прямо в браузеры, но касается только тех сессий, в которых используется. Так вышло потому, что эти технологии тоже принципиально различаются: и по шагам использования, и по уровню применения (почти как HTTP-over-TLS).
DNSSEC методами цифровой подписи обеспечивает аутентификацию данных в DNS. Основная практическая особенность DNSSEC в том, что она позволяет полностью отделить доверие источнику данных от доверия составу данных: не важно, каким образом и от какого узла получены DNS-данные с подписями DNSSEC, главное – чтобы подписи сходились к доверенному ключу. Доверенным, обычно, выступает ключ подписи ключей глобальной корневой зоны.
Если TLS позволяет удостоверить только узлы в рамках сессии, но не на уровне DNS, то DNSSEC, архитектурно, работает в другой плоскости: информация в DNS касается не сессий и узлов, а правил определения узлов и создания сессий. Поэтому, если поступили данные с DNSSEC-подписями, то DNS-клиенту всё равно, какой узел эти данные прислал, если подписи сходятся. В TLS, несомненно, тоже есть аутентификация передаваемых данных, однако эта аутентификация возможна только по конкретным сессионным ключам, то есть, здесь всё на уровне “передачи данных”. В TLS возможно только узнать, что данные передаёт тот сервер, у которого есть секретный ключ от ключа в сертификате, но ничего нельзя узнать про сами передаваемые данные. Поэтому, если требуется проверить сами данные, TLS не помогает, а нужны дополнительные методы.
Вспомним теперь, что DoH используется только на “последней DNS-миле”, то есть, от клиента к рекурсивному резолверу. DoT может использоваться и на авторитативных серверах (например, поддерживается NS wikimedia.org и facebook.com), но, всё же, распространена эта технология тоже только на “последней DNS-миле”. Таким образом, DoT/DoH не позволяют проверить подлинность DNS-данных, как их видит резолвер, но позволяют аутентифицировать резолвер и зашифровать данные на “последней DNS-миле”. DoT/DoH скрывают трафик от пассивно прослушивающей канал стороны – обычные DNS-пакеты, напротив, ходят в открытом виде, так как DNSSEC никакого зашифрования не предусматривает. Но “последняя миля” тут очень важна: трафик DNS к резолверу, соответствующий запросу клиента, всё равно ходит в открытом виде (если, конечно, резолвер не использует только DoT в направлении авторитативных серверов, но так сейчас работать DNS не будет на практике). В DNS-запросы могут быть встроены маркеры, которые позволят различать источники этих запросов на промежуточных узлах “за резолвером”.
Интересно, что в DNS, как в систему, давно встроены базовые методы защиты от спуфинга ответов. Встроены они на уровне пакетов и UDP-обмена. Классический элемент пакета – это поле TransactionID, которое содержит 16-битный идентификатор: предполагается, что корректный ответ сервера будет содержать TransactionID, совпадающий с присланным в запросе, и это позволит клиенту (резолверу) отличить настоящий ответ от “подспуфленного”, который присылает узел, не видевший запроса. Второй элемент – номер порта источника, указываемый в UDP-пакете. Работать должно аналогично схеме с TransactionID, но с учётом особенностей транспорта: то есть, ответ на тот же номер порта, который указан в качестве источника (и тут необходимо “передать привет” NAT). Есть и более экзотическая схема, построенная на рандомизации регистра символов имени (DNS Case Randomisation). Эти методы работают где-то между DNSSEC и DNS-over-TLS: сторона, видевшая запрос, всё равно может подделать ответ.
(Эту заметку я первоначально выложил на “Хабре” как статью, однако там отметили, что в такой статье “нет описания самих протоколов”, и это обманывает ожидания кликающих. Замечание резонное, скорее всего, так и есть – но я и не планировал описывать здесь детали устройства самих протоколов, идея публикации, действительно, архитектурная. В общем, на “Хабре” я статью пока убрал в раздел “Черновики”, чтобы не беспокоить аудиторию уважаемого ресурса, а здесь – опубликовал.)
Комментировать »
Аккаунт на “Хабре” у меня уже больше пятнадцати лет, однако за эти годы я там написал только два комментария (сейчас уже четыре!). Подумал, что, наверное, пора и статью попробовать опубликовать – подготовил, да и опубликовал технический текст про ключи и шифротексты ML-KEM в TLS, с числами и байтами.
Комментировать »
Одной из распространённых ошибок настройки DNS является рассогласование списков авторитативных серверов имён на разных уровнях системы. То есть, в делегирующей записи присутствуют имена серверов, которые отсутствуют в самой DNS-зоне. Предположим, в зоне .com для example.com указаны серверы ns1.example.com, ns2.example.com и ns1.example.net (список делегирования), а в самой DNS-зоне example.com список NS-ов включает только ns1.example.com, ns2.example.com. Это пример упомянутой ошибки. (Список NS-ов из DNS-зоны – это ответ на запрос NS, полученный от авторитативного сервера.) Обратите внимание, что обратная ситуация, когда список делегирования вкладывается в список NS-ов на стороне DNS-зоны, проблемы не представляет. А вот если в делегирующей зоне обнаружен “лишний” NS, то это плохо и является грубой ошибкой.
Почему это так? Прежде всего потому, что “лишнее” имя может вообще не контролироваться администратором зоны – соответственно, это имя может контролировать третья сторона, которая, из-за неверного делегирования, получит возможность отвечать на DNS-запросы, относящиеся к исходной зоне. На всякий случай напомню, что управление DNS позволяет полностью перехватить все сервисы, адресуемые именами в DNS-зоне: можно переадресовать веб-сайт, получать электронную почту, получить валидный TLS-сертфикат и так далее.
Как сторона, строго полагающаяся на DNS в какой-то своей деятельности, может определить, что с настройками чужой зоны что-то не так на уровне NS-ов? Например, можно сравнить список делегирования и перечень авторитативных NS-ов в зоне. И сделать это можно, – как ни странно, – только специально опросив авторитативные NS-ы. Ответ авторитативных NS-ов вышестоящей зоны – принесёт достоверный список делегирования. А ответ авторитативных NS-ов целевой зоны – достоверный список NS-ов. И если первый список содержит имена, которых нет во втором, то это признак того, что с зоной что-то случилось: например, происходит перехват управления.
При этом, вообще говоря, достаточно, чтобы списки не сходились с ответом одного авторитативного NS целевой зоны. Поэтому-то списки авторитативных NS-ов, возвращаемые серверами целевой зоны, должны совпадать между серверами. Если эти списки отличаются, то ситуация тем более подозрительна, поскольку невозможно понять, какой список настоящий, а какой – подменный. Естественно, резолверы, выполняющие рекурсивный опрос, не всегда следуют правилу, что за окончательной версией большинства DNS-записей обращаться можно только к тем NS-ам, имена которых получены в авторитативном ответе, соответствующем целевой зоне. “Авторитативность” тут определяется не столько по флагу в DNS-ответе сервера, сколько совместно по иерархии делегирования и источнику ответа: то есть, хоть начальный список NS-ов и получается из вышестоящей зоны в делегирующем ответе, но достоверные имена NS – те имена, которые есть и в ответах самих этих серверов. Этот момент постоянно упускают из виду. (К сожалению, DNS часто настраивают как попало, поскольку бытует неверное мнение, что “это очень простая система: отправил имя – получил IP-адрес”.)
Почему перечни имён NS в зоне должны сходиться с делегирующими списками? Представьте, что атакующий каким-то образом перехватил управление и смог добавить собственный NS (по имени) в делегирующий ответ (это может быть сделано далеко не только на уровне регистратора доменов). При этом успешно подменён только делегирующий ответ, а сами авторитативные NS целевой зоны (не делегирующей), как узлы, не взломаны и работают штатно. Подменив делегирующий ответ, атакующий никак не повлиял на ответы авторитативных NS – если резолвер спросит эти NS, то получит список NS без добавления подменного узла. Да, резолвер, обрабатывающий список из делегирующего ответа, не может сразу предположить, какое имя было добавлено атакующим. Поэтому, если резолвер опрашивает все NS из списка, то он обязательно обратится и к подменному NS. Но, ещё раз, этот NS не может повлиять на саму подлинную зону и на ответы других NS – поэтому возникнет видимое расхождение. Заметьте, что если подменный NS возвращает тот же список NS, что и настоящие, то всё равно есть расхождение списка делегирования и списка NS в зоне. (Да, понятно, что обычный резолвер не обязательно выполняет все эти запросы и сравнивает результаты. Но в ситуации, когда требуется подтвердить какой-то параметр DNS-зоны, – например, при выполнении проверки права управления для выпуска TLS-сертификата, – непосредственный опрос многих NS и сравнение списков – необходимый шаг.)
Лишние NS в списке делегирования позволяют заподозрить, в худшем случае, активную атаку, а в лучшем – наличие больших проблем с DNS-зоной. Нередко, лишние NS появляются в результате опечаток или “забывчивости” администраторов, что свидетельствует об отсутствии необходимых проверок при изменении настроек сервиса.
Комментировать »
Вот ещё весьма показательный момент, про всё это современное ИИ/LLM. Бот от корпорации OpenAI выполняет на dxdt.ru больше тысячи запросов (GET, по адресам записок) в сутки с разных IP, в User-Agent написано: “Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)”. Очевидно, цель – загрузка всё большего количества текстов в синонимайзер-переросток, который потом продвигают в СМИ как уникальный “интеллект”. Вычислительных ресурсов там много, несмотря на “проблемы изменения климата”, поэтому об оптимизации не задумываются – сканируют всё повторно, по много раз.
Приходит этот бот с IP-адресов Microsoft. Однако, игнорируя не только слово “Open” в названии, но и даже минимальные представления об адекватной разработке ботов-сканеров, информационный URL, указанный в User-Agent, недоступен для российских IP-адресов: возвращает HTTP 403 и страничку с надписью “Sorry, you have been blocked”. (С IP-адресов, которые Cloudflare пока что считает не российскими, доступ есть, так что можно убедиться, что это действительно OpenAI.)
P.S. Обратите, кстати, внимание, что тут уже GPTBot/1.2, а не GPTBot/1.1, как у них на сайте указано в описании.
Комментировать »
Недавно, в заметке про TLS-сертификаты для IP-адресов, я упоминал метод проверки права управления узлом через TLS-ALPN, который может использоваться в рамках ACME (протокол автоматического взаимодействия с Удостоверяющим Центром – УЦ). Надо заметить, это самый экзотический способ проверки из сейчас используемых. Вообще, понятно, что для IP-адресов проверять административные права через DNS – не самый разумный вариант, поскольку DNS надстроена над IP-адресным пространством и проверить не получится. В этом случае даже общепринятое название процесса DCV – Domain Control Validation – не подходит, ведь проверки “управления доменом” тут нет, а есть проверка управления узлом. Поэтому-то даже и обратная зона не сгодится: возможность внесения записей в обратную зону означает, что оператор (предположительно!) управляет соответствующим префиксом, но не обязательно управляет интернет-узлами, попадающими в адресное пространство префикса.
Схема TLS-ALPN работает в типовом варианте “запрос – подтверждение”, но выполняется на самом низком уровне TLS. Логика следующая:
проверяющая сторона, – то есть, сервис УЦ, – устанавливает с проверяемым узлом TLS-соединение, указывая в начальном сообщении (ClientHello) специальное значение в расширении ALPN – это запрос;
проверяемый узел в ответном сообщении TLS (Certificates) отправляет в качестве сигнала специально сконструированный TLS-сертификат, содержащий нужные для подтверждения параметры в расширении SAN (это дополнительные имена и IP-адреса) и в специальном расширении acmeIdentifier.
Сами значения согласуются заранее, в ходе подготовительных шагов ACME.
ALPN – Application-Layer Protocol Negotiation – это штатный инструмент TLS, но в данном случае используется уникальный идентификатор, предназначенный именно для этой схемы: “acme-tls/1”. Использование же TLS-сертификата в роли средства доставки специального сигнала – механизм пусть и причудливый, но всё же иногда используемый. Например, я в своём тестовом сервере TLS передаю сигнальный сертификат, который генерируется каждый раз в ходе установления соединения и содержит сведения об IP-клиента и выбранном способе согласования симметричных ключей. (Но в браузере вы этот сертификат увидеть не сможете, хоть он и всегда есть в сессии.)
Конечно, основной особенностью данного метода является то, что он требует достаточно низкоуровневого взаимодействия с TLS-сервером и срабатывает до того, как запросы вообще доберутся до веб-сервера. Собственно, веб-сервер тут вовсе и не участвует в процессе.
Да, в принципе, используя тот момент, что для TLS-ALPN-подтверждения сертификат нужно сгенерировать заранее, и то, что указание ALPN и имени сервера позволяет воспользоваться программным интерфейсом той или иной TLS-библиотеки, возможно прозрачно подставить сигнальный сертификат в TLS-ответ даже в том случае, когда полного контроля над TLS-сессией нет. Но схема от этого не перестаёт быть низкоуровневой и экзотической.
Комментировать »
Всё ж, оказался очень открытым сервис LLM/AI DeepSeek – регистрация требовалась только для веб-интерфейса чата, а так-то все базы, похоже, были открыты, как говорится, “без SMS”. Цитата из сообщения OpenNET:
В ходе изучения публично доступных поддоменов deepseek.com исследователи обратили внимание на хосты оoauth2callback.deepseek.com и dev.deepseek.com, на сетевых портах 9000 и 8123 которых находился сервис хранения, основанный на СУБД ClickHouse. Сетевой порт 9000 использовался для подключения приложений, а через порт 8123 предоставлялся web-интерфейс, дающий возможность отправить любой SQL-запрос.
Выставленные настройки СУБД предоставляли полный контроль над операциями в БД, при доступе без прохождения аутентификации. По мнению исследователей, имеющегося доступа было достаточно для организации атаки, не ограничивающейся СУБД и позволяющей получить привилегированный доступ к инфраструктуре DeepSeek.
Комментировать »
TLS-cертификаты для IP-адресов, которые собирается выпускать Let’s Encrypt, могут быть полезны и для решения задач внедрения DNS-over-TLS (DoT) на авторитативных серверах DNS. Аутентификационное имя DNS к узлу, поддерживающему DoT, привязать довольно сложно, а вот IP-адрес всегда есть. Другое дело, что DNS уже централизована дважды: через управление содержанием корневой зоны (это архитектурное требование DNS, позволяющее сохранять глобальность) и через управление корневым ключом DNSSEC (это архитектурное требование уже для глобальности DNSSEC, усиливающее позиции корня DNS). Если ещё и транспорт для DNS завести на центральный УЦ, то централизация усилится многократно. Конечно, возможно, это и является целью.
Комментировать »
С ИИ-агентами, типа бота от OpenAI, описанного в прошлой записке, возможны всякие забавные направления атак. Так, по условиям задачи, агент полностью управляет компьютером, через системный API клавиатуры и мыши (то есть, эмуляция HID, по-научному). Поэтому атакующий может, например, убедить ИИ-агента открыть в браузере нужную веб-страницу, где уже автоматом установится то или иное “зловредное ПО”. Теоретически, такой ИИ-агент должен отказываться устанавливать произвольное ПО непосредственно. Однако, во-первых, ПО может устанавливаться без участия агента через ту или иную уязвимость, про которую ни OpenAI, ни, тем более, ИИ-агент не знают, – главное, чтобы в браузере были выполнены нужные действия. Во-вторых, ИИ-агента, который отказывается установить ПО, можно и обмануть, и взломать – это всего лишь программный интерфейс, а не какой-то там “интеллект”, что неоднократно демонстрировалось на практике.
Вообще, в системе, которая для работы требует установить на пользовательский компьютер средство для удалённого доступа (а ведь типовой подход, так сказать), с “приваси” и безопасностью всё будет заведомо плохо, это понятно: скриншоты записываются и уходят “неопределённому кругу лиц”, а все вводимые в формы данные – сохраняются в логах сервиса, откуда могут быть получены другими пользователями, отправляющими запросы в какой-нибудь чат-бот на той же системе. Но нельзя игнорировать и более технические моменты, которые в такой схеме традиционно возникнут, но, как бы, “неожиданно”: например, окажется, что удалённый доступ к локальному агенту практически никак не защищён и тут, из-за ошибок, аутентификация либо совсем не работает, либо легко взламывается удалённо. А могут взломать и центральные системы OpenAI, получив удалённый доступ к большому количеству агентов на устройствах (или даже ко всем агентам сразу). Масштабы применения нового поколения игрушечного сервиса “автозаполнения форм” – велики.
Программа-агент такого типа, конечно, вовсе не нуждается в браузере и в присутствии на компьютере: понятно, что даже если это “говорящая” система, принимающая команды на естественном языке, то для выполнения задач типа бронирования отеля система должна напрямую обращаться к сервисам бронирования, а не скриншоты из пользовательского браузера рассматривать. Но если реальная задача состоит в том, чтобы попасть приложением-ботом на пользовательское устройство, да ещё и с разнообразными правами доступа, даже выше браузера, то о реальном удобстве для этого пользователя можно не особенно-то и задумываться. Тем более, что пользователь ещё и платит. Тут и прозрачные “интеграции” с рекламными сервисами наладить нетрудно, хоть бы и через тот же браузер, передавая уникальный идентификатор, через ИИ-агента, на сторону центральных серверов провайдера GPT, с которых уже выполняется привязка сессий к рекламному провайдеру.
Кстати, наличие программы-агента позволяет автоматически открыть браузер (или банковское приложение) и не просто подписать пользователя на всякие совершенно точно “необходимые” ему платные сервисы, подтвердив всё, что требуется, но и совершить произвольные платежи: если агент работает ещё и на смартфоне, то код подтверждения получить совсем нетрудно. И поэтому атакующий может убедить ИИ-агента через чат, что это настоящий пользователь пишет, потому что он “забыл ключи дома”, “потерял смартфон”, а нужно срочно оплатить авиабилеты и бронь отеля, который вчера выбирали вместе, всё по указанным реквизитам, которые, вот же – прикреплены к сообщению. Тоже забавное развитие технологий. Особенно, когда убеждать через чат и звонками одного ИИ-агента станет другой ИИ-агент, специально обученный: всё должно автоматизироваться – для этого же и придумывается.
Комментировать »
OpenAI, следом за другими корпорациями в области AI/ИИ, предлагает “ИИ-агента”, который будет управлять компьютером пользователя при помощи рассматривания скриншотов и отправки команд через (виртуальные) клавиатуру и мышь. Тем самым, по мнению маркетинга OpenAI, агент будет автоматизировать типовые повторяющиеся пользовательские задачи, типа “бронирования отеля”. Непосредственно с компьютера пользователя, контролируя этот компьютер с центрального сервера по скриншотам. Такой вот “бот” для “ботнета” или новая Скрепка из MS Office.
То есть, если задуматься, то вот какое забавное развитие технологий силами ИИ-корпораций мы можем наблюдать, на примере “бронирования отеля”: с сервисом, доступным через Интернет, и находящимся в одном дата-центре, при помощи скриншотов браузерных окон взаимодействует сервис, потребляющий ресурсы в другом дата-центре.
При этом, заметьте, пользователю предлагается подтверждать действия ИИ-агента. Чтобы внести изменения в одном интерфейсе – пользователь подтверждает действия в другом интерфейсе, который специально надстроен над предыдущим, – через скриншоты, – но ещё и с использованием кучи вычислительных ресурсов в отдельном дата-центре. Попутно отправляются в этот дата-центр сведения о том, что делается в первом дата-центре, но через компьютер пользователя. Вспомните, что в браузере при этом работает какое-нибудь многомегабайтное “приложение” с Node.js, собранное из кучи “фреймворков”, в которой куче для раскрашивания одной кнопки в интерфейсе используется тысяча верхнеуровневых вызовов и два десятка внешних библиотек, и это всё без учёта работы операционной системы. Ну и ещё на стороне сервера системы бронирования всяких слоёв накручено аналогичным образом.
Предполагается, что “капчу” решает “ИИ-агент” самостоятельно, что забавно. На практике, наверное, будет переспрашивать пользователя.
Несомненно, код для сервиса бронирования – тоже будет переписан силами чат-бота с LLM.
Конечно, на строительство потребляемых дата-центров потребуются те самые “базиллионы вашингтонов” (денег, то есть).
Лет пятнадцать назад, в 2010 году, я писал про “суперизбыточные технологии”, на примере использования Google в качестве калькулятора:
Для проведения одной элементарной операции с целыми числами задействуется огромное число компьютеров: начинается всё на локальном ПК с браузером, выполняющим сотни тысяч арифметических операций (аналогичных по сложности исходной операции) для формирования http-запроса; дальше работают десятки маршрутизаторов, пересылающих пакеты, каждый из которых опять же выполняет сотни арифметических действий; пыхтит коммуникационное оборудование на более низких уровнях модели OSI, и это оборудование тоже много вычисляет, упаковывая пакеты в каналах, кодируя и декодируя данные; лишь потом приходит черёд серверов Google, которые запрашивают базы данных (потому что всё равно идёт поисковая выдача).
Что ж, теперь вычислить, сколько будет 3*7, при помощи Google, используя браузер в качестве проксирующего узла со скриншотами, сможет ИИ-агент OpenAI. В результате получится, скажем, 137, а пользователю будет предложено подтвердить, что ответ верный.
Комментировать »
TLS-сертификаты с очень коротким сроком действия должны решить проблему отзыва сертификатов в вебе: то есть, так как отзыв, фактически, не работает, выполнение его функции переносится на штатное истечение срока действия. Это не отменяет возможности по выпуску “быстрых” подменных сертификатов для активного перехвата соединений, но есть и ещё некоторые занятные технические особенности. Короткоживущий сертификат, вообще говоря, оказывается существенно эффективнее механизмов отзыва.
Предположим, что сертификаты начали впускать на 48 часов максимум, а базовым удостоверяющим центром для них всё так же является один централизованный сервис, типа Let’s Encrypt. Например, основная доля веб-узлов зоны .RU “подписана” этим УЦ. Если потребуется быстро отозвать миллионы сертификатов штатным образом, – что через обязательные CRL, что через опциональный OCSP, – то возникнет большая сопутствующая нагрузка на системы УЦ. В случае же с короткоживущими сертификатами – никакой дополнительной нагрузки не возникает, более того, нагрузка уменьшается: отзывать ничего не требуется, а УЦ просто перестаёт выпускать новые сертификаты для заданных имён (и IP-адресов).
Конечно, то же самое произошло бы и с “долгими” сертификатами, но там осталось бы больше времени для манёвра. Не то чтобы это ключевой фактор, но, всё же, особенность занятная, поскольку “короткие” сертификаты не только строго привязывают к некоторой автоматической технологии, но и дополнительно увеличивают степень централизации, вводя очень эффективный, “самосбывающийся” механизм быстрого отключения.
Комментировать »
Новый