12 советов по защите вашего мобильного приложения PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

12 советов по защите вашего мобильного приложения

Кибератаки и кража данных стали настолько распространенными в наши дни, особенно когда речь идет о мобильных приложениях. В результате мобильные приложения, в которых обнаружены нарушения безопасности, могут понести финансовые потери. Поскольку многие хакеры стремятся украсть данные клиентов, защита этих приложений стала приоритетом номер один для организаций и серьезной проблемой для разработчиков. Согласно недавнему исследованию Gartner, Цикл ажиотажа для безопасности приложений, инвестиции в безопасность приложений увеличатся более чем в два раза в течение следующих нескольких лет, с 6 миллиардов долларов в этом году до 13.7 миллиардов долларов к 2026 году. профессионалов, и теперь акцент делается на приложения, размещенные в общедоступных облаках». Крайне важно правильно определить основные компоненты безопасности DevOps. Вот 12 советов по защите вашего мобильного приложения: 

1. Установите приложения из надежных источников:

Обычно приложения Android переиздаются на альтернативных рынках или их APK и IPA доступны для скачивания. И APK, и IPA можно загрузить и установить из разных мест, включая веб-сайты, облачные сервисы, диски, социальные сети и социальные сети. Только в Play Store и App Store должно быть разрешено устанавливать надежные файлы APK и IPA. Чтобы предотвратить использование этих приложений, у нас должно быть обнаружение проверки источника (Play Store или App Store) при запуске приложения.

Также прочитайте, https://andresand.medium.com/add-method-to-check-which-app-store-the-android-app-is-installed-from-or-if-its-sideloaded-c9f450a3d069

2. Обнаружение корня:

Android: Злоумышленник может запустить мобильное приложение на корневом устройстве и получить доступ к локальной памяти или вызвать определенные действия или намерения для выполнения вредоносных действий в приложении. 

iOS: приложения на устройстве с джейлбрейком запускаются с правами root вне изолированной программной среды iOS. Это может позволить приложениям получить доступ к конфиденциальным данным, хранящимся в других приложениях, или установить вредоносное программное обеспечение, блокирующее функциональность песочницы. 

Подробнее об обнаружении корня- https://owasp.org/www-project-mobile-top-10/2016-risks/m8-code-tampering

3. Хранение данных:

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

4. Безопасные секретные ключи:

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

Вот реферальная ссылка: https://guides.codepath.com/android/Storing-Secret-Keys-in-Android

5. Обфускация кода

Злоумышленник может декомпилировать файл APK и извлечь исходный код приложения. Это может раскрыть злоумышленнику конфиденциальную информацию, хранящуюся в исходном коде приложения, которая может быть использована для выполнения специализированных атак. 

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

6. Безопасная связь:

Злоумышленник может выполнять злонамеренные действия, чтобы повысить уровень атаки, поскольку вся связь происходит по незашифрованным каналам. Поэтому всегда используйте URL-адреса HTTPS вместо URL-адресов HTTP.

7. Закрепление SSL:

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

Пожалуйста, обратитесь: 

https://owasp.org/www-community/controls/Certificate_and_Public_Key_Pinning

8. Безопасные данные запроса и ответа API

Стандартной практикой является использование HTTPS для базовой защиты вызовов REST API. Информация, отправленная на сервер или полученная с сервера, может быть дополнительно зашифрована с помощью AES и т. д. Например, если есть конфиденциальное содержимое, вы можете выбрать его для шифрования, чтобы даже если HTTPS каким-либо образом не работал или неправильно иметь еще один уровень защиты от вашего шифрования.

9. Безопасная аутентификация мобильного приложения:

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

i) Назначать пользователю отдельный и сложный токен сеанса каждый раз, когда он/она успешно входит в приложение. 

ii) Завершить время жизни сеанса сразу после выхода из системы. 

iii) Не используйте один и тот же токен сеанса для двух или более IP-адресов. 

iv) Ограничьте время истечения срока действия для каждого токена сеанса.

10. Разрешить резервное копирование 

Запретить пользователям создавать резервную копию приложения, если оно содержит конфиденциальные данные. Имея доступ к файлам резервных копий (например, когда android:allowBackup="true"), можно изменять/читать содержимое приложения даже на устройстве без root-доступа. Поэтому рекомендуется сделать Allow Backup ложным. 

11. Ограничьте доступ к экранам приложений Android из других приложений.

В идеале ваша деятельность не должна давать каких-либо условий для открытия из других сервисов или приложений. Сделайте это правдой только в том случае, если у вас есть особые требования для доступа к вашим флаттер-экранам из других приложений, в противном случае измените на android: экспорт = «ложь»

12. Ограничить установку пакетов из приложения Android

ЗАПРОС_УСТАНОВКИ_ПАКЕТОВ разрешение позволяет приложениям установить новые пакеты на устройство пользователя. Мы стремимся предотвращать злоупотребления на платформе Android и защищать пользователей от приложений, которые самостоятельно обновляются любым способом, кроме механизма обновления Google Play, или загружают вредоносные APK.

Вывод: 

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

Об авторе:

Равитея Акети — старший инженер-программист в Mantra Labs. Имеет большой опыт работы с B2B проектами. Равитея любит изучать новые технологии, смотреть фильмы и проводить время с семьей и друзьями.

Читайте наш последний блог: Внедрение чистой архитектуры с помощью Nest.JS

Знания, которые стоит доставить в ваш почтовый ящик

Отметка времени:

Больше от Мантра Лабс