Забавно, что доступ на веб-сайт компании CrowdStrike, которая при помощи своей “программы для защиты ПК” удачно, – то есть, автоматически и удалённо, – обрушила кучу Windows-систем в разных мировых корпорациях, для российских IP-адресов заблокирован.

Не ясно, кстати, почему опять привычно обвиняют Microsoft, если ПК, как пишут, поломались в результате модной CI/CD-деятельности CrowdStrike.



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

Наземная сеть радиоприёмников, – например, базовых станций мобильной связи, – может быть использована для определения координат (геолокации) передатчиков. Типовой пример передатчика – мобильный терминал. Для такой геолокации не требуется связь со спутниками GNSS (GPS, в частности), как не требуется и прямое участие самого терминала: главное, чтобы этот терминал излучал сигнал с известной модуляцией. То есть, терминал может работать с какой-то “внешней” системой, – даже со спутниковой, – но определять его местоположение может совсем другая сеть.

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

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

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

Узкая практическая интерпретация задачи: определение координат пользовательских терминалов, работающих с той или иной мобильной сетью. Естественно, в качестве источника сигнала может выступать не только типовой радиомодуль смартфона 4G/5G – годится и какой-нибудь WiFi-сигнал или Bluetooth. Данный технологический “сеттинг” легко переносится и на сценарии с прочими передатчиками. При этом, например, в самых современных стандартах мобильной связи, обычно называемых 5G, для непрерывной, точной геолокации терминалов, что называется, и методы определены, и специальные сигналы выделены: определение местоположения терминала имеет решающее значение для сети. Конечно, геолокация, без привязки к GNSS, доступна и в более ранних системах сотовой связи (LTE).

Методов определения координат для решения только что описанной задачи неожиданно много, а если определяемое устройство в той или иной мере “кооперативное”, то есть, помогает измерять свои координаты, то и методов становится больше. Но и для “не кооперативного” случая методов не мало.

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

Теперь можно кратко рассмотреть основные методы геолокации, среди которых есть и редко упоминаемые.

Измерение времени распространения сигнала

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

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

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

Разработка алгоритмов коррекции ошибок по времени, которые возникают на этих направлениях, приводит к следующему методу геолокации передатчиков.

Измерение разности времени поступления сигнала

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

Запрос с подтверждением

Этот метод не пассивный. Он основан на отправке опорного сигнала в сторону определяемого узла с получением ответа от этого узла. Ответ отправляется через строго заданный промежуток времени после получения запроса. Здесь сигнал ходит в обе стороны, а опорный узел может измерить дальность по суммарному времени: предполагается, что расстояния в одну и в другую сторону – одинаковые. Далее метод работает аналогично первому (или второму, в зависимости от деталей). Заданный интервал ожидания позволяет компенсировать рассогласование локальных часов.

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

Угол (направления) на приёмнике

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

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

Затухание сигнала

Мощность передатчика часто известна. Не только потому, что она, предположим, определена спецификацией оборудования. Значение рабочей мощности может передаваться и в составе сигналов, обеспечивающих работу радиоканала. Зная мощность на антенне передатчика и мощность на принимающей антенне, можно вычислить расстояние по степени затухания. Так как, по условию задачи, опорных приёмников несколько, то измерение затухания позволяет определить координаты передатчика по расстояниям от нескольких опорных узлов.

Этот метод можно улучшить, если измерять не просто затухание, а “разность” затухания на нескольких опорных узлах – логика совпадает с измерением разности времени получения сигнала (см. выше).

Гибридные методы

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

***

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

Естественно, если снова отказаться от полностью пассивной роли сети, то в качестве источников сигналов, по которым измеряется деформация, могут служить сами опорные узлы, координаты которых известны по определению. Собственно, в LTE, в 5G, для таких измерений даже предусмотрены отдельные сигналы. А само поле деформации, если его заранее измерить, может служить основой для навигации и определения координат.



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

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



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

