Перейти к содержанию

GoFetch: Взлом шифрования на процессорах Apple | Блог Касперского


Рекомендуемые сообщения

В середине марта исследователи из нескольких университетов в США опубликовали научную работу, в которой продемонстрировали аппаратную уязвимость в процессорах Apple серии M. Apple M — собственная разработка компании на базе архитектуры ARM, используемая в большинстве ноутбуков и настольных ПК, а также в некоторых планшетах iPad. Проблема может быть эксплуатирована для взлома алгоритмов шифрования. Атаку, построенную на базе этой уязвимости, назвали GoFetch.

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

Предварительная выборка данных

Центральный процессор компьютера или ноутбука выполняет программу, которая представлена в виде машинных кодов. Грубо говоря, это набор чисел, часть из которых представляет собой команды, а все остальное — данные для вычислений. На этом самом базовом уровне речь идет о самых простых командах: загрузить из памяти такие-то данные, произвести над ними какие-то вычисления, записать результат обратно в память.

Программу по идее нужно выполнять последовательно. Приведем самый простой пример: пользователь ввел пароль для доступа к криптокошельку. Нужно считать этот пароль из оперативной памяти, произвести над ним определенные вычисления, убедиться, что пароль правильный, и только тогда открыть доступ к секретным данным. Но если бы современные процессоры так выполняли весь код, наши компьютеры работали бы крайне медленно. Как удается ускорить выполнение программ? С помощью большого числа оптимизаций, в числе которых и предварительная загрузка данных.

Концепция предварительной загрузки данных заключается в следующем: если в коде программы будет обнаружена команда на загрузку определенных данных, почему бы во имя ускорения не загрузить их еще до того, как они понадобятся? Если данные в ходе дальнейших вычислений пригодятся — мы выполним программу чуть быстрее. Не пригодятся — не беда, сотрем их из кэш-памяти процессора и загрузим что-то еще.

Так работают самые базовые технологии предварительной выборки данных. В процессорах Apple используется довольно новый метод, известный как «контекстно зависимая предварительная выборка данных» или «data memory-dependent prefetcher» (DMP). Если коротко, DMP работает более агрессивно. Не всегда команды на загрузку данных из памяти доступны явным образом. Указатели на определенную область памяти могут быть результатом вычислений, которые еще нужно произвести. Либо они могут храниться в массиве информации, с которым программа будет работать позднее. DMP пытается угадать, что из данных программы является указателем на область памяти. Логика такая же: если что-то похоже на указатель, пытаемся загрузить информацию по соответствующему адресу. Процесс угадывания использует историю недавних операций, причем они могут относиться к совсем другой программе.

В 2022 году предыдущее исследование показало, что технология DMP достаточно часто путает указатели и какие-то другие данные, с которыми работает программа. Само по себе это проблемой не является: ну загрузили в кэш-память процессора что-то не то, ну бывает. Проблемы появляются, когда речь идет о работе алгоритмов шифрования. DMP может при некоторых условиях сломать концепцию программирования с постоянным временем. Давайте теперь поговорим про нее.

 

