El firmware propietario es cualquier firmware en el que el productor haya establecido restricciones de uso, modificación privada, copia o reedición .
Los propietarios pueden hacer cumplir las restricciones por medios técnicos, como restringiendo el acceso al código fuente , restricciones de reemplazo de firmware (negando las herramientas completas que pueden ser necesarias para recompilar y reemplazar el firmware), o por medios legales, como derechos de autor y patentes .
El firmware propietario puede variar desde unos pocos kilobytes de microcódigo para un controlador de interfaz de red [1] hasta megabytes de binarios para un enrutador inalámbrico . El firmware personalizado aún puede estar disponible para ciertos productos, que a menudo es software gratuito y de código abierto , y es especialmente popular en ciertos segmentos de hardware como consolas de juegos , enrutadores inalámbricos y teléfonos Android , que son capaces de ejecutar sistemas operativos completos de uso general. como Linux , FreeBSD o NetBSD, que a menudo son los sistemas utilizados por el fabricante en su firmware propietario original.
Difícil de evitar
El firmware propietario (y especialmente el microcódigo) es mucho más difícil de evitar que el software propietario o incluso los controladores de dispositivos propietarios , porque el firmware suele ser muy específico para el fabricante de cada dispositivo (a menudo es único para cada modelo) y la documentación de programación y Las especificaciones completas que serían necesarias para crear un reemplazo a menudo son retenidas por el fabricante del hardware. [2] : … Una posible solución es el hardware de código abierto , que va un paso más allá al proporcionar también esquemas para replicar el hardware en sí.
Aunque tanto el firmware propietario como los controladores de dispositivos propietarios se envían en forma binaria, [3] : … para ser prácticos, [3] : … la marca "binary blobs" se usa sólo para los controladores binarios. [4] : …
Problemas de distribución
Muchos sistemas operativos de código abierto tienen que incluir a regañadientes archivos de firmware patentados en sus distribuciones simplemente para que los controladores de sus dispositivos funcionen, [3] porque los fabricantes intentan ahorrar dinero eliminando la memoria flash o EEPROM de sus dispositivos, lo que requiere que el sistema operativo cargue el firmware cada vez que se utiliza el dispositivo. [5] Sin embargo, para hacerlo, el sistema operativo aún debe tener derechos de distribución para este microcódigo propietario. [5] Si no se obtienen dichos derechos de distribución, el dispositivo no funcionará; esto presenta especialmente un problema del huevo y la gallina con los controladores de interfaz de red inalámbrica de ciertos fabricantes que no se pueden usar hasta que dichos archivos se obtienen primero de alguna manera, lo cual es difícil de lograr cuando la tarjeta inalámbrica no funciona. [5] [2] : … [6] [7] [1] [8]
Preocupaciones de seguridad
El firmware propietario representa un riesgo de seguridad significativo para el usuario, debido a la arquitectura de acceso directo a memoria (DMA) de las computadoras modernas y al potencial de ataques DMA . Theo de Raadt de OpenBSD sugiere que el firmware inalámbrico se mantenga propietario debido a la mala calidad del diseño, así como a los defectos del firmware. [6] [7] Mark Shuttleworth de Ubuntu sugiere que "es razonable suponer que todo el firmware es un pozo negro de inseguridad cortesía de la incompetencia del peor grado de los fabricantes y la competencia del más alto grado de una amplia gama de tales agencias". . [9]
Sin embargo, los riesgos de seguridad y calidad / confiabilidad planteados por el microcódigo propietario pueden ser menores que los planteados por los controladores de dispositivos propietarios , porque el microcódigo en este contexto no está vinculado con el sistema operativo y no se ejecuta en el procesador principal del host . [3]
Ejemplos de
- Alcoholímetros [10]
- La mayoría de BIOS se encuentran en computadoras personales compatibles con IBM [9]
- La mayoría de UEFI que se encuentran en las computadoras x86 modernas
- ARCS , utilizado en computadoras de Silicon Graphics
- Servicios de abstracción en tiempo de ejecución (RTAS), utilizados en computadoras de IBM
- Los menús de control del iPod
- Cisco IOS
- Microcódigo en controladores de interfaz de red inalámbrica , tarjetas de video , procesadores x86 , etc.
Ver también
- Imagen ROM
- Hardware de código abierto
- Coreboot
- Abrir firmware
Referencias
- ^ a b "/ sys / dev / microcode /" . OpenBSD .
- ^ a b Jeremy Andrews (8 de marzo de 2005). "Característica: Soporte inalámbrico" listo para usar "de OpenBSD . KernelTrap . Archivado desde el original el 9 de marzo de 2005.
- ^ a b c d Jeremy Andrews (2 de mayo de 2006). "Entrevista: Theo de Raadt" . KernelTrap . Archivado desde el original el 3 de junio de 2006.
- ^ Jeremy Andrews (19 de abril de 2006). "Entrevista: Jonathan Gray y Damien Bergamini" . KernelTrap . Archivado desde el original el 24 de abril de 2006.
Los firmware no se consideran blobs y se pueden enviar con el sistema base (siempre que su licencia permita la redistribución gratuita). Los firmware se ejecutan en el dispositivo en sí, lo que significa que no están vinculados a un sistema operativo en particular, mientras que los blobs se ejecutan en la CPU del host, la mayor parte del tiempo dentro del kernel.
- ^ a b c Jeremy Andrews (2 de noviembre de 2004). "Característica: OpenBSD funciona para abrir conjuntos de chips inalámbricos" . KernelTrap . Archivado desde el original el 20 de junio de 2006.
- ^ a b Theo de Raadt (3 de diciembre de 2016). "Página 13: El hardware: redes inalámbricas 802.11 (más detalles)" . Abra la documentación para hardware . OpenCON 2006, 2-3 de diciembre de 2006 . Courtyard Venice Airport, Venecia / Tessera, Italia.
- ^ a b Constantine A. Murenin (10 de diciembre de 2006). "Почему так важно иметь документацию по программированию железа" . Linux.org.ru (en ruso).
- ^ "sysutils / firmware" . Puertos OpenBSD .
- ^ a b Mark Shuttleworth (17 de marzo de 2014). "ACPI, firmware y tu seguridad" .
- ^ "Los conductores ebrios tienen acceso al código fuente del alcoholímetro" . 2005-11-03.