Исследователи из Колумбийского университета создали инструмент CRYLOGGER, предназначенный для динамического анализа Android-приложений и обнаружения небезопасных криптографических практик. Они убеждены, что разработали мощный инструмент, который можно использовать наряду с CryptoGuard. Идея состоит в том, что инструменты будут дополнять друг друга, так как CryptoGuard — это статический анализатор (анализирует исходный код перед выполнением), а CRYLOGGER — это инструмент для динамического анализа (анализирует код во время его выполнения).
С помощью CRYLOGGER ученые протестировали 1780 приложений из 33 различных категорий Google Play Store, выбрав наиболее популярные из них за сентябрь и октябрь 2019 года. Инструмент проводил проверку приложений по 26 пунктам, каждый из которых представляет собой одно правило использования криптографии.
В результате команде специалистов удалось выявить ошибки серьезные в 306 приложениях, а самыми распространенными багами стали:
- правило № 18 (1775 приложений): не используйте небезопасный генератор псевдослучайных чисел;
- правило №1 (1764 приложения): не используйте ненадежные хеш-функции (SHA1, MD2, MD5 и так далее)
- правило № 4 (1076 приложений): не используйте режим CBC (в сценариях клиент/сервер).
Исследователи рассказывают, что после обнаружения ошибок они связались с разработчиками всех 306 проблемных приложений, но, к сожалению, это не слишком помогло.
«Все эти приложения популярны: у них от сотен тысяч до 100 000 000 загрузок. К сожалению, лишь 18 разработчиков ответили на наше электронное письмо, и только 8 из них неоднократно отвечали нам, предоставив хорошую обратную связь, относительно наших изысканий», — пишут ученые.
Также стоит отметить, что некоторые ошибки были выявлены не в коде самих приложений, а в коде библиотек Java, использованных разработчиками. Исследователи постарались связаться с авторами шести популярных библиотек, но в этом случае они тоже не слишком преуспели и получили ответы только от двух из них.
Поскольку большинство разработчиков так и не выпустили патчи для своих приложений и библиотек, исследователи решили не публиковать названия уязвимых продуктов, опасаясь возможных попыток эксплуатации и злоупотреблений.