Le nouveau système d’exploitation de Samsung est une véritable passoire

FYI.

This story is over 5 years old.

Tech

Le nouveau système d’exploitation de Samsung est une véritable passoire

Un chercheur en sécurité informatique a découvert 40 vulnérabilités Zero day au sein de Tizen, le système d’exploitation conçu par Samsung et embarqué sur des millions de smartphones.

Début mars, WikiLeaks a publié des documents confidentiels montrant que la CIA était susceptible d'espionner des individus par l'intermédiaire de leur téléviseur Samsung. Un plan diabolique, qui souffrait néanmoins d'une petite faille : pour arriver à ses fins, l'agence ne pouvait exploiter que de vieux modèles de téléviseurs, et devait disposer d'un accès physique aux appareils concernés afin de pouvoir y installer un logiciel malveillant via clé USB.

Publicité

Pourtant, la probabilité que des hackers puissent utiliser des failles de sécurité de ce genre est plus importante qu'il n'y parait. Récemment, un chercheur israélien a découvert 40 vulnérabilités Zero day permettant à un individu de pirater à distance des millions de nouveaux téléviseurs intelligents, montres intelligentes et téléphones portables Samsung déjà sur le marché – ainsi que des produits qui sortiront sous peu. Pour cela, nul besoin d'un accès physique aux appareils : ces failles de sécurité affectent un système d'exploitation open-source appelée Tizen, que Samsung installe sur ses appareils depuis quelques années déjà.

Samsung cherche depuis longtemps à réduire sa dépendance à l'égard de Google et Android pour lancer ses smartphones Galaxy, tablettes et autres appareils. Il a ainsi installé Tizen sur quelque 30 millions de téléviseurs intelligents, ainsi que sur ses smartwatches Samsung Gear et smartphones Samsung commercialisés en Russie, en Inde ou au Bangladesh. La société prévoit d'arroser le marché de 10 millions de téléphones Tizen cette année. Samsung a également annoncé que Tizen serait le système d'exploitation de sa nouvelle gamme de machines à laver intelligentes, ainsi que d'une nouvelle gamme de réfrigérateurs.

« C'est le code le plus dégueulasse que j'aie jamais vu. »

Or, le système d'exploitation est criblé de failles de sécurité extrêmement graves qui en font la proie facile de tout pirate un peu malin, selon le chercheur israélien Amihai Neiderman.

Publicité

« C'est le code le plus dégueulasse que j'aie jamais vu », explique-t-il à Motherboard en introduction de la conférence qu'il donnera prochainement au Security Analyst Summit du Kapersky Lab, sur l'île Saint-Martin. « Partout où ils pouvaient se chier, ils ont chié. C'est incroyable. Quiconque possède une compréhension élémentaire de la sécurité informatique n'aurait jamais laisser passer ce code pourri. C'est comme s'ils avaient laissé un collégien programmer leur logiciel. »

Toutes ces vulnérabilités pourraient permettre à des pirates de prendre le contrôle d'un appareil Samsung grâce à l'exécution d'un code arbitraire. Parmi elles, Neiderman a découvert un problème de sécurité particulièrement critique, qui concerne le TizenStore – l'équivalent du Google Play Store pour Samsung. Ce dernier offre des applications et mises à jour logicielles pour les périphériques Tizen. Neiderman explique qu'une faille majeure dans la conception du store lui a permis de pirater le logiciel afin de livrer un code malveillant sur son téléviseur Samsung.

Parce que le TizenStore fonctionne en utilisant des permissions plus élevées qu'une application lambda, il constitue une sorte de Graal pour les hackers.

« Vous pouvez mettre à jour un système Tizen en utilisant n'importe quel code malveillant », ajoute Neiderman.

Bien que le TizenStore n'utilise pas l'authentification pour s'assurer que seuls des logiciels autorisés par Samsung sont installés sur l'appareil, Neiderman a trouvé une vulnérabilité qui emprunte la forme d'un dépassement de tampon qui se produit dans la zone mémoire de l'appareil – donnant le plein contrôle du produit Samsung concerné à l'assaillant sans même que celui-ci ait eu besoin de contourner l'authentification.

Publicité

Bien que les chercheurs aient déjà découvert des problèmes similaires sur des appareils Samsung par le passé, Tizen avait échappé à un examen approfondi de la communauté des chercheurs en sécurité informatique, probablement parce qu'il est encore peu utilisé sur smartphone.

Neiderman, à la tête du département de recherche d'Equus Softare en Israël et spécialiste d'Android, a commencé à analyser le code de Tizen huit mois après l'achat d'un téléviseur Samsung qui embarquait l'OS en question. À ce moment-là, Samsung ne l'utilisait que sur les nouveaux téléviseurs et montres intelligentes, ainsi que sur une gamme limitée de smartphones vendus dans quelques pays.

