请输入您要查询的百科知识:

 

词条 Proprietary firmware
释义

  1. {{Anchor|avoid}}Difficult to avoid

  2. {{Anchor|dist}}Distribution issues

  3. {{Anchor|sec|Security}}Security concerns

  4. Examples

  5. See also

  6. References

Proprietary firmware is any firmware on which the producer has set restrictions on use, private modification, copying, or republishing.

Proprietors may enforce restrictions by technical means, such as by restricting source code access, firmware replacement restrictions (by denying complete tooling that may be necessary in order to recompile and replace the firmware), or by legal means, such as through copyright and patents.

Proprietary firmware may range from just a few kilobytes of microcode for a network interface controller{{r|o/microcode}} to megabytes of binaries for a wireless router. Custom firmware may still be available for certain products, which is often free and open-source software, and is especially popular in certain segments of the more powerful general-compute hardware like gaming consoles, wireless routers and Android phones, which are capable of running complete general-purpose operating systems like Linux, FreeBSD or NetBSD, which are often the systems used by the manufacturer in their original proprietary firmware.

{{Anchor|avoid}}Difficult to avoid

Proprietary firmware (and especially the microcode) is much more difficult to avoid than proprietary software or even proprietary device drivers, because the firmware is usually very specific to the manufacturer of each device (often being unique for each model), and the programming documentation and complete specifications that would be necessary to create a replacement are often withheld by the hardware manufacturer.{{r|kt/4818|p=…|q=there will be no monitor or HostAP support for ipw2200 in Linux (or OpenBSD) until Intel decides so because it requires a special firmware that nobody except Intel can write}} One potential solution is going with open-source hardware, which goes a step further by also providing schematics for replicating the hardware itself.

Even though both proprietary device drivers and proprietary firmwares are shipped in binary form,{{r|kt/6550|p=…|q=Vendors often try to hand off two kinds of binary code to us…}} to be practical,{{r|kt/6550|p=…|q=But in the end, if we wish to support any such devices, we must be practical. We must accept the risk that there is a flaw in the firmware.}} the branding "binary blobs" is used only for the binary drivers.{{r|kt/6497|p=…|q=Firmwares are not considered blobs}}

{{Anchor|dist}}Distribution issues

{{Main|Proprietary device driver#Device firmware|}}

Many open-source operating systems reluctantly have to include proprietary firmware files in their distributions simply to make their device drivers work,{{r|kt/6550|q=at least the device works}} because manufacturers try to save money by removing flash memory or EEPROM from their devices, requiring the operating system to upload the firmware each time the device is used.{{r|kt/4118}} However, in order to do so, the operating system still has to have distribution rights for this proprietary microcode.{{r|kt/4118}} If such distributions rights are not obtained, then the device will not work; this especially presents a chicken-and-egg issue with wireless network interface controllers from certain short-sighted manufacturers like Intel, which cannot be used until such files are somehow obtained first, which is difficult to accomplish when the wireless card doesn't work.{{r|kt/4118|kt/4818|p2=…|q2=we make it clear that those chipsets are definitely SECOND TIER|opencon06-docs/p13|lor-opencon06|o/microcode|o/ports}}

{{Anchor|sec|Security}}Security concerns

{{Main|Firmware#Security risks}}

Proprietary firmware poses a significant security risk to the user, because of the Direct Memory Access (DMA) architecture of modern computers, and the potential for DMA attacks. Theo de Raadt of OpenBSD suggests that wireless firmware are kept proprietary because of poor design quality, as well as firmware defects.{{r|opencon06-docs/p13|lor-opencon06}} Mark Shuttleworth of Ubuntu Linux suggests that it’s reasonable to assume that all firmware is a cesspool of insecurity courtesy of incompetence of the worst degree from manufacturers, and competence of the highest degree from a very wide range of such agencies.{{r|ms2014}}

However, the security and quality/reliability risks posed by proprietary microcode may be lower than those posed by proprietary device drivers, because the microcode in this context isn't linked against the operating system, and doesn't run on the host's main processor.{{r|kt/6550}}

Examples

{{div col}}
  • Breathalysers[1]
  • Most BIOSes found in IBM-compatible Personal Computers;
  • Advanced Configuration and Power Interface (ACPI){{r|ms2014}}
  • ARCS, used in computers from Silicon Graphics;
  • Run-Time Abstraction Services (RTAS), used in computers from IBM;
  • The iPod's control menus
  • Cisco IOS.
  • Wireless LAN infrastructure
  • Microcode in wireless network interface controllers, video cards etc
{{div col end}}

See also

{{div col |colwidth= 16em }}
  • Proprietary device drivers (binary blobs){{r|kt/6497|p=…|q=Firmwares are not considered blobs}}
  • Proprietary software
  • Firmware
  • Microcode
  • ROM image
  • Open-source hardware
  • BIOS
  • Coreboot
  • Custom firmware
  • Open Firmware
{{div col end}}

References

1. ^{{cite web |url= http://web.archive.org/web/20080930155902/www.vnunet.com/vnunet/news/2145410/judge-gets-bottom-possible |title= Drunk drivers granted access to breathalyser source code |date= 2005-11-03}}
2. ^{{cite web|author= Jeremy Andrews |date= 2005-03-08|url= https://web.archive.org/web/20050309035103/http://kerneltrap.org/node/4818|title= Feature: OpenBSD's "Out of the Box" Wireless Support|website= KernelTrap}}
3. ^{{cite web|author= Jeremy Andrews |date= 2006-04-19|url= http://web.archive.org/web/20060424135438/http://kerneltrap.org/node/6497|title= Interview: Jonathan Gray and Damien Bergamini|website= KernelTrap|quote= "Firmwares are not considered blobs and can be shipped with the base system (provided their license allows free redistribution). Firmwares execute on the device itself, meaning they are not tied to a particular OS, while blobs execute on the host CPU, most of the time inside the kernel."}}
4. ^{{cite web|author= Jeremy Andrews |date= 2006-05-02|url= http://web.archive.org/web/20060603230017/http://kerneltrap.org/node/6550|title= Interview: Theo de Raadt|website= KernelTrap}}
5. ^{{cite conference|author= Theo de Raadt |date= 2016-12-03|section-url= http://www.openbsd.org/papers/opencon06-docs/mgp00013.html|section= Page 13: The hardware: 802.11 wireless networking (more detail)|url= http://www.openbsd.org/papers/opencon06-docs/|title= Open Documentation for Hardware|conference-url= http://web.archive.org/web/20070109032258/http://www.opencon.org/program.php|conference= OpenCON 2006, 2–3 December 2006|location= Courtyard Venice Airport, Venice/Tessera, Italy}}
6. ^{{cite web|author= Constantine A. Murenin |date= 2006-12-10|url= https://www.linux.org.ru/news/hardware/1690470|lang= ru |title= Почему так важно иметь документацию по программированию железа |website= Linux.org.ru}}
7. ^{{cite web|url= http://openbsd.su/src/sys/dev/microcode/|title=/sys/dev/microcode/|work= OpenBSD}}
8. ^{{cite web|url= http://openbsd.su/ports/sysutils/firmware|title=sysutils/firmware|work= OpenBSD ports}}
9. ^{{cite web|author= Mark Shuttleworth |date= 2014-03-17|url= https://www.markshuttleworth.com/archives/1332|title= ACPI, firmware and your security}}
[2][3][4][5][6][7][8][9]
}}{{FOSS}}{{Embedded systems}}

7 : Free software culture and documents|Proprietary software|Software distribution|Software licenses|Software by license|Embedded systems|Firmware

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/12 4:55:04