Исследователи обнаружили новый тип атак на процессоры Intel и AMD
1 Июня, 2020
Метод, получивший название «Dabangg», основан на атаках Flush+Reload и Flush+Flush.
Современные процессоры Intel и AMD уязвимы к новому типу атак по сторонним каналам, который делает Flush-атаки на кеш устойчивыми к системному шуму. Об этом сообщили исследователи Бисвабандан Панда и Аниш Саксена из Индийского института технологий (IIT) в Канпуре в своей статье «DABANGG: Time for Fearless Flush based Cache Attacks».
Метод, получивший название «Dabangg», основан на атаках Flush+Reload и Flush+Flush, которые ранее использовались другими исследователями для осуществления утечки данных из процессоров Intel. Новый метод направлен на повышение точности данных атак даже в шумной многоядерной системе, а также без проблем работает с такими операционными системами, как macOS.
«Кеш-атаки на основе сброса основаны на калибровке задержки кеша. Современные тайминговые атаки неэффективны в реальном мире, так как большинство из них работают в строго контролируемой среде», — пояснили специалисты.
В ходе атак Flush+Reload и Flush+Flush с помощью инструкции «clflush» стираются строки памяти. Затем, когда целевой процесс получает доступ к строке памяти, атакующий выполняет перезагрузку или сброс строки памяти и измеряет необходимое время для ее загрузки.
DABANGG очень похож на атаки Flush+Reload и Flush+Flush, поскольку зависит от разницы во времени выполнения при доступе к кешированной и не кешированной памяти. Однако DABANGG устанавливает пороговые значения, используемые для дифференциации попадания в кеш от динамического промаха.
Методы управления питанием, такие как динамическое масштабирование напряжения и частоты (DVFS) в современных процессорах, позволяют изменять частоту в зависимости от общей загрузки ЦП. При этом ядра, выполняющие ресурсоемкие процессы, работают с более высокой частотой, чем другие.
Как утверждают исследователи, разница частот в ядре приводит к переменной задержке выполнения команд и делает пороги, выбранные для разграничения попадания в кеш и промахов, бесполезными.
«Мы делаем данные пороговые значения динамическими в зависимости от частоты процессора, что, в свою очередь, делает атаки на основе сброса устойчивыми к системному шуму», — пояснили эксперты.
DABANGG устраняет недостатки, фиксируя распределение частоты процессора на предварительном этапе и используя насыщенный вычислениями код для стабилизации частоты, перед осуществлением атаки Flush+Reload или Flush+Flush для вычисления задержки и проверки попадания в кеш.
В результате атак по побочным каналам злоумышленник получает возможность перехватывать вводимые пользователем данные, извлекать закрытый ключ AES, фильтровать данные через скрытый канал между вредоносным процессом и жертвой и получить доступ к кешированной информации.
Исследователи намерены опубликовать PoC-код атаки на Github после 15 июня 2020 года.
SecurityLab
1 Июня, 2020
Метод, получивший название «Dabangg», основан на атаках Flush+Reload и Flush+Flush.
Современные процессоры Intel и AMD уязвимы к новому типу атак по сторонним каналам, который делает Flush-атаки на кеш устойчивыми к системному шуму. Об этом сообщили исследователи Бисвабандан Панда и Аниш Саксена из Индийского института технологий (IIT) в Канпуре в своей статье «DABANGG: Time for Fearless Flush based Cache Attacks».
Метод, получивший название «Dabangg», основан на атаках Flush+Reload и Flush+Flush, которые ранее использовались другими исследователями для осуществления утечки данных из процессоров Intel. Новый метод направлен на повышение точности данных атак даже в шумной многоядерной системе, а также без проблем работает с такими операционными системами, как macOS.
«Кеш-атаки на основе сброса основаны на калибровке задержки кеша. Современные тайминговые атаки неэффективны в реальном мире, так как большинство из них работают в строго контролируемой среде», — пояснили специалисты.
В ходе атак Flush+Reload и Flush+Flush с помощью инструкции «clflush» стираются строки памяти. Затем, когда целевой процесс получает доступ к строке памяти, атакующий выполняет перезагрузку или сброс строки памяти и измеряет необходимое время для ее загрузки.
DABANGG очень похож на атаки Flush+Reload и Flush+Flush, поскольку зависит от разницы во времени выполнения при доступе к кешированной и не кешированной памяти. Однако DABANGG устанавливает пороговые значения, используемые для дифференциации попадания в кеш от динамического промаха.
Методы управления питанием, такие как динамическое масштабирование напряжения и частоты (DVFS) в современных процессорах, позволяют изменять частоту в зависимости от общей загрузки ЦП. При этом ядра, выполняющие ресурсоемкие процессы, работают с более высокой частотой, чем другие.
Как утверждают исследователи, разница частот в ядре приводит к переменной задержке выполнения команд и делает пороги, выбранные для разграничения попадания в кеш и промахов, бесполезными.
«Мы делаем данные пороговые значения динамическими в зависимости от частоты процессора, что, в свою очередь, делает атаки на основе сброса устойчивыми к системному шуму», — пояснили эксперты.
DABANGG устраняет недостатки, фиксируя распределение частоты процессора на предварительном этапе и используя насыщенный вычислениями код для стабилизации частоты, перед осуществлением атаки Flush+Reload или Flush+Flush для вычисления задержки и проверки попадания в кеш.
В результате атак по побочным каналам злоумышленник получает возможность перехватывать вводимые пользователем данные, извлекать закрытый ключ AES, фильтровать данные через скрытый канал между вредоносным процессом и жертвой и получить доступ к кешированной информации.
Исследователи намерены опубликовать PoC-код атаки на Github после 15 июня 2020 года.
SecurityLab