Le hacker suisse Siguza vient de faire quelques heureux parmi les siens. Il a publié les détails techniques d’une faille qu’il a trouvée en 2017 et qui permet de publier très facilement sur l’AppStore une application iOS capable, entre autres, de siphonner les données personnelles d’un terminal. Une faille qu’il a utilisée de nombreuses fois dans le cadre de ses « projets de recherche » et qui ne lui sera bientôt plus utile, car Apple a découvert le pot aux roses. En effet, la brèche sera colmatée dans la version iOS 13.5 qui sera disponible dans quelques semaines. Mais d’ici là, mieux vaut rester sur ses gardes et ne pas installer n’importe quoi sur son iPhone.
Sur Twitter, cette faille zero-day a soulevé une certaine admiration en raison de son élégante simplicité. Le bug se trouve dans la manière dont les privilèges d’accès des applications iOS sont encodés. Baptisés « entitlements », ces privilèges doivent être déclarés dans un fichier XML du paquet applicatif. Ce fichier est analysé avant publication sur l’AppStore, pour vérifier que l’application n’outrepasse pas les règles de sécurité d’Apple. Par la suite, ce fichier sera analysé par le système iOS sur lequel l’application est installée.
Le problème, c’est que ces différentes phases de lecture n’utilisent pas les mêmes technologies. En utilisant certains caractères dans le fichier XML, il est possible de faire disparaître des privilèges au moment de la première analyse, tout en les préservant pour la seconde. Ce qui permet au final de contourner la vérification de sécurité de l’AppStore.
RIP my very first 0day and absolute best sandbox escape ever:
<key>application-identifier</key>
<string>…</string>
<!—><!–>
<key>platform-application</key>
<true/>
<key>com .apple.private.security.no-container</key>
<true/>
<key>task_for_pid-allow</key>
<true/>
<!– –>— Siguza (@s1guza) April 29, 2020
Certes, cette technique ne donne pas accès aux privilèges root ou kernel du système, mais elle permet par exemple de casser le cloisonnement entre les applications et d’accéder à toutes leurs données. Il suffit pour cela d’utiliser le privilège com.apple.private.security.no-container. Une telle application vérolée pourra donc tranquillement siphonner les e-mails, les messages, les contacts, etc. « La sécurité des données personnelles n’est plus garantie », souligne Siguza dans son document.
C’est la deuxième fois en moins de deux semaines qu’un chercheur en sécurité révèle une faille zero-day dans iOS, autrement dit pour laquelle aucun patch n’est disponible au grand public. Fin avril, en effet, les experts de ZecOps avaient démontré une technique permettant de pirater un iPhone à distance sans aucune intervention de l’utilisateur. Cette succession de failles zero-day dans iOS commence à faire désordre.
Source: Siguza