Category: Аппаратный уровень

  • Как украсть данные из «изолированного» компьютера?

    До сих пор одной из самых надёжных мер противодействия краже информации с классических компьютеров считается т. н. «воздушный зазор» (air gap). Логика этого метода достаточно «примитивная» — нет сетевых интерфейсов, нет поверхности для атаки.

    Так как информационная безопасность всегда представляла из себя «гонку вооружений» между «обороной» и «нападением», последних никак не устраивают «недосигаемые» устройства.

    Для «нейтрализации» этого «тяжелого» метода защиты данных были созданы методики «bridge the gap», с англ. — «перешагнуть зазор».

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

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

    Первое, и самое простое. Осуществить кражу данных можно через обычный светодиод, если закодировать информацию, например, в двоичный код. В том числе из-за этого «вредно» ставить много «свистелок» с подсветкой в рабочие устройства.

    Тут у рядового читателя «Может, вам повезёт?» может возникнуть достаточно простой вопрос: «для этого же нужен «имплант», ведь так?». В особо «запущенных» случаях за этим следует утверждение о «девственной» чистоте собственного оборудования.

    Уже как минимум с десяток лет известно, что, например, АНБ спокойно занимается атаками на цепочки поставок для установки своих имплантов. К сожалению, в своё время АНБ не повезло иметь в своих рядах «правдоруба» Сноудена, ведь занимаются этим примерно все.

    В России над «преуменьшением» возможностей силового блока в своё время «отрадно» постарались Навальный и ФБК. Даже «сладкий подарочек» Волков отличился этим в своё время.

    На самом деле, российские спецслужбы вполне имеют возможности для массовой установки любых имплантов в, по крайней мере, классические компьютеры. Ухудшает ситуацию то, что сейчас вся хоть сколько «продвинутая» техника завозится «черти как», и, соответственно, вмешаться в цепочку поставок не так сложно.

    Этому меньше подвержены компьютеры RISC с хорошей моделью аппаратной безопасности, вроде последней техники Apple и устройств Google Pixel. В том числе и потому, что у обоих «категорий» присутствуют чипы Secure Element (SE).

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

    Завершающим «методом» будет «экзотический» представитель группы TEMPEST — когда процессор (или имплант) сам передаёт данные «слушателю». Это можно осуществить через манипуляцию частотами ядер процессора, что, соответственно, будет влиять на его электромагнитный «след».

    Составить «меры противодействия» для этих «векторов» не так сложно. Вся «сложность» в их реализации.

  • Что такое TEMPEST?

    Интернет-ресурс «Может, вам повезёт?» уже писал о крайне популярном способе вытащить «секреты» из большинства традиционных компьютеров, не прикасаясь ни к ОС, ни к «железу» физически. Имя ему — TEMPEST, и его стоит разобрать поподробнее — ведь подобные «вещи» за пределами пресловутых «фильмов про шпионов» большинством людей всерьёз не воспринимаются.

    Начнем с основ. TEMPEST — общее название для «зоопарка» различных способов получения информации через наблюдение, и соответственно, анализ электромагнитного излучения. Достоверно известно, что подобные атаки применяли ещё во времена ВОВ — для получения данных из шифровальных машин Enigma.

    Послужной «список» у TEMPEST весьма большой; ещё во времена СССР, КГБ использовало всевозможные формы наблюдения за электромагнитным излучением для кражи информации из посольства США. Из-за этого, к слову, тогдашний посол отказался от использования печатной машинки в пользу более надежных бумаги и карандаша.

    ЦРУ в то же время развивало свои наработки «на тему» для считывания картинки с мониторов VGA CRT. Разумеется, дистанционно, и, что немаловажно, в наилучшем (по тем меркам) качестве.

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

    «Цена» подобной операции — антенна за несколько тысяч рублей и также возможность её установить на относительно небольшом расстоянии (идеально — за стеной).

    «Слушать» можно не только шину данных — это только лишь самый популярный компонент, который порой имеет схожие с обычной сотовой антенной свойства. На самом деле, «выбор» достаточно большой — процессор, оперативная память, и прочие.

    Важно заметить, что большинство компьютеров RISC (те же Apple iMac) менее подвержены подобным атакам, ведь явных «слабых мест» вроде той же шины данных у них нет, а за криптографические операции отвечает отдельный чип (Secure Element), у которого от подобных «махинаций» есть защита. Тем не менее, даже в подобных «случаях», определённый спектр «наблюдений» собрать можно.

    Как защищаться? Несмотря на мнимую «сложность» темы, атаки TEMPEST можно «заблокировать» полностью или сильно усложнить зная простые законы радиоэлектроники. Все, что необходимо — экранировать ваше рабочее пространство, т. е. усложнить распространение того самого электромагнитного излучения.

  • Кто может «взломать» процессор?

    Одним из ключевых аргументов против использования любых мер информационной безопасности (от самых «легких» вроде VPN и безопасных мессенджеров до «тяжелых» вроде защищённых ОС) является возможность существования специально созданных уязвимостей (по-простому, — бэкдоров) во всех (!) процессорах. Мол, зачем стараться, если все уже «заражено до нас».

    Стоит отметить, что в этой «теории» есть исключительно малая доля правды (об этом далее), остальное «наполение» — обобщение пары случаев на весь «зоопарк» современных компьютеров.

    Начнем с основ. Действительно, на процессорах семейства CISC (Complex Instruction Set Computer, например — x86) уже достаточно давно висят подозрения в том, что определённая часть «горы» уязвимостей двадцатилетней давности может быть создана намеренно. Суть в том, что отличить их от обычной «халтуры», которая тянется годами, невозможно — как и «вырезать», ведь исправление хронических болезней той же архитектуры x86 означает создание принципиально новой.

    Стоит отметить, что в микрокоде большинства процессоров Intel и AMD действительно есть публично известное подобие пресловутого «бэкдора» — Intel CSME и AMD PSP. Грубо говоря, это корпоративные инструменты для управления устройствами. Вот только активны они постоянно, работают на уровне «прошивки», т. е. с полным доступом к системе, а также зачастую имеют больше уязвимостей, чем ОС, которой они должны «управлять».

    В купе с доступностью сетевые интерфейсы (тот же интернет), это, без преувеличения, роскошная «теплица» для как и обычных хакеров, которые тривиальным методом взламывают эти средства «управления», так и для государств, в особенности США — в рамках акта PATRIOT необходимо только лишь письмо национальной безопасности (NSL), чтобы заставить условный Intel добавить любой заведомо вредоносный код в свои процессоры.

    Тут важно сделать оговорку, что не все процессоры принадлежат к CISC — есть также RISC, на котором работают все мобильные устройства за редчайшими исключениями. Так как процессоры RISC сейчас выпускают все, кому не «лень» — от Apple Silicon до отечественного «Байкала», нельзя сказать, что все они имеют поголовно имеют универсальные уязвимости — дизайн одного процессора может отличаться от другого более чем полностью.

    Из этого вытекает множество плюсов, в том числе меньшее число древних «костылей», высокая эффективность, а также лучшая безопасность — из-за того, что «примерная» архитектура ARM кратно «компактнее» традиционной x86, в ней попросту меньше «дырок» — как и инструкций (т. е. функций, отсюда же имя — Reduced Instruction Set Computer)

    Из-за этого, например, мобильные устройства считаются более безопасными. Говорить об различиях современных компьютеров можно долго, но «факт» только один — никаких «универсальных» уязвимостей уже с десяток лет как нет.

    Пр вышеперечисленным причинам интернет-ресурс «Может, вам повезёт?» с неподдельным интересом наблюдает за очередной попыткой перезапустить создание отечественных процессоров — говорить о каком-то «цифровом суверенитете» можно только тогда, когда государство работает на процессорах, чьи «скелеты в шкафу» полностью известны.

  • Как полностью контролировать свой телефон?

    Интернет-ресурс «Может, вам повезёт?» уже писал о проблеме абсолютного доверия большинства современных устройств к криптографическим ключам их производителей. Это не только превращает сценарий «утечки» приватной части ключа в сущий «кошмар», но и создаёт риск атаки изнутри — «согласованной» или нет. К счастью, «ответ» на эту обширную «беду» есть — но только в устройствах Google Pixel.

    Начнем с основ. На данный момент только криптографические чипы серии Titan M, используемые в телефонах Pixel, поддерживают использование пользовательского ключа Android Verified Boot — то есть, вместо «прожженого» ключа Google для поверки ОС (важно — «прошивка» устройства, т. е. раздел /vendor все ещё проверяется заводским ключом) будет использоваться ваш собственный. Даже если у атакующего окажется приватный ключ Google, сделать он ничего не сможет — ведь система подписана не им.

    Тут может возникнуть вполне очевидный вопрос — «зачем это все, если прошивка устройства все равно проверяется только заводским ключом?». Для ликвидации этого «недуга» у критических компонентов, вроде чипа Titan, есть защита от тех самых «атак изнутри». Заключается она в невозможности загрузить более новую версию «прошивки» без успешной разблокировки основного пользователя системы (он же владелец). Это существенно нейтрализует любые риски от использования заводского ключа для проверки раздела /vendor.

    У подобного «контроля» есть существенные минусы — во первых, вам необходимо каждый раз самостоятельно собирать образ системы (стоит отметить, что в случае с той же GrapheneOS это достаточно просто), во вторых — постоянно его обновлять. Если по «умолчанию» всю работу по сборке вашего ПО делает производитель, то при использовании собственного ключа эта «головная боль» полным грузом ложится на вас.

    Соответственно, из-за этого подобная модель подходит только для самых «тяжелых» ситуаций, когда важно максимально сократить доверие к любым третьим лицам. Тем не менее, если это ваш «случай», то интернет-ресурс «Может, вам повезёт?» действительно рекомендует задуматься об использовании собственных ключей.

  • Где лучше хранить ключи шифрования?

    Существует крайне расхожее заблуждение, которое уравнивает математическую стойкость того или иного криптографического «шифра» с невозможностью «вскрыть» его вне «бумажного» измерения. Как во многих других заблуждениях, в этом есть доля правды — и напрочь отсутствует «суть» вопроса.

    Начнём с основ. Большинство современных алгоритмов шифрования действительно имеют безумно высокую математическую стойкость на «бумаге» — вот только при вычислении этой «стойкости» используются несколько «предположений», которые не всегда присутствуют на «деле» — а именно то, что ключ имеет высокую энтропию и не может быть подобран простым «перебором», а также что исполнение алгоритма в конечной программе правильное.

    Тут стоит сделать отступление и прояснить один важный ньюанс: современные программы для шифрования не используют «секрет» (пароль, ПИН-код) пользователя напрямую — по причине того, что такие «секреты» зачастую секретами вовсе не являются. Для того, чтобы замедлить потециальный перебор пароля, используются алгоритмы вычисления ключа — проще говоря, они «раздувают» предоставленный им «секрет», делая его вычисление долгим и затратным.

    На данный момент такие алгоритмы лишь предоставляют дополнительное «раздражение» для атакующего — ведь три часа вычисления ключа у пользователя не равняются трём часам на сервером кластере. В лучшем случае, речь идёт как минимум о десятикратном ускорении. Кроме этого, подобные вычисления крайне уязвимы к получению ключа через наблюдение за электромагнитными утечками (TEMPEST). Без экранирования рабочего пространства, «цена» такой атаки — не больше пятидесяти долларов.

    Для решения всех вышеперечисленных проблем были придуманы криптографические чипы, некоторые из которых уже вам знакомы из серии публикаций о цифровой криминалистике — Titan M2 и Apple SEP. Кроме защиты от различных физических атак, вроде Fault Injection и уже упомянутого TEMPEST, для получения ключа атакующему надо проводить каждую попытку через сам чип — то есть, каждая попытка будет занимать ровно предусмотренное время, без «жульничества». Также, это позволяет прогрессивно замедлять попытки, т. е. с какого-то момента атакующему необходимо будет ждать 12 часов и более для каждой последующей пробы.

    Проблема данных чипов в том, что их можно заставить выдать ключи — о чем уже был материал. Даже при этом минусе, в большинстве своём они безопаснее своих программных «аналогов».

    Возвращаясь к заданному вопросу, большинство современных зашифрованных контейнеров ломаются именно через слабые ключи — ввиду чего их хранению необходимо уделять соразмерное количество внимания. Интернет-ресурс «Может, вам повезёт?» рекомендует хранить чувствительные данные только на устройствах, диск которых зашифрован с помощью криптографического чипа.

    Самые примечательные — мобильные устройства Google Pixel (при условии использования GrapheneOS) и, с определённым количеством оговорок, техника Apple последних поколений.

  • Как защититься от атак на радио-чипы?

    Интернет-ресурс «Может, вам повезет?» уже не раз подробно расписывал методы, которыми атакуют разного порядка радио (см. материал про сотовые модемы и медицинские импланты), но не говорил о методах защиты от них. Стоит оговориться, что «защита» в данном случае является не более чем снижением урона.

    Ввиду закрытого характера современных процессоров (к коим и относятся радио-чипы), практически не представляется возможным каким-либо образом наблюдать за их «жизнедеятельностью», и, соответственно, выявлять аномалии в процессе этой самой «жизнедеятельности». Этим, например, пользуются спецслужбы при атаках на сотовые модемы; ввиду того, что сам оператор мобильной связи используется как «прокси», у конечной «цели» подобных «манипуляций» не остается способов обнаружить заражение.

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

    На практике это означает что, даже если любое из ваших радио было заражено, «исправить» все можно простой перезагрузкой. Конечно, подразумевается что Verified Boot в вашем устройстве исполнен правильно – сейчас таким могут «похвастаться» только телефоны Google Pixel с установленной GrapheneOS и, в некоторой мере, Apple iPhone.

  • Защищает ли от чего-либо Secure Boot?

    Secure Boot представляют как «один ответ» на неисчислимое число «бед» с физической безопасностью, которые «мучают» традиционные компьютеры на базе архитектуры х86 чуть ли не с момента «зарождения». На «практике» же это классический «театр безопасности», который работает лишь иногда.

    Начнём с основ. Secure Boot проверяет криптографическую подлинность файлов загрузчика и образа ядра при каждой загрузке — по «задумке», это должно защищать операционную систему от подмены критических файлов. Имя такой атаке — Evil Maid (от англ. — корыстная горничная), и она является наиболее простой из класса физических атак.

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

    Это особенно актуально при отсутствии шифрования диска; атакующий может заменить системные бинарные файлы (например, SU или systemd в Linux/*nix), и добиться все того же полного заражения системы не прикасаясь к образу ядра, который «обороняет» Secure Boot.

    Даже если диск зашифрован, список разрешённых «ключей» исчисляется тысячами — что, разумеется, позволяет полностью обойти Secure Boot просто подписав, например, заражённое ядро «украденным» у одной из множества компаний ключом.

    Правильное исполнение Secure Boot — Verified Boot, самыми популярными «носителями» которого являются компьютеры Macintosh на базе Apple Silicon, устройства iOS и телефоны Google Pixel. Принцип работы Verified Boot заключается в проверке полного образа системы — вместе со всеми файлами — а также драйверов и прочей «переферии».

    За пример мы возьмём именно Google Pixel. В них за Android Verified Boot отвечает криптографический чип Titan M/M2, который полностью проверяет все файлы загрузчика и «прошивки» (раздел /vendor) с помощью ключа Google, после чего также проверяет все файлы ОС Android, вплоть до системных приложений, используя либо ключ Google, либо же пользовательский.

    Это позволяет устранить как и прямую подмену системных файлов, так и их заражение через какую-либо уязвимость. На практике это обеспечивает телефонам Google Pixel практически полную защиту от долгосрочного заражения — после каждой перезагрузки атакующему необходимо начинать с начала.

    Отвечая на поставленный вопрос, — Secure Boot, конечно, может вас защитить, но только в исключительных случаях. Любой более-менее компетентный «специалист» с легкостью пройдет мимо него.

  • Неоспоримое доверие

    В качестве продолжения «вскрытия» тем, затрагивать которые не принято, стоит поговорить о «повальной» централизации доверия в мобильных устройствах.

    Основы. У каждого современного смартфона в процессор «прожжен» специальный код (BootROM). Можно сказать, что это первая «программа», которую выполняет процессор, и именно она отвечает за инициализацию всех подсистем (например, радио). Кроме того, она также создает «корень доверия», с помощью которого все остальные компоненты «проверяются» на подлинность.

    Зачастую в BootROM также «зашит» ключ производителя, который и используется для проверки всей «цепочки». Так как при компрометации ключа его заменить нельзя, что же будет, если он «утечет»?

    На практике это означает, что каждый телефон, например, Apple, позволит загрузить вредоносный «мод» iOS без любых «вопросов». Кроме этого, зачастую криптографические чипы пользуются этой же моделью, что особенно «весело» при существовании «предателя».

    Стоит отметить, что некоторые телефоны, самый популярный представитель которых — Google Pixel, позволяют «прошить» свой ключ для поверки ОС (Android Verified Boot), что несколько смещает «модель» доверия. Если вы пользуетесь таким «исключением», я настоятельно рекомендую вам потратить время на создание своих ключей. По личному опыту, могу сказать, что процесс более «муторный», чем сложный.

  • Атаки на медицинские импланты

    Отходя от привычных «баранов», хотелось бы затронуть одну глубоко теоретическую тему: а безопасны ли «умные» медицинские импланты?

    Начнем с «фундамента». Любой, даже самый защищенный «компьютер» не является полностью безопасным — даже если он использует «новейшие» технологии защиты. Никто не может гарантировать, что даже при «тяжелых» мерах противодействия, вроде полного «цикла» защит памяти (ARM MTE, PAC) и поверки каждого системного компонента на уровне «прожженного» BootROM компьютер будет оставаться «чистым». К тому же, существует великое множество способов получить информацию «не прикасаясь» к жертве вообще (см. TEMPEST, оно же наблюдение за электромагнитными утечками).

    Даже самую «тяжелую» утечку информации из классического компьютера зачастую можно так или иначе пережить. Но что будет, если кардиостимулятор или чип с интерфейсом мозг-компьютер «утечет»?

    Об этот «скромный» вопрос ломаются множественные обещания вернуть людям дееспособность путем установки в мозг миниатюрных компьютеров с беспроводными протоколами. Самый «понятный» пример из поп-культуры — чип Neuralink Илона Маска, который «общается» с телефоном «пациента» по протоколу Bluetooth. Само описание «работы» устройства уже вызывает «тьму» вопросов; почему именно Bluetooth? Нельзя было найти протокол с меньшими помехами, большей пропускной способностью, и безопасностью сильнее «разбитого лобового стекла»?

    Смоделировать атаку на такой чип исключительно просто; атакующий отправляет «зловредные» пакеты на статический MAC-адрес чипа Neuralink, после чего «провоцирует» ту или иную уязвимость в радио. С этого момента все «индивидуально» — если хочется, можно атаковать через DMA, если не хочется — другим способом. Опровергнуть данный сценарий возможно только с помощью диаграммы внутренней структуры чипа, из которой будет понятно, что память радио изолированна от остальной системы.

    Для чего это может быть использовано? Как минимум, для прогнозирования действий, как максимум — «чтения мыслей». Из-за этого риск применения «умных» устройств в медицине экспоненциально выше — вопрос стоит о жизни человека, что, однако, несколько дороже, чем материальная и репутационная безопасность.

  • Атаки на радио-чипы (WiFi, Bluetooth, UWB)

    Взлом сотовых чипов стоит «особняком» только по причине «любви» к нему государственных «хакеров». На самом деле, любой радио-чип — потенциальная «точка входа», о чем говорится крайне редко.

    Пожалуй, наиболее «понятный» пример — чип Bluetooth. Несмотря на общую «тупость» и проблемы с безопасностью в протоколе Bluetooth, он используется повсеместно — даже в устройствах, «попасть» в которые «традиционными» методами не представляется возможным. Единственное, что отличает его от сотового модема — радиус «поражения».

    Разумеется, это также применимо к чипам WiFi, UWB и подобным им. То, что каждый отдельный чип имеет свое уникальное «поведение» мы сейчас опустим, ведь об этом готовится отдельный разбор.