Comment contourner le prochain plantage causé par le SDK de Facebook

Stéphane Moussie |

Waze, Spotify, PUBG, Tinder, Pinterest, Le Bon Coin… Toutes ces apps ont planté durant deux heures environ aujourd'hui à cause d'un bug d'un composant Facebook qu'elles intègrent. Ce n'est pas la première fois que cela arrive ; en mai déjà ce composant avait fait planter les mêmes apps pendant quelques heures. L'épisode était passé un peu inaperçu en France, car il s'était déroulé en pleine nuit.

Ce plantage est particulièrement embarrassant pour plusieurs raisons. D'une part, il touche de nombreuses apps et les rend complètement inopérantes. D'autre part, même si vous vous tenez à l'écart de l'écosystème Facebook, vous êtes affecté. Ce n'est pas la peine d'avoir l'application Facebook installée sur votre iPhone ni de vous être connecté avec Facebook Login pour essuyer des plantages, le bug est interne aux applications tierces.

Que s'est-il passé à ces deux reprises ? C'est le dysfonctionnement d'un composant mis à disposition par Facebook (un SDK) qui a entraîné le chaos. Ce SDK est utilisé par de nombreuses applications tierces pour différentes choses : permettre aux utilisateurs de se connecter avec leur compte Facebook, avoir des statistiques d'utilisation ou bien encore insérer des publicités.

Ce SDK envoie des données vers les serveurs de Facebook et en reçoit en retour. Au lancement de l'app tierce, le SDK s'attend à recevoir un certain type de données. Le problème, c'est que, pour une raison ou une autre, quand le serveur envoie des données d'un autre type, le SDK ne sait pas les interpréter, ce qui entraîne une erreur et fait planter l'application au démarrage. Ce problème venant du serveur, Facebook a pu le corriger à distance (sans que les utilisateurs aient à mettre à jour leurs applications) et relativement rapidement.

Si d'aventure ce problème devait se produire à nouveau, n'y a-t-il rien que l'on puisse faire en attendant le correctif de Facebook ? Si. La solution la plus simple, c'est d'activer le mode avion. En coupant la connexion internet, on empêche le SDK de communiquer avec le serveur, et les applications peuvent donc se lancer sans problème. Évidemment, ce n'est pas une solution adaptée à beaucoup d'applications : il faudra vous contenter de vos playlists en local pour Spotify…

