Ресурсы: техническое описание TLS, LaTeX - в картинки (img), криптографическая библиотека Arduino, шифр "Кузнечик" на ассемблере AMD64/AVX и ARM64
Некоторое время назад было опубликовано исследование, в рамках которого секретный ключ RSA считывали при помощи анализа звука, издаваемого работающим ноутбуком. Недавно эти же исследователи опубликовали новую работу. Теперь для извлечения ключа используют другой, более очевидный, канал утечки – электромагнитный. При этом все варианты канала разобраны в деталях, в том числе, потенциал с корпуса считывали при помощи “касания рукой”. Описание и ссылка на детальный текст – есть на специальной странице.
Естественно, всё это давно известные в теории явления и методы, но подобных практических демонстраций для массового вычислительного оборудования сильно не хватало. Ну, как минимум, в открытом доступе. Каналы утечек ключей из автоматического шифровального оборудования, – например, по линиям электропитания, – хорошо известны, наверное, с 60-х годов, или даже раньше. Столь же давно используются побочные излучения. Классический пример: “помехи”, транслируемые в эфир электромагнитными реле, используемыми в шифровальной машине.
Защитой, кстати, является не только модификация ПО, но и оснащение “защищённого” ноутбука подходящим генератором шума, который будет “прятать” сигнал утечки. Точно так же много лет защищают оборудование от утечек через электросеть и через побочные ЭМ-излучения.
Comments Off on Электрическое считывание ключей RSA
В 2012 году в Сирии случилась глобальная телекоммуникационная авария, и местные сети (автономные системы) пропали из Интернета. Теперь Эдвард Сноуден рассказывает, что это случилось в результате неудачной операции АНБ по перехвату трафика в сирийском сегменте. Подразделение агентства пыталось удалённо внедрить в программное обеспечение маршрутизатора (Cisco, небось) “дополнительную нагрузку”, но специалисты ошиблись и просто сломали маршрутизатор (такое случается, сложно поспорить). Занятное развитие истории.
Комментарии (4) »
Пишут, что исследователи из Стэнфордского университета научились использовать гироскоп, встроенный в смартфон, для считывания акустических вибраций. Естественно, такие вибрации создаёт речь.
То есть, превращённый в потенциальный “виброметр” смартфон мог бы подслушивать разговоры. Правда, есть большие сомнения в практической реализуемости метода, в статье по ссылке об этом тоже сказано. Дело в том, что, во-первых, частотного разрешения в 200 Гц (заявленная частота считывания показателей с гироскопа) явно недостаточно для распознавания речи; а во-вторых – энергия колебаний слишком мала, чтобы механика гироскопа, с её невысокой точностью, преобразовывала колебания в сигнал без критических потерь. Но идея, конечно, знатная.
Кстати, в случае с максимальной частотой дискретизации в 200 Гц нужно ещё учитывать тот факт, что электрические сигналы с гироскопа для точного считывания должны накапливаться, преобразовываться в цифровую форму, подвергаться фильтрации. Так что на какие-то полезные сигналы “прослушивания” в случае типичного смартфона рассчитывать не приходится, даже после продвинутой математической обработки, проводимой центральным процессором смартфона.
Комментарии (4) »
Очень занимательная атака: используя подмену путей BGP (routing hijacking), злоумышленники перехватывали результаты работы “майнеров” Bitcoin, которые участвовали в пулах. Напомню, что пулы – это объединения пользователей, которые добывают биткоины. Так как для реализации пулов используется незащищённый протокол, атакующие смогли перенаправлять трафик, адресованный центру, распределяющему задачи по “майнерам”, на свои сервера. Перенаправление проводилось с использованием BGP, на провайдерском уровне. Предметом атаки являлось несколько пулов. Таким образом, результаты добычи биткоинов доставались тем, кто управлял перехватывающими трафик узлами, которые, фактически, отъедали часть мощностей пула. (Подробности – по ссылке выше.)
Комментарии (1) »
Пишут, что специальные хакеры (указывают на китайских) в 2011-2012 годах проникли во внутренние сети крупных израильских оружейных компаний и хозяйничали там несколько месяцев, утаскивая, как минимум, важную документацию. Наличие удалённого хакерского доступа в корпоративную сеть, которая наверняка пересекается с сетью разработчиков систем вооружений, наводит на мысли о внедрении закладок в бортовое программное обеспечение, например в ПО головки самонаведения ракеты, или в вычислительные системы командного пункта зенитно-ракетного комплекса. Возможно ли такое?
Прежде всего нужно отметить, что практика подтверждает: air gap (то есть физическая изоляция сетей разного уровня защиты) – это, по большей части, миф. В том числе, для компаний, у которых информационная безопасность формирует основу бизнеса. Что уж говорить о разработчиках систем наведения ракет или РЛС комплексов ПВО. К сожалению, оптимизация использования вычислительных ресурсов сплошь и рядом приводит к тому, что один и тот же компьютер сперва используется инженером для работы с электронной почтой, а потом успешно перемещается “на стенд” – то есть в состав инструментальной системы, где ведётся разработка программного кода для той самой ракеты или радиолокационной станции. Исключения тут редки.
Если атакующие специалисты успешно проникли и с некоторым комфортом устроились в корпоративной сети, где проработали несколько месяцев, оставаясь незамеченными, то вряд ли можно ожидать от ИТ-службы пострадавшей компании каких-то мер, изолирующих, например, компьютеры разработчиков системного ПО от внешних воздействий. Так что удалённое проникновение на рабочее место, с которого раздаётся новый программный код для изделий, выглядит вполне реальным.
Основная проблема будет не с получением доступа, а с тем, как сконструировать закладку и успешно отправить её в серийное изделие. Причём первая проблема – самая проблемная: действительно, для того, чтобы закладку спроектировать, нужно очень хорошо знать, как работает то изделие, в которое закладка встраивается. Иначе толку от закладки не будет. И тут мало получить документацию. Для новых разработок документация, обычно, вообще бесполезна. Нужно построить свой стенд, свой экземпляр бортовой электроники, и уже на их базе разработать и отладить закладку. Это очень сложно. Однако для специалистов, имеющих государственную поддержку, не выглядит столь уж нереальным.
Программная закладка может внедряться одним из традиционных способов, например через модификацию компилятора (или ассемблера), которые использует разработчик. Можно внедрить дополнительный код непосредственно в готовые бинарные модули, которые загружаются в бортовую вычислительную машину. Можно не внедрять дополнительный код, а лишь модифицировать имеющийся. Как ни странно, но вполне вероятно, что единственным препятствием на пути закладки в серию может оказаться процедура тестирования, которая выявит некие сбои (а это означает, что закладка была плохо отлажена). Каких-то мер по доказательству отсутствия “лишних функций” разработчики встраиваемых систем, скорее всего, не применяют. Причина для этого чисто экономическая: до недавнего времени угроза проникновения посторонних на корпоративные компьютеры вообще считалась фантастической выдумкой, а уж предположить, что на проверку кода, идущего в серийное изделие, нужно потратить дополнительно несколько человеко-месяцев дорогостоящих специалистов-аудиторов – ну это уже за гранью даже фантастики. Да и где вы найдёте аудиторов кода для редких бортовых вычислительных машин?
Так что ждём следующего шага – “внезапного” обнаружения странностей в поведении систем управления ракет, да и не только их: хорошо проработанный в литературе и кинематографе сценарий с захватом спутников тоже может оказаться отнюдь не фантастическим.
Комментарии (1) »
Государственные службы Нью-Йорка опубликовали данные о поездках всех таксистов, попытавшись анонимизировать индивидуальные номера такси при помощи MD5. Только забыли “посолить” результат, сведя тем самым всю анонимизацию примерно к нулю: данные полностью деанонимизировали за несколько часов, с помощью простого перебора вариантов.
(Если вдруг кто забыл: односторонние функции, вроде MD5, для анонимизации нужно использовать с осторожностью, прежде всего потому, что для очень и очень многих типов входных данных нетрудно построить таблицы соответствия, быстро прогнав все допустимые варианты через используемую одностороннюю функцию – обращать её не требуется.)
Комментарии (1) »
Вот здесь, используя один из новых доменов верхнего уровня (.systems), объявляют о том, что раскроют исходные коды (и сопутствующую информацию – см. ниже) микроядра seL4. Главная особенность данного ядра ОС в том, что его реализация прошла через процедуру формального доказательства её соответствия спецификации. То есть, доказано, что в реализации отсутствуют некоторые классы типичных ошибок и уязвимостей. (Пишут, что всё это касается версии ядра для архитектуры ARM, и что seL4 – первое ядро, прошедшее подобную проверку.)
Вообще, доказательства отсутствия программных ошибок – это штука, весьма полезная для современного состояния дел с разработкой ПО. Тем более, когда речь идёт о разных встроенных устройствах, которых так много вокруг. Можно помечтать: в будущем все операционные системы и прикладное ПО будут проходить “формальную верификацию” и ошибки в них исчезнут. Почему? Да потому, что успешное прохождение верификации означает, что для всех багов строго доказано – это не баги, а “фичи”.
Комментарии (5) »
Интересно, как скоро произойдёт первый случай активного “взлома” систем, управляющих автомобилем на дороге? Речь о системах, которые позволяют автомобилю стать роботом, то есть, ехать “из точки А в точку Б” самостоятельно. Таких систем сейчас много, они уже вполне серийные: радары, лидары, камеры и тому подобные штуки позволяют водителю включить некий “автопилот”, чтобы дальше автомобиль удерживался в потоке самостоятельно, управляя и рулём, и тормозами, и акселератором. (Не за горами, похоже, и серийный “автомобиль без водителя” – пассажиры там просто выбирают точку на карте, куда их нужно доставить.)
Естественно, все эти системы управления, а также и сенсоры – не только содержат ошибки и дефекты, но и имеют традиционные конструктивные недостатки, без всякого умысла заложенные туда разработчиками, оптимизирующими затраты (от этой практики никто никуда не уходил, к сожалению). Радару можно поставить активную помеху, вне зависимости от того, установлен он на боевом самолёте или на автомобиле. Вот только в случае с автомобилем помехоустойчивость может оказаться сильно хуже.
Доступность технологий растёт, а методы атак, как известно, постоянно улучшаются: так что в недалёком будущем на обочине дороги может появиться “шутник”, который, при помощи нехитрого лазерного (или микроволнового) излучателя, останавливает проезжающие автомобили, вызывая срабатывание системы предотвращения столкновений.
А ещё больше веселья может предложить киберпанк, находящийся в хорошо оборудованном автомобиле, который движется в транспортном потоке. Понятно, что так как в литературе и кинематографе данная тема уже раскрыта, проникновение идеи в реальность – лишь дело времени и прогресса в автомобилестроении.
(Кстати, увлечение автомобильными автопилотами хорошо в том случае, когда и другие автомобили на дороге – роботы.)
Комментарии (5) »
Небольшое продолжение истории с алгоритмом генерации псевдослучайных чисел Dual_EC_DRBG (можно, кстати без подчёркиваний – Dual EC DRGB, что означает Dual Elliptic Curve Deterministic Random Bit Generator). Некоторое время назад я написал про данный алгоритм, – реализация которого, как было объявлено, могла содержать бэкдор от NSA, – буквально следующее:
Схема с заданием специальных параметров – это стандартный метод “модификации” добротных криптосистем с целью добавления в них секретного мастер-ключа. То есть, топорный бэкдор был очевиден для специалиста. И его сразу нашли и подробно разобрали.
Оказывается, всё ещё проще: описание механизма создания бэкдора дано открытым текстом в заявке на патент, подготовленной в 2005 году. И там же прямо сказано, что данный механизм может использоваться при перехвате зашифрованных сообщений уполномоченными службами – это добавляет удобства алгоритму Dual_EC_DRBG и, судя по заявке, является одним из его преимуществ. Кстати, схема с “депонированием” мастер-ключа спроектирована добротно: если вдуматься, то она, фактически, представляет собой реализацию алгоритма Диффи-Хеллмана, где общий секретный ключ генерируют пользователь генератора псевдослучайных чисел и держатель мастер-ключа; последний потом, если потребуется, может восстановить всю псевдослучайную последовательность.
А шумиха в прессе по поводу Dual_EC_DRBG возникла только в 2013 году, после одного из “разоблачений Сноудена” – хотя про специально спроектированный бэкдор, указанный в качестве одного из свойств алгоритма, было известно уже минимум восемь лет.
Комментарии (1) »
OpenSSL становится ещё немного безопаснее: нашли очередную уязвимость, позволявшую навязывать нестойкие ключи и, соответственно, расшифровывать информационный обмен.
Интересно, что уже формируется мода на оформление веб-страниц, рассказывающих об уязвимостях в OpenSSL – моду задала нашумевшая Heartbleed. Страница о новой уязвимости оформлена практически в том же стиле, посмотрите сами.
Comments Off on Очередное исправление OpenSSL и “оформление” уязвимостей
Если у вас есть подробная статистика посещений различных сайтов пользователями, включающая некоторые уникальные идентификаторы, то вы можете построить для этих идентификаторов профили, включающие “расписания” перемещений пользователей по сайтам. Конечно, каждому пользователю может соответствовать несколько идентификаторов. Но, оказывается, идентификаторы можно склеить, так как у пользователей есть индивидуальные привычки и “расписания” просмотра сайтов.
Например, пользователь имярек утром просматривает новостные сайты, из некоторой подборки, интересуясь определёнными тематиками, днём использует корпоративный и справочные сайты, а вечером – развлекательные. “Расписание” может быть индивидуализировано и при помощи такого параметра, как время, проведённое на сайте. Теперь логично предположить, что идентификаторы, имеющие одинаковые “расписания”, принадлежат одному и тому же реальному пользователю, просто он заходит в Интернет с разных рабочих мест. Действительно, люди хоть и похожи друг на друга, но весьма индивидуальны в своих привычках и предпочтениях.
Аналогичный метод работает во многих других случаях, позволяя склеивать разрозненные наборы технических следов в один “трек”, оставленный конкретным человеком. Предположим, что кто-то сменил телефонный номер, телефонный аппарат и SIM-карту. Но он наверняка продолжает звонить тем же людям, что и раньше, соответственно, новые “телефонные реквизиты” несложно персонализировать. Кто-то поменял банковскую карту, но продолжает покупать традиционный набор продуктов по старому расписанию – можно смело склеивать истории, даже если у вас нет доступа к персональным данным держателя карты.
Интересно, что чем больше накоплено разнородных информационных следов, тем больше возникает возможностей по их индивидуализации. Ну и тем меньше шансов затеряться у того, кто пытается скрыться.
Комментарии (8) »
Новый