The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

20.10.2016 08:24  Выявлен метод обхода защиты ASLR на процессорах Intel

Группа исследователей из Бингемтонского и Калифорнийского университетов опубликовали технику атаки, позволяющую восстановить раскладку памяти при использовании механизма защиты ASLR (Address space layout randomization) на системах с процессорами Intel. Атака успешно продемонстрирована на системе с Linux и процессором Intel Haswell для предсказания рандомизированных адресов как для ядра, так и для пространства пользователя. В результате эксперимента смещение ASLR в ядре Linux удалось восстановить за 60 мс. Исследователи считают, что атака не специфична для Linux и также может быть применена к реализациям ASLR в Windows и macOS.

Метод является разновидностью атак по сторонним каналам (side-channel attacks) и основан на косвенном определении адресов, на которые осуществляется переход в процессе ветвления в коде программы, через инициирование коллизий в буфере предсказания ветвлений (Branch Target Buffer, BTB), используемом в процессоре для предсказания переходов и хранения таблицы истории переходов.

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



  1. Главная ссылка к новости (http://arstechnica.com/securit...)
  2. OpenNews: Новая техника атаки на SSL/TLS, которой подвержены 33% HTTPS-сайтов
  3. OpenNews: Атака через JavaScript по определению содержимого L3-кэша CPU
  4. OpenNews: Метод определения RSA-ключей через анализ изменения разности потенциалов
  5. OpenNews: Представлена техника атаки на микроконтроллеры, встроенные в MicroSD-карты
  6. OpenNews: Продемонстрировано использование уязвимости в DRAM-памяти для повышения привилегий в системе
Лицензия: CC-BY
Тип: Проблемы безопасности
Ключевые слова: aslr, intel
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Аноним (-), 09:34, 20/10/2016 [ответить] [показать ветку] [···]    [к модератору]
  • +14 +/
    Спалили закладку :)
     
     
  • 2.3, Аноним (-), 09:46, 20/10/2016 [^] [ответить]    [к модератору]
  • +6 +/
    И это не шутка, даже если вы хотели пошутить. Уже столько "случайно оставленных для отладки паролей по умолчанию" было, что поверить в случайность трудно.
     
     
  • 3.21, Аноним (-), 14:20, 20/10/2016 [^] [ответить]    [к модератору]
  • –7 +/
    Шапочку из фольги поправь.
     
     
  • 4.52, Аноним (-), 16:16, 26/10/2016 [^] [ответить]    [к модератору]
  • +/
    > Шапочку из фольги поправь.

    И еще management engine из чипсета ультрафиолетовым лазером выжги.

     
  • 3.24, Аноним (-), 14:33, 20/10/2016 [^] [ответить]     [к модератору]
  • +4 +/
    Да-да-да Надо сделать так, чтобы все инструкции выполнялись за одинаковое время... весь текст скрыт [показать]
     
     
  • 4.48, Аноним (-), 10:38, 24/10/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    >необходимое для подгрузки страницы с диска

    Поправочка, со встроенного хранилища самого дальнего космического аппарата, данные с которого доступны на земле.

     
  • 3.40, Dmitriy (??), 00:00, 21/10/2016 [^] [ответить]    [к модератору]  
  • +/
    Сравнили однако оставленные пароли с якобы закладкой в процессоре. Совершенно разный уровень сложности.
     
  • 1.2, Аноним (-), 09:45, 20/10/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +4 +/
    Мда... а кто-то хелловоурдлы на гитхаб заливает.
     
     
  • 2.4, Наноним (?), 09:51, 20/10/2016 [^] [ответить]    [к модератору]  
  • +5 +/
    Тогда срочно перестаньте заливать их!
     
  • 1.5, Аноним (-), 09:56, 20/10/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    А можно еще проще объяснить?
    "Циклично формируя обращения к различным адресам памяти"
    Откуда она знает куда обращаться? Адресов то очень много.
     
     
  • 2.7, КО (?), 10:12, 20/10/2016 [^] [ответить]    [к модератору]  
  • +/
    Адресов много, а хешей мало.
    Грубо говоря, находишь занятый хеш и вычисляешь, какой адрес из пространства ядра ему соответствует.
     
  • 2.9, Нанобот (ok), 10:24, 20/10/2016 [^] [ответить]     [к модератору]  
  • +1 +/
    не так уж и много, вот выдержка из оригинала Due to the specifics of the Linux ... весь текст скрыт [показать]
     
  • 1.6, Аноним (-), 10:07, 20/10/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    ничего, подумаешь закладка. продолжаем покупать железо с закладками, всё хорошо
     
     
  • 2.11, Аноним (-), 11:21, 20/10/2016 [^] [ответить]    [к модератору]  
  • +7 +/
    Дальновидные Intel, добавили закладку в архитектуру за 5 лет до появления ASLR.
     
     
  • 3.22, Аноним (-), 14:22, 20/10/2016 [^] [ответить]    [к модератору]  
  • +/
    > Дальновидные Intel, добавили закладку в архитектуру за 5 лет

    Если не за 10.

     
  • 3.49, Аноним (-), 10:40, 24/10/2016 [^] [ответить]     [к модератору]  
  • +/
    Это высшее существо добавило, ограничив скорость света, из-за чего невозможно ... весь текст скрыт [показать]
     
  • 1.8, Аноним (-), 10:23, 20/10/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +15 +/
    Лучше бы придумали как нормально и навсегда Intel ME отключить.
     
     
  • 2.10, A.Stahl (ok), 10:27, 20/10/2016 [^] [ответить]    [к модератору]  
  • +9 +/
    >Лучше бы придумали

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

     
  • 2.18, YetAnotherOnanym (ok), 13:53, 20/10/2016 [^] [ответить]    [к модератору]  
  • +/
    Эльбрус/Байкал/Лунгсон убережёт Вашу коллекцию прона от посторонних глаз.
     
     
  • 3.23, Аноним (-), 14:23, 20/10/2016 [^] [ответить]    [к модератору]  
  • +3 +/
    > Эльбрус/Байкал/Лунгсон убережёт Вашу коллекцию прона от глаз АНБ\ФБР\Ми-6.

    Fix

    Зато наши спецслужбы заинтересуются.


     
  • 1.13, Аноним84701 (?), 11:56, 20/10/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    > Атака успешно продемонстрирована на системе с Linux и процессором Intel Haswell для
    > предсказания рандомизированных адресов как для ядра, так и для пространства пользователя.

    Правда, не все так страшно:
    из pdf-ки

    -----
    Specifcally, we demonstrate how a user-level spy process can gain information
    about the position of code blocks in the address space of either
    ...
    To create a BTB-based side-channel, three conditions must be satisfed.
    First, one application has to fill a BTB entry by
    executing a branch instruction. Second, the execution time
    of another application running on the same core must be
    affected by the state of the BTB. This condition is satisf
    ed when both applications use the same BTB entry,
    ...
    We assume that the spy can achieve virtual core co-
    residency with the victim process.
    ------

    Т.е. да, предсказать можно, но для этого нужно  "скомпилять и запустить"  этого "предсказателя". А если уж кто-то сумел _уже_ запустить код на вашей машинке ...
    Разве что может быть интересно (с практической точки зрения) для какого-нибудь privilege escalation.

     
     
  • 2.14, Владимир (??), 12:37, 20/10/2016 [^] [ответить]     [к модератору]  
  • +5 +/
    Так сама концепция ASLR для этого и создана - чтобы всякие запускающиеся вирусы ... весь текст скрыт [показать]
     
     
  • 3.37, Аноним84701 (?), 20:12, 20/10/2016 [^] [ответить]     [к модератору]  
  • +/
    Если совсем коротко, то для обхода АSLR требуется сначала запустить первопрох... весь текст скрыт [показать]
     
  • 2.34, curious (?), 19:27, 20/10/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    Where's the third condition?
     
  • 1.15, Аноним (-), 13:17, 20/10/2016 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    Очень нагло применять понятие случайность к устройствам, которые обрабатывают да... весь текст скрыт [показать]
     
     
  • 2.16, Michael Shigorin (ok), 13:23, 20/10/2016 [^] [ответить]    [к модератору]  
  • +5 +/
    > Даже генератор случайных чисел в какой то момент начнет выдавать повтор

    Случайных -- нет.  Псевдослучайных из множества фиксированного размера -- может.

    PS: </зануда>

     
     
  • 3.20, Аноним (-), 14:07, 20/10/2016 [^] [ответить]     [к модератору]  
  • +/
    Зануды спасут Интернет Во всяком случае, больше надеяться особо всё равно не на... весь текст скрыт [показать]
     
  • 3.25, Аноним (-), 16:11, 20/10/2016 [^] [ответить]     [к модератору]  
  • –1 +/
    О, я не зануда я реалист, многие вещи называют тем чем они не являются Любой ге... весь текст скрыт [показать]
     
     
  • 4.41, Аноним (-), 08:26, 21/10/2016 [^] [ответить]    [к модератору]  
  • +2 +/
    оцифровка теплового шума?
     
  • 4.45, Аноним (-), 16:04, 21/10/2016 [^] [ответить]    [к модератору]  
  • +/
    Существуют генераторы случайных чисел, основанные на детекторах радиоактивного излучения. Их предсказанние на несколько порядков сложнее. :)
     
     
  • 5.50, Аноним (-), 10:43, 24/10/2016 [^] [ответить]    [к модератору]  
  • +/
    > Существуют генераторы случайных чисел, основанные на детекторах радиоактивного излучения.
    > Их предсказанние на несколько порядков сложнее. :)

    Просто пока ещё не хакнули алгоритм.

     
     
  • 6.51, Andrey Mitrofanov (?), 13:22, 24/10/2016 [^] [ответить]    [к модератору]  
  • +/
    >> Существуют генераторы случайных чисел, основанные на детекторах радиоактивного излучения.
    >> Их предсказанние на несколько порядков сложнее. :)

    На несколько *десятков* порядков же!

    > Просто пока ещё не хакнули алгоритм.

    Как это не. Берём начальное состояние всех атомов вселенной, загружаем в супер-комп-модельлёр  -- Предсказатель готов. Делов-то!  //Да, мвшина с лора больше не молодёжна.

     
  • 3.26, Аноним (-), 16:21, 20/10/2016 [^] [ответить]     [к модератору]  
  • –1 +/
    Случайность невозможно контролировать, это процесс не имеющий алгоритма и ограни... весь текст скрыт [показать]
     
     
  • 4.27, Michael Shigorin (ok), 16:47, 20/10/2016 [^] [ответить]    [к модератору]  
  • +2 +/
    > Случайность невозможно контролировать, это процесс не имеющий алгоритма и ограничений.

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

    >> из множества фиксированного размера
    > А компьютер это устройство где одно машинное слово, имеет границы,
    > этого достаточно чтобы исключить любую случайность

    К чему и было уточнение.  Только дело не именно в машинном слове (хотя и при целых числах произвольной точности остаётся "потолок" в виде объёма ОЗУ, в принципе и диска, но это уже непрактично вообще).

    > P.S. Михаил, вы меня разочаровали, ранее я был о вас более высокого мнения

    А я и не кисейная барышня, чтоб кого-либо [I]очаровывать[/I].  Кто хочет -- прочтёт уже написанное и, может, извлечёт для себя что-то полезное.  Кто знает лучше -- поправит, тоже спасибо.  Кому что показалось -- вообще без разницы.

     
     
  • 5.30, Аноним (-), 17:25, 20/10/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    Михаил, а когда Linux научится отличать монитор по разъёму (DVI от HDMI)? :)
     
     
  • 6.31, Michael Shigorin (ok), 17:50, 20/10/2016 [^] [ответить]    [к модератору]  
  • +/
    > Михаил, а когда Linux научится отличать монитор по разъёму (DVI от HDMI)? :)

    [CODE]MONOCUB-10-12 ~> xrandr | grep -v ^' '
    Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384
    HDMI-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm
    DVI-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm
    VGA-0 disconnected (normal left inverted right x axis y axis)[/CODE]

    Хорошо бы понять, а в чём вопрос-то -- ядерному KMS тоже можно много чего указать через video=

     
     
  • 7.46, Аноним (-), 18:23, 21/10/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    Вопрос в выборе главного экрана. Система не может никак выбрать куда картинку вываливать, на монитор или телевизор, мечется в растерянности.
     
  • 4.28, Яков (?), 16:49, 20/10/2016 [^] [ответить]    [к модератору]  
  • +3 +/
    > Случайность невозможно контролировать, это процесс не имеющий алгоритма и ограничений.
    > А компьютер это устройство где одно машинное слово, имеет границы, этого
    > достаточно чтобы исключить любую случайность

    А вы, мил человек, случаем не попутали повтор последовательности и повтор значения? Какое отношение конечность множества, из которого производится выборка, имеет к случайности этой самой выборки? Что, последовательность натуральных чисел (бесконечная) случайна?

    Речь у Михаила о _периодичности_, и, да, любой генератор _псевдослучайных чисел имеет период, который зависит от алгоритма и размера внутреннего состояния (и поэтому - сюрприз! - может быть больше размера значения, выдаваемого генератором!). А есть и вполне себе аппаратные генераторы вполне себе случайных чисел - теплового шума никто пока не отменял.

    > P.S. Михаил, вы меня разочаровали, ранее я был о вас более высокого мнения

    Почаще посещайте лекции, реже будете разочаровываться.

     
     
  • 5.29, Michael Shigorin (ok), 17:14, 20/10/2016 [^] [ответить]    [к модератору]  
  • +/
    > Речь у Михаила о _периодичности_

    Да, именно так я "начнет выдавать повтор" в #15 и понял.  Но поскольку для второго варианта (повтор единичного значения) тоже есть существенный фактор в виде размера множества возможных значений, то упомянул и его.

    PS: ...и зря, похоже -- запутал только человека.

     
  • 5.32, Аноним (-), 18:21, 20/10/2016 [^] [ответить]     [к модератору]  
  • –2 +/
    Вы уважаемые путаете понятия, если выпадение случайных чисел можно предсказать э... весь текст скрыт [показать]
     
     
  • 6.33, Michael Shigorin (ok), 19:06, 20/10/2016 [^] [ответить]    [к модератору]  
  • +/
    > Вы очевидно не можете принять того факта что когда есть алгоритм работы,
    > случайности быть не может.

    Если бы Вы когда-либо реализовывали алгоритмы, то помнили бы про входные данные.

    > Компьютер стремится к точности, а точность исключает случайность.

    Нет.

    Если хотите узнать для себя много нового по перекликающейся тематике -- покопайте проблематику параллельных вычислений не в плане HPC, а в плане HA, как вот у Stratus (см., например, патент US6928583).  Вовсе не всё вот так на блюдечке с голубой каёмочкой, "потому что это кантупер".

    > но диапазон тоже влияет на предсказуемость выпадания числа

    Но можете, конечно, продолжать считать нас путающими понятия (например, "влиять" и "определять", "предопределённый" и "предсказуемый")...

    PS: и что компьютер к чему-то "стремится" -- тоже можете полагать.

     
     
  • 7.35, Аноним (-), 19:43, 20/10/2016 [^] [ответить]    [к модератору]  
  • –2 +/
    Если бы компьютер не стремился к точности, он бы не делал того что вы от него хотите. Продолжайте думать что случайность можно описать алгоритмом
     
  • 2.42, Ordu (ok), 10:32, 21/10/2016 [^] [ответить]    [к модератору]  
  • +2 +/
    Try it. Прежде чем говорить, попробуй. Для начала, для обретения общей теоретической базы, я бы рекомендовал почитать Д.Кнута -- он посвятил довольно много времени разбору вопроса псевдослучайности и её практических и теоретических отличий от случайности. И не надо рассуждать -- попробуй. Напиши, например, бота для карточной игры, который будет знать все карты, потому что для него псевдослучайные числа не случайны. Только не надо рассуждать о том, как этого бота можно написать -- эти рассуждения может проделать любой школьник, -- ты возьми и напиши, потому что при наличии мозгов, способных к обучению, в процессе написания, можно просветлиться и понять, что случайные числа существуют. Даже если все эти общетеоретические рассуждения о неслучайности случайности -- истина, всё равно случайные числа существуют. Теория и практика -- разные вещи.

    > Даже генератор случайных чисел в какой то момент начнет выдавать повтор, догадайтесь почему?

    Ну-ка расскажи-ка нам об этом повторе. Особенно если речь идёт об ASLR в ядре, которое собирает энтропию из очень разных источников. Тут я могу ещё порекомендовать почитать что-нибудь на тему теории хаоса, и подумать о практической возможности устранимости неопределённости в процессах, описываемых этой теорией. Не надо смотреть на теорию в отрыве от практики. Теория -- это круто, но не подкреплённая практикой она приводит к рассуждениям типа твоих.

     
  • 1.36, анонимм (?), 19:48, 20/10/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    А можно пояснить, это атака специфична только для Haswell, или и для более новых поколений процессоров?
     
     
  • 2.38, Аноним (-), 20:59, 20/10/2016 [^] [ответить]    [к модератору]  
  • +/
    > А можно пояснить, это атака специфична только для Haswell, или и для
    > более новых поколений процессоров?

    На данный момент да

     
     
  • 3.39, Андрей (??), 22:44, 20/10/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    Эх, только вот пробегало, что появились уже серийные экземпляры Kaby Lake "нового" 7-го поколения. (Но пока только для ноутов.) А тут такой облом.
     
  • 1.43, Onanon (?), 12:04, 21/10/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Интересно, а ведро с grsec/pax-патчами тоже уязвимо?
     
     
  • 2.44, Ващенаглухо (ok), 12:58, 21/10/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    тоже интересно, но вот paxtest blackhat показывает далеко не 9 бит рандомизируется
    Интересный документ по теме https://www.blackhat.com/docs/asia-16/materials/asia-16-Marco-Gisbert-Exploiti
     
     
  • 3.47, Onanon (?), 20:09, 21/10/2016 [^] [ответить]    [к модератору]  
  • +/
    > тоже интересно, но вот paxtest blackhat показывает далеко не 9 бит рандомизируется
    > Интересный документ по теме https://www.blackhat.com/docs/asia-16/materials/asia-16-Marco-Gisbert-Exploiti

    Интересное чтиво, спасибо.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor