J'ai pas mal bidouillé(des trucs qui n'était pas disponible à l'époque, donc tout neuf) niveau logiciel (sur la partie enterternement) de ma voiture japonaise, et le moins de ce que je peux dire c'est que c'est assez "marrant".
Tu sens que c'est fait par X boites différentes, à coup de prestataires. Que les briques logiciels sont assemblés et dès que ça marche ils y touchent plus. La moindre connerie débile, tu peux briquer la board: Genre une page html incorrect fait planter opéra, le watchdog reboot la board, la board en rebootant relance Opéra qui replante ... tout ça pour un code html incorrect? Bien sûr tu as un système de failsafe, qui peut s’enclencher uniquement quand tu fais une procédure de màj du firmware, procédure que tu peux lancer uniquement si Opéra ne plante pas. Les gars sont des génies.
Il y a sur internet des dizaines de threads de gens qui ont se sont retrouvés dans cette situation(en voulant changer la couleur de fond de l'UI), car il n'avait pas installé de vrai failsafe (genre si tu reste appuyer sur un bouton au redémarrage de la board, tu désactives le watchdog, tu tues tout les processus spécifiques et tu lances le wifi en AP). La seul solution est soit de faire passer ça en garantie niveau constructeur (ils se sont vite aperçu qu'il y avait quelque chose qui se passait niveau mondial). Soit tu démontes ton tableau de bord pour aller brancher le UART (avec une chance sur deux de casser quelque chose si tu n'es pas habitué à ce genre de pratique). A 3€ le cache vis de 2cm, je te laisse imaginer le prix de la planche de bord en plastique.
Bien sur tout ça basé sur un Linux (surement construit avec openembedded), ou tu as beau réclamer les sources tu peux toujours courir(tu achètes ta voiture mais tu en ai jamais vraiment propriétaire faut quand même pas abuser).
Rien dessus n'est vraiment protéger: pas d’offuscation des binaires propriétaires, tu as même les symboles de débogage, tu peux lancer ton remote debug et comprendre le fonctionnement sans aucun soucis. J'ai patché un binaire complet (reconstruction d'un binaire ELF, avec ajout de code et patchs pour jump sur le nouveau code), juste pour ajouter le support FLAC au lecteur audio (même si j'écoute rarement de la musique).
Par contre c'est vraiment intéressant de voir comment tout ça fonctionne, et franchement il y a vraiment rien de compliqué (fonctionnement du bus CAN, des différents modules) et que tout repose sur des boites noires. Car une fois que tu sais comment fonctionnent les différentes couches sur le bus CAN(et il y a tellement de vulgarisation sur internet que au début tu te mélanges les pinceaux), tu peux facilement communiquer avec les modules (et même certains modules, tu peux directement dump le firmware, il n'y a aucune protection) mais tu ne sais pas à quoi correspond les différents registres. Mais dès que tu commence à tirer une ficelle tu arrives à débloquer des features de la gamme d'en dessus ou un verrouillage régional (coucou la segmentation du marché) pour le prix d'un bit.
Quand je vois les journaux qui parlent des failles de sécurité des nouvelles voitures, je ne suis même pas étonné.
[^] # Flash
Posté par diorcety . En réponse au journal Vie privée et voitures connectées par Google. Évalué à 10. Dernière modification le 21 septembre 2018 à 11:58.
J'ai pas mal bidouillé(des trucs qui n'était pas disponible à l'époque, donc tout neuf) niveau logiciel (sur la partie enterternement) de ma voiture japonaise, et le moins de ce que je peux dire c'est que c'est assez "marrant".
Tu sens que c'est fait par X boites différentes, à coup de prestataires. Que les briques logiciels sont assemblés et dès que ça marche ils y touchent plus. La moindre connerie débile, tu peux briquer la board: Genre une page html incorrect fait planter opéra, le watchdog reboot la board, la board en rebootant relance Opéra qui replante ... tout ça pour un code html incorrect? Bien sûr tu as un système de failsafe, qui peut s’enclencher uniquement quand tu fais une procédure de màj du firmware, procédure que tu peux lancer uniquement si Opéra ne plante pas. Les gars sont des génies.
Il y a sur internet des dizaines de threads de gens qui ont se sont retrouvés dans cette situation(en voulant changer la couleur de fond de l'UI), car il n'avait pas installé de vrai failsafe (genre si tu reste appuyer sur un bouton au redémarrage de la board, tu désactives le watchdog, tu tues tout les processus spécifiques et tu lances le wifi en AP). La seul solution est soit de faire passer ça en garantie niveau constructeur (ils se sont vite aperçu qu'il y avait quelque chose qui se passait niveau mondial). Soit tu démontes ton tableau de bord pour aller brancher le UART (avec une chance sur deux de casser quelque chose si tu n'es pas habitué à ce genre de pratique). A 3€ le cache vis de 2cm, je te laisse imaginer le prix de la planche de bord en plastique.
Bien sur tout ça basé sur un Linux (surement construit avec openembedded), ou tu as beau réclamer les sources tu peux toujours courir(tu achètes ta voiture mais tu en ai jamais vraiment propriétaire faut quand même pas abuser).
Rien dessus n'est vraiment protéger: pas d’offuscation des binaires propriétaires, tu as même les symboles de débogage, tu peux lancer ton remote debug et comprendre le fonctionnement sans aucun soucis. J'ai patché un binaire complet (reconstruction d'un binaire ELF, avec ajout de code et patchs pour jump sur le nouveau code), juste pour ajouter le support FLAC au lecteur audio (même si j'écoute rarement de la musique).
Par contre c'est vraiment intéressant de voir comment tout ça fonctionne, et franchement il y a vraiment rien de compliqué (fonctionnement du bus CAN, des différents modules) et que tout repose sur des boites noires. Car une fois que tu sais comment fonctionnent les différentes couches sur le bus CAN(et il y a tellement de vulgarisation sur internet que au début tu te mélanges les pinceaux), tu peux facilement communiquer avec les modules (et même certains modules, tu peux directement dump le firmware, il n'y a aucune protection) mais tu ne sais pas à quoi correspond les différents registres. Mais dès que tu commence à tirer une ficelle tu arrives à débloquer des features de la gamme d'en dessus ou un verrouillage régional (coucou la segmentation du marché) pour le prix d'un bit.
Quand je vois les journaux qui parlent des failles de sécurité des nouvelles voitures, je ne suis même pas étonné.