Содержание статьи
С этого выпуска мы начинаем публикацию ежемесячных дайджестов событий, произошедших в мире мобильных технологий. Здесь будет все: инфа об обновлении мобильных ОС, популярных приложений и прошивок, новые интересные приложения и твики, инфа о свежих уязвимостях и всем, что связано с security, инструменты для разработчика мобильных приложений, а также ссылки на любопытные публикации и исследования, на которые стоит обратить внимание. Приятного чтения, и не забывай оставлять комментарии.
Релизы
Март выдался чрезвычайно богатым на релизы. Обновились не только iOS и Android, но и CyanogenMod, Remix OS и даже никому не известная AsteroidOS для смарт-часов. Подробно о низкоуровневых изменениях в Android N я написал в своей колонке, а те, кому интересно, как поменялся внешний облик ОС и какие рюшечки в ней появились, уже наверняка прочитали об этом. Отметить можно разве что режим разделения экрана, режим экономии трафика и существенное снижение времени установки приложения (за счет чего это сделано — читай опять же в колонке).
Почти одновременно с Android обновилась iOS. Теперь в ней есть уже ставший известным режим Night Mode, снижающий цветовую температуру дисплея, отчего глаза меньше утомляются, а выработка организмом мелатонина не приостанавливается. К слову сказать, та же функция уже давным-давно доступна в приложении f.lux для джейлбрейкнутых устройств, а также в Android-прошивке CyanogenMod и приложении CF.lumen для Android же.
Также в новой iOS появились новые действия 3D Touch для иконок настроек, калькулятора, App Store, Campus, Health, iTunes Store, Stocks и погоды. Заметки теперь можно защитить с помощью отпечатка пальца. Ну и порция улучшений во встроенных приложениях.
Одновременно с iOS были представлены четырехдюймовый iPhone SE, такой же мощный, как iPhone 6s (это хорошо, что Apple все-таки одумалась и поняла, что не все любят фаблеты), и уменьшенная версия iPad Pro с диагональю экрана 9,7". По начинке он схож со старшим братом, но есть множество мелких различий в камере, объеме встроенной памяти и батарее. Больше всего интереса, однако, вызвали не новые устройства, а тот самый робот Liam, разбирающий в Apple старые iPhone.
Что касается CyanogenMod 13, то здесь все просто. Те, кто использовал ночные сборки, не увидят ничего нового, а те, кто переходят с версии 12.1, должны быть готовы к следующим изменениям:
- WhisperPush (средство для обмена зашифрованными СМС) удален;
- управление отображаемыми тайлами быстрых настроек в шторке теперь происходит на месте, а не через настройки;
- раздел настроек «Память» отображает среднее использование оперативной памяти за указанный промежуток времени;
- приложения теперь можно защищать с помощью отпечатка пальца;
- СМС-приложение от Qualcomm заменено на AOSP-аналог;
- для устройств на базе Qualcomm Snapdragon теперь используется камера разработки Qualcomm.
Софт
За месяц в маркетах всех мобильных ОС успевают появиться сотни самых разных приложений. Большинство из них, конечно же, не достойны никакого внимания, однако всегда можно найти несколько действительно интересных софтин. В этом месяце мы хотели бы остановиться на следующих:
- HOUND — голосовой ассистент от известной компании SoundHound. По сути, аналог Siri и Google Now с несколькими отличиями: очень высокая скорость работы, отсутствие команд как таковых (ты просто разговариваешь с приложением), интеграция со многими сервисами, включая AccuWeather, Expedia, Uber и Yelp. Помощник очень развитый, но пока работает только с английским языком и поддерживает далеко не все смартфоны.
- f.lux — известное приложение для автоматического управления цветовой температурой дисплея наконец-то добралось до Android. Требует root и ничем особо не отличается от проверенного временем CF.lumen.
- Red Moon — аналог f.lux и CF.lumen для Android, не требующий root. Работает за счет создания цветового фильтра поверх изображения. Полностью бесплатное и открытое приложение, недоступное тем не менее в маркете (только в альтернативном маркете F-Droid).
- Magnesium Launcher — рабочий стол для Android с интересной концепцией построения рабочего пространства. Главный экран рабочего стола не содержит иконок, а вместо этого отображает ленту, в которую сыплются письма, СМС, звонки, сообщения в Twitter и Facebook. Чем-то похоже на рабочий стол старой доброй Windows Mobile и лаунчер SlideScreen (уже давно заброшенный).
Xakep #207. Дистанционное банковское ограбление
Отдельно хотелось бы отметить приложение Extensify для iOS. Это не что иное, как инсталлятор твиков, работающий даже на невзломанных устройствах! Как такое возможно? Очень просто: Extensify скачивает приложение из App Store, а затем отправляет его на удаленный сервер, где приложение перепаковывается с включением в него дополнительных библиотек, реализующих расширенную функциональность (внедрение функций происходит таким же образом, как в классических твиках, — с помощью хуков), затем приложение закачивается на устройство и устанавливается.
Однако у такого метода есть ряд ограничений. Во-первых, он работает только в отношении приложений, изменить поведение самой системы не получится. Во-вторых, поддерживаются только бесплатные приложения. А в-третьих, начиная с iOS 9.3 для установки модифицированных приложений необходимо подключение к ПК.
Твики
В этом месяце в Jailbreak community произошло важное событие — команда Pangu выпустила непривязанный джейлбрейк для iOS 9.1. Почему 9.1? Потому что взломать 9.2 так и не удалось (но джейлбрейк, скорее всего, будет для iOS 9.3). Сама процедура джейлбрейка осталась прежней: качаем, нажимаем пару кнопок, ждем.
Чтобы узнать, какие твики совместимы с iOS 9.1, можно использовать таблицу в Google spreadsheets, созданную пользователями Reddit. В ней перечислены все популярные твики, совместимые с iOS 9.1. Некоторые из них совместимы только частично.
Если же говорить о новых твиках, появившихся в этом месяце, то в первую очередь внимание следует обратить на QuickCenter. После его установки в Control Center появится поддержка 3D Touch: иконка Wi-Fi будет реагировать на сильное нажатие показом списка сетей, Bluetooth покажет список устройств рядом, будильник — список будильников и так далее. Цена твика — один доллар.
На второе место я бы поставил Chrome Handoff, бесплатный твик из репозитория BigBoss, добавляющий в Chrome поддержку функции Handoff, то есть позволяющий синхронизировать состояние браузера, запущенного на Маке, и браузера в мобильнике. Все, что нужно сделать, — установить твик и активировать функцию Handoff на компе и на смартфоне/планшете.
Еще три интересных твика:
- 3D Touch Notifications — твик добавляет поддержку 3D Touch для уведомлений, отображаемых в Notification Center и на экране блокировки. После сильного нажатия уведомления на экране появится окно с запущенным приложением.
- Wolfram — очень простой твик, который всего лишь переводит смартфон в режим Low Power Mode при подключении к зарядке. По идее, скорость зарядки должна возрасти, однако подход довольно спорный, особенно если учесть, что именно на зарядке смартфон выполняет многие важные процедуры, включая бэкап в iCloud, который при активации LPM отключается.
- FastShare — позволяет быстро опубликовать сообщение в Facebook, Twitter и Messages с помощью действия Activator.
Безопасность
Март стал месяцем, который производители антивирусного ПО просто обязаны обвести в кружок и вспоминать годы спустя. И все благодаря одному трояну для Android.
3 марта сотрудники «Лаборатории Касперского» опубликовали большое исследование, посвященное самому сложному и продвинутому Android-трояну Triada. Троян не только умеет перехватывать и перенаправлять СМС и обладает модульной архитектурой, позволяющей расширять возможности зловреда в какую угодно сторону, но и обладает весьма изощренной архитектурой.
Главная фишка Triada — это способность инфицировать процесс Zygote, который является родителем всех приложений, работающих в Android. Троян изменяет Zygote прямо в оперативной памяти, внедряя в него код, позволяющий перехватывать СМС и функции API, предназначенные для получения списка установленных и запущенных приложений. Так как все приложения и большинство системных сервисов, по сути, клоны Zygote, троян в прямом смысле инфицирует всю систему и становится полностью незаметным. Очень продвинутый зловред и отличный ресерч Kaspersky Lab.
Теперь об уязвимостях. 8 марта компания TrendMicro сообщила о двух уязвимостях, обнаруженных в коде поддержки чипсетов Qualcomm Snapdragon в ядре Linux (CVE-2016-0819 и CVE-2016-0805). Каждая из них может быть использована для получения прав root локально, однако, каким именно образом, компания обещает сообщить только в мае на конференции Hack In The Box.
Google уже выпустила исправление уязвимостей в рамках ежемесячного security-обновления. Патчи доступны для версий Android от 4.4.4 до 6.0.1 включительно, однако, зная, с каким «рвением» производители устройств выпускают обновления, можно предположить, что миллионы (сотни миллионов?) устройств останутся уязвимыми. Радует только то, что в ближайшее время проблема рутинга устройств нам не грозит.
22 марта компания Zimperium, та самая, что нашла первую уязвимость Stagefright прошлым летом, выпустила отчет с анализом распространенности уязвимости на Android-смартфонах. Цифры неутешительные: 42,84% устройств подвержены уязвимости CVE-2015-3864, самой распространенной (вплоть до Android 5.1) и удобной в использовании среди всех Stagefright-уязвимостей. Это от 600 до 850 миллионов устройств.
Напомним, что уязвимости в библиотеке Stagefright находят до сих пор, их уже больше десятка, так что рекомендуем установить Stagefright Detector и, в случае если устройство уязвимо, очень осторожно открывать непонятные ссылки, MMS и вообще любой мультимедиаконтент. А еще лучше установить CyanogenMod, если, конечно, он доступен для твоего смартфона.
Пара слов о хорошем. Разработчики защищенной Android-прошивки CopperheadOS объединяют усилия с ребятами из проектов Guardian Project (они делают privacy-софт: Orbot, ChatSecure и другие) и F-Droid («магазин» открытого софта для Android) для создания privacy-ориентированной открытой системы. Новость, надо сказать, отличная, потому как связка этих трех проектов дает практически полную защиту от прослушки и утечек данных с максимально возможной защитой от взлома устройства.
Почитать
Study on Android emulator — интересное исследование эмулятора Android от тайваньского инженера Mozilla. Презентация охватывает многие аспекты работы эмулятора, включая механизм коммуникации между эмулятором и IDE, реализацию стандартной ARM-платформы goldfish, отличия нового эмулятора (AndroidStudio 2.0) от устаревшего, реализацию эмуляции модема, GPS и других компонентов платформы.
SamDunk: eMMC backdoor leading to bootloader unlock on Samsung Galaxy Devices — занимательный рассказ о том, как был взломан загрузчик Samsung Galaxy S5. Смартфон использует довольно интересную технику разлочки загрузчика, основанную на сверке eMMC CID: разлоченные dev-версии смартфона проходят специальную заводскую процедуру, в ходе которой eMMC CID устройства шифруется и записывается в раздел aboot. При каждой загрузке смартфона загрузчик извлекает его из раздела, дешифрует, и, если записанный CID совпадает с актуальным, загрузчик считается разблокированным.
Как следствие, самый простой способ разблокировать загрузчик на любом смартфоне состоял в том, чтобы прошить в него раздел aboot от разблокированного смартфона, а затем изменить eMMC CID так, чтобы он совпадал с тем, что записан в раздел. По стандарту eMMC CID меняться не должен, но исследование кода прошивки eMMC показало, что в данном случае это не так и для изменения eMMC CID даже предусмотрена специальная сервисная команда.
Metaphor: A (real) reallife Stagefright exploit — подробный рассказ о создании эксплоита для уязвимости CVE-2015-3864 (Stagefright). Документ особенно интересен тем, что покрывает все этапы исследования и разработки, и в подробностях объясняет, как найти уязвимость и использовать ее в своих целях, включая рассказ о методах обхода ASLR. Must read для всех, кто хочет разобраться в современных способах взлома.
Эмуляция и перехват SIM-команд через SIM Toolkit на Android 5.1 и ниже (CVE-2015-3843) — интересное исследование Positive Technologies, посвященное глупой ошибке в Android, позволяющей перехватывать и эмулировать сообщения, генерируемые SIM-картой. В частности, ошибка может быть использована для перехвата сообщений подтверждения операций в интернет-банке. Причем делается это очень просто.
iPhone Dual Boot — пост на Reddit о том, как организовать двойную загрузку на взломанном iPhone (установить две разные версии iOS). Инструкция охватывает все аспекты подготовки, включая установку утилит для переразбивки памяти на разделы, сам процесс переразбивки и установки модифицированного загрузчика. К сожалению, возможности выбора операционки прямо на смартфоне не предусмотрено, так что для этих целей придется подключать смартфон к ПК и перепрошивать загрузчик.
The RAM Conundrum: How Much RAM Do We Really Need? — колонка одного из авторов XDA Developers, который пытается найти ответ на вопрос: а нужны ли нам смартфоны с шестью гигабайтами оперативной памяти? Ответ, как и следовало ожидать, простой: пока с лихвой хватает трех гигабайт, но с усложнением приложений и увеличением разрешений экрана может понадобиться больше.
Однако интересен не вывод, сделанный автором, а его рассказ о принципах работы системы управления памятью Android. Здесь он абсолютно верно подмечает, что в основном память нужна для кеширования запущенных приложений, а также что многое зависит от размера хипа (кучи), выделяемого на каждое приложение. Размер этот определяется создателями смартфона, а потому два аппарата с одинаковым количеством памяти могут работать по-разному (например, на одном смартфоне браузер сможет закешировать пятнадцать страниц, открытых в браузере, а на другом только пять). С другой стороны, автор забывает о том, что ядро Linux очень агрессивно использует свободную память для хранения файлового кеша, что тоже весьма немаловажный параметр.