Исследование безопасности Electron

Криптовалюта майнинг иконка

Вопреки многочисленным пророчествам, старые добрые «настольные приложения» с недавнего времени вновь обрели популярность. После нескольких лет переноса автономных приложений в интернет мы сегодня наблюдаем обратную тенденцию. Многие компании начали предоставлять настольные версии своих приложений, используя при этом те же технологии, что и при разработке веб-софта.

Еще по теме: Обход XSS-блокираторов посредством скрипт-гаджетов

Один из самых популярных фреймворков, обеспечивающих такую возможность, — GitHub’овский Electron, который позволяет создавать кросс-платформенные настольные приложения на основе таких технологий, как JavaScript, HTML и CSS. Хотя подобный шаг на первый взгляд кажется весьма лаконичным, встраивание веб-технологий в автономную веб-среду (Chromium, Node.js) порождает новые проблемы с кибербезопасностью.

В этом докладе проиллюстрирована Electron’овская модель безопасности и описан механизм изоляции, ограждающий примитивы Node.js от сомнительного контента. Подробно описаны внутренние компоненты Electron’а, в том числе обмен IPC-сообщениями и предзагрузка. Также представлены результаты анализа опций безопасности для BrowserWindow и WebView, архитектурные изъяны и ошибки реализации в приложениях, построенных на базе Electron’a.

безопасность Electron

Кроме того, в рамках своего исследования по безопасности Electron’а докладчик представил карту общей поверхности атак и привел исчерпывающий контрольный список антишаблонов. Также докладчик анонсировал свой новый инструмент (Electronegativity), предназначенный для автоматического поиска уязвимостей в приложениях, разработанных на основе Electron’а.

Полная версия доклада: A Study of Electron Security // Black Hat. 2017 (PDF)

Дима (Kozhuh)

Эксперт в кибербезопасности. Работал в ведущих компаниях занимающихся аналитикой компьютерных угроз. Анонсы новых статей в Телеграме.

Добавить комментарий