Как защитить свое программное обеспечение от отключения - PullRequest
0 голосов
/ 23 ноября 2010

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

Что такое «стандартный» подход к решению этой проблемы?

Есть мысли?У меня есть «скрытое» приложение, которое запускается при запуске и проверяет состояние клиента.Если они отключены, он разрешает им, планирует сам запуск в течение часа и делает то же самое, непрерывно ... Если я могу достаточно хорошо скрыть это приложение, это должно работать ... Не самый красивый подход ...

Другие идеи?

Спасибо Реза

Ответы [ 5 ]

13 голосов
/ 23 ноября 2010

Позвольте им.

Не мешайте пользователям, которые знают, что они делают, и что они пытаются делать.

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

РЕДАКТИРОВАТЬ:

Я переформатировал свой жесткий диск, чтобы избавиться от таких приложений.Например, руткиты.

11 голосов
/ 23 ноября 2010

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

(А пользователи, которые не являются администраторами, могут использовать компакт-диск сброса пароля NT на основе Linux, чтобы вообще не быть администратором ...)

5 голосов
/ 23 ноября 2010

Что такое «стандартный» подход к решению этой проблемы?

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

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

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

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

1 голос
/ 23 ноября 2010

Лучший подход - затопить каждое место, откуда приложение может быть запущено с помощью вашего «скрытого» приложения. Даже если ваши пользователи смогут найти одни места, они будут скучать по другим. Вам необходимо регулярно восстанавливать все места (например, каждые пять минут, чтобы не дать пользователям достаточно времени на очистку своего компьютера). Места включают, но не ограничиваются:

  • Все автозапуска: Run и RunOnce в реестре (как HKCU, так и HKLM); автозапуск из меню «Пуск».
  • Winlogon скрипты.
  • Планировщик задач.
  • Расширения проводника: расширения оболочки, панели инструментов и т. Д.
  • Замените команду HKCR \ exefile \ shell \ open \ command, чтобы сначала запустить приложение, а затем выполнить команду. Вы можете сделать это с .bat, .cmd файлами и т. Д.
  • много других мест. Вы можете использовать автозапуск WinInternals для получения списка наиболее распространенных (обязательно отметьте Параметры> Включить пустые места ).

Когда вы добавляете свои приложения в автозапуск, используйте загадочные системные имена, такие как "svchost.exe". Поместите ваше приложение в системные папки. Большинство пользователей не смогут определить разницу между вашими и системными файлами.

Вы можете попробовать заменить исполняемые файлы MS Word и других распространенных приложений своими собственными. Когда он запустится, проверьте, работает ли ваше основное приложение, затем запустите оригинальное приложение (скопируйте их перед заменой). Обязательно извлекайте значки из приложений, которые вы заменяете, и используйте их.

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

0 голосов
/ 23 ноября 2010

С большинством стандартных сервисов вы можете настроить большинство из того, что вы описали, через настройки восстановления сервиса и отключив опции остановки.

Так что же заставляет вас хотеть более строгий контроль над вашим сервисом?

Например, вы делаете (службу?) «Службу», которую вы хотели бы считать столь же важной, как окна, позволяющие пользователю получить доступ к рабочему столу или запустить удаленную процедуру.

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

См. Корпоративные инструменты управления рабочим столом (например, Novell Xen)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...