А у нас тут свежачок с интересными практиками эксплуатации уязвимостей в Android (и не только) приложениях. Если вы мучались и не знали как провести эту скучную пятинцу, то вам вам видео, слайды и репозиторий на гитхабе.
https://www.youtube.com/watch?v=uWT15hEM1dQ
https://www.youtube.com/watch?v=uWT15hEM1dQ
YouTube
Android Application Exploitation - Red Team Village
Android applications are treasure chests of potential bugs waiting to be discovered. Having a structured, streamlined approach greatly improves your efficiency and assessment accuracy. This talk will go over methods used to identify the type of mobile framework…
Всем привет! Поскольку от вас не поступило негативного фидбэка за прошлый стрим, я планирую продолжать эту деятельность пока вам не надоест (ну или мне). А сейчас - анонс.
Работа пентестера для многих людей выглядит чем-то таинственным и захватывающим. Километры вводимых в терминале команд, килобайты кода и виртуальные небоскребы хранилищ данных... Ну и вся прочая ерунда, которую показывают в кино. Мы же поговорим с реальными людьми для которых пентест это повседневная работа. Обсудим особенности пентеста под Android и iOS и разберемся в типовых инструментах мобильного пентестера. Также выясним как войти в эту профессию с нуля или прийти из соседней области, как развиваться после входа и как выйти на пенсию имея в гараже Ламборгини, а не долги по ипотеке.
Гости выпуска: Николай (Positive Technologies) и Андрей (независимый эксперт)
https://www.youtube.com/watch?v=BbygfeMZGj4
Работа пентестера для многих людей выглядит чем-то таинственным и захватывающим. Километры вводимых в терминале команд, килобайты кода и виртуальные небоскребы хранилищ данных... Ну и вся прочая ерунда, которую показывают в кино. Мы же поговорим с реальными людьми для которых пентест это повседневная работа. Обсудим особенности пентеста под Android и iOS и разберемся в типовых инструментах мобильного пентестера. Также выясним как войти в эту профессию с нуля или прийти из соседней области, как развиваться после входа и как выйти на пенсию имея в гараже Ламборгини, а не долги по ипотеке.
Гости выпуска: Николай (Positive Technologies) и Андрей (независимый эксперт)
https://www.youtube.com/watch?v=BbygfeMZGj4
YouTube
Дао пентестера
Работа пентестера для многих людей выглядит чем-то таинственным и захватывающим. Километры вводимых в терминале команд, килобайты кода и виртуальные небоскребы хранилищ данных... Ну и вся прочая ерунда, которую показывают в кино. Мы же поговорим с реальными…
Google сделал удобную страничку с security best practices по разным разделам:
- шифрование
- определение небезопасной среды выполнения
- аутентификация и биометрия
- обмен данными
плюс есть разделы по смежным темам. Выглядит неплохо.
#4developers #google
https://developer.android.com/security?linkId=97069982
- шифрование
- определение небезопасной среды выполнения
- аутентификация и биометрия
- обмен данными
плюс есть разделы по смежным темам. Выглядит неплохо.
#4developers #google
https://developer.android.com/security?linkId=97069982
Android Developers
Security | Android Developers
Discover the latest app development tools, platform updates, training, and documentation for developers across every Android device.
Стрим с пентестерами начинаем через 25 минут: https://www.youtube.com/watch?v=BbygfeMZGj4
YouTube
Дао пентестера
Работа пентестера для многих людей выглядит чем-то таинственным и захватывающим. Километры вводимых в терминале команд, килобайты кода и виртуальные небоскребы хранилищ данных... Ну и вся прочая ерунда, которую показывают в кино. Мы же поговорим с реальными…
Еще одно “намеренно уязвимое” android-приложение для любителей что-нибудь поковырять на выходных. Содержит следующие задания:
- Debug Me
- File Access
- Strings
- Resources
- Shares and Prefs
- DB Leak
- Export
- Decode
- Smali Injection
Для решения задач понадобятся: FRIDA, ADB, apktool и dex2jar (или что-то другое на ваш выбор).
https://github.com/abhi-r3v0/EVABS
- Debug Me
- File Access
- Strings
- Resources
- Shares and Prefs
- DB Leak
- Export
- Decode
- Smali Injection
Для решения задач понадобятся: FRIDA, ADB, apktool и dex2jar (или что-то другое на ваш выбор).
https://github.com/abhi-r3v0/EVABS
GitHub
GitHub - abhi-r3v0/EVABS: An open source Android application that is intentionally vulnerable so as to act as a learning platform…
An open source Android application that is intentionally vulnerable so as to act as a learning platform for Android application security beginners. - GitHub - abhi-r3v0/EVABS: An open source Andro...
Бывает ситуация, когда новая версия приложения, которое вы исследуете, вдруг перестает работать как раньше. Появляются какие-то новые методы защиты, меняются механизмы подписи запросов или происходят еще какие-нибудь нежелательные вещи. Для того, чтобы узнать что же изменилось, нужно взять предыдущую версию и текущую, распаковать, посмотреть diff... Но есть способ лучше: Diffuse. Эта утилита осуществляет описанный выше процесс, но делает это одной командой, да еще и показывает довольно полезный результат сравнения. Поддерживаются apk, aab, aar и jar файлы.
#4developers, #reverse_engineering
https://github.com/JakeWharton/diffuse
#4developers, #reverse_engineering
https://github.com/JakeWharton/diffuse
GitHub
GitHub - JakeWharton/diffuse: Diffuse is a tool for diffing APKs, AABs, AARs, and JARs
Diffuse is a tool for diffing APKs, AABs, AARs, and JARs - JakeWharton/diffuse
Всем привет! Мне часто задают разные вопросы касающиеся безопасности android-приложений и операционной системы. И я не уникален в этом. Наверняка многим из тех, кто это читает, задают еще больше вопросов. Кого-то это возможно даже раздражает. Но все мы были когда-то новичками и задавали вопросы, если было кому их задавать 😉 Я хочу сделать стрим где буду отвечать на вопросы новичков максимально честно, подробно и терпеливо (ну тут как пойдет...). У меня есть свой личный рейтинг таких вопросов, но я хочу предварительно еще собрать вопросы, которые волнуют лично вас или может быть те, на которые вы устали отвечать. По ссылке найдете форму куда их можно будет написать. Даты стрима пока не публикую, но это произойдет в какое-то ближайшее время. Опрос, конечно же, полностью анонимный. Мне не нужны ваши данные =)
https://docs.google.com/forms/d/e/1FAIpQLSdpqPvU2wfCwgICllKEdd5-YOIjaQhbFSa_2DzCEqg7DLZBYQ/viewform
https://docs.google.com/forms/d/e/1FAIpQLSdpqPvU2wfCwgICllKEdd5-YOIjaQhbFSa_2DzCEqg7DLZBYQ/viewform
Благодарю всех, кто накидал вопросов. Выглядит так, что контента у нас немножко есть и можно сделать стрим. Пока планирую его на следующую пятницу, 18 сентября на 19:00 по MSK. Вопросы можно будет также задавать на самом стриме.
https://www.youtube.com/watch?v=zeU2wlcj_Bw
https://www.youtube.com/watch?v=zeU2wlcj_Bw
YouTube
Вопросы новичков
Отвечаю на вопросы, которые волнуют многих начинающих (и не только) разработчиков, которые пытаются разобраться в теме безопасности Android приложений.
Внимание! В ответе на вопрос про keystore есть ошибка! Я говорю, что сохранение симметричных ключей добавили…
Внимание! В ответе на вопрос про keystore есть ошибка! Я говорю, что сохранение симметричных ключей добавили…
Через 20 минут стартую стрим с вопросами новичков. Запасайтесь чаем или чем-то покрепче и присоединяйтесь.
Казалось бы, еще одна статья про биометрическую аутентификацию в Android... Но нет. В этой даются полезные пояснения по новым классам аутентификации, которые появились в Android 11.
#4developers #biometric
https://proandroiddev.com/biometrics-in-android-50424de8d0e
#4developers #biometric
https://proandroiddev.com/biometrics-in-android-50424de8d0e
Medium
Biometrics in Android
Setting up biometric authentication, and using biometrics + cryptography to encrypt and decrypt data.
Стартую новую рубрику "Чердачок Брюса Шнайера" в ней буду писать всякое про криптографию и пробовать приземлять это на Android-реальность.
Выпуск №1 "Самые базовые понятия"
В криптографии, как в и любой другой области знаний есть свой язык и даже свой жаргон. Не зная его, порой тяжело понимать разные важные концепции, которые можно встретить в статьях и докладах. Сегодня поговорим про самые базовые понятия, которые для кого-то могут показаться очевидными, но без них невозможно двигаться дальше.
Криптография обычно оперирует двумя сторонами - "отправитель" и "получатель" которые передают друг-другу "сообщения". Чуть позже мы дадим имена этим безликим сторонам. При этом, обе стороны хотят обеспечить секретность своих сообщений и быть уверенными, что "перехватчик" не сможет их прочитать.
Сообщения принято называть открытым текстом(plaintext), а процесс маскировки сообщения называют шифрованием(encryption). Зашифрованное сообщение называется шифротекст(ciphertext), а процесс преобразования шифротекста обратно в открытый текст называеся расшифровкой(decryption)
Хозяйке на заметку: В соответствии со стандартом ISO 7498-2 в англоязычных текстах используются термины enchiper вместо encrypt и decipher вместо decrypt. Видимо, это объясняется тем, что в некоторых культурах термины encrypt и decrypt ассоциируются со словом crypt(склеп).
#ЧБШ
Выпуск №1 "Самые базовые понятия"
В криптографии, как в и любой другой области знаний есть свой язык и даже свой жаргон. Не зная его, порой тяжело понимать разные важные концепции, которые можно встретить в статьях и докладах. Сегодня поговорим про самые базовые понятия, которые для кого-то могут показаться очевидными, но без них невозможно двигаться дальше.
Криптография обычно оперирует двумя сторонами - "отправитель" и "получатель" которые передают друг-другу "сообщения". Чуть позже мы дадим имена этим безликим сторонам. При этом, обе стороны хотят обеспечить секретность своих сообщений и быть уверенными, что "перехватчик" не сможет их прочитать.
Сообщения принято называть открытым текстом(plaintext), а процесс маскировки сообщения называют шифрованием(encryption). Зашифрованное сообщение называется шифротекст(ciphertext), а процесс преобразования шифротекста обратно в открытый текст называеся расшифровкой(decryption)
Хозяйке на заметку: В соответствии со стандартом ISO 7498-2 в англоязычных текстах используются термины enchiper вместо encrypt и decipher вместо decrypt. Видимо, это объясняется тем, что в некоторых культурах термины encrypt и decrypt ассоциируются со словом crypt(склеп).
#ЧБШ
Чердачок Брюса Шнайера. Выпуск №2 "Основы криптографии"
Искусство и наука сокрытия сообщений называется криптографией (cryptography), а специалисты по криптографии называются криптографами (cryptographers). Их естественными "врагами" в дикой природе являются криптоаналитики (cryptoanalysts), которые занимаются искусством и наукой взлома шифротекстов - криптоанализом (cryptoanalysis). Отрасль математики, охватывающая криптографию и криптоанализ, называется криптологией (cryptology), а людей, которые ей занимаются - криптологами (cryptologist). Т.е. без хорошей математической подготовки тут никуда. Чтобы ты там себе на напридумывал %username%.
В криптографических формулах, открытый текст принято обозначать буквой M (message) или P (plaintext). Он может быть чем угодно, но в конечном итоге все сводится к набору битов. Шифротекст принято обозначать буквой C (chipertext), который тоже представляет из себя двоичные данные. Функцию шифрования обозначают буквой E, а функцию расшифровки буквой D. Таким образом, в математической форме основные формулы криптографии выглядят вот так:
E(M) = C - шифрование
D(С) = M - расшифровка
При этом должно выполняться следующее равенство:
D(E(M)) = M
Если уже на этом моменте тебе стало ничего не понятно, то самое время сделать вывод, что с криптографией тебе не по пути, потому что дальше будет сложнее 🤤
#ЧБШ
Искусство и наука сокрытия сообщений называется криптографией (cryptography), а специалисты по криптографии называются криптографами (cryptographers). Их естественными "врагами" в дикой природе являются криптоаналитики (cryptoanalysts), которые занимаются искусством и наукой взлома шифротекстов - криптоанализом (cryptoanalysis). Отрасль математики, охватывающая криптографию и криптоанализ, называется криптологией (cryptology), а людей, которые ей занимаются - криптологами (cryptologist). Т.е. без хорошей математической подготовки тут никуда. Чтобы ты там себе на напридумывал %username%.
В криптографических формулах, открытый текст принято обозначать буквой M (message) или P (plaintext). Он может быть чем угодно, но в конечном итоге все сводится к набору битов. Шифротекст принято обозначать буквой C (chipertext), который тоже представляет из себя двоичные данные. Функцию шифрования обозначают буквой E, а функцию расшифровки буквой D. Таким образом, в математической форме основные формулы криптографии выглядят вот так:
E(M) = C - шифрование
D(С) = M - расшифровка
При этом должно выполняться следующее равенство:
D(E(M)) = M
Если уже на этом моменте тебе стало ничего не понятно, то самое время сделать вывод, что с криптографией тебе не по пути, потому что дальше будет сложнее 🤤
#ЧБШ
Многие из вас уже знают, что Google недавно представил две новые концепции хранения данных в Android в рамках библиотеки DataStore. Библиотека представляет из себя два хранилища: Preferences DataStore и Proto DataStore. Первое это привычные и понятные всем SharedPreferences, но немного поумневшие и типобезопасные. А вот второе уже гораздо интереснее. как следует из названия это хранилище работает со схемами ProtoBuf и обещает нам много интересного. Единственное, чего оно не обещает из коробки это шифрования данных. Это довольно странно в 2020-м году и при условии, что у Google уже есть все нужные компоненты для реализации. Ну нет так нет. Я написал эту интеграцию сам и хочу поделиться ей с вами. Там никакого космоса, просто Tink встроенный в proto-сериализатор данных. Код можно слить с GitHub-а и поиграться с ним.
https://github.com/Fi5t/secured-datastore
#4developers #cryptography
https://github.com/Fi5t/secured-datastore
#4developers #cryptography
GitHub
GitHub - Fi5t/secured-datastore: Example of encryption Jetpack Proto DataStore with Tink
Example of encryption Jetpack Proto DataStore with Tink - Fi5t/secured-datastore
Google создает новую команду безопасности Android. Ее задачей будет искать уявимости в “особо важных” приложениях из Play Store.
Под особо важными имеются в виду приложения для отслеживания контактов COVID-19, приложения связанные с выборами и т.п.
Кто-нибудь хочет сменить работу? 😉
#google
https://xakep.ru/2020/10/02/special-android-security-team/
Под особо важными имеются в виду приложения для отслеживания контактов COVID-19, приложения связанные с выборами и т.п.
Кто-нибудь хочет сменить работу? 😉
https://xakep.ru/2020/10/02/special-android-security-team/
XAKEP
Google создаст специальную команду для поиска багов в особо важных приложениях
Компания Google набирает команду ИБ-специалистов, чьей задачей будет изучение важных приложений для Android на предмет уязвимостей.
Вот и настал тот день, чтобы сказать "И вот этот день настал!". Пока нас потихоньку накрывает второй волной сами знаете чего (🦠) и мы опять переходим на удаленную работу, есть идея провести это время с пользой. Хочу провести online митап по безопасности android-приложений, операционной системы и смежным темам. Конечно же без вашего участия ничего не получиться, поэтому с сегодняшнего дня открываю CFP. Если у вас есть интересный релевантный опыт, то буду рад включить вас в программу митапа.
Если вы новичок в вопросах выступлений на коференциях, то я и программный коммитет поможем вам определитья с темой и направлением доклада, а также подготовиться к самому докладу.
Для тех, кто не любит Google формы - пишите мне в личку. Ваша нелюбовь к Google еще не повод не выступать на митапе 😉
https://forms.gle/nNVZBemesFsFmwvSA
Если вы новичок в вопросах выступлений на коференциях, то я и программный коммитет поможем вам определитья с темой и направлением доклада, а также подготовиться к самому докладу.
Для тех, кто не любит Google формы - пишите мне в личку. Ваша нелюбовь к Google еще не повод не выступать на митапе 😉
https://forms.gle/nNVZBemesFsFmwvSA
Запилил на хабре небольшой пост про наше сообщество. Поддержите лайком-репостом пожалуйста.
https://habr.com/en/post/522512/
https://habr.com/en/post/522512/
Хабр
Android Guards. История создания, развития и первый meetup
Привет Хабр!На связи маленькое, но гордое сообщество людей, делающих android-приложения безопаснее. Нашему сообществу в этом году исполнилось 3 года и было решен...
Вышел
#4developers #cryptography #tink
https://github.com/advisories/GHSA-g5vf-v6wf-7w2r
Tink 1.5.0 c security фиксом для Java и Android касающимся проблем с целостностью шифротекста. Серьезность этой баги невысокая, но сама суть интересная - она позволяет злоумышленнику создавать немного измененный шифротекст, который все еще расшифровывается до того же открытого текста. Это возможно из-за особенностей работы с Unicode в Java.#4developers #cryptography #tink
https://github.com/advisories/GHSA-g5vf-v6wf-7w2r
GitHub
CVE-2020-8929 - GitHub Advisory Database
Ciphertext Malleability Issue in Tink Java
Провел тут небольшой воркшоп для начинающих исследователей безопасности приложений на конференции Google DevFest 2020. Наконец-то подъехала запись, поэтому решил поделиться материалами с вами.
#workshop #4beginners
https://github.com/Fi5t/workshop-devfest-2020
#workshop #4beginners
https://github.com/Fi5t/workshop-devfest-2020
GitHub
GitHub - Fi5t/workshop-devfest-2020
Contribute to Fi5t/workshop-devfest-2020 development by creating an account on GitHub.
Чердачок Брюса Шнайера. Выпуск №3 “Алгоритмы и ключи”
Криптографический алгоритм (cryptographic algoritm), который также называется шифром (cipher), — это математическая функция, используемая для шифрования и расшифровки. Если безопасность алгоритма обеспечивается засекречиванием самого алгоритма, то он называется ограниченным (restricted). Такие алгоритмы уже давно не применяются. Причина вполне очевидна: если участник группы использующей этот алгоритм покидает группу, то группа вынуждена переходить на новый алгоритм.
Эту и другие проблемы ограниченных алгоритмов современная криптография решает с помощью ключей (keys), который обозначают буквой K. Ключ может быть любым значением выбранным из множества. Множество возможных значений ключа называют пространством ключей (keyspace). Этот ключ используется и при шифровании, и при расшифровке. В формулах он выглядит как индекс K у функций шифрования/расшифровки:
Ek(M) = C
Dk(С) = M
При этом должно выполняться следующее равенство:
Dk(Ek(M)) = M
В некоторых алгоритмах при шифровании и расшифровке используются разные ключи. В этом случае выполняются такие соотношения:
Ek1(M) = C
Dk2(C) = M
Dk2(Ek1(M)) = M
Безопасность этих алгоритмов полностью основана на ключе, а не на деталях. Это означает, что алгоритм можно опубликовать и проанализировать. Программные продукты, использующие этот алгоритм могут становиться массовыми. Не имеет значения, что злоумышленник знает ваш алгоритм: если ему не известен конкретный ключ, то он не может читать ваши сообщения.
Полезно ввести еще одно понятие - криптосистема (crytosystem). Это алгоритм и все возможные открытые тексты, шифротексты и ключи.
#ЧБШ
Криптографический алгоритм (cryptographic algoritm), который также называется шифром (cipher), — это математическая функция, используемая для шифрования и расшифровки. Если безопасность алгоритма обеспечивается засекречиванием самого алгоритма, то он называется ограниченным (restricted). Такие алгоритмы уже давно не применяются. Причина вполне очевидна: если участник группы использующей этот алгоритм покидает группу, то группа вынуждена переходить на новый алгоритм.
Эту и другие проблемы ограниченных алгоритмов современная криптография решает с помощью ключей (keys), который обозначают буквой K. Ключ может быть любым значением выбранным из множества. Множество возможных значений ключа называют пространством ключей (keyspace). Этот ключ используется и при шифровании, и при расшифровке. В формулах он выглядит как индекс K у функций шифрования/расшифровки:
Ek(M) = C
Dk(С) = M
При этом должно выполняться следующее равенство:
Dk(Ek(M)) = M
В некоторых алгоритмах при шифровании и расшифровке используются разные ключи. В этом случае выполняются такие соотношения:
Ek1(M) = C
Dk2(C) = M
Dk2(Ek1(M)) = M
Безопасность этих алгоритмов полностью основана на ключе, а не на деталях. Это означает, что алгоритм можно опубликовать и проанализировать. Программные продукты, использующие этот алгоритм могут становиться массовыми. Не имеет значения, что злоумышленник знает ваш алгоритм: если ему не известен конкретный ключ, то он не может читать ваши сообщения.
Полезно ввести еще одно понятие - криптосистема (crytosystem). Это алгоритм и все возможные открытые тексты, шифротексты и ключи.
#ЧБШ
Всем привет!
29.10.2020 буду записываться в подкасте @android_broadcast, где планируем поговорить о безопасности Android приложений (о чем же еще…). В рамках выпуска попробуем составить “руководство по безопасности” для android-разработчиков. Упор сделаем на “бесплатную реализацию”, т.е. своими силами. Но также затронем вопросы постороннего вмешательства в построение безопасной разработки =)
Примерный список тем для обсуждения выглядит так:
- Основные ошибки, которые допускают разработчики
- SAST
- Как убедиться в безопасности своего приложения
- Практики безопасной разработки
- Как защитить приложение если первый этаж опять затопило деньгами и надо куда-то их деть
https://www.youtube.com/watch?v=x_COvmEIyko
29.10.2020 буду записываться в подкасте @android_broadcast, где планируем поговорить о безопасности Android приложений (о чем же еще…). В рамках выпуска попробуем составить “руководство по безопасности” для android-разработчиков. Упор сделаем на “бесплатную реализацию”, т.е. своими силами. Но также затронем вопросы постороннего вмешательства в построение безопасной разработки =)
Примерный список тем для обсуждения выглядит так:
- Основные ошибки, которые допускают разработчики
- SAST
- Как убедиться в безопасности своего приложения
- Практики безопасной разработки
- Как защитить приложение если первый этаж опять затопило деньгами и надо куда-то их деть
https://www.youtube.com/watch?v=x_COvmEIyko
YouTube
Безопасность Android приложений, Артем Кулаков из Redmadrobot
#AndroidBroadcast #Безопасность #Android
Продолжаем защищать наши приложения от злоумышленников. Готовим марафон вопросов, чтобы составить четкий гайд как обеспечить защиту наших продуктов.
Гость выпуска - Артем Кулаков, Android TeamLead в Redmadrobot.…
Продолжаем защищать наши приложения от злоумышленников. Готовим марафон вопросов, чтобы составить четкий гайд как обеспечить защиту наших продуктов.
Гость выпуска - Артем Кулаков, Android TeamLead в Redmadrobot.…
Чего только порой не встретишь. Вот например калькулятор, который умеет прятать ваши фотографии в защищенном хранилище. На проверку, ну конечно же, оказался полным шлаком с DES шифрованием и статическим ключом "12345678" зашитым в коде. По ссылке найдете краткий разбор этого чуда. Отличная вещь, чтобы начать рабочую неделю с улыбки
https://github.com/Magpol/decrypt-calculatorPlusApk
https://github.com/Magpol/decrypt-calculatorPlusApk
GitHub
GitHub - Magpol/decrypt-calculatorPlusApk: Decrypt hidden images from Android application Calculator+
Decrypt hidden images from Android application Calculator+ - Magpol/decrypt-calculatorPlusApk