Ресурсы: техническое описание TLS, LaTeX - в картинки (img), криптографическая библиотека Arduino, шифр "Кузнечик" на ассемблере AMD64/AVX и ARM64
ФБР отзывает предписание, требовавшее от Apple содействия во взломе аппарата iPhone: бюро утверждает, что с задачей справились без помощи Apple и данные из телефона получены. Конечно, интересно, как именно. Предполагается, что работу выполнил подрядчик, некая специализированная компания, нанятая ФБР – это обычная практика.
В качестве метода вполне мог сгодиться и программный подход: например, предположим, что программный код Apple некорректно проверяет подписи на полученных обновлениях или не контролирует целостность исполняемого кода. Если взглянуть на список уязвимостей iOS, то такое положение дел совсем не кажется невероятным (вспомните про знаменитый код Goto Fail). Взламывающий код можно внести в систему аппарата снаружи через сетевое соединение, либо подключившись напрямую к тому или иному контроллеру внутри (вариантов, на самом деле, немало: модуль GSM, датчики, дисплей и так далее). Естественно, нельзя исключать наиболее занимательный и высокотехнологичный вариант: аппаратное копирование криптомодуля (а в данном аппарате, как я понимаю, лишь физического блока памяти) с сохранением внутреннего состояния. Это можно проделать теоретически, но задача чрезвычайно сложна – на уровне отдельного научного проекта целой лаборатории из области прикладной физики. Так что, скорее всего, реальность – банальна: либо программная уязвимость, позволяющая обновить фрагмент прошивки, либо кто-то просто поделился ключами.
(Разумеется, на следующем маркетинговом шаге Apple начнёт шумно добиваться раскрытия подробностей взлома, чтобы “защитить приватность пользователей”.)
Комментарии (5) »
Лет шесть-восемь назад я несколько раз рассказывал про то, что комплексы ПВО (как пример) являются системами, работающими с данными, которые поступают извне, поэтому возможно активировать аппаратные закладки дистанционно и разными способами, несмотря на то, что радиоэлектронная система комплекса “не подключена к внешним сетям”. Сейчас похожая ситуация складывается с кибербезопасностью автоматических систем управления технологическими процессами (АСУ ТП). (Да, не так много лет прошло, а тема ИБ добралась и до заводских конвейеров). Здесь есть интересные направления для атак, которые совсем не применимы для “офисных” систем. Одно из таких направлений: различные датчики.
Современные датчики бывают довольно продвинутыми, в плане взаимодействия со считывающими устройствами. Например, цифровые датчики температуры не только измеряют её значение, но и передают его в цифровом виде по линии связи, которая разделяется между многими датчиками – общая шина (есть несколько стандартных интерфейсов, например, 1-Wire). Датчик содержит схему кодирования, умеет видеть свой адрес на общей шине и так далее. Центральное устройство, – нередко, это микроконтроллер, – принимающее информацию от датчиков, полагает, что эта информация будет приходить в заранее определённом формате, и соответственно интерпретирует считываемые с линии цифровые данные. Получается неплохой вход в информационную систему. Понятно, что вместо датчика к линии можно подключить устройство злоумышленника, которое передаст не температуру, а иной код. На первый взгляд, инъекция кода через шину датчиков кажется надуманной. В этом и кроется причина того, что промышленные системы редко защищены по этому направлению: они просто считывают данные и обрабатывают их как доверенные.
Интересно, что никакой там “офисный” антивирус, установленный на управляющем ПК, тут никак не поможет: он просто не видит, что происходит на уровне телеметрической аппаратуры (это если оставить за скобками другие причины, по которым наличие антивирусного ПО – решение довольно сомнительное для АСУ ТП). При этом передача специально подготовленных данных, которые после обработки микроконтроллером и, например, загрузки в БД, превратятся в управляющую команду – вполне реальна.
Особенно богаты на уязвимости беспроводные системы сбора информации: в случае с проводами – злоумышленник ещё должен добраться до провода, подключиться к нему (что, впрочем, не так уж невероятно, если речь идёт о стратегически важных объектах); радиообмен, обычно осуществляемый в открытом виде без аутентификации, упрощает задачу – данные, в рамках атаки, можно транслировать со значительного расстояния, вплоть до передачи с борта самолёта. Дело в том, что многие реализации промышленных протоколов опроса датчиков никак не аутентифицируют ответы. Даже если датчик должен штатно отвечать после передачи в эфир запроса, всегда можно ответить быстрее (да, в особо “сложных” случаях придётся поставить помеху, подавив ответ настоящего датчика, но все эти методы хорошо отработаны ещё на базе WiFi).
Атаки улучшаются, оборудование усложняется. Скоро мы увидим немало нового в этой, вполне практической, области.
Комментарии (1) »
Лирическое отступление.
Как Винсент и ожидал, входная дверь в доме Объекта оказалась проблемой. Замок, естественно, поддерживал беспроводной доступ LoRa. Из-за типичной ошибки в настройках приоритета имён узлов с ним легко удалось установить двухстороннее соединение снаружи дома, используя преимущество в мощности сигнала. Однако замок отказался отпирать дверь в ответ на авариный сигнал-оверрайд, подписанный действующим ключом муниципальной противопожарной службы. (Пожарные ключи не менялись уже в течение года, за это время только ленивый не скачал себе несколько копий сигнала из эфира, провернув ложный вызов пожарной машины. Из-за повторного использования параметров, пара подписанных сигналов позволяла вычислить ключ примерно за неделю. Винсент обменялся записями с Робом, так что на вычисления потребовалось лишь семнадцать часов.) Тем не менее, замок сигнал игнорировал. Не реагировал он и на инженерные пароли. Всё это говорило о том, что используется нестандартная прошивка. Винсент не планировал сильно наследить в логах, – особых сомнений, что человек, заморочившийся с перепрошивкой замка, так или иначе анализирует логи доступа, не было, – поэтому брутфос, не дававший в такой конфигурации никакой гарантии получения доступа, отменялся.
Ситуацию спасла тщательность, с которой они традиционно готовили очередное предприятие. Две недели назад Винсент незаметно подменил упаковку фильтров для робота-пылесоса, вычислив момент, когда её доставили к дому Объекта. Интерфейсный чип в первом из фильтров был заменён на специально подготовленный Робом. Судя по площади дома и числу проживающих, пылесос уже должен был скушать пилюлю, автоматически поменяв фильтр. Действительно, старый фильтр лежал в мусорном баке неподалёку от дома – о чём сам и сигнализировал в эфир. По какой-то неясной, но явно очень древней, причине, состав мусора вообще никак не шифровался: прочитать перечень подлежащих вывозу выброшенных вещей мог всякий, а не обязательно мусорщик (Винсент знал, что анализ мусора – это древняя традиция, всегда приносившая полезнейшие находки; только раньше в мусоре приходилось копаться руками, а теперь всё разбиралось дистанционно).
Радиоволны с трудом пробивались наружу из корпуса робота-пылесоса: чип, установленный в фильтр, отвечал, хоть и очень слабым сигналом. Пара минут – и электронные мозги пылесоса, слишком доверившиеся “аутентичности” фильтра, получили инъекцию кода, исполняемого теперь с наивысшим приоритетом. Доступ во внутреннюю сеть дома был получен. Но больше ничего ломать не потребовалось. Пылесос, под управлением Винсента, подъехал к двери и, оказавшись в непосредственной близости, передал запрос на “переход в другое помещение”. Видимо, нестандартная прошивка была предназначена для межкомнатных замков: засовы щёлкнули и дверь отъехала в сторону.
– Никогда не доверяй пылесосам, – пробормотал Винсент, – особенно, если это пылесос-инсайдер.
Это я к тому, что у меня давно есть аккаунт в Facebook.com (требуется регистрация), где я иногда публикую разные наблюдения и записки, которые не совсем подходят для dxdt.ru. Фрагмент, приведённый выше, как раз оттуда. Основная часть моих записей там открыта, в режиме Friends only я пишу только совсем уж специальные сообщения (хотя, уровень доступа Public, в данном случае означает, что для просмотра всё равно необходим аккаунт в Facebook), поэтому – подписывайтесь, если это вам интересно.
Комментарии (1) »
Считается, что привязка аккаунта в том или ином онлайн-сервисе к телефонному номеру увеличивает степень защиты этого аккаунта от перехвата. С Facebook недавно обнаружилась показательная уязвимость, очередной раз подтверждающая, что это не всегда так.
Описанная Пракашем атака основывается на используемом в Facebook механизме смены пароля. Желая изменить его, пользователь должен сообщить администрации свое имя, имя учетной записи, а также адрес электронной почты и номер телефона. На этот номер высылается 6-значный цифровой код, ввод которого и позволяет сменить пароль.
Нетрудно догадаться, что этот 6-значный код был подвержен простому перебору: попытки подбора блокировались только в основной системе авторизации, а тестовые площадки – позволяли проверять коды без ограничений. Сам по себе замечателен тот факт, что программная система Facebook не разделяла должны образом базы авторизации пользователей между тестовым и рабочим окружением, но вполне разделяла сами системы авторизации, урезая защиту (при тех же паролях; да, понятно, что пароли там вряд ли можно разделить, но это не означает, что нужно отказаться от части средств их защиты).
Что касается привязки к телефону: если бы схема изменения пароля не включала телефонный номер, то в ней вряд ли возник бы простейший цифровой код, обладающий большим “весом” в составе авторизующего набора реквизитов. Хотя, с другой стороны, в SMS можно передавать и сложные алфавитно-цифровые коды, но этот вариант не реализовали (скорее всего, причина банальная: “пользователям трудно набирать”).
Comments Off on Перебор кода смены пароля для Facebook.com
Автомобиль-робот Google недавно снова попал в ДТП, понадеявшись, как пишут, на то, что ему уступит дорогу автобус, управляемый человеком (ага, не тут-то было!). Считается, что если на дороге остались только автомобили-роботы, то количество ДТП резко снизится. Например, в случае с автобусом, который не уступил полосу попавшему в затруднительное положение автомобилю, роботы смогли бы быстро и, что особенно важно, однозначно, договориться, обменявшись сигналами. Хорошо известны протоколы, которые позволят роботам уступать друг другу даже в том случае, когда правила дорожного движения этого прямо не предписывают.
Но есть (теоретическая) проблема. Да, наверное, в простых случаях роботы договорятся с точно прогнозируемым результатом. Скорее всего, договорятся и в сложных случаях. Но если ошибка вкралась в реализацию протокола, то последствия могут оказаться гораздо серьёзнее, чем в случае с биологическими водителями. То есть, из-за ошибки в действиях одного робота – масса других автомобилей, полагающихся на сигналы неисправного аппарата, попадут в неприятности, создав какой-нибудь гигантский затор или что-то подобное. Автоматическая система дорожного движения, с одной стороны, выглядит близкой к оптимальному решению, – как минимум, позволяет внедрить эффективные алгоритмы оптимизации, – с другой: есть большие сомнения, что архитектура будет обладать нужной устойчивостью в случае с отказами и ошибками в программном обеспечении и аппаратуре автомобилей. Конечно, можно предложить использовать разные защищённые протоколы, но пока что в их внедрение верится с трудом. В основном, из-за того, что защищённый вариант обязательно будет далёк от оптимального (в смысле оптимизации “пассажиропотока”).
Комментарии (3) »
ICANN опубликовала документ (PDF), описывающий план по замене действующего корневого ключа KSK глобальной DNS на новый (ротацию KSK). Корневой KSK – это ключ, удостоверяющий данные в корневой зоне (он используется не напрямую, а через ZSK – ключ подписи зоны, но это детали). DNSSEC запустили в корне DNS в 2010 году без утверждения процедуры ротации главного ключа. Сейчас такая процедура появилась.
В кратком изложении план выглядит так: в апреле этого, 2016, года запустят процесс генерации нового KSK; в январе следующего (2017) года этот новый KSK должен быть опубликован в корневой зоне, при публикации он будет подписан действующим KSK; в апреле 2017 года новый KSK заменит старый при подписи ZSK, а спустя несколько месяцев – старый KSK будет отозван и, следующим шагом, удалён из DNS. Кроме того, в январе 2017 новый KSK должен быть опубликован другими способами, не в DNS.
Заменить корневой KSK необходимо во всех валидирующих резолверах. Те из них, которые поддерживают автоматизированный процесс (RFC 5011), смогу установить ключ автоматически (проверив данные из DNS). В других случаях – нужно заменить ключ вручную.
Сейчас для корневого KSK используется RSA-2048. Замены алгоритма или длины ключа при первой ротации не запланировано (одна из основных претензий к DNSSEC – криптосистема RSA и малая длина ключа).
Comments Off on Ротация корневого ключа DNSSEC
В Штатах официально представили обозначение перспективного бомбардировщика – B-21. Хотя, пишут, что представили сам бомбардировщик, но это преувеличение: прототипа нет, а показали только (несколько наивную) картинку, которая отражает представление художника о развитии B-2.

