I don't know whether this is true, but it's definitely possible (there are pin-compatible 64 KiB variants of the MCU). If you use the device without verifying the hardware, it's game over. To prevent Evil Maid attacks, that means checking at EVERY use.https://www.reddit.com/r/ledgerwallet/comments/86b7dk/important_to_everyone_who_bought_a_nano_ledger_s/ …
-
Show this thread
-
Replying to @saleemrash1d @spudowiar
I don't actually see any 64KiB pin-compatible variants. The only STM32 part with 64K flash and USB in that package is the STM32F302K6 (or K8), which is a completely different series and CPU (F3/Cortex-M4 instead of C0/Cortex-M0) and has a slightly different pinout.
3 replies 0 retweets 2 likes -
Replying to @marcan42 @spudowiar
I found the STM32L062K8T6 which is much more similar, clocked slightly slower but not enough to matter. But even the F3 should work if you can get around pinout, mostly differs in clock gating & newer GPIO controller (and you're doing a C level port, not binary patching)
1 reply 0 retweets 0 likes -
Replying to @enginetankard @spudowiar
Ah, the low-power series. I was one level too deep into the part picker. The problem with the F3 is the GND pins. F0 uses the exposed pad as GND. If you're lucky either of those F3 GNDs is unused and grounded in the Ledger... but I'd need to look at the PCB.
1 reply 0 retweets 0 likes -
But you're right, at first glance the STM32L062K8T6 would likely work. I'd have to look at the specific peripherals used and layout on the Ledger to make sure there would be no showstoppers. Though you could perhaps mitigate with a proof of work as a benchmark :-)
1 reply 0 retweets 1 like -
Replying to @marcan42 @enginetankard
I think the chip is currently clocked low anyway and I would definitely try clocking it (the existing chip) high to defeat their new timing checks if you were trying to attack 1.4.1.
1 reply 0 retweets 2 likes -
As I mentioned in the write-up, timing checks likely can't win because both the SE and the UART are slower than the MCU.
1 reply 0 retweets 0 likes -
If the SE has a crypto accelerator and the MCU doesn't, you could cook up a benchmark/POW based on that. IO performance is irrelevant for this. I'm not saying it's a good idea (and might be defeated by overclocking/optimization), just that it's possible :-)
1 reply 0 retweets 0 likes -
Replying to @marcan42 @enginetankard
No, I digressed a bit and meant the timing for sending the flash contents over.
1 reply 0 retweets 0 likes
Yeah, I don't think the timing checks do much either. It's just a matter of designing the backdoor well enough to hide any added latency.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.