Des utilisateurs disent avoir trouvé une astuce pour Waze : killer Waze (l'éjecter de la vue multitâche) ; activer le mode avion ; lancer Waze et attendre une quinzaine de secondes ; puis désactiver le mode avion. Apparemment, Waze ne plante pas en opérant ainsi.

Il y a une autre solution qui demande plus de manipulations, mais qui est plus pérenne : bloquer les connexions de Facebook. Pour cela, il faut utiliser un pare-feu orienté protection de la vie privée. Il en existe plusieurs sur l'App Store, comme Lockdown Apps.

Après l'installation, touchez le bouton « Firewall » en haut de l'app, autorisez l'ajout d'une configuration VPN et validez cet ajout en saisissant le code de votre terminal. Lockdown apparaît comme un VPN, mais il filtre en fait toutes les requêtes en local, il n'agit pas comme un VPN classique qui fait passer la connexion par un tunnel (sauf si vous activez sa seconde fonctionnalité).

Sur la capture de droite, on remarque les requêtes Facebook bloquées par Lockdown.

Ensuite, sélectionnez « Skip Trial » si vous ne voulez pas de l'abonnement, et le tour est joué. En bloquant les requêtes de Facebook, Lockdown empêchera les applications tierces de planter si le SDK se remet à faire des siennes.

Source
Tags
avatar iVador | 

C’est une honte que Facebook soit au centre de tant d’applications !

avatar raoolito | 

"Ce SDK envoie des données vers les serveurs de Facebook et en reçoit en retour."
donc si j'utilise Waze, je donne des infos à google ET à facebook ?
si c pas miraculeux...

avatar xDave | 

@raoolito

🤗 donnez-moi vos datas

avatar DrStax | 

@raoolito

Je pense que si tu n’utilise pas le « Login withFacebook », les donnes se limite à des données purement fonctionnel comme sur n’importe quel autres contact avec un serveurs.

avatar SebAshtian | 

Je pense qu’Apple risque de réagir un de ces quatre matins... Nous donner plus de contrôle pour éventuellement avoir la possibilité de bloquer les plugins/sdk/ping home de notre choix. Petit à petit...

avatar bidibout | 

@SebAshtian

Ce serait la moindre des choses en effet, après tout c'est bien eux qui ont laissé faire.

avatar iGas | 

@bidibout

Il ne faut pas tout confondre. C’est pas à Apple de contrôler cela mais à la CNIL en France, pour faire respecter le RGPD. Que ce soit les sociétés qui se mettent à contrôler et imposer leurs règles est dangereux !

Dans la plupart des apps aujourd’hui vous pouvez contrôler et accepter ou non quel SDK (ou type d’SDK peut vous tracké). Ou à défaut, refuser les publicités personnalisés, ce qui doit couper les SDK de collecte d’IDFA il me semble.

Comme l’ont dit certains ici, le SDK de Facebook dans Waze doit être utilisé uniquement pour le Facebook connect.
En tout cas ça m’étonnerait que Waze (propriété de Google) accepte de se faire siphonner sa donnée par Facebook. Mais bon vous donnez tout à Google, ça c’est clair ! Mais comme partout.

avatar jb18v | 

D’un autre côté les développeurs ne veulent pas réinventer la roue à chaque fois et utilisent différents frameworks. Mais c’est rageant de voir qu’une appli qui n’a rien à voir avec FB contient pourtant des bouts de code lui envoyant des données.

Merci pour les astuces, à garder sous le coude

avatar Ali Baba | 

@jb18v

Il ne s’agit pas de réinventer la roue ici. Il s’agit de se connecter à Facebook.

avatar LoossSS | 

Non. C'est pour ne pas avoir à redévelopper soi-même tout un framework de gestion des connexions, de statistiques d'utilisation de ton appli etc. Les développeurs utilisent le sdk Facebook pour ne pas réinventer la roue il a raison.

avatar Krysten2001 | 

Lockdown est une super app ^^ je l’ai depuis longtemps et j’ai bloqué 503000 trackers 😎

avatar ecatomb | 

@Krysten2001

Faut-il s'inscrire et prendre un abonnement ? Est-elle utile face à 1Blocker (qui bloque des trackeurs dans safari) ?

avatar Krysten2001 | 

@ecatomb

Aucun abonnement 😉, tout se fait en local et je n’ai plus du tout de pubs,... sur safari.

avatar ecatomb | 

@Krysten2001

Merci

avatar gwen | 

@Krysten2001

Ça ne marche qu’avec Safari et non globalement pour l’iPhone  ?

Si je comprend bien. Pour que ça marche partout il,faut obligatoirement l’option (payante) VPN  ?

avatar Krysten2001 | 

@gwen

Non ça marche pour les deux 😉 Safari et l’iPhone. Pas besoin du VPN

avatar gwen | 

@Krysten2001

Super merci. Je vais tester alors.

avatar Azurea | 

@iVador
Je cautionne tout à fait ton avis !

avatar Spinaker | 

Dans le genre VPN local, j’utilise AdGuard Pro qui est très efficace et s’utilise dans Safari également.

avatar TiTwo102 | 

Exact. Je n’ai pas eu le temps de tester, mais AdGuard a des filtres de confidentialité qui fonctionnent avec un VPN local, comme Lockdown. Possible que ça puisse éviter le plantage des apps utilisant le SDK Facebook.

avatar GtnDns | 

Alors je ne sais pas si le problème est résolu mais aucune des applications ne rencontrent de problème sur mon iphone

avatar Stéphane Moussie | 
@GtnDns : c'est résolu depuis 15h environ.
avatar GtnDns | 

@stephmouss

👍👍 Ceci explique cela !

avatar nico83 | 

pb terminé 👍👍

avatar Oliviou | 

Question : est-ce que cette solution annule la possibilité d’utiliser d’autres VPN ?

avatar Ded77 | 

Depuis le crash de mois de mai, j’ai viré le SDK de l’app, et l’ai remplacé par une connexion OAuth classique avec ASWebAuthenticationSession.

Le crash d’aujourd’hui m’a fait sourire 😊

avatar Filou53 | 

@Ded77
Tu aurais un lien qui explique un peu cela ?
Merci d'avance...

avatar Filou53 | 

Merci...
Je vais essayer de comprendre maintenant ;-)

avatar DrStax | 

