π
<-
Chat plein-écran
[^]

Le trois petits firmwares et le grand mechant Epsilon

Nouveautés, projets, mises à jour.
En ligne

Le trois petits firmwares et le grand mechant Epsilon

Message non lude parisse » 02 Avr 2022, 18:28

Il etait une fois un firmware open-source Epsilon qui fit 3 petits. Les petits grandirent mais cela ne plut pas a son parent. Les petits furent bannis hors des calculatrices des utilisateurs trop confiants par l'installation d'un verrou par le parent. Advient un jour faste ou l'un des petits trouva un moyen d'introduire un fil de fer bien taille dans le verrou et de rentrer a nouveau dans les calculatrices des utilisateurs. Les petits firmwares firent la fete. Mais un seul d'entre eux a ce jour s'est dit qu'il fallait construire une maison en briques pour proteger les utilisateurs sans mefiance du grand mechant Epsilon.

Ce soir, j'ai le plaisir de vous annoncer que la maison en briques est construite : https://www-fourier.univ-grenoble-alpes.fr/~parisse/nws.html

Khi/KhiCAS installe maintenant une protection qui, sauf bug, empeche d'injecter subrepticement un firmware hostile, a la maniere d'une mise a jour de securite, par exemple si on visite un site web avec la calculatrice connectee.
Or actuellement avec Omega c'est possible : Omega empeche l'ecriture en flash interne, mais permet l'ecriture en flash externe d'un firmware (ca ne se voit pas si c'est sur le slot non utilise), ou d'une application externe. Or un firmware ou une application externe peut ecrire en flash interne, et peut donc verrouiller la calculatrice quand on lance ce firmware (au prochain boot sur ce slot) ou cette application externe.
J'ai donc fait un certain nombre de modifications que je vais detailler ci-dessous pour empecher cela. Le source des modifications de Khi par rapport a Omega se trouve dans https://www-fourier.univ-grenoble-alpes.fr/~parisse/numworks/omega2_changes.tgz ou https://www-fourier.univ-grenoble-alpes.fr/~parisse/numworks/khi2_changes.tgz (ce dernier fichier contient d'autres modifs specifiques a Khi).

La 1ere modification concerne le bootloader et n'influe en rien sur la protection mis a part l'affichage d'un avertissement: le bootloader de Khi permet de choisir parmi 3 slots au lieu de 2: les slots 1, 2 et 3, j'ai renomme A en 1, B en 3 (le slot B ou 3 est incompatible avec l'installation de KhiCAS), le slot 2 est specifique a khi. Le nom de slot est le meme que la touche a enfoncer en meme temps que reset pour booter dessus.
Le slot 2 (en 0x90180000) permet de lancer une version tres light de Khi, qui sert uniquement a lancer des applications externes. On peut ainsi lancer KhiCAS, avec un avantage: la memoire disponible passe de 116K a 176K, ce qui devrait permettre dans quelque temps de profiter de 128K de tas dans le MicroPython de KhiCAS. Le slot A est alors disponible pour un autre firmware.

Venons-en a la protection: dans Khi, j'empeche la connexion USB d'ecrire en flash externe en-dessous d'une adresse, pour le moment 0x90700000 (ca correspond au dernier secteur occupe par KhiCAS), cette adresse est definie par un flag de compilation -DDFU_PROTEC=0x90700000. Les modifications correspondantes sont dans le fichier ion/src/device/shared/usb/dfu_interface.cpp (chercher DFU_PROTECT) et dans ion/src/device/shared/usb/stack/device.cpp.
Pour mettre a jour un slot, il devient donc necessaire d'etre dans le bootloader donc de l'activer par reset+4 (ou reset+6 et mode de recuperation), ca ne peut donc pas se faire sans intervention de l'utilisateur. J'espere que Omega et Upsilon suivront cette modification.

La protection des apps externes est plus complexe, car je veux pouvoir conserver la personnalisation de la flash (depuis ma page web ou directement sur la calculatrice). Ce qui laisse la porte ouverte a un binaire installe subrepticement par connexion USB dans les apps externes, cela pourrait etre une taupe de verrouillage. La protection se fait au moyen du calcul du hash sha256 de toute appli binaire susceptible d'avoir ete modifie a son lancement par External. Si le hash ne correspond pas a un hash du firmware, le binaire n'est pas lance.
J'en ai profite pour ajouter au premier lancement de KhiCAS une certification du secteur de boot de la flash interne, ce secteur n'etant plus lisible par USB donc plus certifiable depuis ma pagwe web. Si le hash n'est pas bon, KhiCAS propose de remplacer le bootloader.

Enfin, il fallait rendre le mode examen compatible avec le multi-boot pour eviter de preter le flanc a la critique securitaire. Pour cela, a l'activation/desactivation du mode examen, au lieu de modifier le secteur d'offset 0x1000 uniquement dans le slot actif, je scanne tous les slots potentiels et je reflete les modifs de mode examen du slot actif. J'invite Omega et Upsilon a faire de meme. Les modifications a effectuer sont dans le fichier apps/global_preferences.cpp.

En conclusion, je voudrais dire que mon travail demontre qu'il est parfaitement possible de concilier un mode examen certifie sur une calculatrice open-source. Si Numworks persiste a imposer un verrouillage pour raisons de securite, c'est peut-etre parce qu'ils veulent avoir le controle complet des logiciels installes sur leurs calculatrices, par exemple parce qu'ils ont en projet un modele CAS qui serait vendu plus cher que la N0110.

C'est maintenant a vous utilisateurs de Numworks de faire entendre votre voix. La securite a toujours ete un pretexte pour imposer des restrictions de liberte. Resistez! (Appel lance depuis le Vercors:-))
Avatar de l’utilisateur
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 77.2%
 
Messages: 3502
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Le trois petits firmwares et le grand mechant Epsilon

Message non lude Lionel Debroux » 03 Avr 2022, 09:20

Très intéressant, bon travail :)
Voyons ce qu'Omega et Upsilon vont en faire.