Если обсуждать картинку, то это дозвуковой самолёт, схема “Летающее крыло”, чуть более “зализанная”, чем B-2 (исчезли некоторые углы), сохранившая те же черты “малозаметного” летательного аппарата. Самолёт обитаемый, судя по “окнам” в носовой части. Далеко не факт, что эта картинка окажется как-то близко похожа на реальный самолёт, если он вообще будет сдан в серию. Картинка же больше всего напоминает классический Go 229, к которому, по очертаниям, B-21 получается ближе, чем B-2.
Комментарии (8) »
Интересное видео с роботом Atlas от Boston Dynamics: андроид передвигается по снегу, открывает двери, перемещает коробки, несмотря на помехи, создаваемые человеком с клюшкой.
(Видео.)
Comments Off on Робот-андроид Boston Dynamics в действии
Шумная история: Apple отказывается помочь ФБР подобрать пароль разблокировки для конкретного аппарата iPhone. В предписании судьи сказано, что требуется как-то модифицировать программную (а возможно – аппаратную, но упор сделан на программную) часть конкретного устройства, чтобы можно было простым перебором раскрыть пароль (вероятно, речь об обычном цифровом пароле, который пользователи устанавливают на аппарат). В штатной конфигурации iPhone может удалить пользовательские данные (точнее: удалить ключ и сделать остальные данные недоступными) после нескольких неверных попыток ввода пароля.
Интересно, что при наличии неограниченного физического доступа к устройству специалисты могли бы попробовать извлечь из памяти ключ, который ОС использует для разблокировки, и расшифровать его вне аппарата (сам ключ не совпадает с паролем – последний служит одним из входных параметров для алгоритма шифрования ключа). После этого можно разблокировать аппарат, так как пароль станет известен. (А можно, если есть копия памяти, расшифровать и остальные пользовательские данные – сам аппарат тогда не нужен.) Однако тут могут быть схемотехнические проблемы: криптомодуль iPhone потребуется либо аккуратно извлечь, либо не менее аккуратно подключиться к нему, не особенно нарушая штатные механизмы работы, потому что в противном случае операционная система может данные стереть, обнаружив вмешательство. Сомнительно, конечно, что данный смартфон устроен настолько защищённым в схемотехническом плане, но проблемы при нештатном доступе к криптомодулю – гарантированы в любом случае. Есть риск всё потерять, и, в случае, если операцию будет выполнять подрядчик ФБР, то он (и само бюро) и окажется виноват, что сломал ценную улику. Вариант же с участием Apple, отключающей защиту при помощи подписанного обновления операционной системы, выглядит куда безопаснее и надёжнее.
(Естественно, у Apple имеется возможность прочитать данные смартфона – это прямо следует из письма, которое адресовано пользователям. То есть, речь о какой-то сверхзащищённости не идёт, а только лишь о политике компании в информационном поле. Но это другая история.)
Комментарии (10) »
Типичный способ сравнения возможностей бортовых РЛС истребителей – сопоставление по таким характеристикам, как дальность обнаружения цели и количество одновременно обстреливаемых или сопровождаемых целей. Результаты сравнения переносятся на сам истребитель. (Конечно, речь тут идёт не только об РЛС, а о системе управления вооружением в целом.) Оба параметра (и “дальность”, и “число целей”) – довольно размыты и лукавы.

