- PVSM.RU - https://www.pvsm.ru -
13 августа компания Microsoft выпустила очередной апдейт безопасности (обзорная новость [1]) для операционных систем Windows и офисных программ, и на этот раз патч оказался по-настоящему гигантским: кому-то явно не удалось сходить этим летом в отпуск. Всего было закрыто 93 уязвимости, из которых 23 квалифицированы как критические. Закрыты серьезные баги [2] в Remote Desktop Services, в клиенте DHCP [3], в обработчике [4] .LNK-файлов, две [5] уязвимости [6] в Hyper-V с побегом из песочницы.
Столь монументальная работа над ошибками — это очень хорошая новость. Помимо прочего, несколько уязвимостей интересны сами по себе, а еще у одной интересная история обнаружения. Помимо уже упомянутых проблем в Remote Desktop Services, сегодня мы подробнее рассмотрим уязвимость в сервисе MSCTF. Исследователь Тавис Орманди из Google Project Zero, обнаруживший последнюю, утверждает, что проблема существует уже 20 лет. Ну и заодно оценим уязвимость в Bluetooth, которая затрагивает не только Windows.
Уязвимость в сервисе MSCTF была обнаружена Тависом Орманди почти случайно (новость [7], пост [8] в блоге Тависа). Все началось с изучения механизмов Windows, позволяющих разным программам взаимодействовать друг с другом. Такое взаимодействие ограничивается системой User Interface Privilege Isolation, которая не позволяет, например, пользовательским процессам вмешиваться в системные. Изучая странные случаи, когда, несмотря на ограничения, сообщения все же проходили, Тавис и наткнулся на модуль MSCTF.
Этот модуль относится к Text Services Framework, который в свою очередь управляет раскладками клавиатуры и подобным. К нему подключаются все запущенные приложения. Зачем? Ну, например, для облегчения процесса ввода текста на китайском или японском языках.

Для таких языков отдельная программа обрабатывает ввод в окне приложения и меняет введенное на иероглифы. По сути MSCTF — это отдельный канал коммуникации между приложениями, который, как выяснилось, недостаточно защищен. Самая ранняя версия MSCTF, которую удалось найти Тавису, входит в комплект офисного пакета Microsoft Office XP, совместимого еще с Windows 98. Начиная с Windows XP, MSCTF является частью операционной системы. Возможности взаимодействия с другими приложениями через MSCTF весьма широкие, а главное — нет никакой авторизации. В итоге Тавис написал утилиту [9] для работы с CTF и занялся поиском уязвимостей:

Уязвимости, пусть и не сразу, были найдены. В «лучшем» случае, на системе с одним из языков, требующих расширенные инструменты ввода (японский, китайский, корейский и некоторые другие), можно подменять текст в приложении, отправлять команды в консоль с правами администратора, не будучи при этом привилегированным пользователем, или красть пароли пользователей. В худшем (правда, вышеперечисленное — уже достаточно плохо) можно получить права системы, то есть повысить свои привилегии до максимальных. Такой Proof of Concept показан на видео:
Уязвимость имеет ограниченное применение, и скорее всего, большинство сценариев доступно только при наличии доступа к системе. Тем не менее, потенциально возможны варианты, когда пользователь без привилегий получает, скажем, права администратора домена на предприятии. Уязвимость закрыта [10] августовским обновлением для всех ОС, начиная с Windows 7.
Проблемы в Remote Desktop Services (новость [11], бюллетень [2] на сайте Microsoft) отчасти похожи на обнаруженную в мае этого года уязвимость Bluekeep [12]. Дыры в сервисе удаленного доступа (но не в самом протоколе RDP) теоретически позволяют распространять атаку на все компьютеры в сети, без участия пользователей: есть определенный риск повторения ситуации с шифровальщиком WannaCry [13] в 2017 году, когда масштабно эксплуатировалась проблема в реализации протокола SMB.
Впрочем, есть и отличия от BlueKeep. Более ранняя проблема не распространялась на последние версии ОС, сейчас же, наоборот, ей подвержены все ОС от Windows 7 до Windows 10 (но не Windows XP, Server 2003 и 2008). Баги были выявлены в ходе внутреннего аудита Microsoft, реальных атак пока не было замечено. И Bluekeep, и четыре новые проблемы нейтрализуются включением Network Level Authorization. Но NLA на непропатченной системе не до конца спасает от ряда сценариев выполнения кода на удаленной машине. В худшем случае (нет NLA, не установлен августовский патч, включен удаленный доступ) появляется возможность обойти авторизацию и получить контроль над системой путем отправки подготовленного запроса.
Проблему, известную как KNOB Attack (Key Negotiation of Bluetooth), обнаружили исследователи из Сингапура, Германии и Великобритании (новость [14], сайт [15] исследования, научная работа [16]). В отличие от других уязвимостей из набора патчей Microsoft, эта распространяется не только на Windows, но и вообще актуальна почти везде, где используется Bluetooth. Большой список апдейтов от производителей смартфонов, ноутбуков, IP-телефонов, отреагировавших на проблему, есть здесь [17].
В спецификациях Bluetooth два устройства, устанавливающие между собой защищенное соединение, могут выбирать длину ключа в пределах от 1 до 16 байт. В случае «восьмибитного» ключа взломать его можно достаточно быстро простым перебором: если такое «слегка защищенное» соединение будет по каким-то причинам установлено, атакующий может расшифровать обмен данными. Например, между клавиатурой и настольным компьютером. Вопрос в том, как именно реализовать такую атаку, и исследовательская работа доказывает, что есть как минимум два умеренно реалистичных варианта.

