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

Bike five

Bike four

Bike three

Bike two

Bike one

Надо заметить, что обработка произвольных файлов изображений сама по себе трудна; многие проблемы кроются в приведении файлов к представлению, пригодному для дальнейшей обработки. Если бы некий робот имел возможность посмотреть на те же сцены своими камерами, то результаты были бы значительно лучше.



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

Есть такие “капчи”, где требуется узнать предметы или животных на фотографиях, выделив сходные изображения (например те, где есть кошки). Недавно появился сервис из проектов Стивена Вольфрама (Stephen Wolfram), который эффективность подобной капчи сводит практически к нулю: imageidentify.com – обученная группа машин успешно распознаёт и котов, и предметы быта. Правда, носорог на картинке ниже остался незамеченным. Но это не страшно, потому что откуда машине знать, что носорог может быть размером с кошку?

Wolfram Language ImageIdentify

Сопроводительный текст рассказывает, что это демонстрация одной функции, встроенной в Wolfram Language – ImageIdentify. Полезная, надо сказать, функция.



Comments Off on Распознавание изображений в Wolfram

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

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

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

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



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

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

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

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



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

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



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

Old carСанкции, предписанные федеральным правительством штатовским ИТ-компаниям, привязаны к определённым территориям. Не все сервисы, устройства и услуги можно выключить с высокой точностью, основываясь на геопривязке. Но многие – можно. Например:

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

некоторые операционные системы – например, Microsoft Windows ходят за обновлениями на серверы Microsoft, а идентификатор установки этой ОС имеет региональную привязку (по данным от магазинов и компаний-интеграторов). С уверенностью говорить нельзя, но, теоретически, ОС могут быть заблокированы с помощью раздачи некоторого специального обновления, срабатывающего только на некоторой выборке идентификаторов (лицензионных ключей). Естественно, в правильно настроенной коропативной среде такие обновления сами могут быть предварительно заблокированы, но наивно полагать, что такие среды встречаются повсеместно;

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

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

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

Хуже всего, что, в теории, подобные блокировки могут коснуться и промышленного оборудования: современные АСУ (SCADA и т.д.), к сожалению, также не отличаются автономностью, а поэтому могут быть заблокированы дистанционно, по практически официальным каналам управления и обновления.

В общем, есть где развернуться.



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

Из разговоров в коридоре офиса одной ИТ-компании:

– На кухне, в кофе-машине, стоит чашка кофе. Владельца нет – кухня пустая.

– Возможно, кофе отравлен.

– Должно быть, яд очень сильный: человек лишь схватился за чашку и – готов.

– Тогда тело было бы рядом, а его нет. Не сходится.

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

– Слишком футуристично. Но чашку лучше не трогать, это факт.

Действительно, пусть при контакте с ручкой чашки в кровь, через кожу, успешно проникает всего лишь пять нанитов. Через три секунды их уже десять. Через минуту в теле жертвы уже 5*2^20 = 5242880, то есть более пяти миллионов нанитов, которые быстро делают свою работу. Предположим, что один паучок весит 3 грамма, а собирают его 1000 нанитов. Тогда пять миллионов нанитов собирают параллельно 5 тыс. паучков, которые уносят 15 килограмм веса. Предположим, что сборка одного паучка занимает пять минут, тогда 60 килограмм превратятся в 20 тыс. паучков за двадцать минут. Не так долго, но кто-то может войти на кухню.

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

А вот паучки могут бежать быстро, со скоростью три метра в минуту, например. Тогда через пять минут они покинут пределы кухни и смогут найти тёплое место, чтобы испарить лишнюю воду и продолжить путь: ведь им ещё нужно перенести нанитов на другую чашку.



Comments Off on Наниты, кофе, пауки-роботы

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

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

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

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

Тем не менее, так как память для бортовой вычислительной системы сейчас более чем доступна, загрузить в неё и данные по точкам доступа WiFi – вдруг пригодится в какой-нибудь экзотической ситуации?



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