« Vous pouvez mettre à jour un système Tizen en utilisant n'importe quel code malveillant. »

Les premiers téléphones Tizen ont été vendus en Inde, mais depuis peu, on les trouve en Afrique du Sud, au Népal, dans certaines régions d'Afrique et d'Indonésie. Il semble que Samsung prévoit de vendre prochainement des téléphones Tizen en Amérique latine et au Moyen-Orient, dans certaines régions d'Europe, et éventuellement aux États-Unis. La société envisage d'élargir le catalogue des applications Tizen en offrant 10 000$ aux développeurs qui auront conçu les 100 applications mobiles les plus téléchargées sur le store.

Il n'aura pas fallu longtemps à Neiderman pour remarquer à quel point le code de Tizen était mauvais. Ça l'a poussé à acheter quelques téléphones embarquant Tizen, afin de les tester.

Publicité

Il explique que la plus grande partie du code de l'OS est vieille, et basée sur des projets Samsung obsolètes tels que Bada, un OS pour smartphone abandonné par la marque il y a plusieurs années.

« En gros, ils ont pris tous le code qui leur restait sur les bras et ont essayé de fourrer tout ça dans un OS unique, Tizen », explique Neiderman.

Malgré tout, la plupart des vulnérabilités détectées sont issues d'un nouveau code écrit spécifiquement pour Tizen au cours des deux dernières années. Nombre d'entre elles sont l'équivalent des erreurs que les développeurs faisaient il y a vingt ans – ce qui signifie que Samsung ne dispose pas d'un système de développement de base, et ne tente pas d'instituer les bonnes pratiques nécessaires à la prévention et à la correction de possibles vulnérabilités.

Neiderman illustre ce problème en citant strcpy(), utilisée dans Tizen. « Strcpy() » est une fonction permettant de répliquer les données dans la mémoire. Mais elle comporte un défaut fondamental : elle ne calcule pas l'espace disponible dans la mémoire avant d'écrire les données, ce qui peut générer un bug de dépassement de mémoire tampon exploitable par des hackers potentiels. Un débordement de tampon se produit lorsque l'espace mémoire nécessaire est trop petit pour les données en cours d'écriture – les données sont alors écrites dans les zones adjacentes de la mémoire. Neiderman explique qu'aucun développeur sérieux n'utilise plus cette fonction aujourd'hui, mais que de toute évidence, les développeurs Samsung « l'utilisent partout. »

Publicité

Nedeirman a également constaté que les programmeurs n'avaient pas utilisé le protocole de sécurisation SSL pour garantir une connexion sécurisée lors de la transmission de certaines données. Le SSL était certes utilisé pour certaines transmissions de données, mais pas toutes, et certainement pas celles qui en avaient le plus besoin.

« Quand ils ont déterminé ce qui nécessitait ou non un protocole de chiffrement, ils se sont bien plantés » ajoute l'expert, en précisant « que le fait de garantir la possibilité de naviguer entre des connexions sécurisées et des connexions non sécurisées est absurde, et demande du travail de programmation supplémentaire. » Cela montre que les ingénieurs n'ont pas été négligents, mais qu'ils ont sciemment décidé de ne pas utiliser le SSL sur certaines connexions.

Neiderman a contacté Samsung il y a plusieurs mois pour signaler la liste des vulnérabilités Zero day qu'il avait trouvées. Hélas, il n'a obtenu qu'un e-mail automatique en guise de réponse. Lorsque Motherboard a décidé de contacter la société coréenne, elle a reçu un message standardisé peu loquace : « Samsung Electronics prend la sécurité et la confidentialité des données très au sérieux. Nous vérifions régulièrement nos systèmes. En cas de vulnérabilité critique potentielle, nous agissons rapidement afin de résoudre le problème. »

Après la publication de cet article, la société nous a envoyé un autre message : « Nous sommes bien décidés à coopérer avec M. Neiderman afin de traquer des vulnérabilités potentielles. Grâce à notre programme SmartTV Bug Bounty, nous travaillons en collaboration avec des experts en sécurité informatique dans le monde entier. Nous limitons ainsi les risques au maximum. »

Neiderman nous a expliqué qu'il était entré en contact avec Samsung ces derniers jours, et qu'il avait enfin réussi à susciter l'intérêt de la société. Il explique que Samsung doit cesser immédiatement le déploiement de Tizen en téléphonie mobile, et revoir entièrement son OS.

« Tizen est le plus gros projet de Samsung à l'heure actuelle. Il sera probablement embarqué sur la prochaine génération de Samsung Galaxy, et nous risquons la catastrophe. Tizen n'est pas assez sûr pour devenir un OS de masse. »