Рекомендации по защите пользовательских действий

Соблюдение следующих рекомендаций при создании пакета установщика Windows с пользовательскими действиями помогает поддерживать безопасную среду во время установки.

  • Защитите все дополнительные файлы, записанные пользовательским действием.
  • Проверьте длину буфера и допустимость всех данных, считываемых пользовательским действием. Сюда входят свойства, которые могут предоставлять данные пользовательскому действию, особенно те, которые используют общедоступные свойства, предоставленные пользователем.
  • Не полагайтесь на внешние библиотеки DLL, которые не являются доверенными для системы на всех платформах, на которых предназначен запуск пакета установки.
  • Тщательно продумайте, следует ли использовать пользовательские действия, использующие повышенные привилегии или олицетворение. Пользовательские действия, такие как "открыть URL-адрес после завершения установки", "запустить программное обеспечение после завершения установки" или "запустить ReadMe после завершения установки", обычно не требуют повышенных привилегий для работы. Если настраиваемое действие должно выполняться с повышенными привилегиями, убедитесь, что код настраиваемого действия защищает от переполнения буфера и непреднамеренной загрузки небезопасного кода. Обратите внимание, что на этапе выполнения установки установщик передает сведения процессу с повышенными привилегиями и запускает скрипт. Любые пользовательские действия, выполняемые на этапе выполнения, могут выполняться с повышенными привилегиями.
  • Соберите всю информацию, предоставленную пользователем во время последовательности пользовательского интерфейса. Не запрашивайте у пользователя сведения, которые нельзя задать с помощью общедоступного свойства.
  • Если настраиваемое действие скрипта расширяет свойства, примите меры предосторожности, чтобы это действие было защищено от возможности внедрения скрипта. Скрипт может быть записан в виде чистого текста.

См. также раздел Безопасность пользовательских действий.