РАМКИ ИНСТРУМЕНТАЦИИ
Для обеспечения безопасности в приложении я использую метод ниже, чтобы сгенерировать Keyha sh.
Независимо от того, какой тип кода и сколько вы запутать его, все, что нужно злоумышленнику, - это подключиться к вашему мобильному приложению во время выполнения с помощью инструментария с открытым исходным кодом, например Frida :
Внедрить свои собственные сценарии в процессы черного ящика. Подключайте любую функцию, шпионите за криптографическими API или отслеживайте частный код приложения, исходный код не требуется. Отредактируйте, нажмите «Сохранить» и сразу увидите результаты. И все это без шагов компиляции или перезапуска программы.
Таким образом, злоумышленник обнаруживает функцию, которую вы вызываете, затем перехватывает ее, чтобы прослушать возвращаемый результат и извлечь его на командный сервер или просто изменить его на любое значение, которое ему нравится.
REVERSE ENGINEER
Можем ли мы создать ключ SHA256, может ли этот ключ SHA256 быть реконструирован после сборки APK?
Да, вы можете, и я предпочитаю для этого MobSF - Mobile Security Framework :
Mobile Security Framework - это автоматизированный, универсальное мобильное приложение (Android / iOS / Windows) для тестирования на проникновение, способное выполнять статический c анализ, динамический c анализ, анализ вредоносных программ и тестирование веб-API.
Вы можете прочитать статью Как извлечь ключ API из мобильного приложения с помощью Stati c двоичный анализ , чтобы узнать, как я использовал MobSF для извлечения ключа API, но процедуры будут похожи на найти и извлечь любой другой тип секрета.
Вы можете затруднить поиск секрета с помощью анализа c статистики, спрятав его в собственном коде C с помощью JNI / NDK :
Используя Android Studio 2.2 и выше, вы можете использовать NDK для компиляции кода C и C ++ в собственную библиотеку и упаковать его в свой APK с помощью Gradle, интегрированной среды IDE. система сборки. Ваш код Java может затем вызывать функции в вашей собственной библиотеке через структуру Java Native Interface (JNI).
Для примера реализации см. эту папку для Currency Converter Demo , мобильное приложение-компаньон для статьи Украсть API-ключ с помощью человека в средней атаке :
Чтобы помочь Чтобы продемонстрировать, как украсть ключ API, я создал и выпустил на Github приложение Currency Converter Demo для Android, в котором используется тот же метод JNI / NDK, который мы использовали в более раннем приложении Android Hide Secrets, чтобы скрыть ключ API.
Итак, в этой статье вы узнаете, как настроить и запустить MitM-атаку для перехвата https-трафика c на мобильном устройстве под вашим контролем, чтобы вы могли украсть ключ API. Наконец, вы увидите на высоком уровне, как можно смягчить атаки MitM.
В этой статье показано, как использовать прокси-сервер для проведения атаки Man in the Middle, это еще один метод, широко используемый для извлекать секреты из мобильного приложения. Я считаю это очень полезным, когда я не могу найти секреты с помощью анализа c статистики.
В статье я использую очень популярный инструмент с открытым исходным кодом, mitmproxy :
Интерактивный перехватывающий HTTP-прокси с поддержкой TLS для тестеров на проникновение и разработчиков программного обеспечения.
ЗАБЛОКИРОВАТЬ API ДЛЯ МОБИЛЬНОГО ПРИЛОЖЕНИЯ
есть ли эффективный способ генерации keyha sh, отличный от указанного выше метода защиты приложения при вызове API.
Я думаю, что вам нужно заблокировать сервер API, чтобы он принимал запросы только от вашего мобильного приложения, и если это так, прочтите этот ответ Я задал вопрос Как защитить API REST для мобильного приложения? для разделов Защита сервера API и Возможное лучшее решение .
В основном в этом ответе вы можете изучить несколько методов защиты своего сервера API и попытаться с высокой степенью уверенности заблокировать его для своего мобильного приложения.
ХОТИТЕ GO ДОПОЛНИТЕЛЬНАЯ МИЛЯ ?
В любом ответе на секретный вопрос я считаю необходимым сослаться на отличную работу фонда OW ASP.
Для мобильных приложений
OW ASP Mobile Security Project - 10 основных рисков
OW ASP Mobile Security Project - это централизованный ресурс, предназначенный для предоставления разработчикам и группам безопасности ресурсов, необходимых для создания и поддержания безопасности. мобильные приложения. В рамках проекта наша цель состоит в том, чтобы классифицировать риски мобильной безопасности и обеспечить средства управления разработкой для снижения их воздействия или вероятности использования.
OW ASP - Руководство по тестированию мобильной безопасности :
The Mobile Security Testing Guide (MSTG) - это подробное руководство по разработке, тестированию и обратному инжинирингу безопасности мобильных приложений.
Для APIS
OW ASP API Security Top 10
OW ASP API Security Project стремится предоставить ценность разработчикам программного обеспечения и специалистам по оценке безопасности, подчеркивая потенциальные риски небезопасных API и иллюстрируя, как можно уменьшить эти риски. Чтобы способствовать достижению этой цели, OW ASP API Security Project создаст и будет поддерживать документ «10 основных рисков безопасности API», а также портал документации для передовых практик при создании или оценке API.