Ограничеваем в правах приложения ОС Windows

Постановка вопроса


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

Если пользователи *nix систем привыкли использовать sudo или su для решения некаждодневной задачи, то пользователи ОС Windows не спешат приучать себя к хорошим манерам, продолжая работать с правами администратора.

Немного теории


Учетная запись пользователя Windows представляет собой набор данных, определяющих, к каким папкам и файлам пользователь имеет доступ, какие изменения могут вноситься пользователем в работу компьютера, а также персональные настройки пользователя, такие как фон рабочего стола и экранная заставка
Типы учетных записей Windows
Различаются по предоставляемым возможностям управления компьютером:

  • обычные учетные записи пользователей предназначены для повседневной работы;
  • учетная запись администратора предоставляет полный контроль над компьютером, этот тип учетной записи не рекомендуется для ежедневного применения, им следует пользоваться только при необходимости;
  • учетная запись гостя предназначена для временного доступа к компьютеру.

При этом учетная запись «Администратор» позволяет:

  • устанавливать программы и оборудование
  • вносить изменения на уровне системы
  • иметь доступ на чтение всех общих файлов
  • создавать и удалять учетные записи пользователей
  • изменять учетные записи других пользователей
  • изменять имена и типы своей учетной записи
  • изменять рисунок своей учетной записи
  • создавать, изменять и удалять свой пароль

В то время как «обычная» учетная запись, позволяет лишь:

  • изменять рисунок своей учетной записи
  • создавать, изменять и удалять свой пароль

Проанализировав, можно прийти к выводу, что недостаток привилегий обычной учетной записи не столь критичен, однако пользователей таких учетных записей в ходе работы ждут следующие проблемы:

  • невозможность прохождения системой проверки подлинности;
  • невозможность обновления стороннего софта;
  • невозможность выборочной установки обновлений Windows.

Для решения возникающих проблем пользователю каждый раз необходимо будет использовать либо «Run as administrator», либо утилиту runas.exe, раз за разом вводя пароль администратора или же каждый раз изменять пользователя на «администратор», выполнить необходимый набор действий и возвращаться в свою учетную запись. Все эти телодвижения непонятны рядовому пользователю, и он продолжает свою работу с правами администратора.

Предлагается


У системных администраторов есть правило «Наименьших прав». Оно гласит, что пользователь должен выполнять свою работу только с минимальным набором привилегий, необходимых для решения поставленных задач.
Дабы не сталкивать пользователя с дополнительными задачами, решение которых будет отвлекать его от выполнения основной работы, но при этом не оставлять у пользовательских приложений прав администратора, предлагается понизить в правах не пользователя, а сами приложения.
Для этой цели существует ряд утилит, рассмотрим наиболее распространенные:
  • Drop My Rights;
  • PsExec.

Для примера, понизим привилегии браузера Internet Explorer.

Утилита Drop My Rights


После выполнения установки, создаём ярлык браузера, заходим в свойства ярлыка и в поле «объект» прописываем строку:
PathToDropmyrights\DropMyRights.exe «C:\Program Files\Internet Explorer\IEXPLORE.EXE» С
«С» в конце строки означает уровень привилегий «Constrained user», всего определенно три уровня привилегий:
  • N – normal user (обыкновенный пользователь);
  • C – constrained user (ограниченный пользователь);
  • U – untrusted user (ненадежный пользователь).

Приведенную строку можно ввести в консольном режиме.

Утилита PsExec


PsExec — это облегченный вариант программы Telnet. Она позволяет выполнять процессы в удаленных системах, используя для этого все возможности интерактивного интерфейса консольных приложений, и при этом нет необходимости вручную устанавливать клиентское программное обеспечение. В нашем случае из всего мужества ключей утилиты, используются только два:

psexec -l -d «C:\Program Files\Internet Explorer\IEXPLORE.EXE»

-d – указывает, что не нужно ждать завершения приложения.
-l – при запуске процесса пользователю предоставляются ограниченные права (права группы администраторов отменяются, и пользователю предоставляются только права, назначенные группе «пользователи»).

Для проверки корректности проведенной настройки применяется специальная панель инструментов для IE – PrivBar. С помощью неё можно легко отследить права пользователя, работающего с браузером.

Вывод


Стоит всегда помнить, что работая с правами администратора, угрозе подвергается не только компьютер, но и данные, привилегии администратора должны применяться только для решения нестандартной задачи, а по выполнению таковой сразу же оставляться. В случае, если по каким-либо причинам временное получение прав «Администратора» некомфортно, предлагается понизить в правах само приложение.
Теги:
windows, браузеры, root, утилиты

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.