Вы не
Вот почему они называются атаками «побочных каналов», потому что вы не можете непосредственно прочитать значения, которые находятся в кэше (что было бы безопасным эквивалентом написания ваших паролей на доске вне вашей входной двери), но вы можете сделать вывод наличие данных по тому , что инструкции процессора занимают больше или меньше времени в зависимости от того, что находится в кеше.
Чтение кэша ЦП было бы еще более безумно опасным, чем Спектер и Мелтдаун, уже есть, и немедленно сделало бы каждую защиту, которую виртуальные машины, абсолютно бесполезной с точки зрения безопасности.
Абсолютно ни одна нормальная задача не должна заботиться о том, что находится в кешах ЦП, вместо этого они заботятся о состояниях регистров и местах чтения / записи памяти, если значение приходит из кеша, вы получаете ускорение, но вам не нужно читать кеш в процессе обычного использования.
Я даже не вижу никакой реальной причины, по которой администратору или даже ядру ОС нужно читать строки кэша ЦП. Я вижу несколько причин того, что с точки зрения безопасности, что абсолютно ни одна программа в системе не должна иметь доступ к строкам кэша, но есть только смутные соображения удобства, почему это должно быть разрешено.
Я ожидаю, что явный доступ к строкам кэша не разрешен или, по крайней мере, запрещен для чего-либо, кроме самого высокого состояния доступа к процессору, если оно вообще разрешено. Виртуальная машина никогда не сможет работать в этом состоянии, поэтому любой доступ к кешу будет запрещен.
Я считаю, что виртуальные машины рассматриваются как кольцо 3, так как они рассматриваются как не что иное, как «еще одно» приложение для хоста. Сама операционная система хоста работает в Ring 0 с прямым доступом к оборудованию, но сами приложения работают с гораздо более низкими привилегиями.
Любой доступ виртуальной машины к привилегированным инструкциям будет отслеживаться и обрабатываться программным обеспечением виртуальной машины, а не фактическим процессором или системным оборудованием.