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

По всем вопросам - @Mr_R1p
Download Telegram
И снова про App Transport Security: что это и зачем

Всем привет!

Очень часто при анализе iOS-приложений мы встречаем выключенный App Transport Security для всего приложения. И на вопросы, почему его выключили, обычно отвечают, что его не хочется настраивать и слишком много доменов, для которых нужно делать исключение.

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

А если к этому добавить возможность прикрепления сертификатов по аналогии с Андроидовским Network Security Config, и посмотреть более внимательно, как его настраивать, то можно получить очень даже удобный инструмент для настройки сетевого взаимодействия.

Исходя из всех этих соображений я написал статью, посвященную теме App Transport Security, как его настраивать, что означают ключи, как сделать прикрепление сертификатов, как проверить настройку backend и многое другое!

Надеюсь, что вам пригодится это в работе!
Ну или тем, кто когда-то начнет работать с iOS и будет искать материалы по этой теме 😄

Всем хорошей недели!

#iOS #AppTransportSecurity #network #habr
👍4🔥2
Получение root на эмуляторе с Google Play

На эмуляторах с установленным Google Play не так-то просто было получить полноценный root-доступ.

Я писал про репозиторий, который позволяет получить постоянный root на эмуляторе, но во первых он только для эмуляторов без Google Play, там достаточно сложная последовательность скриптов и репозиторий уже в архиве😀

Но вот инструмент, который обещает нам получение рута на эмуляторе вплоть до 12-го Android. Но это не совсем привычный нам root доступ вообще, а только для конкретного процесса (включая демона adb). Что интересно, права выдаются «на лету», то есть никаких специальных действий с самим эмулятором делать не нужно. Чтобы понять, как это работает, можно посмотреть описание репозитория, идея из которого была реализована для более старших версий Android.

Весьма полезная вещь может быть для анализа приложений.

#android #emulator #rooting #gdb
Скидка на конференцию Mobius

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

Вот ребята из Мобиус таки решили провести конференцию и предлагают скидку подписчикам канала по коду maw2022JRGpc

Так что, если планировали пойти, можно немного сэкономить 😄
Forwarded from Anna Kurilo
Mobius — конференция по мобильной разработке от JUG Ru Group, в формате online+offline 🔥

Online-часть: 25–27 мая.
Offline-день: 22 июня.

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

Некоторые темы выступлений:
– Как разработчики вернули к жизни приложение для сотрудников розничной сети МТС.
– Что такое подход Dependency Injection, какие DI-фреймворки существуют и чем они могут быть полезны.
– Как атрибут inlinable влияет на производительность и компиляцию кода на Swift.
– Какие проблемы могут возникнуть при использовании Koin в растущем Android-приложении и как их решать.

Для подписчиков канала организаторы сделали промокод, который поможет купить персональный билет со скидкой: maw2022JRGpc

Билеты и подробности на сайте.
Удаленное выполнение кода в Adobe Acrobat Reader для Android

Исследователь обнаружил возможность выполнения произвольного кода в Adobe Reader через ставшей, не побоюсь этого слова, классической связкой между уязвимостями Path Traversal в getLastPathSegment() и подгрузкой через эту уязвимость нативной библиотеки, где в методе JNI_OnLoad вызывается зловредный код.

Конечно, уже есть оперативный фикс от adobe и за эту багу выплатили 10К, что весьма и весьма достойно!

Статья хорошо описывает весь путь, без лишней воды. И даже фикс показал :))

Хорошего чтения и может, это поможет вам при анализе 😉
#android #adobe #rce
👍4
Очень хитрая и интересная малварь

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

Однако в этой статье рассказывается про очень интересную и достаточно хитрую малварь, которая не реализует классический DexClassLoader для подгрузки и запуска полезной нагрузки, а использует механизм MultiDexApplication с небольшими изменениями (изменены имена файлов, локация для сохранения, а также реализована предварительная расшифровка dex-файла). Хорошо, что ключ шифрования по традиции сохраняется в исходном коде 🙄

В общем, достаточно интересный пример, можно взять на вооружение для ctf, например.

#android #malware #multidex #research
👍4
Frida хуки из smali кода

Вслед за интеграциями с Frida декомпиляторов jadx и jeb, теперь можно получить хуки на нужные классы из smali файлов!

Автор репозитория, правда не расщедрился на описание и ограничился командой на запуск (внимание, требуется минимум Java 11):

java Smali2Frida "/directory/to/smalifolder" >script.js

Понять что там происходит, можно только запустив эту команду 😀

А по факту, после выполнения команды мы получаем js-файлик с хуками на все классы и методы внутри выбранной директории.

Как один из примеров получившегося кода:

