Мне тут коллеги с соседнего предприятия рассказали историю о том, что им пришло приложение от не самой распоследней конторы на аудит. И первым, что бросилось в глаза, было наличие релизного ключа в каталоге с проектом и заботливо прописанных креденшелов к нему в build-файле. Скажу очевидную мысль: никогда так не делайте 😄 А если узнали свое приложение, то поменяйте пароли на ключ и будьте счастливы.
А надо делать? Не в такой ситуации, а вообще. Вопрос большой и дискуссионный, но я бы посоветовал рассмотреть такие варианты:
- Назначить "хозяина ключей". Это может быть тим/техлид, который в нужное время будет спускаться с небес и подписывать ваше многострадальное приложение
- Убрать все ключи на CI чтобы все подписывалось там.
Я не хочу давать оценку ни одному из этих вариантов. Надеюсь что вы с этим справитесь самостоятельно.
А надо делать? Не в такой ситуации, а вообще. Вопрос большой и дискуссионный, но я бы посоветовал рассмотреть такие варианты:
- Назначить "хозяина ключей". Это может быть тим/техлид, который в нужное время будет спускаться с небес и подписывать ваше многострадальное приложение
- Убрать все ключи на CI чтобы все подписывалось там.
Я не хочу давать оценку ни одному из этих вариантов. Надеюсь что вы с этим справитесь самостоятельно.
Бывает смотришь на девушку и думаешь — DAST или не DAST... Впрочем о чем это я... А, подкаст новый записали. На этот раз обсуждаем все прелести DAST анализа с ребятами, которые неплохо в этом разбираются. В выпуске присутствует жесткая критика MobSF, поэтому слабонервных прошу поаккуратнее с прослушиванием 😉
Послушать выпуск можно в Google/Apple подкастах и на Youtube:
🎥 YouTube: https://youtu.be/imrlMLVOTRY
🎙 Google Podcasts: https://bit.ly/360XYIi
🍏 Apple Podcasts: https://apple.co/3vWFYte
Послушать выпуск можно в Google/Apple подкастах и на Youtube:
🎥 YouTube: https://youtu.be/imrlMLVOTRY
🎙 Google Podcasts: https://bit.ly/360XYIi
🍏 Apple Podcasts: https://apple.co/3vWFYte
YouTube
🎙 Community Podcast #3: Травим баги DAST-ом
Продолжая тему анализаторов приложений говорим про Dynamic Analysis Security Testing (DAST) или попросту "динамику". А чтобы не говорить ерунды, я решил позвать ребят из компании Stingray, которые как раз пилят такой анализатор. Зачем они вообще за это взялись…
Вам когда-нибудь было интересно как эволюционировали подходы к обеспечению безопасности в Android? Если да, то вот статья способная хоть немного удовлетворить ваш интерес. Это хороший обзор того, как Google улучшала безопасность и приватность операционной системы начиная с версии 4.4 и до наших дней. Ну и автор — не хрен с горы, а известный в нашем теплом мобильном инфобезе @Mr_R1p. Так что заваривайте свою любимую "принцессу Нури", доширак и наслаждайтесь чтением.
P.S. Статью уже репостили в чат канала, но автор репоста любезно согласился удалить сообщение, чтобы избежать дублирования 😎
P.S. Статью уже репостили в чат канала, но автор репоста любезно согласился удалить сообщение, чтобы избежать дублирования 😎
Хабр
Развитие механизмов безопасности Android (от версии к версии)
Привет, Хабр! Я занимаюсь безопасностью мобильных приложений и с удовольствием слежу за развитием платформ Android и iOS, которые с каждым новым релизом становятся все привлекательнее для...
Каждый раз когда я говорю "не пишите свою криптографию, у вас нет для этого достаточного количества знаний", вы мне возможно не верите и думаете: ну уж я то разбираюсь, даже половину "прикладной криптографии" прочитал. В таком случае у меня для вас есть статья, где очень круто показано, что даже специалисты ошибаются. В статье речь идет о слабых алгоритмах генерации случайных чисел, которые применялись в парольном менеджере от Лаборатории Касперского. Читается на одном дыхании (почти) и наглядно демонстрирует как находят уязвимости в ГПСЧ.
⚠️ Осторожно, все что вы прочитаете дальше в этом сообщении — теория заговоров и так не бывает.
А еще злые языки говорят, что в некоторые криптографические алгоритмы специально вносятся уязвимости. При чем порой настолько хитро, что нужно обладать очень глубокими знаниями в математике и криптографии чтобы эти уязвимости найти. А вот кто вносит эти уязвимости и зачем — я вам не скажу 😉 Статью читайте. Нечего про всякие глупости думать.
⚠️ Осторожно, все что вы прочитаете дальше в этом сообщении — теория заговоров и так не бывает.
А еще злые языки говорят, что в некоторые криптографические алгоритмы специально вносятся уязвимости. При чем порой настолько хитро, что нужно обладать очень глубокими знаниями в математике и криптографии чтобы эти уязвимости найти. А вот кто вносит эти уязвимости и зачем — я вам не скажу 😉 Статью читайте. Нечего про всякие глупости думать.
Ledger
Kaspersky Password Manager: All your passwords belong to us | Ledger
The password generator included in Kaspersky Password Manager had several problems. The most critical one is that it used a PRNG not suited for cryptographic purposes. Its single source of entropy was the current time. All the passwords it created could be…
🔥1
Попалась мне тут книжка — Android глазами хакера. И решил я ее почитать и составить свое мнение. Делал заметки по ходу чтения и решил, что неплохо бы с кем-нибудь ими поделиться. Для тех, кому вечно "некогда", вот главная мысль — Книга отлично подойдет для тех, кто только начинает или хочет начать погружаться в мир android инфобеза
Для всех остальных есть такая ссылка — https://youtu.be/urgbx0QmHxs
Для всех остальных есть такая ссылка — https://youtu.be/urgbx0QmHxs
YouTube
📚 Pro книги: Android глазами хакера
Обзор книги "Android глазами хакера" (Е. Зобнин). Рассказываю о чем книга, стоит ли она вашего внимания и какие плюсы/минусы я для себя вынес.
⁉️ FAQ: https://github.com/Android-Guards/faq
⁉️ FAQ: https://github.com/Android-Guards/faq
Появилась новая инфа по safety section в GooglePlay, о которой я как-то писал. Теперь на это можно посмотреть в картинках и начать готовиться к ее появлению.
Открыть ее для заполнения в консоли разработчика обещают в октябре. Чуть больше подробностей тут.
Открыть ее для заполнения в консоли разработчика обещают в октябре. Чуть больше подробностей тут.
YouTube
Introducing the new Data safety section in Google Play
The Data new safety section will provide developers a simple way to showcase their app’s overall safety. Developers will be able to give users deeper insight into their privacy and security practices, as well as explain the data the app may collect and why…
Когда я нахожу в списке пакетов приложения
Самый простой способ начать раскручивать алгоритм — поискать метод
Ну хоть не имя автора и то ладно. А дальше сгенерированный ключ попадал в файл:
Который сохранялся в песочнице приложения. Шах и мат =)
Как стоило бы решать такую задачу? Я вижу три способа:
1. Не решать ее вообще. Зачем вам шифровать всю базу данных? Что там такого содержится? Если там куча конфиденциально инфы, то лучше бы это вынести на сервер.
2. Шифровать только конкретные данные. Тут хорошо помогает генерация ключей в keystore и обычные операции шифрования конкретных значений, которые потом можно сохранять в БД.
3. Размазать алгоритм генерации пароля по всему приложению с заходом в нативные либы, использовать куски подписи приложения и всякое такое прочее. Потом осознать, что пароль все равно получат с помощью хука на методе
net.sqlcipher, то сразу чувствую дух приключений. Это же люди заморочились, решили сделать зашифрованную базу данных и чтобы все было безопасно и хорошо. В такие моменты всегда интересно, что же они придумали с хранением ключей шифрования. Обычно там ничего интересного или всякая "комнатная криптография" типа константы с именем автора закодированной в base64, но на этот раз я нашел кое что забавное.Самый простой способ начать раскручивать алгоритм — поискать метод
net.sqlcipher.database.getReadableDatabase. В который и передается пароль на открытие БД. Если вам повезло и туда передается не статическая строка "mysecretpassword", то начинайте искать артефакты 😉 В моем случае, дорога приключений привела меня в класс с совершенно ничего не говорящим названием DatabasePasswordManager, который содержал такой код:static SecretKey generatePassword() {
return new SecretKeySpec(UUID.randomUUID().toString().replaceAll("-", "").getBytes(StandardCharsets.UTF_8), "AES");
}
Ну хоть не имя автора и то ладно. А дальше сгенерированный ключ попадал в файл:
static void writeDatabasePassword(Context context, SecretKey secretKey, File file) {
....
byte[] wrap = keyWrapperFactory.createInstance(context, "db").wrap(secretKey);
FileOutputStream fileOutputStream = new FileOutputStream(file);
fileOutputStream.write(wrap);
fileOutputStream.close();
return;
}Который сохранялся в песочнице приложения. Шах и мат =)
Как стоило бы решать такую задачу? Я вижу три способа:
1. Не решать ее вообще. Зачем вам шифровать всю базу данных? Что там такого содержится? Если там куча конфиденциально инфы, то лучше бы это вынести на сервер.
2. Шифровать только конкретные данные. Тут хорошо помогает генерация ключей в keystore и обычные операции шифрования конкретных значений, которые потом можно сохранять в БД.
3. Размазать алгоритм генерации пароля по всему приложению с заходом в нативные либы, использовать куски подписи приложения и всякое такое прочее. Потом осознать, что пароль все равно получат с помощью хука на методе
getReadableDatabase и написать защиту от фриды, xposed и... ну в общем вы поняли 😉Небольшая история о том, как сторонняя библиотека может умножить на ноль всю вашу обфускацию в приложении: https://telegra.ph/Among-Us-ProGuard-editon--ishchem-predatelya-credi-bibliotek-08-20
Эксперементирую с телеграфом =)
Эксперементирую с телеграфом =)
Telegraph
Among Us: ProGuard editon — ищем предателя cреди библиотек
Всем proguard/r8 джедаям посвящается Ты джедай обфускации, минификации и шринкинга. Ты а закрытыми глазами создаешь высококачественные файлы с правилами и всегда точно уверен в том, как будет выглядеть твой код в релизной сборке. Если это так, то послушай…
По случаю пятницы решил порадовать вас еще одним постом. На этот раз про то, как подружить Drozer со стоковым android эмулятором: https://telegra.ph/Drozer-ehmulyator-i-ehlfijskie-kostyli-08-20
Telegraph
Drozer, эмулятор и эльфийские костыли
Вам когда-нибудь хотелось странного? Например запустить drozer в docker-контейнере и достучаться с него до эмулятора на том же хосте? Казалось бы задача предельно простая и понятная. Запускаем эмулятор, на нем drozer-agent, пробрасываем порты, заводим контейнер…
Создатель Magisk-а опубликовал статью вносящую ясность в то, что будет происходить с проектом дальше. Если коротко, то дела такие:
- MagiskHide — все. У автора теперь есть доступ ко всему коду гугла поэтому такие штуки вызывают конфликт интересов.
- Репозиторий модулей — все. Автор устал заниматься модерацией.
- Ведется работа на Zygisk — части Magisk будут запускаться в Zygote.
- MagiskHide — все. У автора теперь есть доступ ко всему коду гугла поэтому такие штуки вызывают конфликт интересов.
- Репозиторий модулей — все. Автор устал заниматься модерацией.
- Ведется работа на Zygisk — части Magisk будут запускаться в Zygote.
Medium
State of Magisk: 2021
Ever since my employment at Google, crazy speculations has been spreading like wild fire all over the Internet. The out-of-context private…
Frida book.pdf
3.9 MB
Перевернул сегодня календарь, а там...
Какие-то добрые люди надергали из документации всяких полезностей по Frida и сделали из них удобную PDF-ку, которая будет очень полезна новичкам. Хотя, джедаям тоже будет на что посмотреть.
Что внутри:
- Краткая история фриды
- Установка и базовые компоненты
- Примеры решения задач: обход рута, поиск секретов, обход авторизации. В этом же разделе есть инфа про r2frida (джедаи тут?)
- Примеры инструментов базирующихся на фриде
- Коллекции скриптов
- Референсы на основании которых это все собиралось. Можно юзать как список для дальнейшего изучения.
#frida
Какие-то добрые люди надергали из документации всяких полезностей по Frida и сделали из них удобную PDF-ку, которая будет очень полезна новичкам. Хотя, джедаям тоже будет на что посмотреть.
Что внутри:
- Краткая история фриды
- Установка и базовые компоненты
- Примеры решения задач: обход рута, поиск секретов, обход авторизации. В этом же разделе есть инфа про r2frida (джедаи тут?)
- Примеры инструментов базирующихся на фриде
- Коллекции скриптов
- Референсы на основании которых это все собиралось. Можно юзать как список для дальнейшего изучения.
#frida
Довольно оперативно выложили материалы с прошедшей недавно Zero Nights 2021. По нашей теме там был только один доклад от Дмитрия Терёшина(@dtereshin) про проблемы SSDLC. В рамках доклада Дмитрий рассказал о внезапно появляющихся багах в релизных сборках и о том как их сбивать на подлете. А еще он презентовал свой тул
📹 Видео
👨🏻🏫 Слайды
👮 CheckKarlMarx
CheckKarlMarx, который выглядит как ваша обычная грепалка на питоне, только с отчетами 😉📹 Видео
👨🏻🏫 Слайды
👮 CheckKarlMarx
Решил немного разбавить посты про андройдно-мобильный инфобез постом на более широкую тему. В блоге Positive Technologies (запрещенная в США организация) вышла статья, с подборкой полезных ресурсов где можно почитать (а то и причаститься) про пентесты мобилок и веба, про реверс ВПО и про техники применяемые APT командами. Справедливости ради, стоит сказать, что подобную подборку, но на более узкую тему - reverse engineering я видел от компании Digital Security. Мне вообще нравится тренд, когда люди из индустрии и даже целые компании не закапывают знания внутри своего офиса, а делятся ими с сообществом. Хотелось бы видеть такие подборки чаще и было бы совсем хорошо если бы они на 90% состояли из материалов людей работающих в этих компаниях ;) Всем приятного чтения.
Хабр
Большая подборка полезных ресурсов от экспертов Positive Technologies: от лаб и подкастов до блогеров и сообществ
Хотите быть в курсе всего интересного, что происходит в практической информационной безопасности ? Знать, за чьими твитами стоит следить, где можно подружиться с коллегами по цеху, что в первую...
Довелось мне тут в очередной раз разворачивать с нуля пентестерское окружение на Android. А раз с нуля, значит надо сделать все правильно и красиво, поэтому решил закинуть сертификат для mitm-а в системные. В результате получился мини-гайд, который наверняка кому-то пригодится. Конечно есть и другие способы, с ремаунтом системного раздела и прочими приключениями. Но мне было как-то не до них :D
https://telegra.ph/Kak-sdelat-sertifikat-sistemnym-10-01
https://telegra.ph/Kak-sdelat-sertifikat-sistemnym-10-01
Telegraph
Как сделать сертификат системным
Покажу на примере BurpSuite, но эта инструкция применима к любой проксе. Предусловия: вы умеете настраивать прокси на устройстве и у вас установлен Magisk.
Решил немного порассуждать о скрытой функциональности в приложениях, показать какие с ней бывают проблемы и как их избежать.
https://telegra.ph/Razbiraem-M10-Extraneous-Functionality-na-praktike-10-07
https://telegra.ph/Razbiraem-M10-Extraneous-Functionality-na-praktike-10-07
Telegraph
Разбираем M10: Extraneous Functionality на практике
Есть в OWASP Mobile Top 10 пункт про "скрытую" фуннкциональность. Он стоит аж на 10-м месте, что несколько снижает его важность в глазах общественности. И это совершенно напрасно, потому что разработчики до сих пор выкатывают в продакшен код, содержащий отладочную…
Ну что, любители бинарного анализа, которых почему-то занесло в android, для вас есть задачка.
Ребята из Delivery Club похоже решили потестировать свои наработки по защите приложений и оформили это в виде челленджа, за решение которого обещают пригласить в приватную bug bounty программу и дать скидку в $1000 на следующий заказ ;)
От вас потребуется всего лишь расковырять вот это приложение, найти RCE на бэкэнде с которым оно работает и написать об этом отчет. Насколько я могу судить, внутри вас ждет нативная либа с LLVM обфускацией, так что скучно не будет.
Чуть больше подробностей найдете в статье на хабре. Не забывайте спать и вовремя принимать пищу. Доброй охоты!
Ребята из Delivery Club похоже решили потестировать свои наработки по защите приложений и оформили это в виде челленджа, за решение которого обещают пригласить в приватную bug bounty программу и дать скидку в $1000 на следующий заказ ;)
От вас потребуется всего лишь расковырять вот это приложение, найти RCE на бэкэнде с которым оно работает и написать об этом отчет. Насколько я могу судить, внутри вас ждет нативная либа с LLVM обфускацией, так что скучно не будет.
Чуть больше подробностей найдете в статье на хабре. Не забывайте спать и вовремя принимать пищу. Доброй охоты!
Хабр
Ищем таланты в Bug Bounty
Давно ничего не взламывали? Команда информационной безопасности Delivery Club подготовила задачу для экспертов по Android. За успешное решение наградим: приглашением в закрытую Bug Bounty-программу...
👍1
Пока не имею достаточно времени, чтобы записывать свой подкаст - приходится ходить по чужим ;) На этот раз сходил в SDCast к Константину Буркалеву. Поговорили про безопасность мобилок, поругали "вайтишников" и в очередной раз сошлись во мнении, что разработчикам неплохо бы разбираться в безопасности. В общем если кто-то искал, чем занять себя на ковидных каникулах, то послушайте подкаст. От себя могу еще порекомендвать выпуск с Ares-ом (автор Intercepter-NG), он вышел довольно интересным.
👨🔬Выпуск со мной
🥷Выпуск с Ares-ом
👨🔬Выпуск со мной
🥷Выпуск с Ares-ом
SDCast
SDCast #137: в гостях Артём Кулаков, исследователь безопасности в компании «Positive Technologies»
Давно мы не говорили про безопасность приложений, платформ и вообще аспекты безопасности в разработке. Исправляем! Встречайте 137-й выпуск подкаста. У меня в гостях Артём Кулаков, исследователь безопасности в компании «Positive Technologies».
В этом выпуске…
В этом выпуске…
В блоге Oversecured вышла довольно неплохая статья по типичным багам встречающимся в приложениях использующих WebView. В статье найдете примеры обхода валидации URL, XSS-ки, атаки на JavaScript интерфейсы и немного рекомендаций как это этого всего защититься.
От себя добавлю, что регулярные обновления компонента AndroidWebView тоже неплохо помогают в защите, т.к. трюки, которые работали на старых версиях в новых уже требуют гораздо более сложных условий эксплуатации или же становятся вовсе непреминимыми.
https://blog.oversecured.com/Android-security-checklist-webview/
От себя добавлю, что регулярные обновления компонента AndroidWebView тоже неплохо помогают в защите, т.к. трюки, которые работали на старых версиях в новых уже требуют гораздо более сложных условий эксплуатации или же становятся вовсе непреминимыми.
https://blog.oversecured.com/Android-security-checklist-webview/
News, Techniques & Guides
Android security checklist: WebView
WebView is a web browser that can be built into an app, and represents the most widely used component of the Android ecosystem; it is also subject to the largest number of potential errors.
Закончился Android Dev Summit, а значит появилось несколько видео по "нашей теме", которые можно посмотреть.
1. Best practices for making your app private by design - если внимательно смотрели Google I/O и мой обзор после, то ничего интересного в этом видео вы не найдете. Кроме более конкретных примеров кода, которые так или иначе можно добыть из документации.
2. Android Memory Safety Tools - а это уже для любителей самописных нативных библиотек в приложениях. Рассказывают о тулах, которые могут быть полезны разработчикам таких решений: HWASan, GWP-ASan и Arm MTE. Если не пишите нативный код руками, то не тратьте время.
3. The most interesting (and unexpected) submissions to the Android Security Bulletin - вы еще не читаете ежемесячные бюллетени безопасности? После этого видео начнете =) Заманивают в свою багбаунти и сулят 100 килобаксов за обход экрана блокировки и рассказывают про несколько интересных CVE-шек.
4. Introducing Play Integrity API: Protect your apps and games - в очередной раз рассказали про Integrity API, который похоже будет единым фасадом над SafetyNet (можем ли мы доверять устройству?) и Google Play Licensing (можем ли мы доверять приложению?). А это означает, что думать о квотах, фолбэках на девайсах без гуглосервисов и еще куче вещей все равно придется. Ну и конечно же это нельзя просто взять и попробовать прямо сейчас. Надо заполнить форму и объяснить гуглу зачем оно вам надо....
1. Best practices for making your app private by design - если внимательно смотрели Google I/O и мой обзор после, то ничего интересного в этом видео вы не найдете. Кроме более конкретных примеров кода, которые так или иначе можно добыть из документации.
2. Android Memory Safety Tools - а это уже для любителей самописных нативных библиотек в приложениях. Рассказывают о тулах, которые могут быть полезны разработчикам таких решений: HWASan, GWP-ASan и Arm MTE. Если не пишите нативный код руками, то не тратьте время.
3. The most interesting (and unexpected) submissions to the Android Security Bulletin - вы еще не читаете ежемесячные бюллетени безопасности? После этого видео начнете =) Заманивают в свою багбаунти и сулят 100 килобаксов за обход экрана блокировки и рассказывают про несколько интересных CVE-шек.
4. Introducing Play Integrity API: Protect your apps and games - в очередной раз рассказали про Integrity API, который похоже будет единым фасадом над SafetyNet (можем ли мы доверять устройству?) и Google Play Licensing (можем ли мы доверять приложению?). А это означает, что думать о квотах, фолбэках на девайсах без гуглосервисов и еще куче вещей все равно придется. Ну и конечно же это нельзя просто взять и попробовать прямо сейчас. Надо заполнить форму и объяснить гуглу зачем оно вам надо....
YouTube
Best practices for making your app private by design
Privacy is fundamental to Android’s design and we’re continuing to invest in it across the platform and the Google Play ecosystem. This session provides guidelines and best practices on how to build apps that are private by design, while covering new privacy…
Существует очень много IoT устройств на базе Android. И я не открою Америку, если скажу, что с безопасностью там так себе. И дело тут даже не в старых версиях android, а в самом железе и низкоуровневых программных компонентах которые над ними. Недавно вышла отличная статья про взлом TV приставки на базе Android 9, которая отлично демонстрирует известный принцип: "Если не можешь что-то взломать, то попробуй спуститься ниже по модели ISO/OSI".
https://habr.com/ru/company/bastion/blog/587108/ (кажется хабр снова торт! :D)
https://habr.com/ru/company/bastion/blog/587108/ (кажется хабр снова торт! :D)
Хабр
Взламываем ТВ-приставку, чтобы получить плацдарм для хакерских атак
Привет, Хабр! Меня зовут Роман, я занимаюсь безопасностью IOT-устройств. Мы в Бастион регулярно отрабатываем те или иные сценарии атак и устраиваем эксперименты. Об одном из них я расскажу прямо...
Delivery Club опубликовали решение задачи, которую я публиковал некоторое время назад. Ощущение искусственности самой задачи, которое у многих возникло - полностью подтвердилось =) Но это ничуть не умаляет заслуг человека, который эту задачу решил и написал репорт (он и приведен в статье).
Лично у меня, после прочтения репорта, возникло ощущение того, что эта задача - демо-версия вот этого челленджа. Рекомендую прочитать write-up-ы к нему, они довольно интересны.
Лично у меня, после прочтения репорта, возникло ощущение того, что эта задача - демо-версия вот этого челленджа. Рекомендую прочитать write-up-ы к нему, они довольно интересны.
Хабр
Реверс уязвимого приложения от Delivery Club: результаты конкурса
Привет! Меня зовут Илья Сафронов, я руковожу направлением информационной безопасности Delivery Club. Третьего дня мы запустили конкурс по реверсу и поиску уязвимости в тестовом Android-приложении....