Последние исследования Zimperium показывают, что более половины приложений для iOS и треть приложений для Android оказываются уязвимыми для утечки конфиденциальной информации через API. Эти данные вызывают озабоченность по поводу безопасности мобильных приложений, особенно учитывая возможность перехвата API-запросов и их подделки под легитимные.
Уязвимости и методы противодействия
Атаки на мобильные устройства зачастую остаются незамеченными, и традиционные средства защиты могут не справляться с угрозами, которые действуют непосредственно внутри устройства. Три из каждой тысячи мобильных устройств уже инфицированы, причем один из пяти Android-устройств сталкивается с вредоносным ПО.
В отличие от веб-приложений, мобильные приложения предоставляют API-эндпоинты и логику вызовов на ненадежные устройства, подвергая их опасности модификации и обратной разработки. Злоумышленники могут перехватывать трафик, модифицировать приложение и представлять зловредные API-вызовы как легитимные.
Такие привычные меры защиты, как шлюзы, прокси и валидация API-ключей, не способны полностью оградить от угроз внутри приложения. «API не только приводят в движение мобильные приложения, они также подвергают их риску», — считает Кришна Вишнуботла, вице-президент по продуктовым решениям в Zimperium.
Рекомендации по усилению безопасности приложений
SSL-пиннинг демонстрирует пробелы: почти каждая третья Android-финансовая, а также каждая пятая iOS-тревел-программа остаются уязвимыми. Множество приложений неверно обрабатывают конфиденциальные данные: консольные логи, внешнее хранилище и небезопасное локальное хранение — частое явление.
Серьезной проблемой является передача данных на удаленные серверы: почти треть всех приложений и 37% из топ-100 отправляют ЛИЧНО идентифицируемую информацию без надлежащего шифрования. Некоторые SDK способны тайно экспортировать данные, записывать пользовательские взаимодействия, захватывать GPS-координаты и пересылать информацию на внешние серверы.
В докладе подчеркивается важность проведения анализа приложений на некорректное ведение логов, шифрование локального хранения данных, мониторинг сетевого трафика, удаление вредоносных SDK, пересмотр разрешений, проведение регулярного аудита, внедрение защиты в режиме выполнения, обфускация кода, проверка источников API-вызовов и использование мобильного защитного ПО и процедур реагирования на инциденты.