Author: Wladyslaw

  • Почему устройства Apple страдают от «шпионов» больше других?

    Больше всего от шпионского ПО страдают устройства Apple из-за во многом «кривой» и закрытой архитектуры.

    Краткий исторический экскурс. Сейчас все операционные системы Apple — сильно модифицированная вариация открытой BSD. Все долгие годы существования ядра XNU, т. е. проприетарного форка ядра BSD, Apple обслуживала его полностью самостоятельно. Чтобы понять почему же это плохо, можно посмотреть на аналогичное ядро Linux — несмотря, на то, что в разработке участвуют «гиганты», вроде Google, до сих пор вылезают «дырки», которым порой по 10-15 лет.

    Это создаёт вполне «тепличные» условия для существования целого ряда критических уязвимостей, вроде эскалации привилегий, которыми с «удовольствием» пользуется та же израильская NSO Group. По сравнению с тем же Android Open Source Project, который использует ядро Linux, скорость обнаружения «дырок» в ядре порой в десятки раз медленнее.

  • Как работает шпионское ПО?

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

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

    Запуск выполнения кода через уязвимость в каком-либо системном сервисе —> побег из «песочницы» —> обход MAC (Mandatory Access Control) —> уязвимость в ядре —> получение привилегий в системе

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

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

  • Конкретные уязвимости в процессорах Apple

    Из-за спекулятивного выполнения кода страдают не только компьютеры Macintosh, но и телефоны iPhone и планшеты iPad — у них существует свой GoFetch, поделенный на два — SLAP и FLOP.

    FLOP является наиболее «опасным» из пары; если заставить систему LVP (Load Value Predictor), которая отвечает за спекулятивное выполнение «спекулятивно» же выполнить вредоносный код, то можно читать регионы памяти, взаимодействовать с которыми нельзя.

    SLAP же эксплотирует LAP (Load Address Predictor), из названия которого следует, что он предсказывает адреса регионов памяти. Если заставить LAP предсказать «не туда», можно получить адрес, например, соседней вкладки браузера с чувствительными данными.

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

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

  • Почему технику Apple так легко «открыть»?

    Именно утечки информации из процессоров Apple делают их взлом полицейскими «открывашками» тривиальным.

    Упомянутая мной уязвимость GoFetch проростает именно из безрассудной погони за производительностью — в процессорах Apple Silicon есть DMP (Data-memory dependent prefetcher), который спекулятивно ищет «указатели» в кэше процессора и спеулятивно же назначает для них регионы в памяти. Это приводит к повышению производительности на 20-30%, но позволяет «подобрать» ключи шифрования просто «понаблюдав» за структурными изменениями кэша некоторое время. Зачастую «наблюдать» нужно не более 10-ти часов.

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

  • А если «секреты» из меня будут выбивать?

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

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

    Так как VeraCrypt долгое время разрабатывался одним человеком во Франции, порекомендовать его я не могу ввиду жуткой централизации разработки. Что я могу порекомендовать для такого «сценария» — dm-crypt в «простом» режиме.

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

    Единственный минус dm-crypt — нужно помнить все параметры шифрования, а также использовать сложный «секрет», т. к. никакой защиты от «перебора», вроде той же функции вычисления ключа, как в LUKS, нет.

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

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

    — TEMPEST

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

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

    — Cold Boot

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

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

    — Акустический захват нажатий клавиш

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

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

  • Может ли российская полиция «открывать» компьютеры?

    Основы. Под «компьютером» подразумевается выключенный стационарный/ноутбук на платформе x86 с зашифрованным «винтом». Для шифрования используется LUKS/VeraCrypt/Bitlocker. Используется «традиционная» модель, при которой во время загрузки вас просят ввести «секрет» (т. е. пароль), который проходит через «функцию вычисления ключа», и в итоге превращается либо в ключ от вашего диска, либо же в «тыкву».

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

    Сравнительно худшую безопасность имеют контейнеры Bitlocker и VeraCrypt, так как первый создан компанией с «приятельскими» отношениями с госдепартаментом США и имеет закрытый код, а второй создаётся одним «индусом» во Франции, ввиду чего не имеет такого же количества «проверок» по сравнению с, например, LUKS.

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

  • Прослушка с помощью сенсоров вашего телефона

    Если вам необходимо пользоваться любым «наглым» ПО, вроде того же нацмессенджера MAX, я также могу порекомендовать приобрести отдельный дешевый Pixel для этого.

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

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

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

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

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

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

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

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

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

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

  • Отслеживаем любое устройство по его «поведению»

    Сейчас принято винить идентификаторы сотового модема (IMSI и IMEI) в возможности отследить любой телефон. В связи с этим, стоит задаться вопросом: а так ли оно на самом деле?

    Основы. Отчасти это действительно так, ведь IMEI можно поменять «со скрипом» только на узком круге устройств (например, модели Google Pixel с модемом Samsung Shannon). Тем не менее, люди адаптировались, и этот «традиционный» метод перестал быть эффективным, что дало ход новым «разработкам».

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

    Выглядит это следующим образом; «автоматика» наблюдает за определенным устройством X, у которого активен WiFi/Bluetooth. Через некоторое время, можно будет «наверняка» сказать, кто произвел радио (Qualcomm/MediaTek/Samsung). Используя «ручной» анализ, также можно определить, какая модель чипа используется.

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