Ledger releases new Nano S firmware update
We’re thrilled to release a new firmware update (version 1.5.5) for the Ledger Nano S, which brings new cryptographic algorithms, security improvements and additional features.
New cryptographic algorithms
Ledger aims to provide its users with the most flexible platform, supporting a maximum number of blockchain and cryptocurrency projects. The upgrades included in this update will provide more possibilities for third party developers to bring support for their favorite crypto assets by adding several specific cryptographic algorithms which were previously missing.
We will regularly implement new algorithms in BOLOS and deploy them to all devices through firmware updates. This update will provide the following algorithms:
New hashes
- BLAKE2b: this enables size reduction of projects already using BLAKE2b (ZCash and Komodo following the Sapling update, Nano and others).
- Groestl: this enables the future support of Groestlcoin.
New signatures
- Schnorr with Zilliqa scheme: this enables the future support of Zilliqa.
New derivation schemes
- Bip32-ed25519: this enables the future support of Cardano and new Tezos derivation paths.
Security improvements
The Donjon security team is continuously attacking the Ledger Nano S. This process allows us to improve the security of our devices. Furthermore, we have a bounty program allowing security researchers to be rewarded for their findings. Since the 1.4.2 release, a few vulnerabilities have been reported:
- Ninjalab, who won the 2018 Ledger CTF. After the challenge, the team gave us valuable inputs for improving one of our crypto library functions. Their findings did not directly affect our security model, since this function cannot be triggered without entering the user’s PIN prior to it. They definitely deserved their 2.337 BTC prize for their amazing work.
- The so-called f00dbabe vulnerability has been independently discovered by Juliano Rizzo from Coinspect and T. Roth a few months later. We evaluated it as not exploitable, thus we did not urge for a new update. To our knowledge, no exploitation has been proven since then.
- A critical vulnerability on the Bitcoin app has been reported by Mycelium
Ledger would like to specifically thank Sergey Lappo, a (former) Mycelium software engineer, for his coordinated responsible disclosure, allowing to keep Ledger’s users safe while improving the security of the Nano S.
These independent reports and the Donjon’s work led to significant improvements on BOLOS and cryptolib implementation.
The Donjon security team has been relentlessly attacking the Ledger Nano S and evaluating its software stack. Combined with our responsible disclosure program (credits to Mycelium), this has led to some major improvements in code and architecture.
Here is the non-exhaustive list of security improvements which are included in the firmware version 1.5.5 release:
- Full redesign of the arithmetic architecture
- Improved MCU genuine check to prevent the installation of rogue MCU firmware by software
- PIN code implementation has been improved for better resistance to hardware attacks
- Hardening of the PIN code verification against various hardware and side channel attacks
- BOLOS critical parts refactoring
- Critical security fix on the Bitcoin app
Additional features
WebUSB has been enabled for the dashboard, allowing application management from any compatible browser. In the future this means that applications similar to Ledger Live will be able to install multiple apps at once or reinstall the apps after a firmware update.
Application management has been improved so that free space is recovered when an application is deleted. This solves an issue where it was sometimes necessary to remove all applications to reinstall one.
We recommend all our users to install this latest version to make the most of the improvements it brings.
To update your device, please refer to: https://support.ledger.com/hc/en-us/articles/360002731113
NOTE: The addition of new features may slightly decrease available space for applications.