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

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



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

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

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



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

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

Другой занимательный аспект: может даже так получится (из-за блокирования точек входа и отдельных веб-ресурсов в национальных сегментах, например), что для доступа к более или менее “глобальному” вебу потребуется аккаунт Google.

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



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

Что касается проксирования трафика, встраиваемого Google в браузер Chrome, и как такая технология вообще может выглядеть в своём развитии.

1.

Имя сервиса (“веб-сайта”, грубо говоря) будет известно на стороне клиента (браузера). IP-адреса – скрываются перемешивающей наложенной сетью из прокси. То есть, если смотреть с точки зрения пассивного анализатора трафика протоколов (DPI), ближе к клиенту остаются видны только IP-адреса входов в наложенную сеть. При этом сам протокол доступа будет устроен таким образом, что внешне станет выглядеть как случайный набор данных, передаваемый в пакетах случайной длины. Все параметры согласуются между клиентом и прокси при помощи криптографических ключей, а так как там сразу встроена аутентификация для пользовательского аккаунта, то и ключи можно прозрачно принести на клиент через реквизиты доступа пользователя (пароль/логин и т.д.). Раскрыть какие-то дополнительные параметры соединения система инспекции трафика может только активно вмешиваясь в соединение, например, через проверку подключений (connection probe).

2.

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

3.

В описании конкретно той технологии, которую внедряет сейчас Google, отдельно сказано про сохранение некоторой “географической привязки” (GeoIP) – предполагается использовать для выходных узлов IP-адреса, “представляющие примерную геолокацию пользователя, в том числе, страну”. За этим вовсе не обязательно должен стоять комплект физических прокси, расставленных по разным странам в соответствии с геопривязкой входных узлов. “Геолокация” – это полностью независимый от IP-сети метод, в котором IP-адрес используется просто как “ключ для поиска”. Поэтому, например, Google может предоставить API, позволяющий получать геолокацию по выходным узлам их наложенной сети, или встроить “размытую геолокацию” в качестве дополнительного параметра запроса браузера (уже есть поддержка), или даже просто описать административную принадлежность в базах данных соответствующих IP-регистратур, но не менять сетевое расположение точек выхода. Сами же сетевые подключения уровня IP для выходных узлов могут находиться где угодно (заметьте, что адрес, административно приписанный к организации в той или иной стране, сейчас можно унести в любую точку Сети даже на уровне виртуализации каналов связи, то есть, ниже IP/BGP).



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

Довольно давно ожидается, что и наиболее распространённые браузеры получат встроенные механизмы сокрытия путей трафика, использующих отдельную инфраструктуру узлов “перемешивания”. Вот Google добавляет в Chrome (пока что, в качестве эксперимента) встроенное проксирование, напоминающее onion-маршрутизацию TOR: то есть, после разворачивания поддержки, планируется как минимум два промежуточных прокси, принадлежащих разным “действующим лицам” (Google и “провайдер CDN”), чтобы, в перспективе, один проксирующий узел знал источник запросов, но не точку назначения, а второй – знал точку назначения, но не источник (речь про IP-адреса).



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

Пишут про перехват TLS-трафика сервиса Jabber.ru, без ведома администраторов: это практическая атака, судя по подробному описанию – там всё как положено: MITM в TLS и подмена серверного сертификата на тоже валидный. Как пишут, выпуск сертификата, скорее всего, проведён при помощи перехвата трафика, идущего на оригинальный сервер – подменные сертификаты попали в CT-логи, в описании есть на них ссылки (это сертификаты Let’s Encrypt, конечно).

Вообще, побороться с подобной подменой, когда возможен перехват трафика на уровне хостера (а это практически всегда так), весьма сложно. Единственный более или менее эффективный способ – прямая авторизация серверных ключей клиентом по отпечаткам, однако, это сложно, плохо масштабируется, ну и так далее. (Отмечу, что применительно к Jabber/XMPP – есть схемы с защитой точка-точка, между пользователями – OMEMO, например). Certificate Transparency (CT), CAA и подобные технологии, направленные на УЦ, от таких атак не особо защищают: CT, несомненно, полезно, но часто работает постфактум, потому что, как минимум, нужно клиентам проверять метки в сертификатах; и это, если вообще считать, что CT тут работает – технически, выпустить быстрый подменный сертификат УЦ может без меток логов, ничто этому не мешает; да и метки можно сделать без публикации в логах, если есть ключи от этих логов; но, конечно, это всё существенно усложняет процесс. Что касается CAA-записей: да, это полезно, но для УЦ, технически, отказаться от проверки CAA ещё проще, чем проигнорировать CT-логи и SCT-метки.

