Сегодня в выпуске: Android становится популярнее Windows, платежи и звонки в Telegram, дырявый Tizen, смерть Ubuntu Touch и отчет о развитии LineageOS. А также: отладка Android-приложений через Chrome DevTools, подробности об iPhone 6s собственной сборки, запуск Google Assistant на настольной машине, анализ трояна Chrysaor от NSA Group. И конечно же, подборка материалов и библиотек для разработчиков.
 

События

В начале месяца появилась интересная статистика. Сервис мониторинга использования веб-браузеров и операционных систем StatCounter сообщил, что впервые за все время наблюдений Windows оказалась на втором месте. Но интересно не это, а то, что первое место занял Android. Причем большей частью на позиции Android повлияли азиатские страны, их доля составила 52,2%.

График роста доли Android в веб-трафике
График роста доли Android в веб-трафике

В конце апреля Павел Дуров весьма оригинальным способом — с помощью фотографии экрана с открытым TODO в Instagram — анонсировал появление функции видеозвонка и системы платежей в Telegram. И если с первым все понятно (шифрованные звонки — это всегда хорошо), то второе вызывает вопросы.

Дело в том, что на этапе запуска функции платежей она будет поддерживать исключительно оператора онлайн-платежей Stripe, а он в России не работает. Появилась информация, что Telegram уже ведет переговоры со Сбербанком и другими банками, так что, возможно, платежи будут и в России. Другое дело, не вмешается ли в эти переговоры правительство. Оно, как известно, Telegram и без того недолюбливает.

 

Системы и платформы

В конце февраля обновление выкатил проект Android-x86, развивающий сборку Android 6.0 для компьютеров и ноутбуков. Основные новшества:

  • ядро Linux 4.4.62, Android 6.0.1_r79;
  • автомонтирование CD/DVD;
  • совместимость с VMware;
  • скрипт qemu-android для автоматического запуска Android-x86 в QEMU.

Пара слов про альтернативы. Многие знают, что, кроме Android, iOS, Windows Phone, Ubuntu Phone и пророссийской Sailfish OS, на свете существует операционка Tizen. Когда-то она родилась от слияния MeeGo и проекта LiMo (Linux Mobile), развиваемого Linux Foundation.

Tizen — открытая система, в ее разработке принимают участие многие компании, но в основном она интересна Samsung, которая всеми силами старается спрыгнуть с Android. Так вот, некто Амихай Нейдерман (Amihai Neiderman) нашел в этой системе сразу 40 критических 0day-уязвимостей, большая часть из которых позволяет получить удаленный контроль над устройством.

Все бы ничего, да вот Tizen установлена не только на 10 миллионов бюджетных смартфонов, но и на 30 миллионов SmartTV, а также достаточно популярные часы Samsung Gear S2/S3.

Ну и о грустном. Пятого апреля Марк Шаттлворт объявил о смерти Unity, фирменного графического окружения Ubuntu. А вместе с этим и о прекращении развития дисплейного сервера Mir. И о смерти базирующейся на Mir мобильной платформы Ubuntu Phone. Операционка не просто «не прижилась» — у Марка закончились деньги.

График предпочтения смартфонов с диагональю экрана 5,5 и 5,7 по странам
График предпочтения смартфонов с диагональю экрана 5,5 и 5,7 по странам
График предпочтения смартфонов с диагональю экрана 5,5 и 5,7 по странам
График предпочтения смартфонов с диагональю экрана 5,5 и 5,7 по странам
График предпочтения смартфонов с диагональю экрана 5,5 и 5,7 по странам
 

LineageOS

Очередная подборка новостей от проекта LineageOS (бывший CyanogenMod). Основные новшества:

  • Отныне система базируется на Android 7.1.2.
  • Новая галерея с простой навигацией между историей, альбомами и видеозаписями и с поддержкой полноэкранного проигрывания видео.
  • Приложение «Диктофон» теперь объединено с приложением для записи скринкастов под общим именем «Рекордер».
  • Новый безопасный браузер Jelly, предназначенный для работы на маломощных устройствах.
  • Тайл местоположения в быстрых настройках переработан и теперь позволяет переключаться между разными режимами навигации.
  • Рядом с ползунком громкости в быстрых настройках теперь есть кнопка для включения/отключения автоматической настройки яркости.

