Mobile AppSec World
3.66K subscribers
109 photos
6 videos
18 files
649 links
Новости из мира безопасности мобильных приложений, а так же интересные статьи, обзоры инструментов, доклады, митапы и многое другое...

По всем вопросам - @Mr_R1p
Download Telegram
​​И еще немного в копилку Malware под Android...

Несколько приложений для сканирования QR-кодов с более чем миллионом скачиваний 🙈🙈 были заражены трояном, который раз в 15 минут запрашивал информацию с сервера и показывал рекламу.

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

Так что не стоит забывать, что из магазина Google Play тоже можно заразиться вирусом (Google Play Protect, к сожалению, далёк от идеала) и количество скачиваний приложения не всегда является показателем того, что приложение безопасно.

#Android #Malware #Report
​​Продолжая тему вредоносов, как определить, что на самом деле содержит в себе Android-приложение, которое вы скачали?

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

Для Android-приложений есть похожие вещи и они даже доступны в OpenSource. Первый из них, основанный на очень популярной системе, в простонародье называемой "Кукушка" (Cuckoo). Этот инструмент имеет ответвление в виде специального дистрибутива для анализа Android-приложений - CuckooDroid. К сожалению, он достаточно давно не развивается, но до сих пор показывает неплохие результаты и им можно пользоваться.

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

Про второй продукт расскажу в следующих постах, оставайтесь с нами 🤓
Второй инструмент - Quark. Он использует совершенно другой принцип, не запускает анализируемое приложение, а пытается декомпилировать и по собственным правилам (которые можно дописывать или украсть подглядеть на просторах интернета) определяет, насколько приложение похоже на вредонос.

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

quark -a sample/14d9f1a92dd984d6040cc41ed06e273e.apk -r rules/ -s

И буквально через несколько минут получить результат.

Кстати, есть еще одна форма этого инструмента - для поиска уязвимостей в приложении, но уже совсем другая история и, может быть, я когда-то о нём напишу 😃

Если нужно определить, является ли Android-приложение зловредом или содержит в себе какие-то скрытые возможности, я бы рекомендовал комбинировать два эти инструмента для всестороннего анализа приложения, как с точки зрения статического анализа, так и динамического. Всё в лучших традициях AppSec - что-то найдет один инструмент, что-то другой и в итоге можно получить более-менее цельную картину.

#Android #Malware #Research #Tools
​​Мир захватили QR-коды 😬
Они везде, даже в виде пропуска на выход из дома)

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

При анализе приложений мы всегда исследуем этот функционал и достаточно часто находим там проблемы. Помогает в этом несколько open source решений для генерации зловредных кодов: QRGen и Scansploit

Всего в несколько команд можно сгенерировать пачку QR или Barcode, содержащих любые пейлоады.

Очень удобно, единственное, сканировать их потом устаешь :))

#Android #iOS #Tools #analisys
Сейчас практически все мобильные приложения, которые хоть как-то оперируют важной для пользователя информацией, защищены паролем и, для удобства использования, pin-кодом.

Но вечный вопрос безопасности и удобства, какую длину pin-кода выбрать,чтобы было и удобно и безопасно? И нужно ли запрещать использование простых кодов, вроде 0000?

Наткнулся на интересное исследование, которое пытается эти вопросы разрешить 🤓 Ребята проверили, какой список запрещенных пинов использует Apple, соорудив конструкцию из айфона, лего и распберри с камерой, и как подобные списки влияют на безопасность.

Выводы очень неоднозначные, но точно интересные. Согласно результатам исследования, использование 6-значных pin-кодов вместо 4-значных практически не повышает безопасность и более того, может даже снизить ее. В статье можно скачать само исследование, все участвовавшие черные списки, а так же посмотреть выступление.

#Pin #Security #Research

https://this-pin-can-be-easily-guessed.github.io/
​​Обожаю ElcomSoft за их статьи. Спасибо, ребята! Вы правда крутые 😄

Во многих, конечно, есть реклама их продуктов, но при уровне полезности материала это можно простить)

Отличная статья с детальным разбором секьюрного мессенджера "Confide". Как он хранит данные, каким способом и что шифрует, какие способы защиты использует. Всё это описано с примерами кода, конкретными функциями и алгоритмами!

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

Ну, и, конечно, очень классный вывод в конце: "Если говорить о балансе между удобством и безопасностью, Confide - это примерно 110% безопасности и минус 10% удобства". 😂

