Microsoft выпустила билд Windows 10 Insider Preview Build 16232 для PC на канале быстрых обновлений (Fast ring) для участников программы Windows Insiders, а также новый билд для мобильных устройств Windows 10 Mobile Insider Preview Build 15228 (тоже (Fast ring). Чуть ранее компания анонсировала новые функции безопасности, которые появятся в операционной системе к осеннему обновлению Fall Creators Update. Так вот, некоторые из анонсированных функций безопасности реализованы именно сейчас в этих билдах, так что их можно «пощупать» в деле.

Защита от эксплойтов


Одно из нововведений — настройки защиты от эксплойтов в Windows Defender Security Center. Теперь пользователь может собственноручно проверять текущие настройки, изменять их для системы и отдельных приложений непосредственно из Windows Defender Security Center, а не из Windows Defender Antivirus.



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

Защита от эксплойтов Windows Defender Exploit Guard реализована на базе системной защиты Enhanced Mitigation Experience Toolkit (EMET). Microsoft уверяет, что эта технология позволяет эффективно защитить систему не только от известных уязвимостей, но также от неизвестных, то есть 0day. Встроенные правила и политики стараются помешать вредоносной программе совершить вразумительные действия в системе, даже после вскрытия новой уязвимости.

Защита отдельных приложений Windows Defender Application Guard (WDAG) призвана остановить распространение инфекции, если она уже попала в систему. Если кто-то случайно скачал и запустил вредоносную программу из Интернета, или зловред попал в систему через 0day-уязвимость, то WDAG пытается изолировать это приложение, чтобы оно не распространилось далее по локальной сети и на локальном компьютере. Microsoft пишет, что это дополнительный уровень защиты системы, в дополнение к файрволу и антивирусу.

Управляемый доступ к папкам в Windows Defender Antivirus


Это совершенно новая опция, которая призвана защитить ценные данные на компьютере от вредоносных приложений и угроз, в том числе от криптовымогателей. Для включения этой опции в англоязычной версии Windows 10 следует запустить Windows Defender Security Center, перейти в раздел настроек Virus & threat protection и активировать опцию Controlled folder access.



Настройка создаёт «белый» список приложений, которым разрешён доступ к определённым папкам. При попытке иного приложения записать что-нибудь в эту папку или изменить (зашифровать) файлы в ней пользователь получит уведомление о попытке несанкционированного доступа. В настройках управляемого доступа можно указывать произвольные папки для защиты и произвольные приложения для «белого» списка.



Хотя можно вносить под защиту произвольные директории, но нельзя удалить оттуда папки, которые внесены по умолчанию: это Documents, Pictures, Movies и Desktop. Также по умолчанию разрешён доступ к папкам нескольким приложениям.

Внесение дополнительных директорий в список для защиты осуществляется через вкладку Protected folders. Microsoft пишет, что можно вносить сетевые ресурсы (network shares) и логические диски (mapped drives), а вот переменные окружения и подстановочные знаки (wildcards) пока не поддерживаются.



Теоретически, управляемый доступ к папкам должен запретить криптовымогателю доступ к файлам. Но насколько надёжна эта функция на практике — это ещё нужно посмотреть. Например, если Word в «белом» списке, то получит ли доступ к файлам вредоносный макрос?

Другие настройки безопасности


Кроме управляемого доступа к папкам, в новом билде реализовали опцию постоянных данных (Data Persistence) в Microsoft Edge через групповые политики виртуальной машины Application Guard, в которой работает браузер. Эта функция выключена по умолчанию, но после её активации (через Windows Components > Windows Defender Application Guard) все закладки, куки и сохранённые пароли будут сохранятся во всех будущих сессиях Application Guard.



Microsoft обещает к осени значительно усилить защиту платформы Windows 10, в первую очередь, за счёт доработки и внедрения набора инструментов Windows Defender Advanced Threat Protection (ATP).

Microsoft также обещает применять с целью усиления защиты «уникальный интеллект» Intelligent Security Graph (ISG), дата-майнинг и машинное обучение для обработки триллионов сигналов, которые поступают в облако с компьютеров пользователей. Для системных администраторов реализуют новые функции аналитики настроек безопасности (Security Analytics). Они позволят отслеживать статус установки критически важных патчей, статус важных системных настроек безопасности, конфигураций и т. д. К осени будут дополнены и API для разработчиков, которые позволят сторонним системам инструктировать Windows Defender ATP автоматически выполнять необходимые действия в случае наступления определённых условий.


Всё это пока в планах. На данный момент Microsoft реализовала пока только управляемый доступ к файлам, что тоже неплохо.
Поделиться с друзьями
-->

Комментарии (85)


  1. vesper-bot
    30.06.2017 13:42
    +2

    Интересно, через какое место сделан управляемый доступ к файлам. Если через фильтр файловой системы, его тупо отключают и что там за вин-дефендер был — неважно. Ну или reboot в петю-с-мишей, где фильтр тупо не загружается. Или какой-нибудь DoS вида "запортить фильтру списки", после чего ОС не будет загружаться из-за отсутствия доступа к файлам. Хотя идея неплохая — сейчас далеко не каждый доступ к файлу на запись является легитимным действием.


    1. daggert
      30.06.2017 16:24
      -1

      Если через фильтр файловой системы, его тупо отключают и что там за вин-дефендер был — неважно.

      Нормальные пользователи ничего не отключают, пользуясь готовым, а отключившие — ССЗБ.


      1. vesper-bot
        30.06.2017 16:45
        +2

        Отключает, естественно, вирус, получивший права системы, а не пользователь. Если отключил пользователь, то скорее всего у него хватит мозгов на резервное копирование, хотя бы в ручном режиме. Хотя бы на настройку истории файлов на отключаемый носитель.


        1. Xaliuss
          30.06.2017 22:31
          -1

          Если у вируса права системы, то никакая защита не поможет. Но против обычных шифровальщиков это реально поможет. Эскалация прав не такая простая вещь, и уязвимости прикрывают.


          1. MisterParser
            01.07.2017 17:46

            Обычно вирусы начинают вредоносные действия после получения доступа к правам системы, эксплуатируя одну из уязвимостей.


            1. Xaliuss
              01.07.2017 19:26

              Но не все вирусы так делают. Шифровальщики опасны сейчас тем, что им достаточно прав пользователя, что делает их очень простыми в написании. Эта защита от них поможет, с учётом того, что антивирусы против них помогают плохо.


  1. dimkss
    30.06.2017 13:47
    +1

    >> Настройка создаёт «белый» список приложений, которым разрешён доступ к определённым папкам. При попытке иного приложения записать что-нибудь в эту папку или изменить (зашифровать) файлы в ней пользователь получит уведомление о попытке несанкционированного доступа.

    Первая мысль — создаем список самых популярных приложений — браузеры, фары, тотал коммандеры, и маскируем эксплоит под них, не?


    1. Evengard
      30.06.2017 13:53
      +2

      Сейчас все современные бинарники от производителей браузеров и т.д. подписаны криптографически. Так что просто списком тут не обойтись.


      1. dimkss
        30.06.2017 14:02
        -2

        Действительно… тогда, как вариант, инфицируем те-же бинарники но с сайтов типа free-software-2017, besplatnye-programmy-vyndovs10 и т.д…

        Кстати интересно, почему никто не ставит задержку на шифрование? Т.е. инфицировать, подождать пару-четыре месяца, а тогда все шифрануть скопом?


        1. loki-fire
          30.06.2017 14:50
          +1

          Virus.Win9x.CIH


          1. dimkss
            01.07.2017 18:34

            Да, я его помню. Интересно почему сейчас так не делают.


        1. LazyCrazy
          01.07.2017 18:46

          Кстати интересно, почему никто не ставит задержку на шифрование? Т.е. инфицировать, подождать пару-четыре месяца, а тогда все шифрануть скопом?

          Велик шанс, что за это время обнаружат и внесут во все базы?


          1. dimkss
            01.07.2017 18:49

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


    1. CaptainFlint
      30.06.2017 14:47

      Вторая мысль: ничего не маскируем, а тупо используем официальные подписанные приложения. Скажем, текстовому редактору всё равно понадобится давать доступ ко всему, с чем работаешь. Если редактор достаточно продвинутый, то можно им в командном режиме править файлы как угодно, зачастую даже без показа окна (впрочем, запустить программу с принудительно скрытым окном тоже не проблема).


      1. i_Max2
        30.06.2017 16:00

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


        1. CaptainFlint
          30.06.2017 16:47

          Возможность запуска — это одно, а ограничение функций уже запущенной программы — это совсем другое. Вот есть у меня, скажем, редактор EmEditor.exe. Подписанный сертификатом, абсолютно чистый, незаражённый, и поэтому ему разрешено менять все файлы. Он поддерживает параметры командной строки, которые позволяют открыть файл, заменить в нём текст и сохранить этот файл без взаимодействия с пользователем. Шифровальщик пролезает на комп, и ему даже не надо самому ничего записывать, он тупо вызывает EmEditor.exe, передавая ему параметры замены, и ни одна проверка доступа к файлам даже не пикнет. Ведь файл-то будет открываться доверенным EmEditor'ом, а не самим шифровальщиком.


          1. i_Max2
            30.06.2017 17:23
            -1

            Нутак я и говорю, если бы разрешения на запуск вирусу бы система не дала, то и запустить любой редактор (и от его имени менять файлы) он бы не смог.
            Хотя бы для начала это сделали бы в Виндовс


            1. CaptainFlint
              30.06.2017 17:36

              И все его первым же делом поотключали бы. У винды же нет своего стора (не считая жалкой пародии под названием Windows Store), все приложения ставятся извне. Задолбаешься каждое в список вносить.

              P.S. Вообще говоря, есть групповые политики по разрешённому списку приложений, но кривые до невозможности, и обходятся влёт даже без специальных умений.


              1. i_Max2
                30.06.2017 22:06

                Ну значит Микрософту нужно привести в порядок груповые политики. Облагородить, «выпрямить» все углы и защитить лт обходов.


              1. Omelyan
                01.07.2017 17:46

                … но кривые до невозможности, и обходятся влёт даже без специальных умений.

                Например?


                1. CaptainFlint
                  02.07.2017 02:17

                  Пример кривости или обходимости? Кривость в неудобстве настроек — диск/каталог добавить нельзя, нет возможности задать, скажем, доверенные подписи и много прочего, что может прийти в голову. Обходимость:
                  1. В политику вписывается только имя исполняемого файла, без пути. Называем вирус explorer.exe и радуемся.
                  2. Ограничение действует только на запуск из Проводника. Если пользователь работает в другом файловом менеджере или командной строке, его это не затронет.


                  1. sumanai
                    02.07.2017 08:16

                    диск/каталог добавить нельзя

                    Можно, но не нужно. Все программы должны быть установлены в Program Files, откуда по умолчанию запуск приложений разрешён.
                    В политику вписывается только имя исполняемого файла, без пути. Называем вирус explorer.exe и радуемся.

                    Во-первых, добавлять политики на explorer.exe нет необходимости, он находится в системном каталоге, запуск из которого по умолчанию разрешён. Во-вторых, невозможно создать правило для имени, вы брешите. В SRP eсть правила для пути, хеша и сертификата, то есть именно то, что вы просили.
                    Ограничение действует только на запуск из Проводника. Если пользователь работает в другом файловом менеджере или командной строке, его это не затронет.

                    А почему тогда у меня тотал пишет «Программа не запускается! (5)», а cmd.exe «Не удается выполнить указанную программу.»? Магия WinXP x64?
                    Может, стоит проверять свои утверждения перед тем, как размещать их на гиковских ресурсах?


                    1. CaptainFlint
                      02.07.2017 13:15

                      Возможно, мы говорим о разных политиках. Я нагуглил только информацию про «Конфигурация пользователя — Административные шаблоны — Система — Выполнять только указанные приложения Windows», её и проверял, перед тем, как размещать свои утверждения на гиковских ресурсах. Да там прямым текстом в описании всё это говорится. У меня Win7.

                      Если Тотал не запускает, то, видимо, он проверяет эти политики (или пользуется API, которое их проверяет). Причём и то не везде: редактор по F4 у меня замечательно запустился, не будучи в списке. При этом в качестве редактора у меня самописная программа, которая запускает настоящий редактор в зависимости от типа файла, так вот, она тоже прекрасно запустила нужный мне редактор (который тоже не в списке) и не вякнула. А про разрешение запуска всего и вся через cmd.exe в описании упомянуто особо, и лично у меня через cmd всё запускается.


                      1. sumanai
                        02.07.2017 23:30

                        Возможно, мы говорим о разных политиках.

                        Так и есть, выкидывайте ваш гугл.
                        Пройдите в «Конфигурация компьютера — Конфигурация Windows — Параметры безопасности — Политики ограниченного использования программ», определите их и выберите уровень безопасности «Запрещено». Потом можете в дополнительных правилах добавлять что душе угодно, хоть пути, хоть хеши, хоть сертификаты.


                        1. TargetSan
                          03.07.2017 12:50

                          Как по мне, это и есть пример кривости — вроде как один функционал, но в двух местах и на самом деле разный


                          1. sumanai
                            03.07.2017 18:51

                            Вы ещё AppLocker не видели ))


  1. fedorro
    30.06.2017 13:49
    +3

    Microsoft обещает вскоре выпустить более подробную документацию по настройкам защиты от эксплойтов ...
    Которая будет заключаться в установке соответствующего флажка, и «защищать», в основном, от старого, несовместимого софта.

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


  1. qazqaz
    30.06.2017 14:49
    +2

    пиар окошек + создание новых уязвимостей


  1. TargetSan
    30.06.2017 16:28
    +1

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


    1. Sadler
      30.06.2017 23:40

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


    1. KOLANICH
      01.07.2017 09:57

      То что мс озаботилась разрешениями для приложений на винапи — это большой прогресс, это очевидное решение, давно в куцом виде используемое антивирусами и в более продвинутом виде — песочницами, которое давно надо было полноценно встроить в ОС, и если честно я не понимаю, почему это до сих пор не было сделано. Но вот на линуксе мы подобное скорее всего не скоро увидим, потому что «линукс не для десктопа», «кому я нужен, кроме АНБ» и «виртуализуй машину полностью» (QubesOS) и т.д. Приходится извращать с firejail и прочими костыльными решениями, которые весьма дырявые (солянка из seccomp-bpf, overlayfs, apparmor, capabilities, namespaces и x-серверов xpra/xephyr не может быть недырявой) и ломают приложения вместо того, чтобы симулировать окружение нужной чистот. Виртуализацией должна заниматься ОС, а не солянка из костылей.



      1. kafeman
        01.07.2017 20:31

        Но вот на линуксе мы подобное скорее всего не скоро увидим
        $ man sandbox

        Это именно то, о чем вы спрашиваете (никакой виртуализации).


  1. Nomad1
    30.06.2017 16:31
    +8

    image


    1. TargetSan
      30.06.2017 16:40

      Руль и седло не на своих местах :)


      1. ozonar
        03.07.2017 08:41

        Дело в том, что велосипед едет вправо.


    1. Hellsy22
      30.06.2017 18:31
      +1

      Хочу отметить, что в некоторых других системах получить актуальный открытых за последнюю секунду приложениями файлов — та еще задача, не то, что централизованно управлять этим процессом. А уж интерактивно контролируемый доступ к папкам и вовсе из области фантастики. Эта фича будет прекрасна и в контексте установки сомнительного софта.


  1. sumanai
    30.06.2017 16:51

    Печально, что всё это прибито к Defender.


  1. kafeman
    30.06.2017 18:16
    -3

    Всего через ~20 лет, как это сделали в Linux. Ну ОК…


    1. Hellsy22
      30.06.2017 18:33

      Ээ… что именно ~20 лет сделали в Linux? Расскажите мне про интерактивное системное приложение, способное контролировать доступ других приложений в конкретные папки.


      1. kafeman
        30.06.2017 18:55

        В Linux давно есть LSM, который устанавливает хуки на доступ к любым ресурсам. Далее, даже в ванильном ядре есть множество модулей, которые эту возможность используют. Например, вот так можно настроить права для Firefox в AppArmor:

        /usr/bin/firefox {
            # Бла-бла-бла
        
            # Запретить любой доступ к /home/user/.ssh и записывать в логи любые попытки сделать это
            audit deny @{HOME}/.ssh/** mrwkl,
        
            # Запретить доступ к /etc/passwd (как пример)
            deny /etc/passwd mrwkl,
        
            # Разрешить доступ на чтение и запись в /home/user/Downloads
            @{HOME}/Downloads** rw
        }

        Что вы имели ввиду под «интерактивное системное приложение», я не понял. GUI что-ли? Нафиг он нужен. А минусуют, наверное, программисты Microsoft, которые судя по новости даже поддержку wildcard не осилили. Выше, например, спрашивали, как быть с каким-нибудь офисным пакетом, через который всякие «Пети» распространяются. Да пожалуйста, разрешите ему доступ только к определенным файлам (.doc(x) для Word'а, например) и никакие другие файлы (например, пароли из Keepass) он прочитать никогда не сможет.


        1. kafeman
          30.06.2017 18:59

          Кстати, таким же образом можно настроить firewall на уровне приложений. Firefox'у исходящие на порт 80 открыть, а какому-нибудь калькулятору доступ к сети вообще отключить. Наверное, еще через 20 лет такое появится и в Windows.


          1. Hellsy22
            30.06.2017 19:59
            +2

            Такое есть в Windows начиная с XP SP2.


            1. Massacre
              01.07.2017 14:32

              И во многих сторонних фаерволах тоже. Причём, в интерактивном режиме.


        1. Hellsy22
          30.06.2017 19:58

          Нафиг он нужен

          Вот вчера я ставил себе пакет, которого нет в официальном репозитории. Пришлось ставить из частного. И у меня нет никакой гарантии, что в процессе установки (на минуточку — с рутовыми правами!) мне не записали что-нибудь левое. Т.е. я верю, что конкретно этот человек ничего плохого не замышлял, но все же предпочел бы убедиться. И при этом я категорически не могу ограничить работу установщика лишь парой директорий. И меня вполне устроили бы интерактивные запросы (хоть с помощью ncurses) вида «Процесс Бла-бла-бла, попытка записи в directory/file: разрешить, разрешить для этой директории, разрешить для всех, запретить»


          1. kafeman
            30.06.2017 20:16

            То, что вы предлагаете, было бы небезопасно (установщик бы за вас нажал «Да»). Но есть функция аудита, которая позволяет вам постфактум просмотреть все действия программы. Если что-то пошло не так, то вы это заметите.


            1. Hellsy22
              30.06.2017 20:39

              установщик бы за вас нажал «Да»
              А вот в случае запросов UAC никакой установщик ничего нажать не может.

              Но все немного печальнее, в линуксах mandatory lock мягко скажем — не распространен, а большинством штатных приложений не обрабатывается даже advisory lock, так что я не представляю, как вообще можно сделать ожидание решения пользователя.


              1. kafeman
                30.06.2017 20:56

                А вот в случае запросов UAC никакой установщик ничего нажать не может.
                Сможет. Все установщики в Windows получают наивысший приоритет. Т.е. после первого абстрактного вопроса «Разрешить программе X вносить изменения в систему?» все другие запросы она сможет от вас скрыть. А если выбрать «Запретить», то вы просто не сможете установить свою программу (аналог — когда вас спрашивают «Установить пакет X? y/N»)

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


                1. Hellsy22
                  30.06.2017 21:36

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

                  Меня вот как-то миновали проблемы с Петей и Wannacry, вероятно хватило десяти минут проведенных за настройкой штатного фаервола. И ребенок ни разу не смог заразить виндовую машину — административного доступа нет, а белый список приложений/директорий есть, так что никакую пакость из интернета или с флэшки не намотать. Впрочем, на момент эпидемии я немного подстраховался и включил еще ShadowDefender (кстати, есть ли его аналог под линукс?)

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


                  1. kafeman
                    30.06.2017 21:52

                    Почитайте Хабр по запросу «Petya». Многочисленные админы утверждают, что у них, среди прочего, были установлены все последние обновления, а также имелся внешний (!) железный firewall. Не помогло.

                    Насчет ShadowDefender — именно по такому принципу работает ФС в Docker. При чтении могут использоваться файлы из вашей хостовой системы, а при записи создается копия. Придумано для экономии места на диске.

                    Проблему с установщиками, теоретически, можно было бы решить, добавив больше мета-информации к пакетам. Тогда перед тем, как передать управления какому-нибудь postinstall, установщик системы загонит сам себя в песочницу, в которой разрешено только то, на что вы дали свое согласие перед установкой.

                    И очень хорошо, что хотя бы в одной ОС мне придется напрягаться меньше.
                    Это в какой же?


                    1. Hellsy22
                      30.06.2017 22:10

                      Многочисленные админы утверждают
                      А вы ожидали, что они признают свои ошибки?

                      по такому принципу работает ФС в Docker
                      Не секрет, что с контейнеров виртуальных машин можно делать снапшоты и откатывать их по надобности. Но как быть с десктопом? Мне известна лишь одна ОС, подразумевающая гипервизор и контейнеры на десктопе — это Qubes, но она очень уж неспешна и все еще сыровата.

                      Это в какой же?
                      В Win10, очевидно. Кстати, вот еще интересный вопрос — много ли популярных дистрибутивов для десктопа идут с SELinux или AA?


                      1. kafeman
                        30.06.2017 22:23

                        А вы ожидали, что они признают свои ошибки?
                        Нет, но они бы могли промолчать, не в даваясь в детали того, что и где у них стоит. А тут скорее возглас — как так, мы все сделали правильно, а оно все-равно заразилось.

                        Но как быть с десктопом?
                        Если поискать, то copy-on-write ФС для Linux наверняка существуют. Просто я не вижу в этом смысла — мне проще запретить запись каким-то левым приложениям, чем потом откатывать их приколы.

                        В Win10, очевидно.
                        Почему очевидно? Что именно в Windows сделано лучше в плане безопасности, чем в Linux? Из того, что мы обсуждали, пока результат не в ее пользу, из-за слабой реализации MAC.

                        много ли популярных дистрибутивов для десктопа идут с SELinux или AA?
                        Практически все.


                        1. Hellsy22
                          30.06.2017 22:55
                          +1

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

                          У меня сложилось диаметрально противоположное впечатление. Если не скатываться на уровень типа «в линуксе нет XXX, значит XXX не нужен!», то все довольно очевидно. Но давайте еще раз пройдемся по основным пунктам.

                          1. Файервол в Windows изначально application-based. Дает возможность разграничить доступ не только к/от IP или интерфейсам, но и к авторизованным компьютерам (это опять-таки про ленивых сисадминов). По-умолчанию содержит монитор, позволяющий увидеть, какие приложения подошли под правила и каков был результат. При этом интерактивен, т.е. при первом запросе неизвестного ему приложения поинтересуется у пользователя — можно ли пускать, не забыв показать есть ли у приложения валидная цифровая подпись доверенного издателя.

                          2. UAC проверяет валидность издателя и может выполняться от разных административных аккаунтов, sudo ничего не проверяет и вариантов выбора аккаунтов даже из wheel я что-то не видел.

                          3. Интерактивный управляемый доступ к папкам.
                          Собственно, обсуждаемая тема. Это то, что радикально поможет уменьшить количество бардака с доступом. UAC тоже хорошо помог — приложения могут писать только в свою собственную установочную директорию, любой шаг в сторону вызывает вопросы UAC. Но это уже после установки, а мне нужно знать, что происходит в процессе. И нет, я не хочу узнавать об этом постфактом из аудита (который, кстати, в винде тоже есть и весьма подробный).


                          1. kafeman
                            30.06.2017 23:24

                            Если не скатываться на уровень типа «в линуксе нет XXX, значит XXX не нужен!», то все довольно очевидно.
                            Я лишь имел ввиду, что никогда не испытывал необходимости в XXX, и потому не знаю, существует оно, или нет. Но за 5 минут поиска все-таки нашел. Оно? По описанию даже лучше.

                            Файервол в Windows изначально application-based
                            А выше пишете, что начиная с XP SP2. Хотя это, конечно, неважно. Информация о том, что какое-то приложение нарушило политику, как оказалось, есть. Например, в стоковой Fedora с Gnome. Для того, чтобы добавить исключения, нужно, естественно, ввести пароль root.

                            UAC проверяет валидность издателя
                            У Intel есть соответствующие патчи, но ими сознательно никто не пользуется. В конце концов, доверие к издателю ничего не значит. Возвращаясь к Petya, одним из векторов атаки был взлом серверов одного достаточно честного приложения для бухгалтерии. Издатель, естественно, был не в курсе, и никого ломать не желал. Аналогичная история случилась в прошлом году, когда взломали сервера BitTorrent.

                            sudo ничего не проверяет и вариантов выбора аккаунтов даже из wheel я что-то не видел.
                            Простите, вы sudo когда-нибудь пользовались? Из манов: «sudo, sudoedit — execute a command as another user». Вы можете залогиниться вообще под любым аккаунтом, даже системным, вход для которого любым иным образом запрещен.

                            Интерактивный управляемый доступ к папкам.
                            Все тоже самое, и даже больше, уже давно есть в ванильном ядре Linux. Причем есть выбор: AppArmor для домохозяек или SELinux для продвинутых. Можете ли вы ограничить доступ конкретного приложения к файлам с определенным расширением? Судя по тому, что я прочитал в этой новости, нет.

                            Но это уже после установки, а мне нужно знать, что происходит в процессе.
                            Вы читали мой комментарий? Придуманной вами возможности в Windows нет. Впрочем, как и в Linux.


                            1. Hellsy22
                              01.07.2017 00:58

                              Не совсем понял при чем тут btrfs, но мне он знаком лишь как альтернатива zfs для дедупликации, снапшотов и компрессии на лету. Вообще, если говорить о файловых системах, то производительсность NTFS разумеется ужасна — у меня из под виртуалки самба вдвое быстрее файлы отдает с ext4 на том же диске, чем нативная винда с ntfs-раздела.

                              А выше пишете, что начиная с XP SP2
                              Так он и появился в XP SP2. До этого штатного фаервола, ЕМНИП, не было, в ходу были лишь сторонние.

                              Информацию о том, что какое-то приложение нарушило политику я могу вам даже с помощью iptables сделать
                              например так
                              iptables -N LOGDROP
                              iptables -A LOGDROP -p TCP -j LOG --log-level 7 --log-prefix "TCP DROP: "
                              iptables -A LOGDROP -p UDP -j LOG --log-level 7 --log-prefix "UDP DROP: "
                              iptables -A LOGDROP -j DROP
                              ... и в самом конце:
                              iptables -A OUPUT  -j LOGDROP
                              


                              1. kafeman
                                01.07.2017 01:59

                                Не совсем понял при чем тут btrfs, но мне он знаком лишь как альтернатива zfs для дедупликации, снапшотов и компрессии на лету.
                                OK, тогда расскажите, что такое этот ваш ShadowDefender? Как я понял, это ФС, которая фактически копирует файл (целиком или блоками), а процесс об этом не знает. После все изменения откатываются обратно.

                                Информацию о том, что какое-то приложение нарушило политику я могу вам даже с помощью iptables сделать
                                Нет, я имел ввиду именно user-friendly. Вверху экрана всплывает уведомление о том, что нарушена какая-то политика.

                                Кстати, нашел в Интернете вот такой скриншот. Можете сами поискать вариации по запросу «selinux alert».

                                Скриншот, предположительно стоковая Fedora
                                image


                                1. Hellsy22
                                  01.07.2017 02:24

                                  что такое этот ваш ShadowDefender

                                  Дополнительная прослойка между реальной файловой системой и приложениями. Все изменения файлов, записанные после включения SD — пишутся в память/его скрытый от доступа файл, но для системы и приложений все выглядит как обычно. Перед перезагрузкой машины администратор может подтвердить все изменения или изменения отдельных папок/файлов. Если не подтвердит, то после перезагрузки машина вернется в точности в состояние до включения SD. Неиспользуемые в данный момент файлы можно закоммитить хоть сразу.

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

                                  которые жмут «Разрешить» не задумываясь
                                  Такие и sudo подтверждают не задумываясь, хотя конечно же под десктопный линукс угроз все еще намного меньше.

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

                                  Следующим в моем виш-листе стоит application-based routing, в винде он кое-как делается через приложение ForceBindIp (работает не всегда), в линуксе надо мучиться с метками пакетов, роутингом и отсутствием возможности привязать все это непосредственно к приложению (можно или к порту, или к pid-у).


                                  1. kafeman
                                    01.07.2017 02:41

                                    Все изменения файлов, записанные после включения SD — пишутся в память/его скрытый от доступа файл, но для системы и приложений все выглядит как обычно. Перед перезагрузкой машины администратор может подтвердить все изменения или изменения отдельных папок/файлов. Если не подтвердит, то после перезагрузки машина вернется в точности в состояние до включения SD.
                                    И в чем отличие от:
                                    Не совсем понял при чем тут btrfs, но мне он знаком лишь как альтернатива zfs для дедупликации, снапшотов и компрессии на лету.
                                    Обычная copy-on-write ФС. Можно откатить, можно оставить.

                                    Такие и sudo подтверждают не задумываясь
                                    Не, тут на вопрос «Что ты сейчас сделал?» пользователь хотя бы ответит «Ввел свой пароль», что может натолкнуть его на определенные мысли. А в случае с UAC он обычно даже не помнит, что было написано на кнопке, которую он нажал.

                                    Андроид пока впереди всех
                                    Потому что он был кастрирован изначально. Сейчас такое без потери обратной совместимости уже не сделать. Посмотрим, что выйдет из Ubuntu Snap. С одной стороны, выглядит интересно. С другой стороны, как срочно обновить какой-нибудь OpenSSL внутри контейнера?


                                1. khrundel
                                  01.07.2017 19:25

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

                                  Точно?
                                  Многие консольные приложения вызывают sudo сами, т.е. в терминале может появиться запрос от sudo на пароль. Если перед этим дать пользователю заполнить опросник или тупо симулировать долгий процесс подготовки данных, многие ли нажмут ctrl-c вместо простого ввода пароля?
                                  Ну и консольный sudo тоже не панацея.


                                  history -a; echo "this program requires root"; PATH="~/.config/fakesudodir/:$PATH" bash -i

                                  Многие ли заметят подвох?


                                  1. kafeman
                                    01.07.2017 19:53

                                    Многие — это какие? У меня все выводят что-то вроде «This command has to be run under the root user» в stderr и закрываются. После чего я добавляю "/usr/bin/sudo " в начале и ввожу пароль.

                                    Многие ли заметят подвох?
                                    Все, кто не используют bash :-) Кстати, вы не поверите, у какого количества альтернативно одаренных JS-разработчиков $PATH="./node_modules/bin:..." (обратите внимание на точку в начале). Но дураки должны страдать…


                                    1. khrundel
                                      02.07.2017 18:57

                                      Многие — это какие?

                                      Почти все вменяемые из тех, чья работа не ограничена 1м действием. Знаете почему? Потому, что в linux принято "unix way", сложная программа делегирует свои функции другим программам, активно использует скрипты и всё это очень уязвимо, запускать такую программу из под рута крайне не рекомендуется. В принципе решаемо, можно форкнуться, в дочернем процессе сделать setuid(getuid()), а потом работать под пользователем, передавая команды через пайп родителю. Но на практике "sudo команда" проще. Кроме того, часто программе неизвестно, понадобятся ли ей рутовые права вообще. Поэтому часто программа, например, компонует и пишет данные на флешку под пользователем, а загрузочный сектор через sudo/gksudo.


                                      У меня все выводят что-то вроде «This command has to be run under the root user» в stderr и закрываются. После чего я добавляю "/usr/bin/sudo " в начале и ввожу пароль.

                                      рад за вас. А вот я то ли беспечнее вас, то ли честнее, потому что я пишу без пути. Впрочем, вас это не спасёт: /usr/bin/sudo() { echo "ой, судо сломалось"; }


                                      Все, кто не используют bash :-)

                                      Разве что. Но и тут $SHELL спасёт злобного хацкера.
                                      В общем, разговор начался с критики ламерья, которые говорят "да" UAC'у не думая, а закончился параноиками, у которых и шелл нестандартный.


                        1. Hellsy22
                          30.06.2017 23:06

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

                          Все это богатство доступно на самой обычной винде. На Windows Server групповые политики дают куда больше настроек.

                          Лично мне в винде не хватает только нормального роутинга. Оба штатных варианта по сравнению с гибкостью iptables — какие-то кастрированные до безобразия. Но, возможно, мне просто не хватает опыта.


                          1. kafeman
                            30.06.2017 23:26

                            Да, еще контроль запускаемых приложений. Это очень интересная тема, поскольку штатные средства позволяют ограничить папки для запуска на уровне системы.
                            Это у вас такой юмор? Это было в Unix еще во времена, когда MS DOS даже не планировалась :-)


                            1. Hellsy22
                              01.07.2017 01:03

                              Мы говорим про современный Linux и я что-то не припомню в stage3 Gentoo или Debian-а инструментов для управления запуском или маски, ограничивающей выставление прав на файл конкретным пользователем для своих файлов. Может быть подскажете?


                              1. kafeman
                                01.07.2017 02:06

                                Я имею ввиду noexec. Например, у меня монтируются с ним все внешние диски. Пускай там будут хоть терабайты вирусов, запустить их никто не сможет. Для домохозяек я бы также рекомендовал запретить запуск из /home. Сам я этого сделать, к сожалению не могу, потому что часто приходится тестировать свои же программы.

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


                                1. Hellsy22
                                  01.07.2017 02:33

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

                                  noexec — в целом вариант, если сабж поддерживается zfs, то можно хоть каждому пользователю выделить свою fs в общем пуле. Но возникает другая проблема — запретить все можно, а вот разрешить запускать что-то в пользовательской директории после этого — нет.


                                  1. kafeman
                                    01.07.2017 03:23

                                    Да задача, собственно, тривиальная — разрешить пользователю запускать только приложения, одобренные администратором
                                    Не вижу никакого смысла. Доступ к терминалу остается? Значит, можно писать скрипты. Тут нужно работать в направлении, чтобы запущенные пользователем программы в принципе не могли ничего испортить. Иначе выходит разновидность security through obscurity.

                                    Если речь о приложениях в каком-нибудь /usr/bin, то просто ограничьте доступ к файлам. Оставьте его только для определенной группы и добавьте в нее проверенных пользователей.

                                    можно хоть каждому пользователю выделить свою fs в общем пуле
                                    Если очень надо, то:

                                    /home/dummies/noob
                                    /home/dummies/lamer
                                    /home/stuff/kafeman
                                    

                                    Соответственно, /home/dummies — одна ФС (с noexec), /home/stuff — другая.


                                    1. Hellsy22
                                      01.07.2017 03:52

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

                                      нужно работать в направлении, чтобы запущенные пользователем программы в принципе не могли ничего испортить
                                      Это, увы, не спасет файлы самого пользователя. Хотя как отдельная задача тоже весьма интересна. Я в свое время перерыл кучу форумов и почти везде мнения сходились к тому, что chroot ненадежен и тянет за собой массу вторичных проблем, так что если нужна безопасная песочница, то лучше сразу использовать виртуальную машину. Но для десктопа это плохое решение.


                                      1. kafeman
                                        01.07.2017 04:17

                                        Не, скрипты через noexec запретить, скорее всего, не получится. Ведь формально запущен будет не spyware.sh, а какой-нибудь /usr/bin/bash. Вариант «да это от добропорядочных людей защита» — security through obscurity в чистом виде, прям как по учебнику.

                                        Спасти файлы пользователя — тут только постоянный бекап несколько раз в день через какой-нибудь duplicity. Он, кстати, может интегрироваться с Nautilus, в контекстом меню у каждого файла будет пункт «Откатить все назад». Если у вас настолько продвинутые пользователи, то они всегда могут случайно нажать «Удалить».

                                        Из виртуализации есть Docker, который имеет минимальный overhead. На десктопе вполне работоспособен, посмотрите в сторону Ubuntu Snap, ссылку я уже давал выше. Но только смысла во всем этом нету — файлы можно удалить/повредить откуда угодно.

                                        Кстати, насчет запускаемых приложений — в SELinux есть режим, когда запрещено все, что не разрешено. Для скаченного из Интернета файла политик не будет > программа не запустится даже под root'ом.


                          1. Uirandir
                            01.07.2017 17:46

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

                            man mount
                            /noexec


                            1. kafeman
                              01.07.2017 17:58

                              Перечитайте комментарии выше. У него несколько более экзотические требования.


          1. Barnaby
            30.06.2017 22:10

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

            Так можно открыть пакет и посмотреть что куда ставится и какие там скрипты. Хотя там уже бинарники, тогда и пакет надо самому собирать.


            1. kafeman
              30.06.2017 22:16

              Я так понял, он боится именно скриптов, которые выполняются из-под root'а в момент установки пакета. Анализировать сотни строк непонятно кем написанных Bash-скриптов, конечно, не самое интересное занятие, тут я согласен с Hellsy22. Было бы гораздо удобнее узнать о необычной активности пакета от системы.

              А что касается собранных бинариков, то тут уже как раз никаких проблем нет, ибо для них легко пишутся MAC-политики.


              1. Hellsy22
                01.07.2017 01:07

                Верно, процесс инсталляции меня напрягает в обеих ОС, потому как я его не контролирую и ему нужны административные права. И если подписанным приложениям в винде/штатным пакетам из репозитория я еще доверяю (хотя, как было замечено выше, ни подпись, ни репозиторий — не панацея), то ставя что-то из левого источника я каждый раз рискую. И мне это не очень нравится.


                1. technic93
                  02.07.2017 09:43

                  Редко когда программе нужен postinstall. Если был бы вариант не выполнять эти скрипты по умолчанию думаю вам бы подошло.


        1. 3al
          01.07.2017 13:32

          права для Firefox в AppArmor


          Создают видимость защиты: пока firefox запущен в X11-сессии, он может делать в ней всё. В том числе:

          1. Открыть невидимое окно терминала и сэмулировать ввод в нём произвольного текста. Родителем терминала по мнению apparmor'а будет, конечно, оконный менеджер или лаунчер DE, а не firefox
          2. Слушать весь ввод с клавиатуры в иксах. Включая пароли для sudo

          Пока в практически всех дистрибутивах используется Xorg — никакой безопасности в GUI-оболочке в них нет.


          1. kafeman
            01.07.2017 14:01

            Боюсь спросить, вы сколько лет Xorg не обновляли? В апстриме давно есть поддержка SELinux, на Launchpad легко находятся патчи для AppArmor.


            1. 3al
              01.07.2017 14:09

              Эти патчи не включены в популярные дистрибутивы и никем не тестированы.

              EDIT: да и не работают, ибо XAce бесполезен


              1. kafeman
                01.07.2017 14:39

                Fedora достаточно популярный? XSELinux Object Manager имеется (правда, отключен по-умолчанию в пользу Xephyr в песочнице, но включается одной командой).

                По приведенной вами ссылке очень странные аргументы (приложения привыкли лезть куда не надо, поэтому защиту мы включать не будем, а то вдруг эти кривые приложения перестанут работать?)


                1. 3al
                  01.07.2017 14:41

                  Ну так эта ссылка объясняет, почему пользуется Xephyr в песочнице а не XACE. В Qubes OS примерно то же самое. Слишком много реально используемых приложений ломается.


                  1. kafeman
                    01.07.2017 14:59

                    Отличный повод переписать эти приложения. Во времена первых Windows тоже были экземпляры, гадящие напрямую в видеобуфер. Но ничего, им сказали «нельзя», они перестали. Для особо упоротых оставили эмуляцию (аналогия — Xephyr). Тем более, если авторы собираются портировать свои приложений на какой-нибудь Wayland, то обуздать свои аппетиты им все-равно придется.

                    В Qubes OS в принципе все виртуализированно, не только иксы. Это их фишка.


  1. alex_ter
    30.06.2017 22:43
    -1

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


    1. nidalee
      01.07.2017 05:06

      Где гарантии

      Серьёзно?


    1. NeuroHunter
      01.07.2017 09:40

      | Где гарантии
      Там же, где и гарантии, что глубоко в недрах OpenSSL/ядра Linux/прочего популярного opensource по не лежит очередной Heartbleed.


  1. aamonster
    30.06.2017 23:13

    Не, ну пригодится, конечно (хотя как раз вирусы наверняка обойдут), но лучше бы с той же целью совершенствовали возможности бэкапа (в облако, на другие компы, ещё куда)
    Благо, инфраструктура для этого есть. Продвинутый пользователь уже сейчас может организовать себе бэкап, до которого вирус не доберётся. Volume shadow copy для доступа к файлам + rsync (читать про rsnapshot и http://www.mikerubel.org/computers/rsync_snapshots/ — благо, теперь rsync практически из коробки есть и под windows 10) + немного уличной магии, чтобы для очередного бэкапа делалась очередная папка с доступом на запись, а по окончанию — доступ на запись закрывался бы навсегда (и этим управлял бы сервер бэкапов, а не бэкапящийся комп).
    Ну, наверное, и как-то проще можно.


    Когда будет из коробки понятное чайнику решение для этого — ущерб от криптеров и дохлых hdd резко пойдёт на убыль.