Mobile AppSec World
6.29K subscribers
162 photos
12 videos
21 files
749 links
Новости из мира безопасности мобильных приложений, а так же интересные статьи, обзоры инструментов, доклады, митапы и многое другое...

По всем вопросам - @Mr_R1p
Download Telegram
Mobile AppSec World
Попадают ли данные из KeyChain с отметкой "ThisDeviceOnly" в бекап?
Попробуем разобраться с этим интересным флагом "ThisDeviceOnly".

При создании зашифрованного бэкапа в него попадают также и значения из Keychain. Эти значения зашифрованы на производной от пароля, который задаётся во время создания бэкапа. То есть, если подобрать пароль, можно получить всё содержимое не только файловой системы, но и Keychain (в котором любят хранить всякие пароли и ключи 😍).

Но что же, всё-таки, означает этот флаг? Значит ли он, что при создании бекапа данные в него не попадут? Он же так интересно называется - "Только для этого устройства" 🤔

На самом деле, это работает немного не так. Значения с этим флагом также попадают в бекап! Но есть одно существенное отличие - помимо производной от пароля, они также защищены уникальным ключём данного устройства (UID) и могут быть восстановлены из бекапа только на том же устройстве, откуда были скопированы. То есть, просто так их не вытащить, но шансы есть всегда :)

Именно поэтому мы рекомендуем дополнительно шифровать данные, которые вы храните на устройстве, даже если они находятся в Keychain.

Об этих и других особенностях защиты данных на устройстве буду периодически писать :)

#iOS #Keychain #Backup #Forensic
Все, кто занимается безопасностью мобильных приложений, знают о существовании отличного гайда по тестированию - OWASP Mobile Security Testing Guide (MSTG). А также об одном из немногих стандартов для мобил - Mobile Application Security Verification Standard (MASVS). Они даже переведены на русский 😱

Сейчас создатели этих документов хотят узнать, какие компании используют их в своей работе.

Давайте поддержим их и поможем! Если в своей работе вы как-то используете материалы из проекта OWASP Mobile, напишите им :)

#OWASP #MSTG #MASVS #Guides

https://github.com/OWASP/owasp-mstg/blob/master/Users.md
Практически все приложения на сегодняшний день используют системы аналитики для сбора метрик. Но задумывались ли вы, какие данные передаются вместе с этой аналитикой?

Исследователи выпустили прекрасный отчет, проанализировав порядка 500 тысяч приложений из Play Market! По итогам, больше 4000 приложений содержали утечки конфиденциальной информации, начиная от email и заканчивая реальными паролями пользователей! 😱

А какую информацию вы собираете о работе своего приложения? :)

#Android #Firebase #DataLeak #Vulnerabilities

https://www.comparitech.com/blog/information-security/firebase-misconfiguration-report/
Очень часто при анализе приложений под Android приходится их декомпилировать и дизасемблировать, чтобы получить исходный код или набор smali файлов. С java все более-менее понятно, но вот нативный код иногда вызывает проблемы.

Специально для тех, кто хочет научиться разбирать приложения или подтянуть свои знания, есть шикарное, на мой взгляд обучение в виде репозитория на Github с детальным описанием. И, более того, еще цикл воркшопов идет! 😱

Так что можно выбрать, в зависимости от того, какой тип информации вы лучше усваиваете 😄

#Android #Revers #Forensic

https://maddiestone.github.io/AndroidAppRE/index.html

https://www.youtube.com/playlist?list=PL3jdfxUyXxoyG6qEkaTMq0iWaaVps2SLa
Многие компании используют системы MDM (mobile device management) для контроля корпоративных телефонов. Но мало кто задумывается о безопасности самих этих систем.

Наглядный пример хорошо расписан в исследовании компании Check Point, когда вирус установили на 75% устройств компании, получив доступ к системе MDM. 😱

Детальный разбор этого трояна с описанием всей функциональности и модулей также в статье :)

#MDM #malware #Android #Vulnerabilities

https://research.checkpoint.com/2020/mobile-as-attack-vector-using-mdm/
Сегодня завершается Skolkovo Cyber Security Challenge и наша система Stingray для анализа безопасности мобильных приложений снова в финале, второй год подряд!

Очень волнуюсь, конечно, но уверен, что выступим достойно 😁

К сожалению, мероприятие закрытое, но все записи выступлений будут доступны 21 мая.

#Skolkovo #Challenge #Stingray #StartupVillage

https://stingray.appsec.global/
К сожалению, нам не удалось выиграть в этом году.. Но ничего, жизнь не стоит на месте, нужно двигаться дальше.

Как, например, это делают разработчики malware под Android 😁
Опубликован интересный разбор малвари, которая представляет собой модифицированную и улучшенную версию, которую обнаруживали ранее, аж в 2014-2015 годах.

Вообще, злоумышленники почему-то не любят использовать новые механизмы или новые уязвимости, а постоянно модифицируют и обновляют старые версии. Так и всплывают десятки модификаций, произрастающих из одного источника. Наверное, так проще 🤔