У DARPA есть проект MOIRE, цель которого – получение новых оптических систем, пригодных для использования на спутниках (выведенных на геосинхронную орбиту, в частности). Новизна оптики заключается в том, что, благодаря принципиально иным техническим решениям (мембранным модулям), на орбите окажутся телескопы, чья разрешающая способность превысит показатели лучших современных систем в несколько раз. Так как огромные зеркала (или линзы) выводить на орбиту чрезвычайно трудно, предлагается построить трансформируемую систему, которая в сложенной конфигурации занимает минимум пространства, а разворачивается – в гигантский оптический прибор, с “зеркалом” диаметром 20 метров. (Есть видео, иллюстрирующее процесс разворачивания телескопа.)

Credit: DARPA

(На картинке – сравнительные размеры зеркал различных телескопов и зеркала проекта MOIRE, в представлении художника; DARPA.)

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

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

Подобная система мониторинга земной поверхности будет иметь дело с огромными объёмами данных. Примем, что площадь поверхности Земли – 510 млн квадратных километров, а полезное разрешение – 10 метров (пусть вертикальное совпадает с горизонтальным, тогда в одном квадратном километре – 10 тыс. пикселей). Это означает, что один “снимок” поверхности Земли будет содержать 510*10^6*10^4 = 5,1*10^12, то есть, около 5 триллионов пикселей. Если мы записываем значение яркости пикселя с разрешением в 8 битов, то наш снимок займёт лишь около 5 терабайт в хранилище. Не так много, особенно если учитывать, что десятиметровое разрешение позволяет увидеть множество типов самолётов, прочей военной техники, идентифицировать типы кораблей, различать колонны грузовиков (или танков), в общем, немало. Но, естественно, для настоящей разведки требуется разрешение менее метра, что значительно увеличивает объёмы данных, не делая, впрочем, их фантастическими, потому что нужно же учитывать плюсы эффективного кодирования и прочей “дедупликации”.

Кстати, если спутниковая группировка пишет “видео всей Земли” с частотой 12 кадров в секунду, то суточный лог займёт (без сжатия) 86400*12*5Тб = (примерно) 5 эксабайт (или пять миллионов терабайт). Это уже много. Как минимум, такой объём сложно хранить на самих спутниках.

Основная проблема с большим объёмом данных, образующихся на орбите, в том, как их скачать на землю. Но несколько параллельных лазерных “даталинков”, идущих в наземные оптические телескопы, могут предложить весьма быстрый канал, который точно позволит вести в реальном времени мониторинг земной поверхности с низким разрешением, мгновенно переключая орбитальную оптику в “субметровый режим”, если потребовалось понаблюдать за каким-то отдельным регионом в деталях. Лазерные системы связи активно испытываются много лет, например, есть относительно свежий эксперимент NASA на МКС – Optical PAyload for Lasercomm Science (OPALS). Если данные передаются на землю со скоростью один гигабит в секунду, или в 100 мегабайт/сек, то изображение региона 100х100 км, с разрешением в 2 байтовых пикселя на метр, объёмом в 40 несжатых гигабайт, скачается примерно за семь минут. Очевидно, что оптимизация процесса позволит получать высококачественные снимки территорий всего через несколько минут после того, как эти снимки запросили. Задачи общего обзора и детального наблюдения могут быть разделены между спутниками. Всё это сильно приближает к реальности распространённый кинематографический сюжет, когда находящиеся на земле бойцы сил специальных операций за какие-то минуты получают на свои носимые компьютеры свежие космические снимки соседнего населённого пункта, позволяющие видеть фигуры людей на улицах.



Comments Off on Тотальное наблюдение за поверхностью Земли

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

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

Если помехопостановщик всё же сумел выловить сигнал и попробовал поставить ему активную помеху, радар должен как-то среагировать в ответ (например – замолчать, да). Предположим эта реакция служит признаком успешного применения помехи. В таком случае радар, обнаружив работу активного помехопостановщика, мог бы заранее имитировать некие “сбои”, как будто помехи успешно мешают его работе. А на самом деле, это не более чем маскировка, направляющая операторов средств РЭБ по ложному следу. И вот операторы могут именно так и подумать. И тоже заранее. Поэтому они ставят ложные помехи, а помехи настоящие – радар принимает за цели и успешно рисует на экранах. Тут и начинается рекурсия, а также – теория игр.



Comments Off on Помехи, помехопостановщики и рекурсия

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

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

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

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

Но таких задач, к сожалению, не так много.



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