Безопасность приложений для iOS: на что стоит обратить внимание

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

Но особенно остро вопрос о безопасности личной информации стоит у приложений, в которых пользователь вводит свое ФИО, номер паспорта, номер телефона и другую важную личную информацию. В первую очередь это касается приложений, которые необходимы для осуществления банковских операций, а также предназначенных для других задач, связанных с финансами. Например, это приложение для клиентов банков. Это значит, что продвижение приложений такой направленности требует от разработчика обязательно позаботиться об обеспечении его безопасности.

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

Главные угрозы

Поговорим о наиболее распространенных угрозах и атаках, которых следует опасаться разработчику.

Одна из первых угроз – это декомпиляция ipa-файла. С помощью этого злоумышленники получают доступ к локальным сохраненным данным. Еще одна распространенная угроза – MITM-атаки. Другими словами, это перехват информации, которая передается по сети. Многие из мобильных приложений – это серверные клиенты, которые обрабатывают и передают огромное количество сведений. Большинство разработчиков используют HTTPS-протокол, но часто случается так, что один порог защиты не способен обеспечить полную безопасность продукту.

Еще одна угроза – это джейлбрейкинг. Это операция, которая не приветствуется Apple, позволяет получить доступ к файловой системе телефона. Он часто используется злоумышленниками для проникновения на устройство пользователя. Атаки происходят с помощью установки внешних элементов отладки, через которые пользователь намеревается управлять своей файловой системой с помощью джейлбрейкинга. Но на деле получается так, что доступ к информации получают еще и третьи лица, а не только юзер.

Чем грозит потеря данных для разработчика

Уязвимости в безопасности информации пользователя могут иметь неприятные последствия не только для самих пользователей, личные сведения которых стали добычей третьих лиц, но и для разработчика. Прежде всего, это репутационный удар. Никто не желает, чтобы его конфиденциальная информация перешла в нежелательные руки. Поэтому после подобных утечек разработчик получит множество гневных и отрицательных отзывов, которые способны будут полностью свести на нет то, что было достигнуто раньше. Дальнейшее продвижение в app store в случае таких репутационных потерь будет сильно затруднено.

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

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

Способы защиты данных

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

Приложение имеет свой жизненный цикл. Именно на него в первую очередь следует обратить внимание. Он делит процесс разработки на разные этапы. На каждом этапе происходит автоматическая проверка безопасности. Благодаря этому можно обнаружить проблемы еще до того, как приложение будет выпущено для широкого круга пользователей.

Если были найдены серьезны угрозы, то стоит остановить разработку и заняться их устранением. Нужно заниматься этим сразу же, а не откладывать в долгий ящик.

Необходимо позаботиться о том, чтобы приложение было совместимо с современными стандартами безопасности. Речь идет о SANS 25 и OWASP Top-10. Они предоставляют сведения о всех потенциальных проблемах с уязвимостью.

Также необходимо регулярно проводить тестирования на проникновения. По сути, это тестирование является имитацией хакерской атаки. Благодаря этому можно выяснить, есть ли у приложения проблемы с безопасностью.

Хороший уровень безопасности в приложении способствует высокому показателю retention – то  есть, удержанию пользователя. По крайней мере, безопасностью нужно заниматься, чтобы в приложении не происходил большой отток пользователей из-за утечек информации и репутационных потерь, вызванных этим.

Данные пользователя

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

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

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

Авторизация

Один из этапов взаимодействия пользователя с приложением, на котором может произойти кража данных, – это авторизация. Во время авторизации юзер, как правило, вводит пароль в среднем из 4-6 символов. Этот пароль не стоит хранить ни на сервере, ни на устройстве в его чистом виде. Авторизация пользователя в приложении происходит с помощью процедуры хеширования.

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

Биометрия

Биометрическая аутентификация на сегодняшний день довольно популярна. Ее использование помогает осуществить продвижение мобильных игр или приложений. Шанс совпадения отпечатков пальцев или параметров лиц практически невозможен. Биометрические данные вычисляются в отдельном сопроцессоре. Он изолирован от ОС. Кажется, что эта технология абсолютно безопасна, и что она не имеет никаких недостатков. Но все-таки способы, с помощью которых злоумышленники могут украсть данные, существуют и во время биометрической аутентификации.

Хакер узнает пин-код устройства. Затем он добавляет свой отпечаток в перечень известных для этого телефона. У него появляется возможность пройти авторизацию в вашем приложении, не зная пароля. Однако существует метод борьбы и с этим. В операционной системе есть специальный хеш, который содержит набор отпечатков, имеющийся на телефоне в данный момент. Во время авторизации этот хеш проверяется на предмет того, совпадает ли настоящее значение и сохраненное. Если не совпадает – значит отпечатки были изменены. В таком случае приложение требует ввести пароль.

Антифрод

Разработчик должен иметь инструменты, которые он будет задействовать уже после того, как злоумышленник проник на телефон, чтобы не дать ему совершать какие-либо действия в приложении.
Во время авторизации важно собирать сведения об устройстве юзера (модель, идентификатор и т.п.). Если смартфон был взломан или человек потерял к нему доступ, устройство заносится в черный список.

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

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

С помощью этих рекомендаций вы сможете добиться оптимальной безопасности для своего приложения. И тогда уже можно будет полностью сконцентрировать свое внимание на том, как осуществить продвижение игр или приложений.

С уважением, Настя Чехова

Маркетолог

Комментарии:

Нашли ошибку в тексте?

Выделите фрагмент с ошибкой.
Нажмите