В Windows 10 появился механизм защиты от вирусов-вымогателей под названием Controlled Folder Access. Он предотвращает изменение файлов в указанных защищенных папках неизвестными программами. Исследователь информационной безопасности из Fujitsu System Integration Laboratories Ltd. обнаружил способ обхода этой защиты с помощью DLL-инъекций.
В чем проблема
Сойа Аойама (Soya Aoyama) сумел внедрить вредоносную DLL в «Проводник» Windows – а explorer.exe как раз находится в доверенном списке программ Controlled Folder Access. Для осуществления своего замысла исследователь использовал тот факт, что при запуске explorer.exe загружает DLL, обнаруженные в разделе реестра HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers:
Дерево HKEY_CLASSES_ROOT это «мердж» информации регистра, обнаруженной в HKEY_LOCAL_MACHINE и HKEY_CURRENT_USER. При осуществлении такого «мерджа», Windows присваивает информации из HKCU приоритет. Это значит, что если в HKCU существует ключ, то он будет иметь приоритет перед таким же ключом в HKLM, и эти данные вольются в дерево HKEY_CLASSES_ROOT.
При старте explorer.exe по умолчанию загружается Shell32.dll, находящаяся в ключе HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{90AA3A4E-1CBA-4233-B8BB-535773D48449}\InProcServer32. Чтобы загрузить в Explorer зловредную DLL, Аойама просто создал ключ HKCU\Software\Classes\CLSID\{90AA3A4E-1CBA-4233-B8BB-535773D48449}\InProcServer32 и задал в его значении нужную ему библиотеку.
После этого после завершения и рестарта процесса explorer.exe, вместо Shell32.dll программа запускала созданную хакером DLL.
Результатами исследования Аойама поделился на конференции DerbyCon:
Как защититься
Исследователь также выяснил, что найденную им схему атаки не распознают многие антивирусы, среди которых Windows Defender, Avast, ESET, Malwarebytes Premium и McAfee.
При этом, по словам Аойамы, представители Microsoft не считают, что он обнаружил уязвимость. Исследователь направил информацию о своих находках в компанию, однако там ему ответили, что ему не полагается награды, и они не будут выпускать патч, поскольку для проведения атаки зломышленнику нужен доступ к компьютеру жертвы и при ее осуществлении не происходит превышения прав доступа.
Тем не менее, в сочетании с другими уязвимостями, обнаруженный Аойамой вектор атаки может оказаться интересным для атакующих. В основном инфраструктура крупных компаний строится на Windows. Зная это, злоумышленники разрабатывают специальные инструменты для атак под эту операционную систему.
Уже завтра, 18 октября в 14:00, эксперты эксперты PT Expert Security Center разберут три инструмента взлома, которые позволяют быстро развить атаку в Windows-инфраструктуре: impacket, CrackMapExec и Koadic. Слушатели узнают, как они работают, какую активность в сетевом трафике создают, а самое главное, как вовремя детектировать их применение. Вебинар будет интересен сотрудникам SOC, blue teams и IT-подразделений.
Для участия необходимо зарегистрироваться.
Комментарии (57)
simplix
17.10.2018 15:56поскольку для проведения атаки зломышленнику нужен доступ к компьютеру жертвы и при ее осуществлении не происходит превышения прав доступа
Это странный ответ, если задача изначально стояла не допустить изменения в определённой папке любыми недоверенными программами. Вымогатели и так запускаются на компьютере пользователя и могут зашифровать его данные без повышения прав доступа.Lofer
17.10.2018 16:12Вымогатели и так запускаются на компьютере пользователя и могут зашифровать его данные без повышения прав доступа.
Ответ МС верный и тут нету противоречия. Защита состоит в контроле доступа не доверенного ПО.
Приведенный пример — использование доверенного ПО для совершения действий
Когда я из Firefox/Excel попробовал сохранить файл в папку под «Controlled Folder Access» — получил отказ доступа, не смотря на то, что я локальный Администратор. Когда поместил Firefox/Excel в доверенные — все сохранилось без проблем.simplix
17.10.2018 16:26Статью-то хоть читали? Доступ он получил через внедрение своей библиотеки в проводник, который имеет доступ к защищённым папкам из коробки, ему не нужны дополнительные разрешения. Другими словами проводник после внедрения библиотеки должен был стать недоверенным приложением, а вместо этого у него остался доступ к защищённым папкам, что сводит на нет этот механизм защиты. Ничего не исправлять в таком случае — решение неадекватное.
fmj
17.10.2018 16:46Тут может помочь отсутствие прав на исполнение, либо srp/applocker. Но из «коробки» везде, где разрешена запись обычным пользователям, разрешено исполнение. Зачем, например, выполнение в документах или «appdata» — непонятно.
simplix
17.10.2018 16:54В этой статье обсуждается совсем другой механизм, который должен защитить документы пользователя без SRP. Конечно, правильная настройка дополнительных механизмов и прав доступа решит проблему для опытных пользователей, но ведь они этой новой фишкой хотели уберечь от шифровальщиков неопытных и без сложных настроек.
Xalium
17.10.2018 19:23Зачем, например, выполнение в документах или «appdata» — непонятно.
Пример: C:\Users\\AppData\Local\Google\Chrome\Application\chrome.exe
Sabubu
18.10.2018 02:01Вы по моему ничего не поняли. Тут задача другая. Дана защищенная папка. Доступ на запись в файл в ней должны иметь только N программ, добавленных в белый список (условно, explorer и word). Другие программы не имеют доступа на запись.
Исследователи нашли способ обхода: внедрить dll в программу из белого списка путем добавления ключа в реестр (на что у недоверенной программы есть права). Так как explorer — доверенная программа — загружает в себя dll, указанные в реестре.
— Вообще, система защиты в традиционных десктопных ОС (win/linux) устаревшая на десятилетия. Она защищает пользователей и их файлы друг от друга. Этобыло актуально в эпоху мейнфреймов, это актуально на виртуальном хостинге. Но в десктопной ОС обычно только 1 пользователь и защита не имеет смысла. То есть линукс на десктопе — это серверная ОС для хостинга, в которую костылями вшит графический интерфейс.
Гении из Гугла придумали гораздо более умную систему разделения прав в Андроид. Там они запускают каждую программу под отдельным пользователем, и она не может испортить чужие файлы. Плюс, можно урезать полномочия, отрубая даже выход в Интернет. Идеально! Мерзкий скайп не может стырить ваши браузерные куки для целей аналитики! Калькулятор не может сливать информацию в Интернет.
Винда видимо из-за legacy софта такое сделать не может и вынуждена изобретать костылищи — UAC, защита системных файлов от перезаписи, теперь вот еще это. Уязвимость — результат такого подхода.fmj
18.10.2018 06:56Что я не понял? Как защититься от шифровальщиков? Белый список ПО тут рулит — если запускаются строго определенное ПО(DLL туда же относятся + скрипты). Как это реализовать на винде: ACL, srp, applocker. Если нужно обезопасить от записи один каталог, то можно просто повысить ей обязательный уровень целостности.
Но в десктопной ОС обычно только 1 пользователь и защита не имеет смысла.
Как минимум 2:root/admin(в винде еще system и trustedinstaller) и обычный user(+ пользователи, например, для Steam, visual studio, torrent клиента). Если вы сидите из-под админа, то это ваши проблемы.
Гении из Гугла придумали гораздо более умную систему разделения прав в Андроид. Там они запускают каждую программу под отдельным пользователем, и она не может испортить чужие файлы. Плюс, можно урезать полномочия, отрубая даже выход в Интернет. Идеально! Мерзкий скайп не может стырить ваши браузерные куки для целей аналитики! Калькулятор не может сливать информацию в Интернет.
Это также возможно под виндой — свой пользователь на каждую программу — ограничивай как хочешь доступ к данным, сеть и инет — белый список в FIREWALL. Проблема только в том, что это все надо делать руками, но это работает. Почему MS не сделает для обычных пользователей удобный инструмент — я не знаю.
Sabubu
19.10.2018 03:13> Как минимум 2:root/admin(в винде еще system и trustedinstaller) и обычный user(+ пользователи, например, для Steam, visual studio, torrent клиента). Если вы сидите из-под админа, то это ваши проблемы.
У меня в Андроиде нет окна логина, тем более для рута. Пользователь один. Что касается домашнего ПК, там тоже пользователь один, просто есть 2 роли — «юзер» и «админ». Это именно роли, а не разные люди. И это доставляет неудобства — если в роли админа создать текстовый документ в папке пользователя, то пользователем его не открыть.
> Это также возможно под виндой — свой пользователь на каждую программу
Это будет коряво и неудобно. Пример: проблемы с правами доступа к файлам. Одна программа не сможет прочитать записанный другой программой файл (файл скачан браузером и надо его открыть гимпом от другого пользователя). При этом одна программа может, как я понимаю, перехватывать нажатия клавиш в другой программе, установив какой-нибудь глобальный хук. С привилегиями еще сложнее — надо вручную настраивать фаерволл, а разграничить доступ к USB устройствам без сторонних программ нельзя. В то время как в Андроиде это все есть и работает из коробки.
Ну и для запуска программ от разных пользователей в винде, как я помню, надо либо вписать их пароль в ярлык запуска, либо вводить руками каждый раз. Впрочем, если ярлык доступен только админу, то это не беда, но все равно, коряво.
vikarti
18.10.2018 07:15В Макоси те же проблемы только...Apple их решает лучше.
Тут и намного более жесткое внедрение цифровых подписей (причем и компонентов программ тоже). По умолчанию программа без подписи (хотя бы Developer ID) не запустится без явных действий пользователя. К некоторым API (iCloud тот же) неподписанного коду доступа нет.
И блокировка возможности случайно загрузить неподписанный код потому что приложение 'просто запустили' а не ставили (гуглим App Translocation).
И System Integrity Protection который просто не дает лезть в системные каталоги в том числе и все тут (отключаемый, в том числе — выборочно, но отключаемый прямой командой из Recovery, при этом особо нужды у пользователя отключать нет)Sabubu
19.10.2018 03:22Проблема с подписями в том, что их может выдавать только Эппл и пользоваться этим в своих интересах:
— банить неугодные программы вроде popcorn time
— требовать продавать программу через Эппл с отчислением 30% прибыли
— запрещать или ограничивать свободный софт (лицензионными требованиями, противоречащими свободной лицензии)
Ну и ручные проверки не идеальны и могут что-то просмотреть. Сами понимаете, нетрудно написать программу, которая активирует вредоносные функции только в определенный день по сигналу.
Потому подход Гугла, который (в общем) не требует единого центра доверия, мне нравится. Хотя он больше подходит для «продвинутых» пользователей, которые способны оценить список разрешений, отключить то, что не нужно. «Чайнику» конечно удобнее, когда за него кто-то проверит программу и ее разрешения, пусть даже это и ухудшает экосистему и снижает выбор.
> И System Integrity Protection
Это именно костыль, скорее всего из-за того, что есть легаси софт, который привык туда лазать и не хочется его ломать. По идее тут разделения прав должно быть достаточно.vikarti
19.10.2018 18:18Может.
Но сейчас — не особо пользуется.
Программы с Developer ID-сертификатом НЕ продаются через стор и могут делать все что угодно (правда 99 баксов в год с разработчика это не отменяет). И разумеется их никто не проверяет. А вот знать кто лез к тому же iCloud или хотя откуда вообще приложение — уже важно (у MS ж тоже подписи есть но заплати за сертификат отдельно, сначала найди кому при этом, и никаких почти особых попыток убедить пользователей что надо обращать внимание)
У гугла — мобильная платформа. macOS — десктопная. Более менее совместимая и более менее нормально работающая. И весьма удобная.
Да — на Линуксе можно собрать аналог. Себе. И настраивать.
Да, в Макоси все это пока отключается.
SIP насколько я понимаю — как раз таки ломает некоторые legacy-приложения. Он даже часть штатного продвинутого функционала ломает (потому что отрубает DTrace). Как я понимаю цель — именно быть уверенным что «за» юзера не разрешили что не надо (пусть и убеждением кликать Next->Next->Next)(c загрузкой драйверов кстати похожая ситуация).
vikarti
18.10.2018 07:08Потому что есть особо умный софт вроде Chrome который (в не-Enterprise-варианте установки) ставится в appdata. Потому что так удобнее автообновление сделать.
fmj
18.10.2018 07:46Почему тогда chrome enterprise ставиться в «Program files» и автообновление работает? В чем смысл ставить в appdata?
zeronice
18.10.2018 07:55Хитрый план в том, чтобы в домене с дефолтными политиками бесправный юзер без ведома админа накатил себе хром, амиго, и еще парочку софтин
fmj
18.10.2018 08:01Тогда еще больше непонятно, почему ms по дефолту не отберет права на выполнение в таких каталогах, если нормальный софт туда все равно ставить не нужно.
Ubuntovod
18.10.2018 08:17Очевидно, чтобы ненормальный софт тоже работал — репутация универсальной системы многого стоит.
zeronice
18.10.2018 08:51Огромное количество legacy начиная от vb6, которое должно работать у корпоративных пользователей. Во времена висты итак проблем с запуском софта хватало, такая мера бы убила новую систему.
Как следствие пограничного решения с вистой, у конечных пользователей появилась куча софта в профилях и на данный момент запретить по дефолту всем — еще большая потеря репутации
ad1Dima
18.10.2018 09:20Для начала надо предоставить всем желающим кнопку «сделать так, чтоб работало» в новых изменившихся условиях. Эту кнопку они делают уже 10 лет. Вот буквально вчера вышла очередная попытка .
Они делают новые пакеты приложений, чтоб они были изолированные и не писали куда попало в системе (даже если думают, что пишут). Например те же записи в реестр идут в отдельный локальный куст реестра и не влияют на основной реестр (защита в том числе и от атаки из статьи)
Naves
18.10.2018 09:33Половина инсталляторов сначала распаковывается в каталог %temp% а потом продолжает установку оттуда. А каталог темп по умолчанию в пользовательской appdata.
Разработка софта, visual studio по умолчанию создаёт проекты в моих документах и соответственно оттуда запускает исполняемые файлы.
Далее, постепенно выпиливаемый кейс, скачатьреферат.doc.exeлегальную программу в папку загрузки и запустить ее, или с рабочего стола.
И вот таких вариантов тысячи.
Попробуйте себе сами через security policies запретить запуск исполняемых файлов из каталога %userprofile% много нового узнаете.
Это в корпоративной среде можно в раз и выключить пользователям запуск из собственного каталога, а потом начинаются мучения, то банк-клиент, то контур-экстерн, то очень-важная-программа.ехе А они сейчас начали обновляться так же как хром, что-то тихо сами себе скачали, а потом пытаются запустить и обновить сертификаты центробанка, а криворукий админ все сломал-уволить-его-немедленно.fmj
18.10.2018 10:06Попробуйте себе сами через security policies запретить запуск исполняемых файлов из каталога %userprofile% много нового узнаете.
У меня все запрещено: и на работе, и дома.
Разработка софта, visual studio по умолчанию создаёт проекты в моих документах и соответственно оттуда запускает исполняемые файлы.
Поменять путь? У меня VS работает от своего пользователя.
Половина инсталляторов сначала распаковывается в каталог %temp% а потом продолжает установку оттуда. А каталог темп по умолчанию в пользовательской appdata.
Софт ставится через админа, для админа нет ограничений, ограничения для обычных пользователей. Просто из-под админа не надо сидеть.
Это в корпоративной среде можно в раз и выключить пользователям запуск из собственного каталога, а потом начинаются мучения, то банк-клиент, то контур-экстерн, то очень-важная-программа.ехе
srp и applocker поддерживают правила по сертификатам. Но да, говнософта очень много. Нужен централизованный updater.Ubuntovod
18.10.2018 10:40Если заморочиться то так оно и есть.
С оговоркой — софт ставится от админа. Плюс есть куча вещей, не работающих полноценно без прав админа — например активация по кнопке в discord и ему подобном софте, а обновляется он часто, раз в несколько дней. Решение для работоспособности только одно — запускать такой софт тоже от админа. Отсюда в массовом сознании у населения появляется рефлекс давать доступ вообще всему что попросит — будь то инсталлятор, нажми ОК в UAC, либо хочешь чтобы уже установленная прога полноценно работала нажми точно такой же ОК.
Какие у вас есть легкодоступные идеи? Чтобы было легко запустить от админа часто обновляемый софт, но не было так же легко случайно запустить от админа кривой инсталлятор.fmj
18.10.2018 12:16Это отстойный софт, если ему нужны повышенные права для постоянной работы. От админа я предложил запускать только установщики, а для обновления(особенно, если несколько раз в день) разработчикам надо было написать сервис. Если этого нет, то придется делать свой каталог для подобного ПО и разрешать по сертификатам через srp/applocker.
Чтобы было легко запустить от админа часто обновляемый софт, но не было так же легко случайно запустить от админа кривой инсталлятор.
Можно посмотреть сертификат(кому и кем выдан, винда недоверенные выделяет другим цветом(видимо специально для простых пользователей)), если не подписан, то сразу в топку.
Похоже ms просто ждет, когда win32 вымрет и заменит все modern-ом. И еще там, что радует, не пройдут любители читать и писать файлы в ui-потоке.
Naves
18.10.2018 12:17Вот, например, один случай меня просто выморозил.
Какая-то программа для отправки отчетности в ПФР, поставилась в program files x86, при запуске требует прав админа. Думаю не вопрос, стандартным движением разрешаю всем права на запись в каталог программы — все равно требует прав. Жалкие попытки поиграться с режимом совместимости — без результата. Сзади дышит толпа директоров и бухгалтеров — нам же нужно отправить отчетность вчера, почему так долго, на старом компьютере все работало. И легким движением руки учетка бухгалтера становится локальным админом. (с)mayorovp
19.10.2018 08:49Нужно брать редактор ресурсов и вырезать из программы манифест. Пока в манифесте прописано «запускать от админа», никакие права и режимы совместимости не помогут.
Кстати, вырезание манифеста заодно включает виртуализацию Program Files: программ будет думать что пишет в свою папку, а на самом деле будет писать в профиль пользователя.Naves
19.10.2018 11:27Ковыряние с манифестом — это было бы следующее действие админа. Но пыхтящие зрители за спиной как всегда испортили представление.
Lofer
18.10.2018 12:55Софт ставится через админа, для админа нет ограничений, ограничения для обычных пользователей.
Я вас огорчу господа, но софт в винде ставится не от Админа :) В MS не идиоты сидят. Инсталятор запускается от Aдмина & Secure Desktop и происходит его «распаковка». Но сама процедура, происходит под системной учетной записью LocalService (не помню нюансы), в которой вы ничего не знаете о пользователе, который запустил инсталятор, равно как и доступа к его документам. Только если вы перед этим не передадите SID логина который запусил инсталятор, что позволит, в лучшем, случаем распотрошить реестр руками и узнать какие-то пути.
Опять же это относится к MS MSI сервисам. Что делают «самопальные инсталяторы» — для меня загадка.
Lofer
17.10.2018 17:15Другими словами проводник после внедрения библиотеки должен был стать недоверенным приложением,
А это исходя из какой логики? Загручик отработал корректно? Информация о процессе есть? маркеры безопастности корректны? механизмы .LOCAL-перенаправление DLL или Fusion (SxS) корректны и они системные? Манифест приложения есть и он корректен? Какие претензии если сделано согласно спецификации?
но ведь они этой новой фишкой хотели уберечь от шифровальщиков неопытных и без сложных настроек
Что вектор атаки не учли — это конечно конфуз. А к системному механизму контроля доступа процесса к папке какая претензия, если процесс формируется с такими нюансами? Это уже вопрос к формированию процесса, которому доверяют или нет.
По документации, процесс формирутся в 37 операций, до передачи ему управления.simplix
17.10.2018 17:39Безопасность процесса определяется не только кодом исполняемого файла. Внедрили в него вредоносную библиотеку и уже безопасный процесс выполняет команды злоумышленника. Это не обязательно делается указанным в статье способом, библиотеку можно подгрузить и добавлением в KnownDlls, и вообще без реестра, размещением с нужным именем в одной папке с исполняемым файлом, и другими способами. В SRP, например, учитываются такие события, там можно применять политику и к библиотекам. По-нормальному они должны признать это проблемой и устранять все векторы атак, как до сих пор делают это с UAC.
Lofer
17.10.2018 17:47По-нормальному они должны признать это проблемой и устранять все векторы атак, как до сих пор делают это с UAC.
UAC работает похоже. Если в контексте Админа Нечто отформатирует винт — это будет только проблема пользователя, потому что он или отключил UAC или подтвердил, то он Админ, тем самым открыв доступ к функциям требущим SecureDesktop флага для исполнения. Не вижу разницы между подтверждением «доверия» через UAC для функции или внесения ПО в список «доверенного» для папкиsimplix
17.10.2018 17:56О том и речь. Обратите внимание, сколько здесь незакрытых векторов (системы до «Fixed in») и львиная доля которых продолжает работать на поддерживаемых производителем системах. Но их хотя бы продолжают постепенно закрывать в самых новых системах.
Lofer
17.10.2018 18:55-1В любом случае все упирается в человеческий фактор. Или ты подтверждаешь и принимаешь осознанное решение или нет.
В том что реализоало МС — большинство домашних хомячков скажет «нет», в среде корпоративной — админ все перекроет нафиг.
Стоит ли из-за десятка альтернативно-одаренных делать супер-наворочанное? MS потихоньку закручивает гаечки в безопастности — Edge уже исполняется внутри среды виртуализации Hyper-V, так, что оттуда фиг Copy-Paste сделаешь не включив разрешение предварительно в настройках, не говоря о том, что бы что-то сохранить на винте. Потиху вся безопастность MS под такую архитектуру перетекает, вместе с разнесением на разные кольца безопастного исполнения.
Запустить не подписанный код с неизвестного источника требущий серьезного доступа, даже если ты и локальный админ — сейчас тот еще квест. Дошло до того, что дома родители не могут пользовать Скайп. продукт MS в ОС от MS нельзя просто «обновить» пользователю и пользовать.
Внушает повод к оптимизму.Barafu_Albino_Cheetah
17.10.2018 21:27Оптимизьму? Оптимизьма хорошо.
У меня есть прикладная софтина, которой я хочу пользоваться. Официальная, подписанная. Но ходят слухи, будто она ворует пароли из Мозиллы. И вот как мне средствами Windows ограничить подозрительной, но нужной софтине, доступ к пользовательским файлам? Ну то, что в Linux одной командой bwrap делается?
Вторая проблема: другая софтина сохранила куда-то кривой конфиг, и теперь отказывается стартовать. Конфиг надо найти и удалить. Только хрен знает где он. Ни в AppData ни в KKEY_CURRENT_USER ничего с названием софтины нет. И как его теперь искать? Пробовал ProcessMonitor — так там 100500 обращений ко всему на свете, ибо софтина крупная.Lofer
17.10.2018 23:20И вот как мне средствами Windows ограничить подозрительной, но нужной софтине, доступ к пользовательским файлам?
Честно говоря, я бы такую софтину нафиг убрал. Если критично, запускал бы в песочнице из VM или или под отдельным логином через RunAs. AppLocker и Software Restriction Policies (SRP) — надо маны покурить детально. Windows Defender Application Control — в процессе развития.Barafu_Albino_Cheetah
18.10.2018 00:54Почитал про AppLocker. В принципе да, это то, что нужно. Но доступен только в Enterprise, даже не в Pro. То есть легально на домашний комп его не поставить даже за деньги. Прелесть.
rub_ak
18.10.2018 09:05SRP на 90 процентов повторяет функционал AppLocker, и даже есть функционал которого нет в AppLocker. Единственное он с пользователями не умеет работать.
Он есть в любой редакции начиная с PRO и выше.
rub_ak
18.10.2018 00:33Если я понял правильно как работает bwrap, то настраиваете запуск вашей софтины от отдельной учетной записи, и даете на нужные данные разрешения используя символьные ссылки. (с реестром такое не пройдет, точней мне в голову пока не приходит как можно сделать ссылку на реестр другого пользователя.)
fmj
18.10.2018 07:01запустить ее с низким уровнем целостности.
rub_ak
18.10.2018 09:10Разве это не вызовет UAC, а в случае отказа на повышение сбой программы?
Видовс умеет сам в песочницы, вот только я не знаю можно ли их вручную назначить приложениям.fmj
18.10.2018 09:16Разве это не вызовет UAC, а в случае отказа на повышение сбой программы?
А почему он должен его вызывать? Может я ошибаюсь, но если в манифесте нет требования запускать с повышенными правами(если нет манифеста(старое ПО), то если включено определение установщиков, тогда может появиться запрос на повышение прав), то uac сам не вызывается.
вот только я не знаю можно ли их вручную назначить приложениям.
можно назначить уровень целостности, например, через icacls.
fmj
17.10.2018 16:10До сих пор не понимаю, почему ms из «коробки» не реализует белый список ПО с удобным управлением(для home версий)? Тогда будет не нужна поделка(да еще и не работающая), описываемая в посте.
simplix
17.10.2018 17:06Главное что сама возможность есть для любых редакций, пусть и управляется не из коробки.
ElvenSailor
17.10.2018 17:13До сих пор не понимаю, почему ms из «коробки» не реализует белый список ПО с удобным управлением(для home версий)?
Потому что это не так просто, как кажется.
Если попробовать самому сделать это руками/скриптами/антивирусом, сразу будет понятен объём шишек, которые придётся набить в процессе:
— ПО вообще-то не статично, оно бывает, обновляется, а бывает и ставится новое. Между версиями набор файлов различается;
— Программа может состоять далеко не из одного exe-шника, взаимоедействие между которыми далеко не всегда очевидно;
— И ещё есть DLL-ки, которые могут лежать абсолютно не там, где стоит главная софтина, разделяться между несколькими exe-шками и вообще подгружаться чёрт знает откуда (на чём построены и легитимные приёмы, и не столь легитимные хаки игр, не говоря уже о совсем чёрных троянцах).
— Добавляют веселья разрабочтики, что норовят захапать побольше привелегий, как правило не сильно нужных (а потом мы удивляемся, зачем ей права админа), или в 2018 году пишут данные в подпапку программы в Program Files (Виста? 7? 8.1? 10? Не, не слышали).
Как это всё удобно и прозрачно завайт- (или заблэк-)листить, чтобы это не сломать?
Мне кажется, сами MS для того и продвигают свой магазин, чтобы похоронить легаси и сделать вменяемый контроль приложений возможным. Но это ещё не один год пройдёт.
fmj
17.10.2018 17:27Если ПО установлено в каталоги, где запись обычным пользователям запрещена — их просто включить в список по пути.
Если нет, то по сертификатам. Если не подписано — все плохо, в srp есть правила по хешу, но это очень не удобно.
ПО которое пишет в «Program files» — адовое зло. Приходится создавать отдельных пользователей и настраивать кучу прав. Еще было ПО, которое писало временные файлы на «D:\» !!!..simplix
17.10.2018 17:41По сертификатам умеет AppLocker, но его нет в домашних редакциях. Там и SRP не работает, но его хоть можно активировать редактированием реестра.
fmj
17.10.2018 17:46SRP вполне бы подошло и для домашних пользователей. Но вместо этого — не работающее «решение», а applocker даже на pro не работает.
Еще srp обходится с mshta, но права на его запуск можно просто у всех забрать.
ad1Dima
17.10.2018 20:02S-Mode — и нельзя мимо стора приложения устанавливать. И реестр такие приложения не похачат.
Vaitek
17.10.2018 17:29я включал эту защиту. по умолчанию рабочий стол тоже защищается.
теперь каждый второй инсталлер не может мне сделать ярлык на рабочий стол.
и даже добавлять инталлер предварительно в список не помогает, тк первый инсталлер распаковывает (или скачивает) второй и тп.
в общем хорошо что есть, но плохо, что сделано так неудобно.Ubuntovod
18.10.2018 08:15С кучей старых инсталляторов (колхозных с торрент-трекеров, просто перепакованных в несколько слоев) и будет неудобно. И бороться с Legacy иногда попросту невозможно.
Майкрософт для этого и вводит виндомагазин, осталось просто ждать пока в нём появится достаточное количество годного софта, а сервисы перейдут в онлайн. Если такой подход станет нормой, во что верится почему-то слабо, то контролировать софт станет проще и в какой-то момент Legacy можно будет просто отрубить на одном из новых релизов системы. Только произойти это может только разве что после выхода из строя оставшегося железа, поддерживающего версии системы без виндомагазина.
Для простых людей отказ от Legacy может быть выходом, а кому надо больше — смогут найти способ установить что-то в обход системы, так что особо антиутопии здесь, мне кается, и нет.Vaitek
18.10.2018 08:27Согласен, но сейчас притензия именно к реализации. Если что-то блокируется, то об этом сообщается только в слепом уведомлении. В нем длинные пути обрезаются, часто даже понять нельзя что было заблокировано. Журнала блокировок тоже не нашел. В общем ощущение, что делали в попыхах.
vesper-bot
Реитерация Browser Helper Objects, похоже. Как таковой уязвимости тут нет, но есть вектор закрепления в системе.