#Android #malware #research

https://blog.talosintelligence.com/2020/05/the-wolf-is-back.html?m=1
Очень часто приходится работать и анализировать обфусцированные приложения. Это не очень удобно, сложно определить дерево вызовов и, в принципе, некрасиво 😁

Ребята из силиконовой долины (шучу, конечно, кремниевой), записали 1,5 часовой вебинар по деобфускации приложений с подробным описанием, инструкциями, плагинами и скриптами. Очень полезный и качественный материал!

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

#Android #reverse #deobfuscation #analisys

https://youtube.com/watch?v=lmHkfKXuN4A
Заметки на полях 😄

Простой способ, в одну команду запустить Frida Server на всех интерфейсах в iOS:

 /bin/bash -c "$(curl -fsSL https://t.co/e62WmfexgD)"

#frida #iOS #code
Как часто вас спрашивают про безопасность мобильных приложений и просят порекомендовать что-то почитать или с чего начать? 😁

Нашёл неплохой цикл из нескольких статей про безопасность Android для разработчиков. Затронут один из самых главных вопросов - как работает шифрование и как его можно реализовать?

Достаточно верхнеуровнево, на мой взгляд, но как отправная точка - то, что нужно!

#Android #Cryptography

Часть 1:
https://medium.com/knowing-android/modern-security-in-android-part-1-6282bcb71e6c

Часть 2:
https://medium.com/knowing-android/modern-security-in-android-part-2-743cd7c0941a

Часть 3:
https://medium.com/knowing-android/modern-security-in-android-part-3-bea8cc6f984f
Вопрос, что есть в Android и практически нет в iOS? 🤓

На самом деле много чего :) Но самое интересное, на мой взгляд, это межпроцессное взаимодействие (IPC - Inter-process communication). В системе Android кажется бесшовным общение между приложениями через вызовы сервисов, запуск Activity, отправку Intent'ов и широковещательных сообщений. И это безумно удобно!

Но, как мы знаем, Android построен на базе ядра Linux и использует большое количество инструментов безопасности этой платформы. И на самом деле, вызовы из одного процесса в другой запрещены. Так как же тогда работает межпроцессное взаимодействие?

Ответ прост - в Android есть очень интересный механизм под названием Binder IPC, который представляет собой системный процесс для обмена данными между приложениями.

Есть несколько статей и документов, посвященных описанию этого механизма. Одна из этих статей как раз подойдет для тех, кто хочет разобраться, как устроен IPC процесс в Android и на чем в принципе основан Android и как он работает.

#Android #Security #IPC #Linux #binder

Часть 1 (в основном про общее строение безопасности Android и как он работает):
https://blog.hacktivesecurity.com/index.php?controller=post&action=view&id_post=46

Часть 2 (больше информации именно про устройство Binder IPC):
https://blog.hacktivesecurity.com/index.php?controller=post&action=view&id_post=48
Deep Dive into Android Binder IPC.pdf
3.1 MB
Для тех, кому интересно почитать более подробно про Binder, механизм его работы и внутренности, есть замечательный материал, который в подробнейших деталях описывает все нюансы :)

А также подробно описан механизм AIDL (Android Interface Definition Language). В буквальном переводе – язык описания интерфейсов Android. Используется для описания композиции и декомпозиции Java объектов в примитивы ОС для непосредственно передачи между процесами.

Информации много, но это того стоит, поверьте.

#Android #Binder #Security #IPC
Норвежские исследователи безопасности мобильных приложений несколько дней назад опубликовали подробную информацию о второй версии уязвимости в Android, которая позволяет подменить абсолютно любое приложение на устройстве! Без специальных разрешений, без необходимости в root-доступе, без административных прав! То есть, используя только встроенные средства Android!

Выглядит страшно 😱

Но, как говорится, всё новое это хорошо забытое старое. Так и здесь, первая информация о возможности подобной атаки была опубликована в 2015 году!

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

Подробное видео о том, как работает эта техника и пути, как от нее можно попробовать защититься.

#Android #Vulnerability #TaskHijacking #OldStuff
​​Продолжая тему различных malware под Android 🤓

Никогда не устареет техника полного копирования интерфейса приложения с добавлением некоторого количества "дополнительного" функционала. И ведь каждый раз Google Play пропускает эти приложения 🤦‍♂️

В Индии после выпуска официального приложения от правительства, в Google Play появились десятки клонов с вирусом на борту. Если я правильно помню, несколько раз фейковые приложения набирали больше скачиваний, чем оригинал, благодаря проплаченному продвижению в топ 😃

#Android #malware #GooglePlay #Phishing
​​Решая задачу по обнаружению Jailbreak на устройствах iOS, нередко мы используем различные OpenSource проекты. Один из них, под названием IOSSecuritySuite предоставляет не только возможность определять Jailbreak, но и обнаружение отладчика (debugger), запуск приложения на эмуляторе и установленные на устройстве программы для reverse engineering.

