Pourquoi le pinning SSL ne suffit pas toujours

Pour rappel, le pinning SSL permet de sécuriser une connexion SSL afin d’éviter les attaques MITM.

Le truc, c’est que ça ne suffit pas pour protéger son code, même si cela évite la très grande majorité des attaques.

Pourquoi ?

Autant mettre ma source, cela ira plus vite : http://fr.slideshare.net/anantshri/ssl-pinning-and-bypasses-android-and-ios

En résumé, l’idée est :

  • sur iOS, de casser la sécurité de l’app chiffrée (via jailbreak, etc) et patcher l’app de sorte à modifier le comportement du SSL pour que tous les appels soient valides
  • sur Android, c’est le même procédé, sauf que l’app n’est pas chiffrée, ce qui simplifie grandement le travail.

Que faire ?

Pour les informations sensibles (mot de passe) : les chiffrer, de sortes à avoir un niveau de protection supplémentaire.

Mais si l’app est crackée, le chiffrage ne sert pas à grand-chose.

Sinon, sur iOS, le mieux est de bloquer – si possible – l’exécution de l’app sur un système jailbreaké.

Sur Android, c’est un peu plus compliqué à sécurisé.

Éventuellement, l’alternative est d’intégrer les appels SSL directement dans son code, via OpenSSL par exemple. Avec le NDK dans Android. Mais cela peut toujours être détourné.

Globalement, le problème vient du système d’exploitation. Il faut surtout espérer qu’une solution soit trouvée de ce côté-là.

En intégrant le pinning SSL directement dans le système d’exploitation, l’ensemble serait sécurisé de manière automatique.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s