Обновления Windows в последние дни становятся опасны для пользователей. Несколько дней назад желающие обновить свою операционную систему до Windows 10 стали жертвами вируса-шифровальщика. Другая история произошла на конференции Black Hat 2015, где исследователи из Великобритании показали технику доставки вредоносных программ на корпоративные Windows-ПК посредством локального сервера обновлений WSUS.



С помощью WSUS системные администраторы координируют обновления программного обеспечения на серверах и рабочих станциях. По умолчанию компания Microsoft применяет для WSUS незащищенный протокол HTTP, и чтобы включить HTTPS, администратору необходимо осуществить ряд манипуляций. Но их осуществляют далеко не всегда. Воспользовавшись отсутствием SSL-шифрования, специалисты британской компании Context Information Security смогли загрузить и установить на целевую систему поддельные обновления. Подобные апдейты могут быть использованы злоумышленниками для загрузки любой вредоносной программы и получения доступа с правами администратора.

Исследователи осуществили MITM-атаку при помощи ARP-спуфинга (возможен вариант и с WPAD-инъекцией), перехватив и изменив SOAP-запросы между клиентами и сервером WSUS, а также модифицировав метаданные в обновлениях.

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

Чтобы определить наличие SSL-шифрования в WSUS, необходимо посмотреть следующие ключи реестра:

  • HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate

WUServer — это URL-адрес сервера обновлений. Если этот адрес (например, HTTP: / /wsus-server.local: 8530) не начинается с HTTPS, значит компьютер уязвим для атаки.

  • HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU

Если стоит 0, тогда параметр WUServer будет игнорироваться. Если стоит 1, SSL во WSUS будет работать. Другие ключи реестра Windows Update можно посмотреть тут.

Администраторы могут проверить настройки групповой политики WSUS по следующему адресу:

  • Windows Components > Windows Update > Specify intranet Microsoft update

Процедура включения SSL в службах WSUS описана на сайте Microsoft.

Чтобы предотвратить загрузку фальсифицированных апдейтов, эксперты советуют Microsoft использовать отдельный сертификат для Windows Update. Как пишут авторы данного исследования, сейчас любой файл, подписанный Microsoft, может быть принят за обновление. Кроме того, британские специалисты рекомендуют подписывать и метаданные обновлений, так как в них содержится основная информация об обновлениях, включая теги handler. Подписанные сертификатом Microsoft теги позволят избежать необходимости создания доверенного канала между клиентом и сервером WSUS.

В последние дни опасений по поводу оригинальности обновлений Windows добавила и новая p2p-система в Windows 10 под названием WUDO (Windows Update Delivery Optimization). Она позволяет загружать обновления Windows с компьютеров других пользователей. Отключить пиринговую загрузку в целях безопасности (или экономии трафика) можно из раздела «Выберите способ загрузки обновлений» (Центр обновления Windows-> Дополнительные параметры-> Выберите способ загрузки обновлений):



Подробности исследования «Compromising the Windows Enterprise via Windows Update» можно прочитать здесь.

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


  1. amarao
    10.08.2015 17:29
    +5

    Простите, я не очень хорошо с виндовой частью знаком, но, разве, апдейты не подписаны цифровой подписью MS? То есть взлом транспорта не должен повлиять на то, согласна система ставить апдейт или нет.

    По-крайней мере у debian/RHEL именно так — транспорт нешифрованный, апдейты подписанные gpg. Взлом или mitm на мирроре не влияет на уровень доверия обновлениям. Худшее, что может сделать mitm — это оставить систему без апдейтов.


    1. akamajoris
      10.08.2015 18:02
      -1

      Проверка подписи есть.

      исследователи из Великобритании
      … они как британские учёные.


      1. amarao
        11.08.2015 04:43
        +1

        У вас есть претензии к британской науке? Или к чему этот комментарий?


        1. realscorp
          11.08.2015 06:52

          Очевидно, имелся ввиду известный мем.


    1. Gordon01
      11.08.2015 06:37
      +1

      Можно установить не обновление, а любой софт, подписанный MS.


      1. Nikobraz
        11.08.2015 10:26
        +2

        А как подписать у MS криптер?


    1. realscorp
      11.08.2015 07:04
      +7

      В презентации, опубликованной по этой проблеме, написано несколько подробнее, чем в статье. Служба Windows Update проверяет только то, что устанавливаемое обновление имеет подпись Microsoft CA.
      Кроме того, обновления могут быть разных типов, в том числе и CommandLineInstallation — что-то вроде скрипта, выполняемого над любым подписанным Майкрософтом исполняемым файлом.
      Таким образом можно создать фальшивое обновление, которое будет запускать, например, подписанный PsExec с таким набором параметров, что будет получен шелл с удаленным доступом.
      В-общем, проблема, получается, действительно есть :(


      1. amarao
        11.08.2015 17:54

        А сам скрипт не проходит проверку подписи? Тогда это лицо, на которое не хватает пальм.


        1. realscorp
          12.08.2015 07:49

          Там, в-общем, не скрипт на самом деле, а XML с параметрами установки. Вот он и не подписан. Увы, да, это фейспалм. Хотя не все так плохо — сервера Майкрософта отдают обновления только через HTTPS, так что домашние пользователи этой атаке не подвержены. Проблема касается только корпоративных сетей, где админы не настроили HTTPS на WSUS.


  1. EnterSandman
    10.08.2015 21:28
    +5

    Не вспомню как назывался, но еще во времена winxp был скрипт, который позволял посредством arp-спуффинга отдавал нагрузку на атакуемую машину.
    То есть какой-нибудь винамп долбится на сервер обновлений — мы ему говорим мол вот, вышла версия 777 — и он её сам «down and execute»
    там были и winamp, и notepad++, и WSUS. Всего около 40 приложений

    нашёл. Evilgrade — и входит в Kali


    1. vsb
      10.08.2015 23:37

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


      1. amarao
        11.08.2015 04:44
        +1

        В линуксах тоже норовят присобачить какой-нибудь bundler, pip, cargo и прочие штуки. Начинается как «для разработчиков», а заканчивается методом деплоя в продакшен.


        1. Tonkonozhenko
          11.08.2015 16:53
          -1

          Расскажите пожалуйста, чем так плох тот же bundler? Я как разработчик пока лучше не встречал.


          1. danfe
            11.08.2015 17:03
            +2

            Возможно, ответ найдется в этом топике (включая комментарии).


          1. amarao
            11.08.2015 18:03
            +1

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


          1. evg_krsk
            11.08.2015 20:01

            Ничего не знаю про bundler, но как админу и майнтайнеру пакетов мне очень важна т.н. воспроизводимость сборки. Т.е. возможность в любой момент времени вернуться к старому исходнику и собрать идентичный до бита бинарник/пакет. В этом отношении каждый изобретающий свой гениальный тул (для разработчика, когда оно долетает до админа, ему обычно это кажется бардаком) мне только добавляет головной боли, т.к. «собирать рекурсивно исходники из интернетов» — невоспроизводимый подход. В огромном интернете всегда кто-то ошибается просто в силу размеров :-)

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


  1. DmitryKoterov
    10.08.2015 23:50
    +2

    BTW SSL != HTTPS