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

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

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



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

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

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

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

А хорошие продукты у сообщества вполне получаются (тот же WordPress, например; или Joomla!, Drupal – отличные продукты). Другое дело, что те, кто хорошее реально создаёт, в бучах, думаю, штампованными мантрами не ругаются.



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

Оказывается, в Debian OpenSSL на днях обнаружили суперсерьёзный дефект: генератор псевдослучайных последовательностей оказался легко предсказуем из-за того, что использовался малый набор возможных инициализирующих значений. Генератор, понятно, служит для генерации криптографических ключей. При этом ошибку, прожившую полтора года, в код внесли удалением двух строчек, раздражавших анализаторы кода. Цитирую Алексея Тутубалина:

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

Комикс по теме:

(Источник комикса)



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

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

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

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

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



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

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

В радиолокации сигнатурой можно назвать некоторый набор характеристик отражённого целью сигнала, принятого радаром. Интересно, что параметры этой сигнатуры весьма полезны, так как дают в руки разработчикам инструмент, позволяющий распознавать цели. И в этом работа мат.обеспечения РЛС в чём-то напоминает работу антивирусных сканеров. Правда, задача с РЛС несколько сложнее.

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

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

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

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

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

Впрочем, это только один из теоретических способов.

(Фото: Raytheon)



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

Пакет локализации с вьетнамским языком для Firefox несколько месяцев (февраль-май) раздавался с официального сайта Mozilla вместе с встроенной троянской программой. Это не приятно. Потому что не ясно, как обстоят дела с другими официальными модулями браузера.



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

Популярная тема – атаки на компьютерное оборудование, использующие уровень аппаратуры. Особенно интересны тут троянские системы: есть хорошая статья Samuel T. King, et al про специальный процессор, позволяющий реализовывать произвольные атаки на той системе, где этот процессор установлен (там рассматривают ПК под управлением Linux, к которому подключаются через ЛВС). Вообще, проблема очень актуальна для систем вооружений.

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

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

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

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

В случае с комплексом ПВО можно себе представить специальный помехопостановщик, передающий такие помехи РЛС, обработка которых бортовой вычислительной машиной как раз и приводит к появлению в памяти последней ключевой последовательности, отключающей процессор. Понятно, что отстройка от помех потребует обработки каких-то параметров этих помех ЭВМ.

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



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

Для пущего успеха истребители должны действовать согласованной группой (и это верно не только для истребителей). А так как боевая обстановка меняется довольно быстро, то существенная часть “согласований” внутри группы обеспечивается вычислительной техникой. Бортовые компьютеры самолётов автоматически обмениваются между собой информацией, помогая и друг другу, и группе в целом.

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

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

su35.jpg

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



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

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

Заявки начнём принимать в апреле. Публичный анонс и ответы на вопросы – в рамках РИФа.



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

Вот интересно, что продолжает в разных видах транслироваться такое известное заблуждение относительно “систем безопасности”: мол, надёжность системы безопасности в целом равняется надежности самого “слабого” элемента (это несколько условное изложение).

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

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

Программные комплексы, содержащие модули с уязвимостями, также можно сделать весьма надёжными в целом. Эффект достигается с помощью подходящей архитектуры и “иерархии доверия”.

А “одномерные” системы безопасности нынче совсем не в моде.



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

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

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

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

Можно сказать, что с математической стороны задача синтезирования сводится к определению характеристик некоторых электромагнитных полей по результатам измерений, сделанных в нескольких точках пространства в разное время. Задача местами сложная, но вполне разрешимая (особенно когда измеряется отражённое излучение от источника, характеристики которого соответствуют некоторым требованиям, – это как раз случай с РЛС).

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

saab340.jpg

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

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

Интересно, что синтезированная апертура сама собой напрашивается для использования в РЛС, размещённых на околоземных спутниках, ведь их орбита весьма стабильна и хорошо просчитывается.

В бортовых РЛС с АФАР для современных истребителей “синтезированием апертур” могут заниматься несколько элементов антенны, выделенных для этой задачи управляющей ЭВМ. Типичная задача – “фоновое” картографирование поверхности с обнаружением наземных движущихся целей.



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