Ресурсы: техническое описание TLS, LaTeX - в картинки (img), криптографическая библиотека Arduino, шифр "Кузнечик" на ассемблере AMD64/AVX и ARM64
Аппаратные “закладки” – это такие элементы в микроэлектронных схемах, которые позволяют нештатно вмешиваться в работу вычислительной системы, например, выводить её из строя. То есть, активировал вредитель “закладку” – процессор сгорел, важное изделие неработоспособно. Я писал про такие “жучки” в давней заметке. Возможность наличия таких “закладок” – как раз является причиной для того, чтобы иметь собственный цикл производства микроэлектронных схем для военных применений.
Разовьём тему (направление развития, собственно, указано в упомянутой заметке). Вот, распространено мнение, что если вычислительная система, например, комплекса ПВО, “не подключена к другим сетям”, то активировать аппаратную закладку практически невозможно. Вообще, это довольно старая идея, являющаяся развитием взгляда продвинутого пользователя ПК: если компьютер к Интернету не подключен, то и вирус на него проникнуть не сможет (или что-то в подобном стиле). Действительно, на “изолированную систему” извне ничего попасть не может, а значит и закладку, как бы, не активировать. Однако в реальности всё по другому.
Судите сами. Обдумывая реальную ситуацию с комплексом ПВО (возьмём такой “аппарат” для примера) нужно иметь в виду, что это не изолированный ПК, а система, вполне себе работающая с данными, поступающими из внешнего мира. Конечно, так как система довольно сложная, многослойная, то фундаментальные свойства могут скрыться из области внимания. Тем не менее, комплекс ПВО – он просто в существенной мере управляется электромагнитными импульсами (если хотите – ЭМ-полями), поступающими извне. И важная часть этих импульсов – как раз поступает со стороны потенциального вредителя. Если эти импульсы строго игнорировать, не обрабатывать, то и комплекс оказывается бесполезен, по, думаю, понятным причинам. (Даже “отстройка от помех” – это тоже обработка принимаемых из эфира “чужих” сигналов, которые сперва нужно детектировать, “расфильтровать”, проанализировать; и только потом – не “обращать внимания”.) Так что “изолированные системы” – тут просто бесполезны.
Теперь взглянем на то, как разрабатывается специальное программное обеспечение для, гипотетически, комплекса ПВО. Программисты тут обучались по всем известным хорошим книгам (и это правильно, так как знание теории – основа всего в программировании). Для решения рутинных задач используются столь же “рутинные” алгоритмы.
Вот, например, есть такой фильтр Калмана, который даёт в руки разработчика системы наблюдения инструмент оценки вероятной траектории движения цели (если заданы некоторые ограничения на динамические характеристики движения цели). Программные реализации этого фильтра – давно и хорошо изучены, алгоритмы понятны. Фильтр широко используется на практике и для аналитика не будет архисложным предсказать в деталях, как именно данный фильтр реализован в конкретной вычислительной системе. Оказывается, это первый шаг к активации закладки, которая, понятно, встроена в аппаратуру комплекса ПВО (потому что микроэлектронные компоненты закупались “где-то не там”).
Теперь делаем второй шаг. Понятно, что у аналитика, нанятого вредителями, есть подробная документация, рассказывающая и о логике работы микроэлектронных устройств, которые установлены в атакуемом комплексе, и, что не менее важно, о логике работы “закладки”. Последняя, скажем, активируется после того, как микропроцессор-носитель прочитал из памяти (увидел “на шине”), некоторую ключевую последовательность байтов. Очевидно, что реализации фильтра Калмана как раз используют последовательности байтов (ну так этот фильтр программируют), которые напрямую связаны с наблюдаемыми параметрами движения цели. И вот эти параметры-то не менее прямым образом поступают из внешней среды, со стороны “потенциальных вредителей” – их принимает радар, наблюдающий цели.
Вопрос в том, насколько же реально для практики так сформировать передаваемые в сторону радара комплекса ПВО активные помехи, чтобы реализация фильтра Калмана, сопровождая ложную цель, наткнулась на ключевую последовательность байтов в памяти (куски которой, понятно, сформировали другие фрагменты кода и другие устройства, измеряющие скорость, “приводящие координаты” и т.п.). Учитывая, что можно помехопостановщиком быстро перебирать много вариантов, и атаковать не только фильтр Калмана (взятый здесь лишь в качестве утрированного примера), то благоприятный для вредителя исход атаки не кажется невероятным.
Комментарии (17) »
Сегодня в воскресном юморе – очередной конспирологический рассказ.
Многие и многие персональные компьютеры работают под управлением операционной системы Microsoft Windows (XP, Vista, 7 и т.п.). Добротно сконфигурированный компьютер периодически загружает обновления с серверов Microsoft. Для чего можно было бы использовать такое положение вещей?
Во-первых, понятно, что можно все эти миллионы компьютеров негласно привлечь к распределённым вычислениям (есть ведь и вполне гласные подобные инициативы, правильно?). Данные для обсчёта передаются вместе с обновлениями, обратно при этом приходит результат предыдущего вычисления. Операционная система довольно хорошо нагружает всякими задачами быстродействующие компьютеры, поэтому рядовой пользователь вообще ничего не почувствует. Возникает проблема со специалистами, которые исследуют код и сам процесс получения обновлений.
Оказывается, блокировать проявления здорового любопытства специалистами можно, правильно преобразовав алгоритмы. Не секрет, например, что многие задачи криптоанализа сводятся к операциям с квадратичными формами, с матрицами и тому подобными математическими объектами. Эти же объекты привычно используются в других задачах, скажем, при определении оптимального способа размещения файлов, при поиске строк, заданных регулярными выражениями, в какой-нибудь базе данных и всяких других проблемах (кому интересно – читайте что-нибудь по дискретной математике, а в воскресной юмористической записке не место подробному экскурсу в теорию).
Грубо говоря, одни задачи могут быть сведены к другим с точностью до переименования элементов потока данных (традиционный способ, не правда ли?), таким образом достигается сокрытие истинных целей алгоритмов. В коде операционной системы используются далеко не оптимальные реализации алгоритмов (они кого-нибудь удивляют в применении к миру ПК? меня – уже давно нет). А это – дополнительный ход, ещё больше затрудняющий анализ. Так что всё довольно хорошо скрыто.
Многие миллионы компьютеров – это большая вычислительная сила, даже если “клиентские алгоритмы” реализованы не оптимально. При этом расходы энергии, затраты на покупку вычислителей – все они ложатся на пользователей компьютеров. Экономически очень выгодно (да ещё и за лицензию на использование продукта отчисления идут). Не удивительно, что сейчас софтверные компании, регулярно работающие “по обновлению ПО”, – скажем, производители антивирусов, – запускают и продвигают создание вычислительных сетей из ПК своих клиентов. А можно ведь и не афишировать такую деятельность.
Это было во-первых. Теперь – во-вторых. Операционная система типа Windows, нацеленная, прежде всего, на пользовательский интерфейс, обязательно “знает” в деталях, что в данный момент пользователь делает на компьютере. Это очевидно. Запуск программ, загрузка программных библиотек, типы этих программ и библиотек, ввод с мыши, ввод с клавиатуры, информация с джойстика, интенсивность использования видеокарты – это только часть тех генерируемых пользователем сигналов, которые пропускает через себя и обрабатывает операционная система. Существуют специально созданные исследователями компьютерные игры, позволяющие строить некий психологический профиль человека по его, этого человека, действиям в игре. Тут, сами понимаете, нет ничего удивительного: зашить в игру набор интерактивных психологических тестов – невелика задача для современного “геймдевелопмента”.
Операционная система, конечно, не может предъявлять пользователю психологические тесты. Да. Зато она имеет все данные для определения, например, уровня реакции пользователя “на раздражители” – как быстро “обрабатываются” диалоговые окна? И операционная система может, ну, в теории, вычислять психоэмоциональные показатели – как двигается мышь? ошибки при вводе? “лихорадочная” работа с файлами? Не забывайте: соответствующий модуль операционки достаточно давно следит за пользователем, накапливает статистику, позволяющую качественно детектировать “аномалии”, изменения психологического состояния.
Сложно ли замаскировать программный код, ведущий подобный мониторинг? Не сложно. Но возникает вопрос: а зачем его скрывать? Обработка всех упомянутых “пользовательских сигналов” – стандартная функциональность, чего там прятать? Нужно лишь так подготовить алгоритмы, чтобы при проявлении некоторых наборов “сигналов” по нескольким каналам (например, клавиатура, мышь, используемые программы) возникал, скажем, сбой (“исключение”). Этот сбой будет служить семафором. О “сбое” сообщается на центральный сервер (либо в “отчёте о проблеме”, либо в момент обновления операционной системы).
Что получается в итоге? Получается гигантская система из миллионов ПК, которая информирует владельцев центральных серверов о психологической атмосфере в самых разных сообществах, которые составляют пользователи операционной системы. Где-то какая-то массовая паника. Где-то – все отдыхают. И так – по всему миру. Если что, то на основе информации, собираемой подобной “суперсистемой”, можно автоматически отключать компьютеры, выдавая им “левые обновления”.
А Google – это только прикрытие для настоящего “Большого Брата”.
Вот.
Шутка.
(А объединять первое и второе наблюдения – будем в следующий раз, а то совсем страшно получится.)
Комментарии (5) »
Важная фундаментальная вещь: определять положение всякого мобильного радиопередатчика (например, мобильного телефона) можно с помощью нескольких приёмников, в “пассивном” режиме (с оговорками) и в реальном времени.
Потребуется выполнение нескольких условий: приёмники должны “знать” собственное положение (координаты, можно взять относительно какого-то общего базиса), иметь общую синхронную временную шкалу высокой точности, обмениваться информацией между собой или с неким “центром” (это и есть оговорка про пассивный режим) и уметь определять общие для приёмников-участников “сигнатуры” передатчика, за которым ведётся слежка.
То есть, требуется умная сеть из множества приёмников – и, так как эфир общий, можно быстро определять местоположение практически произвольного передатчика. Подходящим объектом, например, является мобильный телефон.
Принцип работы сети – прост: вычисляется разность во времени поступления сигнала заданного радиопередатчика на разные приёмники. Разность по времени, очевидно, как-то коррелирует с расстоянием от передатчика до приёмника. Зная координаты нескольких приёмников, можно из геометрических соображений определить местоположение передатчика (относительно приёмников, вообще говоря).
На практике возникают сложности. Например, как только переходят от исследования сферического коня в вакууме к полевому применению, особенно в условиях города, выясняется, что радиоволны отражаются от “чего попало”, и вовсе не обязательно, что к каждому конкретному приёмнику сети сигнал прибыл кратчайшим путём (“по прямой”, грубо говоря). Также возникают трудности с вычислением “сигнатур”: откуда мы знаем, что приёмниками под номерами 10 и 7 принят сигнал одного и того же передатчика?
Впрочем, в случае с мобильными телефонами ситуацию, с одной стороны, несколько упрощает то, что эти устройства сами периодически выдают в эфир идентифицирующие их коды. С другой стороны – коды ещё нужно распознать.
Если следящие устройства совсем хитрые, то они могут привязаться к “тонким” уникальным физическим характеристикам всякого передатчика, которые определяются технологическими погрешностями, возникающими при производстве микроэлектронных устройств (какое-нибудь “дрожание фазы”, шум генератора и т.п.). Собственно, затеянный в прошлом году проект DARPA Gandalf – это система, работающая именно на описанных выше принципах.
Борьба с упоминавшимися искажениями, вносимыми отражениями, ведётся с помощью использования большого количества приёмников и сбора сведений об отражающих объектах: анализ всего массива информации позволяет исключить “невозможные” конфигурации приёмники-передатчик. Тут, кстати, точность и эффективность растёт при наблюдении за подвижным передатчиком. Не так важно, движутся при этом приёмники или нет.
Полезное развитие системы: GPS наоборот – использование разведывательных спутников в качестве “сетевых приёмников”. Такая сеть, как раз, может быстро определять положение подводной лодки, проводящей радиообмен. Ну и не только лодки, понятно. Главное, чтобы сигналы передатчика не слишком сильно искажались в атмосфере (степень искажения зависит от частоты и других параметров сигнала).
Комментарии (3) »
Как известно, на сданных в утиль жестких дисках от ПК частенько обнаруживают всякую ценную информацию (типа паролей и, даже, секретных планов). А вот часто спрашивают: как же гарантированно уничтожить данные на жестком диске? Особенно важны быстрые способы, целиком и безвозвратно данные уничтожающие, пусть и с разрушением самого носителя – ведь на фоне убытков от утечки данных, стоимость носителя исчезающе мала.
Вообще, есть разное ПО, затирающее уничтожаемые данные непосредственно на диске (обычное удаление файлов средствами ОС далеко не всегда реально данные с диска убирает). Но чтобы затереть несколько гигабайт требуется заметное время, а это не всегда приемлемо.
Ещё есть специальные устройства, такие “кассеты” для винчестеров, при нажатии “тревожной кнопки” они портят диск, который установлен внутри кассеты, при помощи мощного магнитного поля. Пока кнопку не нажали – диск работает с ПК штатным образом. Но, возникают трудности с электропитанием (внезапно обесточено помещение), и случайным нажатием на кнопку.
А между прочим, есть и более простой, но очень действенный способ: хороший молоток. Все данные на диске можно практически безвозвратно “удалить”, если нанести пару-тройку весомых ударов молотком по шпинделю (где находится шпиндель, обычно вполне можно уяснить бегло осмотрев внешний корпус винчестера). Главное, достичь смещения и повреждения магнитных поверхностей. Технология позволяет работать быстро: вынули винчестер (установлен в специальные салазки) и молотком – хрясь! хрясь! – готово.
Этот дешёвый способ работает вот почему: механизм записи данных в современных винчестерах так устроен, что если геометрия поверхностей (“элементарных дисков”) нарушена, изменилась их (и шпинделя) взаимная ориентация, относительно заводских установок, то найти где там и что на этих поверхностях записано – становится задачей практически неразрешимой.
Ну, то есть, да, в теории, можно взять какой-нибудь атомно-силовой микроскоп и тщательно сканировать изуродованные после удара поверхности. А собрав терабайты данных о микроструктуре “магнитных моментов”, можно попытаться на суперкомпьютере вычислить, где там технические метки, а где биты файлов, и в каком порядке эти биты в файлы сливались. Но вряд ли ваши данные реально кому-то настолько нужны.
Если принести сломанный (не разбитый!) винчестер в компанию по восстановлению данных, то инженеры, после того, как отпадут наиболее явные способы реанимации (типа, “повертеть в разных положениях”, “подержать в холодильнике”), попробуют заменить микроэлектронную начинку (если удастся найти подходящего донора); в некоторых случаях – попытаются заменить блок магнитных головок (уже очень сложно); ну, может, что-то ещё попытаются заменить, с тем чтобы прочитать данные с временно ожившего диска. Но попробуйте принести на восстановление разбитый винчестер с искривлёнными поверхностями и вам скажут, что вариант заведомо проигрышный, “надо было чаще делать бэкапы”.
Комментарии (40) »
Заголовок длинноват, да. Речь вот о чём: может ли мобильный телефонный аппарат быть скрытно использован для прослушивания разговоров его владельца? А если аппарат выключен? Вообще, пишут разное. Одни СМИ заявляют, что может. Другие знатоки вопроса отвечают, что никак нет, нельзя так прослушивать, особенно если выключен телефон. Возникает путаница.
Короткий ответ: да, может телефон использоваться для прослушивания. Судите сами, всё не так уж и сложно. Итак, во всяком мобильном телефонном аппарате обычно есть микрофон. Микрофон предназначен для преобразования акустических колебаний (давления воздуха) в электрические сигналы.
Такое преобразование может быть осуществлено разными способами, но фокус в побочном эффекте многих практических решений, делающих сам микрофон маломощным радиопередатчиком. В устройство микрофонов входят, например, катушки и даже встроенные усилители (простейший пример “излучающего микрофона” изучают, вроде бы, в школе: электродинамический микрофон, в котором катушка колеблется в магнитном поле). Так что по самому принципу своего действия микрофон генерирует и отправляет в эфир электромагнитные волны, характеристики которых коррелируют с изменением звукового давления во времени. Если кто-то рядом говорит, то волны излучаются даже если “родительское устройство” – мобильный телефон – отключено от питания.
Подобные побочные эффекты очень давно известны в практике специальных систем связи. Например, много десятков лет, со времён аналоговой проводной телефонии, известно о том, что микрофон телефонного аппарата наводит в проводной линии связи эхо, позволяющее прослушивать помещение, где аппарат установлен, даже если аппарат при этом находится, говоря современным языком, в “режиме ожидания” – то есть, по нему не ведут телефонный разговор. (Update (09/09): в комментариях пишут о телефонном аппарате, что “наводки даёт электромагнит звонка”.) С мобильным телефоном – в общем-то, то же самое. Хоть проводов тут и меньше. Главное, что в аппарате есть микрофон. А стандарты GSM и услуги оператора связи здесь не играют роли.
Итак, задача сводится к возможности принять генерируемые микрофоном сигналы, детектировать их, отфильтровать лишнее и декодировать, восстановив акустическую информацию. Да, это сложная задача, потребуется специальное оборудование и знания в “предметной области”. Кроме того, нужно разместить приёмную антенну как возможно ближе к мобильному аппарату – прослушивать с расстояния в километры не выйдет, для достижения успеха требуется встать антенной рядом. Но физических запретов на прослушивание нет, а антенну можно встроить в стену, либо “спрятать в чемодане”. (На роль приёмной антенны, кстати, иногда годятся и уже имеющиеся в стенах помещения провода. Ну там электропроводка и т.п.)
Вот.
Да, конечно, можно для прослушивания использовать не только мобильные телефоны. Годятся разные другие бытовые предметы. Известны случаи, когда транслятором акустической информации в эфир являлись настенные часы, висевшие в кабинете, где проходили секретные переговоры. В часах штатно содержалась вполне себе обычная катушка индуктивности, жёстко связанная с большим циферблатом (да, изнутри). Побочный эффект был такой: циферблат играл роль мембраны, поэтому изменение давления воздуха (звук, по простому говоря) приводило к колебаниям катушки; в результате вся система работала микрофоном и передавала в эфир разговоры из кабинета, которые принимали в припаркованном под окном здания специальном автомобиле. Реальная история, довольно старая.
Добавлю, что для улучшения “передающих” свойств “побочных” и штатных микрофонов всю систему можно “возбудить”, если в прослушиваемом помещении навести “опорное” ЭМ-поле (скажем, с этой целью используются СВЧ-сигналы).
Комментарии (18) »
На видео (ссылка ниже) в программе BBC успешно расстреливают “домики”, построенные из различных материалов, “вихревой пушкой”. Строительные решения для домиков выбраны из сказки про трёх поросят: солома, дерево, камень. При этом, в отличие от волка, дувшего в сказке, пушка справляется и с каменным домиком – сносит стену. Видео (ссылка на YouTube):
Комментарии (5) »
(Развиваем тему навигации. Нужно, наверное, отдельную категорию завести.)
Известно, что навигация по GPS основана на определении расстояния приёмника от нескольких “опорных точек”, чьи координаты известны (это, конечно, спутники). “Традиционная” практическая навигация также часто использует привязку к точкам с заранее известными координатами – то есть, методика стандартная и известная. Преимущества GPS: относительно несложно вычислять координаты автоматически. Но при этом навигация с использованием “радиоэлектронных автоматов”, работающих в привязке к радиопередатчикам с известными координатами – она тоже весьма и весьма старая (более 50 лет ей), хоть об этом и не многие задумываются.
Микроэлектронный прогресс нарастает. Результаты заметны в навигации. Сейчас и разнообразных передатчиков работает много и приёмники с компьютерами стали очень чувствительными, избирательными и мощными. Поэтому построить “навигационное поле”, доступное для автоматических навигационных систем, можно на базе самых разных присутствующих в интересующем районе передатчиков. GPS, опять же, не требуется. Интересно, что тут “навигационное поле” оказывается неким “паразитным” элементом.
Чтобы построить это самое “поле” достаточно тщательно исследовать обстановку в эфире, с максимальной точностью определив координаты множества подходящих передатчиков. Годятся: базовые станции систем мобильной связи, радиорелейные передатчики, телевизионные передатчики и тому подобные штуки. Понятно, что эти передатчики обычно зафиксированы на одном месте и у каждого можно выделить набор “сигнатур”, позволяющих отличать его от других (станции GSM, например, штатно “называют себя” при работе в эфире).
Теперь компьютеризированный навигационный инструмент, имеющий в локальной базе данных сведения о координатах и параметрах передатчиков, может вычислять собственное местоположение “триангулируя” на основе принимаемых сигналов. Годится для небольших беспилотников и наземных роботов, действующих в городе, ведь, GPS здесь много где совершенно недоступен: в больших зданиях, в подземных коммуникациях. А вот сигналы GSM, Wi-Fi или телевидения – вполне принимаются.
Особенно важен такой момент, который многие упускают из виду: для построения “навигационного поля” вовсе не нужно запрашивать какие-то сведения о местоположении, скажем, базовых станций GSM (типа, операторы их не выдадут). Вся информация дистанционно собирается из эфира, а координаты вычисляются с использованием других способов “привязки к местности”: хотя бы тот же самолёт-разведчик с GPS на борту.
DARPA ещё пару лет назад открыто заказало нечто подобное для военных применений. При этом описанная схема полностью рабочая и даже реализована на практике в гражданских системах (можно поискать в Google “wifi geolocation”, например). В случае с WiFi, сбор исходной информации проводится просто с борта автомобиля с GPS-приёмником (и WiFi, конечно), разъезжающего по городу.
Заметьте, уже система, работающая на WiFi, может быть весьма компактна, точна и пригодна для наведения “быстролетящих изделий”. Такие дела.
Комментарии (13) »
(В качестве развлечения, немного аналитической кухни, с описанием инструментария.) Вот зашёл разговор о “визуализации сообществ”. С одной стороны, есть, например, такой старый сборник сведений об интернет-персонах, как ФРИ. С другой стороны, некоторые бойкие и многообещающие затейники из числа молодёжи делают, скажем, каталоги-досье на всяких сетевых деятелей постарше.
А между тем, технологии-то движутся вперёд, поэтому можно делать более интерактивные штуки. Иллюстрирую. Берём недавний конкурс РОТОР, а точнее его самый социальный “отдел” – “Великолепную двадцатку”, – и строим интересные “социальные графы”, рассказывающие об устройстве ЕЖЕ-сообщества. Прежде, впрочем, нужно пояснить, что такое “Великолепная двадцатка”. Цитирую официальное описание:
Награждаются двадцать сетевых деятелей, внесших неоценимый вклад в дело развития русского сегмента Сети.
У каждого члена жюри десять плюс-голосов, которые он может добавить уже выдвинутым номинантам или выдвинуть новые кандидатуры, а так же один минус-голос, который он может вычесть у одного из выдвинутых номинантов.
Все данные голосования прозрачны (публикуются на всеобщее обозрение): кто кого выдвигает, кто за или против кого голосует.
В двадцатке ещё есть бонусы, связанные с основным РОТОРом, мы их не учитываем.
Сразу оговорюсь, это просто воскресный досуг, так что за точность не ручаюсь: к базе результатов голосования доступа у меня нет, поэтому исходные данные извлекались написанным на скорую руку перловым скриптом (лучшие традиции, кстати, – это вам не PHP) прямо из официальной страницы с результатами “Великолепной двадцатки”.
Исходные данные – это информация о том, кто и как голосовал, в удобном для машинной обработки представлении. Перловый скрипт генерит текстовые файлы в формате, пригодном для скармливания в Graphviz (gv).
Скармливая файлы по назначению, на основе собранных данных строим пару графов. “Полный” граф, со всеми результатами (около 300 узлов, куча рёбер), не самое “визуально информативное”, что можно сделать. Поэтому я построил такие графы: 1) распределение минус-голосов: узлы графа – персоны, получившие/выдавшие хотя бы один минус-голос; рёбра – направления отправки минус-голосов. 2) как голосуют внутри группы “выдвинутых” (это те участники игры, которые попали в номинанты 20-ки): узлы – это номинанты (те из них, кто подал хотя бы один голос в рамках затеи или получил хотя бы один голос от номинантов); а рёбра тут двух видов – отражают плюс-голоса и минус-голоса (красный цвет). При этом во втором графе плюс-голоса направлены от голосующего к тому, за кого он голосует, а минус-голос направлен от “пострадавшего” к голосующему (так лучше выравниваются узлы).
Первый граф распадается на крупные “куски” и вообще довольно просто выглядит, поэтому его лишь отображаем в виде gif-картинки (все ссылки ниже).
А вот со вторым графом, – который сложнее и позволяет увидеть небольшие группы, а также “голосовательные кольца”, – делаем настоящий интерактив. Данные экспортируются в формат SVG, который может показывать на веб-странице вживую java-апплета – замечательный ZGRViewer.
В итоге получается интерактивная страница, показывающая персоналии и кто из них как голосовал. При этом, по графу возможен текстовый поиск (строка для запросов – в апплете) и хитрая навигация с разными инструментами просмотра (подведите мышку к левой границе области просмотра апплеты – выползает тулбар).
Интерактивная страница расположена вот здесь, по ссылке: пример визуализации графов, отражающих явления внутри социальных групп.
Ещё ссылки:
Первый граф в виде изображения – минус-голоса. Второй файл (с очень большими измерениями, поэтому лучше смотреть через апплету, по ссылке в предыдущем абзаце) – граф голосования.
Comments Off on Воскресная забава: “социальные графы” ЕЖЕ-листа и что можно сделать
А вот, кстати, в начале года я публиковал на этом сайте три записки про дистанционные “кибератаки” на системы ПВО, собственно о “вскрытии управления комплексом” и о том, как успеху подобного “вскрытия” помогают физические явления, сопровождающие боевую эксплуатацию комплекса, среди которых штатная работа системы в радиоэфире и побочные эффекты, характерные для работы радиоэлектронных схем вообще.
Пока что всё это выглядит очень теоретически (и теория эта, конечно, очень не нова, известна много лет), но вот похоже, что уже года через три тема обретёт популярность с вполне “практической” точки зрения. Причины просты: бурно развиваются технологии моделирования и “виртуализации” сложных радиоэлектронных сетевых систем. А к этим технологиям добавляются (наконец-то) хорошо реализованные на практике инструменты автоматического анализа “логики” работы моделируемых систем. Ну это что-то вроде знакомых многим ИТ-специалистам алгоритмов “эвристического анализа исполняемого кода” из современных “настольных” антивирусов. Только с настоящей “эвристикой” и действительно большими возможностями.
Понятно, что можно моделировать и целый комплекс ПВО, со всеми возможными устройствами. Зачем? Для того, чтобы выяснить в мелких деталях, как комплекс внутри устроен, не имея непосредственного доступа к самому комплексу. Для того, чтобы научиться точно предсказывать работу комплекса в реальной ситуации и найти эффективные “точки входа” для активной дистанционной атаки средствами РЭБ. То есть, на первый взгляд, задача, мягко говоря, странная: исследуемой аппаратуры, для “прозванивания”, в доступности нет, схем и чертежей – нет, исходников программ – тоже нет, а требуется получить детальную документацию на устройство изделия. Невозможно?
Действительно, когда разговор заходит о подобном моделировании, часто можно услышать: бесполезно, ведь реализовать внутреннюю работу комплекса можно многими разными способами, алгоритмов – десятки, микросхем – сотни типов и т.п. И вроде бы получается, что для сколь-нибудь точного и практически полезного моделирования таки нужно наперёд знать “все коды и схемотехнику”, а кто ж их отдаст? Но вот при ближайшем рассмотрении ситуация оказывается иной: в дело вступает data mining.
Судите сами. Да, конечно, требуется суперкомпьютер, но их сейчас есть в достатке. (Задача, кстати, хорошо параллелится.) Для начала конструируется отправная точка – построенная по специальным правилам очень грубая математическая модель атакуемого комплекса (как такие комплексы устроены в принципе – известно). Начальное моделирование – это ручная работа. Ага, от такой модели толку совсем нет, потому что каждая практическая задача там допускает многие тысячи решений, многие тысячи “уточняющих вариантов” и ничего предсказать не позволяет (но среди этих бесполезных тысяч есть и верное решение).
Однако, после того как эти тысячи решений получены, каждый дополнительный параметр, уточняющий устройство моделируемого комплекса ПВО, позволит выбрать из них меньшее подмножество достоверных решений. К таким параметрам относятся и тип используемых комплексом ЦП, и, например, какой-то сигнал, выдаваемый в эфир реальным комплексом в заданный момент времени (без “раскрытия” логической структуры самого сигнала, просто важен факт работы передатчика с некоторой мощностью). “Редукция” разнообразия возможных моделей тут получается задачей “комбинаторной”, требующей много памяти и процессорного времени, но зато решаемой той самой “эвристикой” и уже в автоматическом режиме.
Фактически, это вариант компьютерных шахмат. Правила задают законы физики, позициями служат состояния модели анализируемого изделия. “Переставляются” и взвешиваются приблизительно такие варианты: “если конфигурация “типа Б” сработала вот так, а предыдущие состояния – такие-то, то на этом миллисекундном интервале мощности на излучение никак не хватит”. Если продолжить пример с сигналом, то, скажем, его появление укладывается лишь в узкий спектр “решений”, выдаваемых исходной грубой моделью.
Недавно я упоминал неожиданный эффект анализа географических координат пребывания “анонимных пользователей”: сопоставление весьма приблизительных (с точностью до городского квартала) координат места работы и места проживания позволяет с высокой точностью вычислить персональные данные “анонима”, при том что по отдельности и координаты места работы, и координаты места проживания для идентификации бесполезны.
Эффект от добавления к грубой модели комплекса некоторых, казалось бы бесполезных, дополнительных данных – будет аналогичным: множество возможных “решений” на одном из шагов “схлопнется”, а все остальные элементы мозаики (недостающие устройства в грубой модели) определятся сами собой. Правда, против законов физики, вкупе с перечнем доступных по технологиям производства микроэлектронных компонент, – не попрёшь.
Но самое главное развитие тут вот в чём: суперкомпьютер может быть расположен далеко от “зоны конфронтации”, что позволяет сделать этот компьютер реально большим. Данные для “уточнения моделей” в реальном времени передают по каналам связи самолёты-разведчики (может, беспилотные), наблюдающие работу комплекса ПВО непосредственно. Большой компьютер работает быстро, поэтому он почти в том же реальном времени присылает обратно “новые вопросы”, нужные для более эффективного моделирования. Присланные “вопросы” отрабатывают самолёты РЭБ, которые с помощью своих передатчиков подсовывают исследуемому комплексу нужные сигналы. Реакцию отслеживают разведчики и отправляют “центральному компьютеру”.
Что имеем в итоге с данного гуся? А вот что: быстрый автоматический анализ внутренней работы и устройства комплекса, позволяющий найти способы перехвата управления. Или, по крайней мере, практические способы эффективного и незаметного введения системы в состояние “заблуждения”: цели есть, а их операторам не видно (в теории, реализуется, например, с помощью упреждения активными помехами работы комплекса по обзору).
Комментарии (8) »
Опять спрашивают: можно ли находить разнообразные электронные устройства, если они хорошо спрятаны и при этом находятся в “пассивном режиме” (питание отключено, ничего не передают)? Можно. Но придётся использовать “зондирующие поля”.
Всякая электроника, оказавшись в электромагнитном поле, начинает на это поле воздействовать. Главное – правильно выбирать поле и уметь детектировать его изменения. Более того, многие электронные устройства при попадании в подходящим образом “модулированное” ЭМ-поле начинают излучать “вторичные” ЭМ-волны с вполне конкретными характеристиками. (Банальный пример: различные бытовые звукоусилители.) Волны можно принимать.
Вооружившись хорошей антенной, чувствительным приёмником и мощным компьютером с правильным программным обеспечением можно обнаруживать интересующие устройства внутри зданий с достаточно большого расстояния. Даже если эти устройства в данный момент выключены. При этом, правда, нужно излучать достаточно мощное “зондирующее поле” и не просто излучать, но быстро изменять его параметры. Анализ “ответных сигналов” позволит и местоположение устройств определить, и устройства классифицировать (например, разные катушки и “ёмкости” звучат по-разному, как и инверторы с микропроцессорами). Можно обследовать внутренность зданий из автомобиля, едущего по улице. Если приобрести очень дорогие современные приёмники, то и с борта самолёта.
Для чего нужны такие детекторы? Практический пример: пехотинцы носят с собой рации, которые есть электронные устройства. Рации бывают разных типов и производителей. При этом, можно настроить детектор на конкретный тип электронной начинки рации – получается своего рода “опознавание” (несколько условное, конечно). Заметьте, в итоге получаем детектор “с опознаванием”, который потенциально работает через стены, без “прямой видимости”.
Комментарии (3) »
Не так давно публиковалась занимательная работа, в которой исследователи с большого расстояния считывали изображения на мониторах компьютеров, используя телескоп и отражение света от поверхности самых привычных бытовых предметов, типа кофейной чашки, расположенных в той же комнате, где и “атакуемый” монитор. Хитрости с отражениями – это вообще интересно, особенно для радиолокации, где кроме “банальных” “первичных” отражений используются и многократные: они, как и в случае с подсматриванием за монитором, позволяют увидеть объекты, находящиеся не на линии визирования.
Вот, кстати, если разобрать на минимальные логические составляющие задачу наблюдения за окружающей действительностью с помощью электромагнитных полей, то получится, что одна из основ – это измерение неких характеристик полей в данной точке пространства.
Но какую информацию о “реальности вокруг” можно получить, просто проведя единичное измерение поля в единственной точке? Практически никакой, ну разве что убедиться, что некоторое поле есть – не более. Совершенно бесполезная информация. Сама по себе.
Полезность возникает тогда, когда измерение проводится для проверки некоторой гипотезы, а результаты интерпретируются в канве дополнительной “априорной” информации. Судите сами: например, радар лишь проверяет предположение (гипотезу) о том, что в некоторой точке пространства (куда “светит луч”) находится “цель”, а результаты каждого “элементарного точечного” измерения интерпретируются с учётом сведений о ранее отправленном в эфир зондирующем импульсе и, скажем, о положении излучателя в момент отправки этого импульса.
Вообще, оказывается, что чем в большем количестве точек пространства измеряется поле (точность измерений тоже определяюще важна) и чем больше априорной информации о полях/сигналах имеется в распоряжении, тем точнее можно проверять “гипотезы”. (При этом дополнительная информация вполне может компенсировать недостатки измерений.) Воплощением этой давно известной “схемы” является, например, цифровое синтезирование апертуры: в различные моменты времени измеряем поле во множестве точек, получаем “виртуальную антенну”.
Переходим к использованию сложных отражений сигнала в радиолокации, упомянутому в первом абзаце заметки. Ясно, что зондирующий сигнал радара, работающего, например, в городе, отражается железобетонными конструкциями многократно. То есть луч запросто может “светить” “за угол”, потому что многократные отражения происходят от стен зданий, расположенных вдоль улицы за тем самым “углом”. Или можно “посветить” через дверной проём в помещение и вернувшийся обратно сложный сигнал (пусть и слабый) обретёт “частотно/временные” характеристики, определяемые планом помещения и расположением в нём металлических предметов (например, стрелкового оружия).
Хитрость вот в чём: если просто записать этот сложный сигнал с помощью приёмника и попытаться извлечь из него полезную информацию о расположении зданий или кухонных кастрюль внутри них, то ничего не получится. Ведь один и тот же результат “суперпозиции” отражений могут давать самые разные конфигурации отражающих поверхностей – возникает неоднозначность в интерпретации “результатов измерений”.
Но вот если воспользоваться дополнительной информацией, то неоднозначности можно свести к минимуму. Точно известен план улицы, местоположение зданий, можно вычислить положение автомобиля, въехавшего на улицу. При этом, ещё раз напомню, наблюдение радаром ведётся не “в прямой видимости”, приёмом “первичных” отражений, а с помощью анализа многократно отражённого стенами зданий сигнала. Наблюдать вообще можно с соседней улицы. Возможности РЛС многократно расширяются: теперь можно видеть объекты, “напрямую” невидимые.
Дополнительную информацию, позволяющую “убирать неоднозначности”, можно получить из карт местности или из других разведданных. Самое интересное, что можно довольно быстро и, при этом, тщательно измерить текущее состояние “отражений” специальным зондирующим сигналом, записать состояние и в дальнейшем по изменению принимаемого сигнала во времени вычислять местоположение движущихся объектов, особым образом варьируя модуляции зондирующих импульсов (задача упрощается, если такой объект в исследуемом пространстве один). Схема работает потому, что “гладкое” (без, так сказать, телепортаций) перемещение объекта внутри “промеренного 3D-рельефа” вполне позволяет вычислить наиболее вероятную траекторию этого объекта.
Радары, позволяющие подобным образом смотреть “за угол” в городах, уже заказывает DARPA. Ну и загоризонтная радиолокация уже давно работает на логически схожих принципах. А главная проблема тут кроется в вычислительном моделировании конфигурации электромагнитных полей – требуется мощный компьютер, способный на лету решать непростые системы дифференциальных уравнений. Но вот сейчас как раз очень мощные компьютеры с “высокой степенью параллелизма” стали весьма компактными: в качестве примера годятся игровые приставки.
Комментарии (4) »

Новый