#iOS #Applications #Messenger #Analysis
​​Уже несколько лет внутри Google разрабатывается проект новой операционной системы - Fuchsia. Вокруг этого проекта огромное количество слухов, есть мнение, что он заменит собой Android или что это просто развлечение для разработчиков, что бы им не было скучно. Что это будет на самом деле, не ясно, так как Google хранит таинственное молчание 🤔

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

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

И что еще интересно - в процессе разработки для повышения безопасности практически каждый модуль проверяется не только юнит тестами, но и фаззингом (libfuzzer и syzkaller). 😎

#Android #Fuchsia #Vulnerabilities #Research
​​Пока Google трудится над новой операционной системой, Apple продолжает нас радовать новыми версиями iOS. Правда, они забывают включать в некоторые из них критически важные обновления безопасности :)

1 июня. Релиз iOS 13.5.1
Эта версия содержит патч для уязвимости, которую использует Unc0ver

1 июня, позже. Релиз iOS 13.5.5 beta 1
Снова содержит эту же уязвимость 👹

Конечно, чуть позже они экстренно выпустили новую версию, назвав её 13.6 beta 2, в которой изменили порядок версии и уже включили патч. Ну как так, Apple? 🙈

А вот тут собрана обобщенная информация (но со ссылками на подробную информацию) о практически всех эксплойтах, которые можно проэксплуатировать из контекста приложения, в ядре iOS 10 - iOS 13. Материал интересем еще тем, что в конце автор разобрал меры, которые Apple применял от версии к версии, чтобы усложнить возможность эксплуатации.

#iOS #Exploits #Research #Apple
​​Всегда задавался вопросом, можно ли считать двухфакторной аутентификацией SMS-сообщение, которое приходит на то же устройство, с которого осуществляется вход в приложение? Как по мне, это скорее 1,5 фактора максимум 😄

Сколько работал, всегда были споры, что лучше, push или SMS? Как по мне - push намного удобнее, хотя бы потому, что начиная с Android 5.0 можно создать несколько типов уведомлений, которые будут показывать разный текст в зависимости от блокировки устройства:

Общедоступное - Уведомления отображаются на заблокированных устройствах

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

Секретное - Уведомления отображаются на заблокированных устройствах, но если установлена защита, то уведомления не отображаются.

используя эти особенности уведомлений, можно очень гибко настроить, когда и как будет отображаться информация. Плюс в Android с недавнего времени появился «защищенный» диалог подтверждения, который может гарантировать, что пользователь прочел и "подписал" сообщение.

Так же и в ElcomSoft есть целый ряд статей про сравнение различных реализаций двухфакторки у Apple и как её в целом можно обойти. Вывод, на мой взгляд, один - SMS один из самых ненадежных способов доставить OTP, но его по прежнему использует очень многие..

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

#Android #iOS #TwoFactor #OTP
[Embedded.Android].Karim.Yaghmour.pdf
11.6 MB
Во время разработки своего инструмента нам пришлось изрядно покопаться в устройстве внутренностей Android, пытаясь понять, почему что-то не работает, добавлять свои модули в ядро и отключать хитрые проверки.

Так как исходный код Android, в большинстве своем, находится в отрытом доступе в проекте AOSP (Android Open Source Project), можно попробовать разобраться самому, как именно он устроен и какие механизмы безопасности имплементированы. А также, некоторые энтузиасты проводят статический анализ кода и ищут в нем уязвимости 🤓

Но на самом деле, самому полностью разобраться и даже первый раз собрать проект достаточно тяжело. Помочь в этом может интересная книга под названием "Embedded Android", в которой описана базовая структура AOSP-проекта, детальные инструкции по модификации и сборке, а так же некоторые ключевые моменты в коде.

Самое время начать разрабатывать свою собственную версию Android, чем еще заниматься на удалёнке 😉

#Android #AOSP #Embedded #Books
​​Когда начинаешь задумываться о разработке своего приложения, всегда держишь в голове, что делать его придётся для двух платформ iOS и Android. Но зачем два приложения, когда можно "немного" сэкономить и сделать одно, которое будет работать и там, и там?

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

Сегодня речь пойдет об одном из таких фреймворков - Flutter. Развивается данный проект компанией Google, и это пока единственный способ запустить ваше приложение на их новой операционной системе Fuchsia. Для написания приложений используется язык Dart, также разработанный Гуглом. В общем - если вы фанат Google - вам точно понравится 🤣