В статье Situational Awareness, которую я недавно упоминал, уровень “интеллекта” LLM GPT-4 (ChatGPT) неоднократно обозначен как соответствующий продвинутому старшему школьнику (smart high schooler). Появился свежий препринт (Vision Language Models are blind) на эту же тему, в котором, впрочем, выясняют, что самые продвинутые современные системы LLM – точнее, VLM, в том числе, GPT-4o, – не могут справиться с элементарными задачками, которые под силу и не особо продвинутому дошкольнику.

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

Между тем, как указано в работе, эти ИИ-системы не могут верно определить количество пересечений для двух ломаных – см. скриншот с примером из исходной работы ниже.

LLM Visual Test

Не справляются представленные ИИ-системы и с другими элементарными задачами: определить выделенную букву в слове, посчитать количество окружностей, определить, пересекаются ли круги, и т.д., и т.п.

Понятно, что речь тут может идти только о стопроцентном результате, когда верно указаны все ответы. Для “продвинутого старшего школьника” подсчёт точек пересечения линий на подобной картинке – более чем элементарная задача. Угадывание же при помощи оптимизированного перебора, которое выдают за “думание” для данных систем, тут не производит никакого впечатления. Лучший результат, который приводят в работе, это угадывание в ~77% случаев, продемонстрированное VLM Sonnet-3.5; GPT-4o – лишь около 49%, при этом, по формулировке задачи, случайный выбор ответа, без учёта картинки, дал бы одну треть верно угаданных результатов.

Так что, когда следующий раз в СМИ встретится очередная восторженная публикация о том, что “новая LLM на нейросети успешно сдала экзамены в вуз”, можно смело задуматься о том, смогла ли эта LLM хотя бы заполнить регистрационную анкету и вписать ответы в нужные “окошки”.



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

Пятнадцать лет назад, в июле 2009 года, на dxdt.ru вышла, среди прочего, записка про навигацию по ЭМ-обстановке, без GPS: передатчиков вокруг достаточно, многие из них зафиксированы, гарантируя, тем самым, узнаваемость картины. Но нужно предварительно измерить на месте, поскольку существенным образом вмешиваются тени и отражения. Цитата:

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

Вообще, описанный метод пассивного определения координат, на основе измерения радиообстановки и сопоставления характеристик принимаемых сигналов с опорной картиной из некоторой базы данных, вполне себе рекомендован для сотовых сетей 4G/5G, например. (Всё собираюсь написать подробную записку про вычисление координат на основе обобщённых методов “пеленгации”.)



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

Практический пример того, как автоматизация процессов работы с исходным кодом и репозиториями (читать нужно: CI/CD) может легко и неожиданно “выйти боком”: токен с правами полного доступа к репозиториям Python и PyPI на GitHub долгое время находился в открытом доступе.

Разбор инцидента из первых рук позволяет понять, как так вышло: наружу отправился локальный файл .pyc, случайно оставшийся в локальной (общей для процесса сборки) директории, которая требовалась для работы приложения в Docker-контейнере; ну и не менее случайно – в этом .pyc-файле сохранился токен доступа.



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

Книга Эдмунда Беркли (Edmund Berkeley) Giant Brains, or Machines That Think (дословно: “Огромные мозги, или Машины, которые думают”, англ.; полный текст доступен по ссылке) вышла в 1949 году, 75 лет назад. В ней рассказано о базовых технических принципах, позволяющих строить компьютеры, а также о нескольких конкретных “думающих” “машинах” того времени, в том числе, про аналоговые вычислители.

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

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

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

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

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



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

Кстати, один из свежих примеров текстов, восхваляющих и превозносящих “достижения LLM/GPT”, с точки зрения “интеллекта”: Situational Awareness. Использование слов “восхваляющих” и “превозносящих” тут вовсе не является преувеличением, так как в тексте по ссылке много раз повторяется, что системы LLM/GPT уже успешно решают сложные математические задачи, а также могут рассуждать (reason) и мыслить (think). Сам же тот текст про то, что необходимо немедленно засекретить, ограничить и разграничить понятные узкому кругу лиц технологии ИИ на уровне правительства Штатов. Так что основную часть мы пропускаем, а коснёмся только некоторых занимательных оценок и прогнозов. Пусть прогнозы в Situational Awareness строятся методом экстраполяции графика с помощью линейки, но эти прогнозы, хотя бы, даны с конкретными датами, по годам.

