BugTraq.Ru
Русский BugTraq
https://bugtraq.ru/rsn/archive/2008/11/01.html

BSOD в win32k.sys
dl // 04.11.08 01:11
Дмитрий Кононко aka Killer {R} обнаружил устойчиво воспроизводимую проблему с пользовательскими Win32-программами под Win'2k3, Vista x86 и x64.
[Не забывайте при копировании материала указывать полный адрес источника: //bugtraq.ru/rsn/archive/2008/11/01.html]
Для проведения атаки достаточно прав обычного пользователя, что особенно неприятно - завалить систему с правами администратора каждый может, то ли дело из-под рядового юзера.

Многократное переключение между Win32-объектами "рабочий стол" (desktop), на которых есть окна, с одновременным созданием потоков, устанавливающих/снимающих Win32-хуки на этих столах, и рассылающих на них оконные сообщения, в половине случаев приводит к BSODу из-за AV в коде win32k.sys, а в другой половине - к зависанию системы.

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

Доступны исходные тексты в виде проекта для VC6, а также скомпилированные бинарные файлы (exe+dll).

Источник: сообщение, пример кода    
теги: vista  |  предложить новость  |  обсудить  |  все отзывы (4) [20691]
назад «  » вперед

аналогичные материалы
BSoD в Windows Vista и Server 2008 // 08.09.09 19:46
Vista SP2 // 27.05.09 17:46
Linux добрался до 1% систем // 01.05.09 22:06
Vista SP2 RC // 20.02.09 13:48
Неопасная серьезная уязвимость Висты // 24.11.08 23:25
MS исправила уязвимость семилетней давности // 14.11.08 15:22
Обход защиты памяти в Vista // 12.08.08 02:11
 
последние новости
Tailscale окончательно забанила российские адреса // 02.10.24 18:54
Прекращение работы антивируса Касперского в США // 30.09.24 17:30
Microsoft Authenticator теряет пользовательские аккаунты // 05.08.24 22:21
Облачнолазурное // 31.07.24 17:34
TeamViewer обвинил в своем взломе русских хакеров // 29.06.24 15:31
Docker Hub закрыл доступ из России // 30.05.24 15:34
Google заблокировала 2 с лишним миллиона приложений в прошлом году // 30.04.24 13:10

Комментарии:

Меня больше всего интересует, как он до этого допер 05.11.08 05:45  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
"Многократное переключение между Win32-объектами "рабочий стол" (desktop), на которых есть окна, с одновременным созданием потоков, устанавливающих/снимающих Win32-хуки на этих столах, и рассылающих на них оконные сообщения"

Очень нетривиальная последовательность операций! Ладно: "почесать правое ухо левой рукой через-под правое колено". Но когда это надо сделать 1000 раз подряд... Ясно, что чел наткнулся на этот глюк случайно, но что же он такое сотворил?
Писал (вернее переписывал) свою виндовую тулзу у которой в... 05.11.08 11:40  
Автор: Killer{R} <Dmitry> Статус: Elderman
Отредактировано 05.11.08 12:02  Количество правок: 1
<"чистая" ссылка>
Писал (вернее переписывал) свою виндовую тулзу у которой в фичах есть виртуальные десктопы. Тулза делала следующее - переключала дестопы и ставила на текущем активном десктопе хуки на мышь клаву etc для некоторых своих других фич. Ну я вначале исключительно из соображений экономии ресурсов снимал хуки с неактивного дестопа при переключении на другой. Потом пришлось забить на экономию, потоки не гасить и хуки не снимать, ибо как выяснилось это убивает висту :) Воспроизводилось не то чтобы очень часто, но...
Да, а на HWND_BROADCAST мессагу какую нить я всегда шлю после снятия хуков. Т.к. это приводит в выгрузке длл, содержащей процедуру хука из процессов, в которые она вгрузилась. Что позволяет без ребута апдейтить эту длл потом.
Меинстрим-былокодеры ходят проторенными путями, в которых типо всё «чистенько». Но путь Мастера тернист и непредсказуем ;-) 05.11.08 08:12  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
Дык почитай соотв. ветку на соседней доске :) 05.11.08 07:07  
Автор: J'JF <Dmytro Volhushyn> Статус: Elderman
<"чистая" ссылка>


http://www.bugtraq.ru/cgi-bin/forum.mcgi?type=sb&b=2&m=152274
<добавить комментарий>





  Copyright © 2001-2024 Dmitry Leonov Design: Vadim Derkach