Сложность анализа таких приложений в том, что они могут не использовать системный функционал или библиотеки , так что перехватить вызов различных методов или переопределить возвращаемое значение функций стандартными инструментами будет проблематично. Особенно это касается отключения SSL-Pinning. При первом исследовании такого приложения я потратил немало времени, чтобы добиться-таки адекватного перехвата трафика.

Очень мне помогла вот эта замечательная статья, в которой автор подробно рассказывает, как именно найти нужное место в приложении, отвечающее за проверки сертификата, и как эту проверку отключить. Читается очень легко, содержит подробные инструкции, которые могут не раз вам пригодиться)

#iOS #Android #Analysis #Flutter #MiTM
​​Для исследования сетевой активности приложения, первым делом необходимо перенаправить трафик через свой прокси. Обычно это достаточно легко сделать, просто указав в настройках сети необходимый адрес прокси-сервера.

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

В случае с Android всё достаточно просто, в нем присутствует механизм iptables, добавив в который правило, мы перенаправим весь трафик по нужному адресу (именно так работает популярное приложение - ProxyDroid).

Но что делать на iPhone? Существует несколько способов, которыми я в том числе иногда пользуюсь:

- Поднять свою точку доступа и уже с нее весь трафик заворачивать в прокси

- Подключиться к своему серверу VPN и с него перенаправлять трафик на нужный прокси-сервер


Не совсем простые вещи, но есть подробный мануал, как пошагово реализовать оба пункта. Кстати, эта статья так же является продолжением разбора кроссплатформенных приложений и перехватом в них трафика, но уже для платформы iOS.

Так сказать два в одном! 😂

#iOS #MitM #VPN #Proxy
​​В качестве обвязки для Frida я использую Python, так как мне этот язык привычен и можно найти много примеров именно такой связки.

Если же вы знаете и любите Java и хотите использовать Frida - этот гайд создан для вас. Внутри - большое количество примеров и объяснений, как и что работает. Примеры использования показаны на основе приложения, которое написал автор специально для данного гайда. Оно содержит много классов, использующих различные компоненты и подходы.

Так что даже, если Java не ваш язык, то на примере этого тестового приложения можно попрактиковаться в написании скриптов для Frida!

Автору респект, на всякий сохранил к себе, вдруг на Java написать что-то захочется 🤣

#Frida #Tools #Guide #Android
​​Что только не сделаешь, чтобы защитить свой API от ботов, злоумышленников, индусов с Acunetix и прочих нежелательных посетителей.

Особенно в этом преуспел Snapchat, который проделал огромную работу по обфускации и защите своего приложения. Тут тебе и код перенесенный в нативные библиотеки, и сложнейая обфускация, и специально оставленные "мертвые" участки кода, динамические вызовы библиотек и многое другое. В общем, полный набор!

Описание, как именно использует все эти техники Snapchat описаны в статье "Reverse Engineering Snapchat (Part I)". Автор разбирает используемые техники, описывает как и на что они влияют и от чего защищают. Можно позаимствовать некоторые из них для своего приложения :)

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

#Snapchat #Reverse #iOS #Research
​​В чате (который доступен по кнопке "Обсудить"), очень верно отметили, что уже вышла вторая статья по Snapchat!

И да, автор не обманул, он действительно описывает, как ему удалось обойти те или иные проверки и получить-таки заветное значение токена. Правда, до конца он так и не рассказал, как взаимодействовать с их API, оставил так сказать поресерчить самим 😃

Но все равно классная статья! 🤓

#Snapchat #Reverse #iOS #Research
Learning Android Forensics.pdf
17.6 MB
Начал разбираться в своих завалах "книги, которые я обязательно потом прочитаю". Думаю, у всех есть такая папка 😁

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

Первая из них, которой я бы хотел поделиться, называется "Learning Android Forensics". Даже если вы не сильно увлекаетесь этим направлением, рекомендую прочитать первую и третью главу, где расписано внутреннее строение системы Android и дано подробное описание структуры файловой системы.

Также приятно, что одним из авторов является наш соотечественник!

#Android #Books #Forensic
​​Сначала я планировал выкладывать книги по одной, но подумал, что скачать все разом будет проще, удобнее и полезнее.

Так что встречайте, подборка книг по безопасности и анализу мобильных приложений под Android! Включает в себя:

- [A]ndroid [A]pplication [P]entest [G]uide - краткий немногословный гайд по различным тулам для анализа Android

- Android Hacker's Handbook - не самая свежая, но хорошая книга по анализу. Совмещает в себе и краткое описание структуры Android и методы "взлома"