В первом случае находящийся поблизости от двух жертв атакующий может заставить их использовать шифрование с длиной ключа в 1 байт. Дело в том, что в процессе установки соединения отсутствует шифрование и даже контроль целостности данных. Во втором случае исследовался сценарий атаки на цепочку поставок: подмена прошивки устройства обеспечивает слабое шифрование во всех случаях. Вторая атака была проведена на телефон Nexus 5: меняем несколько байт в прошивке, ограничиваем длину ключа, подключаемся к другому смартфону, который вынужден принять условия для установки соединения.
Это серьезная уязвимость, которая существует благодаря изначально слабым спецификациям стандарта Bluetooth. Кроме того, множество устройств будут и дальше подвержены атаке KNOB, так как для них просто не выпустят обновление. С другой стороны, реализация такого сценария на практике достаточно сложна: в первом случае требуется оказаться неподалеку от жертвы в нужное время, во втором — вмешиваться в цепочку поставок и потом, опять же, быть рядом с атакуемым устройством, когда по нему передаются конфиденциальные данные. Во всех случаях патч устанавливает минимальную длину ключа так, чтобы атака стала практически неприменимой.
Disclaimer: Мнения, изложенные в этом дайджесте, могут не всегда совпадать с официальной позицией «Лаборатории Касперского». Дорогая редакция вообще рекомендует относиться к любым мнениям со здоровым скептицизмом.
Автор: Kaspersky_Lab
Источник [18]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/windows/327660
Ссылки в тексте:
[1] новость: https://threatpost.com/wormable-remote-desktop-bugs-august-patch-tuesday/147302/
[2] баги: https://msrc-blog.microsoft.com/2019/08/13/patch-new-wormable-vulnerabilities-in-remote-desktop-services-cve-2019-1181-1182/
[3] DHCP: https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-0736
[4] обработчике: https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-1188
[5] две: https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-0720
[6] уязвимости: https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-0965
[7] новость: https://threatpost.com/20-year-old-bug-legacy-microsoft-windows-users/147336/
[8] пост: https://googleprojectzero.blogspot.com/2019/08/down-rabbit-hole.html
[9] утилиту: https://github.com/taviso/ctftool
[10] закрыта: https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-1162
[11] новость: https://threatpost.ru/two-bluekeep-like-rds-vulnerabilities-patched-in-windows/33780/
[12] Bluekeep: https://threatpost.ru/microsoft-patches-zero-day/32632/
[13] WannaCry: https://threatpost.ru/shadowbrokers-windows-zero-days-already-patched/21478/
[14] новость: https://threatpost.ru/knob-vulnerability-in-bluetooth-allows-traffic-interception/33805/
[15] сайт: https://knobattack.com/
[16] работа: https://www.usenix.org/conference/usenixsecurity19/presentation/antonioli
[17] здесь: https://www.kb.cert.org/vuls/id/918987/
[18] Источник: https://habr.com/ru/post/464365/?utm_campaign=464365&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.