Вопрос по настройке "политики ограниченного использования программ" - Безопасность средствами операционной системы - Форумы Anti-Malware.ru Перейти к содержанию
ASteZ

Вопрос по настройке "политики ограниченного использования программ"

Recommended Posts

ASteZ

Настраиваю у себя на ноутбуке "политики" (Win7 64bit)

Настроил правила пути для запускаются программ только из "program files" и windows..

Теперь странность..

Запускаю программу из командной строки.. Она нормально запускается.

Запускаю ее-же из под far - "неопознанная ошибка, can not execute..."

Если запускаю из под Far как cmd /c имя-программы -все работает

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

Вопрос собственно в том как это исправить и от чего так происходит?

Вторая странность - у меня наотрез отказывался запускаться NetBeans пока я не прописал в дополнение к общим путям на program files

отдельное правило пути для C:\Program Files\Java

Вопрос в том, чем вызван такой эффект?

Правила пути к program files прописаны так:

%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir (x86)%

%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir%

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ASteZ

upd (уточнение): проблема возникает при запуске 64битной программы из командной строки 32-х битного Far-а, 32-х битные программы запускаются без проблем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
WindowsNT

Хорошее уточнение, оно показывает корень проблемы. Система неверно обрабатывает раздельные пути Program Files для 32- и 64-разрядных программ. Опишите тогда пути к Program Files не ключами реестра, как сейчас, а просто напрямую как папки.

  • Upvote 5

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ASteZ
Хорошее уточнение, оно показывает корень проблемы. Система неверно обрабатывает раздельные пути Program Files для 32- и 64-разрядных программ. Опишите тогда пути к Program Files не ключами реестра, как сейчас, а просто напрямую как папки.

Ага, заработало.. И отдельный путь к java когда после того убрал без последствий...

Тогда вопрос - почему так получается?

Ведь и 32-х битные и 64-х битные приложения по отдельности запускались нормально...

Пути заданные ключами реестра я так понимаю можно безболезненно убрать в таком случае?

И еще маленький вопросик - вроде бы есть некоторое количество подпапок в windows с правами обычного пользователя на запись..

Типа system32\debug, system32\catroot2\

Запуск из этих 2-х я запретил явно.. А нет нигде какого-нибудь списка какие подпапки из windows еще стоит "прикрыть" от запуска из них приложений?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
WindowsNT

Агентство Национальной Безопасности США (NSA) дало несколько мыслей по этому поводу - http://www.nsa.gov/ia/_files/os/win2k/Appl...g_Using_SRP.pdf

Я сам выводил системную папку Temp за пределы Windows и переводил Print Spooler на другой диск. Особо заморачиваться не стоит, мне кажется. Однако, убедитесь, что включён фильтр DLL-модулей, это мера защиты номер раз от запуска DLL через команду rundll и от DLL Hijacking.

  • Upvote 5

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ASteZ
Агентство Национальной Безопасности США (NSA) дало несколько мыслей по этому поводу - http://www.nsa.gov/ia/_files/os/win2k/Appl...g_Using_SRP.pdf

Я сам выводил системную папку Temp за пределы Windows и переводил Print Spooler на другой диск. Особо заморачиваться не стоит, мне кажется. Однако, убедитесь, что включён фильтр DLL-модулей, это мера защиты номер раз от запуска DLL через команду rundll и от DLL Hijacking.

Спасибо. Я его отключил в свое время из за того что отказывался запукаться NetBeans (видимо оно было из за некорректной отработки пути через регистри)

После того как включил - пришлось еще добавить правила хэша для CheckPoint SSL Network Extender который запускает свою jni dll через temp. И ведь фиг найдешь из за чего проблема - в журнале никаких следов не было..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
WindowsNT

Для подробного отчёта исполнения правил SRP, включая обработку dll, нужно включить журналирование в реестре:

HKLM\Software\Policies\Microsoft\Windows\Safer\CodeIdentifiers

REG_SZ 'LogFileName'=”C:\Windows\SRP.log”

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dkarab

Мы в свое доменчике для блокировки "стороннего" софта используем AppLocker через групповые политики (вариант испоьзования описан тут).

А зачем нужны тогда правила SRP? Когда что лучше использовать?

Или лучше всего использовать одновременно и AppLocker и Software Restriction Policy?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Dr. Faust
Мы в свое доменчике для блокировки "стороннего" софта используем AppLocker через групповые политики (вариант испоьзования описан тут).

А зачем нужны тогда правила SRP? Когда что лучше использовать?