- Android Malware and Analysis - очень хороший материал по семействам, типам малвари для Android, способам ее обнаружения различными методами (статический анализ, поведенческий анализ) и инструкциями по созданию собственной песочницы для экспериментов

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

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

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

- decompiling-android - пожалуй, наиболее полный гайд по декомпиляции и дизасемблированию (если можно его так назвать) приложений по Android. Если вы часто анализируете приложения методом "черного ящика" - эта книга вам точно поможет

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

- Mobile App Hackers Handbook - так же не самая свежая, но в целом актуальная книга по анализу приложений и инструментам, которые для этого используются. Чем-то напоминает мне MSTG

- XDA's_Android_Hacker's_Toolkit - книга от участников форума XDA про безопасность мобильных устройств, кастомным загрузчикам, специфике различных производителей

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

#Android #Books #Education

https://drive.google.com/file/d/17y5k91lIU0QWK3HyToQRWYbJAVVTQn-v
​​В продолжении темы книг - подборка по безопасности и анализу мобильных приложений под iOS! Включает в себя:

- iOS App Reverse Engineering - отличная книга практических советов по анализу iOS приложений при помощи Reverse Engineering. Пожалуй, наиболее подробный материал, который я читал по этому направлению.

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

- iOS_Hackers_Handbook - не самая свежая, но хорошая книга по анализу. Описанные техники не самые новые, но описание архитектуры и модели безопасности iOS описаны подробно и понятно

- Mac OS X and iOS Internals - наверное, одна из самых подробных и сложных для меня книг, которая максимально подробно описывает, что происходит внутри операционной системы, памяти, ядра и прочих темных переулках iOS

- Mobile App Hackers Handbook - хорошая книга для начала изучения безопасности мобильных приложений, дает представление простым и понятным языком о многих вещах, пытаясь совместить в себе и описание анализа приложений и защиты.

Их, конечно намного меньше, чем по Android, но есть что почитать вечерком :)
Enjoy!

#iOS #Books #Education

https://drive.google.com/file/d/1X9StporiApy_UP2gd1b-2djmwcIRq524
Android Books Part 2.zip
19.3 MB
Спасибо @ChadwickBlackford из нашего чата за еще несколько интересных материалов по Android, забрал себе в "библиотеку", будем изучать :)

Материалы включают в себя:

- Practical Android Application Exploitation - подробная презентация Workshop'а с DEFCON по практическому анализу Android.

- Hacking Android - по беглому просмотру может оказаться очень полезной, описывается использование различных методов анализа при помощи достаточно современных утилит, что выгодно отличает эту книгу от большого количества статей в интернете

Если у кого есть интересные материалы - пишите, потом соберем всё в одну большую подборку 🤓

#Android #Books #Education
​​Немного не про мобильные приложения, но где-то около, на тему IoT и популярных GPS-трекеров.

Честно говоря, я зачитался этими двумя статьями(первая и продолжение), которые опубликовали специалисты из компании Avast. Они провели полноценное исследование, как именно взаимодействуют популярные небольшие GPS-трекеры, их протоколы взаимодействия (GSM, SMS, HTTP, Web) и в каждом из них нашли шикарные уязвимости, которые позволяют полностью скомпрометировать устройство и следить за людьми (а в некоторых случаях и управлять машиной, если такой трекер интегрировать в машину). 😱

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

В общем, потрясающие статьи для прочтения за чашкой утреннего кофе)

#IoT #GPS #Research
Мне всегда очень нравились видео-курсы, презентации или видео материалы по анализу мобильных приложений. Просто потому, что это наглядно и для меня так проще воспринимать информацию. Уже после просмотра можно углубиться в техническую составляющую и засесть за заметки, которые делал по ходу выступления. А если еще спикер умеет рассказывать, вообще 🔥

Это к тому, что уже 2-го июля (в четверг) в 21:00 по Московскому времени пройдет вебинар от OWASP по безопасности и анализу iOS-приложений. Несколько тем, которые будут затронуты:

- Общие проблемы безопасности iOS приложений, основанные на реальных кейсах
- Начало работы, настройка среды для анализа
- Поверхность атаки на приложения экосистемы iOS
- Что можно сделать на не Jailbreak устройстве?

Выглядит достаточно интересно, я уже зарегистрировался, посмотрим, расскажут ли что интересное 🤓

#iOS #Analysis #Webinar

https://www.meetup.com/Bay-Area-OWASP/events/271550835/