- Пользователи Android 7.1.1 и более старых версий не смогут открывать защищённые Let’s Encrypt сайты с января
- Расслабьтесь. Владельцы старых Android-смартфонов не лишатся доступа к миллионам сайтов
- Сертификаты безопасности на Android
- Не открывается сайт на Android. Что делать
- Что такое сертификаты безопасности на Android?
- Что будет, если я удалю все сертификаты?
- Что такое сертификаты безопасности на телефоне Android?
- Что такое сертификат безопасности?
- Что произойдет, если я очищу все учетные данные на своем телефоне?
- Как удалить сертификат безопасности?
- Нужны ли мне сертификаты безопасности на моем телефоне?
- Где хранятся сертификаты на Android?
- Почему я получаю предупреждение о сертификате безопасности?
- Что такое Камерфирма?
- Для чего нужен сертификат безопасности?
- Как работает сертификат безопасности?
- Как я могу увидеть сертификаты безопасности?
- Как мне удалить доверенные учетные данные с моего Android?
- Как снять пароль с телефона Samsung?
- Что означает, когда мой телефон сообщает, что сеть может контролироваться?
- 4 метода обхода верификации SSL-сертификатов в Android
Пользователи Android 7.1.1 и более старых версий не смогут открывать защищённые Let’s Encrypt сайты с января
В 2021 году завешается срок соглашения Let’s Encrypt с IdenTrust. Таким образом, браузеры и ОС без корневого сертификата Let’s Encrypt больше не будут работать с сайтами и службами, которые используют этот сертификат. Центр сертификации Let’s Encrypt предупредил, что проблема коснется устройств с версиями Android до 7.1.1 Nougat. С 11 января 2021 года режим перекрестной подписи отменяется по умолчанию, а с 1 сентября от него откажутся полностью.
Это затронет значительную часть Android-пользователей. По последним данным статистики, на долю Android 7.1 и более старых версий приходилось почти 34% устройств.
Однако существует вариант частичного разрешения ситуации. Пользователи могут установить Firefox, который использует собственное хранилище сертификатов. Это решит проблему браузеров, но не клиентов или функций. Единственный способ полностью обойти ограничения —в обновлении своей версии Android. Но он доступен не всем пользователям старых смартфонов, если их производители прекратили поддержку.
В настоящее время Samsung и другие производители Android-устройств обязуются обновлять ОС в течение трех лет.
Let’s Encrypt ещё в апреле 2019 года планировал перейти на собственную цепочку ISRG Root, но этого не произошло из-за опасений по поводу недостаточного распространения корня ISRG на устройствах Android. Дату перенесли на 8 июля 2020 года.
Сейчас Let’s Encrypt использует перекрёстно подписанный промежуточный сертификат с цепочкой до корня IdenTrust DST Root CA X3. Этот корневой сертификат был выдан ещё в сентябре 2000 года и истекает 30 сентября 2021 года. До этого времени Let’s Encrypt планирует перейти на собственный самоподписанный корень ISRG Root X1, который выпущен 4 июня 2015 года. Он был доступен клиентам через обновление с 6 августа 2018 года.
Источник
Расслабьтесь. Владельцы старых Android-смартфонов не лишатся доступа к миллионам сайтов
Короткий период программной поддержки никогда особенно не страшил пользователей Android. Большинству из них было достаточно того, чтобы смартфон по-прежнему работает даже спустя два года после выхода, позволяет скачивать любые приложения из Google Play, а при необходимости не чинит препятствий для перепрошивки. Поэтому новость о том, что в 2021 году пользователи Android 7.1.1 и более ранних версий ОС лишатся доступа к более чем 200 миллионам сайтов из-за прекращения поддержки системного сертификата безопасности, прошла почти незамеченной. Но это и к лучшему.
Прекращение поддержки сертификата DST Root X3 на Android 7.1.1 отменяется
Прекращение поддержки сертификата безопасности могло привести к тому, что пользователям смартфонов на Android 7.1.1 и ниже был бы закрыт доступ к миллионам сайтов, которые используют его для защиты.
Если вы не понимаете, о чём идёт речь, вот вам небольшой экскурс. Около месяца назад стало известно, что компания Let’s Encrypt, разработчик сертификата безопасности DST Root X3, собирается прекратить его поддержку. Это специальный компонент, который отвечает за защиту пользователей при посещении сайтов в интернете, блокируя фишинговые и уведомляя об отсутствии протокола шифрования и, следовательно, опасности ввода персональных данных, которые могут быть либо перехвачены, либо прочитаны владельцем ресурса.
Сертификаты безопасности на Android
DST Root X3 — сертификат безопасности, вшитый в старые смартфоны на Android
Сертификат DST Root X3, поддержка которого должна была прекратиться в 2021 году, являлся для всех смартфонов с Android 7.1.1 и ниже системным. То есть зашитым в операционную систему по умолчанию без возможности самостоятельной замены. Единственный вариант заменить его – выпустить обновление с необходимыми изменениями. Но поскольку производители процессоров поддерживают их не дольше трёх лет, у владельцев потенциально затронутых устройств не было никакой надежды на апдейт.
К счастью для владельцев старых устройств, Let’s Encrypt продлила соглашение с IdenTrust, поставщиком цифровых подписей для сертификатов безопасности. Это значит, что действие сертификата DST Root X3 будет продлено, а пользователи смогут и дальше пользоваться сайтами в интернете без ограничений. Получается, что им больше не нужно ждать ни обновлений с обновлённым сертификатом безопасности, ни перепрошивать свои аппараты самостоятельно на кастомные прошивки, ни использовать альтернативные браузеры со встроенными сертификатами.
Не открывается сайт на Android. Что делать
Firefox — едва ли не единственный браузер со встроенными сертификатами безопасности
Впрочем, даже если бы поддержка сертификата DST Root X3 действительно прекратилась, большой беды всё равно бы не произошло. Несмотря на то что сертификаты являются встроенным системным компонентом Android, существуют браузеры, у которых есть собственный набор сертификатов. То есть даже если бы DST Root X3 лишился поддержки, пользователи Android всё равно смогли бы продолжать пользоваться интернетом как ни в чём не бывало. Главное установить подходящий браузер. В нашем случае это Mozilla Firefox – наиболее популярный и авторитетный веб-обозреватель, имеющий версии и для ПК, и для мобильных платформ.
Вообще, держать Firefox у себя можно просто на всякий случай в качестве подстраховки, особенно, если ваш смартфон уже не получает обновлений. Ведь никогда не знаешь, в какой момент сертификат безопасности, который используется системой по умолчанию, лишится поддержки и прекратит обеспечивать вас доступом к нужным вам сайтам. А, учитывая, что количество веб-ресурсов, для которых сертификаты являются проводниками, измеряются десятками и сотнями миллионов, Firefox про запас уже не выглядит как прихоть.
Источник
Что такое сертификаты безопасности на Android?
Надежные сертификаты безопасности используются при подключении к защищенным ресурсам из операционной системы Android. Эти сертификаты зашифрованы на устройстве и могут использоваться для виртуальных частных сетей, Wi-Fi и одноранговых сетей, серверов Exchange или других приложений, обнаруженных на устройстве.
Что будет, если я удалю все сертификаты?
Удаление всех учетных данных приведет к удалению как установленного вами сертификата, так и сертификатов, добавленных вашим устройством. … Нажмите на доверенные учетные данные, чтобы просмотреть установленные на устройстве сертификаты и учетные данные пользователя, чтобы увидеть те, которые были установлены вами.
Что такое сертификаты безопасности на телефоне Android?
Цифровые сертификаты идентифицируют компьютеры, телефоны и приложения в целях безопасности. Так же, как вы использовали бы свои водительские права, чтобы показать, что вы можете водить машину на законных основаниях, цифровой сертификат идентифицирует ваш телефон и подтверждает, что у него должен быть доступ к чему-либо. Важно: вы используете старую версию Android.
Что такое сертификат безопасности?
В частности, это цифровой файл, содержащий информацию, выпущенную центром сертификации, которая указывает на то, что веб-сайт защищен с помощью зашифрованного соединения. Сертификат безопасности веб-сайта также известен как сертификат SSL (или, точнее, сертификат TLS), сертификат HTTPS и сертификат сервера SSL.
Что произойдет, если я очищу все учетные данные на своем телефоне?
При очистке учетных данных удаляются все сертификаты, установленные на вашем устройстве. Другие приложения с установленными сертификатами могут потерять некоторые функции.
Как удалить сертификат безопасности?
Нажмите «Дополнительные настройки», чтобы увидеть все параметры. В разделе «Конфиденциальность и безопасность» нажмите «Управление сертификатами». На вкладке «Личные» должен появиться ваш электронный сертификат с истекшим сроком действия. Выберите тот, который хотите удалить, и нажмите «Удалить».
Нужны ли мне сертификаты безопасности на моем телефоне?
Android использует сертификаты с инфраструктурой открытого ключа для повышения безопасности мобильных устройств. Организации могут использовать учетные данные для проверки личности пользователей при попытке доступа к защищенным данным или сетям. Члены организации часто должны получить эти учетные данные у своих системных администраторов.
Где хранятся сертификаты на Android?
Как просмотреть доверенные корневые сертификаты на устройстве Android
- Открыть настройки.
- Нажмите «Безопасность и местоположение»
- Нажмите «Шифрование и учетные данные».
- Нажмите «Надежные учетные данные». Это отобразит список всех доверенных сертификатов на устройстве.
Почему я получаю предупреждение о сертификате безопасности?
Пользователь, который пытается подключиться к защищенному веб-сайту с помощью Windows Internet Explorer, может получить следующее предупреждающее сообщение: Проблема с сертификатом безопасности этого веб-сайта. … Проблемы с сертификатом безопасности могут указывать на попытку обмануть вас или перехватить данные, которые вы отправляете на сервер.
Что такое Камерфирма?
Camerfirma — это центр сертификации электронной цифровой подписи и торговых палат, предлагающий решения и услуги.
Для чего нужен сертификат безопасности?
Сертификат безопасности — это небольшой файл данных, используемый в качестве средства обеспечения безопасности в Интернете, с помощью которого устанавливается идентичность, подлинность и надежность веб-сайта или веб-приложения.
Как работает сертификат безопасности?
Веб-сервер отправляет браузеру / серверу копию своего сертификата SSL. Браузер / сервер проверяет, доверяет ли он сертификату SSL. Если это так, он отправляет сообщение на веб-сервер. Веб-сервер отправляет обратно подтверждение с цифровой подписью, чтобы начать сеанс с шифрованием SSL.
Как я могу увидеть сертификаты безопасности?
Для Android версии 9 перейдите в «Настройки», нажмите «Биометрия и безопасность», «Другие настройки безопасности», «Просмотр сертификатов безопасности». Для версий Android 8 перейдите в «Настройки» и нажмите «Безопасность и конфиденциальность»; затем выберите «Надежные учетные данные».
Как мне удалить доверенные учетные данные с моего Android?
Как удалить корневой сертификат с устройства Android
- Откройте настройки, выберите Безопасность.
- Выберите Надежные учетные данные.
- Выберите сертификат, который хотите удалить.
- Нажмите Отключить.
Как снять пароль с телефона Samsung?
Запустите приложение «Настройки» на своем устройстве Android.
- Коснитесь «Блокировка экрана». В зависимости от того, какую версию Android или какое устройство вы используете, вы найдете его в немного другом месте. …
- Нажмите «Тип блокировки экрана» (или, в некоторых случаях, просто «Блокировка экрана»). …
- Нажмите «Нет», чтобы отключить все функции безопасности на экране блокировки вашего телефона.
Что означает, когда мой телефон сообщает, что сеть может контролироваться?
Причина. Механизм защиты для телефонов Android сработает, если на вашем телефоне установлено стороннее приложение с сертификатом CA. Эти приложения будут отслеживать или даже изменять пользовательские данные. Ваш телефон сообщит вам, если какое-либо из этих приложений было обнаружено.
Источник
4 метода обхода верификации SSL-сертификатов в Android
Прошли те времена, когда мобильные приложения мужественно игнорировали все ошибки, связанные с SSL, и позволяли перехватывать и модифицировать трафик.
Автор: Cody Wass
Прошли те времена, когда мобильные приложения мужественно игнорировали все ошибки, связанные с SSL, и позволяли перехватывать и модифицировать трафик. Современные приложения, как минимум, проверяют цепочки сертификатов на валидность и принадлежность к достоверному центру сертификации. Мы, пентестеры, ставим перед собой задачу «убедить» приложение, что сертификат надежный с целью выполнения атаки типа «человек посередине» и последующего изменения трафика. В этой статье будут рассмотрены следующие техники обхода проверок SSL-сертификатов в Android:
- Добавление сертификатов в хранилище достоверных сертификатов.
- Перезапись упакованных сертификатов.
- Использование скрипта Frida для обхода проверок SSL-сертификатов.
- Изменение кода проверки сертификата.
Некоторые из вышеуказанных техник — простые, другие – более сложные в реализации. Мы рассмотрим каждый из этих методов без особого углубления в специфические детали.
Зачем нужна MITM-атака на SSL
Чтобы просматривать и изменять вызовы веб-службы, используемой мобильным приложением, нам понадобится промежуточный прокси сервер для перехвата, созданный при помощи утилит навроде BurpSuite или ZAP. При перехвате SSL-трафика SSL-соединение прерывается на стороне прокси-сервера. Сертификат, отсылаемый прокси-сервером, анализируется мобильным приложением, как если бы прокси был оконечной точкой веб-службы. По умолчанию самоподписанный сертификат, генерируемые утилитами наподобие Burp, не будет принадлежать проверенной достоверной цепочке. Если сертификат нельзя проверить на достоверность, большинство мобильных будут обрывать соединение вместо того, чтобы подключаться и работать в потенциально незащищенном канале. Техники, представленные ниже, предназначены для одной цели – убедить мобильное приложение, что сертификат, отправляемый прокси-сервером, является достоверным.
Техника 1 – Добавление сертификата в хранилище пользовательских сертификатов
Самый простой способ избежать SSL-ошибок – обзавестись валидным и надежным сертификатом. Эта задача решается относительно просто, если вы сможете установить достоверный сертификат на устройство. Если операционная система доверяет вашему центру сертификации, то будет доверять и сертификату, подписанному центром сертификации.
В Android есть два встроенных хранилища сертификатов, которые отслеживают, каким центрам сертификации доверяет операционная система: системное хранилище (хранит предустановленные сертификаты) и пользовательское хранилище (хранит сертификаты, добавленные пользователями).
Выдержка с сайта developer.android.com:
По умолчанию безопасные соединения (использующие протоколы TLS, HTTPS и им подобные) во всех приложениях доверяют предустановленным системным сертификатам. В Android 6.0 (API level 23) и более ранних версиях по умолчанию также считаются достоверными сертификаты, добавленные пользователями. Приложение может настраивать свои собственные соединения на уровне приложения (base-config) и на уровне домена (domain-config).
Сей факт означает, что, если мы имеем дело с приложением, которое работает в Android 6.0 и более ранних версиях, то можно просто добавить сертификат в пользовательское хранилище. Когда приложение пытается проверить достоверность цепочки для нашего сертификата, то обнаружит, что наш центр сертификации связан с достоверным хранилищем и, следовательно, будет доверять нашему сертификату. В более новых версиях приложение не будет доверять хранилищу пользовательских сертификатов. Чтобы решить эту проблему, нужно прописать такой уровень API и версию Android, чтобы приложение стало доверять пользовательским центрам сертификации. Мы будем редактировать атрибут «platformBuildVersionCode» элемента «manifest» в файле AndroidManifest.xml.
В коде выше в строке «platformBuildVersionCode=25» нужно поменять значение 25 на 23, а в строке platformBuildVersionName=»7.1.1″ значение 7.1.1 на 6.0.
После переупаковки приложения с обновленным файлом AndroidManifest.xml, доверие пользовательским центрам сертификации будет восстановлено.
Если требуется запуск на конкретной версии платформы, мы можем определить тэг trust-anchors в файле «/res/xml/network_security_config.xml». Например, следующий файл (https://developer.android.com/training/articles/security-config.html) определяет новый достоверный сертификат, который должен храниться по адресу /res/raw/my_ca.
Если в приложении будет проходить проверку только указанный сертификат, условия для успешного выполнения этой техники выполняются.
Техника 2 – Перезапись упакованного сертификата
Если после установки сертификата в пользовательское хранилище, изменении в настройках версии Android и успешном прохождении проверок при просмотре других ресурсов, защищенных протоколом SSL, все равно возникают ошибки, значит, разработчики внедрили дополнительные условия, которым должны удовлетворять достоверные центры сертификации. Если не забыли, в предыдущей технике внутри тэга trust-anchors добавлялся новый путь к сертификату. Подобный трюк может использоваться разработчиками для защиты приложений от перехвата SSL.
Если в приложении используется индивидуальная цепочка сертификатов, может сработать метод, связанный с перезаписью сертификата. Поскольку в некоторых случаях разработчики могут предусмотреть дополнительные методы для проверки достоверной цепочки, эта техника не гарантирует стопроцентного результата.
Рисунок 1: Перечень сертификатов, используемых приложением
Если открыть пакет приложения при помощи, например, APK Studio, то можно сразу увидеть перечень привязанных сертификатов. На картинке выше сертификаты находятся в папке «assets». Замена явно бросающегося в глаза сертификата UniversalRootCA позволит нам подсунуть приложению наш сертификат.
Техника 3 – Подключение к функциям через фреймворк Frida
Если установки собственного сертификата недостаточно для успешного перехвата SSL-трафика, скорее всего, в приложении используются техники навроде SSL pinning или дополнительная SSL-валидация. В этом случае нужно блокировать проверки через непосредственное подключение к соответствующим функциям. Ранее эта техника была доступна для реализации только на устройствах с правами суперпользователя. Однако на данный момент при помощи библиотеки Frida Gadget можно работать с приложением и получить доступ к полному функционалу фреймворка Frida без прав суперпользователя.
Если вы уже выполняли пентесты мобильных приложений, то, вероятно, знакомы с этим фреймворком. Описание всей функциональности Frida выходит за рамки этой статьи, но если говорить в общем, то этот фреймворк позволяет изменять логику работы приложения во время выполнения. Обычно Frida работает как отдельное приложение и требует прав суперпользователя на устройстве. Если у нас нет прав суперпользователя, мы можем инжектировать в пакет приложения динамическую библиотеку Frida Gadget, содержащую большую часть функционала фреймворка Frida. Эта библиотека загружается во время выполнения приложения и позволяет вносить изменения в код.
Чтобы загрузить Frida Gadget, нужно распаковать APK, вставить динамическую библиотеку, отредактировать smali-код так, чтобы динамическая библиотека вызывалась самой первой, а затем переупаковать и установить пакет. Весь этот процесс хорошо задокументирован Джоном Козиракисом (John Kozyrakis). Вначале лучше пройти все этапы вручную, чтобы лучше понять, как работает эта технология. Чтобы сэкономить время, существует утилита — Objection, которая автоматизирует весь вышеупомянутый процесс. Требуется лишь указание целевого пакета, над которым нужно выполнить манипуляции.
После завершения в нашей рабочей директории должен появиться файл «test_app.objection.apk». По умолчанию утилита objection добавляет постфикс «.objection» к имени пакета. Далее мы можем установить этот пакет так же, как и любой другой APK, при помощи команды adb install test_app.objection.apk. После того как измененный пакет установлен на целевом устройстве, во время запуска приложение должно встать на паузу на начальном экране. В этот момент мы можем подключиться к серверу Frida, который отслеживает наше устройство:
C:\>frida-ps -U
PID Name
—- ——
6383 Gadget
C:\>frida -U gadget
____
/ _ | Frida 10.3.14 — A world-class dynamic instrumentation framework
| (_| |
> _ | Commands:
/_/ |_| help -> Displays the help system
. . . . object? -> Display information about ‘object’
. . . . exit/quit -> Exit
. . . .
. . . . More info at http://www.frida.re/docs/home/
[Motorola Moto G (5) Plus::gadget]-> Java.available
true
Alternatively, Objection supports interaction with the listening Frida server by using the ‘explore’ command:
C:\>objection explore
___| |_ |_|___ ___| |_|_|___ ___
| . | . | | | -_| _| _| | . | |
|___|___|_| |___|___|_| |_|___|_|_|
|___|(object)inject(ion) v1.2.2
Runtime Mobile Exploration
by: @leonjza from @sensepost
[tab] for command suggestions
com.test.app on (motorola: 7.0) [usb] # android hooking search classes TrustManager
android.security.net.config.RootTrustManager
android.app.trust.ITrustManager$Stub$Proxy
android.app.trust.ITrustManager
android.security.net.config.NetworkSecurityTrustManager
android.security.net.config.RootTrustManagerFactorySpi
android.app.trust.TrustManager
android.app.trust.ITrustManager$Stub
com.android.org.conscrypt.TrustManagerImpl
com.android.org.conscrypt.TrustManagerImpl$ExtendedKeyUsagePKIXCertPathChecker
com.android.org.conscrypt.TrustManagerImpl$TrustAnchorComparator
com.android.org.conscrypt.TrustManagerFactoryImpl
javax.net.ssl.TrustManagerFactory$1
javax.net.ssl.TrustManager
javax.net.ssl.TrustManagerFactory
javax.net.ssl.X509TrustManager
javax.net.ssl.TrustManagerFactorySpi
javax.net.ssl.X509ExtendedTrustManager
[Ljavax.net.ssl.TrustManager;
Теперь вы можете воспользоваться функцией для обхода технологии SSL pinning:
com.test.app on (motorola: 7.0) [usb] # android sslpinning disable
Job: 2f633f86-f252-4a57-958e-6b46ac8d69d1 — Starting
[6b46ac8d69d1] [android-ssl-pinning-bypass] Custom, Empty TrustManager ready
Job: 2f633f86-f252-4a57-958e-6b46ac8d69d1 – Started
Техника 4 – Реверс-инжиниринг кода верификации сертификата
Возможен такой случай, когда разработчик использует собственные SSL-библиотеки вместо системных для верификации сертификата. В этой ситуации нам нужно распаковать пакет, сконвертировать smali-код в Java-код и найти функции, отвечающие за проверку сертификата.
Если использовать «dex2jar», синтаксис будет следующим:
C:\>d2j-dex2jar.bat «C:\test_app.apk»
dex2jar C:\test_app.apk -> .\test_app-dex2jar.jar
Полученный файл .jar должен быть пригоден для открытия в вашей любимой утилите для исследования Java-приложений (например, JD-GUI).
После того как вы нашли функции, отвечающие за проверку сертификата, можно либо полностью пропатчить код, либо подцепиться к нужной функции при помощи Frida. Чтобы сэкономить время и не пересобирать полностью приложение, эффективнее подцепиться к функциям, отвечающим за проверку сертификата. Шаги, описанные в предыдущей технике, позволят подключиться к приложению, и далее вы можете либо подцепиться к функции при помощи утилит фреймворка Frida, либо при помощи приложения Objection.
Заключение
Техники, описанные в этой статье, позволяют перехватывать SSL-трафик и обходить некоторые наиболее распространенные защиты, используемые разработчиками. Кроме того, я кратко рассказал об утилите Objection и фреймворке Frida. Обход технологии SSL pinning и других защит лишь небольшая часть возможностей, которые позволяют реализовать эти инструменты.
Надеюсь, мне удалось на доступном языке рассказать о техниках, которые могут быть пригодны для оценки безопасности мобильных Android-приложений и демонстрируют важность наличия нескольких способов проведения подобного рода исследований.
Источник