Page 1 of 1

L'OS 3.2.4.1237 s'attaque à nLaunch, Linux et Ndless!!

Unread postPosted: 14 Jun 2013, 08:31
by critor
Version française, English version

Il n'est pas encore disponible sur le site de Texas Instruments, mais les dernières TI-Nspire CX fabriquées viennent avec un nouvel OS, le 3.2.4.1237 (source).

Les OS TI incluent une "protection anti-downgrade": une version minimale d'OS installable qu'ils inscrivent en mémoire NAND entre le Boot2 et le Diags, une zone inaccessible aux différentes procédures de réinitialisation officielles.
Lors de son installation, l'OS 3.1.0.392 augmente cette version minimale à 3.0.2.1785, si le numéro était inférieur.
De même, les OS 3.2.0/3.2.2/3.2.3 l'augmentent à 3.1.0.392.

Il devient officiellement impossible de réinstaller un OS de version antérieure au numéro programmé.
En pratique, c'était possible via 2 méthodes:
  • en utilisant un utilitaire Ndless reprogrammant lui-même ce numéro de version
  • en utilisant le lanceur d'OS nLaunch qui installe et lance les OS en ignorant complètement ce numéro

Selon un signalement sur notre site ce matin, il semble que l'OS 3.2.4.1237 augmente énormément le numéro de version minimale installable... à une valeur qui refuse désormais l'installation de tout OS antérieur à ce jour, y compris les OS 3.1, 3.2.0 ou même 3.2.3! :~o

En conséquence, si votre nouvelle TI-Nspire vient avec l'OS 3.2.4 ou si vous mettez à jour votre calculatrice avec cet OS, il devient officiellement impossible pour vous d'utiliser Ndless car nécessitant l'OS 3.1, et ce à quelques jours des examens. :mj:

Si en prime, les bugs du moteur de calcul formel CAS introduits avec l'OS 3.2 et non présents sur l'OS 3.1 comme par exemple les quotients de racines n'ont pas été corrigés, l'interdiction de revenir à une version dont le CAS fonctionnait mieux est tout bonnement incompréhensible du point de vue des utilisateurs, encore une fois à quelques jours des examens.
Image




Mais demeure-t-il toujours possible de passer outre la protection anti-downgrade avec nLaunch?

L'OS 3.2.4 contient en prime une nouvelle version du Boot2: 3.2.4.4 contre 3.1.0.16 depuis l'OS 3.1.0.392.

nLaunch exploitait une faille du Boot2 3.1.0.16, et on peut parier, je pense, qu'elle a été corrigée.

En conséquence il devient également officiellement impossible d'utiliser nLaunch et nombre de ses applications légitimes comme:

On peut supposer en fait que cet OS 3.2.4.1237 est une réponse à l'utilisation récente de calculatrices TI-Nspire CX lançant des OS TI-Nspire CX CAS aux examens portugais qui interdisent le CAS, possibilité que permet nLaunch même si cela n'a jamais été le but des auteurs (non mentionnée au ReadMe) et que nous ne mettons d'ailleurs pas en avant sur notre site.

Le seul contournement envisageable et non testé à ce jour serait le reprogrammation du Boot2 3.1.0.16 via un adaptateur TTL/USB (dit RS232) à connecter sur le Dock des TI-Nspire:
31




Nous vous conseillons donc surtout de ne pas mettre à jour votre calculatrice si jamais l'OS 3.2.4 apparaissait dans les jours qui viennent.

Et si vous avez déjà une TI-Nspire CX avec l'OS 3.2.4, à ce jour vous ne devez surtout pas l'effacer. En effet, comme il n'est pas disponible sur le site de TI et comme tous les OS existants sont refusés, vous vous retrouverez avec une calculatrice sans OS, et par conséquent inutilisable! Encore une fois, à quelques jours des examens, ce n'est pas très malin... :mj:
It is not available yet on Texas Instruments' website, but the latest TI-Nspire CX made ​​come with a new OS, the 3.2.4.1237 (source).

The TI-OSes include an "anti-downgrade" protection, a minimal installable OS version that they write in the NAND memory between the Boot2 and the Diags, an inaccessible area to different official reset procedures.