Поддержка новых устройств:

  • Motorola Moto Z
  • Motorola Moto Z Play
  • Samsung Galaxy Note 2
  • Samsung Galaxy Note 3
  • Samsung Galaxy Tab 3 LTE
  • Samsung Galaxy S4 Mini
  • Samsung Galaxy S5 Plus
  • Samsung Galaxy Tab S 10.5 Wi-Fi
  • Lenovo Vibe K5 / K5 Plus
  • ARK Benefit A3
  • HTC M9
  • HTC One A9
  • Letv LeEco Le 2
  • Letv LeEco Le Pro3
  • LG L90
  • LG V20
  • Yu Yuphoria
  • Yu Yureka
  • Xiaomi Mi 5s Plu
 

Инструменты

  • AndroidKernelExploitationPlayground — специально подготовленное уязвимое ядро Linux для эмулятора Android. Позволяет прокачать скилл в ядерном хакинге.
  • Stetho — отладчик для дебаггинга Android-приложений прямо из настольного браузера, с использованием Chrome DevTools. Из возможностей: просмотр статистики сетевых запросов, исследование баз данных, просмотр иерархии View на манер кода HTML (!), консоль JS, просмотр и изменение настроек приложения.
 

Почитать

XDA Interviews Scotty Allen: The Guy Who Built his Own iPhone — большое интервью со Скотти Алленом, тем самым инженером, собравшим iPhone 6s из кучки запчастей, купленных в Китае.

Общая стоимость проекта — более 1000 долларов, если учитывать все использованные инструменты, наборы болтов всех возможных размеров, кабель и другой материал, приобретенный с запасом или испорченный во время сборки. Если же считать только компоненты полученного смартфона, то их стоимость составила чуть больше 300 долларов.

Интересно, что плата смартфона, несущая на себе все значимые компоненты, включая чипсет, оперативную и постоянную память, продавалась не только с предустановленным загрузчиком, но и с предустановленной iOS. Другими словами, это была не китайская копия оригинальной платы, а часть оригинального iPhone 6s.

Процесс сборки собственного iPhone 6s
Процесс сборки собственного iPhone 6s

An Illustrated History of iOS — красиво оформленная презентация (статьей назвать язык не поворачивается) об истории iOS. Минимум букв, максимум иллюстраций. И да, это рекламный проект разработчиков графического фронтенда системы контроля версий Git.

How to get Google Assistant on your Windows, Mac, or Linux Machine — инструкция по запуску Google Assistant на настольной машине. Суть сводится к установке Python и модуля google-assistant-sdk — и «Ассистент» можно вызвать с помощью простейшего скрипта.

APFS filesystem format — результаты реверс-инжиниринга файловой системы APFS, той самой, что лежит в основе последних версий macOS и iOS. Статья не содержит ничего сенсационного, но ее можно использовать, чтобы понять дисковый формат ФС (и создать утилиту для чтения и извлечения информации).

FlexSpy Application Analysis — краткий анализ того самого троянского ПО FlexSpy, бинарники и исходники которого не так давно украли с сайта компании. О том, как был взломан сайт компании, можно почитать здесь, а скачать исходники — здесь.

Attack TrustZone with Rowhammer — слайды с описанием реализации атаки на систему доверенного исполнения кода TrustZone с помощью нашумевшей техники Rowhammer. Сама техника интересна тем, что в теории ее можно использовать для взлома чего угодно, так как она эксплуатирует дыру не в софте, а в железе, конкретно — в оперативной памяти. Это своего рода ultimate bug, применимый к огромному количеству смартфонов и компьютеров; защита появилась лишь в процессорах архитектуры Intel Ivy Bridge и LPDDR4.

An Empirical Study on Android-related Vulnerabilities — исследование, посвященное уязвимостям в Android и их классификации. В целом крайне скучное чтиво, но приведенные в середине документа диаграммы интересны (одна из них ниже).

Тепловая карта уязвимостей в подсистемах Android
Тепловая карта уязвимостей в подсистемах Android

