<p>I emailed them about this:</p>
<blockquote>
<p>As for the possibility to get the seed out of the TREZOR:</p>
<ol>
<li>Official firmware doesn't have any support for exporting the seed</li>
<li>Official firmware is opensource at github and signed by SatoshiLabs so anybody can check that the firmware can't leak the keys. The
signature is checked by the device's bootloader which can't be
changed, because the bootloader fuse is blown on the board after the
board is fleshed with the bootloader.</li>
<li>When anybody wants to flash the device with unofficial bootloader the warning is displayed and user confirmation is needed. During
update with unofficial bootloader (which can have the functionally of
reading the internal device memory) the storage of the device is wiped
first.</li>
</ol>
</blockquote>
<p>They also linked to <a href="http://doc.satoshilabs.com/trezor-faq/threats.html" rel="nofollow noreferrer">this article</a> from their FAQ.</p>
<blockquote>
<h3>Reflashing the TREZOR with evil firmware</h3>
<p>Official TREZOR firmware is signed by the SatoshiLabs master key. Installing unofficial firmware on the TREZOR is possible, but doing so will wipe the device storage and TREZOR will show a warning every time it starts. Reprogramming the bootloader is impossible, because all TREZORs ship with their secure programming fuse blown.</p>
<h3>What happens if the SatoshiLabs servers are hacked and the firmware signing key is stolen?</h3>
<p>First off, this won’t happen ;). The SatoshiLabs master key is kept very safe. However, you don’t need to rely on the SatoshiLabs signature. You can <a href="https://github.com/trezor/trezor-mcu/blob/master/README.rst" rel="nofollow noreferrer">verify the build yourself</a>. Our hope is that a few trusted TREZOR users will make a habit of verifying firmware checksums. If you are concerned about this, we suggest making a habit of checking our blog or social news channels such as reddit before applying any updates. If there ever was a problem with the firmware not matching the source code, you can be sure someone will have written about it.</p>
<p>You don’t need to worry about the firmware being updated by a computer virus. Your TREZOR will ask you to manually confirm the update before anything is written to the TREZOR’s memory.</p>
</blockquote>

CC BY-SA 3.0
2018-03-04T10:27:15.053Z
This link is broken - https://github.com/trezor/trezor-mcu/blob/master/README.rst. Can you please update it with a working link? Thanks @Nick ODell
Ahmadov
CC BY-SA 3.0
2018-04-04T04:43:22.223Z
Given that [v1.6.1 claims to update the bootloader](https://blog.trezor.io/trezor-one-firmware-update-1-6-1-eecd0534ab95) (without wiping the device), it seems that the above info is incorrect. Do they take advantage of the vulnerability to apply their fix?
Jonathan Cross
CC BY-SA 3.0
2014-11-17T20:01:15.077Z
2014-11-18T15:55:53.900Z
2020-06-16T11:10:03.350Z
Nick ODell
<p>You actually can't update <em>all</em> the firmware. In particular, the portion of the firmware that implements the security logic cannot be modified, it's burned in for good.</p>

<p>If you want to take full control over a Trezor, which would even let you load malware onto it, you can. However, the internal security logic would still wipe all the data in the unit when you did and display a warning each time the unit was started. So you can't use the firmware update path to steal secrets, nor can you trick someone into using a modified Trezor, so long as they watch the startup.</p>

<p>Assuming all this is implemented correctly and has no bugs or defects, that leaves only the possibility of malicious firmware signed by the manufacturer so that it would be accepted by the security firmware without tripping the safeguards. So to some extent, you have to trust the manufacturer. However, if they ever signed "evil firmware", and that firmware got out, their reputation would be ruined.</p>

CC BY-SA 3.0
2014-11-16T17:52:23.090Z
2014-11-17T03:56:48.907Z
2014-11-17T03:56:48.907Z
David Schwartz
<p>I understood from <a href="https://bitcoin.stackexchange.com/questions/31983/what-is-it-about-a-trezor-that-means-it-cant-be-infected-by-malware">What is it about a Trezor that means it can't be infected by malware?</a> that a Trezor would only interpret data as transaction details, but the Trezor also <a href="http://satoshilabs.com/news/2014-08-01-trezor-firmware-1-2-1-released/" rel="nofollow noreferrer">updates firmwar</a>e.  How is it that an attacker can't hack the firmware update to somehow install malware? </p>

<wallet-security><trezor>
How can Trezor update firmware but never receive malware?
oks
# How can Trezor update firmware but never receive malware?

(Asked by: username_0 on 2014-11-16)

I understood from [What is it about a Trezor that means it can't be infected by malware?](https://bitcoin.stackexchange.com/questions/31983/what-is-it-about-a-trezor-that-means-it-cant-be-infected-by-malware) that a Trezor would only interpret data as transaction details, but the Trezor also [updates firmwar](http://satoshilabs.com/news/2014-08-01-trezor-firmware-1-2-1-released/)e. How is it that an attacker can't hack the firmware update to somehow install malware?

**Tags:** wallet-security, trezor


---

## 2 answers

### Answer by username_4 on 2014-11-16. Score: 14 | Accepted answer

You actually can't update *all* the firmware. In particular, the portion of the firmware that implements the security logic cannot be modified, it's burned in for good.

If you want to take full control over a Trezor, which would even let you load malware onto it, you can. However, the internal security logic would still wipe all the data in the unit when you did and display a warning each time the unit was started. So you can't use the firmware update path to steal secrets, nor can you trick someone into using a modified Trezor, so long as they watch the startup.

Assuming all this is implemented correctly and has no bugs or defects, that leaves only the possibility of malicious firmware signed by the manufacturer so that it would be accepted by the security firmware without tripping the safeguards. So to some extent, you have to trust the manufacturer. However, if they ever signed "evil firmware", and that firmware got out, their reputation would be ruined.


---

### Answer by username_1 on 2014-11-17. Score: 6

I emailed them about this:

> As for the possibility to get the seed out of the TREZOR:
>
> 1. Official firmware doesn't have any support for exporting the seed
> 2. Official firmware is opensource at github and signed by SatoshiLabs so anybody can check that the firmware can't leak the keys. The
>    signature is checked by the device's bootloader which can't be
>    changed, because the bootloader fuse is blown on the board after the
>    board is fleshed with the bootloader.
> 3. When anybody wants to flash the device with unofficial bootloader the warning is displayed and user confirmation is needed. During
>    update with unofficial bootloader (which can have the functionally of
>    reading the internal device memory) the storage of the device is wiped
>    first.

They also linked to [this article](http://doc.satoshilabs.com/trezor-faq/threats.html) from their FAQ.

> ### Reflashing the TREZOR with evil firmware
>
> Official TREZOR firmware is signed by the SatoshiLabs master key. Installing unofficial firmware on the TREZOR is possible, but doing so will wipe the device storage and TREZOR will show a warning every time it starts. Reprogramming the bootloader is impossible, because all TREZORs ship with their secure programming fuse blown.
>
> ### What happens if the SatoshiLabs servers are hacked and the firmware signing key is stolen?
>
> First off, this won’t happen ;). The SatoshiLabs master key is kept very safe. However, you don’t need to rely on the SatoshiLabs signature. You can [verify the build yourself](https://github.com/trezor/trezor-mcu/blob/master/README.rst). Our hope is that a few trusted TREZOR users will make a habit of verifying firmware checksums. If you are concerned about this, we suggest making a habit of checking our blog or social news channels such as reddit before applying any updates. If there ever was a problem with the firmware not matching the source code, you can be sure someone will have written about it.
>
> You don’t need to worry about the firmware being updated by a computer virus. Your TREZOR will ask you to manually confirm the update before anything is written to the TREZOR’s memory.

> **Comments:**
> **username_2**: This link is broken - https://github.com/trezor/trezor-mcu/blob/master/README.rst. Can you please update it with a working link? Thanks @username_1  
> **username_3**: Given that [v1.6.1 claims to update the bootloader](https://blog.trezor.io/trezor-one-firmware-update-1-6-1-eecd0534ab95) (without wiping the device), it seems that the above info is incorrect. Do they take advantage of the vulnerability to apply their fix?  

---

