Критический баг в Android эксплуатируют вымогатели

Критический баг в Android эксплуатируют вымогатели

Критический баг в Android эксплуатируют вымогатели

Специалисты компании Check Point обнаружили проблему в одном из защитных механизмов Android, которую активно эксплуатируют вымогатели, банковские трояны и адварь. Начиная с Android 6.0.0 (Marshmallow) разработчики Google представили новую модель выдачи разрешений приложениям.

В частности некоторые права получили пометку «опасных» (dangerous), то есть когда приложение впервые запрашивает доступ к каким-то «опасным» ресурсам и функциям, система спрашивает у пользователя, нужно ли разрешать данные действия.

Но наряду с «опасными» правами есть и другая категория — SYSTEM_ALERT_WINDOW. В отличие от других разрешений, в данном случае пользователь должен войти в меню (Settings -> Apps -> Draw over other apps) и вручную предоставить приложению данные права. В дальнейшем SYSTEM_ALERT_WINDOW фактически позволяет приложению без спроса перекрывать окна любых других приложений, к примеру, именно так на экране всплывает Facebook Messenger, когда кто-то из контактов хочет пообщаться.

Как не трудно догадаться, SYSTEM_ALERT_WINDOW также может использоваться в совсем других целях, в частности позволяет мошенникам показывать пользователям навязчивую рекламу, перекрывать окна других приложений оверлеем (как часто делают банковские трояны), устраивать фишинговые атаки и так далее. Специалисты Check Point отмечают, что согласно их данным, 74% вымогателей, 57% адвари и 14% банковских троянов эксплуатируют недочеты в системе выдачи разрешений, пишет xakep.ru.

Проблема заключается в том, что полностью запретить такое поведение невозможно, ведь им пользуются и легитимные приложения. Поэтому разработчики Google выпустили патч в составе Android 6.0.1, который выдает run-time разрешения приложениям, загруженным из официального каталога Google Play, что впоследствии может использоваться для получения прав SYSTEM_ALERT_WINDOW. Фактически это означает, что если малварь была загружена из Google Play (что встречается совсем нередко), проблем с эксплуатацией SYSTEM_ALERT_WINDOW у нее не возникнет. По данным Check Point, около 45% приложений, использующих SYSTEM_ALERT_WINDOW, пользователи загружают именно из Google Play.

Специалисты уже уведомили о проблеме разработчиков Google, и те согласились, что так быть не должно, однако исправления проблемы стоит ожидать не ранее третьего квартала 2017 года, то есть не раньше релиза Android O. Ограничить злоупотребление SYSTEM_ALERT_WINDOW должна новая функция TYPE_APPLICATION_OVERLAY, которая появится в новой версии ОС. Она не позволит приложениям размещать окна поверх критических системных окон, так что пользователь в любой момент сможет войти в настройки и блокировать вредоносную активность.

Баг macOS ломает TCP через 49 дней без перезагрузки

В macOS нашли редкий, но очень неприятный баг: если компьютер работает без перезагрузки примерно 49,7 дня, у него может постепенно умирать TCP. По версии исследователей, проблема связана с переполнением 32-битного счётчика времени в ядре XNU, который используется TCP-подсистемой.

После этого внутренние TCP-таймеры якобы перестают нормально обновляться, соединения в состоянии TIME_WAIT не очищаются, временные порты постепенно заканчиваются, и система в какой-то момент просто перестаёт устанавливать новые TCP-соединения.

При этом ping может продолжать работать, что делает сбой особенно странным. В Photon пишут, что заметили аномалию на своих macOS-машинах, которые круглосуточно используются для мониторинга iMessage-сервисов.

По их описанию, часть узлов после примерно 49 дней 17 часов 2 минут 47 секунд аптайма перестала открывать новые TCP-сессии. После перезагрузки всё возвращалось в норму, но таймер, по сути, запускался заново.

Авторы утверждают, что смогли воспроизвести поведение на двух машинах и связали его с переменной tcp_now в XNU. В открытом репозитории Apple действительно есть TCP-код ядра Darwin/XNU, где используются 32-битные значения времени и логика сравнения временных меток TCP, на которую ссылаются исследователи.

Поведения бага выглядит так: сначала ничего не ломается в лоб, но закрытые TCP-соединения перестают вовремя исчезать из TIME_WAIT. Затем их становится всё больше, временные порты забиваются, новые подключения начинают зависать в SYN_SENT, а сервисы, которым нужны новые TCP-сокеты, начинают сыпаться.

Если эта находка подтвердится, то для обычного пользователя баг вряд ли станет массовой проблемой: большинство устройств на macOS перезагружаются чаще (хотя бы из-за обновлений). А вот для долго работающих Mac mini, билд-серверов, CI/CD-ферм, удалённых рабочих станций и серверных компьютеров, которые могут жить без ребута неделями, история выглядит уже куда серьёзнее.

Если у вас есть компьютер на macOS, который работает неделями без перезагрузки и критичен для сервисов, мы бы посоветовали следить за его аптаймом.

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