Или лучше всего использовать одновременно и AppLocker и Software Restriction Policy?

Если вы уже используете AppLocker, то SRP вам уже вряд ли нужны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ASteZ
А зачем нужны тогда правила SRP? Когда что лучше использовать?

Если я правильно понял то AppLocker работает по принципу "черного списка" запрещая запуск определенных программ..

Правила SPR работают по принципу запрещения запуска всего что не разрешено в явном виде .. Реализуя по своей сути "белый список"..

С точки зрания безопасности ИМХО правила SRP надежнее..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
WindowsNT
Если я правильно понял то AppLocker работает по принципу "черного списка" запрещая запуск определенных программ..

Правила SPR работают по принципу запрещения запуска всего что не разрешено в явном виде .. Реализуя по своей сути "белый список"..

С точки зрания безопасности ИМХО правила SRP надежнее..

Это не совсем так.

AppLocker является чистым Application Whitelisting даже по умолчанию, в то время как SRP по умолчанию включается в режиме Blacklisting.

С другой стороны, AppLocker сложнее управляется (например, он ну никак не понимает сетевые пути UNC) и доступен только на версии Ultimate/Enterprise.

Я использую SRP, так как оно работает в смешанной сети (XP/Vista/7) и имеется начиная с редакции Professional. И понимает сетевые пути. Но обойти SRP проще.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Илио́н

Система 64-bit.

По умолчанию в "Дополнительных правилах" SPR прописаны два пути:

%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRoot%

%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir%

Я не силён в этой орфографии, но понял, что по умолчанию совсем не подразумевали 32-битные приложения?! Вопрос почему? Или когда создавали Windows-64 уже не думали, что 32-bit приложения ещё имеют право на жизнь. Ну да ладно не суть.

Прописал путь так (и так получилось):

C:\Program Files (x86)

И мой FF поехал в интернет тогда.

Что ещё интересно когда смотришь свойства двух вышеупомянутых объектов, то путь выводится либо как есть (смотри выше), либо просто как обычный путь (как-то через раз получается):

C:\Windows

C:\Program Files

Интересные дела. :unsure:

И чем в корне отличается Уровень безопасности "Неограниченный" от "Обычный пользователь" для нового создаваемого правила?

Как корректнее прописать путь к C:\Program Files (x86) и есть ли вообще разница в этом?

Какие ещё пути можно без опаски прописать, с оглядкой на будущее для среднестатистического пользователя и нормального функционирования программ? Для нормального функционирования различных программ (требующих подзагрузки .dll и т.д.). Или это дело сугубо интимное, в зависимости от используемых программ?

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

Ведь политика применена и к .dll-кам в том числе. Да и не только.

Уже половина программ не запускается. :lol:

Что интересно некоторые без уведомления от системы о наложении ограничения. А действительно, есть методика по поиску на какие именно вещи был наложен запрет. В просмотре событий как-то не особо разгуляешься. Лог предложенный выше в теме создал и он ведётся. Может он чем-то помочь?

Это конечно замечательно. Теперь надо искать чего они хотять...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
WindowsNT

Проблема возникает на стыке технологий — например, когда х86-программа из-под себя вызывает х64- и наоборот. Поэтому для 64-разрядных систем нужно вручную добавить правило %HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir (x86)%. Но в реальной среде я не мудрю, пишу прямо C:\Program Files и C:\Program Files (x86), это работает надёжнее.

Уровень безопасности "Обычный пользователь" принуждает указанные программы запускаться только с ограниченными привилегиями. Но! это работает только в Vista. Жаль, но в семёрке они этот режим убрали.

Пути зависят от конкретной программы. Например, некоторые программы генерируют и запускают DLL из %Temp%, приходится такие случаи индивидуально отлавливать и либо разрешать хэши, либо конкретные имена файлов. Но таких программ очень мало. В основном, всё прекрасно работает либо из Program Files, либо из путей типа C:\MegaSuperSoftware. Похоже, вы делали политику у себя по какой-то другой инструкции.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
UIT
Вспомнилось. В Гугл: Vadims Podans' blog - AppLocker vs Software Restriction Policies

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Илио́н

WindowsNT

Win_7x64 и там и там (хост\гость).

Настраивал по статье.

После того, как прописал явно:

C:\Program Files

заработало.

Ещё покатаю - перенесу в хост.

Недопонимаю (может не хватает знаний):

Проблема возникает на стыке технологий — например, когда х86-программа из-под себя вызывает х64- и наоборот.

