Ресурсы: техническое описание TLS, LaTeX - в картинки (img), криптографическая библиотека Arduino, шифр "Кузнечик" на ассемблере AMD64/AVX и ARM64
В одной из прошлых заметок я писал (правда, больше в шутку) о скрытых (навязанных) вычислениях, которые могут проводить распространённые ОС в рамках процедуры получения обновлений. Результаты этих вычислений, понятно, могут использоваться производителями ОС: грех же не воспользоваться миллионами бесплатных часов машинного времени.
Интересно, что навязать пользовательскому компьютеру такие вычисления можно и без доступа к системе обновлений. Логичное решение – посещаемый веб-сайт. Конечно, можно что угодно запрограммировать на JavaScript и отправлять результаты подсчётов на сервер после загрузки страницы, или даже считать всё время, пока страница загружена, а результаты отправлять асинхронно, с помощью AJAX. Но JavaScript – медленный, да и решение получается слишком банальное.
Изящное решение могло бы быть вот каким: навязанная вычислительная задача “зашивается” в рендеринг веб-страниц. Например, когда браузер размещает в окне визуальные блоки, определяемые специально подготовленным CSS-ом (таблицами разметки страниц), он решает задачи, близкие к комбинаторным (ведь позиционирование блоков может быть относительным и абсолютным, с разной глубиной, с разным выравниванием и т.п.).
CSS-ы можно генерить разные при каждом обращении браузера. В каждый экземпляр CSS-ов транслируется кусочек задачи, кусочек навязанных вычислений. Получить информацию об итоговом расположении блоков сложнее, нужно привязывать всё к каким-нибудь фоновым картинкам. Возникают вопросы: кто-то уже такое делал? Выгодно ли это в вычислительном плане, относительно затрат на формирование CSS-ов?
Комментарии (8) »
В развитие темы активных систем защиты техники (противоракетных перехватчиков): прикинем требуемое быстродействие и масштаб временной шкалы, на которой происходит срабатывание всей системы (сперва посмотрим на малые скорости, а потом на гиперзвуковые снаряды).
Понятно, что время нужно измерять от момента обнаружения угрозы сенсорами до момента, в который защищаемый объект (танк там, или самолёт) будет поражён. Предположим, что сенсоры обнаруживают подлетающий снаряд (гранату, ракету) на расстоянии в 1000 метров. Тогда, при средней скорости подлёта в 500 м/с, остаётся аж две секунды на всё про всё, можно хорошо прицелиться и так далее.
Вообще, 1000 метров – это очень далеко. В городе просто нет таких практических дистанций в прямой видимости (разве что с верхней полусферы). В поле – посвободнее, но будет много заведомо лишних целей. С другой стороны, и две секунды – это очень долго, считать не пересчитать.
Более практичное расстояние – 100 метров. Получаем 0.2 сек. = 200 мс при средней скорости подлёта 500 м/с. 200 миллисекунд – это 200 тыс. тактов процессора, работающего на частоте 1 Мгц. 200 тыс. операций – как оценка, выглядит достаточной для вычисления параметров перехвата. При этом, 1 Мгц – по нынешним меркам очень медленно даже для военной специальной ЭВМ. Нужно, впрочем, скинуть время, необходимое для актививрования бортового перехватчика (поджиг ускорителей и т.п.) и передачи в этот перехватчик данных целеуказания.
Тут интересно взглянуть, как же может быть устроен перехватчик: например, противоракета выкидывается пороховым зарядом из стартового “стакана”, выдаёт несколько реактивных импульсов корректирующими двигателями (эти двигатели придают разворачивающий момент; т.е., смотрят, так сказать, вбок) и после этого, включив основной ускоритель, отправляется на встречу с целью. Собственно, именно так работает одна из штатовских систем, насколько можно судить по видео. Думаю, понятно, в чём суть схемы. Противоракета всегда выкидывается из пускового устройства в одном направлении. Скажем, вертикально вверх. Это конструктивно удобнее. Уже в воздухе противоракета очень быстро разворачивается в сторону точки перехвата, обеспечивая прикрытие по полусфере.
Ускорители со специальным топливом – они срабатывают очень быстро, хватит 5-10 мс плюс ещё 10 мс накинем на выполнение разворота. Тут, впрочем, кроется весьма хитрое “ноу-хау”: нужно так устроить корректирующие двигатели, чтобы они точно дозировали создаваемый момент, иначе противоракета будет разворачиваться с ошибкой, что сделает всю систему бесполезной. В используемом нами масштабе, заметным становится время, за которое противоракета достигнет точки перехвата. Предположим, что противоракета также показала среднюю скорость 500 м/с (очень такой прикидочный расчёт). Получается, что через 20 мс (10% от общего интервала в 200 мс) противоракета пролетела 10 метров. С запасом хватает для наземной бронированной техники (с точки зрения защиты пехоты перехват должен осуществляться как можно ближе к танку; у самолётов – там ситуация иная, но это для другой записки).
Время на передачу данных по проводам: похоже, им можно пренебречь (примем, что около 4 нс на метр, при использовании оптоволокна в качестве среды распространения). Также не рассматриваем задержки на распространние сигнала радара. Загрузка данных в противоракету: несколько байтов, несколько десятков тактов, получается – в пределах миллисекунды, при условии, что данные передаются по интерфейсу с основной частотой в 1 Мгц.
Промежуточный итог: для медленных целей (500 м/с) времени на вычисление параметров и на сам перехват – целый вагон (у нас специально занижена потенциальная производительность ЭВМ). Выглядит всё реально.
Теперь предположим, что появились упомянутые в комментах гиперзвуковые кинетические снаряды. Скорость такого боеприпаса – 1500 – 2000 м/с. То есть, времени меньше в четыре раза (скорость в четыре раза выше). Но, собственно, для вычислительной части времени всё равно достаточно (мы же взяли самую медленную ЭВМ) и даже задержки на передачу данных опять не заметны. Если противоракета продолжает тратить 40 мс на прибытие в точку встречи, то гиперзвуковой снаряд за это время пролетает всего 80 метров, что укладывается в предложенную схему (дистанция 100 метров). Так что, в теории, не так всё плохо. А ведь есть ещё лазеры. Для перехвата.
Комментарии (28) »
Современные биотехнологии продвинулись очень далеко. Похоже, через несколько лет реализуют давнишние планы по выращиванию в лабораториях “с нуля” “монстров” с нужными характеристиками. Доступность вычислительных мощностей и неплохо уже проработанный математический аппарат для моделирования – всё это позволит вычислить нужные биологические “ключи”, и конструирование организмов заработает на полную катушку. (Сейчас ещё не на полную работает, как видно.)
Биологические системы только на первый взгляд могут показаться непрочными и уязвимыми. На практике есть и очень живучие, и очень прочные организмы. Конструкторы смогут собрать воедино нужные особенности. Биохимия позволяет выращивать самые разные живые ткани, которые могут быть и броней, и какими-нибудь антеннами, и усилителями электромагнитных сигналов, да и всякими другими агрегатами тоже. Правда, процесс выращивания очень сложно выстроить. Но компьютеры помогают.
Сейчас умеют конструировать метаматериалы с заданными свойствами, которые не встречаются в природе. Можно предположить, что опыт проектирования и изготовления метаматериалов соединят с биологией. Таким образом, искусственные организмы получат в свой состав ткани с уникальными свойствами. Скажем, на базе таких тканей можно вырастить сверхчувствительные глаза с широким воспринимаемым диапазоном частот. Отлично подошли бы глаза, которые видят в терагерцевом участке спектра – получилось бы “проникающее” зрение. (Хорошо отработанная фантастами идея со “стелс-кожей”, делающей носителя невидимым, из этой же области.) Очевидно, что биологический организм может сам восстанавливаться, наращивать способности и так далее.
Разработку технологий выращивания таких организмов до сих пор затрудняло то, что всю научную изощрённость процесса чрезвычайно сложно охватить единым взором. В своё время, по этой же причине, например, тормозилось создание сверхзвуковых самолётов. Да и много чего ещё тормозилось. Нынче математика и компьютеры довольно глубоко проникли в передовую биологию. Так что вычислительный инструмент, который позволит сформировать “единый взор”, вот-вот появится.
Если сравнивать с классическими электронно-механическими роботами, то, вроде бы, у искусственных организмов не так уж много преимуществ. В ближайшей перспективе, роботы тоже смогут иметь функцию самовосстановления после повреждений. Смогут менять форму и подпитываться всякой захваченной биомассой (или мусором). А уж оснастить робота сенсорами и разнообразным оружием – даже проще. Всё отлично.
Есть только одна важная особенность.
Для выпуска роботов нужна хорошо отлаженная высокотехнологичная цепочка, базирующаяся на весьма глубокой и многоступенчатой переработке имеющихся на нашей планете исходных полезных ископаемых. Вспомните: там и хитрые полупроводники с присадками, и высоколегированные стали, и редкоземельные металлы, и непростые полимеры, и сложные текучие масла, и ещё всякое разное. Нужны химические заводы, промышленные комбинаты, сборочные цеха. И высококвалифицированный персонал.
Добротно сконструированный биологический механизм – сам себе и химический завод, и промкомбинат, и сборочный цех. Перспективный военный монстр может вылупляться из яйца и прибавлять в росте, поедая отходы из столовой. Требуется лишь некоторый уход, как, например, за коровой. Это что касается персонала.
Проблема в том, что обычные организмы – всем нам привычные животные, – растут крайне медленно. Армия механических роботов успеет отстроиться за долгие месяцы. Но ведь именно поэтому в списке перспективных направлений исследовательских агентств (например, DARPA) значатся проекты по ускорению метаболизма в целом и отдельных “синтезирующих” биологических процессов. Биологию искусственных организмов наверняка можно ускорить.
Комментарии (5) »
С автомобилями связано не меньше всяких занимательных заблуждений, чем с самолётами. Например, кто-то полагает, что современное автомобильное двигателестроение недалеко ушло от первых “продвинутых” серийных моторов 60-х годов прошлого века (“ну вот только обвешали их электроникой”).
Или вот такое мнение: чем больше автомобиль, тем лучше его пассивная безопасность (так сказать, по определению). Речь о легковых автомобилях. Грузовики тут играют в своём классе. А ведь в двигателях, скажем, разобраться будет посложнее, чем с отношением линейных размеров к пассивной безопасности.
Да, при прочих равных, большой автомобиль проще сконструировать более безопасным. Это понятно. Но сами по себе размеры ничего не гарантируют. Например, ошибки в конструкции большого автомобиля могут приводить к тому, что при столкновении в салон проникнут какие-нибудь “лишние элементы” кузова. Очевидно, что большие линейные размеры позволяют запроектировать “деформируемые части” большей длины, а это позволит “растянуть” замедление при ударе, снизить перегрузки. Но ведь всю эту деформацию нужно правильно рассчитать. Просто “растянув” жёсткие детали, эффекта добиться не удастся. А если уж хорошо считать современными методами, то хорошие характеристики “по деформации” можно уместить и в размеры автомобиля с небольшим кузовом, потому что не настолько велики традиционные скорости передвижения автотранспорта.
Важный момент: обзорность. Здесь часто можно услышать про высокие автомобили (кроссоверы и внедорожники), что раз посадка выше, то обзорность гарантированно лучше, если сравнивать с небольшим “низким” авто (“высоко сижу, далеко гляжу”, как говорилось в сказке). Но это так, если только обозревать окрестности со “сферического коня в вакууме”. На практике, да, автомобили-соседи по пробке, загораживающие обзор, участвуют в формировании “поля зрения”, понятно. Но также это поле формируется из расположения и размеров стёкол, зеркал, стоек крыши, “рамок” дверей и так далее. На небольшом автомобиле невысокого роста расположение этих элементов тоже может быть хорошим, обеспечивая прекрасный обзор, размеры кузова тут не имеют первоочередного значения. При этом вряд ли возможность рассматривать крыши соседей по транспортному потоку компенсирует то, что важный сектор поля зрения постоянно закрыт передней левой стойкой крыши (например).
В общем, вовсе не факт, что большой автомобиль обязательно превосходит небольшой по пассивной безопасности. Нужно ещё смотреть на уровень проектирования, чтобы действительно сравнивать при прочих равных (тогда большой не проиграет, но не обязательно – выиграет).
Комментарии (9) »
В комментариях к недавней заметке про механические замки в будущем выдвинули очень интересные идеи. Например, про то, что можно использовать в качестве основной “отпирающей характеристики” ключа не форму, а свойства материала или использовать другие “физические поля” для переноса характеристик ключа внутрь замка. Попробуем развить тему дальше.
(Наверное, нужно напомнить, что в исходной заметке речь о том, какое будущее ждёт механические замки – ведь скоро появятся дешёвые, доступные сенсоры, способные в автоматическом режиме “просканировать” замок неразрушающими методами и реконструировать подходящий ключ, основываясь на компьютерном анализе внутренней структуры конкретного механизма.)
Идея про придание механике новых свойств, используя достижения технологий, она, наверное, самая интересная. Ведь научились делать не только изощрённые сканеры, но и, вот-вот, смогут изготавливать хитрые метаматериалы, с заданными необычными свойствами. А устройство “секрета” всякого механического замка можно свести к одному запирающему элементу – такой элемент всегда есть внутри; это, вообще говоря, не засов, конечно, а какая-нибудь шпилька, которая препятствует повороту личинки, до тех пор, пока не провалится в открывшийся в результате перемещения деталей механизма зазор.
Соответственно, в продвинутом замке будущего такой запирающий элемент не меняет свое положение, а например, при определённых условиях становится из жёсткого гибким и позволяет замку “сработать”, убрать засов. В самом же механизме при этом никаких свойственных только конфигурации “открыто” “зазоров” и “дырок” – не образуется. Понятно, что этот “хайтковый” запирающий элемент сделан из метаматериала, с заданными свойствами, главное из которых – изменить параметры упругости.
Возникает вопрос, как передавать на запирающий конструкцию элемент управляющие воздействия, если замок чисто механический? Ответ может быть, например, таким: а передаются воздействия с помощью создания различных механических напряжений в разных частях этого элемента. Где-то потянули “на три ньютона” (условно), а здесь, в другом месте, одновременно, – надавили с другой силой. Комбинацию сил, приложенных к разным участкам, создаёт механизм замка, но при этом механизм можно так устроить, что верная комбинация никак не следует из его структуры (потому что комбинация “хранится” не в механизме замка, а в структуре того самого метаматериального элемента). В общем, да, остаётся возможность исследования ключевого элемента такого замка, но его уже можно так запрятать, что сканеру будет не дотянуться.
Схема, кстати, “с теоретической точки зрения” аналогична, например, оптоэлектронным развязкам, применяемым в системах специальной связи.
Комментарии (4) »
В воскресенье – очередная конспирологическая заметка с шутками и сказками.
Вот сейчас под “социальными сетями” обычно понимают интернет-сервисы типа “Живого журнала”, Facebook, “Одноклассников” и других похожих. Основная особенность тут – построение и постоянное использование участниками сети связей типа “друзья”, “выборок” навроде “что пишут мои друзья” и так далее (думаю, все читатели этой заметки понимают, о чём речь, поэтому не будем вдаваться в подробности).
Все сколь-нибудь популярные сервисы этого рода – “центральные”, то есть работают на группе вполне конкретных серверов, и эти серверы принадлежат той или иной компании, которая имеет полный (технический и административный) контроль над действиями пользователей сети, над контентом, который они генерируют и, соответственно, над связями, которые они строят. Это важный, таки просто ключевой момент, ведь именно это обстоятельство отличает интернетовские социальные сети от аналогичных сетей в офлайне: понятно ведь, что в офлайне никто не может одним рубильником “отключить” всех членов сети в произвольный момент времени. (В офлайне социальные сети – это, например, сообщества фанатов какой-нибудь футбольной команды или, ещё лучше, тайные политические общества.)
Именно штука с центральным управлением переводит интернетовские социальные сети на принципиально новый уровень, если сравнивать с офлайном. Иной уровень – это, конечно, не возможность “отрубить серверы”. Нет. Всё хитрее.
Представим, что над контентом, генерируемым пользователями, ведёт наблюдение группа аналитиков, вооружённых специальными программами-автоматами (лингвистическими и анализирующими связи внутри сообщества). Эта группа строит некоторое новое представление для сети: выделяет связи пользователей “по авторитетности”, определяет стили “онлайн-поведения” и так далее. Результаты наблюдений накапливаются в особой базе данных.
Когда наступает некий “нуль-день”, поведение программного обеспечения серверов социальной сети резко изменяется. Теперь для каждого из пользователей генерируется некоторая “отдельная виртуальность”: сообщения от “друзей” этого пользователя генерируются уже не другими пользователями, а имитирующими их программами-роботами (ботами), которые действуют по алгоритмам, разработанным аналитиками из предыдущего абзаца. Имея полный контроль над контентом и над онлайн-активностью пользователей, не так уж и нереально завалить “френдоленты” потоками сгенерированных сообщений. Можно также подменять сообщения в архивах, оставленные ранее.
Так как на основе автоматизированного анализа предшествовавшей “нуль-дню” сетевой активности построена очень точная модель, то боты смогут генерировать сообщения, очень похожие на те, которые писали реальные пользователи. Смысл акции в том, что деятельность центрально управляемых ботов создаёт нужный информационный фон. Социальные сети в Интернете – традиционный инструмент создания всяких флешмобов. То есть, подходят для “стимулирования” массовых акций.
Понятно, что боты, работающие на центральном сервере, строят нужную отдельную виртуальность для каждого пользователя, учитывая связи этого пользователя, поведение внутри некой “референтной группы”. Вовсе не обязательно, чтобы “тупо подменялись” все сообщения: боты могут лишь иногда вмешиваться, задавая канву, которой следует ведомое сообщество. Ну, правда, не секрет же, что в “жежешечках” и подобных сетях существует вполне предсказуемое по реакции на заявления “гуру” сообщество последователей.
Первый вопрос, который возникает: как же научить ботов писать длинные осмысленные тексты, с заданным смысловым содержанием, да ещё и имитируя при этом живого биологического автора, так, чтобы подозрений не возникло? Такая задача не решена. (Ну разве что за исключением многих и многих дневниковых записок типа “сходил в магазин, купил колбасы, сейчас бутербродов наделаю” – да.) Внимание, фокус: а вовсе не обязательно решать задачу для длинных “авторских текстов”. Поступим проще: уменьшим допустимую длину сообщений в социальной сети.
Что получается?
Правильно – “Твиттер”, самая модная новинка среди социальных сервисов. Обученный на большой выборке “твитов” данного пользователя бот вполне себе справится со 140 символами, используя лишь частотные фразеологические словари и давно известные алгоритмы генерации коротких текстов. При этом “Твиттер” специально позиционируется как среда, где все “следуют” за потоками “изречений” друг друга. Очень удобно. И, вспомните, что сервис уже не раз упоминался в качестве инструмента для быстрой координации офлайновой деятельности социальных сетей.
Подмена информационной реальности с помощью перевода социальных сервисов в режим интеллектуальной эмуляции сообщества – отличный инструмент. Пользователь утром читает, что многие из его друзей просто возмущены каким-нибудь событием в офлайне (события-то может и не было, да), осуждают и намереваются “принять меры”. И вот уже этот пользователь транслирует “информационную тенденцию” дальше.
Ага, есть второй вопрос: а вот как, если этот пользователь начнёт проверять достоверность сообщения по другим каналам, типа, перезвонит по телефону автору “твита”? Ответ: а что, многие обычно проверяют сообщения? Нет, как показывает успешное распространение программ-зловредов с помощью разных ICQ, мало кто проверяет даже совсем неожиданные сообщения. А ведь автоматическая деятельность социальной сети в “нуль-день” будет учитывать “порог неожиданности”, максимально приближая фальшивые сообщения к типичным по стилю (в том числе можно и серии сообщений генерировать, начиная заранее).
Так что подмену реальности не все заметят. А те, кто заметят – их деятельность можно эффективно компенсировать, ведь именно им придётся искать дополнительные каналы оповещения других пользователей о случившемся подлоге. А это проблема.
Вот такая история.
Комментарии (4) »
В комментариях к записке “про синих” (там, напомню, просто ссылка на разбор сюжетных нестыковок известного фильма) подняли довольно интересный вопрос: можно ли оперативно обустроить доступную всем заинтересованным лицам автоматическую навигационную систему на чужой планете? И если можно, то как? Речь, впрочем, идёт о некоем фантастическом мире, где возможны межзвёздные перелёты за разумное время, и при этом сами подобные перелёты считаются разумными, а найденную планету предлагается активно осваивать (типа, бурить там какой-то волшебный минерал, как я понимаю).
Я, к сожалению, пока не пишу фантастику, но, тем не менее, сама навигационная тема – она очень занимательная. Тем более, что аналогичная ситуация могла бы возникнуть, например, вокруг нашего “местного” Марса. Между прочим, навигация возле других планет уже освоена земными учёными: речь о зондах, работающих на орбитах того же Марса.
Вот.
Как ввести “навигационное поле” на другой планете? GPS приходит на ум первой, но многим кажется трудно осуществимой (это на фоне-то технологий межзвёздных перелётов, ага). Вообще, в фундаментальном смысле, навигационной системе нужны две вещи: точное, синхронное время и несколько “точек привязки” (можно использовать и одну), для которых хорошо известно “местоположение”. (Именно на базе этих “элементов” работает GPS: источником и точек привязки, и синхронного времени служат сами спутники.)
Итак, понятно, что прибывший к чужой планете звездолёт некие свои координаты знает, иначе он бы не нашёл планеты. Поэтому исходной точкой для развёртывания “навигационного поля” служит сам межпланетный корабль. (Да, у планеты может не быть магнитного поля, но это вообще никак задачу не осложняет.) С корабля прежде всего просто выбрасываются специальные орбитальные маяки: это небольшие автономные спутники, скорее всего с ядерными источниками энергии и какими-нибудь миниатюрными ионными двигателями. Конечно, на борту – сверхточные часы и радиопередатчик. Основной корабль может оставить вереницу таких спутников за собой, пролетая по орбите и выбрасывая их с неким “шагом по времени”.
Далее спутники самостоятельно корректируют свои орбиты и по радиоканалу объединяются в сеть. Маяки могут встать на “геостационарную” (гео… – не подходит, да) орбиту, но это вообще не обязательно. Заняв произвольное положение в пространстве – главное, чтобы было достаточное расстояние между отдельными маяками – это обеспечит размах для навигационного покрытия, – спутники-маяки синхронизируют время, определяют своё положение относительно корабля (зная задержки в распространении сигнала и имея каналы обмена информацией между маяками, это несложно сделать), проводят поправки на релятивистские эффекты (угу, так более научно-фантастически). Всё – навигационное поле готово, так как теперь координаты привязаны к общей с кораблём системе, а базисом служит набор координат орбитальных маяков. Теперь другие “участники движения” получают в своё распоряжение “GPS”. В зависимости от “астрофизических” параметров исследуемой планеты, операция может занять пару десятков часов, вряд ли более того.
Насколько сложны и дороги подобные спутники-маяки? На фоне перелётов к другим звёздным системам, миниатюрный спутник (а вовсе не требуются “гиганты”, вроде современных спутников GPS), оснащённый вполне себе обычными электронными устройствами (ну что в них необычного, если, на момент межзвёздного перелёта, они уже известны как минимум пару сотен лет?), не выглядит дорогостоящим устройством. Простые миниспутники, действующие сетью, популярны уже сейчас, на околоземной орбите. В будущем, надо думать, подобные спутники вообще клепают сотнями на полностью роботизированных заводах. Кроме того, в случае с другими планетами, спутники даже не нужно запускать с земли, тратя энергию ракетных ускорителей – это ещё больше снижает затраты и упрощает процедуру. Не требуется использовать десятки спутников – достаточно нескольких, потому что даже если и возникнут “провалы” в доступности маяков на поверхности планеты, эти “провалы” легко компенсировать другими средствами (см. ниже). И, конечно, новая орбитальная группировка постоянно компенсирует изменения орбит, которые будут возникать.
Нужна ли такая GPS настолько, чтобы размещать её компоненты на захватническом межпланетном корабле? Ответ прост: ещё бы, конечно нужна! Кто сомневается, тот никогда не плавал даже на моторной лодке по большому озеру. Разный десант, орбитальные грузовики, разведывательные космические катера – все они должны иметь возможность находить в околопланетном пространстве свои базы, находить главный корабль, находить друг друга (уже банально для того, чтобы не сталкиваться между собой, следуя по выделенным орбитальным коридорам с космическими скоростями). Самый оптимальный и незатратный способ – развёртывание сети из спутников-маяков.
Но это не единственный способ. Смотрим дальше.
Главный корабль (если их несколько, тогда один из главных) делает картографирование нужного района планеты, зондируя также и рельеф. Думаю, очевидно, что отправлять на неисследованные планеты корабли, не имеющие технической возможности проводить дистанционное зондирование поверхности этой планеты – это абсурд, потому что смысла в экспедиции нет.
Так вот, получив карту с рельефом, компьютеры вычисляют на ней “реперные точки” – хорошо видимые и узнаваемые элементы (сочетания гор, рек, полей и т.п.). Полученная карта с заданными и общими для всех “участников движения” опорными точками распределяется между всеми “навигаторами”. Для опорных точек указываются координаты в “стандартной системе”, теперь набор этих точек является общим базисом.
Да, над ровной и монотонной пустыней или над огромным океаном привязка к рельефу затруднительна. Но тут ситуацию исправляет другой механизм настройки навигации: “навигационные маяки” отправляются на поверхность. Это очень простые (даже если сравнивать с миниспутниками, о которых рассказано выше) и дешёвые штуки: маяк содержит собственную инерциальную систему навигации, точные часы и радиопередатчик. Маяки просто десантируют со звездолёта: начальные координаты им известны, далее они вычислят свой район посадки и привяжут его к “стандартной системе”, получается новый базис, аналогичный, в общем-то, GPS, но работающий на поверхности. Длины волн и высоты расположения передатчиков можно подобрать так, чтобы максимизировать покрытие территории. Конечно, всё это делается автоматически. А подобные системы уже давно-давно и с успехом используются на Земле.
Можно развешивать радиомаяки на воздушных шарах. Можно сделать плавающие буи. Скорее всего, стандартный маяк вообще будет универсальным: работает и в воздухе, и на суше, и на море. Выбрасывают такие маяки в одном спец.контейнере, прямо с орбиты. На заданной высоте контейнер раскрывается и проводит “посев” “навигационного поля”. Маяки настолько дешёвые, что являются одноразовыми.
А самое занимательное, что вся техника, ползающая и летающая, а также и люди, оснащаются не просто “навигаторами”, а навигаторами будущего, каждый из которых содержит и собственную автономную инерциальную навигационную систему, с какими-нибудь суперлазерными гироскопами. И работает навигатор, используя всю доступную информацию: и сигналы спутников, и сигналы маяков, и рельеф (при работе на воздушных аппаратах, или вместе с системами наблюдения). При наличии возможности, навигатор калибрует свои системы, например если оказался в зоне действия точных навигационных устройств стационарной базы на поверхности планеты (ну нет же сомнений, что координаты базы заданы с максимальной точностью, даже если не удалось выкинуть спутники GPS на орбиту?) Такой подход снимает вопрос о достижимой точности: совокупное использование многих источников навигационной информации, с автоматическим отсечением “невозможных конфигураций” (это умеют даже простые современные GPS-навигаторы), делает точность более чем достаточной.
Ну и учитывайте, что, например, боеголовки современных баллистических ракет, пользующиеся только автономной навигационной системой, пролетают тысячи и тысячи километров с огромными перегрузками и всё равно попадают в цель с высокой точностью. Так что точная навигация на уровне технологий межзвёздных перелётов будет чем-то “автоматическим” и само-собой разумеющимся.
Комментарии (41) »
Аппаратные “закладки” – это такие элементы в микроэлектронных схемах, которые позволяют нештатно вмешиваться в работу вычислительной системы, например, выводить её из строя. То есть, активировал вредитель “закладку” – процессор сгорел, важное изделие неработоспособно. Я писал про такие “жучки” в давней заметке. Возможность наличия таких “закладок” – как раз является причиной для того, чтобы иметь собственный цикл производства микроэлектронных схем для военных применений.
Разовьём тему (направление развития, собственно, указано в упомянутой заметке). Вот, распространено мнение, что если вычислительная система, например, комплекса ПВО, “не подключена к другим сетям”, то активировать аппаратную закладку практически невозможно. Вообще, это довольно старая идея, являющаяся развитием взгляда продвинутого пользователя ПК: если компьютер к Интернету не подключен, то и вирус на него проникнуть не сможет (или что-то в подобном стиле). Действительно, на “изолированную систему” извне ничего попасть не может, а значит и закладку, как бы, не активировать. Однако в реальности всё по другому.
Судите сами. Обдумывая реальную ситуацию с комплексом ПВО (возьмём такой “аппарат” для примера) нужно иметь в виду, что это не изолированный ПК, а система, вполне себе работающая с данными, поступающими из внешнего мира. Конечно, так как система довольно сложная, многослойная, то фундаментальные свойства могут скрыться из области внимания. Тем не менее, комплекс ПВО – он просто в существенной мере управляется электромагнитными импульсами (если хотите – ЭМ-полями), поступающими извне. И важная часть этих импульсов – как раз поступает со стороны потенциального вредителя. Если эти импульсы строго игнорировать, не обрабатывать, то и комплекс оказывается бесполезен, по, думаю, понятным причинам. (Даже “отстройка от помех” – это тоже обработка принимаемых из эфира “чужих” сигналов, которые сперва нужно детектировать, “расфильтровать”, проанализировать; и только потом – не “обращать внимания”.) Так что “изолированные системы” – тут просто бесполезны.
Теперь взглянем на то, как разрабатывается специальное программное обеспечение для, гипотетически, комплекса ПВО. Программисты тут обучались по всем известным хорошим книгам (и это правильно, так как знание теории – основа всего в программировании). Для решения рутинных задач используются столь же “рутинные” алгоритмы.
Вот, например, есть такой фильтр Калмана, который даёт в руки разработчика системы наблюдения инструмент оценки вероятной траектории движения цели (если заданы некоторые ограничения на динамические характеристики движения цели). Программные реализации этого фильтра – давно и хорошо изучены, алгоритмы понятны. Фильтр широко используется на практике и для аналитика не будет архисложным предсказать в деталях, как именно данный фильтр реализован в конкретной вычислительной системе. Оказывается, это первый шаг к активации закладки, которая, понятно, встроена в аппаратуру комплекса ПВО (потому что микроэлектронные компоненты закупались “где-то не там”).
Теперь делаем второй шаг. Понятно, что у аналитика, нанятого вредителями, есть подробная документация, рассказывающая и о логике работы микроэлектронных устройств, которые установлены в атакуемом комплексе, и, что не менее важно, о логике работы “закладки”. Последняя, скажем, активируется после того, как микропроцессор-носитель прочитал из памяти (увидел “на шине”), некоторую ключевую последовательность байтов. Очевидно, что реализации фильтра Калмана как раз используют последовательности байтов (ну так этот фильтр программируют), которые напрямую связаны с наблюдаемыми параметрами движения цели. И вот эти параметры-то не менее прямым образом поступают из внешней среды, со стороны “потенциальных вредителей” – их принимает радар, наблюдающий цели.
Вопрос в том, насколько же реально для практики так сформировать передаваемые в сторону радара комплекса ПВО активные помехи, чтобы реализация фильтра Калмана, сопровождая ложную цель, наткнулась на ключевую последовательность байтов в памяти (куски которой, понятно, сформировали другие фрагменты кода и другие устройства, измеряющие скорость, “приводящие координаты” и т.п.). Учитывая, что можно помехопостановщиком быстро перебирать много вариантов, и атаковать не только фильтр Калмана (взятый здесь лишь в качестве утрированного примера), то благоприятный для вредителя исход атаки не кажется невероятным.
Комментарии (17) »
Сегодня в воскресном юморе – очередной конспирологический рассказ.
Многие и многие персональные компьютеры работают под управлением операционной системы Microsoft Windows (XP, Vista, 7 и т.п.). Добротно сконфигурированный компьютер периодически загружает обновления с серверов Microsoft. Для чего можно было бы использовать такое положение вещей?
Во-первых, понятно, что можно все эти миллионы компьютеров негласно привлечь к распределённым вычислениям (есть ведь и вполне гласные подобные инициативы, правильно?). Данные для обсчёта передаются вместе с обновлениями, обратно при этом приходит результат предыдущего вычисления. Операционная система довольно хорошо нагружает всякими задачами быстродействующие компьютеры, поэтому рядовой пользователь вообще ничего не почувствует. Возникает проблема со специалистами, которые исследуют код и сам процесс получения обновлений.
Оказывается, блокировать проявления здорового любопытства специалистами можно, правильно преобразовав алгоритмы. Не секрет, например, что многие задачи криптоанализа сводятся к операциям с квадратичными формами, с матрицами и тому подобными математическими объектами. Эти же объекты привычно используются в других задачах, скажем, при определении оптимального способа размещения файлов, при поиске строк, заданных регулярными выражениями, в какой-нибудь базе данных и всяких других проблемах (кому интересно – читайте что-нибудь по дискретной математике, а в воскресной юмористической записке не место подробному экскурсу в теорию).
Грубо говоря, одни задачи могут быть сведены к другим с точностью до переименования элементов потока данных (традиционный способ, не правда ли?), таким образом достигается сокрытие истинных целей алгоритмов. В коде операционной системы используются далеко не оптимальные реализации алгоритмов (они кого-нибудь удивляют в применении к миру ПК? меня – уже давно нет). А это – дополнительный ход, ещё больше затрудняющий анализ. Так что всё довольно хорошо скрыто.
Многие миллионы компьютеров – это большая вычислительная сила, даже если “клиентские алгоритмы” реализованы не оптимально. При этом расходы энергии, затраты на покупку вычислителей – все они ложатся на пользователей компьютеров. Экономически очень выгодно (да ещё и за лицензию на использование продукта отчисления идут). Не удивительно, что сейчас софтверные компании, регулярно работающие “по обновлению ПО”, – скажем, производители антивирусов, – запускают и продвигают создание вычислительных сетей из ПК своих клиентов. А можно ведь и не афишировать такую деятельность.
Это было во-первых. Теперь – во-вторых. Операционная система типа Windows, нацеленная, прежде всего, на пользовательский интерфейс, обязательно “знает” в деталях, что в данный момент пользователь делает на компьютере. Это очевидно. Запуск программ, загрузка программных библиотек, типы этих программ и библиотек, ввод с мыши, ввод с клавиатуры, информация с джойстика, интенсивность использования видеокарты – это только часть тех генерируемых пользователем сигналов, которые пропускает через себя и обрабатывает операционная система. Существуют специально созданные исследователями компьютерные игры, позволяющие строить некий психологический профиль человека по его, этого человека, действиям в игре. Тут, сами понимаете, нет ничего удивительного: зашить в игру набор интерактивных психологических тестов – невелика задача для современного “геймдевелопмента”.
Операционная система, конечно, не может предъявлять пользователю психологические тесты. Да. Зато она имеет все данные для определения, например, уровня реакции пользователя “на раздражители” – как быстро “обрабатываются” диалоговые окна? И операционная система может, ну, в теории, вычислять психоэмоциональные показатели – как двигается мышь? ошибки при вводе? “лихорадочная” работа с файлами? Не забывайте: соответствующий модуль операционки достаточно давно следит за пользователем, накапливает статистику, позволяющую качественно детектировать “аномалии”, изменения психологического состояния.
Сложно ли замаскировать программный код, ведущий подобный мониторинг? Не сложно. Но возникает вопрос: а зачем его скрывать? Обработка всех упомянутых “пользовательских сигналов” – стандартная функциональность, чего там прятать? Нужно лишь так подготовить алгоритмы, чтобы при проявлении некоторых наборов “сигналов” по нескольким каналам (например, клавиатура, мышь, используемые программы) возникал, скажем, сбой (“исключение”). Этот сбой будет служить семафором. О “сбое” сообщается на центральный сервер (либо в “отчёте о проблеме”, либо в момент обновления операционной системы).
Что получается в итоге? Получается гигантская система из миллионов ПК, которая информирует владельцев центральных серверов о психологической атмосфере в самых разных сообществах, которые составляют пользователи операционной системы. Где-то какая-то массовая паника. Где-то – все отдыхают. И так – по всему миру. Если что, то на основе информации, собираемой подобной “суперсистемой”, можно автоматически отключать компьютеры, выдавая им “левые обновления”.
А Google – это только прикрытие для настоящего “Большого Брата”.
Вот.
Шутка.
(А объединять первое и второе наблюдения – будем в следующий раз, а то совсем страшно получится.)
Комментарии (5) »
Важная фундаментальная вещь: определять положение всякого мобильного радиопередатчика (например, мобильного телефона) можно с помощью нескольких приёмников, в “пассивном” режиме (с оговорками) и в реальном времени.
Потребуется выполнение нескольких условий: приёмники должны “знать” собственное положение (координаты, можно взять относительно какого-то общего базиса), иметь общую синхронную временную шкалу высокой точности, обмениваться информацией между собой или с неким “центром” (это и есть оговорка про пассивный режим) и уметь определять общие для приёмников-участников “сигнатуры” передатчика, за которым ведётся слежка.
То есть, требуется умная сеть из множества приёмников – и, так как эфир общий, можно быстро определять местоположение практически произвольного передатчика. Подходящим объектом, например, является мобильный телефон.
Принцип работы сети – прост: вычисляется разность во времени поступления сигнала заданного радиопередатчика на разные приёмники. Разность по времени, очевидно, как-то коррелирует с расстоянием от передатчика до приёмника. Зная координаты нескольких приёмников, можно из геометрических соображений определить местоположение передатчика (относительно приёмников, вообще говоря).
На практике возникают сложности. Например, как только переходят от исследования сферического коня в вакууме к полевому применению, особенно в условиях города, выясняется, что радиоволны отражаются от “чего попало”, и вовсе не обязательно, что к каждому конкретному приёмнику сети сигнал прибыл кратчайшим путём (“по прямой”, грубо говоря). Также возникают трудности с вычислением “сигнатур”: откуда мы знаем, что приёмниками под номерами 10 и 7 принят сигнал одного и того же передатчика?
Впрочем, в случае с мобильными телефонами ситуацию, с одной стороны, несколько упрощает то, что эти устройства сами периодически выдают в эфир идентифицирующие их коды. С другой стороны – коды ещё нужно распознать.
Если следящие устройства совсем хитрые, то они могут привязаться к “тонким” уникальным физическим характеристикам всякого передатчика, которые определяются технологическими погрешностями, возникающими при производстве микроэлектронных устройств (какое-нибудь “дрожание фазы”, шум генератора и т.п.). Собственно, затеянный в прошлом году проект DARPA Gandalf – это система, работающая именно на описанных выше принципах.
Борьба с упоминавшимися искажениями, вносимыми отражениями, ведётся с помощью использования большого количества приёмников и сбора сведений об отражающих объектах: анализ всего массива информации позволяет исключить “невозможные” конфигурации приёмники-передатчик. Тут, кстати, точность и эффективность растёт при наблюдении за подвижным передатчиком. Не так важно, движутся при этом приёмники или нет.
Полезное развитие системы: GPS наоборот – использование разведывательных спутников в качестве “сетевых приёмников”. Такая сеть, как раз, может быстро определять положение подводной лодки, проводящей радиообмен. Ну и не только лодки, понятно. Главное, чтобы сигналы передатчика не слишком сильно искажались в атмосфере (степень искажения зависит от частоты и других параметров сигнала).
Комментарии (3) »
Как известно, на сданных в утиль жестких дисках от ПК частенько обнаруживают всякую ценную информацию (типа паролей и, даже, секретных планов). А вот часто спрашивают: как же гарантированно уничтожить данные на жестком диске? Особенно важны быстрые способы, целиком и безвозвратно данные уничтожающие, пусть и с разрушением самого носителя – ведь на фоне убытков от утечки данных, стоимость носителя исчезающе мала.
Вообще, есть разное ПО, затирающее уничтожаемые данные непосредственно на диске (обычное удаление файлов средствами ОС далеко не всегда реально данные с диска убирает). Но чтобы затереть несколько гигабайт требуется заметное время, а это не всегда приемлемо.
Ещё есть специальные устройства, такие “кассеты” для винчестеров, при нажатии “тревожной кнопки” они портят диск, который установлен внутри кассеты, при помощи мощного магнитного поля. Пока кнопку не нажали – диск работает с ПК штатным образом. Но, возникают трудности с электропитанием (внезапно обесточено помещение), и случайным нажатием на кнопку.
А между прочим, есть и более простой, но очень действенный способ: хороший молоток. Все данные на диске можно практически безвозвратно “удалить”, если нанести пару-тройку весомых ударов молотком по шпинделю (где находится шпиндель, обычно вполне можно уяснить бегло осмотрев внешний корпус винчестера). Главное, достичь смещения и повреждения магнитных поверхностей. Технология позволяет работать быстро: вынули винчестер (установлен в специальные салазки) и молотком – хрясь! хрясь! – готово.
Этот дешёвый способ работает вот почему: механизм записи данных в современных винчестерах так устроен, что если геометрия поверхностей (“элементарных дисков”) нарушена, изменилась их (и шпинделя) взаимная ориентация, относительно заводских установок, то найти где там и что на этих поверхностях записано – становится задачей практически неразрешимой.
Ну, то есть, да, в теории, можно взять какой-нибудь атомно-силовой микроскоп и тщательно сканировать изуродованные после удара поверхности. А собрав терабайты данных о микроструктуре “магнитных моментов”, можно попытаться на суперкомпьютере вычислить, где там технические метки, а где биты файлов, и в каком порядке эти биты в файлы сливались. Но вряд ли ваши данные реально кому-то настолько нужны.
Если принести сломанный (не разбитый!) винчестер в компанию по восстановлению данных, то инженеры, после того, как отпадут наиболее явные способы реанимации (типа, “повертеть в разных положениях”, “подержать в холодильнике”), попробуют заменить микроэлектронную начинку (если удастся найти подходящего донора); в некоторых случаях – попытаются заменить блок магнитных головок (уже очень сложно); ну, может, что-то ещё попытаются заменить, с тем чтобы прочитать данные с временно ожившего диска. Но попробуйте принести на восстановление разбитый винчестер с искривлёнными поверхностями и вам скажут, что вариант заведомо проигрышный, “надо было чаще делать бэкапы”.
Комментарии (40) »
Новый