Why must IoT firmware be upgradable in the field, and what makes that harder than updating a normal computer?
Because vulnerabilities are discovered after deployment and the device will outlive them — but there is usually no screen, no keyboard, no physical access and no reset-and-reinstall path.
The premise is unavoidable: software vulnerabilities are discovered after IoT devices are deployed. A sensor installed in a wall, a meter on a pole or a tracker on a shipping container may run for a decade; no code survives a decade of scrutiny unpatched. So the ability to upgrade firmware in the field is not a convenience feature, it is a survival requirement.
What makes it hard is everything the device does not have:
- Limited or no user interface. Many IoT devices have no display and no input beyond a button, so there is nobody to click "install update" and no way to show an error.
- No physical access. The device may be embedded in a wall, buried, airborne or simply one of fifty thousand. An engineer visit per device is not a plan.
- No reset or reinstall capability. On a PC, a failed update is recoverable by booting from other media. On a device with a single flash image and no console, a failed update is a brick — and a brick in a wall.
So updates must be secure and reliable in a very specific sense: secure, because an update channel is also an attack channel — the ability to push code is the most powerful capability in the system, and it must be authenticated; and reliable, because there is no second chance. The design has to survive interruption, typically by verifying the whole image before committing to it and keeping a recovery path if verification fails.
Tip: the design question to ask of any IoT product is not "can it be updated?" but "what happens if the power fails halfway through the update?" The answer separates products that can be maintained from products that will be abandoned.
Go deeper:
Wikipedia — Over-the-air update — how in-field updates are delivered in practice, including delta encoding and what an interrupted flash write does to the device.