Действия при разкриване на ключове за сървъра на „Съобщения в облака на Firebase“ (FCM)
Тази информация е предназначена за програмисти, чиито приложения съдържат разкрити ключове за сървъра на FCM.
Какво се случва
Едно или повече от приложенията ви съдържат разкрити ключове за сървъра на FCM. Възможно е злонамерен хакер да използва разкритите ключове с цел изпращане на насочени известия до всички потребители на уязвимото ви приложение. Той ще има контрол над съответното съдържание, което може да е най-различно – например обидни съобщения или смущаващи изображения. Моля, прегледайте подробните стъпки по-долу, за да отстраните проблема. Местата в приложението ви, които разкриват ключове за сървъра на FCM, могат да бъдат намерени в известието от Play Console.
Изисква се действие
-
Актуализирайте приложението си и разкритите ключове за FCM, като изпълните посочените по-долу стъпки.
- Ако сте активирали предишната версия на API на FCM за приложението си и не я използвате за изпращане на насочени известия, деактивирайте тази версия.
- В случай че сте активирали предишната версия на API на FCM и я използвате за изпращане на насочени известия, можете да предприемете някоя от следните две стъпки:
- Мигрирайте към версия 1 на API на FCM и деактивирайте предишната (препоръчително).
- Защитете начина, по който използвате предишната версия на API на FCM, като направите следното:
- Ако използвате разкрития ключ само за API на FCM:
- Генерирайте нов ключ, като отворите Firebase Console > Project settings > Cloud Messaging и кликнете върху Add Server Key. Използвайте го, за да изпращате съобщения в FCM от защитения си сървър. Този ключ трябва да бъде използван само от защитения ви сървър и не бива да е включен в кода на клиентската ви програма (напр. приложения или двоични кодове).
- След като започнете да използвате новогенерирания ключ за изпращане на съобщения в FCM, изтрийте разкритите ключове за сървъра от конзолата на GCP. В имейла с известие от Google Play можете да откриете местата в приложението, където има разкрити ключове за сървъра на FCM. В стъпка c. е описано как да получите разкритите ключове от тези места.
- Ако използвате разкрития ключ за други приложни програмни интерфейси, включително API на FCM, направете следното:
- Мигрирайте към версия 1 на API на FCM и деактивирайте предишната.
- За да подсигурите бъдещата употреба на други API, препоръчваме да не използвате разкрития ключ за тях и евентуално да го изтриете от конзолата на GCP.
- Ако използвате разкрития ключ само за API на FCM:
- След като изпълните една от стъпките по-горе, изтрийте от кода на приложението си разкрития ключ за сървъра на FCM. В имейла с известие от Google Play можете да откриете местата в приложението, където има разкрити ключове за сървъра на FCM. За да получите тези ключове, проверете уязвимото място в кода на приложението си. Ключът може да е вграден на съответното място като низ или да се зарежда там от XML ресурсите на приложението ви. Във втория случай разгледайте файла
res/values/strings.xml
, за да получите разкрития ключ. Моля, имайте предвид следното:- Ако изпълните стъпките по-горе, но не изтриете разкритите ключове от приложението си, ще продължите да получавате известия за уязвимост в електронната си поща или в профила си в Google Play Console.
- В случай че изтриете разкритите ключове от приложението си, но не изпълните стъпките по-горе, не отстранявате проблема, тъй като хакерът може да открие ключа в по-стара версия на приложението ви и по този начин да извърши атака.
2. Изпратете актуализирания APK файл.
За да изпратите актуализиран пакет с приложения или APK файл:
- Отворете Play Console.
- Изберете приложението.
- Отворете инструмента за разглеждане на Android App Bundle.
- От падащото меню горе вдясно изберете версията на приложението с неспазващ правилата APK файл/Android App Bundle и запишете в кои версии се среща.
- Отворете канала, в който е проблемът с правилата. Това ще бъде една от следните 4 страници: „Вътрешно тестване“, „Затворено тестване“, „Отворено тестване“ или „Стандартен Канал“.
- Горе вдясно на страницата кликнете върху Създаване на нова версия. (Може да се наложи първо да кликнете върху „Управление на канала“.)
- Ако версията с нарушаващия правилата APK файл е в състояние на чернова, отхвърлете я.
- Добавете спазващите правилата пакети с приложения или APK файлове.
- Уверете се, че пакетите с приложения и APK файловете, които не спазват правилата, са в секцията Невключени на съответната версия. За допълнителни указания разгледайте секцията „Невключени (пакети с приложения и APK файлове)“ в тази помощна статия за Play Console.
- За да запазите промените, които направите във версията си, изберете Запазване.
- Когато приключите с подготвянето на версията си, изберете Преглед на публикуваната версия.
Ако неспазващият правилата APK файл е публикуван в няколко канала, повторете стъпки от 5 до 9 за всеки от тях.
При повторно изпращане приложението ви ще бъде прегледано отново. Този процес може да отнеме няколко часа. Ако приложението премине проверката и бъде публикувано успешно, няма нужда да правите нищо повече. В противен случай новата му версия няма да бъде публикувана и ще получите известие по имейл.
На ваше разположение сме
Ако имате технически въпроси относно уязвимостта, можете да ги публикувате в Stack Overflow и да използвате маркера android-security. За разяснение на стъпките, които трябва да изпълните, за да решите проблема, можете да се свържете с екипа ни за поддръжка за програмисти.