(Ссылка: описание инцидента от OpenNet на русском.)

Дополнение: понятно, что УЦ, в такой конфигурации атаки, ни при чём – УЦ не имеет возможности в рамках сетевых протоколов отличить подменный узел от настоящего с точностью, превышающей перенаправление сетевого трафика в локальной сети хостера; естественно, автоматически выпускаемые TLS-сертификаты для веба не могут служить инструментом защиты от подобных атак, это и не планировалось, никакие CT тут не помогут; возможность активного и полного перехвата трафика с подменой – автоматически приводит к возможности выпустить TLS-сертификат с соответствующим именем хоста через УЦ TLS; перехват трафика – позволяет подменить данные и при DNS-проверке, это даже в чём-то проще, но перехватывать нужно трафик к DNS-серверам и/или от них (и не должно быть поддержки DNSSEC, да).



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

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

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

Так что, если где-то утверждается, что ИИ c LLM “понимает текст” и “успешно решает творческие задания”, то нужно к этому относиться с существенной долей сомнения, мягко говоря: “плоская” программа – она есть программа “плоская” (даже если там несколько слоёв “нейросетей”).



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

Исходная мотивация для квантовых вычислений состоит не в кубитах, а в поиске механизма, который позволил бы вычислить “невычислимое”, ну или хотя бы “сложновычислимое”. Кстати, едва ли не первое описание концепции дано в книге Ю. И. Манина “Вычислимое и невычислимое”, 1980 года (изд. “Советское радио”) – там несколько абзацев в предисловии (с.15) посвящено “квантовым автоматам”, уже эти несколько абзацев точно и полно описывают концепцию того, как квантовые вычисления далее и развивались. Сама книга не о квантовых вычислениях. Тем не менее, в тексте предисловия на примере проблем моделирования известными “классическими” методами простых физико-химических явлений, показана связь с несравнимо большей мощностью пространства квантовых состояний – вот эту мощность и предлагается использовать в реализации будущих вычислительных механизмов.

В вычислительном моделировании белковых молекул ситуация и сейчас, спустя более чем сорок лет, примерно такая же – расчёты требуют многих дней работы суперкомпьютера, но соответствующий процесс геометрического превращения белка происходит за доли секунды. Это одно из направлений, на котором, как считается, могут помочь квантовые компьютеры той или иной системы.

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

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

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

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

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



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

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

(Кстати, об особенностях мультиплексирования HTTP/2 регулярно забывают, что приводит к попыткам ограничить поток HTTP-запросов для проксирующего веб-сервера, который работает по HTTP/2, “силами iptables” по TCP-соединениям.)



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

Anycast (в Интернете) – это, грубо говоря, способ распределить один IP-адрес на несколько узлов. Глобальный anycast подразумевает, что некоторый IP-адрес обозначает разные узлы, расположенные в совсем разных сетях и, возможно, разных регионах. Применяется данная технология, обычно, для того, чтобы сделать входные узлы некоторого глобального распределённого сервиса ближе к локальным пользователям, сохранив нумерацию в IP-адресах (“ближе” здесь обозначает расстояние в смысле сетевых маршрутов пакетов).

Есть занятный, пусть и не самый точный, способ определения того, что какой-то глобальный и маршрутизируемый IP-адрес соответствует anycast-узлу: нужно измерить время ответа (ICMP) при помощи утилиты ping, но сделать это из двух базовых точек, заведомо находящихся в существенно разных регионах, а потом измерить ping между этими точками. Если сумма для времени от точек измерения до измеряемого узла существенно меньше, чем время между базовыми точками, то, скорее всего, тут присутствует anycast. Это неравенство треугольника, и оно тут при помощи anycast нарушается.

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



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

Развитие полузабытого проекта “Яндекс.Рефераты”: нейросеть YandexGPT “сдала” ЕГЭ по литературе, при этом “усреднённая оценка составила 55 баллов”, что подстёгивает “хайп”, так как, якобы, позволяет поступить в вуз. Интересно, смогла бы данная нейросеть хотя бы заполнить бланк ЕГЭ?

Кстати, цитата из недавнего вывода данной нейросети: “число делится на 2 и на 11, а значит, делится и на 3”. (Новое средневековье уже со всех сторон.)



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