Фрагмент для ознакомления
2
ВВЕДЕНИЕ
Уязвимость процессора позволяет атаковать механизм ненормального и спекулятивного выполнения. При атаке по побочному каналу мы
предполагаем, что необходимая информация сама какимто образом
достигнет канала. В случае атак, основанных на спекулятивном исполнении, это не является строгим условием – для агрессивного исполнения
злоумышленник может предоставить каналу необходимую информацию.
Как показано ниже, описанный класс атак позволяет злоумышленнику получить доступ к конфиденциальной информации жертвы, даже если ни
одно из используемых программных решений не содержит недостатков или
уязвимостей. Эти атаки обходят защиту программного обеспечения от атак
по побочным каналам и механизмы изоляции программного обеспечения.
ГЛАВА 1 – ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
Практическая применимость атак
Существуют ограничения для атак с упреждающим исполнением.
Некоторые, например, фокусируются только на краже данных ядра
операционной системы, но это не влияет на других пользователей. Другие
нападут на защищенный анклав, о чем мы также расскажем позже. Тем не
менее, учитывая, что механизм упреждающего выполнения присутствует
практически в каждом современном процессоре, атака весьма применима и
представляет опасность как для конечных пользователей, так и для крупных компаний, таких как облачные провайдеры. Кроме того, эти атаки не делают предположений о задаче атакуемой программы: данные могут быть украдены как из программного обеспечения для шифрования, так и из ядра
виртуальной машины пользователя облачного сервиса.
Для многих из описанных атак уже опубликованы примеры кода,
подтверждающие их применимость. Исследователь описывает каждую атаку и предоставляет реалистичную схему с возможностью ее применения.
Конечно, чтобы запустить атаку в действие, злоумышленник должен
понимать устройство и механизм процессора, а также систему,
используемую в атакуемой среде. То есть злоумышленнику требуется
теоретическая подготовка, но если доступных материалов в избытке,
получить ее несложно.
Отдельно следует отметить, что многие из этих атак применимы толькок процессорам Intel. Однако это не снижает риск, учитывая огромную долю
рынка, занимаемую этой компанией.
Уязвимость, основанная на упреждающем выполнении
Как упоминалось ранее, упреждающее выполнение обеспечивает такуювысокую производительность, что большинство современных процессоров
используют спекулятивные и специальные механизмы выполнения.
Рассматривая процессор как "черный ящик", возможность выполнения неправильной команды не ставит под сомнение безопасность устройства.
Действительно ли важно, что выполняется, если код каким-то образом не
вовлечен в среду и не вызывает побочных эффектов?
Однако, как мы обсуждали, существуют эффективные способы
извлечения данных процессора, некоторые из которых предполагают
физическое вмешательство и вмешательство системы.
Это было совместное использование побочных каналов (в основном
через кэш) и механизм специального выполнения.
Существовала возможность нового, очень опасного типа атаки, для
предотвращения которой требовались серьезные усилия со стороны
разработчиков программного и аппаратного обеспечения.
Классификация атак на основе активного выполнения атаки, основанные
на активном выполнении, постоянно меняются, и новые варианты
появляются очень быстро и в больших количествах. Давайте разделим атаку
на типы, принимая во внимание сходство с их самыми известными
предшественниками – meltdown и ghost attack.
Атака типа Meltdown
Атака meltdown включает в себя атаку, которая подразумевает, что в
программе злоумышленника существует инструкция, которая вызывает
выдачу исключения процессору. Суть такой атаки заключается в краже
секрета до окончательной обработки исключения процессором. Эти атаки
позволяют "растопить" аппаратную изоляцию процесса и уровень
безопасности и становятся названием первоначальной атаки.
Атака meltdown разделяется используемым исключением:
Исключение недоступности устройства (#NM) – возникает при работе с
числами с плавающей запятой;
Исключение проверки выравнивания (#AC) - Если проверка
выравнивания включена, в памяти обнаруживается не выровненный операнд.
Исключение ошибки деления (#DE) - Ошибка во время деления
(деление на ноль или недостаточная точность);
Исключение ошибки страницы (#PF) - Ошибка страницы. Из-за
большого количества вариаций этот класс разделен битами доступа, которые должны быть указаны на странице:
Пользователь/супервизор (U/S) - может ли страница быть доступна
пользователю или только суперпользователю (используется в оригинальной атаке meltdown);
Присутствует(P) - находится ли страница в основной памяти (если
такая функция включена на процессоре, страница может быть сброшена на
диск);
Чтение/запись (R/W) - Возможно ли записать на страницу;
Ключ защиты (PK) - Если установлен, технология ключа защиты
памяти включена для управления доступом к адресу памяти пользователя. Доступ или запись на адрес, к которому запрещен доступ, приведет к сбою
страницы;
Выполнить-отключить(XD) – Возможно ли выполнить инструкции на
этой странице;
* Предотвращение доступа в режиме супервизора (SMAP, SM) –
определяет, включен ли механизм SMAP. Поскольку SMAP не позволяет
коду уровня суперпользователя неявно использовать память пользователя,
это помогает избежать атак, когда пользовательская программа использует
уязвимость в коде суперпользовательской программы и вынуждает
использовать ее данные;
Недопустимое исключение кода операции, неопределенный код
операции(#ud) - Попытка выполнить недопустимую инструкцию;
Исключение ошибки стека (#SS) - Ошибка при работе со стеком;
Исключение превышения диапазона границ (#BR) – исключение возникает,
если проверка границ массива завершается неудачей (т.е. если проверяемый индекс превышает границу массива). Этот класс атак может быть
подразделен в соответствии с методами проверки границ, называемыми
связанными инструкциями (BND) или расширениями защиты памяти (MPX).;
Распространенное исключение защиты (#GP) - это широкий класс ошибок.
При атаке типа meltdown связана попытка считывания системных регистров. Этот класс включает, например, атаку Meltdown variant 3a.
Кроме того, атаки meltdown можно разделить по типу памяти (основная кэш, регистровая), что позволяет злоумышленникам извлекать данные.Отдельно,
согласно подходу исследователей Intel, уязвимость выборки данных
Microarchitect используется для создания подкласса атак meltdown.
Атака типа "Spectre"
Фрагмент для ознакомления
3
СПИСОК ЛИТЕРАТУРЫ
1. Брэгг, Р.Сетевая безопасность: полное руководство | Р.Брэгг, М.Родс-Оусли,К.Страссберг. - М.: Эком, 2011. -912
2. Галицкий, А.В.Защита информации в сетях - анализ технологий и
синтез решений / А.В.Галицкий, С.А.Д.Рябко, В.Ф.Шангин. - М.: ДМК Пресс, 2010. Страница 615
3. Коровин В. Накануне империи. Прикладная геополитика и сетевые
войны /В.Коровин. - М.: Евразийское движение, 2009. Страница 352
4. Майника,Е.Алгоритмы оптимизации на сетях и графах /Е.Майника. - М.: [Не указано], 2018. Страница 546
5. Макин Дж.С.Внедрение, управление и поддержка сетевой инфраструктуры Microsoft Windows Server2003. Учебный курс Microsoft (+CD-ROM) /Дж. С.Макин, Иэн Маклин,. - М.: Санкт-Петербург: Питер, 2018.
Страница 622
6. Морозов, М.Атака "шнельботов". Немецкие торпедные катера
Второй мировой войны /М.Морозов, С.Патянин. - М.: Яуза, 2011. Страница
110
7. Новиков, Ю.В.Оборудование локальной вычислительной сети:
назначение, выбор, разработка / Ю.В.Новиков, Д.Г.Карпенко. - М.: Эком,
2013. Страница 288
8. Программы Cisco CCNA Network Academy 1 и 2. Вспомогательное
руководство (+CD-ROM). - М.: Уильямс, 2010. Страница 527
9. Рут гайки и болты МЛМ. Как построить бизнес с помощью сетевого маркетинга /Руэ, Джен. -М.: Киев: Колибри, 2013. Страница 362
10. Свами, М.Графики, сети и алгоритмы /М.Свами, К.Туласираман. - М.: [Не указано], 2017. Страница 161
11. Соколов,А.В.Защита информации в распределенных
корпоративных сетях и системах | А.В.Соколов,В.Ф.Шангин. - М.: ДМК
Пресс, 2010. Страница 656
12. Сорокин, З.Мы идем в атаку/Z.Сорокин. - М.: ДОСААФ, 2016. -200
13. Штейн, Р.Л.Атака мутантов /Р.Л.Штейн. - М.: Росмэн, 2015.
Страница 107
14. Стивенс,У.UNIX: разработка сетевых приложений /У.Стивенс. - М.: Санкт-Петербург: Питер, 2009. Страница 396
15. Таль,М.Н.В огонь атаки/М.Н.Таль,Я.В.Дамский М.: Физическая
культура и спорт, 2016. Страница 304
16. Фостер, Дж.С.Защита от взлома: сокеты, эксплойты, код оболочки: выявление уязвимостей в операционных системах и прикладных программах против хакерских атак | Дж. С.Фостер. - М.: ДМК, 2013. Страница 784
17. Хабрейкен самостоятельно освоил сетевую технологию за 24 часа / Хабрейкен, Хайден Джо;, Мэтт. - М.: Уильямс, 2010. Страница 432
18. Хант, К.TCP/IP. Сетевое управление /К.Хант. - М.: СПб: Символ-Плюс; 3-е издание, 2010. Страница 816
19. Чирилло,Д.Обнаружение хакерских атак /Д.Чирилло. - Москва:
Санкт-Петербург: Питер, 2017. Страница 864
20. Шмерлинг за час до нападения. Рассказ / Шмерлинг, Семильон. - М.: Средне-Уральское книжное издательство, 2013. Страница 224
21. Якименко, A.In атака - "Меч"/А.Якименко. - М.: ДОСААФ, 2015. -240