Пользователи настолько доверяют своим гаджетам, что даже «допускают» их к выполнению операций с банковскими счетами, совершая покупки в интернет-магазинах, открывая и закрывая вклады в банках и т. д. Однако на вопрос, что известно о безопасности таких операций, 99% респондентов ответят, что никогда об этом не задумывались.
Итак, действительно ли такое управление финансами несет в себе риски? И каковы они? Чтобы ответить на эти вопросы, обратимся к особенностям разработки мобильных приложений.
Например, мобильный банк. В настоящее время он превратился в приложение, обязательное для эффективного существования банка, уступив роль конкурентного преимущества тому функционалу, который оно позволяет выполнять. С одной стороны, чем большие возможности оно предоставляет, тем привлекательнее банк для клиента, стремящегося сэкономить время и силы, решая максимальное число вопросов без обращения к банковским операционистам. С другой — чем больше операций клиент может выполнить сам, без помощи операционистов, тем меньше последних требуется банку, который получает возможность оптимизировать штатное расписание и сократить издержки. Поэтому разработка и обновление функционала ПО получают статус «особо экстренной задачи». А сжатие сроков работ может отрицательно сказываться на тщательности проработки технического задания и качественности тестирования ПО.
При этом разработчики ПО не являются экспертами в области ИБ. В своей работе они зачастую используют так называемый «заимствованный» код, взятый из Интернета. Он выполняет необходимый набор действий, но с его технологическими нюансами разработчикам обычно некогда разбираться в полном объеме, так как развитие платформ для разработки мобильных приложений не менее стремительно, чем потребность в новых мобильных приложениях. Все это создает благодатную почву для появления неявных уязвимостей в коде приложений. В данном случае мы имеем в виду неправильное использование конструкций языка программирования, позволяющих злоумышленнику использовать приложение по сценариям, не предусмотренным архитектором. По статистике чаще всего такие уязвимости привносятся в приложения или из заимствованного кода, или самими разработчиками (без злого умысла, конечно же).
Сегодня среди пользователей мобильных устройств наиболее распространены две платформы — Android и iOS. Разработка мобильных приложений под каждую из них имеет свои особенности и сопряжена с риском появления тех или иных уязвимостей. Основываясь на собственном анализе мобильных приложений, характерных для различных сфер бизнеса (банки, телекоммуникации и пр.), мы смогли выявить наиболее популярные уязвимости и модели атак на мобильные приложения.
< ... >