The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Опубликован инструмент для выявления проблем с безопасностью в приложениях Electron

27.01.2019 11:54

Представлен первый выпуск утилиты Electronegativity, предназначенной для выявления некорректных настроек и потенциальных проблем с безопасностью в приложениях, разработанных с использованием платформы Electron. Код проекта написан на языке JavaScript и поставляется под лицензией Apache 2.0.

Утилита выполняет разбор AST (абстрактное синтаксическое дерево) и DOM, анализирует расхождения с рекомендациями по безопасной разработке с использованием платформы Electron и автоматически выявляет потенциальные проблемы и опасные приёмы разработки. При сканировании приложения утилита распаковывает все ресурсы и анализирует используемый в приложении Javascript-код, HTML-разметку и JSON-блоки. Результат сканирования может быть выведен в форме наглядного текстового отчёта или в форматах CSV и SARIF.

В настоящее время реализовано 27 проверок, подготовленных после изучения типовых уязвимостей в приложениях на базе Electron. Например, проверяется включение настройки "disablewebsecurity", обработка внешних ресурсов без их sandbox-изоляции, обращение к внешним обработчикам, доступ preload-скриптов к Node.js API, переопределение обработчиков протоколов, использование опасных функций (insertCSS, executeJavaScript, eval), отключение блокировки всплывающих окон (allowpopups), обращение к экспериментальным API Chromium, обработка кода без опции "contextIsolation", установка HTTP-соединений без шифрования и т.п.



  1. Главная ссылка к новости (https://blog.doyensec.com/2019...)
  2. OpenNews: Релиз Electron 4.0.0, платформы создания приложений на базе движка Chromium
  3. OpenNews: Уязвимости в Signal Desktop и в платформе Electron
  4. OpenNews: Для платформы Electron представлен сервис автоматической доставки обновлений
  5. OpenNews: Уязвимость в приложениях на базе платформы Electron
  6. OpenNews: Релиз Electron 1.0, платформы создания приложений на базе движка Chromium
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/50034-electron
Ключевые слова: electron
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (35) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 11:59, 27/01/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    >Код проекта написан на языке JavaScript

    А GUI почему не на электроне?

     
     
  • 2.2, DerRoteBaron (ok), 12:02, 27/01/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Тут это хотя бы логично, г-но лучше г-ном и парсить, тем более там наверняка под это есть с десяток лефтпадов на любой случай г-нокода
     
     
  • 3.44, Qwerty (??), 15:40, 28/01/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Что, время идёт, а ты так и не осилил новый инструмент?
     
  • 2.7, Аноним (7), 12:45, 27/01/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что вызываться оно будет в цикле сборке, а не вручную
     

  • 1.10, dnlov4 (ok), 13:21, 27/01/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Панацея ли?
     
     
  • 2.11, Mad Max (?), 13:27, 27/01/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Очередной hello world для электриков.
     

  • 1.18, Аноним (18), 15:29, 27/01/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +11 +/
    Я тоже свою версию опубликовал

    #!/bin/bash

    echo WARNING: please run this script only on electron apps.
    echo Report:
    echo $1 is bloated memory-hungry slow bug-ridden crap that should never be used.

     
     
  • 2.27, Аноним (27), 20:36, 27/01/2019 [^] [^^] [^^^] [ответить]  
  • +6 +/
    А ведь мог быть #!/bin/sh
    Так что только на полпути от электрона
     
     
  • 3.31, Аноним (31), 22:12, 27/01/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    #!/usr/bin/env bash
     
     
  • 4.42, X4asd (ok), 14:00, 28/01/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > #!/usr/bin/env bash

    а у это кого баш лежит не в /bin/ ?

     
     
  • 5.43, Аноним (43), 14:55, 28/01/2019 [^] [^^] [^^^] [ответить]  
  • +/
    У FreeBSD, например
     
     
  • 6.45, нах (?), 17:27, 28/01/2019 [^] [^^] [^^^] [ответить]  
  • +/
    там и env не поможет:
    > env bash

    env: bash: No such file or directory
    нахрен он тут нужен-то?

    Пишите сразу на электроне.

     
     
  • 7.48, Аноним (43), 17:01, 29/01/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы не страдать с tcsh, например
     

  • 1.21, proninyaroslav (ok), 17:33, 27/01/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    А ведь основная масса уязвимостей исходит из node.js. Даже создатель ноды признал своё детище исчадием ада и решил запилить ноду по новой на расте и typescript. Только вряд ли выстрелит, так как в ноду вложено уже приличное количество денег и на уязвимости мягко говоря чихать. Ну или как в новости, а давайте сделаем тулзу чтобы веб разраб сделал хотя бы пару кликов на пути к безопасности своих поделок.
     
     
  • 2.23, Аноним (23), 19:09, 27/01/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ноду надо огораживать вокруг, а не искать в ней ошибки. В реальной жизни его должен был огораживать бразер. Но нода вырвалась наружу.
     
     
  • 3.26, proninyaroslav (ok), 19:55, 27/01/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >В реальной жизни его должен был огораживать бразер

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

     
  • 2.25, Аноним (25), 19:51, 27/01/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ты же понимаешь, что ты сейчас тупо напридумывал на ходу кучку бреда?
     
  • 2.30, Аноним (-), 22:00, 27/01/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А может окропить его святой водой и все пройдет?
     
     
  • 3.46, святая инквизиция (?), 17:28, 28/01/2019 [^] [^^] [^^^] [ответить]  
  • +/
    нет, тут только жечь!

     

  • 1.22, Аноним (22), 18:11, 27/01/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Если хипстору надо писать безопасный код, то пусть берет раст с webasm.
     
  • 1.24, Аноним (23), 19:10, 27/01/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Все шутки за 300 выпилили можно писать новые. Итак если проект написан на электроне он уже уязвим.
     
     
  • 2.28, Аноним (28), 21:33, 27/01/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Странно написать интерпретацию любого XML подобного инструмента для организации UI раз плюнуть, но смельчаков нет?
     
     
  • 3.34, НяшМяш (ok), 23:14, 27/01/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Для Android разметку в XML пишут. У Apple их XIB - тоже XML-подобный формат. У Windows вроде тоже что-то XML-подобное. В одном опенсорсе изобретают всякие CSSы и QMLи.
     
     
  • 4.39, Аноним (39), 10:46, 28/01/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Так XML и CSS они же как брат и сестра.
     
  • 2.47, псевдонимус (?), 19:06, 28/01/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > шутки по 300
    >выпилили.

    Не искушайте тракториста.

     

  • 1.29, Кэп (?), 21:45, 27/01/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +17 +/
    Предлагаю решение проблемы - отказ от Electron. Как вам такое?
     
     
  • 2.32, proninyaroslav (ok), 22:35, 27/01/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Веб разрабы и фирмы их нанимающие не согласны). ПО встало на путь конвейера, только успевай снимать с ленты.
     
  • 2.33, KonstantinB (ok), 22:48, 27/01/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Осталось ответить на вопрос, как разработать десктопные клиенты с затратами на разработку и поддержку, не сильно превышающие заворачивание уже готовой вебморды в Electron, и тогда норм. :-)
     
     
  • 3.35, НяшМяш (ok), 23:20, 27/01/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Готовая вебморда обычно полный УГ по функциональности. Поэтому проще сделать нормальный гуй на чём-то кроссплатформенном, а потом прикрутить простенький чатик на вебе для тех, кому натив недоступен. Тот же телеграм не пошёл по пути тысяч хомяков, а жахнул нативный клиент, да ещё и не один (на винде вроде был альтернативный на шарпе и для мака есть свифт версия, для андроида и иоса их было две - обычная и Х). Зато майкрософт со своим скайпом уже нахавался лестных отзывов в свою сторону, когда нормальные нативные клиенты поменяли на непонятно что. Хотя, возможно, они это сделали специально. Надеюсь, все остальные ненативные либо загнутся в агонии, либо одумаются и начнут писать нативно. Даже в условиях отсутствия кроссплатформенного гуя 15 лет назад почему-то могли написать ядро на плюсах, а потом сверху навернуть гуй на чём угодно.
     
     
  • 4.38, Иваныч (??), 10:20, 28/01/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Да, но в реальности тебе дают 1K USD и говорят что нужно до конца месяца (или недели, двух). Чтобы кругом работало, сайт уже есть и заказчик считает что уже 75% работы. А там полнейший очередной CRUD - ты в глаза бы больше такого рода ужаса не видел. И есть Веня - веб-дизайнер, за которым придется даже JS переписывать и добегать и а Fronted после твоих задач, но Веня быстр, Electron для Вентиляции не проблема да и править потом это дня три работы.
     

  • 1.36, Аноним (-), 01:21, 28/01/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    if (isElectronApp()) {
      echo "WARNING! You have security problem!"
      exit 1
    }

    # пользуйтесь

     
     
  • 2.40, Аноним (40), 11:33, 28/01/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    1. a
    2. problems

    Choice: _

     
  • 2.41, Аноне (?), 13:20, 28/01/2019 [^] [^^] [^^^] [ответить]  
  • +/
    replace(s, 'security', 'huge');
     

  • 1.37, Юзер (??), 05:08, 28/01/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    У Электрона только одна проблема с безопасностью - сам Электрон.
     
     
  • 2.49, Саша (??), 01:12, 09/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Старая шутка: самая большая уязвимость - неграмотный специалист
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру