ASUS delivers BIOS/UEFI auto-updates over HTTP with no verification
Poor security hygiene is by no means unique to Asus&#x27; motherboards&#x27; firmware updates. You can find bad practices in all sorts of embedded systems&#x27; firmware updates. Manual downloads of router firmware are an excellent example of this, and that includes third party OSS firmware such as DD-WRT. The Obihai ATAs will auto-update over HTTP although I have not checked if they do any sort of code signing. I have seen OSS live media that is distributed without PGP signatures, or even HTTPS+checksums. There are plenty of other examples out there.<p>In the case of routers, things are beginning to change because the FCC is requiring that manufacturers prevent users from modifying radio parameters to their satisfaction and the easiest way to do that is to prevent users from using OSS firware:<p><a href="http:&#x2F;&#x2F;hackaday.com&#x2F;2016&#x2F;02&#x2F;26&#x2F;fcc-locks-down-router-firmware&#x2F;" rel="nofollow">http:&#x2F;&#x2F;hackaday.com&#x2F;2016&#x2F;02&#x2F;26&#x2F;fcc-locks-down-router-firmwar...</a><p>In the case of Linksys routers, the router firmware appears to also auto-update and until recent firmware versions, it lacked verification. I do not know if it auto-updates over HTTP. If it does, the ones running older firmware would definitely be vulnerable to the same kind of attack as the Asus motherboards.<p>I recently purchased a Linksys EA8500-RB to use as an access point and wanted to flash OSS firmware that I built myself for a reasonable level of confidence in its trustworthiness. It turned out that DD-WRT is the only third party project that supports it at this time. There is no documentation on how to get the precise sources used by the ddwrt developer to build the images he distributes and those downloading them are vulnerable to MITM attacks from the absence of HTTPS+checksums and&#x2F;or PGP signatures:<p><a href="http:&#x2F;&#x2F;desipro.de&#x2F;ddwrt&#x2F;K3-AC-IPQ806X&#x2F;" rel="nofollow">http:&#x2F;&#x2F;desipro.de&#x2F;ddwrt&#x2F;K3-AC-IPQ806X&#x2F;</a><p>The DD-WRT project does have a subversion repository that could be used, but anyone doing a checkout are vulnerable to a MITM attack due to the absence of HTTPS. A mirror is available on github, although there have no assurance that whatever is replicating the repository from subversion to git is not vulnerable to a MITM attack. Furthermore, the build instructions for the image are missing and while generic instructions exist, they are incomplete. They also specify the use of a binary cross compiler toolchain, which similarly has no obvious source code and no protection against MITM attacks.<p>I built my own toolchain with Gentoo&#x27;s crossdev, but the incomplete instructions require that I figure out how to use a custom toolchain, the dd-wrt config parameters, the kernel config parameters, how to go from a build to a factory to ddwrt image, etcetera. It is a huge pain, but it is one that I must endure if I want to have an access point running OSS firmware that built myself. Building it myself gives me a high level of assurance that the binaries correspond to the source code and that the source code can be audited by either myself or people in the community.<p>It really should not be that difficult to get trustworthy firmware and Asus&#x27; goof is just the tip of the iceberg.