Je ne suis pas sûr qu'il y ait un gros marché pour les calculatrices avec CAS, puisqu'hélas, par idéologie, nombre d'examens réglementés persistent à les interdire, et par conséquent, les cours correspondants continuent à ne pas apprendre aux élèves à se servir d'un CAS et à vérifier la vraisemblance de leurs résultats. Le mépris de la ressemblance avec un truc futile qui s'appelle l'usage dans le monde réel est une maladie, mais c'est ainsi qu'une poignée de décideurs - et certains profs - fonctionnent.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: Le trois petits firmwares et le grand mechant Epsilon

Message non lude critor » 03 Avr 2022, 09:26

Mais c'est le problème d'une évaluation par QCM, non ?
Corrigeable automatiquement à moindre frais, et vers laquelle on pousse fortement.

La disponibilité d'un CAS pour vérifier ses résultats ne me dérange absolument pas, parce que justement je ne me contenterai pas d'un résultat parachuté de je ne sais où.
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.8%
 
Messages: 41470
Images: 14480
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

En ligne

Re: Le trois petits firmwares et le grand mechant Epsilon

Message non lude parisse » 03 Avr 2022, 10:52

Lionel Debroux a écrit:Très intéressant, bon travail :)
Voyons ce qu'Omega et Upsilon vont en faire.

J'espere qu'ils reprendront ces modifications, c'est notre interet commun que personne ne subisse un verrouillage sans avertissement de sa calculatrice.

Je ne suis pas sûr qu'il y ait un gros marché pour les calculatrices avec CAS, puisqu'hélas, par idéologie, nombre d'examens réglementés persistent à les interdire, et par conséquent, les cours correspondants continuent à ne pas apprendre aux élèves à se servir d'un CAS et à vérifier la vraisemblance de leurs résultats. Le mépris de la ressemblance avec un truc futile qui s'appelle l'usage dans le monde réel est une maladie, mais c'est ainsi qu'une poignée de décideurs - et certains profs - fonctionnent.

Il y a quand meme un marche puisque Casio et TI ont leur modele CAS. En France c'est autorise aux examens, et utile au lycee pour les spe maths et maths expertes, c'est aussi utile en prepas et autorise dans certains concours, de plus le calcul formel est enseigne dans certains BTS. Ailleurs en Europe, je ne sais pas trop, je dirais autorise au moins en partie en Espagne, en Allemagne, en Suisse. Aux US, le CAS est autorise au SAT. Il y a quand meme un marche potentiel non negligeable. D'ailleurs en 2000, quand la hp40g est sortie, TI etait manifestement tres inquiet par la concurrence potentielle pour la ti83, et puis hp a abandonne le secteur pendant 5 ans...
Mais c'est tout a fait vrai que certains profs de maths ne veulent pas entendre parler de calcul formel et il y a une symbiose entre ces profs et les constructeurs de calculatrices qui conduit a ce qu'aucun modele de milieu de gamme n'ait de CAS constructeur. Les constructeurs margent (20 a 25% de plus pour le meme modele avec juste le soft qui change chez TI). Les profs anti-CAS sont contents parce que ces modeles sont tres chers, il n'y a qu'un ou deux eleves par classe qui en ont un. Ca fait plus de 20 ans que je me casse les dents sur cette alliance de la carpe et du lapin. Le mode examen est un outil de controle tres utile pour ces gens-la.
Avatar de l’utilisateur
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 77.2%
 
Messages: 3502
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile


Retourner vers Actualités

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 6 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1067 utilisateurs:
>1056 invités
>6 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)