В качестве примера приведу три истории, как я обнаружил три уязвимости в винде.
1. AdminTrap. При чтении документации про олицетворение сразу бросилось в глаза, что не предусмотрено никаких проверок того, что полномочия субъекта олицетворения реально понижаются, а не повышаются. Осталось лишь подобрать условия, когда повышение полномочий субъекта в результате олицетворения реально происходит.
2. NetDDE DSDM Exploit (я нашел его на две недели позже первооткрывателя и потому славы не снискал :-)). Сервер NetDDE DSDM в NT4 выполнялся от имени локального пользователя, в Windows 2000 - от имени псевдопользователя SYSTEM. Беглый взгляд на код сервера показал, что он почти не изменился, что странно - обычно в таких случаях требуется серьезная переделка обработчиков клиентских запросов дабы обеспечить секьюрити. Осталось лишь внимательно просмотреть обработчики клиентских команд и найти недокументированную команду, позволяющую запускать произвольный дочерний процесс.
3. При отладке обычной прикладной программы ошибка в GDI-вызове, которая должна была обрушить программу, обрушила на синий экран всю ОС. При нескольких повторных прогонах программы синий экран повторился, причем ERROR_ACCESS_VIOLATION каждый раз вылезало в одной и той же точке win32k.sys. Осталось лишь погонять систему под kernel debugger и через три часа причина синего экрана стала понятна. К счастью (или к сожалению, с какой стороны посмотреть), гетадмин-эксплойт для этой уязвимости невозможен в принципе.
Общий вывод. На основании своего личного опыта могу сказать, что отсутствие у Windows открытого исходного текста не сильно мешает искать уязвимости в этой ОС. Для специалиста листинг, выдаваемый IDA с участием HexRays, не намного менее информативен, чем оригинальный исходник.
Впрочем, я вполне допускаю, что выводы, сделанные на основе только личного опыта, могут оказаться излишне категоричными.