When installing, the OS 3.1.0.392 increases this minimum version to 3.0.2.1785 if the number was lower.
Similarly, the OSes 3.2.0/3.2.2/3.2.3 increase it to 3.1.0.392.

It officially becomes impossible to reinstall an OS version prior to the programmed number.
In practice, it was possible via two methods:
  • using a Ndless utility reprogramming itself this version number
  • using the nLaunch OS-pitcher who installs and launches the OS completely ignoring that version number

According to a report this morning on our site, it seems that the OS 3.2.4.1237 greatly increases the minimum number of installable version that ... to a value which now refuses to install any previous OS to date, including OS 3.1, 3.2.0 or even 3.2.3! :~o

Therefore, if your new TI-Nspire comes with OS 3.2.4 or if you update your calculator with this OS, it officially becomes impossible for you to use Ndless because requiring the OS 3.1 and this just a few days of the exams. :mj:

The added bonus, the CAS-engine bugs introduced with OS 3.2 and not present on the OS 3.1 such as roots quotients are still here, and the prohibition to return to a version with CAS that worked better is simply incomprehensible from the point of view of users, even just a few days of the exams.
Image


But does it remains always possible to override the anti-downgrade protection with nLaunch?

The OS 3.2.4 contains as added bonus a new version of the boot2: 3.2.4.4 against 3.1.0.16 since the OS 3.1.0.392.

nLaunch exploited a flaw in the boot2 3.1.0.16, and you can bet, I think, that it has been corrected.

Therefore it also becomes officially impossible to use nLaunch and number of legitimate applications like:
  • make cohabit the OS 3.1 and 3.2 on the same calculator to enjoy the best of both worlds with both Ndless programs (3.1) and Lua programs (3.2)
  • Launch a Linux OS

It can be assumed that this OS 3.2.4.1237 is a response to the recent use of TI-Nspire CX launching TI-Nspire CX CAS OSes to the Portuguese exams that prohibit CAS, possibility that allows nLaunch although this has never been the goal of the authors (not mentioned in the ReadMe) and that we do not also put forward on our site.

The only feasible and untested bypass to date would be the reprogramming of the boot2 3.1.0.16 via a TTL / USB adapter (called RS232) to connect to the Dock of the TI-Nspire:
31


So we especially recommend you to not update your calculator to OS 3.2.4, if ever it appeared in the coming days.

And if you already have a TI-Nspire CX with OS 3.2.4, to date you must certainly not erase it. Indeed, as it is not available on TI's website and as all existing OS are rejected, you will find yourself with a calculator without any OS usable! Again, a few days of the exams, it is not very smart ... :mj:

Re: L'OS 3.2.4.1237 s'attaque à nLaunch, Linux et Ndless!!

Unread postPosted: 14 Jun 2013, 11:59
by le solutionneur
Faudrait encrypter + obfusquer la faille la prochaine fois au lieu de le laisser en forme claire de façon à ce que TI puisse la régler juste en utilisant la décompilation automatique de IDA PRO...

Re: L'OS 3.2.4.1237 s'attaque à nLaunch, Linux et Ndless!!

Unread postPosted: 14 Jun 2013, 15:25
by Excale
Temps passé par TI à comprendre la faille si la nLaunch Team avait publié un binaire crypté et sans sources: 1H? 2H peut-être?

Par contre, je peux te parier que nLaunch CX ne serait jamais sorti, puisque le nLaunch CX Guy aurait du tout réécrire en partant de 0 (et d'un binaire crypté).

Re: L'OS 3.2.4.1237 s'attaque à nLaunch, Linux et Ndless!!

Unread postPosted: 14 Jun 2013, 19:34
by Lionel Debroux
D'accord avec Excale sur les deux points. L'obfuscation prend du temps de développement, a ses limites (trivialement, il n'existe aucun obfuscator parfait, sinon il est inutile), et elle peut emmerder davantage les attaquants que les défenseurs...

Sur TI-68k, l'obfuscation de HW2Patch n'empêchait pas le reverse-engineering par quelqu'un qui connaissait un peu l'assembleur 68000. HW3Patch, par d'autres auteurs, n'est quasiment pas obfuscated.