Java.perform(function() {
var klass7 = Java.use("com.swdf.buggen.MainActivity");

klass7["$init"].overload().implementation = function()
{
var ret = this["$init"]();
console.log("<init>", "called : ", ret);
return ret;
}
...

Может быть достаточно удобно, если нужно повесить много хуков и посмотреть, что и в каком порядке вызывается

Но, конечно, так как это опенсорс, никто не гарантирует, что это будет работать в рантайме :)

#android #smali #frida
👍6
Mobile AppSec World
Публиковать ли ссылки на "Неделю новостей мобильной безопасности в канале?"
Новости мобильной безопасности. Эпизод 3.

Так как большинство проголосовало "за", а часть не знает про существование канала, то вот третий выпуск подборки на Хабр по новостям из мира мобильной (прости господи), безопасности!

Ну и напомню, что все эти ссылки переходят из канала на Хабр, а оттуда в репозитории Awesome iOS Security и Awesome Android Security, присоединяйтесь)

Всем хорошей пятницы и хорошо отдохнуть на выходных!

#habr #news #awesome
👍51
Отличный канал по iOS разработке

Я нечасто делюсь различными каналами, но в данном случае, не могу не поделиться, нашёл классный канал об iOS-разработке.

Автор пишет много и интересно про различные нюансы iOS разработки и особенности работы приложений. Иногда проскакивает материал и по нашей тематике. например про утечки памяти (тут и тут можно посмотреть).

Вообще для меня разработка на iOS всегда была сильно сложнее Android, но это и логично, в одном случае более менее понятная Java, возможность собирать приложения в любой операционке, открытый API. А в другом случае, это только Mac и иногда о внутренностях приходится либо догадываться, либо искать доклады, где люди реверсят различные механизмы iOS.

Так что в части поиска различных решений и подсказок по iOS разработке, думаю, что не раз еще обращусь к автору канала)

И кстати, сегодня вышла отличная статья на Хабр на тему, почему Apple может не пропустить ваше приложение в свой магазин. Спойлер - потому что потому :D

Вот с Google таких проблем нет, моя малварь до сих пор там живет и собирает лайки от довольных пользователей "Калькулятора для бухгалтера" 😂


#iOS #development #teelegram
👍3🔥2
Ядовитая экосистема

Всем привет!
Встречайте пятничный предне-майский research от @OxFi5t!

Классная статья и очень интересная бага, я даже не знал, что так можно было делать)
Forwarded from Android Guards
This media is not supported in your browser
VIEW IN TELEGRAM
Экосистемы сейчас на хайпе. Про них даже один известный человек высказался: "Есть элементы этой экосистемы, которые нужно доработать. Нужно сделать свой интернет-магазин, потому что App Store и Google Play на сегодняшний день у нас уже практически могут скоро не дать возможности скачивать приложения".

А вот насколько хорошо разработчики приложений понимают, как построить безопасную экосистему? Чтобы не теоретизировать, я решил посмотреть на существующие экосистемы и рассказать вам об одной интересной уязвимости, которая характерна именно для экосистем приложений. Никакой теории, только код, кишки и ссылки для дальнейшего изучения.
Рефакторинг MASVS - секция CODE

Недавно я писал про планы провести глобальный "ребрендинг" и рефакторинг основных документов от OWASP для мобильных приложений. Секция про криптографию уже переработана и сейчас настала очередь рздела V7 - Code.

И надо сказать, что переделывают его неплохо, по крайней мере все спорные требования, которые было иногда трудно понять либо совсем убрали, либо перенесли в правильные разделы. К примеру требование "MSTG-CODE-7 Error handling logic in security controls denies access by default." наконец-то переехало в секцию архитектуры, где ей самое место.

А требование про "A mechanism for enforcing updates of the mobile app exists." либо вообще уберут, либо оно также переедет в архитектуру.

Так как этот документ и вообще проект OWASP это общественное мероприятие, обсудить и прокомментировать можно в обсуждении на github ( и там же актуальный дифф).

Так что, если есть, что сказать - добро пожаловать в комьюнити OWASP :)

#owasp #masvs #mstg #refactoring
👍2
Немного об особенностях eSIM в Android

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

Но Google решил пойти чуть дальше и в 2020 году запатентовал решение для программной возможности активной работы двух профилей на одном eSIM чипе. И это прям очень круто, теперь без физической симкарты можно спокойно использовать несколько операторов, которые предоставляют eSIM.

Нововведение должно заработать в Android 13.

#eSIM #DualSIM #Android
👍7
Увлекательная статья про печать фейковых чеков

