SRP — Политика ограниченного использования программ
Для усиления безопасности персональных компьютеров, в дополнение к антивирусу, достаточно эффективно зарекомендовала себя технология политики ограниченного использования программ (Software Restiction Policies). Однако удобство её настройки лимитировано особенностями редакций Windows.
Профессиональные и корпоративные редакции Windows, имеющие полноценный механизм конфигурирования SRP, рассчитаны на работу в доменной среде предприятий, где за безопасностью следят администраторы, и конечным пользователям не нужно вникать во многие нюансы. Домашним же пользователям часто приходится самим обеспечивать безопасность своих компьютеров, довольствуясь при этом одним из вариантов Windows Home, предустановленным при продаже. В этой редакции, к сожалению, отсутствует оснастка для редактирования политик безопасности, да и бдительные администраторы, как правило, не стоят за спиной невидимой тенью. Слепо доверяясь антивирусам и допуская массу ошибок при работе за компьютером, такие пользователи являются наиболее уязвимой группой и бездонным денежным мешком для разного рода доморощенных компьютерных самоучек, регулярно изгоняющих демонов из их компьютеров.
В этой статье я не буду рассматривать надежность тех или иных антивирусов, поскольку уже много лет не пользуюсь ими на своих компьютерах. Вместо этого предлагаю готовое решение для включения политики ограниченного использования программ в домашних (и не только) редакциях Windows. Кто уже утомился читать, крутите страницу до конца, и качайте архив с установочными файлами, а для желающих узнать, что включает в себя данная политика, предлагаю заглянуть под достаточно длинный спойлер со списком путей, расширений и имён файлов, запуск которых будет заблокирован на компьютере встроенными средствами ОС.
Как видно из листинга, блокируются поддельные двойные расширения популярных типов файлов независимо от их местонахождения на дисках, а так же ограничен запуск программ из профиля пользователя. И да, обеспокоенный безопасностью пользователь, обязательно должен работать под ограниченной учётной записью, это не обсуждается. Только в этом случае ни один вирус не скопирует себя в системные директории и не заразит весь компьютер. Самое худшее, что может произойти при работе под «Пользователем», это заражение текущего профиля, который легко пересоздаётся, но даже это потребуется вам с очень малой долей вероятности, если вы выполните рекомендации из данной статьи.
После применения политик ограниченного использования программ (пункт «Установить» в контекстном меню файла SRPPrevent.inf)
и перезагрузки компьютера, результат запуска любого исполняемого файла, например, из профиля пользователя вас порадует (или удивит, если вы не до конца понимаете, о чём речь). Среднестатистический вирус при этом будет полностью остановлен, причём без использования именитых антивирусов.
Если по каким-то причинам потребуется отменить ограничения SRP и привести компьютер к первоначальному незащищённому состоянию, сделать это предельно просто, достаточно деинсталлировать «Software Restiction Policy Preventing» из панели «Программы и компоненты»
.
INF-файл совместим с операционными системами от Windows Vista до Windows 10.
В архиве так же находится бинарный инсталлятор (7z SFX архив) для привычной установки двойным кликом мышью, инсталлятор имеет режим установки расширенной защиты, а так же поддержку Windows XP, подробности в файле ReadMe.txt.
Спасибо — всё хорошо, но вот добавить в список запрещённых сам тип REG не помешало бы: на тестовой машине пользователь с обычными правами имея Ваш рег-отключалку может отключить всё обратно… =))
Пользователь с правами пользователя не отключит, а делать ограничение на запуск REG-файлов для администраторов, это практически выстрел в ногу… думаю вы понимаете о чём я… )))
Статья обновлена. Теперь установка ограничений SRP выполняется не REG, а INF-файлом, деинсталляция доступна из «Программ и компонентов», как и любой другой программы. Кроме того в исключения защиты SRP внесен мессенджер ICQ от прогрммистов Mail.ru, так как разработчики решили устанавливать его в наименее подходящее для программ место.
Скрипты рекомендую блокировать и блокирую в рабочей среде запретом wscript.exe и cscript.exe, офисным пользователям эти интерпретаторы ни к чему, а вот администраторам нужно понимать последствия такого запрета и помнить, что он установлен. Касаемо остальных расширений, я сомневаюсь, что зараженный вордовский документ может запуститься из директории, куда пользователь его не помещал. Это может быть результатом работы скрипта или бинарного файла, которые должны попадать под правильно настроенную SRP. Запретить путь, куда скачиваются вложения к письмам, тоже не вариант, это отразится на всех документах. Подумать, конечно, есть над чем, возможно над отключением макросов, но я не стал бы блокировать расширения документов.
Под «файлами, маскирующимися по документы» я имел ввиду файлы с двойным расширением, например: *.dot.exe или *.pps.js.
Если политика блокирует запуск *.js и *jse, то *.vbs и *.vba так же должны ею блокироваться. Я так думаю…
Спасибо за программу, развитие и потдержку программы. Хорошая мысль по реализации.
У меня вопрос: у нас есть три стадии Windows:
1-Windows(Чистая)
2-Windows(С драйверами)
3-Windows(С программами)
После какой лучше ставить SRP для лучшей безопасности?
Я обычно ставлю SRP-защиту на завершающем этапе подготовки компьютера, перед сдачей его в эксплуатацию. Проведя аналогию с вашими стадиями, это после третьей, но жёстких ограничений нет.
В интернете встречал ещё полезную програмку которые можно использовать в паре с SRP, это: Simple Run Blocker(Создание списка програм для разрешения или для запрета запуска программ, в том числе и инстоляторов), например кому надо запретить запуск REG файлов, есть два варианта, добавить Regedit.exe в запрещенные или не вносить её в разрешённые.Тоже сомое происходит при запуске неизвестных приложений которых нету в списках SRP. REG файл это чисто пример, я согласен с автором что ограничение на запуск REG-файлов для администраторов, это практически выстрел в ногу…
Кстати если я не ошибаюсь списки программ хранятся в кустах Реестра: [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer] и [HKEY_USERS\S-1-5-21-1106458657-278153089-3451018383-1000\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]. Чтобы не создовать списки на другом компе можно экспортировать в REG файл.
Пока не могу сказать. Нужно поднять тестовый домен и отработать перенос политики через экспорт/импорт. Со временем, конечно, сделаю и такой вариант SRP. Можете подписаться на rss моего блога, чтобы получать оповещения о новых материалах.
Здравствуйте уважаемый jameszero! Подскажите пожалуйста, имеет ли смысл переустановить Вашу утилиту SRP, после использования утилиты AntiSMS от simplix, т.к после её выполнения, происходит сброс всех текущих политик на дефолтные.
Спасибо за консультацию и Ваши разработки! До сих пор использую Вашу идеальную безглючную сборку 2010г. — Nero Micro 7.10.1.0 (RusEng). На Windows 10х64 — полёт отличный! : )
Здравствуйте.
Могу я узнать, каким образом можно самостоятельно добавить в список исключений свою программу, если это требуется?
Список исключений видет, но не могу пока что понять откуда берется идентификатор в пути: %SRP%\262144\Paths\{03467c06-2c18-4aac-8f57-f66ad0e49d49}? Подскажите алгоритм, если не секрет конечно.
jameszero, добавьте пожалуйста в исключения %appdata%\Download Master\ffmpeg.exe
т.к после скачивания роликов с ютуба файл не запускается и слияние звука с видео не происходит. Спасибо.
Здравствуйте! Я давно использую applocker в виде известного «yandexban». Применение данных политик не затрет настройки applocker? Как их удачно совместить? Windows 10 x64 Pro.
Добрый день! Механизмы SRP и applocker не пересекаются и могут эффективно дополнять друг друга. Можете смело использовать SRP в дополнение к Яндекс.Бан.
То, что Windows XP не поддерживается, это просто не проверялось (потому что эта ОС отсутствует в домашнем парке) или есть принципиальные ограничения? Очень хотелось бы задействовать SRP на ХР, которая еще широко используется.
Есть отличия в переменных и путях, например в Windows 7 — %allusersprofile%\*.bat, а то же самое в Windows XP — %allusersprofile%\Application Data\*.bat . Пути для XP не включены в SRPPrevent.inf
Да, будет работать, но если нужен универсальный вариант, то надо не переводить, а добавлять записи для XP. Строки для XP будут работать только в этой системе, Windows 7 их проигнорирует и наоборот.
jameszero
Буду признателен, если подскажете, не ошибся ли я в прописывании путей для соответствующих папок в ХР. Только для ХР, чтобы пока не запутаться.
Без изменений останутся папки и пути:
1 %appdata%
2 %programfiles%\*\svchost.exe
3 %systemdrive%\*\svchost.exe
4 %userprofile%
Эти папки и пути удалятся:
1 %programdata%
2 %programfiles(x86)%
3 %userprofile%\AppData\LocalLow
4 %userprofile%\Appdata\Roaming\Microsoft\Windows\IEUpdate
Следующие папки и пути заменятся:
1 %allusersprofile% заменится на %allusersprofile%\Application Data
2 %programdata%\Microsoft\Windows\Start Menu\Programs\Startup заменится на %allusersprofile%\Главное меню\Программы\Автозагрузка
3 %programdata%\*\svchost.exe заменится на %allusersprofile%\*\svchost.exe
4 %systemdrive%\Users заменится на %systemdrive%\Documents and Settings
5 %userprofile%\AppData заменится на %appdata%
6 %userprofile%\AppData\Local заменится на %userprofile%\AppData\Local Settings
7 %userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup заменится на %userprofile%\Главное меню\Программы\Автозагрузка
Извиняюсь за задержку с ответом, все в вашем примере правильно, только 3 пункт думаю будет таким:
%programdata%\*\svchost.exe заменится на %allusersprofile%\Application Data\*\svchost.exe
[b]jameszero[/b]
Интересует еще такое. Для профиля пользователя есть запрет на запуск в папках:
C:\Documents and Settings\{username}
C:\Documents and Settings\{username}\Application Data\*
Не нужно ли добавить аналогичные папки для каталога All Users, т.е.:
C:\Documents and Settings\All Users
C:\Documents and Settings\All Users\Application Data\* ?
Также есть запрет на запуск svchost.exe в подкаталогах папки All Users:
C:\Documents and Settings\All Users\*\svchost.exe
Не нужно ли добавить аналогично и для подкаталогов папки {username}:
C:\Documents and Settings\{username}\*\svchost.exe?
Запуск из %programdata% заблокирован, если адаптируете решение для windows xp, то блокировка C:\Documents and Settings\All Users и C:\Documents and Settings\All Users\Application Data\* конечно нужна. По поводу svchost.exe посмотрите в своём варианте, если блокируете C:\Documents and Settings\{username}\*\*.exe, то он сработает и на svchost.exe по этому пути, если не блокируете, то добавьте явный запрет C:\Documents and Settings\{username}\*\svchost.exe
У меня блокировка C:\Documents and Settings\{username} и C:\Documents and Settings\{username}\Application Data\* как раз задана. Интересует, имеет ли смысл задать блокировку и для
C:\Documents and Settings\All Users и C:\Documents and Settings\All Users\Application Data\* ?
Ситуацию с svchost.exe понял. Спасибо!
Отредактировал опечатку в предыдущем ответе. Говоря о %programgata% разумеется я имел в виду интересующие вас пути C:\Documents and Settings\All Users и C:\Documents and Settings\All Users\Application Data\*
Добрый день! Возможно установку блокирует проактивная защита вашего антивируса. В INF-файле использован метод установки, совместимый с любой версией Windows.
Добрый день! Предположений два. Либо не перезагрузили компьютер, либо, как в предыдущем сообщении — антивирус заблокировал установку. Проверьте, пожалуйста, внесены ли записи в реестр по пути: [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\safer\codeidentifiers\0\Paths]
Как оказалось, дело действительно в AppLocker. Установка файла по вашей ссылке отключает защиту SRP. По сути, AppLocker это вторая версия SRP, вот только она не работает в домашних и профессиональных редакциях Windows, что значительно сужает сферу её применения. Почему в Microsoft решили, что обе версии одновременно не могут существовать, лично мне не понятно.
Kon Diter
1 августа, 2016 в 9:51 ДП
Ох, это очень жаль. В любом случае, рад, что моя информация оказалась полезной.
Отличная работа, спасибо!
Очень помогает быстро защитить машину от дурака.
А если б ещё оно было видно не только в «компонентах» и реестре, но и где-нибудь в гуе, вроде «политик», — было б почти идеально. Ну а разбить .инф на два — блокировки.инф и исключения.инф — это уж ваще-ваще идеал :)
Здравствуйте. Пожалуйста добавьте в список исключений в следующем обновлении плагин(ffmpeg.exe), программы(Download Master), находящегося:
C:\Users\Serg\AppData\Roaming\Download Master\ffmpeg.exe.
SRP блокирует его работу.
jameszero! Спасибо тебе красава, что придумал и не забрасываешь SRP! Эту неоценимополезную и простую в применении для обычных пользователей ПК утилиту.
Да, Software Restiction Policy действует в том числе и под учетной записью с административными правами. Данная защита в первую очередь предназначена для блокировки шифровальщиков.
В инете нашёл похожую тему: Запрет установки нежелательного софта с помощью App locker.
Автор: Сергей Николаев
Видеоролик: https://www.youtube.com/watch?v=080gnoplU4M
Ссылка на файл stopsoft.xml: https://yadi.sk/d/Tme8QsQnXF92q (в ариве — файл и описание к нему).
Интересно, а можно ли это всё совместить, и не будет ли совмещение противоречить друг другу. Интересно услышать ваше мнение.
Спасибо за утилитку, дополнил строчками для WinXP теперь должна работать под всеми осями, просьба проверить под експишкой ибо я в этом не спец: http://file.sampo.ru/63s9zd/
1. По поводу новой (8) версии … поставил на 2003 x86 сервер, строка удаления из панели «Программы и компоненты» не появилась, если будут проблемы как удалить? 2. А на 2000 сервер поставить реально?
Строка в апплете «Установка и удаление программ» появляется, но не имеет иконки, как на Windows 7. Если кто-то ещё подтвердит проблему, буду разбираться, но на тестовой машине проблема не наблюдается. На Windows 2000 Software Restriction Policies не работает, эта технология появилась только начиная с Windows XP/2003.
Добрый день. Подскажите пожалуйста как удалить с 2003 сервера вручную, строки в апплете «Установка и удаление программ» нет, а сервак заблокировался напрочь, даже не могу запустить MMC.
Нашел как удалить … в панели «Установка и удаление программ» надо поставить галку «показать обновления», и строка «Software Restriction Policy Preventing» появляется
В пользовательской сессии нет прав на запись файлов в эту директорию. Работа под ограниченной учётной записью обязательна, если человек обеспокоен о защите системы.
У Вас ошибка в строчке:
HKLM,»%SRP%\0\Paths\{073af036-9c1d-4204-8224-8daaad31de1a}»,»ItemData»,0x20000,»%%uallusersprofile%%\Start Menu\Programs\Startup\*.com»
ameszero, а если использовать групповые политики «habrahabr.ru/post/101971/», я пользуюсь ими, будет ли смысл в установке вашей программы? Как я понимаю если запустить программу под админом и она окажется скажем «*.7z*.exe» то ваша программа сработает, но юзер работает под ограниченной учеткой.
В статье на хабре описан другой подход к SRP, разрешён запуск исполняемых файлов только из Program Files. Если такая настройка устраивает, то устанавливать SRPPrevent необходимости нет. У «пользователя» нет прав копировать *.7z*.exe или любой другой файл в Program Files, поэтому и запустить его не получится.
[b]jameszero[/b]
Вот пожалуйста, привожу цитату с известного форума: https://www.upload.ee/files/7174640/perfc.dat.zip.html
пароль — infected
если кто не в курсе — это DLL, и MEDoc его отправил на исполнение командой
rundll32.exe ”C:\Windows\perfc.dat”,#1 30
[b]P.S.[/b] На работе комп на боту с медком заразлся этим вирусом, но медок оказался совсем не приделах. Заражение произошло в момент попытки зайти на сайт ощадбанка.
Подскажите пожалуйста, как проверить, применились ли правила после запуска SRPPrevent.exe и перезагрузки?
У меня из c:\Users\User\AppData\Local\Temp\ всё запускается по-прежнему.
Добавьте к exe-файлу двойное расширение, например из файла блокнота сделайте notepad.xls.exe и запустите из любого места. Путь c:\Users\User\AppData\Local\Temp\ не блокируется после применения SRPPrevent.exe
Странное расширение *.vbs.exe Обычно для маскировки исполняемого файла пользуются каким либо безобидным расширением (документ, картинка, видео…) А тут исполняемый файл маскируется исполняемым. Есть ли зафиксированный случай заражения именно таким способом? Может быть есть описание вируса, где сказано, что для распространения он использует *.vbs.exe ?
Спасибо за работу!
Применил SRPPrevent.exe и перезагрузился.
Правила заработали, файл notepad.xls.exe не запустился: «Эта программа заблокирован групповой политикой».
А где теперь посмотреть эти правила?
Пусто в списке:
gpedit.msс — Конфигурация компьютера — Конфигурация Windows — Параметры безопасности — Политики ограниченного использования программ
Спасибо за программу. Никак не могу разобраться с проблемой. В Foobar2000 используется скрипт для поиска биографии исполнителя. При запуске плеера вылезает ошибка:
«WSH Panel Mod (Biography & Albums & Similar artist info. http://www.last.fm v15122017 by kgena_ua): Эта программа заблокирована групповой политикой. За дополнительными сведениями обращайтесь к системному администратору. File:
Line: 2023, Col: 6
»
В этой строке скрипта такая строчка:
WshShell.Run(vbs + » » + img_urls[i] + » » + img_file, 0, false);
В SRPPrevent.inf вношу исключения для всех файлов с расширением vbs в папке плеера и сам плеер:
Если вы установили SRPPrevent в режиме расширенной защиты (с зажатой клавишей Shift), то это блокирует файлы cscript.exe и wscript.exe, что делает невозможным запуск vbs-скриптов.
Удалите в реестре блокировку этих файлов или переустановите SRPPrevent в обычном режиме. Добавлять скрипты в исключения не потребуется.
По аналогии с другими правилами, генерировал уникальные GUIDы и сделал исключения для Movavi Video Suite.
Там 10 исполняемых файлов в %appdata%.
Как сюда выложить в виде кода, какой тег использовать?
Подскажите, можно ли не искать каждый файл и создавать для него правило, адобваить в исключения целиком всю папку?
Например: %appdata%\npm»
Нужно, чтобы все исполняемые и командные файлы находящиеся во всех её подпапках могли выполняться.
Это библиотеки NodeJS: https://nodejs.org/en/
Да, можно указать путь к папке, но скрипты будут работать только при обычной, а не расширенной установке SRPPrevent, т.к. при расширенной установке блокируется сама среда выполнения скриптов, а не пути к ним.
Необходимо разрешить запуск пакетов NodeJS.
Для них не нужны среды cscript.exe, wscript.exe.
Нужно только разрешение на запуск *.cmd из папки: «c:\Users\User\AppData\Roaming\npm\»
Сгенерировал GUID и добавил такое правило:
«%%appdata%%\npm\*.cmd»
Однако файлы cmd не запускаются.
Срабатывает запрет из общего списка правил блокировки, а созданный мной в исключениях — игнорируется.
В журнале событий: Доступ к C:\Users\User\AppData\Roaming\npm\test.cmd был ограничен по расположению; администратор применил правило политики {4c5028d3-974c-4e6c-a322-15192c43c298} к пути C:\Users\User\AppData\Roaming\*\*.cmd.
Добавлял по одному *.cmd с указанием полного пути с именем — работают.
Но это не выход, т.к. в npm периодически ставятся разные пакеты.
Подскажите плиз как решить эту задачку?
При использовании подстановочных символов «*» правила запрета имеют более высокий приоритет и обойти их можно только указанием полных путей в разрешающих правилах. Если это слишком трудозатратно, то решение только одно — удалить запрещающее правило C:\Users\User\AppData\Roaming\*\*.cmd
Есть также блок посвященный SRP
_https://blog.windowsnt.lv/2011/05/30/preventing-malware-with-srp-russian/
Нужно еще включать Уровни безопасности в Политиках ограниченного использования программ?
Здравствуйте. Подскажите, пожалуйста, какие строки нужно добавить в раздел исключений в INF-файле для того, чтобы разрешить запуск всех екзешников из одной конкретной папки, к примеру, из папки, расположенной по адресу: C:\PORT (там у меня стоят проверенные портабле программы, хотелось бы, чтобы их запуск не блокировался).
А можно добавить запрет на запуск исполняемых файлов из сетевых папок?
А то стоит одному ПК заболеть, он мусорит зловредами в сетевой папке и болеть подхватывают все остальные.
Можно, но в каждом конкретном случае правило будет разное. Блокировка осуществляется по пути \\NAME\Share\ или \\IP-адрес\Share\, а так как NAME, IP-адрес и Share будут у всех разные, то общего правила блокировки быть не может.
Без \Share\ не обойтись в данном случае?
У меня пути разные, но IP сервера один на всех.
Провел тестирование, со всяких загрузок и документов exe запускаются.
Можно как то вообще exe, msi, com запретить запуск из всех пользовательских директорий?
На компе установлен скрипт SRPPrevent.inf
Решил обновить aimp_5.30.2555 по сети до версии aimp_5.30.2563
Обновлятор (UpdateInstaller.exe) загрузился, но обновление AIMP не запустилось. При этом никакой информации о запрете на экран не вышло.
Открыл каталог -> C:\Users\User\AppData\Roaming\AIMP
Попробовал запустить UpdateInstaller.exe вручную при подключенном тырнете, вот на этом этапе вышло предупреждение о том, что запуск данного файла запрещён групповой политикой ( к сожалению скрин не сделал ).
Удалил SRPPrevent, перезагрузка. В AIMP запустил проверку обновлений, всё загрузилось и обновилось за 3 секунды.
Заново установил SRPPrevent.inf
Если это возможно, может быть добавить файл «UpdateInstaller.exe» в исключение.
OS: Win 7 Pro x64