Дэн Рева, разработчик Google, который специализируется на кибербезопасности, обратном инжиниринге и исследовании уязвимостей, обнаружил баг в Telegram на macOS, который позволяет киберпреступникам получать доступ к камере пользователя и записывать видео со звуком даже при условии, что доступ к камере и микрофону приложения запрещен.

В Telegram знают об уязвимости, но пока не устранили ее.

Как это работает

Как описывает Рева, баг работает только для MacOS из-за уязвимости в приложении Telegram, которая заключается в том, что позволяет злоумышленникам осуществлять загрузку вредоносного кода. Таким образом злоумышленник может активировать камеру и микрофона на устройствах, записывать видео со звуком и загружать его как файл в скрытую папку на Mac.

Рева отмечает, что даже пользователь с Root-доступом на macOS не имеет таких разрешений, если программа, которая хочет осуществить запись, не получила прямое согласие от пользователя во время выполнения процесса.

Уязвимость актуальна только на macOS, поскольку на iOS все приложения должны быть защищены с помощью механизма Hardened Runtime, который блокирует добавление стороннего кода в приложение. Однако десктопная ОС не требует этого, и, как обнаружил Рева, Telegram для MacOS не применил хардинг в версии своей программы для macOS, а значит она не защищена от инъекций сторонних DLL.

Рева написал код, который снимает видео с камеры и сохраняет запись на диск в обход всех встроенных протоколов защиты на Mac, загрузил его в Telegram и получил готовую 3-секундную запись. Весь процесс инженер пошагово описал в блоге.

«Это означает, что, используя разрешения, предоставленные Telegram через внедрение Dylib (динамическая библиотека – ред.), мы смогли сделать запись с устройства пользователя. Следует отметить, что даже если бы у нас был root-доступ к системе, мы все равно были бы ограничены в открытии микрофона и камеры. Таким образом, использование уязвимости сторонней программы может предоставить нам дополнительные разрешения и позволить обойти механизм конфиденциальности Apple», – подытожил Рева.

И что теперь?

Как сообщает Forbes, Рева сообщил об этой проблеме команде Telegram, но разработчики до сих пор не устранили уязвимость и несколько месяцев не отвечали ему. Поэтому разработчик решил публично рассказать об уязвимости.

Тему распространили в Twitter, и на одно из сообщений ответили представители Telegram, которые отметили, что работают над устранением бага. Также они заверили, что уязвимость работает только в версии Telegram, загруженной из App Store, если же скачивать программу с официального сайта компании – баг работать не будет. Рева это подтвердил. Также доступ к камере и микрофону можно получить при условии наличия root-прав.

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

«Заявленная «уязвимость» заключалась в следующем: «Если бы у злоумышленника уже был доступ к Вашему компьютеру, он мог бы управлять Вашей камерой и микрофоном через Telegram». Но если компьютер уже скомпрометирован, то доступ к микрофону через Telegram – наименьшая из проблем, о которых стоит беспокоиться», – отметил Дуров.

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