Число регистраций сервисах краткосрочной аренды автомобиля в Москве к концу 2017 года превысило 1 миллион, а количество поездок за год достигло 5,4 миллиона. В конце 2016 года их было менее 300 тысяч. Таким образом, за год число зарегистрированных пользователей выросло почти в 4 раза . Основным средством для использования каршеринга являются мобильные приложения, которые, как и все прочие, могут быть содержать различные уязвимости.
«Для пользователя основные риски связаны с возможным похищением аккаунта. В этом случае злоумышленник сможет свободно распоряжаться автомобилем, который в этот момент якобы использует другой человек. Очевидно, что это открывает широкие возможности для различных злоупотреблений и правонарушений, поэтому мы решили проверить, насколько хорошо защищены мобильные приложения для каршеринга», – пояснил Даниил Чернов, руководитель направления Solar inCode компании Solar Security.
В основу исследования легли отчеты, автоматически сформированные с помощью Solar inCode, который использует комбинацию различных типов анализа кода и способен проверять уровень защищенности приложений без доступа к их исходному коду. В отчетах о сканировании содержится общая оценка защищенности приложения по пятибалльной шкале, список обнаруженных закладок, известных уязвимостей и ошибок, ранжированных по уровню критичности.
Для участия в исследовании были выбраны каршеринг-сервисы, работающие в Москве и Санкт-Петербурге – «Делимобиль», «Карусель», Яндекс.Драйв, Anytime, BelkaCar, CAR4YOU, CAR5, Carenda, Carlion, Colesa.com, EasyRide, Lifcar, MatreshCar, Rent-a-Ride, RENTMEE, TimCar. Все приложения рассматривались в вариантах для мобильных операционных систем iOS и Android.
Среди Android-приложений первое место по уровню защищенности с большим отрывом от конкурентов занимает «Яндекс.Драйв». Отсутствие известных критических уязвимостей и очень малое количество уязвимостей среднего уровня (на порядок меньше, чем у конкурентов) позволяет говорить о том, что приложение достаточно безопасно как в части защиты данных пользователей, так и в устойчивости к атакам с помощью троянов или известных эксплойтов.
Второе место разделили Anytime, Lifcar и «Карусель», которые показали примерно одинаковый, достаточно высокий результат. Третье место по уровню защищенности занимает приложение Carenda. В коде прочих приложений критические уязвимости встречаются не менее 5 раз, а уязвимости среднего уровня – по несколько сотен раз, что нельзя назвать удовлетворительным уровнем защищенности. Рейтинг замыкают Rent-a-Ride, BelkaCar и CAR5. Более половины каршеринг-приложений под Android уязвимы к атакам типа DoS и DNS spoofing. Примерно в трети случаев наблюдается небезопасное хранение конфиденциальных данных, в том числе паролей. Кроме того, в большинстве рассматриваемых Android-приложений обнаружена такая недекларированная возможность, как специальная учетная запись, прописанная непосредственно в исходном коде.
Каршеринг-приложения под iOS обладают большим числом уязвимостей, чем их аналоги под Android. Здесь наилучшие результаты продемонстрировали Carenda, CAR4YOU, EasyRide, Карусель и Lifcar, а в конце списка оказались BelkaCar, RENTMEE и Anytime. Для iOS-версий приложений характерны такие уязвимости, как слабый алгоритм шифрования, использование буфера обмена и небезопасная аутентификация. Почти во всех рассматриваемых приложениях под iOS также детектировано использование незащищенного протокола HTTP и небезопасное хранение конфиденциальных данных.
При подготовке исследования декомпиляция и деобфускация приложений не производилась. Статический анализ осуществлялся в отношении бинарного кода.