Проблема кроется в уязвимом фреймворке Electron для разработки приложений.
Благодаря поддержке целого ряда различных платформ фреймворк Electron, предназначенный для создания приложений, пользуется большой популярностью у разработчиков и лежит в основе множества проектов. Electron базируется на JavaScript и Node.js и используется для создания клиентских приложений Skype, WhatsApp, Slack и других средств общения в интернете. Тем не менее, как утверждает исследователь Павел Цакалидис (Pavel Tsakalidis), Electron представляет серьезную угрозу безопасности приложений.
На конференции BSides LV, на этой неделе проходившей в Лас-Вегасе, Цакалидис представил свой инструмент BEEMKA для распаковки заархивированных файлов Electron ASAR и внедрения кода в JavaScript-библиотеки Electron и встроенные расширения для браузера Chrome.
Обнаруженная исследователем уязвимость присутствует не в самих приложениях, а в используемом для их создания фреймворке. Однако с ее помощью атакующий может легко скрыть вредоносную активность в легитимных процессах.
Для модифицирования библиотек и расширений атакующему сначала нужно получить права администратора на Linux или MacOS (в случае с Windows достаточно иметь локальный доступ). Внеся изменения в библиотеки и расширения, атакующий может создать новые «функции», способные получать доступ к файловой системе, включать web-камеру и извлекать данные (в том числе пароли) из системы с помощью функционала доверенных приложений.
В опубликованном ниже видео Цакалидис продемонстрировал версию Microsoft Visual Studio Code с бэкдором, отправляющую вводимые пользователем данные на удаленный сайт. По словам исследователя, он уведомил Electron об уязвимости, но не получил никакого ответа, и проблема по-прежнему остается неисправленной.
От классики до авангарда — наука во всех жанрах