top | item 38774959

(no title)

levidos | 2 years ago

Noob question but why is it the firmware that needs reverse engineered and not the driver?

discuss

order

doesnotexist|2 years ago

In this instance, it appears the author's motivation was to facilitate a clean room reimplementation by "producing a natural-language specification for others to reimplement". In other instances security researchers might reverse firmware in order to find vulnerabilities. As the article states:

> One example motivating the production of open source firmware for the BCM5719 is that it's the only closed-source firmware blob found in the Talos II, a high-performance POWER9-based system otherwise wholly free of firmware blobs... Once this is delivered, it will be possible to use Raptor's POWER9 systems with purely 100% free, open source firmware. As far as I am aware, there is no other machine in the same performance class which can make such a claim.

brendank310|2 years ago

My old team did some work in this area a few years ago. We got the Talos II BMC code to be binary reproducible, and had a go at automating David A. Wheeler's compiler diversification to stop compiler subversion. We checked the boxes we intended to, though never got enough funding to polish it up. It's probably broken now, but we did post a portion of our work on gitlab: https://gitlab.com/deepthirst.

ajb|2 years ago

In the simplest sense, because they already have source for the driver, and not for the firmware.

More broadly (no pun intended), NIC vendors want to work with Linux and the GPL means they have to release the source of a driver to do so. No such legal requirement applies to firmware.

ta988|2 years ago

Because the open drivers are good enough but have to deal with a proprietary blob that can't be fixed for bugs and has undefined features/behavior.

salawat|2 years ago

Because vendors have realized GPL condoms are a thing and have started basically sacrificing the driver layer to the legal requirements of GPL, while keeping the secret sauce secret through firmware.

Firmware is the new proprietary/FLOSS boundary layer.

IntelMiner|2 years ago

Didn't the GPLv3 work to eliminate this? With the "Tivoization" thing

Unfortunately (for better or worse) GPLv3 flopped