А с учётом этого тем более:

Что ещё интересно когда смотришь свойства двух вышеупомянутых объектов, то путь выводится либо как есть (смотри выше), либо просто как обычный путь (как-то через раз получается):

C:\Windows

C:\Program Files

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
WindowsNT

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

Вы пытаетесь открыть из MS Outlook (x64) приложенный файл .pdf, открываемый через Adobe Reader (x86. У Outlook-а и Reader-а при этом возникает путаница с переменной %ProgramFilesDir%, SRP блокирует запуск Adobe. А если приложенный файл сохранить и открыть отдельно, проблемы нет.

Просто пропишите оба два пути до Program Files в политику, и всё.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Илио́н

А в XP такая настройка присутствует? В каких версиях, паках. Или чем заменить подобным, стандартные есть средства?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Илио́н

На свой вопрос ответ нашёл. Через командную строку можно удалить политику SPR?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  • Сообщения

    • demkd
      ИИ — полезная штука, но, к сожалению, бесплатные версии, как тот же Google Gemini Flash, тупенькие на уровне 12b моделей, делают колоссальное число ошибок по мелочам. Яблочко от яблони... Мало того, "новое" у них обычно старое с отставанием на год, и это в лучшем случае. Я сейчас как раз занимаюсь новой, уже 3-й версией своего "Клавиатурного помощника". В нём будет поддержка локального ИИ, горячих ИИ-клавиш, голосовых команд, голосового ввода и вспомогательной LLM для переводов, правки текста и т.п. Именно локального ИИ без необходимости обращения в сеть и сопутствующих утечек данных И это не для старого железа — нужно как минимум много памяти и современный процессор, в идеале хотя бы RTX 5060 Ti 16 ГБ в качестве ускорителя. А результат, ну, такой себе. ИИ слишком склонен ошибаться, и доверять ему что-то серьёзное пока не стоит, даже код пишет, который как-то работает, но в нём масса мелких и незаметных ошибок и уязвимостей. 
      Текст исправлен с помощью Google Gemma 4 E4B. 
    • PR55.RP55
      Вы сказали: "Найди все новые ключи которые появились 2026 г. и ранее не использовались... Можешь ?"
      *Да, я могу помочь* составить список новых ключей реестра и путей
      автозагрузки, которые вредоносное ПО использует в текущих кампаниях
      (включая модификации 2026 года), маскируясь под легальные системные
      компоненты. ( скопирую частично) :   * *|HKLM\SOFTWARE\Classes\Protocols\Filter|* и *|\Handler|* — новые
          модификации Adware перехватывают протоколы edge:// или msproedg://
          для подмены поисковой выдачи.   * *|HKCU\Software\Microsoft\Windows\CurrentVersion\Lxss|* —
          использование подсистемы WSL для скрытого автозапуска
          Linux-ориентированных рекламных модулей, незаметных для стандартных
          триггеров автозагрузки Windows. Современные зловреды (особенно Adware и майнеры) научились прописываться
      в тихий автозапуск без создания классических ключей |Run| или
      |Services|. Они используют встроенный механизм Windows 10/11 —
      *псевдонимы выполнения приложений*.   * *Суть*: В реестре создается связь в ветке
          |HKCU\Software\Microsoft\Windows\CurrentVersion\App Paths| или через
          механизм |AppXPackage|. Зловред подменяет вызов легальной команды
          (например, при наборе пользователем |notepad| или |calc| в строке
          «Выполнить») и запускает свое тело.
        * *Что добавить в памятку*: Обращать внимание на появление кастомных
          записей в блоке «Псевдонимы приложений» и проверять, куда
          перенаправляются стандартные системные вызовы. 2. Подмена через каталоги |Lxss| (WSL — Windows Subsystem for Linux)
      Это одна из самых опасных современных тенденций, так как многие
      антивирусы до сих пор слабо сканируют Linux-среду внутри Windows.   * *Суть*: Майнеры и стилеры прописывают свой запуск внутри
          дистрибутива WSL (ключ реестра
          |HKCU\Software\Microsoft\Windows\CurrentVersion\Lxss|). При старте
          Windows запускается скрытая фоновая сессия WSL, которая активирует
          ELF-бинарник (Linux-вирус). В логах автозапуска Windows это выглядит
          как легальный старт службы |wsl.exe|, но с хитрыми аргументами.
        * *Что добавить в памятку*: Формула «А+В+С»: если |wsl.exe|
          запускается автоматически с флагами |-d| (конкретный дистрибутив)
          или скрытыми bash-скриптами — это 100% повод для изоляции и проверки
          содержимого виртуального диска VHDX. 3. Продвинутый Timestomping с подделкой под апдейты ОС
      Раньше вирусописатели просто копировали даты у соседних файлов
      (|kernel32.dll| и т.д.). Теперь они действуют умнее:   * *Суть*: Дата создания файла выставляется ровно на день/час крупного
          официального обновления Windows (например, подстраиваются под график
          Patch Tuesday от Microsoft). Аналитик смотрит на лог uVS, видит дату
          (например, |14.10.2025|) и думает: «А, ну это тогда накопительный
          апдейт прилетел, файл чистый».
        * *Что добавить в памятку*: Правило проверки контрольных сумм. Не
          верить датам, даже если они идеально совпадают со временем
          системного обновления. Если у файла из папки |System32| с
          «правильной» датой обновления отсутствует валидная ЭЦП (или статус
          |Цифр. подпись: НЕТ|) — это критический триггер. 4. Атаки типа Living off the Land (LotL) через новые системные утилиты
      Вместо использования заезженных |powershell.exe| или |cmd.exe|, которые
      сейчас жестко блокируются любым EDR/антивирусом, малварь перешла на
      легальные, но редкие утилиты Windows (LOLBins).   * *Суть*: Для скачивания и запуска вредоносного кода используются
          системные компоненты:
            o |curl.exe| (теперь встроен в Windows) — для скрытой загрузки
              полезной нагрузки.
            o |tar.exe| — для распаковки зашифрованных архивов со стилерами
              прямо «на лету».
            o |winget.exe| (Windows Package Manager) — для скачивания
              вредоносных утилит из легальных репозиториев.
        * *Что добавить в памятку*: В uVS нужно тщательно анализировать
          параметры запуска командной строки в Планировщике задач (|TASKS|),
          если там фигурируют |curl|, |tar| или |bitsadmin|, качающие что-то с
          внешних IP-адресов. 6. Скрытые модификации через COM-объекты (COM Hijacking без изменения
      файлов)
      Вместо перезаписи файлов в |System32| или создания явных ключей |Run|,
      малварь перехватывает легальные системные интерфейсы через реестр.   * *Суть*: Зловред прописывает путь к своей вредоносной DLL в ветку
          *|HKCU\Software\Classes\CLSID\{GUID}\InprocServer32|*. При этом
          берется GUID легального и часто используемого компонента Windows
          (например, Проводника, контекстного меню или планировщика). Как
          только система или пользователь совершает обычное действие
          (открывает папку, кликает правой кнопкой мыши), Windows
          автоматически подгружает вредоносную DLL.
        * *Что добавить в памятку*: В uVS такие объекты часто попадают в
          категорию «Подозрительные CLSID» или скрытые расширения оболочки.
          Если в ветке |HKCU| (пользовательский уровень) переопределяется
          системный GUID, который по умолчанию должен жить только в |HKLM|
          (уровень системы) — это явный признак перехвата. 7. Спуфинг цифровой подписи через уязвимости каталогов (Catalog Signing
      Spoofing)
      Малварь научилась обходить базовую проверку подписей, из-за чего в логах
      некоторых утилит файл может ошибочно помечаться как «Подписан Microsoft».   * *Суть*: Используются уязвимости в механизме проверки файлов через
          каталоги безопасности Windows (|.cat| файлы). Вредоносный бинарник
          модифицируется таким образом, что его хэш совпадает с хэшем
          легального файла в базе данных каталогов (используются коллизии или
          специфические уязвимости парсинга).
        * *Что добавить в памятку*: Правило двойной проверки. Если файл
          находится в нетипичном месте (например,
          |C:\Users\...\Temp\svchost.exe|), но uVS или ОС рапортует, что у
          него «Валидная подпись Microsoft» — необходимо принудительно
          отправлять хэш файла на VirusTotal через встроенную функцию uVS или
          проверять подпись сторонними утилитами (например, |Sigcheck| от
          Sysinternals) с проверкой отзывов сертификатов. 8. Эксплуатация механизма «Служб доставки обновлений» браузеров
      (Edge/Chrome Maintenance)
      Рекламное ПО (Adware) и кликеры ушли от создания собственных явных служб
      и теперь паразитируют на легальных планировщиках браузеров.   * *Суть*: Вредоносный скрипт не создает новую задачу в Планировщике.
          Вместо этого он модифицирует параметры /уже существующей/ легальной
          задачи, например, |MicrosoftEdgeUpdateTaskMachineCore|. В
          оригинальную команду дописывается скрытый аргумент
          (аргумент-паразит), который раз в сутки скачивает или запускает
          рекламный модуль. Аналитик видит знакомое имя задачи Edge, видит
          легальный путь к апдейтеру и пропускает её.
        * *Что добавить в памятку*: При анализе задач Планировщика (|TASKS|) в
          uVS нужно смотреть не только на имя файла, но и *полностью
          разворачивать строку аргументов*. Любые добавленные URL-адреса,
          вызовы |cmd /c|, или сторонние пути в параметрах легальных служб
          обновления — это стопроцентный признак компрометации. 10. Фейковые системные переменные в путях автозапуска
      Обман визуального восприятия аналитика через манипуляцию переменными среды.   * *Суть*: В реестре или планировщике путь к файлу прописывается как
          |%SystemRoot%\System32\drivers\malware.sys|. Но перед этим на уровне
          пользователя (|HKCU\Environment|) создается кастомная переменная
          |%SystemRoot%|, которая указывает вовсе не на |C:\Windows|, а на
          |C:\Users\Public\Documents|. В итоге аналитик глазами видит
          «безопасный» системный путь, а система при загрузке идет в скрытую
          пользовательскую папку.
        * *Что добавить в памятку*: Всегда проверять блок «Переменные
          окружения» в начале лога uVS. Любые попытки переопределить
          стандартные переменные вроде |%SystemRoot%|, |%WinDir%| или
          |%ProgramFiles%| на уровне текущего пользователя — это критическая
          угроза.
    • PR55.RP55
      Сейчас дал ИИ задание напиши скрипт и... Вот:  ( взял Инфо. из одного из старых образов) Скрипт лечения для uVS Чтобы полностью удалить эту службу, связанные с ней файлы и очистить ссылки в реестре, выполните следующий скрипт: text ; uVS v4.15.1 [Script] ; Target OS: Windows ; Удаление вредоносной службы и основного файла апдейтера delref %Network%\C:\PROGRAM FILES (X86)\YONTOO\Y2DESKTOP.UPDATER.EXE ; Удаление исполняемого файла в AppData, вызываемого через параметры службы delref %AppData%\YONTOO\YONTOODESKTOP.EXE ; Принудительное удаление самой службы из реестра delsrv Yontoo Desktop Updater ; Очистка остаточных путей и каталогов Yontoo deldir C:\Program Files (x86)\Yontoo deldir C:\Users\cappu44ino\AppData\Roaming\Yontoo ; Перезагрузка для применения изменений restart --------- Я сильно не увлекался - так для примера.  
    • PR55.RP55
      santy Модели ИИ ( я делал запрос к google ) - есть возможность задать вопрос ( дать задание ) по заранее выбранным настройкам: настройки: yaml [SYSTEM_OVERRIDE] ---------- Код он сам себе напишет :)  Главное задать нужные вопросы и потом попросить\ сохранить настройки в виде кода ) Единственно - не все ИХ модели нормально работают. Результаты тоже нужно проверять... Например:  получить Резюме... По записи - ( как в моём примере в Новые функции ) С заранее заданными параметрами - что нам нужно.  Это и для обучения и для экономии времени и когда оператор устал, для написания отчёта - по работе на семинар, при обсуждении на форуме, анализ новых угроз или появился новый ключ автозапуска; там где есть сомнение - что это... Построить цепочку - чтобы увидеть механику процесса\заражения. Увидеть аномалии - как то, что браузер "подписан" но это ЭЦП не головного офиса - а ЭЦП - пусть и "легитимное" - но смежников.  Аномалии пути; размера; схожесть имени и т.д. Никакие настройки uVS этого не дадут.  Можно увидеть никогда ранее неиспользуемый ключ запуска ( или его нестандартное применение ).  Если железо современное - то возможно? - локальные модели ИИ. Можно попробовать например дать задание: Найди все новые ключи которые появились 2026 г. и ранее не использовались...  
    • santy
      Как гипотетические варианты действий: ---------------------- - получить детальную расшифровку выбранного антивирусного детекта по результату проверки файла на VT из экрана ИНФО. Здесь я бы обратил внимание на три основных детекта: у Kaspersky, DrWeb, ESET, возможно + Microsoft. - получить расшифровку по цифровой подписи файла, насколько известна, и надежна. -  может стоит продумать свою классификацию детектов, и потом уже на основании данной классификации находить другие примеры/способы запуска и т.п.
×