Обнаружена опасная уязвимость в кросс-платформенном мобильном фреймворке Xamarin для Android

Обнаружена опасная уязвимость в фреймворке Xamarin для Android

Компания Digital Security, объявляет об обнаружении опасной уязвимости в популярном фреймворке для мобильных устройств Xamarin для Android, который используется для написания кросс-платформенного кода на языке C#.

Xamarin применяется для разработки кросс-платформенных приложений под Android, iOS и Windows Mobile. Фреймворк используют такие крупные компании, как Microsoft, GitHub, Bosch, Dow Jones, FourSquare и другие; на нем написаны разные группы приложений, включая программы для «интернета вещей» и банковские клиенты.

Обнаруженная уязвимость предоставляет возможность перезаписи динамических библиотек (.dll-файлов) приложений путем создания специальной скрытой директории на карте памяти устройства, доступ к которой можно получить из любого приложения:

/storage/sdcard0/Android/data/идентификатор_приложения/files/.__override__/

Любое вредоносное ПО, обладающее только стандартными правами на доступ к файлам SD‑карты, может поместить модифицированные библиотеки, которые изменяют логику работы программы, записывают действия пользователя или подменяют данные, в указанную директорию. Модифицированные библиотеки будут иметь приоритет над библиотеками внутри оригинального apk-файла.

Уязвимость была обнаружена исследователем ИБ Digital Security Владиславом Воронковым месяц назад, однако по соглашению с Xamarin эта информация не разглашалась до выхода обновления. Специалисты Xamarin выпустили новую версию 5.1, в которой возможность замены библиотек по умолчанию отключена для release-сборок. Для устранения уязвимости в приложениях разработчикам достаточно перекомпилировать приложения с использованием новой версии фреймворка.

Подпишитесь на новости

Android 17 запретит приложениям внезапно орать в фоне

Google решила покончить с одной из самых мерзких мобильных неожиданностей: когда давно свёрнутое приложение или забытая вкладка браузера внезапно начинает воспроизводить звук. В Android 17 для этого появился системный механизм Background Audio Hardening.

Теперь приложение сможет включать аудио, запрашивать аудиофокус и менять громкость только при видимом на экране интерфейсе либо при корректно запущенной foreground-службе.

Ограничение действует на все приложения в Android 17, даже если они пока не адаптированы под API 37.

Если программа попытается шуметь из неподходящего фонового состояния, система просто проигнорирует её запрос. Воспроизведение и изменение громкости будут заблокированы без ошибки или падения приложения, а запрос аудиофокуса завершится отказом.

Как объясняет Google, нововведение должно остановить случайный запуск звука. Например, приложение могло зависнуть из-за проблем с сетью, быть заморожено системой, а затем очнуться через несколько часов и внезапно продолжить воспроизведение. Другой сценарий — потерянная медиасессия, которая продолжает жить уже без видимого интерфейса и понятной кнопки остановки.

Изменение работает на уровне всей операционной системы, поэтому это не специальное лекарство для Chrome, YouTube или сайтов с наглым автовоспроизведением. Под новые правила попадут браузеры, игры, медиаплееры и остальные приложения.

Побочный эффект тоже имеется. Программы, которым действительно нужно играть музыку или подкасты при выключенном экране, должны правильно использовать foreground-службу для медиавоспроизведения. Разработчикам с кривой реализацией придётся переписать код, иначе Android молча прикрутит им громкость.

Google также предусмотрела тестирование через ADB: защиту можно включить, отключить или перевести в жёсткий режим, при котором некорректные обращения к аудиоинтерфейсам вызывают явные ошибки.

RSS: Новости на портале Anti-Malware.ru