При этом он написан на Swift, что намного более удобно для разработчиков и чуть сложнее для тех, кто эти приложения "ковыряет". 💃💃

Но что более интересно, при анализе этой библиотеки я нашел крайне занятную статью по обходу этих проверок с использованием Frida. Текст написан очень хорошо, с примерами кода и объяснением, что и зачем. Для тех, кто начинает знакомство с Frida или хочет обогатить свой набор способов обхода проверок - очень рекомендую.

#iOS #Frida #JailBreak #Swift
​​Вопрос, который нередко возникает, когда обнаружили JailBreak или root доступ на устройсте, а что дальше делать-то? 🤔

Первый вариант - запрещать работу приложения на таких устройствах.
Как мне кажется, это самый жестокий по отношению к пользователю путь. Во-первых, такой подход заставляет искать альтернативный вариант сборки этого приложения (где умельцами "отключена" проверка) на форумах и на разных сайтах в интернете. А это может повлечь за собой все, что угодно, от потери денег до 'окирпичивания" устройства. Во-вторых, это заставляет копаться в приложении более продвинутым пользователям и кто знает, что они еще там могут найти 😄

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

Третий вариант - отправлять информацию о возможной компрометации устройства на сервер.
На мой взгляд - оптимальный вариант, при котором на сервер передается статус. Но главное, чтобы он не только передавался, но и использовался. Как вариант - использовать его в системах антифрода, как один из факторов, определяющих, стоит ли подтвердить дополнительно у пользователя его действие или нет. Уведомлять ли пользователя, что он работает на взломанном устройстве или нет. Я еще для себя не пришел к какому-то окончательному выводу. Наверное, всё-таки стоит это делать, ведь пользователь может и не догадываться о наличии root или JailBreak.

Так, к чему это всё?
Вышла новая версия unc0ver, позволяющая заджейлить практически все устройства на iOS 11.0 - 13.5! 💃💃💃
И пожалуй, это лучшая новость об iOS за последнее время!

#iOS #Jailbreak #unc0ver #fraud
​​Apple продолжает радовать 🕺🕺

Простая и изящная атака на механизм аутентификации в сторонних сервисах через Apple ("Sign in with Apple"). Алгоритм очень похож на OAuth 2.0, но уязвимость позволяла войти под абсолютно любой учетной записью, зная только email 😱

За этот потрясающий в своей простоте баг исследователю заплатили 100 тысяч долларов 🤑

Пора идти ковырять Apple :)

#iOS #ZeroDay #Vulnerability
​​Ещё одна очень неплохая и динамично развивающаяся система для анализа мобильных приложений - Mobexler

Представляет собой виртуальную машину с предустановленным набором различного софта для пентеста мобильных приложений, как для Android, так и для iOS. Включает в себя такие утилиты, как Android Studio, BurpSuite, Frida, MobSF, Mara Framework, Objection, Drozer и многие другие.

Очень удобно иметь под рукой полностью готовую к использованию среду для тестирования. После завершения анализа можно сделать снепшот и откатить все до изначального состояния, чтобы не путались результаты между различными приложениями, в общем все удобства виртуальной среды 😁

Надеюсь, что это проект будет развиваться дальше и не загнется, как остальные попытки сделать что-то похожее.

#iOS #Android #Tools
​​Исправляешь найденный дефект в приложении, выпускаешь релиз, радуешься, отмечаешь успех 🥳🥳
Через какое-то время в этом же компоненте находят уже другой баг, ты его исправляешь и радуешься, но.. После фикса новой баги, снова повторяется предыдущая, о которой ты уже успел забыть!

Знакомая ситуация, правда? 😄

Вот и у компании Apple абсолютно так же, закрыв новую уязвимость, они переоткрыли уязвимость 2018 года 🙈

В этом посте обратите внимание на ссылки, которые ведут на первые статьи, подробно описывающие эксплуатацию и причину возникновения уязвимости, очень интересно! Еще занятно, что разработчики Jailbreak используют методы обфускации и защиты своих разработок, чтобы вендор не смог определить, что именно и как они эксплуатируют! Вот у кого нужно поучиться защите :D

#iOS #Jailbreak #Vulnerability #Apple
​​Недавно я рассказывал о чеклистах и стандартах по безопасности мобильных приложений от OWASP. К большому сожалению, они одни из немногих, кто выпускают подобные материалы. Если чеклистов по безопасности Web-приложений можно найти огромное количество на любой вкус, то в случае с мобильными приложениями всё несколько хуже.

Иногда всё-таки мне встречаются альтернативные списки требований для мобильных приложений, которые я буду выкладывать по мере нахождения, надеюсь, они пригодятся кому-то :) Из всех доступных стандартов можно составить список требований, который будет адресован именно вашим приложениям 🤓

#MASVS #OWASP #Checklist #Standart