Обстреливать две цели параллельно умели старые советские системы (70-х годов). С двумя целями есть интересное техническое решение, в случае, если РЛС имеет электронное сканирование луча только в одной плоскости и поворотную (по крену) антенну: антенна поворачивается так, чтобы обе цели оказались в этой самой плоскости, дальше луч бегает между ними электронно.
Понятно, что трудности с обстрелом множества целей происходят из инертности РЛС. Обычно, существует режим обзора, в котором РЛС лишь сообщает, что там-то и там-то есть некая цель (этот момент прямо связан со вторым параметром – с максимальной дальностью). Если требуется цели обнаруживать в режиме обзора, то каждую можно подсвечивать относительно редко. В результате, получаем направление, текущую дальность (плюс/минус – погрешность велика), некотрую информацию о скорости (из доплеровского сдвига в сигнале). Если решили обстреливать цель, то для эффективного наведения оружия потребуется траектория: вектор скорости, с высокой точностью, соответственно, подсвечивать цель лучом нужно с более высокой частотой. Однако каждый цикл работы радара включает в себя несколько этапов: требуется сформировать сигнал, повернуть луч, излучить сигнал, принять сигнал, обработать принятое. Каждый этап требует времени. Отсюда и возникает инертность станции, накладывающая ограничения на число сопровождаемых целей. Некоторые из этих ограничений – физические, другие – требуют большой вычислительной мощности.
Можно прийти к следующему обобщённому правилу: приёмник должен получить достаточно энергии, отражённой от цели, чтобы что-то детально про эту цель померить (это, примерно, как в цифровой фотографии). Энергию можно накапливать – это будет называться синтезированием апертуры. Можно частично компенсировать потери вычислениями. Но в реальности ограничения остаются весьма существенными. Прежде всего, свою роль играют средства РЭБ (со стороны цели), также важны характеристики отражающей способности цели, текущая траектория её полёта (относительная скорость), расположение в пространстве (на фоне земли, скажем), и т.д., и т.п. Обсуждаемые в прессе характеристики при этом измеряются относительно условного уголкового отражателя, висящего где-то там в воздухе.
Превосходство конкретной РЛС в числе одновременно обстреливаемых целей – очень условная характеристика. В том числе, и по соображениям эффективности. Пусть условный F-22 может взять с собой шесть ракет “воздух-воздух” большой дальности. Скорее всего, для поражения одной цели на большой дальности ему потребуется не менее двух ракет. Почему? Реальной статистики нет, но мало кто сомневается, что едва ли какая-нибудь ракета имеет вероятность поражения хотя бы близкую к 100%, потому что даже по мишеням такого не наблюдается. Тем более, если речь идёт о больших дальностях: чем дальше, тем вероятность меньше. Поэтому, примем, что вероятность 0.6 (это очень неплохо). То есть, чтобы иметь заметные шансы уничтожения цели – хотя бы две ракеты нужно в её направлении отстрелить (кстати, вероятность поражения при обстреле двумя ракетами, в наилучшем случае, составит 0.84 – это если события независимы, что, вообще говоря, не так). Шесть ракет – три цели. Но F-22 теперь остался безоружным (пушку – оставим за скобками: как вариант неподходящий, особенно для данного самолёта). Таким образом, смысл режима обстрела десятка целей возникает только в случае, если действует группа самолётов: один видит – другие обстреливают общую цель (оставаясь в пассивном режиме). В этом режиме нет ничего концептуально нового – реализовано в советской системе “Заслон” (МиГ-31), ещё в 80-е годы прошлого века. Соответственно в такой тактике, кроме характеристик по количеству целей конкретной РЛС, важно как применяется группа истребителей.
Что касается второго показателя – дальности обнаружения. Благодаря тому, что сейчас доступны большие вычислительные мощности, можно на одной и той же РЛС средней мощности сделать дальность и 400, и 1400 км. Дело за цифровой обработкой сигнала. Пусть, опять же, для условного истребителя заявлено 500 км в качестве характеристики “дальность обнаружения цели”. Что такое 500 км? Это около половины боевого радиуса (по типичным современным типам самолётов). Требуется ли истребителю видеть цели, расположенные так далеко (относительно лётных способностей)? Ведь существуют системы AWACS, которые всё равно видят дальше. Более того, засветив цель с 500 км – истребитель её скорее всего спугнёт, а догнать не сможет, потому что боевой радиус не позволяет.
Можно вспомнить, что большая дальность обнаружения коррелирует с общими характеристиками наблюдения РЛС. Например, что у РЛС, имеющей большую заявленную дальность обнаружения, выше “чувствительность” и станция может увидеть малозаметную цель на большем расстоянии. Проблема в том, что это довольно наивная оценка. Современные РЛС устроены сложнее, чем базовая схема “передатчик-отражение-приёмник”. Чувствительность можно поднимать очень высоко, используя обработку сигнала, но из-за того, что такая чувствительная станция начинает видеть скопления мух, отдельных птиц и всё прочее, что оказалось ближе чем 500 км к приёмнику, в том числе и искусственные помехи, возникает новая проблема: попробовать разобраться во всём этом сонме потенциальных целей.
(Чтобы самолёт мог не обнаруживать себя в процессе обнаружения целей – требуется использовать сложный для детектирования внешним наблюдателем зондирующий сигнал. Здесь есть отдельная наука, направление называется LPI – Low Probability of Intercept. Однако реализация LPI требует больше времени на обработку сигнала, при прочих равных, а также снижает полезную мощность, которую можно использовать для измерения характеристик цели.)
Другой важный вопрос – ракеты сверхбольшой дальности. Для системы управления вооружением, обнаруживающей цели на (условной) дальности 500 км, требуются соответствующие ракеты. Идея, что дальновидящий истребитель, оставаясь незамеченным, поражает воздушную цель с огромной дистанции – очень старая. Но с подобными ракетами, подходящими для истребителя, – до сих пор проблемы (хотя некоторые образцы создавались). Во-первых, такая ракета обязательно будет большой, во всех измерениях, читай: длинной и тяжёлой. Если платформой служит малозаметный истребитель с размещением вооружения во внутреннем отсеке, то этот отсек должен быть огромным. У F-22, например, здесь есть проблема. Во-вторых, 500 км со средней скоростью M=3 (очень быстро) лететь более восьми минут: многие цели успеют развернуться и уйти за боевой радиус. А истребитель останется без ракеты (которую, правда, можно перенацелить).
Неверно считать, что число обстреливаемых одновременно целей или дальность обнаружения – неважные характеристики. Однако современные бортовые РЛС тут в любом случае находятся близко к пределу разумной эффективности, поэтому сравнивать показатели нужно с осторожностью.
Комментарии (2) »

Новый