Посмотреть статью полностью

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Похожий контент

    • KL FC Bot
      От KL FC Bot
      В сотовых M2M-модемах Telit Cinterion были обнаружены несколько серьезных уязвимостей, включая возможность удаленного выполнения произвольного кода (RCE) посылкой SMS-сообщений. Эти модемы используются в миллионах разнообразных устройств и систем, предназначенных как для пользовательского сегмента рынка (платежные терминалы, банкоматы, автомобили), так и для здравоохранения, финансового сектора, телекоммуникации, промышленности и многих других целей. Рассказываем подробнее о выявленных уязвимостях и о том, как от них можно защититься.
      Критические уязвимости в модемах Cinterion
      В общей сложности эксперты Kaspersky ICS-CERT обнаружили в модемах Telit Cinterion семь уязвимостей нулевого дня:
      CVE-2023-47610 / KLCERT-23-018: с помощью отправки особым образом созданных SMS атакующий получает возможность удаленного выполнения кода (RCE) в системе. CVE-2023-47611 / KLCERT-22-216: позволяет атакующему с низкими привилегиями в системе повысить их до уровня «manufacturer» (производитель). CVE-2023-47612 / KLCERT-22-194: имея физический доступ к устройству, атакующий получает возможность чтения и записи любых файлов и папок в системе, включая скрытые. CVE-2023-47613 / KLCERT-22-211: позволяет атакующему с низкими привилегиями в системе совершить побег из виртуальной папки и получить доступ к чтению и записи защищенных файлов. CVE-2023-47614 / KLCERT-22-210: позволяет атакующему с низкими привилегиями в системе обнаружить скрытые виртуальные пути и имена файлов. CVE-2023-47615 / KLCERT-22-212: позволяет атакующему с низкими привилегиями в системе получить несанкционированный доступ к конфиденциальным данным. CVE-2023-47616 / KLCERT-22-193: имея физический доступ к устройству, атакующий может получить несанкционированный доступ к конфиденциальным данным. Наибольшую опасность представляет собой первая уязвимость из этого списка (CVE-2023-47610). В числе прочего эта уязвимость позволяет манипулировать памятью и флеш-накопителем модема, что в итоге дает возможность получить полный контроль над системой. При этом для атаки не требуется ни физический доступ к устройству, ни аутентификация на нем.
       
      Посмотреть статью полностью
    • KL FC Bot
      От KL FC Bot
      Для того чтобы найти человека, Диоген, как известно, использовал фонарь — философ полагался исключительно на оптические методы распознавания. Современные же ученые предлагают применять для этих целей сигнал Wi-Fi. Если быть точным, то методика, разработанная тремя исследователями из Университета Карнеги-Меллона, использует сигнал обычного домашнего Wi-Fi-роутера для того, чтобы достаточно точно распознавать не только местоположение, но и позы людей в помещении.
      Почему Wi-Fi? Для этого есть несколько причин. Во-первых, в отличие от оптического распознавания, радиосигнал отлично работает в темноте и ему не мешают мелкие препятствия вроде мебели. Во-вторых, это дешево, чего нельзя сказать о лидарах и радарах, которые в целом тоже способны справиться с задачей. В-третьих, Wi-Fi уже повсеместно распространен — бери и пользуйся. Остается понять, насколько этот метод рабочий и чего с его помощью можно достичь, — давайте же в этом разберемся.
      DensePose: методика распознавания человеческих поз на изображениях
      Начать, впрочем, придется немного издалека — сперва следует разобраться с тем, как в целом работает точное распознавание человеческого тела и его позы. В 2018 году другая группа ученых представила методику под названием DensePose. С ее помощью они успешно распознавали человеческие позы на фотографиях — сугубо на основе двумерных картинок, без использования данных о третьей координате — глубине.
      Вот как это работает. Для начала модель DensePose ищет на изображениях объекты, которые распознаются как человеческие тела. Далее эти объекты разделяются на отдельные участки, которые сопоставляются с теми или иными частями тела — каждая из них обрабатывается отдельно. Такой подход используется потому, что разные части тела двигаются очень по-разному: например, голова и торс ведут себя совсем не так, как руки и ноги.
       
      Посмотреть статью полностью
    • KL FC Bot
      От KL FC Bot
      Один из самых старых советов по безопасности звучит так: «скачивайте программы только из официальных источников». Часто официальные источники — это основные магазины приложений на каждой платформе, но для миллионов полезных и бесплатных приложений с открытым исходным кодом самым что ни на есть официальным источником являются репозитории разработчиков на профильных сайтах, GitHub и GitLab. Прямо на них выкладываются исходники проектов, предлагаются исправления и дополнения в код, а зачастую есть возможность скачать и готовую сборку приложения. Эти сайты знакомы любому, кто хотя бы немного интересуется компьютерами, программами и программированием. Именно поэтому для многих (включая самих разработчиков и специалистов по ИБ) стало неприятным открытием то, что файл, доступный по ссылке вида github.com/ИмяРазработчика/НазваниеПроекта/files/номер/имя_файла, может быть опубликован совсем даже не разработчиком и содержать… что угодно.
      Конечно, этим немедленно воспользовались киберпреступники.
      Анатомия проблемы
      GitHub и его близкий родственник GitLab построены вокруг совместной работы над проектами по разработке ПО. Одни разработчики могут выкладывать свой код, а другие — предлагать к нему дополнения, исправления или даже делать форки — свою альтернативную версию приложения или библиотеки. Когда в приложении обнаруживается ошибка, любой пользователь может сообщить об этом разработчику, заведя отчет о проблеме, issue. Другие пользователи способны подтвердить проблему в комментариях. Комментировать можно и выпуск новых версий приложения. По необходимости к комментариям добавляют файлы, например скриншоты с ошибкой или документы, на которых сбоит приложение. Эти файлы хранятся на серверах GitHub как раз по ссылкам вышеописанного вида.
      Но у GitHub есть одна особенность: если пользователь подготовил комментарий, загрузил сопроводительные файлы, но не нажал кнопку «опубликовать», информация как бы «зависает» в черновике — она не видна ни владельцу приложения, ни другим пользователям GitHub. Но прямая ссылка на загруженный в комментарий файл при этом уже создана и вполне работоспособна — файл исправно выдается из CDN GitHub любому желающему, перешедшему по этой ссылке.
      Посмотреть статью полностью
    • KL FC Bot
      От KL FC Bot
      Каждый год миллионы аккаунтов компрометируют атакой с подстановкой учетных данных. Этот метод стал настолько массовым, что еще в 2022 году, по данным одного из провайдеров аутентификации, в среднем на два легитимных входа в аккаунты приходилась одна попытка подстановки учетных данных. И за прошедшие пару лет ситуация, скорее всего, не изменилась к лучшему. В этом посте поговорим подробнее о том, как работает подстановка учетных данных, что за данные злоумышленники используют и как защитить ресурсы организации от подобных атак.
      Как работают атаки с подстановкой учетных данных
      Подстановка учетных данных (credential stuffing) — это один из самых эффективных вариантов атаки на учетные записи. Для таких атак используются огромные базы данных с заранее добытыми логинами и паролями от аккаунтов на тех или иных платформах. Далее злоумышленники массово подставляют эти логины и пароли в другие онлайн-сервисы в расчете на то, что какие-то из них подойдут.
      В основе атаки лежит тот печальный факт, что многие люди используют один и тот же пароль в нескольких сервисах — а то и вовсе пользуются везде одним-единственным паролем. Так что ожидания злоумышленников неизбежно оправдываются, и они успешно угоняют аккаунты с помощью паролей, установленных жертвами на других платформах.
      Откуда берутся подобные базы данных? Основных источника три:
      пароли, украденные с помощью массовых фишинговых рассылок и фишинговых сайтов; пароли, перехваченные зловредами, специально созданными для того, чтобы воровать пароли, — так называемыми стилерами; пароли, утекшие в результате взломов онлайн-сервисов. Последний вариант позволяет киберпреступникам добывать наиболее внушительное количество паролей. Рекорд тут принадлежит произошедшему в 2013 году взлому Yahoo! — в результате этой атаки утекло целых 3 миллиарда записей.
      Правда, тут следует сделать одну оговорку: обычно сервисы не хранят пароли в открытом виде, а используют вместо этого так называемые хеши. Так что после успешного взлома эти самые хеши надо еще расшифровать. Чем проще комбинация символов, тем меньше требуется ресурсов и времени, чтобы это сделать. Поэтому в результате утечек в первую очередь рискуют пользователи с недостаточно надежными паролями.
      Тем не менее если злоумышленникам действительно понадобится ваш пароль, то даже самая надежная в мире комбинация будет рано (в случае утечки хеша, скорее всего, рано) или поздно расшифрована. Поэтому каким бы надежным ни был пароль, не стоит использовать его в нескольких сервисах.
      Как несложно догадаться, базы украденных паролей постоянно растут, пополняясь новыми данными. В итоге получаются совершенно монструозные архивы, количество записей в которых в разы превышает население Земли. В январе 2024 года была обнаружена самая крупная база паролей из известных на сегодняшний день — в ней содержится 26 миллиардов записей.
       
      Посмотреть статью полностью
    • KL FC Bot
      От KL FC Bot
      Как обычно, к 4 мая (MTFBWY) мы готовим для поклонников «Звездных войн» отчет о том, как давным-давно в далекой галактике империя халатно относилась к информационной безопасности. В этом году в качестве наглядного пособия выступит только что завершившийся третий сезон анимационного сериала «Звездные войны: Бракованная партия». Как обычно, предупреждаем — в тексте могут быть спойлеры.
      Несмотря на, казалось бы, не самый серьезный формат, сюжетные повороты и общая связанность повествования в «Бракованной партии» куда лучше, чем в большей части вышедших в последнее время игровых сериалов и фильмов. С тех пор как в девятом эпизоде «Палпатин как-то вернулся», креативный директор Lucasfilm Дейв Филони всеми силами пытается хоть в какой-то мере логически обосновать это возвращение, и потому в центре сюжета свежего анимационного сериала — проект «Некромант», работа над которым ведется на сверхсекретной базе Тантисс. А это то, что нам нужно, — научное учреждение с беспрецедентными (для Галактической империи) защитными системами, которые тем не менее часто не помогают.
      Секретность базы Тантисс
      Доктор Хемлок, непосредственный руководитель базы Тантисс и научного проекта «Некромант», пользуется полным доверием императора и располагает неограниченными ресурсами. Одна из поставленных перед ним задач — обеспечение безопасности и режима секретности базы. И в отличие от большинства имперских лидеров, которых мы видели до этого, он подходит к своей задаче ответственно.
      Информации о местоположении вверенного ему объекта нет ни в одной имперской базе данных. Это, конечно, вызывает определенные сложности со снабжением. Но Хемлок установил строгие организационные защитные меры: любой корабль, направляющийся к базе Тантисс, должен состыковаться с имперской станцией 003 на орбите столичной планеты Корусант и пройти тщательную проверку с досмотром всего экипажа. Код допуска для стыковки меняется раз за оборот. Координаты Тантисс загружаются непосредственно в навигационный компьютер корабля сразу после взлета и каким-то образом не хранятся в нем. Очевидно, загрузка идет с изолированного компьютера, поскольку из компьютера базы они недоступны. Даже для доступа к манифесту станции, где хранится информация о том, какой корабль куда направляется, требуется отдельная карта доступа.
      Применяемые для полетов на Тантисс научные корабли используют усиленные протоколы безопасности. Это выражается, в частности, в том, что они оборудованы датчиками приближения, отслеживающими посторонние объекты вблизи корпуса (абсолютно непонятно, почему эта технология не используется больше нигде в империи). Кроме того, при доступе к бортовому компьютеру через порт подключения дроида на пульт пилота поступает сигнал тревоги. И это первый случай хоть какой-то защиты от хакеров.
       
      Посмотреть статью полностью
×
×
  • Создать...