Легко написанная и быстро читающаяся статья про уязвимости в аппаратах, которые печатают чеки. Оказывается, на некоторых из них стоит Android!

Автор описывает, как устроены такие устройства, как он проводил исследование и какие результаты получил.

Для нас, наверное не так интересно, но мне почему-то прям понравилось :) думаю, почитать за чашкой кофе можно вполне)

Всем хороших праздников!

#fiscal #android #research
👍3
Библиотека для iOS-приложений для определение Jailbreak, дебагер и много чего еще

Весьма интересный проект "iOS Security Suite", написанный на Swift, который поможет вам определить
- Наличие Jailbreak
- Подключенный дебаггер
- Запуск в эмуляторе (наверное все-таки в симуляторе)
- Наличие различных инструментов для отладки приложений

Ну и выглядит достаточно интересно всякие вещи в стадии Experimental:
- Определение хуков в рантайме
- Определение целостности файла из Bundle
- Определение Breakpoint

Посмотрел на код библиотеки, все здорово и она действительно реализует все OWASP-требования и даже чуть больше. Но есть одна оговорка, название у всего этого хозяйства ну прям слишком вызывающее, например для определения Jailbreak - IOSSecuritySuite.amIJailbroken(). Будет слишком просто найти. Так что я бы посоветовал взять исходники к себе и немного пошаманить, чтобы названия были не такие говорящие о том, что этот модуль делает.

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

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

#ios #security #defence #library
👍71
Доклад об эксплуатации типичных уязвимостей в iOS

Хороший доклад от «инженера в компании Google днём и исследователя ИБ ночью” про типовые уязвимости в iOS-приложениях. Доклад доступен как в видео формате, так и записан и переложен на бумагу сайт для тех, кому текст воспринимать легче.

Доклад достаточно хороший, описывает разные стороны, куда посмотреть в приложении, в частности:
- анализ содержимого пакета приложения
- анализ URL-схем (открытие произвольных URL в WebView)
- SSL Pinning и его отсутствие
- Анализ UIWebView

Есть на что посмотреть, есть что поизучать, особенно начинающим в этой непростой, но очень интересной сфере безопасности.

#ios #vulnerabilities #analysis
👍5🔥1
Советы по программе обучения

Написал статью, которая касается не только безопасности и разработки мобильных приложений, а вообще в целом всего процесса разработки. А именно, несколько советов по тому, как сделать программу обучения или, по другому, awareness в области безопасности внутри компании.

Понятное дело, что в целом, это достаточно «простой» процесс, но как обычно дьявол кроется в деталях. Я постарался описать несколько советов о том, с чем нам приходилось сталкиваться, какие вещи лучше всего работают и несколько советов тем, кто только начинает строить у себя в компании этот процесс.

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

#awareness #rb.ru
👍9
Расшифровка зашифрованных фотографий из приложения ‘AVG’ Photo Vault

Прочитал статью про расшифровку файлов из ещё одного приложения от антивируса AVG и подумал, что где-то я видел подобный стиль написания и объяснения шифрования. Пошарившись по сайту увидел, точно! Вот мой пост от того же человека, который фотки из калькулятора расшифровывал!

А если посмотреть на его блог, то это похоже к него такое хобби, искать приложения, которые что-то прячут и шифруют, а потом пытаться их взломать и получить фото без пароля)

Интересное хобби у человека :) может быть иногда очень полезно 😅

Так что, если интересуетесь темой шифрования, расшифровки и анализа алгоритмов, вам точно стоит заглянуть в его блог!

#crypto #vault #research
👍4
Знай свои секреты. Поиск и автоматическая проверка секретов сторонних сервисов

Что-то в последнее время много постов на канале про моё творчество, но, наверное, это и неплохо :)

И вот вам занятное на почитать между праздниками, статья о хранении секретов в мобильных приложениях.

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

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

Спасибо и хороших вторых выходных 😄

#habr #secrets #stingray
👍4
Способы определения и способы обхода обнаружения отладки приложения.

Хорошая статья на корейском языке, которая описывает способы обнаружить, что приложение пытаются отладить или устройство подключено к компьютеру и активирован режим отладки по USB.

Вообще, наверное, самая полная статья по этому вопросу. Если вы, как и я не знаете корейский, то вот ссылка на переведенный вариант (спасибо гугл-транслейт)

Будет полезно как для разработки, чтобы включить эти проверки к себе в приложение, так и для тех, кто эти проверки собирается обойти 😄 не проходите мимо, забирайте и используйте, метод обнаружения достаточно интересный, особенно по сравнению с классическим android.os.Debug.isDebuggerConnected(),на который проверяют все популярные фреймворки по обнаружению отладчика.

#android #debug #frida
👍3