Так, уже в самом начале статьи (на третьей странице) обещают к 2025/26 годам ИИ, превосходящий “выпускника колледжа” (шкала, конечно, традиционная для этой области технологий массовой информации; но, всё же, превзойти “выпускника колледжа” – что бы это значило?). 2025 год – это следующий год. Конечно, под определение “уровня выпускника колледжа” нетрудно подвести очередное успешно принятое комиссией эссе, но на той же странице сказано, что эксперты (pundits) “мейнстрима” всё ещё слепо рассуждают о том, будто данные программы ИИ “всего лишь предсказывают следующее слово”, и лишь немногие знают, что там “на самом деле” (новых деталей, впрочем, не приводится).

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

То есть, казалось бы, человек просто не успеет прочитать “триллионы строк” кода за десять лет. Хорошо. Тут и компилятору-то на многоядерном ЦПУ придётся поднапрячься. Зато весьма серьёзным проявлением “суперинтеллекта” можно было бы признать способность объяснить человеку эти “триллионы строк”. Но нет – почему-то в признаки “суперинтеллекта” ставится обратный эффект: именно невозможность объяснить, чего оно тут такого нагенерировало в триллионах. Может, там где-то и секретный сонет Шекспира затесался, в комментариях. Конечно, ведь под “триллионы строк” непонятного для человека кода можно замаскировать что угодно. (Кстати, проблема понимания программного кода, похоже, настолько глубокая, что именно она и является причиной возникновения знаменитой задачи P≟NP.)

Для чего может быть нужен непонятный код в таких несметных количествах строк? Почему “много кода”, который не может объяснить даже “суперинтеллект”, лучше короткой и понятной программы? Видимо, различные ответы на эти вопросы и определяют степень “понимания” реального положения дел с технологиями ИИ. Возможно, ещё посмотрим, где ИИ/LLM применят в 2030 году. А что обязательно применят, если останутся компьютеры, – в этом-то сомневаться не приходится.



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

Кстати, очередная типовая академическая атака на процессоры: в этот раз – процессоры Intel и Indirect Branch Predictor (IBP) поверх Branch Target Buffer (BTB) – то есть, косвенное извлечение данных, относящихся к соседнему процессу на том же CPU, через подстановку фиктивных ветвлений и измерение состояний аппаратуры, пытающейся оптимизировать исполнение кода.

Такие дефекты, при современной архитектуре процессоров, в принципе неустранимы, поэтому статьи по теме, переоткрытой Spectre/Meltdown (о самом направлении именно в процессорах известно с 80-х годов прошлого века, если не раньше), сейчас идут одна за одной стройным потоком. Обратите внимание, что атаки этого типа требуют исполнения специального кода, в несколько тепличных условиях, на том же процессоре, где исполняется и процесс с “секретными данными” и известным внутренним устройством.

(Статья на Bleeping Computer.)



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

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

LLM и задача про название книги (на примере GigaChat) – несмотря на то, что LLM/GPT продолжают называть “искусственным интеллектом”, “сдавшим ЕГЭ”, эти синонимайзеры текстов не могут решать даже очевидные задачи уровня второго класа средней школы.

Техническое: имена в TLS и Nginx – как правильно различать “баги” и “фичи” веб-сервера Nginx, применительно к способу задания поддерживаемой версии TLS.

Планеты и окружности – верный ответ на “очевидный” вопрос о причине смены дня и ночи на Земле, который приводит к преобразованию Фурье и к объяснениям связанных онтологических подходов.

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

Частотность слов и ChatGPT в аннотациях – частотность слова delve(s) и попытки обобщения при помощи научных статей результатов влияния LLM на научные статьи (как тексты).

И ещё раз порекомендую из этого списка заметку “Планеты и окружности“.



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

Google убирает из Chrome доверие оконечным сертификатам, выпущенным Entrust/AffirmTrust, начиная с 1 ноября 2024 года.

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



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