Информация об изменениях

Сообщение Re[11]: А если бы все с начала ? от 15.01.2018 17:51

Изменено 15.01.2018 17:57 AlexRK

Re[11]: А если бы все с начала ?
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Но верификация не на 100% надежна. Более того, предполагаю, что она гораздо меньше надежна, чем защита в процессоре.


Трудно сказать. Вряд ли можно это измерить.

PD>Там все же из 0 кольца к ядру добраться нельзя.


В теории нельзя, но кто сказал, что в процессоре нет дырок? Современные процы — штука очень сложная.

PD>Кто-то находит способ обойти эту верификацию. Обойти не потому, что ее алгоритм содержит ошибки, а потому что он нашел ситуацию, когда верификация не работает. Какими-то хитрыми упражнениями , сводящими с ума статический верификатор.

PD>Такое может быть ?

Вполне может, думаю. На практике, ИМХО, вероятность не слишком велика. Но, конечно, что-то в этом плане утверждать я не могу.

PD>Все же программа исполняется в динамике — ты уверен, что статическими средствами можно все случаи предусмотреть ?


Теоретически можно предусмотреть всё, на практике можно какую-то дырку и пропустить.

PD>В итоге он хозяин машины. Другой-то защиты больше нет. У него полный доступ к ядру ОС.

PD>А если он — автор вируса, то есть делает это сознательно — и что теперь делать ?

Так и сейчас примерно то же самое. Баги в процессоре, баги в ядре, эскалация привилегий — и у тебя полный доступ к ядру ОС, ты хозяин машины.

Attacking the Windows Kernel
Ring 0 to Ring -1 Attacks

Сейчас, конечно, можно сказать, что "эшелонированная оборона" состоит из двух бастионов — сперва дыры в софте, а потом дыры в железе. Но что мешает сделать несколько эшелонов в софте? Не вижу принципиальной разницы.
Re[11]: А если бы все с начала ?
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Но верификация не на 100% надежна. Более того, предполагаю, что она гораздо меньше надежна, чем защита в процессоре.


Трудно сказать. Вряд ли можно это измерить.

PD>Там все же из 0 кольца к ядру добраться нельзя.


В теории нельзя, но кто сказал, что в процессоре нет дырок? Современные процы — штука очень сложная.

PD>Кто-то находит способ обойти эту верификацию. Обойти не потому, что ее алгоритм содержит ошибки, а потому что он нашел ситуацию, когда верификация не работает. Какими-то хитрыми упражнениями , сводящими с ума статический верификатор.

PD>Такое может быть ?

Вполне может, думаю. На практике, ИМХО, вероятность не слишком велика. Но, конечно, что-то в этом плане утверждать я не могу.

PD>Все же программа исполняется в динамике — ты уверен, что статическими средствами можно все случаи предусмотреть ?


Теоретически можно предусмотреть всё, на практике можно какую-то дырку и пропустить.

PD>В итоге он хозяин машины. Другой-то защиты больше нет. У него полный доступ к ядру ОС.

PD>А если он — автор вируса, то есть делает это сознательно — и что теперь делать ?

Так и сейчас примерно то же самое. Баги в процессоре, баги в ядре, эскалация привилегий — и у тебя полный доступ к ядру ОС, ты хозяин машины.

Attacking the Windows Kernel
Ring 0 to Ring -1 Attacks

Сейчас, конечно, можно сказать, что "эшелонированная оборона" состоит из двух бастионов — сперва дыры в софте, а потом дыры в железе. Но что мешает сделать несколько эшелонов в софте? Не вижу принципиальной разницы.


UPD. Кстати, вот нашел еще про серьезные дырки в штеуде, допускающие взлом структур ядра: https://www.theregister.co.uk/2015/08/11/memory_hole_roots_intel_processors/