Jan. 5th, 2018

arech: (Default)
https://meltdownattack.com/

Бумага по Meltdown https://meltdownattack.com/meltdown.pdf

Бумага по Spectre https://spectreattack.com/spectre.pdf

Meltdown breaks the most fundamental isolation between user applications and the operating system. This attack allows a program to access the memory, and thus also the secrets, of other programs and the operating system.


Совершенно точно затронуты все процессоры Intel с 2010г разработки. Про AMD и Arm из независимых источников пока незвестно. AMD утверждает, что они крутые и к Meltdown иммунны.

Spectre breaks the isolation between different applications. It allows an attacker to trick error-free programs, which follow best practices, into leaking their secrets. In fact, the safety checks of said best practices actually increase the attack surface and may make applications more susceptible to Spectre


Затронуты ВСЕ процессоры.




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

Meltdown вроде бы софтверно патчится, но падение производительности на Intel будет от 5 до 30% в зависимости от. Со спектром всё хуже...  Пока не понял, патчится ли оно вообще. AMD утверждают, что к одной из двух баг Спектра они иммунны, а вторая патчится с падением производительности "negligible".

Вроде как софтовендоры уже выкатывают патчи, но я пока не понял, обновилась ли Вин7 по этому поводу или нет...
arech: (Default)
Гениально просто.

; rcx = a protected kernel memory address
; rbx = user space массив размером 256*PageSize(==4096)
mov al, byte [rcx] ; read from forbidden kernel address
shl rax, 0xc ; multiply the result from the read operation with 4096 (==PageSize)
mov rbx, qword [rbx + rax] ; touch the user space array at the offset that we just calculated

1. Из-за спекулятивного выполнения инструкций page fault от попытки чтения запрещённого ядерного пространства может накрыть не сразу в момент чтения (первая инструкция), а позднее. Достаточно часто - после того, как будет выполнена третья инструкция с чтением в rbx страницы массива с индексом, соответсвующим значению байта данных al, прочитанного из ядра.

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

PROFIT!!!


Спектр работает на тех же принципах определения значения по замеру времени доступа к адресуемым этм значением данным.

Profile

arech: (Default)
arech

October 2021

S M T W T F S
      12
3456789
10111213141516
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 3rd, 2026 02:29 am
Powered by Dreamwidth Studios