Over The Air: Exploiting Broadcom’s Wi-Fi Stack — детальный разбор нашумевшей уязвимости в прошивке Wi-Fi-чипсета Broadcom, позволяющей получить контроль над миллионами устройств (включая Nexus и iPhone) с помощью специальным образом сформированного пакета. Уязвимость уже исправлена в iOS и Android, но, как это обычно бывает, большинство устройств на Android это обновление уже не увидят.

iOS Security — обновленная версия документа с описанием технологий, обеспечивающих безопасность iOS. Из нового: вопросы безопасности HomeKit и ReplayKit (фреймворк, позволяющий транслировать содержимое экрана), Apple Watch, а также защита личных данных при интеграции со сторонними приложениями. Все новшества одним куском.

FORTIFY in Android — объяснение механизма работы подсистемы FORTIFY и ее применения в Android. FORTIFY представляет собой набор расширений стандартной библиотеки языка С (в Android ее функции выполняет bionic), позволяющий отловить ошибки при работе с функциями вроде memset, sprintf, open. При неправильном использовании они могут привести к появлению уязвимостей.

Анализ уязвимостей в Android-приложениях с открытыми сетевыми портами — исследование безопасности мобильных приложений, открывающих порты для приема соединений. Всего было проверено 100 тысяч приложений, из которых 1632 могли открывать слушающие порты. Около половины из них насчитывали более 500 тысяч загрузок.

Выводы исследователей:

  • 410 уязвимых приложений;
  • 956 потенциальных методов эксплуатации уязвимостей;
  • 57 приложений взломали.

Используя уязвимости, удалось отправить СМС на платный номер, получить доступ к контактам и фотографиям, перехватить параметры аутентификации, установить малварь или выполнить произвольный код. Интересно, что 14,6% уязвимых приложений созданы с помощью мультиплатформенного фреймворка PhoneGap, который разделяет приложения на фронтенд и бэкенд.

Пример атаки: кража фотографий с карты памяти устройств на видео.

An investigation of Chrysaor Malware on Android — анализ шпионского трояна Chrysaor, к созданию которого, скорее всего, приложила руку скандально известная компания NSO Group. Интересная особенность трояна в том, что он нацелен на Android 4.3 и ниже.

Сразу после установки на смартфон жертвы Chrysaor получает root с помощью эксплоита framaroot, затем копирует себя в системный раздел и удаляет приложение com.sec.android.fotaclient, отвечающее в смартфонах Samsung за автообновление, затем запускает процесс сбора данных и ожидает команды от удаленного сервера.

Троян использует шесть техник для сбора данных:

  1. Запуск по таймеру для периодических задач вроде получения текущего местоположения.
  2. Очередь сбора данных, которая получает такую информацию, как СМС, журнал звонков, история браузера, календарь, контакты, письма и сообщения мессенджеров (WhatsApp, Twitter, Facebook, Viber и Skype). При этом для доступа к данным троян сначала ломает песочницу приложения, делая его каталог в /data/data доступным для чтения всем, а затем дампает базу данных.
  3. К уже дампнутым базам данных троян подключает ContentObserver’ы и наблюдает за появлением новых сообщений.
  4. Снятие скриншотов с помощью прямого доступа к устройству /dev/graphics/fb0.
  5. Встроенный кейлоггер, внедряющий хуки напрямую в библиотеку /system/lib/libbinder.so и перехватывающий объекты с интерфейсом com.android.internal.view.IInputContext.
  6. Функция автоматического ответа на звонок, позволяющая набрать номер жертвы и скрыто слушать происходящее вокруг.

Chrysaor имеет функцию самоликвидации, которая срабатывает в трех случаях: по команде от сервера, через 60 дней после последней успешной попытки связаться с сервером либо если появится файл /sdcard/MemosForNotes.

Страны с наибольшим распространением Chrysaor
Страны с наибольшим распространением Chrysaor
 

Разработка для Android

Статьи (en)

Библиотеки

  • BlurredImageView — библиотека, размывающая окно, например при открытии диалогового окна;
  • android-about-box — диалоговое окно в стиле Material с информацией о приложении;
  • LoadingButtonAndroid — кнопка, превращающаяся в индикатор загрузки;
  • CalendarView — просто календарь;
  • sms-parser-android — библиотека для парсинга СМС.
 

Бонус

Приложение с иконкой 3556 ✕ 3556, которое крашит Android.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    12 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии