Binary blob
From Wikipedia, the free encyclopedia
A binary blob is a term used by some open source developers to describe an opaque binary object for which no source code is available. In some operating system communities, such as those of Ubuntu and OpenBSD, the term refers to partial or complete drivers provided by companies such as ATI and NVIDIA to provide support for their hardware. Such blobs can be a point of conflict between open source and free software advocates and developers and regular users of the operating system, as binary blobs can provide convenient support for popular hardware at the cost of the ability to read and modify, and thus control, all of the operating system.
The OpenBSD project has a notable policy of not accepting binary blobs into its source tree, citing not only the potential for undetectable or irreparable security flaws but also its encroachment onto the openness and freedom of their software.[1] This stance has been somewhat validated by information released during the August 2, 2006 Black Hat USA convention where an exploit within the binary driver for the Atheros wireless network cards used in MacBook Pros and elsewhere was claimed,[2] although it was later revealed that the exploit used third-party hardware and drivers.[3]
The NVIDIA Binary Graphics Driver for Linux has also been vulnerable to a buffer overflow that allows an attacker to run arbitrary code as root.[4]
Other operating system projects, including NetBSD, FreeBSD, DragonFly BSD, and the Ubuntu Linux distribution, accept binary blobs as a fast route to the missing or enhanced functionality they provide.[5] They include binary blobs for purposes ranging from RAID to networking and accelerated graphics drivers. The Free Software Foundation (FSF) is actively campaigning against binary blobs, even though some Linux distributions do include them.[6] In order to make use of opaque binary blob drivers available for other operating systems, some projects include software wrappers: examples include NdisWrapper for Linux and Project Evil for FreeBSD and NetBSD, both of which implement Microsoft's NDIS API to allow Windows drivers to be used.
Firmware, the operating software required by a device's onboard microcontroller that accompanies some hardware, is generally not considered to be a binary blob. Often it is stored in onboard flash memory but to decrease costs and ease upgrading, some manufacturers now use external firmware uploaded by the operating system. Although the firmware is present in the operating system, it is merely copied to the device and not executed, lessening concerns about hidden security flaws. The OpenBSD project accepts binary firmware images and will redistribute the images if the license permits.[7]
[edit] See also
[edit] Notes and references
- ^ Music composed by Ty Semaka and Jonathan Lewis. Recorded, mixed and mastered by Jonathan Lewis of Moxam Studios (1-403-233-0350). Vocals and Lyrics by Ty Semaka & Theo de Raadt. Bass guitar, organ and bubbles by Jonathan Lewis. Guitar by Tom Bagley. Drums by Jim Buick. 3.9: "Blob!". OpenBSD. Retrieved on 2006-06-22.
- ^ Martin, Kelly (August 3, 2006). WiFi makes waves at Blackhat. SecurityFocus. Retrieved on 2006-08-25.
- ^ Dalrymple, Jim (August 17, 2006). MacBook Wi-Fi hack didn't use Apple drivers.
- ^ Abdine, Derek (Oct 17, 2006). NVIDIA Binary Blob Driver Advisory. Rapid7.
- ^ Matzan, Jem (15 June 2005). BSD cognoscenti on Linux. NewsForge. Retrieved on 2006-07-07. See Christos Zoulas's response to "Is sharing between Free/Open/NetBSD and the Linux kernel a common occurrence? And if so, does it go both ways?"
- ^ Protest against ATI nearly led to the arrest of RMS. Free Software Foundation (27 April 2006). Retrieved on 2006-10-10.
- ^ OpenBSD Works To Open Wireless Chipsets. KernelTrap (November 2, 2004). Retrieved on 2006-06-23.
[edit] External links
- McMillan, Robert (June 21, 2006). Researchers hack Wi-Fi driver to breach laptop. InfoWorld. Retrieved on 2006-06-23.
- KernelTrap article on Damien Bergamini's wpi(4) driver, a blobless ipw3945 alternative for OpenBSD
- KernelTrap interview with Jonathan Gray and Damien Bergamini regarding binary blobs
- The Black Hat Wireless Exploit Interview, Verbatim by Brian Krebs on the Washington Post's website, http://washingtonpost.com