Ресурсы: техническое описание TLS, LaTeX - в картинки (img), криптографическая библиотека Arduino, шифр "Кузнечик" на ассемблере AMD64/AVX и ARM64
Весной этого года ФБР спорило с корпорацией 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) »
То, что в летящий снаряд можно попасть лазером – сомнений не вызывает, да и на практике было продемонстрировано. Пусть снаряд летит со скоростью 1300 м/сек (это очень быстро, учитывая, что снаряд может быть на излёте). Расстояние обнаружения – один километр. Точка, так сказать, невозврата – 100 метров (до цели). То есть, на всё про всё лазерному комплексу отводится 750 мс.
Траекторные вычисления, включая несколько замеров скорости и направления движения снаряда, займут около 50-100 мс. А самое большое время потребуется, конечно, не компьютерам, а механике, которая будет поворачивать что-то в установке. Скорее всего – поворачивать нужно некую турель, и “линзы-призмы” или зеркала внутри неё (хотя насчёт пригодности зеркал для использования в реальной полевой системе, со сверхмощным лазером – есть сомнения, несмотря на то, что зеркала применялись и применяются). Проблема с турелью в следующем: оптика для мощного лазера может весить немало, а пригодность конструкции к резким поворотам потребует дополнительных опорных устройств, которые тоже внесут свою лепту в общий вес. Но, в принципе, при наличии мощного электродвигателя и источника питания, выдающего в пике тысячи ампер, можно практически мгновенно развернуть любую турель. Поэтому на поворот оставим 300 мс (максимум – пусть это будет время, требуемое на 180 градусов поворота). В теории, турелей может не быть, а просто установка конструируется всенаправленной, с несколькими лазерами. Однако это дорого и сложно, если только вообще можно говорить о сложности и дороговизне, рассуждая про фантастическую оружейную систему.
Итак, остаётся 350 мс. При этом снаряд ещё нужно сопровождать и как-то испортить. Вероятно, действительно сверхмощный лазер мог бы просто испарить снаряд за полсекунды. Но это чистая фантастика: такой лазер ещё бы и газы атмосферы на пути к цели ионизировал, вызывая изменения оптических свойств воздуха. “Обычный” сверхмощный лазер может перегреть снаряд, прожечь в нём какие-то дыры (а снаряд, возможно, быстро вращается), вызвав тем самым его преждевременный разрыв (если там есть чему взрываться) или отклонение от траектории. В последнем случае, кстати, пользы от лазерной установки оказывается не так много – снаряд попадёт куда-нибудь ещё, и этому “где-нибудь” мало не покажется. В общем, не так всё просто получается.
Конечно, когда снаряд летит издалека, да медленно – шансы на полезный исход резко увеличиваются. А если представить, что лазерной установке противостоит электромагнитная пушка, стреляющая банальными стальными болванками, но зато с почти космическими скоростями, то ситуация уж совсем сложится не в пользу лазерной установки.
Заметьте, что кинетический перехватчик гарантированно справится и с обычным, и со сверхскоростным снарядом.
Комментарии (7) »
У iPhone есть функция, которая стирает пользовательские данные с устройства, если PIN-код на экране блокировки введён неверно 10 раз. Казалось бы, подобрать даже четырёхзначный код нереально – шанс угадать слишком мал. Тем не менее, пишут про электронное устройство, которое PIN-код успешно подбирает. Хитрость в том, что устройство, обнаружив ошибочный ввод по показаниям дисплея, моментально отрубает питание телефона (для реализации этого требуются вскрыть корпус и подключить прерыватель). Из-за алгоритмической ошибки в процедуре обработки ввода PIN-кода, телефон не успевает записать новое значение счётчика попыток в память, поэтому после перезагрузки можно попробовать ещё раз (пишут, что примерно 111 часов нужно для проверки всего множества кодов).
Насколько можно понять, речь об уязвимости CVE-2014-4451, которая датирована 18 ноября 2014 года и должна быть уже закрыта. Очевидно, что ошибка разработчиков состоит в последовательности шагов алгоритма: нужно сперва увеличивать значение счётчика попыток в энергонезависимой памяти, а только потом выводить результат проверки на экран (не наоборот). Очень показательный пример того, что в реализации функций обеспечения безопасности подобная “мелочь” может начисто удалить все защитные свойства.
Комментарии (3) »
Атака типа “человек посередине” применяется, конечно, далеко не только в Интернете. Известный пример: угон автомобилей. Сейчас распространены системы доступа в автомобиль (и запуска двигателя), которые используют дистанционную радиометку вместо ключа с механическим контактом. Радиометка – собственно, это стандартный ключ, – находится при владельце; автомобиль отпирается, когда этот ключ оказывается в непосредственной близости снаружи автомобиля, двигатель можно запустить, когда ключ внутри салона.
Схема атаки сводится к созданию “радиоретранслятора”: один приёмопередатчик располагается рядом с автомобилем, другой – в непосредственной близости от ключа, который, например, расположен в сумке у владельца, прогуливающегося по торговому центру в километре от автомобиля. Между этими двумя устройствами организуется радиоканал (любого типа, если обеспечивается достаточная полоса для ретрансляции сигнала). Думаю, дальнейшая схема понятна: когда к автомобилю подходит человек с “оконечным устройством” ретранслятора, то система доступа полагает, что это настоящий ключ, так как запросы и ответы, действительно, транслируются этим самым настоящим ключом (неподалёку от последнего расположился второй участник схемы, со своим “оконечным устройством” в рюкзаке).
Время ответов здесь играет ключевую роль, так как, в теории, позволяет системе, установленной на автомобиле, определить реальное расстояние до ключа. Ретранслятор никак не может “ответить” быстрее, чем сигнал сбегает до реального ключа и обратно. Другое дело, что интервалы времени здесь слишком малы, поэтому эффективность других методов защиты (вроде изменения частот и модуляции) может оказаться выше – ну, по крайней мере, это добавит сложностей в проектировании ретранслятора.
Комментарии (5) »
Санкции, предписанные федеральным правительством штатовским ИТ-компаниям, привязаны к определённым территориям. Не все сервисы, устройства и услуги можно выключить с высокой точностью, основываясь на геопривязке. Но многие – можно. Например:
доменные имена и IP-адреса – для них указываются контактные данные администратора (домена или блока IP-адресов), в которых, обычно, прописана страна и регион (хотя, в некоторых случаях, эти данные могут быть неверны). Регистрация домена может быть прекращена, а имя, соответственно, удалено или заблокировано;
некоторые операционные системы – например, Microsoft Windows ходят за обновлениями на серверы Microsoft, а идентификатор установки этой ОС имеет региональную привязку (по данным от магазинов и компаний-интеграторов). С уверенностью говорить нельзя, но, теоретически, ОС могут быть заблокированы с помощью раздачи некоторого специального обновления, срабатывающего только на некоторой выборке идентификаторов (лицензионных ключей). Естественно, в правильно настроенной коропативной среде такие обновления сами могут быть предварительно заблокированы, но наивно полагать, что такие среды встречаются повсеместно;
многие смартфоны – определение “домашнего” местоположения – стандартная функция для современных смартфонов. Причём, тут используется несколько критериев: и данные GPS, и данные от базовых станций GSM, кроме того – сведения о точках доступа WiFi, данные пользовательского профиля. Отключить современный смартфон можно двумя путями: во-первых, через операционную систему (на всех ведущих платформах есть стандартные функции блокировки телефонных аппаратов, используемые в случае кражи); во-вторых, через GSM-модуль, теоретически, при помощи отправки некоторой недокументированной команды с базовой станции;
часть операторского телекоммуникационного оборудования (и в сетях GSM, и в других сетях передачи данных) – данные о географии установок известны производителям от региональных дистрибьюторов. Отключить оборудование можно через имеющиеся каналы технологического управления, а в случае их предварительной блокировки, через уязвимости, которые, наверняка, имеются в достаточном количестве;
часть программно-технического оборудования, используемого при оказании разных ИТ-услуг, обычно называемых телематическими – дело в том, что многие современные “серверы и маршрутизаторы” привязаны к своим производителям, через схемы лицензирования. Соответственно, эти же самые схемы могут быть использованы для блокирования ключевых функций оборудования, на программном уровне (это же, кстати, касается разного корпоративного оборудования, вроде офисных телефонных станций и пр.).
Хуже всего, что, в теории, подобные блокировки могут коснуться и промышленного оборудования: современные АСУ (SCADA и т.д.), к сожалению, также не отличаются автономностью, а поэтому могут быть заблокированы дистанционно, по практически официальным каналам управления и обновления.
В общем, есть где развернуться.
Комментарии (4) »
Пять лет назад, когда твёрдотельные накопители данных (SSD) ещё не были настолько распространены, я писал о том, как быстро и надёжно уничтожить жёсткий диск – чтобы практически невозможно было восстановить записанные данные. Интересно, что та же самая немудрёная технология – пара ударов молотком – должна бы неплохо подходить и для SSD-накопителей. Вот только стучать придётся больше: потребуется разбить достаточное число чипов, которые хранят данные.
Хотя, многое зависит от схемотехники и логической организации накопителя. Удачное попадание молотка может выбить сразу кучу байтов (или хотя бы битов), соответствующих разным участкам большого файла. Но это если попадание удачное. В противном случае, если удалось восстановить карту размещения блоков, можно будет собрать много полезного из уцелевших элементов. Понятно, что данные о местоположении блоков и их отображении в последовательную структуру файлов – это самые важные данные. Предположим, что у нас полностью сохранён файл, имеющий объём в 100 мегабайт, но этот файл разрезан на небольшие блоки, которые перемешаны – как собрать их обратно, соединив в нужной последовательности? Особенно сложно проделать такую операцию для зашифрованного файла. Тем не менее, не исключено, что пары ударов молотка может не хватить – всё зависит от архитектуры накопителя.
Комментарии (7) »
Сети GSM – глобальны. Каждый абонент (SIM-карта) имеет уникальный идентификатор – IMSI. Если использовать возможности крупного оператора GSM, то можно “заходить” в чужие сети, находящиеся в других государствах, в рамках подключений и обмена данными, которые необходимы для межсетевой маршрутизации (звонки в роуминге и тому подобные вещи). Существуют базы данных, в которые включены едва ли не все базовые станции GSM, с привязкой к географическим координатам. Такие базы добровольно собирают сотни миллионов смартфонов по всему миру.
Конечно, продвинутые спецслужбы имеют доступ (легальный и не очень легальный) к служебному трафику операторов связи, опять же, по всему миру. Такой доступ позволяет получать информацию о регистрации телефонов в сети и другие, не менее полезные, сведения. Например, у АНБ, вероятно, есть весьма полные базы данных по всем мировым операторам связи – их оборудованию, адресному пространству, топологии сети и так далее (пример документа по теме – PDF, 27 MB).
В теории, всё это означает, что, послав некий GSM-сигнал на заданный мобильный телефон и получив в результате информацию о базовой станции, к которой он подключен в данный момент, можно примерно определить положение этого телефона вне зависимости от того, в какой точке мира он находится (лишь бы там наличествовало покрытие сети GSM). В реальном, между прочим, времени.
Вопрос в том, какая польза от такого инструмента геолокации? Понятно, что он работает только для выбранных аппаратов – мониторить их все не получится. При этом, обнаружение даже одного аппарата требует существенных затрат: должны работать несколько групп аналитиков, которые задействуют разные каналы сбора информации. То есть, инструмент подходит для очень важной цели. Однако такие “цели” либо не используют мобильные телефоны вовсе, либо используют их особым способом (одноразово, через “прокси”, ещё как-то). Технологии и алгоритмы известны. Сама по себе информация о местоположении телефонного аппарата не так уж полезна, потому что это всего лишь телефонный аппарат, а не человек.
Хотя, если включённый GSM-модуль, который можно приобрести где угодно в мире (в составе мобильного телефона, конечно), навесили на преследуемую цель специально и незаметно, то ситуация меняется: существующие GSM-сети становятся неплохим транспортом для слежки за выбранным лицом на чужой территории.
Comments Off on Слежение за смартфонами GSM по всему миру

Новый