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

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

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

  • Зловредные сертификаты

    Завершая цикл публикаций об атаках на интернет-трафик, стоит также рассказать о несколько более простом, но гораздо более популярном методе перехватить соединение TLS (HTTPS) — зловредный корневой сертификат.

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

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

    Подобные атаки особо любят реализовывать государственные доверительные центры; хорошим примером послужит Казахстан, который сначала объявил необходимость устанавливать государственный корневой сертификат «QazNet», а потом выпустил ложные сертификаты для популярных сервисов вроде Google, YouTube, и прочих.

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

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

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

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

  • Как достать ключи шифрования из компьютера, не прикасаясь к ОС?

    Говоря об «обходных путях», для классических компьютеров существует великое множество способов «вытащить» ключи шифрования даже не прикасаясь к ОС. Вот некоторые из них:

    — TEMPEST

    TEMPEST, оно же наблюдение за электромагнитными утечками было придумано еще во второй мировой, но массовое «применение» получило только в 80-х годах, когда им пользовалось ЦРУ для «скатывания» картинки с мониторов CRT. Каждая подобная «технология» неуклонно девальвируется, и сейчас цена «вопроса» исчисляется сотнями долларов.

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

    — Cold 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 и подобным им. То, что каждый отдельный чип имеет свое уникальное «поведение» мы сейчас опустим, ведь об этом готовится отдельный разбор.

  • Атаки на сотовые модемы

    Говоря о запрете звонков в мессенджерах, необходимо затронуть одну важную теоретическую тему: а может ли государство использовать сотовые вышки для взлома напрямую?

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

    Всякий чип может быть взломан при сильном «желании», и данный случай отнюдь не исключение — ввиду того, что Baseband «делит» память с Application Processor, т. е. основным чипом системы, его можно использовать для получения разного рода «секретов» и всего остального зоопарка атак DMA [Direct Memory Access]

    Смоделировать подобный «сценарий» очень просто: атакующий в «привилегированной» позиции, т. е. оператор и/или государство отправляет «специальный» пакет LTE/UMTS на телефон жертвы. Для наглядности за пример возьмем Samsung Galaxy S9; Baseband Processor этой модели имеет четыре критических уязвимости, которые позволяют начать выполнять код, после чего «трогать» память системы. Так как S9 не имеет какой-либо изоляции памяти, «цена» вопроса — пара минут.

    Отвечая на заданный вопрос — да, и даже с «ветерком».
    Защититься от этого нельзя, но LTE-Only mode в GrapheneOS сильно портит «жизнь» тем, кто такие атаки использует.