How the Nintendo Switch prevents downgrades by irreparably blowing its own fuses
好的,我现在需要帮用户总结这篇文章的内容。用户的要求是用中文,控制在100字以内,不需要特定的开头,直接描述文章内容。 首先,我得通读整篇文章,理解其主要观点。文章讨论的是任天堂Switch如何通过硬件熔断机制防止固件降级。每次更新时,设备会永久修改熔丝,阻止用户回滚到旧版本固件。这种方法虽然不是首创,但Switch的做法更为激进。文章还提到破解方法和绕过机制的出现,以及不同硬件版本的影响。 接下来,我需要提炼这些信息。重点在于Switch的防降级策略、熔丝机制的工作原理、破解的可能性以及不同硬件版本的区别。要确保在100字以内涵盖这些要点。 可能的结构是:先说明Switch采用熔丝机制防止降级,然后提到这种方法不可逆且无法通过软件修复,最后指出破解方法的存在和硬件版本的不同影响。 现在检查一下是否符合要求:控制在100字以内,直接描述内容,没有多余开头。确保语言简洁明了。 最终总结应该是:任天堂Switch通过熔断机制防止固件降级,每次更新永久修改设备以阻止回滚。此方法不可逆且无法软件修复。破解方法如RCM模式可绕过限制,但依赖硬件版本。 </think> 任天堂Switch通过熔断机制防止固件降级,每次更新永久修改设备以阻止回滚。此方法不可逆且无法软件修复。破解方法如RCM模式可绕过限制,但依赖硬件版本。 2020-6-14 20:36:9 Author: blog.jonlu.ca(查看原文) 阅读量:2 收藏

Downgrade prevention has been a cat-and-mouse game between consumers and companies since the inception of remote updates. The Nintendo Switch adopts a worrisome-strategy of preventing firmware downgrades by permanently modifying your device every time it updates. While this isn’t a new concept (the Xbox 360 was doing it back in 2007), it is part of a greater effort to prevent end users from modifying their devices to their liking.

The Nintendo Switch use an Nvidia Tegra X1 SoC, which comes with a fuse driver. This allows it to programmatically blow fuses — permanently modifying the device, making it impossible to revert to a previous state.

Nintendo Switch

How It Works

The boot loader verifies a specific fuse, FUSE_RESERVED_ODM7, to prevent downgrading.1 Each software version expects a different number of fuses to be blown — if more than is expected, it fails to boot, and if less, it’ll blow those fuses and then proceed to boot. Blowing a fuse is irreversible— once it’s been set it can never be undone. It’s theoretically possible to physically modify the SoC and replace the fuses, but it’s so prohibitively invasive and expensive that it’s not a real option.

There are 256 bits in the set of ODM_RESERVED fuses, and there are 8 ODM_RESERVED. This allows for 32 fuses, or 32 future FW versions (provided they burn a fuse on every major release).

Workarounds

In April 2018, the first serious exploit of the Switch BootROM was released. This is not a remotely patchable exploit, which means that all ~15 million devices currently out are vulnerable and will continue to be vulnerable for their lifespans. fail0verflow also released a Linux side loader.

2020 Update

Since this article was originally written (in 2018), the ability to bypass the fuse checks have come out. By setting your console to RCM mode, it allows you to bypass all these checks before the console has already booted. There are patched and unpatched versions of these Switches, which are outlined on the very useful NH Switch Guide site.

What firmware versions are currently hackable?

From the FAQ on NH-Server:

Currently two hardware revisions of the Switch exist. Any Switch bought or manufactured before the middle of 2018 has a bootrom bug that allows us to run code regardless of the firmware version on the Switch. When Nintendo updates the system, however, CFW will usually need an update to account for it. This bug cannot be fixed by Nintendo once the console leaves the factory, unless the console is sent in for repairs. This means that all current and future firmwares will be able to launch CFW through this exploit on the old hardware revision.

Any console purchased after approximately August 2018 is likely to be patched. This includes the latest units on shelves, referred to as 'red box' or 'Mariko'. Mariko is hardware patched, but may come on a vulnerable firmware. Currently the only way to know if your Switch is hackable is by trying to send the payload in RCM. Even with this exploit fixed, many Switches on 8.0.1 and below will be hackable to some degree in the future (see Should I update my Firmware? for much more detailed information). The serial number on the back of the box can possibly tell you which consoles are patched and which aren't. See here for an up to date list.

Note: this is a republish of the article I originally wrote on Medium for Hackernoon

Footnotes

  1. http://switchbrew.org/index.php?title=Fuses#Anti-downgrade


文章来源: https://blog.jonlu.ca/posts/nintendo-switch
如有侵权请联系:admin#unsafe.sh