Предстоящий аудит безопасности

Мы начали процесс второго аудита безопасности установки F-Droid. Аудит будет проводиться компанией Radically Open Security, которая является естественным партнером для F-Droid, поскольку они разделяют нашу ориентацию на свободное программное обеспечение и открытые процессы. Как только мы получим результаты и устраним все обнаруженные проблемы, мы опубликуем полный, неотредактированный отчет об аудите здесь. Спасибо Open Tech Fund за покрытие расходов по найму аудитора.

Более подробную информацию о практике безопасности F-Droid можно найти в документации по Security Model.

Оглядываясь назад на первый аудит безопасности

В 2015 году мы получили внешний аудит от компании Cure53, предоставленный Open Tech Fund. Это был первый полный аудит безопасности основных методов обеспечения безопасности F-Droid. Помимо основного ядра, основное внимание в ходе аудита было уделено новым, экспериментальным функциям, которые открыли F-Droid как экосистему, отойдя от модели центрального сервера.

Этот аудит подтвердил безопасность основных частей, перечисленных в верхней части этой страницы. Это немного трудно заметить, поскольку в отчете обсуждались только обнаруженные уязвимости. Аудит обнаружил критические проблемы на сайте, в бета-функциях opt-in и некоторых незначительных функциях, таких как fdroid import, которая используется только парой человек и никогда не используется в основной инфраструктуре. Важно отметить, что проблемы с веб-сайтом никогда не означали, что получение приложений через клиентское приложение для Android было затронуто. Самое главное, что все проблемы безопасности были устранены. Аудит также показал, что создание системы с пользовательским вводом трудно полностью защитить. Мы сосредоточились на устранении всего, что открывает векторы атак на внешние источники данных, такие как репозитории приложений.

Обычный способ использования F-Droid не был затронут. Например, что касается BZ-01-004 Command Injection Flaw, метод установки через root был помечен как экспериментальный, широко не использовался и был удален вскоре после появления отчета. Проблемы TOFU BZ-01-002 и BZ-01-003 никогда не применялись к репозиториям приложений по умолчанию, поскольку ключи репозитория встроены в клиентское приложение.

Серьезные проблемы, повлиявшие на экосистему, были следующие:

  • BZ-01-005 Приложение с разрешением WES может заменить APK перед установкой (исправлено)
  • BZ-01-008 Множественные проблемы XSS в плагине WP-FDroid (мы полностью удалили Wordpress, сайт теперь статически генерируется с помощью Jekyll)
  • BZ-01-011 Постоянный XSS через загрузку SVG в MediaWiki (исправлена ошибка в MediaWiki, отключена загрузка SVG и отключена регистрация в открытых вики на f-droid.org)
  • BZ-01-014 RCE через команду fdroid checkupdates на Git-репозитории (fixed)

Они затронули лишь несколько некритичных пользователей или были частью бета-функций, которые можно было использовать по желанию:

  • BZ-01-002 Запросы TOFU слишком легко распознать и перехватить (fixed)
  • BZ-01-003 Отпечаток репозитория не проверяется при первой выборке (исправлено)
  • BZ-01-004 Дефект командной инъекции в методе установки на основе root (только издатель репозитория мог сделать это, удален метод установки на основе root)
  • BZ-01-012 Выполнение произвольной команды через fdroid import и SVN

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

  • BZ-01-007 Вредоносный APK с симлинками может привести к произвольному чтению файлов
  • BZ-01-013 Потенциальная угроза обхода каталога, вызванная fdroid import
  • BZ-01-015 Доступ к репозиторию SVN передает учетные данные локальным процессам
  • BZ-01-017 Несанкционированный доступ к ресурсам внутренней сети

Отчет об аудите в формате PDF от Cure53 также кэшируется на этом сайте: pentest-report_fdroid.pdf.