Аудит безопасности приложения страховой компании

1 декабря 2023

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

Цели и задачи продукта

Главная цель аудита — это комплексное исследование защищенности мобильного приложения для Android и iOS, а также его архитектуры. Для достижения этой цели мы провели тестирование безопасности с помощью статического и динамического анализа, нашли уязвимости и оценили их критичность. 

Отметим, что аудит защищенности лишь фиксирует наличие уязвимостей, а не устраняет их. Мероприятия по устранению угроз — это отдельная задача. Все работы были выполнены независимой командой специалистов True Engineering.

Анализ, подготовка 

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

Для оценки защищенности наша команда опирается как на международные рейтинги уязвимостей OWASP Mobile TOP 10 и OWASP TOP 10 API Security, так и на методику проверки безопасности мобильных приложений OWASP MASVS. Это помогает приоритизировать рекомендации по степени критичности уязвимостей и исправить все ошибки, пока они не принесли бизнесу серьезные потери.

Решение  

Комплексная проверка была проведена с помощью следующих инструментов 

  • фреймворк MobSF
  • платформа для тестирования безопасности приложений Burp Suite
  • инструменты Charles Proxy, Postman, Frida, Objection, Grapefruit 

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

В проверку вошли следующие этапы: 

  1. тестирование на предмет безопасного хранения данных
  2. тестирование механизмов аутентификации
  3. тестирование безопасности передачи данных
  4. тестирование взаимодействия с платформой
  5. тестирование конфигурации сборки
  6. тестирование устойчивости к реверс-инжинирингу
  7. тестирование бизнес-логики приложения 

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

30112023 3

Результаты 

В ходе аудита было выявлено 11 уязвимостей: три критичного уровня, три высокого уровня, четыре среднего и одна низкого.

30112023

Расскажем подробнее о ключевых обнаруженных уязвимостях. 

  1. В конфигурационном файле приложения мы обнаружили CLIENT_ID, CLIENT_SECRET и APIKEY, а также другие строки, которые содержат чувствительную информацию — это критичная угроза для безопасности. Злоумышленники смогут с легкостью получить доступ к любым конфиденциальным данным, если в коде хранятся ключи и секреты в открытом виде. 
  2. Отсутствие ограничений на вызов методов — еще одна критичная уязвимость. В ходе исследования мы установили, что сервер не имеет достаточной защиты от многочисленных вызовов методов. Это может привести к таким угрозам, как DDOS атака на сервер или атака «полным перебором» логинов и паролей (brute force). 
  3. Другая уязвимость, но уже высокого уровня риска это передача чувствительных данных пользователя в открытом виде при взаимодействии с сервером. Это происходит, если в приложении отсутствуют механизмы защиты канала связи и SSL Pinning. Если взломщик осуществит атаку MITM (Man-In-The-Middle), в его распоряжении окажется вся информация о пользователе: паспортные данные, номер телефона, логины, пароли и ПИН-коды.  

01122023 1

Итогом аудита безопасности стал подробный отчет с описанием уязвимостей и рекомендациями по решению. 

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

Недавние публикации

Еще по теме

Похожие бизнес-задачи и решения, которые мы нашли, проверили и внедрили

Система удаленного мониторинга и управления нефтяными скважинами

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

В этом кейсе рассказываем, как совместная команда специалистов заказчика и True Engineering разработали систему удаленного мониторинга и управления нефтяными скважинами.

Корпоративное приложение для 150 000 сотрудников сети быстрого питания: как мы спроектировали единую экосистему сервисов

Как объединить 150 000 сотрудников, если у большинства нет доступа к корпоративным системам с рабочего компьютера? Для сети ресторанов быстрого питания мы спроектировали мобильную экосистему, которая собрала в одном окне ключевые HR-сервисы, коммуникации, льготы и инструменты поддержки с учетом высокой нагрузки, требований безопасности и сценариев использования на личных устройствах.

S7 Airlines: автоматизировали 90% кассовых операций и перевели всю сеть офисов на новую систему за сутки — без потери данных и остановки продаж

Централизованная аутентификация и SSO на базе Keycloak для корпоративных систем

Крупная сеть ресторанов столкнулась с типичной проблемой растущей IT-инфраструктуры: десятки систем с разными механизмами авторизации, множественные интеграции и отсутствие единого управления доступами. Мы построили централизованную систему аутентификации на базе Keycloak, объединив офисные и ресторанные системы в единую точку входа.

Опросы без Google Forms: как построить корпоративный сервис сбора данных под задачи бизнеса

В корпоративной среде обратную связь приходится собирать регулярно - от сотрудников, клиентов, партнеров. Публичные инструменты вроде Google Forms и «Яндекс Форм» удобны для простых задач, но часто не подходят компаниям с высокими требованиями к безопасности и множеством интеграций. Мы рассказываем, как создали сервис опросов, который стал частью корпоративной экосистемы.