Personnellement j’utilise Cybersec de NordVPN et c’est assez efficace apparement car depuis je ne peux même plus accéder à la page web de Facebook ^^ Après j’ai pas chercher à savoir si c’était vraiment Cybersec qui était en cause mais au final ça m’arrange donc je laisse comme ça.

avatar Krysten2001 | 

@DrStax

Pareil et j’ai rajouté lockdown ^^

avatar nicolaspatate | 

Un bon petit Pihole et c’est résolu

avatar harzack86 | 

@nicolaspatate

Ca marche quand on est à la maison, et ça pose d'autres soucis (j'ai supprimé le mien, car je ne pouvais plus accéder à mon propre serveur Plex...). Dès que tu es sorti de la maison (Waze?) tu ne peux pas emporter ton Pihole avec toi ou je me trompe?

avatar bibi81 | 

Dès que tu es sorti de la maison (Waze?) tu ne peux pas emporter ton Pihole avec toi ou je me trompe?

VPN ;)

avatar Rajindael | 
avatar arnaaud57 | 

Je suis d’accord c’est abusé que juste a cause de fb plusieurs app ne marchent plus. J’ai cru que c’était mon iphone qui bugait 😒

avatar YetiJS93 | 

Adblock, de Futurmind, est top aussi!
Il fonctionne de la même façon, et c’est redoublement efficace... je l’ai depuis un paquet d’années, avant même l’apparition des bloqueurs de contenus safari.

On trouve des packages de règles, prêtes à se faire importer dans l’app, sur github. Ça ne laisse pas passer grand chose...

avatar spockyss | 

Tout cela n’est pas clair. J’ai eu le problème avec Waze. Je ne me connecte pas avec un compte Facebook. Je n’ai pas Facebook installé sur le téléphone. Curieux de savoir ce que font dans ce cas les appels Waze vers Facebook ????

avatar harzack86 | 

Un futur article comparatif de macg sur les apps qui peuvent faire office de firewall (comme little snitch sur Mac ?) serait super. Surtout si il existe des solutions sans abonnement...

avatar Cisco | 

Dingue quand même d'avoir un SPOF lié au SDK de FB, il doit être possible de faire de la dégradation graçieuse et ne pas utiliser la fonctionnalité "Login with FB" si le SDK renvoie une erreur (et/ou bien indiquer à ceux déjà connectés avec FB que la fonctionnalité est temporairement KO), sans pour autant pénaliser l'ensemble de l'utilisation de son application.

avatar bertrand_034 | 

Je suis entièrement d’accord avec toi @Cisco !!! Surtout qu’en lisant les commentaires du précédent problème il existe d’autres solutions pour faire le login Facebook, mais elle est plus coûteuse en temps. Je le comprend un peu pour les petits développeurs, mais les gros comme cela non ! Un SPOF aussi gros !!!

avatar stef157 | 

Merci pour cet article et la découverte de cette application qu'est "Lockdown".

avatar Alpy74CH | 

Comme je ne ‘link’ jamais mes appli à FB donc mes appli Waze et autres fonctionnent toujours. CQFD

avatar Cactaceae | 

@Alpy74CH

Ça n’a rien à voir. Qu’on utilise ou pas login with FB les apps sont affectées. Vous n’avez pas le problème car il est résolu depuis.

avatar Kenny31i | 

@Alpy74CH

Si tu avais lu l’article tu n’aurais pas écrit cette sottise et nous aurais au passage épargné de ta condescendance 🙂

avatar YetiJS93 | 

Je viens d’essayer Lockdown.
Ça a l’air de bien fonctionner aussi ( j’utilise Adblock d’habitude, il est payant ).

Lockdown est gratuit...vous connaissez l’adage... ne faut il pas se méfier un peu? Savez-vous quel est leur modèle économique ?

avatar bidibout | 

@YetiJS93

Très bonne question 👍🏻

avatar Krysten2001 | 

@YetiJS93

Tout est fait sur l’appareil c’est dit au début de l’application 😉 ils ont un service VPN payant et il me semble qu’ils ont des levés de fond où je ne sais plus quoi

avatar YetiJS93 | 

Oui, je suis d’accord.
Mais ils demandent quand même une adresse mail, par exemple...

avatar Krysten2001 | 

@YetiJS93

Non pas forcément

Pages

CONNEXION UTILISATEUR