Дмитрий Кононко aka Killer {R} обнаружил устойчиво воспроизводимую проблему с пользовательскими Win32-программами под Win’2k3, Vista x86 и x64. Для проведения атаки достаточно прав обычного пользователя, что особенно неприятно — завалить систему с правами администратора каждый может, то ли дело из-под рядового юзера.
Многократное переключение между Win32-объектами «рабочий стол» (desktop), на которых есть окна, с одновременным созданием потоков, устанавливающих/снимающих Win32-хуки на этих столах, и рассылающих на них оконные сообщения, в половине случаев приводит к BSODу из-за AV в коде win32k.sys, а в другой половине — к зависанию системы.
Происходит это предположительно из-за race condition с потоком, который снимает хук, и одновременной доставкой сообщения в другой поток — видимо, оно пытается вызвать только что убитый хук. Пока непонятно, имеют ли десктопы к этому прямое отношение, или просто эти действия приводят к каким-либо особенным условиям тайминга исполнения плохо синхронизированного кода….»»
обсудить | все отзывы | запомнить | забобрить

sirsin к записи