О Windows из первых рук: Опасный опыт опытных пользователей

Граница между опытным пользователем и полноценным администратором очень тонка.

Раймонд Чен

Опытный пользователь - это по сути администратор, который этого не осознает. Разница только в нескольких простых шагах.

Группа безопасности «Опытные пользователи» (Power Users) входила в состав первой версии Windows NT. Идея создания этой группы заключалась в том, чтобы предоставить пользователям столько прав, чтобы они могли работать в Windows NT так же, как они работали в Windows 3.1. Команде разработчиков Windows NT это удалось, но при этом пришлось «отдать ключи» от  системы.

Во времена 16-разрядной Windows не было такого понятия, как группа безопасности. Практически каждый пользователь обладал административными привилегиями. Пользователи привычно выполняли задачи административного уровня, такие как изменение сопоставления файлов, создание общих папок и установка программ. Если разрешить это, то пользователи по сути могут делать все, что угодно.

Если злонамеренный опытный пользователь может выполнить код с административными или системными привилегиями, в сущности он может стать администратором. Вот несколько способов, как опытный пользователь может, применив имеющиеся у него права, выполнять административные задачи.

  • Изменение регистрации COM-объектов Так как опытные пользователи имеют право записи в ветку HKEY_CLASSES_ROOT реестра, особо хитрый опытный пользователь может изменить CLSID, который используется процессом, который обычно работает с привилегиями администратора или системы, и перенаправить его на подложную DLL-библиотеку. Тогда при создании соответствующего объекта подложная DLL будет запущена в контексте учетной записи администратора или системы.
  • Изменение сопоставления файлов Опытный пользователь может также изменить действие по умолчанию, назначенное определенным текстовым файлам для запуска подложной программы. Когда администратор дважды щелкнет, казалось бы, безобидный текстовый файл, будет запущена подложная программа с административными привилегиями.
  • Изменение меню «Пуск» Так как опытные пользователи могут выполнять запись в каталог %ALLUSERSPROFILE%\Start Menu, злонамеренный опытный пользователь может изменить в профиле All Users ярлык, такой как Wordpad или Event Viewer. В этом случае по щелчку этого ярлыка будет запускаться подложная программа, и если ее запустит администратор, то у программы будут все административные привилегии.
  • Конфигурирование принтеров Опытные пользователи имеют право устанавливать принтеры. Злонамеренный опытный пользователь может воспользоваться этим для установки подложного драйвера принтера. При следующей попытке печати подложный драйвер выполнит свою черную работу.
  • Установка оборудования Злонамеренный опытный пользователь может изменить INF-файл драйвера, чтобы он указывал на подложный драйвер устройства. После этого при подключении устройства к машине драйвер получит полный контроль над системой, потому что драйверы устройств работают в режиме ядра.
  • Установка программ Так как опытные пользователи могут менять файлы в папке Program Files, они могут изменять бинарные файлы любых программ и таким образом выполнять любой нужный им код. Нужно только подождать, когда администратор запустит подложную программу.
  • Обслуживание системы Как заметил Марк Руссинович (Mark Russinovich), опытные пользователи имеют право менять файлы в папке System32. Это означает, что они могут поменять ntoskrnl.exe так, чтобы он выполнил любые нужные им операции.

Существует масса других способов, которые может использовать злонамеренный опытный пользователь, чтобы захватить контроль над системой. Йеспер Йоханссон (Jesper Johansson) лаконично выразил это так: «Опытные пользователи - это администраторы, которые пока еще не сделали себя администраторами».

Фундаментальный архитектурный недостаток группы «Опытные пользователи» - так причина, по которой в команде разработчиков Windows все эти годы старались избавиться от нее. В Windows XP эта группа была удалена из пользовательского интерфейса, чтобы в нее было сложнее добавлять пользователей. Но группа все еще сохраняется из соображений обратной совместимости. Не обманывайте себя, полагая, что прав у группы «Опытные пользователи» меньше, чем у администратора. По сути, члены этой группы ничем не отличаются от администраторов.

Еще в очень большом числе компаний до сих пор не поняли, что члены этой группы фактически являются администраторами. В этих компаниях все еще полагают, что «опытный» означает «безопаснее». Но определенный прогресс наблюдается. Начиная с Windows Vista права, предоставляемые группе «Опытные пользователи», значительно урезаны, так что теперь они практически ничем не отличаются от рядовых пользователей, если не считать красивое имя.

Raymond Chen

Реймонд Чен его веб-сайт и одноименная книга «Old New Thing», вышедшая в издательстве Addison-Wesley в 2007 году, рассказывает об истории Windows, программировании с использованием интерфейса Win32 и термоусадочной пленке.