Книги: "Создание сайтов" - "Доменные войны". Защита информации: техническое описание TLS, тестовый сервер TLS 1.3. Ресурсы: LaTeX
Известна концепция “навязанной” радиолокации: для зондирования используются сигналы уже существующих систем, например, телевизионный сигнал или сигнал сети GSM. Интересно следующее развитие темы. Предположим, что у нас есть небольшие (до десяти сантиметров) боты, построенные на передовых достижениях твёрдотельной электроники. Боты замаскированы под “природные объекты”. Например, это могут быть мелкие “камешки”. Они полностью автономны, используют подходящую схему электропитания. Полезная функция: боты принимают сигнал выбранного опорного поля, в том числе, отражения, тщательно измеряют его, оцифровывают и записывают результат. Накопленный результат боты раз в сутки передают в коротком импульсе на пролетающий спутник. Собранные измерения проходят предварительную обработку, потому что нужно извлечь полезную информацию, дабы эффективно использовать короткое окно связи. Все боты поддерживают (при помощи сигнала GPS, например) точное синхронное время, метки времени записываются вместе с собираемыми радиоданными.
А забрасываются данные изделия, например, со стратосферного “метеозонда”, который “случайно” пересёк границу на высоте около 27 тысяч метров. Замаскированные под камешки боты просто сбрасываются над заданным районом (малонаселённым): они не обязательно должны иметь плотность типичного камня, поэтому могут падать без парашюта. Кассета с ботами позволяет засеять несколько квадратных километров с борта одного “метеозонда”.
Зная ключевые параметры сигнала, который служит опорным полем для ботов, имея высокоточное синхронное время, можно организовать измерение отражений сигнала. Таким образом сеть ботов образует пассивную радиолокационную систему, проводящую разведку. Внутри сети у ботов разные роли – одни принимают только опорный сигнал, точно фиксируя его текущие параметры. Другие – сосредоточены на детектировании и усилении принятых отражений. Корректировка ролей, настройка сети, могут производиться позднее, например, по команде со спутника.
На случай обнаружения бота каким-нибудь грибником (хотя, кто будет каждый камень осматривать, не получив соответствующей ориентировки?) – предусмотрена система ликвидации электронной начинки. Нет, вовсе не обязательно подрывать бота, делая его опасным для грибника. Достаточно при вскрытии корпуса тихо и тщательно сжечь всю микроэлектронную начинку, превратив её в “кусочек смолы”, уничтожив ценные следы. Сам по себе искусственный камень не несёт особой информации: мало ли кто баловался – может, это кусок сбежавшего квадрокоптера. (Электроника с эффективной функцией самоуничтожения – это перспективная тема DARPA, между прочим.)
Сама полезная функция наблюдения появляется только после того, как собранные ботами данные сведут и обработают в центре, получив исходную информацию через спутниковый канал. Да, получается задержка – картину нельзя наблюдать в режиме онлайн, а только спустя сутки. Зато динамика сохраняется: записаны метки времени и все сигналы на заданном интервале времени. Может показаться, что сложно сжать длительную запись радиосигнала в один короткий импульс (секунды), который отправляется на спутник. Но для этого каждый бот оснащён достаточно мощным вычислителем. Передаётся не записанный сигнал в подробностях, а лишь краткая форма, описывающая заданные характеристики. Например, для принятого отражённого сигнала, это может быть сдвиг по времени и по частоте – и тот, и другой параметр требуют лишь нескольких байтов для записи с высокой точностью.
Основную проблему составляет источник питания. Конечно, напрашивается радиоизотопный вариант. Но он тут вряд ли подходит. Во-первых, сложно экранировать, чтобы бот не светил. Во-вторых – радиоизотопы представляют собой прочный след: часто по их составу и свойствам можно однозначно определить производителя. В-третьих – опасно для “грибника”. Питание от самого принимаемого ЭМ-поля, конечно, чисто теоретически возможно, но относится к области научной-фантастики, так как что-то вычислять о питающем поле, да ещё результаты передавать на спутник, уже точно не получится на практике. Возможно, годятся какие-то термоэлектрические решения. И главный инженерный конфликт тут в том, что для сложных вычислений нужна большая энергия (да, это достаточно фундаментальный вопрос физики, но пока никто не выяснил, можно ли вообще вычислять, не расходуя энергию, – хотя, классические основы термодинамики как бы прозрачно намекают, что нет, нельзя; но вопрос, тем не менее, остаётся открытым с квантовой стороны).
Как можно обнаружить такую сеть? Полупроводники можно детектировать дистанционно по наведённому излучению (так работают нелинейные локаторы, или детекторы нелинейных переходов). Но для этого потребовалось бы облучать “район залегания” ботов достаточно мощным ВЧ-излучением, пытаясь как-то вычленить из отражённого сигнала слабые вторичные гармоники, связанные с полупроводниками. Вряд ли это удастся сделать с большого расстояния, например, с борта пролетающего самолёта. Кроме того, полупроводниковую часть бота можно хорошо экранировать: если мы имитируем камень, то место для экранов имеется. Неустранимый элемент только один – приёмная антенна бота (передающая – открывается только в момент отправки данных на спутник). Но приёмную антенну можно моментально отключать, как только бот “услышал” подозрительный мощный зондирующий сигнал (решение известно по продвинутым “жучкам”).
Что за информацию можно было бы собирать при помощи таких ботов? Как минимум, подобная пассивная радиолокация позволит фиксировать самолёты и другие летательные аппараты, на достаточно большом расстоянии от крайнего бота – многие километры. Точность определения траектории будет невелика, но о перемещениях, направлении полёта судить можно. Впрочем, полёты самолётов – и так секрет Полишинеля: они вполне обнаруживаются спутниковыми РЛС. Боты могли бы наблюдать поезда, но тут помешает рельеф местности. Впрочем, при наличии сейсмодатчиков фиксировать движение наземной техники можно (такая схема используется на практике), но это уже не радиолокация. И тем не менее, придумать полезную цель наблюдения, которая недоступна другим методам, более традиционным, для такой сети радиоботов весьма сложно. В случае с воздушными целями – преимущество может быть разве что в ракурсе наблюдения, который позволяет “видеть” объекты снизу и принимать сигналы, направленные к земле.
Но такой метод технической разведки выглядит привлекательно для разового сбора информации в течение непродолжительного времени. Электромагнитную картину боты собирают во время спуска, а оказавшись на поверхности земли – фиксируют другие параметры: колебания почвы, звуки. Боты могли бы собирать радиационную картину, определять состав атмосферы и почвы, но это потребует оснащения их дополнительными сложным датчиками, которые не только существенно повышают стоимость, но и потребляют большую энергию (это касается сколь-нибудь универсальных химических анализаторов, прежде всего); такие датчики вряд ли получится спрятать. А главное тут, что данные, собранные на большой территории, оказываются синхронными, а это существенно повышает их ценность.
Comments Off on Сеть забрасываемых ботов-разведчиков
DARPA заказывает перспективную разработку портативных излучателей электромагнитных волн сверхнизких частот (ниже 30 кГц, а особенно – на частотах от 300 Гц до 3 кГц). Так как на этих частотах длина волны очень велика (это сверхдлинные волны – десятки, сотни и тысячи километров), традиционные системы для их излучения оказываются огромными. При этом сверхдлинные волны подходят для подводной и подземной связи. Например, они используются для обеспечения связи с подводными лодками.
Предполагается, что в рамках программы AMEBA (A MEchanically Based Antenna) создадут механические излучатели, основанные на движении постоянных магнитов или заряженных диэлектриков – да, речь именно про механическое движение. Устройства-передатчики должны потреблять менее 20 ватт и весить менее 10 килограмм. То есть, передатчик можно установить на автомобиле или даже переносить силами одного человека. В идеале – это подводная/подземная рация.
Физической основой для передачи сообщений в таких решениях является магнитная составляющая. Скажем, компактные антенны для приёма сверхнизкочастотных электромагнитных волн (например, если вы захотели послушать резонансы Шумана), выполняются в виде катушек и экранируются от электрической составляющей. С другой стороны, подводная связь использует “проволочные” антенны, большой длины (сотни метров), тянущиеся за лодкой или самолётом. Впрочем, данная программа касается только разработки передатчиков.
Из-за небольшой частоты, доступная полоса обмена данными узка. На частотах ниже 3 кГц она, скорее всего, вообще будет измеряться битами в секунду. Но это не должно помешать передавать текстовые сообщения, особенно, если использовать специальное кодирование. Скажем, в случае с подводными лодками, всего несколько битов кодируют сообщения из специального словаря. Предположим, что мы можем надёжно (то есть, с коррекцией) передавать один бит в секунду, тогда за пять секунд можно передать один из 25 = 32 символов, или одно из 32 возможных сообщений. Не так уж и мало.
Прототипы планируют получить в 2021 году.
Комментарии (5) »
Пишут, что в Штатах предложили некий стандарт “умного” стрелкового оружия – пистолетов. Под “умными” – подразумеваются пистолеты, оснащённые электронным приспособлением, которое должно блокировать стрельбу, если пистолет оказался у “неавторизованного” лица.
В статье по ссылке содержится занятная неточность. Там сказано, что в “случае разряда аккумулятора, управляющего электронным предохранителем и системой авторизации пистолета, оружие должно блокироваться”. Это было бы, мягко говоря, удивительным решением. Однако в исходном документе Минюста США ничего подобного нет. Вероятно, журналиста ввёл в заблуждение достаточно специальный англоязычный термин – “out-of-battery”: в отношении стрелкового оружия он обозначает преждевременный выстрел, обычно, при недозакрытом затворе. Естественно, прямой перевод – “без батарейки” – ошибочен: когда этот термин появился, никаких электрических батареек в пистолетах и пушках ещё не было. Но несложно представить, какова была бы реакция бойцов спецподразделений полиции, которым вручили бы новое личное оружие, предупредив, что перед мероприятием нужно не забыть зарядить батарейки.
Вернёмся к вопросу подобных “систем безопасности”. Конечно, исходная рекомендация прямо предписывает, чтобы в случае любого сбоя “устройства безопасности” – пистолет переходил в пригодное для стрельбы состояние. Правда, не совсем ясно, какой тогда смысл в ограничении, даже если для авторизации используется некоторый дополнительный токен (ключ-метка), который находится у легитимного “пользователя” при себе. Можно предположить, что, на практике, у любого сотрудника, который как-то заботится о собственной безопасности и допускает применение оружия, этот токен моментально окажется привязан или приклеен к пистолету; так, на всякий случай. (И однажды токен зацепится за кобуру.) Но интересен и другой момент: с одной стороны, сейчас обсуждаются запреты на применение оружия боевыми роботами, в автоматическом режиме; с другой стороны – предлагается дать электронному устройству возможность ограничивать и человека в применении оружия. Естественно, речь идёт о намерении ограничивать только нелегитимные случаи, но вопрос в том, как подобное техническое ограничение проявит себя в реальности.
Ещё не так давно предпочтение отдавали револьверам лишь по той причине, что они имеют чрезвычайно надёжный механизм, где осечка, на практике, может произойти только по вине патрона. Насколько популярен будет “электронный” пистолет, который, несмотря на все предписания стандарта, окажется возможным заблокировать дистанционно? Хотя, прогресс есть прогресс.
Комментарии (10) »
Российский шифр “Магма” известен также под названием ГОСТ 28147-89. В новом ГОСТ Р 34.12-2015 данный шифр приведён вместе с более современным шифром “Кузнечик”. “Магма” весьма старый блочный шифр, ещё советский, он родом из 70-х годов прошлого века. Некоторым образом шифр связан с электромеханическими шифровальными машинами. Например, таблицы подстановок ведут своё происхождение от “перемешивающих” дисков этих машин. Несмотря на солидный возраст, шифр до сих пор выглядит неплохо по соотношению таких характеристик, как практическая стойкость и требуемое количество операций. Шифр достаточно простой и может быть реализован на базе микроконтроллера. В качестве базового устройства используем распространённую платформу – Arduino (конкретно – Arduino Uno, на котором я проверял исходный код).
“Магма” имеет разрядность блока 64 бита и разрядность ключа 256 бит. По современным меркам 64 бита – малая разрядность блока, но она сохраняет актуальность для встроенных применений (“Интернета вещей”), где короткие криптограммы очень распространены и обусловлены техническими ограничениями. 256 бит ключа и на современном уровне являются излишне большим значением, при условии, конечно, что шифр обеспечивает стойкость, эквивалентную полному перебору. Я не буду приводить обзор литературы по криптоанализу данного “ГОСТового” шифра в этой заметке. Отмечу только, что до сих пор для шифра не предложено универсального метода криптоанализа, который снизил бы криптостойкость, с точки зрения практической атаки, до неприемлемого уровня. Все известные эффективные атаки – академические, требуют чрезвычайно больших ресурсов, при этом лучший результат: снижение стойкости до 101 бита. Примем, что в наихудшем практическом случае данный шифр обеспечивает стойкость около 115 бит, а этого вполне достаточно для, например, передачи данных от датчиков температуры “при ведении подсобного хозяйства”. Другими современными “малыми” шифрами, которые ориентированы на использование в маломощных микроконтроллерах, являются, например, шифры Speck и Simon, предложенные АНБ.
Технически, “Магма” представляет собой итеративную конструкцию Фейстеля, состоящую из 32 раундов. Входной блок разделяется на две равные части, в каждом раунде к одной из частей последовательно применяются раундовые преобразования, а результат суммируется со второй частью. Перед следующим раундом – части меняются местами (кроме последнего раунда). Преобразования включают в себя сложение (по модулую 232) с ключом раунда, подстановку по таблице подстановок, циклический сдвиг влево. При расшифровании работа шифра отличается только порядком ключей. Раундовые ключи имеют разрядность половины блока – 32 бита. Набор ключей раундов получается из основного ключа копированием его 32-битных подмножеств по достаточно простой схеме: первые 24 раунда используют “подключи” последовательно в прямом порядке (то есть, k1..k8), а заключительные 8 раундов – в обратном порядке (k8..k1). (Более подробное описание работы шифра – в отдельной записке.)
Сам шифр я реализовал на ассемблере AVR, воспользовавшись inline-вариантом – то есть, команды ассемблера включены в исходный код на языке C (исходный код прилагается, см. ниже, функция DoCipher()). Шифр работает быстро, реализацию можно ещё улучшить. Микроконтроллер Arduino Uno очень ограничен в объёме оперативной памяти для данных, при этом “Магма” только для хранения основного ключа требует 256/8 = 32 байта. Набор раундовых ключей, если его полностью развернуть в памяти, съедает ещё 4*32 = 128 байтов. Таблица подстановок (я, кстати, использовал таблицу из ГОСТ Р 34.12-2015) включает восемь наборов по 16 значений, однако так как подстановки полубайтовые (по четыре бита), их можно объединить попарно: получаем 4*16 = 64 байта. Итого – 224 байта только на окружение, которое требуется для использования шифра. Оптимизации тут можно подвергнуть только раундовые ключи – в принципе, можно их не разворачивать, а прямо использовать байты из основного ключа (так работала бы аппаратная реализация).
Реализация непосредственно шифра называется криптопримитивом. Наличие криптопримитива позволяет строить на базе шифра полезные конструкции. При этом, использовать блочный шифр прямо для зашифрования блоков открытого текста – в подавляющем большинстве случаев нельзя: такой режим называется режимом простой замены (или ECB) и не обладает нужным уровнем секретности, даже если вы с помощью зашифрованных команд лампочки в доме переключаете. Например, одна и та же команда, при использовании одного ключа, будет соответствовать одинаковому шифротексту. Запись с повторной передачей позволит третьей стороне переключать ваши лампочки. Для предотвращения подобных атак существует ряд методов: например, использование уникальных значений (счётчиков) для команд, различные схемы с подтверждением (но тут требуется отправка дополнительных пакетов). Наличие шифра и секретных ключей позволяет все их реализовать безопасно. Также на базе шифра реализуются схемы вычисления/проверки кодов аутентификации сообщений, которые защищают от подделки данные, передаваемые в открытом виде.
В исходном коде в качестве примера дана реализация функций шифрования в режиме счётчика – MagmaEncrypt(), MagmaDecrypt(). Такой режим пригоден для практического использования, однако он не обеспечивает аутентификации сообщений. Предполагается, что обменивающиеся данными устройства знают общий секретный симметричный ключ и используют синхронное значение nonce (оно может передаваться в открытом виде). Соответственно, код содержит пример вызова данных функций.
Некоторые сценарии использования шифров в разных “домашних устройствах”, работающих на базе микроконтроллеров: передача команд, с аутентификацией (сами команды не шифруются); передача данных от датчиков, в зашифрованном виде, также с аутентификацией; подключение новых устройств к сети датчиков (так сказать, опознавание “свой-чужой”).
По ссылке: исходный код (с весьма подробными комментариями на русском внутри). Возможно, из этого следует сделать полноценную библиотеку (тогда нужно реализовать режим шифрования с аутентификацией). Замечания, комментарии и пожелания – приветствуются.
Update 12/12/16: сделал библиотеку с шифром ГОСТ Р Р 34.12-2015 “Магма” для Arduino.
Комментарии (4) »
Спутниковая навигационная система представляет собой сложный комплекс, однако логика работы GPS, с точки зрения конкретного приёмника, весьма проста. Приёмник, измеряя разницу между временем поступления сигнала от спутника и временем генерации этого сигнала, определяет расстояние до спутника-источника. Так как координаты спутников в заданный момент времени известны с высокой точностью, приёмник может вычислить собственные координаты. Упрощённое математическое описание: каждый спутниковый сигнал даёт одно уравнение, определяющее геометрическое место точек, где может находиться приёмник; три спутника – позволяют построить систему из трёх уравнений, и, таким образом, найти точные координаты в пространстве (“пограничные” неоднозначности оставляем за скобками). Для вычислений требуется точное время, а большинство приёмников GPS не содержат достаточно точных встроенных часов, поэтому, для удаления неоднозначности по времени, требуется ещё одно уравнение, позволяющее получить точное время – это уравнение даёт четвертый спутник. Таким образом, для высокоточного определения координат приёмнику достаточно сигналов четырёх спутников. Естественно, на практике присутствуют помехи и различные аппаратурные искажения, но логика именно такая.
В GPS не предусмотрено аутентификации навигационной информации. За исключением военного сигнала, который сейчас не станем рассматривать, никакой защиты не предусмотрено. То есть, гражданский GPS-приёмник ориентируется только на полученные “из антенного входа” данные. Уже исходя из этого несложно догадаться, что если атакующая сторона имеет возможность управлять электромагнитной картиной на антенне приёмника, то она может “нарисовать” для этого приёмника любую виртуальную конфигурацию спутников и, в общем случае, приёмник не сможет отличить виртуальные координаты от подлинных. Такая активная помеха называется GPS-спуфингом, осуществимость продемонстрирована довольно давно. (На практике, из-за того, что “нарисованная” картина не бывает идеальной, некоторые возможности обнаружить спуфинг у приёмника есть.)
Так как сигналы гражданского GPS полностью открыты, то постановщик помехи может генерировать их с опережением по времени. То есть, можно предсказать, каким будет сигнал в заданной точке пространства в заданное время. Этот момент позволяет компенсировать затраты времени на генерацию динамического поддельного сигнала, да и вообще – практически полностью снимает ограничения для системы спуфинга: она может имитировать любые конфигурации спутников и приёмника (военный сигнал тут защищён существенно лучше: спуфинг оказывается ограничен воспроизведением ранее полученных сигналов, но с задержкой).
Система спуфинга будет иметь следующую базовую конфигурацию: генератор сигнала GPS передаёт имитацию сигнала нескольких спутников через антенну, на частоте GPS (в этой системе одна частота используется всеми спутниками, сигналы разделяются при помощи кодирования); при условии, что уровень имитирующего сигнала несколько превышает уровень сигнала реальных спутников, GPS-приёмник будет “захватывать” поддельный сигнал и вычислять положение на его основе. В данной схеме все приёмники, попавшие в зону действия спуфинга, вычислят одни и те же координаты (окажутся в одной и той же “виртуальной” точке пространства), при этом у приёмников, находящихся (реально) в разных местах, автоматически возникнет небольшое рассогласование по времени. Сигнал GPS – периодический, соответственно, даже “статический” спуфинг требует динамической передачи одних и тех же по фактическому содержанию навигационных сообщений. Помеху можно сделать уводящей – такая помеха имитирует перемещение приёмника по заданной спуфером траектории.
Сигнал GPS спроектирован таким образом, чтобы сделать возможным приём на слабом уровне, ниже шумов. Приёмники используют тот или иной коррелятор, позволяющий получить достаточное соотношение сигнал/шум. Это, с одной стороны, означает, что сигнал спуфинга может совсем незначительно превышать мощность подлинного сигнала – коррелятор всё равно “зацепится” именно за него (другими словами: обнаружить факт наличия спуфинга по возросшей мощности сигнала – не выйдет). С другой стороны, GPS-приёмник должен захватить сигнал (это известный всем пользователям GPS процесс), и в дальнейшем работать с захваченными параметрами, сопровождая их. Этот момент сопровождения имеет важное значение: активную уводящую помеху конкретному приёмнику можно поставить так, что срыва сопровождения не произойдёт. Однако в случае с более простым спуфингом, приёмник, оказавшись в зоне действия активной помехи, потеряет сопровождаемый код и будет вынужден захватывать спуфинг-сигнал заново – этот процесс будет заметен. Постановка скрытной уводящей помехи гораздо сложнее, чем наведение статичного спуфинга. А статичный спуфинг будет проявляться в потере сигнала, с последующим восстановлением в совсем другой (имитируемой) точке пространства. Большинство навигаторов устроены крайне просто, поэтому отметка на карте перепрыгнет в произвольное место, заданное системой спуфинга (хотя этот прыжок мог бы обнаружить даже самый примитивный алгоритм).
Для системы спуфинга гражданского сигнала не имеет значения, в какую именно точку пространства “перемещать” попавшие в зону действия помехи устройства: как было отмечено выше, из-за того, что гражданский сигнал никак не защищён, его можно предвычислять без ограничений на достаточно больших интервалах времени.
Технически, система спуфинга может быть построена на основе лабораторного генератора сигналов GPS – такие специализированные устройства есть, они позволяют генерировать картину для большого числа спутников, а предназначены для отладки GPS-приёмников. В простейшем случае, достаточно вывести сигнал генератора на внешнюю антенну. Возможно построение системы спуфинга на основе того или иного набора SDR (Software-defined radio – программно-определяемая радиосистема), для них есть соответствующее программное обеспечение. Примерные затраты (на систему с SDR) – не более 5 тыс. долларов США. Естественно, есть и готовые решения именно для спуфинга.
Нужно отметить, что отдельную проблему представляет создание поля спуфинга, прозрачно действующего на различные устройства, находящиеся, например, в условиях городской застройки: здесь будут мешать отражения сигнала помехи зданиями, а также возникающие радиотени, конфигурация которых для подлинного сигнала, поступающего со спутников, и сигнала помехи – сильно различается.
Не менее интересен и аспект постановки помехи группе приёмников GPS, с сохранением их пространственной конфигурации относительно друг друга. Предположим, что у нас есть три приёмника, которые находятся на расстоянии нескольких сотен метров друг от друга, и расстояния между ними известны. В случае обычного GPS-спуфинга, после того, как приёмники захватят ложный сигнал, они “переместятся” в одну точку. Этот факт может являться основой для построения системы обнаружения спуфинга. Постановка помехи с сохранением конфигурации группы – оказывается чрезвычайно сложной задачей, решаемой, скорее, теоретически, потому что потребуется вычисление индивидуальных поддельных сигналов для каждого приёмника, а также корректная доставка этих сигналов до антенн, что требует точной информации о местоположении последних.
Для обнаружения GPS-спуфинга предложены различные методы. Например, возможно выделение ложного сигнала на основании определения направления на его источник. Определить направление можно сравнивая фазы сигнала на нескольких антеннах. Можно использовать в качестве дополнительного источника информации доплеровский сдвиг частот, это актуально для движущихся объектов. Есть решения, основанные на использовании военного сигнала GPS в качестве опорного (без необходимости знания секретного ключа) – здесь проводится обнаружение расхождений между принятым гражданском сигналом и параметрами военного. (Военный канал, впрочем, может быть просто задавлен шумом.) Достаточно очевиден вариант с инерциальной навигационной системой: такая система автономна, поэтому может обнаружить противоречие в данных, поступающих от GPS-приёмника.
А вот каких-то простых методов противодействия спуфингу – нет. Его только можно относительно надёжно обнаружить, в простых случаях. Впрочем, типичный “навигатор в смартфоне” не умеет делать даже этого, а пользователи продолжают ошибочно считать GPS надёжной системой и слепо полагаться на её данные.
Comments Off on Подделка сигнала GPS (GPS-спуфинг)
У постановки помех GPS – история давняя. Это интересная тема. Вообще, что касается именно вопроса точной навигации, то блокирование сигнала GPS имеет свои ограничения: дело в том, что есть инерциальные системы навигации, они автономные, а GPS для них полезна лишь в том смысле, что позволяет скорректировать накопленную ошибку. Но если навигационный сигнал недоступен только на небольшой территории, то ограничения для инерциальных систем становятся не так актуальны: ошибка просто не успеет накопиться.
Но не нужно забывать, что GPS – это не только навигация. Так, в рамках разумной современной модели угроз, постановка помех GPS нужна для того, чтобы заглушить опорный сигнал синхронного времени, который, без помехи, может быть использован в распределённой сети радиоэлектронных устройств, действующих в районе прикрываемой территории. То есть, GPS позволяет синхронизировать с высокой точностью время на разных автономных пассивных устройствах, тем самым эти устройства могут действовать и обрабатывать информацию согласованно.
Реализовать в компактном электронном устройстве систему синхронного времени, обладающую сколько-нибудь высокой точностью (хотя бы миллисекундной) на продолжительных интервалах времени – чрезвычайно сложно: нужны стабильные генераторы частоты, а это не просто большая редкость, но и температурная компенсация/стабилизация, коррекция ошибок, и так далее, и тому подобное. При этом, если устройство пассивное, то в любом случае возникает проблема синхронизации между несколькими узлами сети. GPS является тут просто идеальным решением, так как предоставляет единый сигнал точного времени, независящий от работы принимающих устройств.
Для чего нужно синхронное время? Например, для построения сверхчувствительной распределённой радиоприёмной системы на базе компактных и относительно простых узлов. Для точного определения, на базе нескольких синхронных приёмников, местоположения всяких источников сигналов, причём, к этим сигналам относятся побочные излучения, которые позволяют определять местоположение микроэлектронной техники, для трансляции сигналов не предназначенной. Другая задача – передача данных в том или ином “малозаметном” режиме связи (различные LPI-системы): приёмники и ретрансляторы должны иметь общее время, чтобы правильно настроить параметры корреляции, позволяющие выделить замаскированный сигнал, который для “стороннего наблюдателя” неотличим от шума (синхронное время здесь только один из инструментов, но весьма важный). И это неполный список.
А вот “пропадание навигации” в смартфоне – всего лишь побочный эффект.
(Развитие темы: подделка сигнала GPS, GPS-спуфинг.)
Comments Off on Помехи GPS
Весной этого года ФБР спорило с корпорацией Apple по поводу “взлома” защиты аппаратов iPhone, для того, чтобы получить доступ к одному из таких аппаратов (АНБ из каких-то своих соображений заявило, что помочь не может). Обсуждались самые разные способы получения доступа, в том числе, при помощи физического копирования модуля памяти устройства (NAND mirroring). Почему-то насчёт этого варианта высказывались сомнения относительно реализуемости. Сергей Скоробогатов (Sergei Skorobogatov) продемонстрировал на практике, что задача решаема даже без использования сверхсложного лабораторного оборудования: The bumpy road towards iPhone 5c NAND mirroring – в работе подробно рассмотрены все этапы, начиная от извлечения чипа и до реализации перебора пароля доступа с использованием клонированной памяти (Apple, оказывается, использует некоторые методы аппаратной защиты от такого клонирования, но их можно обойти). Весьма интересно, рекомендую.
Comments Off on Ссылка: копирование памяти iPhone (NAND mirroring)
Одно из современных направлений в развитии технологий связи – это сверхкомпактные, экономичные модули, обеспечивающие передачу данных на большие расстояния. Основная область применения: различные датчики, управляющие устройства и прочие “умные” компоненты. LoRa – как раз относится к таким технологиям связи: миниатюрный модуль, радиомодем, потребляющий минимальную энергию и делающий возможной передачу данных на расстояние в километры (вплоть до десятков километров). LoRa – похоже, лидер по дальности. Однако данная область не исчерпывается одним протоколом: здесь также действуют ZigBee, Bluetooth 4.0, Sigfox и др. Но эта заметка о том, как LoRa работает в реальности, на живом примере пары бюджетных модулей от NiceRF. (С картинками.)
Комментарии (5) »
Шумная история: Apple отказывается помочь ФБР подобрать пароль разблокировки для конкретного аппарата iPhone. В предписании судьи сказано, что требуется как-то модифицировать программную (а возможно – аппаратную, но упор сделан на программную) часть конкретного устройства, чтобы можно было простым перебором раскрыть пароль (вероятно, речь об обычном цифровом пароле, который пользователи устанавливают на аппарат). В штатной конфигурации iPhone может удалить пользовательские данные (точнее: удалить ключ и сделать остальные данные недоступными) после нескольких неверных попыток ввода пароля.
Интересно, что при наличии неограниченного физического доступа к устройству специалисты могли бы попробовать извлечь из памяти ключ, который ОС использует для разблокировки, и расшифровать его вне аппарата (сам ключ не совпадает с паролем – последний служит одним из входных параметров для алгоритма шифрования ключа). После этого можно разблокировать аппарат, так как пароль станет известен. (А можно, если есть копия памяти, расшифровать и остальные пользовательские данные – сам аппарат тогда не нужен.) Однако тут могут быть схемотехнические проблемы: криптомодуль iPhone потребуется либо аккуратно извлечь, либо не менее аккуратно подключиться к нему, не особенно нарушая штатные механизмы работы, потому что в противном случае операционная система может данные стереть, обнаружив вмешательство. Сомнительно, конечно, что данный смартфон устроен настолько защищённым в схемотехническом плане, но проблемы при нештатном доступе к криптомодулю – гарантированы в любом случае. Есть риск всё потерять, и, в случае, если операцию будет выполнять подрядчик ФБР, то он (и само бюро) и окажется виноват, что сломал ценную улику. Вариант же с участием Apple, отключающей защиту при помощи подписанного обновления операционной системы, выглядит куда безопаснее и надёжнее.
(Естественно, у Apple имеется возможность прочитать данные смартфона – это прямо следует из письма, которое адресовано пользователям. То есть, речь о какой-то сверхзащищённости не идёт, а только лишь о политике компании в информационном поле. Но это другая история.)
Комментарии (10) »
Шумная история: после обновления iOS, некоторые аппараты iPhone, которые ремонтировались в неавторизованных мастерских, оказались нерабочими (вроде бы, причина – замена сенсора-считывателя отпечатка пальца). Есть множество историй, в которых “выкатка” обновления ПО убивает то или иное устройство. Но в этот раз опять вспомнили о том, что системное программное обеспечение используется и при управлении различными производствами (набравшая наконец популярность тема безопасности АСУ ТП). А раз “внешний” владелец ПО может отключить iPhone, то почему бы не проделать то же самое и с промышленными системами? Про станки, которые дистанционно получают обновления, а также могут быть дистанционно заблокированы разработчиком, если, например, не продлён срок договора обслуживания, – давно известно. Но ещё старше предлагаемое решение: мол, давайте отключим станки и оборудование от Интернета (а программное обеспечение, стало быть, всё равно оставим без изменений), чтобы обезопасить систему управления от отключения извне. В современной ситуации – неправильное решение, и очень наивное.
Зловред Stuxnet, портивший иранские центрифуги на урановом производстве, был занесён в промышленную сеть на “флешке”. Реальность информационной безопасности на производствах, в типичных корпоративных сетях, такова, что если сеть вообще работает, то сейчас для проведения атаки не так уж и важно, подключена она к Интернету или нет. Главное, чтобы компьютеры были соединены между собой, а точка проникновения через наивный “воздушный зазор” (air gap) – найдётся. На практике, из-за человеческого фактора, отсутствие подключения к Интернету и массовое перемещение “флешек” – делают ситуацию хуже, потому что для атаки со стороны USB системы гораздо более уязвимы, чем для атаки из Интернета. (Интернет, кстати – всё равно всегда находится рядом, буквально в одном “хопе”: будь то смартфон или “нелегально” пронесённый 4G-модем, который подключен к компьютеру на рабочем месте. Поделать с этим ничего нельзя, так как отказываться от глобальной Сети, мягко говоря, невыгодно в стратегическом смысле.)
Конечно, не следует делать вывод, что нужно все производственные системы подключить напрямую к Сети. Нет, подключать не нужно. Но в современной ситуации рассчитывать на то, что отсутствие такого подключения как-то защищает “чужую” систему от отключения в критической ситуации – наивно. От легитимного отключения, реализованного банально – да, защитит. Но уже чуть более продвинутое решение, подразумевающее закладку в оборудовании, срабатывающую по времени отсутствия обновлений, вопрос с таким отключением полностью снимает. Кроме того, если говорить о промышленных системах, там передача сигналов возможна иными методами. Если аппаратура, техпроцесс, или управляющее программное обеспечение, хотя бы один из этих элементов – что-то вроде чёрного ящика для тех, кто оборудование использует (а это, обычно, так, к сожалению), то “отключающая закладка” может быть активирована при помощи сигнала, полученного через тот или иной датчик, или, если хотите, даже через изменение химического состава сырья. Или производство останавливается из-за того, что смартфон одного из рабочих “пропищал” своим динамиком кодовую последовательность на высоких частотах, её принял ультразвуковой дальномер, измеряющий уровень масла в котле-смесителе, принял – и просигналил в центральную автоматическую систему управления, которая быстренько сломала весь цех и сама вырубилась (на всякий случай, вместе с телефонией и электричеством). Кажется фантастикой. Но это только кажется, да и казаться будет не долго: потому что к популярной теме “кибербезопасности” АСУ ТП подходят с навыками защиты офисного “домена Windows”, а с промышленными системами ситуация сложнее.
Комментарии (4) »
Появился новый робот, быстро собирающий кубик Рубика – он справляется примерно за секунду (по ссылке с картинки – видео на Youtube.com):
Конкретно это решение можно, конечно, покритиковать: там четыре камеры; нужен специально подготовленный кубик (насадки на валах электродвигателей входят в механическое зацепление с центральными элементами сторон кубика); кубик устанавливается в заранее заданном положении (манипуляторы размечены по цветам) и так далее, и тому подобное. Однако интереснее подумать, насколько вообще можно улучшить результат. Вычислительные мощности доступны, поэтому механическая составляющая робота оказывается важным фактором, устанавливающим границы.
Если я не путаю, то сейчас известно, что из любой конфигурации кубик (3×3) собирается не более, чем за 26 ходов, если ходом называется поворот грани на 90 градусов. При этом большинство конфигураций лежат на два-три хода ближе к собранному кубику. Для оценки точное число ходов не так важно. Примем, что типичная сложная конфигурация – 25 ходов. То есть, если поворачивать грань за 10 миллисекунд на 90 градусов, то с преобразованиями конфигурации можно уложиться в 250 мс (плюс затраты на “переключение” граней – но не будем их учитывать). 10 мс – это 9000 градусов или 25 оборотов в секунду. Сама по себе, скорость вращения не очень большая, добротный кубик её наверняка выдержит. Заметные потери времени при “миллисекундном разрешении” будут связаны с разгоном грани – отсюда и идеи с механическим зацеплением. Для немодифицированного кубика быстрый разгон при начале вращения грани составит серьёзную техническую проблему.
Работа робота сводится к определению начальной конфигурации кубика, вычислению оптимального (или близкого к оптимальному) пути из этой конфигурации к собранному кубику, выполнению ходов. Интересно, что оптимальный путь здесь не обязательно кратчайший. Дело в том, что оптимизировать нужно с учётом исполнительного механизма, а он может какие-то ходы выполнять быстрее, а какие-то – медленнее. Например, очевидно, что все повороты должны осуществляться в одну сторону, что некоторые ходы поддаются механическому “распараллеливанию”, а некоторые – нет, и так далее. Изображение кубика требуется получить только один раз, для определения начальной позиции. Причём это изображение может быть низкого разрешения и известной геометрии, так что сколь-нибудь заметного времени на передачу и распознавание не потребуется. Основное вычислительное время – поиск оптимального пути сборки. После того, как получен список ходов – он отправляется в контроллер механизма, который максимально быстро выполняет их, передавая команды исполнительным механизмам. Логично использовать простейший контроллер, а максимум вычислений проводить на управляющем компьютере: результатом работы программы будет являться набор команд на поворот валов электродвигателей, который и передаётся в контроллер (алгоритм выполнения команд должен учитывать параллельное выполнение, так что контроллеру потребуется память и логика, позволяющая одновременно управлять несколькими двигателями).
В общем, тема эта весьма интересная, а особенное техническое развитие она получает после преодоления секундного барьера. (Человеческий рекорд, кстати, чуть менее 5 секунд.)
Комментарии (6) »