С растущим числом мобильных приложений крайне важно, чтобы мобильные разработчики были бдительными в отношении уязвимостей безопасности и имели ноу-хау для их смягчения. Благодаря уязвимости OWASP Mobile Top 10, разработчики могут узнать, как сохранить безопасность своих мобильных приложений, чтобы защитить их от кибератак.
Project Open Web Application Security Project (OWASP)-это фонд, основанный на сообществе, который фокусируется на распространении информации о программном обеспечении и безопасности приложений. OWASP организует несколько ведущих программ обучения и образования в области кибербезопасности.
Давайте внимательнее рассмотрим уязвимости Mobile App Owasp Top 10.
Каковы уязвимости OWASP Top 10 мобильных приложений?
Понимание этих уязвимостей безопасности поможет вам лучше оценить ваше мобильное приложение и поддерживать сильную безопасность для защиты ваших данных и пользователей.
Вот топ -10 мобильных уязвимостей OWASP, о которых вы должны знать:
1. Слабые элементы управления на стороне сервера
Слабые элементы управления на стороне сервера включают практически все, что мобильное приложение может делать плохо, что не происходит на мобильном устройстве.
Тогда почему это в списке лучших мобильных уязвимостей OWASP?
Из -за того, что большинство мобильных приложений также полагаются на соединение с сервером, это делает их сопоставимыми с традиционными приложениями клиента/сервера. Однако это не проблема.
Проблема в том, что мобильные разработчики часто не рассматривают традиционные проблемы безопасности на стороне сервера.
В дополнение к этому, хотя большинство угроз безопасности довольно похожи на угрозы веб -приложений, способность злоумышленника обрабатывать и получать контроль над мобильным устройством весьма отличается от того, что оно находится в Интернете.
Существуют различные причины, которые приводят к проблемам управления на стороне сервера:
• Отсутствие знаний и реализации безопасности. • Частые обновления и спешка на рынок. • Использование простых в работе с фреймворками, которые не приоритет безопасности. • Предполагая, что мобильная операционная система несет полную ответственность за безопасность мобильных приложений. • Неэффективная кроссплатформенная интеграция и разработка.
Как предотвратить слабые элементы управления на стороне сервера
Первым и наиболее важным шагом для предотвращения слабых элементов управления на стороне сервера является сканирование ваших мобильных приложений. Это поможет вам получить обзор безопасности вашего мобильного приложения и определить уязвимости безопасности, которые вы, возможно, упустили из виду при разработке приложения.
Рекомендуется использовать инструменты автоматического сканирования для сканирования вашего мобильного приложения, однако часто эти инструменты сообщают о ложных положительных и негативных. Вот когда вам нужно вмешательство человека. Здесь лучше всего нанять эксперта по безопасности.
Вручную оценку мобильного приложения для уязвимостей безопасности поможет вам обнаружить проблемы, которые, возможно, остались незамеченными в результате автоматизации.
В дополнение к этому вам необходимо следовать жизненному циклу разработки безопасного кодирования (SDLC), который включает в себя безопасные стандарты кодирования и практики для разработчиков. Несмотря на то, что для реализации безопасных методов кодирования может потребоваться больше времени, это помогает значительно снизить уязвимости безопасности.
2. Небезопасное хранилище данных
Давайте посмотрим на следующую уязвимость мобильного приложения OWASP.
Мы все знаем, что хранение личных или конфиденциальных данных, таких как номера кредитных карт или пароли, требует безопасный механизм. Как правило, разработчики используют файлы и базы данных для хранения данных на стороне клиента в мобильных приложениях, предполагая, что это ограничит пользователям доступ к данным.
Тем не менее, последние тенденции показывают, что большинство нарушений безопасности мобильных приложений были вызваны из-за ненужного или небезопасного хранения клиентских данных.
Как злоумышленники могут использовать небезопасное хранение данных?
Злоумышленники могут легко ругать или джейлбрейк на мобильное устройство и обойти безопасность мобильных приложений. Другой способ, которым они могут взломать мобильное приложение, — это если они физически достигнут мобильного устройства и подключают его с компьютером с свободно доступным программным обеспечением.
Эти приложения позволяют злоумышленнику увидеть все сторонние каталоги приложений, которые часто содержат сохраненные данные, такие как конфиденциальная информация пользователей или организации. Затем злоумышленник может изменить законное мобильное приложение для кражи или удаления критических данных.
Это может привести к нескольким бизнес -проблемам, таким как:
• Личность или кража полномочий • Мошенничество • ущерб репутации рынка • Плохие отношения с клиентами
Как предотвратить небезопасное хранение данных
Рекомендуется не хранить данные в мобильных приложениях, если это абсолютно необходимо. Например, никогда не храните учетные данные пользователя в файловой системе телефона. Помогайте пользователю аутентифицировать, используя API или стандартную схему веб -входа, когда он пытается получить доступ к приложению.
Когда необходимо кэширование или хранение информации, рассмотрите возможность использования стандартной библиотеки шифрования, такой как Cryptokit в iOS. Однако для особенно чувствительных приложений используйте криптографические решения белой коробки, которые помогают предотвратить утечку бинарной подписи, которая обычно встречается в общих библиотеках шифрования.
Для локального хранилища в приложении Android используйте API администрирования устройства Android Enterprise для реализации шифрования всех локальных файловых магазинов с использованием «SetStorageEncryption». Вы должны надежно хранить клавиши шифрования/дешифрования; Никогда не храните в коде или в файлах конфигурации.
3. Недостаточная защита транспортных слоев
Недостаточная защита транспортных слоев является одной из топ -10 уязвимостей мобильной безопасности OWASP, вызванных мобильными приложениями, которые не защищают их сетевой трафик.
По сути, данные могут быть обменены между клиентом и стороной сервера. Если мобильное приложение разработано плохо, то злоумышленники могут использовать эту уязвимость безопасности и иметь возможность просматривать конфиденциальные данные в транспорте.
В то время как многие разработчики интегрируют сертификаты SSL/TLS, они часто не могут полностью проверить эти сертификаты или не могут закрепить эти сертификаты. Это может привести к скомпрометированию сетевого трафика.
Как предотвратить недостаточную защиту от транспортного слоя
К счастью, недостаточные атаки защиты от транспортного слоя легко предотвратить. Всегда считайте, что сетевой уровень может быть небезопасным и уязвимым для подслушивания.
Используйте TLS для транспортировки уровней, которые мобильное приложение использует для передачи токенов сеанса или любой другой критической информации в веб -службу или API бэкэнда.
Используйте сертификаты, подписанные доверенными поставщиками CA и прикрепляйте те сертификаты, которые известны и доверяют. Внедрить мощные, стандартные отраслевые апартаменты, которые имеют соответствующую длину ключей. Убедитесь, что вы создаете безопасное соединение только после аутентификации личности сервера конечных точек с использованием доверенных сертификатов в ключевой матче.
4. Непреднамеренная утечка данных
Когда разработчик непреднамеренно помещает конфиденциальные данные в небезопасное место на мобильном устройстве, это может привести к непреднамеренной утечке данных.
Вот почему это уязвимость мобильного приложения OWASP может быть опасной:
Небезопасное место может быть доступно для других мобильных приложений, работающих на том же устройстве, оставляя мобильное устройство уязвимым для атак.
Код мобильного приложения становится восприимчивым к серьезным атакам, поскольку векторы угроз могут легко использовать эти уязвимости утечки данных. Злоумышленник может просто добавить небольшой кусок кода, чтобы получить доступ к месту, где хранятся конфиденциальные данные.
Каковы некоторые общие точки утечки данных?
Ниже приведены наиболее распространенные точки утечки, которые вы должны контролировать:
• Скопировать/вставьте кэширование буфера • ОБЪЕКТЫ КРИЗЕРЫ КРЕССЕР •
Как предотвратить непреднамеренную утечку данных
Чтобы предотвратить утечку данных от механизмов кэширования, установите соответствующие типы вводов, такие как типы «пароля». Таким образом, вы можете автоматически блокировать кэширование и предотвратить копирование контента в буфер обмена.
5. Плохое разрешение и аутентификация
Плохое разрешение и аутентификация являются еще одной крупной уязвимостью OWASP Mobile App.
Вот как:
Плохое или отсутствующее схемы аутентификации позволяет злоумышленникам обходить протоколы аутентификации и получить доступ к конфиденциальным данным в мобильном приложении. Они делают это путем анонимного выполнения функциональных возможностей на бэкэнд -сервере или мобильном приложении.
Многие мобильные приложения используют 4- или 6-значный PIN-код для аутентификации. Выполнение проверки на стороне клиента небезопасно, так как это потребовало бы, чтобы PIN -код был сохранен на мобильном устройстве, что увеличивает риск его протечки.
Более того, существуют различные мобильные приложения, которые не ожидают, что пользователи будут в Интернете в любое время во время их сеанса. Поскольку подключения мобильного интернета не так надежны, как традиционные веб -приложения, мобильные приложения, которые требуют автономной аутентификации для поддержания времени безотказной работы, более уязвимы для атак.
Разработчики должны знать, что эти методы аутентификации могут создавать уязвимости безопасности в мобильном приложении. В своем автономном режиме мобильные приложения могут позволить пользователям с меньшим количеством привилегий выполнять действия и получать несанкционированный доступ к конфиденциальным данным.
Хотя плохая аутентификация и разрешение обычно распространены в мобильных приложениях и часто остаются незамеченными, их технические и бизнес -воздействие серьезное.
Как предотвратить плохое разрешение и аутентификацию
Тестеры безопасности должны выполнять атаки против мобильного приложения, пока оно находится в автономном режиме, чтобы обнаружить плохие схемы аутентификации и авторизации. Они могут заставить приложение обходить протоколы аутентификации в автономном режиме и попытаться выполнять функциональные возможности, которые требуют аутентификации. Выполнение безопасного обзора кода также очень полезно. В идеале это следует делать часто по всему SDLC.
Тестеры безопасности также могут попытаться выполнить привилегированные функциональные возможности, которые требуют авторизации требуемого уровня, в то время как мобильное приложение все еще находится в автономном режиме. Слабое авторизация позволит противнику успешно выполнять функциональные возможности, которые они не уполномочены выполнять.
Кроме того, убедитесь, что все запросы аутентификации выполняются на стороне сервера. Это гарантирует, что данные приложения загружаются только после успешной аутентификации.
Если требуется хранение данных на стороне клиента, убедитесь, что данные зашифрованы с использованием ключа шифрования, который надежно получен из учетных данных входа пользователя вместе с сильным источником случайности.
Продолжайте прочитать этот блог в CypressDataDefense.com .
Оригинал: «https://dev.to/joywinter90/owasp-top-10-mobile-vulnerabilities-developers-need-to-understand-1i76»