Resoldre una vulnerabilitat de cross app scripting

Aquesta informació va dirigida als desenvolupadors amb aplicacions que contenen la vulnerabilitat de cross app scripting.

Què passa

Com a mínim una de les teves aplicacions conté un problema de cross app scripting per a WebViews, que pot permetre que aplicacions malicioses robin galetes d'usuaris i altres dades.Consulta l'avís a Play Console.Després de les dates límit que es mostren a Play Console, és possible que les aplicacions que presentin vulnerabilitats de seguretat sense solucionar se suprimeixin de Google Play.

Acció necessària​

  1. Inicia la sessió a Play Console i navega per la secció Alertes per consultar quines aplicacions es veuen afectades i les dates límit per resoldre aquests problemes.
  2. Actualitza les aplicacions afectades i soluciona la vulnerabilitat.
  3. Envia les versions actualitzades de les aplicacions afectades.

Durant aquest període de temps, l'aplicació nova o l'actualització tindran l'estat Pendent de publicació fins que no es revisi la sol·licitud. Si l'aplicació no s'ha actualitzat correctament, veuràs l'advertiment.

Detalls addicionals

Les aplicacions malicioses poden fer que les WebViews, que activen JavaScript i carreguen dades llegides a partir d'intents que no són de confiança, executin codi JavaScript en un context no segur. Et recomanem que evitis aquesta vulnerabilitat d'una de les maneres següents:

Opció 1: assegura't que les activitats afectades no s'exportin

Troba totes les activitats amb WebViews afectades. Si no cal que aquestes activitats facin intents des d'altres aplicacions, pots definir android:exported=false per a les activitats al manifest. Això garanteix que les aplicacions malicioses no puguin fer intents nocius a cap WebView d'aquestes activitats.

Opció 2: protegeix les WebViews a les activitats exportades

Si vols establir una activitat amb una WebView afectada com a exportada, et recomanem que facis els canvis següents:

  1. Protegeix les crides a evaluateJavascript i a loadUrl

    Assegura't que els paràmetres d'evaluateJavascript sempre siguin de confiança. Cridar evaluateJavascript fent servir entrades defectuoses d'intents que no són de confiança permet que els atacants executin scripts nocius a la WebView afectada. De manera semblant, cridar loadUrl fent servir entrades defectuoses que contenen URL d'esquema javascript: permet que els atacants executin scripts nocius.

  2. Evita carregar fitxers no segurs

    Assegura't que les WebViews afectades no puguin carregar la base de dades de galetes.Les WebViews que carreguen URL file:// defectuosos a partir d'intents que no són de confiança poden ser atacades per aplicacions malicioses en dos passos. Primer pas: una pàgina web maliciosa pot escriure etiquetes <script> a la base de dades de galetes. Segon pas: aquest fitxer de base de dades de galetes modificat es pot carregar si una aplicació maliciosa envia un intent amb un URL file:// que dirigeix a la teva base de dades de galetes de la WebView o si la mateixa pàgina web maliciosa redirigeix la WebView a l'URL del fitxer. Es carregarà i s'executarà l'etiqueta <script> maliciosa emmagatzemada a la base de dades de galetes, la qual pot robar la informació de la sessió.

    Pots garantir que les WebViews afectades no es carreguin a la base de dades de galetes de la WebView de tres maneres:

    1. Desactiva l'accés a tots els fitxers.
    2. Assegura't que la WebView només carregui URL file:// i verifica que tots els URL file:// carregats dirigeixin a fitxers segurs. Tingues en compte que un atacant pot fer servir un enllaç simbòlic per fer marques de manera enganyosa al camí de l'URL. Per evitar aquest atac, assegura't de comprovar el camí canònic de tots els URL file:// que no siguin de confiança abans de carregar-los, en comptes de limitar-te a comprovar el camí de l'URL.
    3. Si vols permetre tant els URL http:// com els URL file://, implementa la verificació d'URL file:// mitjançantshouldOverrideUrlLoading i shouldInterceptRequest a WebViewClient. Això garanteix que tots els URL carregats a la WebView es verifiquin, i no només els URL que s'han proporcionat directament a una crida de funció loadUrl().

Som aquí per ajudar-te
Si tens cap dubte tècnic sobre la vulnerabilitat, pots publicar les teves preguntes a Stack Overflow amb l'etiqueta "android-security". Per aclarir els passos que has de seguir per resoldre aquest problema, pots contactar amb el nostre equip d'assistència per a desenvolupadors.

false
Menú principal
16198587504315664962
true
Cerca al Centre d'ajuda
true
true
true
true
true
5016068
false
false