O>>Сейчас ловить и мешать софтово, в будущем — хардварно гарантировать некогерентность кешей при модификации переменной без явных барьеров (есть правда вопрос, что делать с hyper threading). C>Я специально написал "volatile". Все барьеры есть. Разрешения более чем достаточно для точных таймеров.
volatile барьеров не ставит. Я имею ввиду для процессора. А с барьером время исполнения инкремента будет таким, что вся конструкция станет непригодна для целей атаки.
O>>Просто возможность такого точного измерения времени открывает просто кучу потенциальных проблем, о которых никто не подозревает. C>Поезд уехал. Да и глупо таким образом пытаться защиту делать.
Время исполнения это просто супер-толстый канал для кучи разных side-channel уязвимостей, причем не только настолько хардварных как сабж. Затыкать каждую — это как лодку делать из решета.
Как много веселых ребят, и все делают велосипед...