Судя по тому, что Google открыл базу знаний о безопасности Android-приложений, можно сделать вывод, что наша индустрия уделяет все больше внимания вопросам безопасности. Поскольку число пользователей мобильных устройств продолжает расти, а мобильные устройства обрабатывают все больше конфиденциальной информации и операций, становится все более важным защитить как интеллектуальную собственность вашей компании, так и данные ваших пользователей.
Если вы используете последнюю версию Android Studio (Giraffe+), в ней уже есть несколько проверок безопасности, которые помогут вам выявить проблемы безопасности в коде. Эти проверки сопровождаются информативными описаниями и предложениями.
Однако если вы хотите внедрить проверки в линтере в свою кодовую базу как неотъемлемую часть разработки, или если вам нужны самые последние рекомендации и проверки для дальнейшей защиты вашего приложения, вам стоит воспользоваться открытой библиотекой Google Android Security Lints. Эта библиотека предлагает более продвинутые и актуальные проверки, она гарантирует, что ваше приложение защищено от новейших угроз безопасности. Давайте рассмотрим, как интегрировать этот мощный инструмент в рабочий процесс разработки.
Интеграция библиотеки
Использование библиотеки на данный момент требует немного больше усилий, поскольку ее бинарные файлы еще не доступны в Maven (по словам Google, они будут добавлены в ближайшее время). Кроме того, документация не очень удобна для новичков. Здесь мы покажем вам, как интегрировать библиотеку в вашу кодовую базу:
1: Клонируйте репозиторий в нужное место
2: Импортируйте модуль проверок в свою кодовую базу
В Android Studio нажмите File > New > Import Module:
Выберите папку checks
в репозитории библиотеки Security Lint и нажмите `Finish`.
3: Настройте build.gradle
Следуя README репозитория, вам нужно будет добавить модуль checks в build.gradle приложения. И lintVersion внутри секции ext { }:
dependencies { lintChecks project(':checks') }
ext { ... lintVersion = '31.5.1' }
Многомодульные проекты очень распространены в наше время. Вы также должны добавить следующие строки в `build.gradle` вашего приложения в разделе android { }, чтобы проверка lint распространялась на подмодули.
android { ... lint { checkDependencies true } }
Запуск линтера
Поздравляем! Вы успешно интегрировали последнюю версию библиотеки Android Security Lints в свой проект. Чтобы запустить проверку линтера, вы можете использовать следующую команду в терминале:
./gradlew :{app module name}:lint
Вы также можете запустить команду в окне инструмента Gradle. Ниже приведен пример запуска проверки линтера для примера проекта из репозитория с использованием команды :app:lint
:
После выполнения проверки линтера вы можете увидеть ошибки, но не волнуйтесь — найдите HTML-отчет, чтобы понять все ошибки, о которых сообщил линтер.
Откройте отчет, чтобы увидеть количество ошибок и предупреждений в модуле приложения. Если вы увидите сообщение «VulnerableCryptoAlgorithm: Application uses vulnerable cryptography algorithms», это означает, что вы успешно использовали библиотеку Security Lint для обнаружения уязвимостей и вам есть над чем поработать
Заключение
Библиотека Android Security Lints пока еще новичок в сообществе, она была создана менее года назад. Количество детекторов в библиотеке невелико — около дюжины, что недостаточно для обеспечения полноценной безопасности приложений. Однако я уверен, что библиотека будет расти, и в будущем безопасность мобильных приложений станет играть все более важную роль. Мы должны следить за этой библиотекой и рассматривать возможность ее интеграции в наши проекты.
По мере развития библиотеки в нее, вероятно, будут включены более полные проверки и улучшенная документация, что облегчит разработчикам внедрение надежных мер безопасности в приложения для Android.