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

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

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

Как работает устройство? Очень просто: в адрес чипа паспорта передаётся записанный ранее легитимный запрос настоящего считывающего устройства (так как обмен происходит в радиоэфире, то скрытно записать запрос – не так уж сложно) и – анализируется ответ паспорта (измеряется время ответа, проверяется код ошибки, если он доступен). Думаю, дальнейшие шаги очевидны: если получается, что чипом паспорта получен некорректный MAC, то мы “разговариваем” с другим паспортом. Если выходит – что недопустимый (повтор) nonce, то, очевидно, это тот же паспорт, для которого записывался “перехват”.

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

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

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

(via)



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

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

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

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

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

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

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

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



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

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

Например, во время войны в Северной Корее (1950-1953) среди основных проблем для применения суперсовременных (на то время) советских реактивных истребителей оказался именно недостаток аэродромов, с которых могли бы действовать МиГи. То есть, эффективно прикрыть от налётов штатовских бомбардировщиков все ключевые направления и территории можно было бы, если бы успевали строить подходящие аэродромы (которые, понятно, ещё на этапе обустройства становились приоритетной целью для бомбардировщиков).

В общем, очевидно, что если нет соответствующего аэродрома, то самолёт применять не получится. А в зависимости от типа самолёта возникают разные ограничения на подходящие аэродромы. С лесной грунтовки не всякий истребитель взлетит. С одной стороны, подходит длинный и прямой кусок хорошего шоссе. С другой – если у вас малозаметный “Стелс”, со сложнейшей электроникой, то придётся его мыть, отчищать, заправлять и обслуживать на соответствующем уровне, а значит требуется дополнительное аэродромное оборудование. На всяком ли шоссе его удастся развернуть? Большой вопрос.

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



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

Credit: an iconoclast, Flickr.comСегодня в воскресном юморе – очередной конспирологический рассказ.

Многие и многие персональные компьютеры работают под управлением операционной системы Microsoft Windows (XP, Vista, 7 и т.п.). Добротно сконфигурированный компьютер периодически загружает обновления с серверов Microsoft. Для чего можно было бы использовать такое положение вещей?

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

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

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

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

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

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

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

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

А Google – это только прикрытие для настоящего “Большого Брата”.

Вот.

Шутка.

(А объединять первое и второе наблюдения – будем в следующий раз, а то совсем страшно получится.)



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

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

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

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

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



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


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

Как известно, Northrop Grumman строит для ВМС США ударный беспилотник, морского, понятно, базирования. Это X-47B, который должен быть малозаметным, в высокой степени автономным. Базироваться X-47B будет на новых авианосцах. В блоге Ares публикуют новые фото беспилотника, насколько можно судить, перемещаемого по рулёжной дорожке с помощью тягача (по клику – открываются картинки большего разрешения):

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

Полёты обещали в прошлом, 2009, году. (А в рекламном проспекте 2007-го года изображён несколько другой аппарат, да.)

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



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

В продолжение темы про взлом шифрования GSM хочется отметить несколько важных моментов – наверное, нужно было их включить в предыдущую заметку по теме, но там уже и места-то не было.

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

Во-вторых, странно ожидать от операторов связи какой-то особенной реакции на очередную демонстрацию слабостей GSM в плане обеспечения секретности переговоров абонентов. Операторам действительно должно быть мало дела до секретности мобильных коммуникаций. Например, традиционная проводная телефония технически никак не защищена вообще – и что? Повышенная безопасность услуг связи обычных пользователей – никогда не была приоритетной задачей провайдеров связи (иначе они бы просто разорились на массовых услугах). Например, в случае с доступом к Интернету, провайдеры сколь-нибудь реально озаботились всякими ботнетами когда стали замечать ущерб для себя. При этом люди постоянно используют незащищённые каналы связи: вспомните Wi-Fi (который часто плохо настроен, открыт) и другие беспроводные технологии, нешифрованные сообщения e-mail, беседы “по аське” и тому подобные вещи. Так что проблема не в защите каналов, а в верном использовании этих каналов. И тут как раз начинается “в-третьих”.

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

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



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

Между прочим, вчера, 5 января, сайт dxdt.ru (в нынешнем воплощении) разменял ещё один год. Теперь проекту – 4 года. Это не так уж много, конечно. Надеюсь выпускать проект и дальше.

Немного статистики: сейчас WordPress (а dxdt.ru работает на этом движке) сообщает, что за четыре года опубликовано 1332 заметки и 4115 комментариев. По сравнению с предыдущим днём рождения, прирост в 185 заметок и в 1836 комментариев.



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

У дирижаблей радужное будущее, не сомневайтесь: в ближайшие пять-семь лет можно ожидать их поступления на службу, потому что военных применений у дирижаблей очень много.

Эти летательные аппараты могут служить дальними транспортами, которым не нужны ни взлётные, ни посадочные полосы или площадки. Понятно, что загружать и выгружать технику и пехотинцев дирижабль может где угодно, даже, скажем, зависнув над лесом: главное снабдить такой транспорт подходящими подъёмниками (это могут быть краны, конструкция которых хорошо отработана).

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

Сейчас о другом аспекте. Конечно, для свободного военного применения дирижаблей требуется господство “дирижабельной” державы в воздухе. По крайней мере, над тем районом, где дирижабли применяют. Однако неверно считать перспективные дирижабли “по умолчанию” суперуязвимыми. Да, летают они заведомо очень медленно, при этом – неповоротливые и очень большие размером. Но это не означает, что такой летательный аппарат можно сбить метким ружейным выстрелом (в отличие от, скажем, вертолёта).

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

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

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

Напрашивается оснащение дирижабля активными системами “противовоздушной” обороны. Это очень логичный шаг, учитывая, что грузоподъёмность у дирижабля может быть очень внушительной, и выделение небольшой её части под оборонительные системы – трата оправданная. Особенности компоновки помогают построить сферическое прикрытие, используя и пушки, и противоракеты. Более того: с созданием обеспечивающих обзор радаров, таких проблем, как на самолёте, – нет: большая поверхность позволяет разместить конформные антенны, просто интегрировав их в оболочку. Немалую лепту в защищённость дирижабля внесут развитые средства РЭБ, которые он несёт на борту (а хорошие системы РЭБ – это, на минуточку, активный режим “Стелс”, кроме прочих бонусов). Естественно, большой дирижабль может быть прикрыт от нападения базирующимися на нём беспилотниками (ситуация ведь напоминает авианосец, верно?).

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



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