Столь монументальная работа над ошибками — это очень хорошая новость. Помимо прочего, несколько уязвимостей интересны сами по себе, а еще у одной интересная история обнаружения. Помимо уже упомянутых проблем в Remote Desktop Services, сегодня мы подробнее рассмотрим уязвимость в сервисе MSCTF. Исследователь Тавис Орманди из Google Project Zero, обнаруживший последнюю, утверждает, что проблема существует уже 20 лет. Ну и заодно оценим уязвимость в Bluetooth, которая затрагивает не только Windows.
WTF is CTF?
Уязвимость в сервисе MSCTF была обнаружена Тависом Орманди почти случайно (, в блоге Тависа). Все началось с изучения механизмов Windows, позволяющих разным программам взаимодействовать друг с другом. Такое взаимодействие ограничивается системой User Interface Privilege Isolation, которая не позволяет, например, пользовательским процессам вмешиваться в системные. Изучая странные случаи, когда, несмотря на ограничения, сообщения все же проходили, Тавис и наткнулся на модуль MSCTF.
Этот модуль относится к Text Services Framework, который в свою очередь управляет раскладками клавиатуры и подобным. К нему подключаются все запущенные приложения. Зачем? Ну, например, для облегчения процесса ввода текста на китайском или японском языках.


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

Это серьезная уязвимость, которая существует благодаря изначально слабым спецификациям стандарта Bluetooth. Кроме того, множество устройств будут и дальше подвержены атаке KNOB, так как для них просто не выпустят обновление. С другой стороны, реализация такого сценария на практике достаточно сложна: в первом случае требуется оказаться неподалеку от жертвы в нужное время, во втором — вмешиваться в цепочку поставок и потом, опять же, быть рядом с атакуемым устройством, когда по нему передаются конфиденциальные данные. Во всех случаях патч устанавливает минимальную длину ключа так, чтобы атака стала практически неприменимой.
Disclaimer: Мнения, изложенные в этом дайджесте, могут не всегда совпадать с официальной позицией «Лаборатории Касперского». Дорогая редакция вообще рекомендует относиться к любым мнениям со здоровым скептицизмом.