2009-09-20 6 views
7

Я написал службу .NET Windows, которая работает как «Локальная система». Недавно я прочитал, что, работая как локальная система, может выдать системные учетные данные хакерам, позволяющим им захватить систему. Каковы риски и как я могу их предотвратить, когда я запускаю службу в качестве локальной системы.Каковы риски безопасности при работе службы Windows как «локальной системы»?

ответ

6

Услуги, выполняемые как LocalSystem, являются частью надежного пространства системы. С технической точки зрения у них есть привилегия SeTcbName. Это означает, что , среди прочего,, что такие службы могут изменять любые параметры безопасности, предоставлять какие-либо привилегии и вообще делать все, что может сделать Windows.

В результате любой недостаток в вашем обслуживании - несанкционированный ввод, переданный системным функциям, неправильные пути поиска dll, переполнение буфера и т. Д. - становится критическим ядром безопасности. Вот почему ни один системный администратор в корпоративной среде не сможет установить ваш сервис, если он работает под LocalSystem. Используйте учетные записи LocalService и NetworkService.

0

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

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

Кроме того, вы можете посмотреть, нужен ли вам доступ к разделам реестра.

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

Редактировать: Вы можете найти для S2. Window Services, чтобы найти дополнительную информацию о рисках, связанных с локальной системой. http://www.sans.org/top20/

0

Я думаю, что главная проблема заключается в том, что если кто-то будет обнаружить ошибку безопасности в службе, которая позволяет ему системы доступа к ресурсам и/или выполнить код - это доступ/выполнение с правами локального системного (которые являются такими же, как встроенный в администраторах). Вопрос в том, что вы уверены, что ваш сервис является доказательством хакера? : P

+0

Встроенные администраторы не имеют 'SeTcbName' по умолчанию после NT 4, поэтому' LocalSystem' имеет еще больше прав, чем локальные администраторы. –