Блог a1qa

О тестировании и качестве ПО

Практический взгляд на безопасность мобильных приложений по OWASP

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

По статистике, россияне проводят в сети 7 часов 17 минут ежедневно, в то время как среднестатистический пользователь – 6 часов 43 минуты. А как показывает отчёт компаний We Are Social и Hootsuite, количество интернет-пользователей в России превышает 80%, в то время как более половины из них чаще пользуются мобильным интернетом.

Эксперты компании App Annie заявляют, что 10 из каждых 11 минут пользователи проводят в мобильных приложениях. Учитывая, какую роль стали играть такие ИТ-решения, многие компании заботятся о качестве приложений, особенно об их безопасности.

Исследование BetaNews показывает, что 44% приложений содержат личные данные, требующие высокого уровня защищённости, а 66% — используют функциональные возможности, которые могут поставить под угрозу конфиденциальность информации о пользователях.

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

Топ-3 уязвимостей мобильных приложений

Среди лидеров мобильных приложений по числу установок 94% содержат по меньшей мере три уязвимости среднего риска, а 77% — хотя бы две критичные.

Как показывает аналитика компании NowSecure, полученные на основе топа десяти уязвимостей по OWASP, трудности с хранением информации и передачей данных появляются уже в процессе разработки ПО. А около 1/3 приложений содержат скрытую функциональность и узкие места в исходном коде.

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

Топ уязвимостей

Источник: Исследование компании NowSecure

Небезопасное хранение данных

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

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

Проблемы с передачей данных

Взаимодействие между разными платформами стало нормой для многих приложений. Использование Google-аккаунта при регистрации или онлайн-оплата – одни из тех удобств, от которых пользователи не хотят отказываться. Использование открытых API приносит пользу не только клиентам, когда интеграция сервисов обеспечивает конечным пользователям многофункциональное и удобное приложение, но и компаниям, помогая им удовлетворять свои бизнес-потребности.

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

Скрытая функциональность

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

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

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

3 шага на пути к обеспечению надёжности мобильных приложений

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

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

Шаг 1. Проводить тестирование безопасности на всех этапах жизненного цикла

Каждый четвёртый рецензент, опрошенный экспертами, которые составляли World Quality Report (Мировой отчёт по качеству) 2019-2020 гг., смог оптимизировать процессы тестирования благодаря Agile. Статистика такова: если компания ввела гибкие методологии, то процессы ускоряются на 75%, а циклы автоматически становятся короче из-за более частых релизов.

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

Шаг 2. Внедрять тестирование на проникновение

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

Суть тестирования на проникновение – обнаружить узкие места, которые киберпреступники могут использовать в корыстных целях: кража данных, преднамеренная остановка сервера или его перезагрузка. Подготовьтесь к такой реакции системы и разработайте план её восстановления.

Шаг 3. Автоматизировать тестирование безопасности

Оптимизация процессов напрямую связана с автоматизацией. Тестирование защищённости не исключение. Более половины респондентов Мирового отчёта по качеству сообщают, что после автоматизации тестирования риски информационной безопасности снизились.

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

Хотя в 2019 году тестированию безопасности уделялось много времени со стороны бизнеса, только 13% проверок защищённости автоматизируется. И это именно та точка роста для компаний, о которой стоит подумать в 2020 году.

Резюмируя

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

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

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

Поделиться статьей: