Проверка приложения Firebase

Опубликовано: 20 Февраля, 2023

Недавно Firebase представила App Check, функцию безопасности, которая защищает от неправомерного использования серверных ресурсов. Это средство убедиться, что именно ваша программа отправляет запросы к внутренним ресурсам (например, к базе данных в реальном времени или облачному хранилищу), а не к какому-то другому неопознанному или вредоносному источнику.

Погружение в безопасность

Запрещая неавторизованным клиентам доступ к вашим внутренним ресурсам, проверка приложений помогает предотвратить злоупотребление вашими ресурсами API. Чтобы защитить ваши ресурсы, он интегрируется с Google Cloud, Firebase и вашими собственными API. При проверке приложений устройства, на которых запущено ваше приложение, будут использовать поставщика аттестации для приложений или устройств, который сертифицирует одно или оба из следующих условий:

  1. Запросы поступают из вашего законного приложения.
  2. Запросы исходят от настоящего, неизмененного гаджета.

Точка использования проверки приложений

Злоумышленник может получить общедоступные учетные данные приложения и получить доступ к некоторым его внутренним ресурсам с помощью общедоступных поставщиков BaaS, таких как Firebase. Если вы надлежащим образом реализовали аутентификацию пользователей и правила безопасности Firebase для своего приложения, ваши пользователи и их данные должны быть защищены от таких атак. Однако это не мешает злоумышленнику заполнять серверные ресурсы фиктивными запросами, пытаясь использовать ваши серверные ресурсы или заставить вас платить за необоснованные платежи. К каждому запросу, который ваше приложение отправляет к указанным вами API, прилагается эта аттестация. Запросы от клиентов без действительной аттестации, а также запросы, поступающие из приложений или платформ, которые вы не авторизовали, будут отклонены, когда вы включите принудительную проверку приложений.

Так как же именно работает эта система?

Чтобы получить аттестацию своей действительности, приложение с поддержкой проверки приложений сначала связывается с поставщиком аттестации для конкретной платформы. Следующие поставщики аттестации в настоящее время поддерживаются Firebase по умолчанию:

  • Приложение SafetyNet для Android
  • Аттестация приложения для iOS
  • reCAPTCHA v3 для веб-верификации

Хотя это может показаться большим, использование Firebase App Check в качестве разработчика не требует много работы. Бэкэнд-сервисы и SDK Firebase выполняют множество трудоемких задач. В большинстве случаев все, что вам нужно сделать, это изменить небольшую часть кода вашего приложения и внести несколько изменений в конфигурацию в консоли Firebase.

После нажатия «Регистрация» поддержка reCaptcha в приложении Android. Приведенный ниже шорткод можно использовать для поддержания целостности этого классного нового устройства в вашей системе, это легко и удобно!

Java




const { initializeGfgChecker, ReCaptchaV3Provider } = require("firebase/gfgGfgChecker");
      
const gfgChecker = initializeGfgChecker(app, {
      provider: new ReCaptchaV3Provider(siteKey),
      isTokenAutoRefreshEnabled: true
    });

Таким образом, ваше Android-приложение готово к работе с последней проверкой приложений и использованию всех функций!

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

App Check основывает свое определение легитимности приложения или устройства на надежности его поставщиков аттестации. Он останавливает некоторые векторы злоупотреблений, направленные на ваши серверные части, но не все. Другими словами, проверка приложений не заменяет требования проверки подлинности пользователя и безопасности. Вместо этого он добавляет новый уровень безопасности приложений к существующим инструментам и процедурам безопасности Firebase. Хотя использование App Check не гарантирует, что каждое злоупотребление будет остановлено, интеграция с ним является важным шагом на пути к защите ваших серверных ресурсов от эксплуатации.

Вывод

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