stringtranslate.com

Firmware

El firmware normalmente se almacena en una memoria EEPROM o Flash, [1] que utiliza un protocolo de E/S como SPI .

En informática , el firmware es un software que proporciona un control de bajo nivel del hardware del dispositivo informático . En el caso de un dispositivo relativamente simple, el firmware puede realizar todas las funciones de control, supervisión y manipulación de datos. En el caso de un dispositivo más complejo, el firmware puede proporcionar un control de nivel relativamente bajo, así como servicios de abstracción de hardware para un software de nivel superior, como un sistema operativo .

El firmware se encuentra en una amplia gama de dispositivos informáticos, incluidos ordenadores personales , teléfonos , electrodomésticos , vehículos , periféricos de ordenador y en muchos de los chips digitales dentro de cada uno de estos sistemas más grandes.

El firmware se almacena en una memoria no volátil , ya sea una memoria de solo lectura (ROM) o una memoria programable como EPROM , EEPROM o flash . Para cambiar el firmware de un dispositivo almacenado en la ROM es necesario reemplazar físicamente el chip de memoria, aunque algunos chips no están diseñados para ser removidos después de la fabricación. La memoria de firmware programable se puede reprogramar mediante un procedimiento que a veces se denomina flasheo . [2]

Las razones más comunes para cambiar el firmware incluyen corregir errores y agregar funciones .

Historia y etimología

En un artículo de Datamation de 1967, Ascher Opler utilizó el término firmware como término intermedio entre "hardware" y "software". Opler proyectó que los sistemas informáticos de cuarta generación tendrían un almacén de control escribible (una pequeña memoria especializada de alta velocidad) en el que se cargaría el firmware en microcódigo . Muchas funciones de software se trasladarían al microcódigo y los conjuntos de instrucciones podrían personalizarse, con diferentes firmware cargados para diferentes conjuntos de instrucciones. [3]

A medida que las computadoras comenzaron a volverse más complejas, se hizo evidente que era necesario iniciar y ejecutar varios programas para proporcionar un entorno consistente necesario para ejecutar programas más complejos a discreción del usuario. Esto requería programar la computadora para que ejecutara esos programas automáticamente. Además, como las empresas, las universidades y los comerciantes querían vender computadoras a personas sin conocimientos técnicos, se hizo necesaria una mayor automatización para permitir que un usuario sin conocimientos técnicos ejecutara fácilmente programas con fines prácticos. Esto dio lugar a un tipo de software que un usuario sin conocimientos técnicos ejecutaría de manera consciente y dio lugar a un software que un usuario sin conocimientos técnicos ni siquiera conocería. [4]

En su uso original, el firmware contrastaba con el hardware (la propia CPU) y el software (instrucciones normales que se ejecutaban en una CPU). No estaba compuesto por instrucciones de máquina de la CPU, sino por microcódigo de nivel inferior involucrado en la implementación de instrucciones de máquina. Existía en el límite entre el hardware y el software; de ​​ahí el nombre firmware . Con el tiempo, el uso popular extendió la palabra firmware para denotar cualquier programa de computadora que esté estrechamente vinculado al hardware, incluido el BIOS en las PC, el firmware de arranque en los teléfonos inteligentes, los periféricos de computadora o los sistemas de control en dispositivos electrónicos de consumo simples como hornos microondas y controles remotos .

Aplicaciones

Computadoras

Firmware ROM BIOS en una placa madre Baby AT

En algunos aspectos, los distintos componentes del firmware son tan importantes como el sistema operativo en un ordenador en funcionamiento. Sin embargo, a diferencia de la mayoría de los sistemas operativos modernos, el firmware rara vez cuenta con un mecanismo automático bien desarrollado para actualizarse y solucionar problemas de funcionalidad detectados después de enviar la unidad.

El firmware de una computadora puede ser actualizado manualmente por un usuario a través de un pequeño programa de utilidad. En cambio, el firmware de los dispositivos de almacenamiento masivo (unidades de disco duro, unidades de discos ópticos, memoria flash, por ejemplo, unidades de estado sólido) se actualiza con menos frecuencia, incluso cuando se utiliza memoria flash (en lugar de ROM, EEPROM) para el firmware.

La mayoría de los periféricos de ordenador son en sí mismos ordenadores de uso especial. Dispositivos como impresoras, escáneres, cámaras web y unidades flash USB tienen firmware almacenado internamente; algunos dispositivos también pueden permitir la actualización de campo de su firmware. Para dispositivos modernos más simples, como teclados USB , ratones USB y tarjetas de sonido USB , la tendencia es integrar la memoria del firmware a su microcontrolador , en lugar de un chip EEPROM separado .

Algunos ejemplos de firmware de computadora incluyen:

Cómo actualizar el firmware de una cámara Fuji Instax

Productos para el hogar y uso personal

Los dispositivos de consumo, como las consolas de juegos , las cámaras digitales y los reproductores de música portátiles, admiten actualizaciones de firmware. Algunas empresas utilizan actualizaciones de firmware para añadir nuevos formatos de archivos reproducibles ( códecs ). Otras características que pueden cambiar con las actualizaciones de firmware incluyen la interfaz gráfica de usuario o incluso la duración de la batería. Los teléfonos inteligentes tienen una capacidad de actualización de firmware por aire para añadir nuevas funciones y solucionar problemas de seguridad.

Automóviles

Desde 1996, la mayoría de los automóviles utilizan una computadora de a bordo y varios sensores para detectar problemas mecánicos. A partir de 2010 , los vehículos modernos también utilizan sistemas de frenos antibloqueo controlados por computadora (ABS) y unidades de control de transmisión operadas por computadora (TCU). El conductor también puede obtener información en el tablero mientras conduce de esta manera, como lecturas de presión de neumáticos y economía de combustible en tiempo real. Los concesionarios locales pueden actualizar la mayoría del firmware del vehículo.

Otros ejemplos

Otras aplicaciones de firmware incluyen:

Brillante

La actualización [6] implica la sobrescritura de firmware o datos existentes, contenidos en EEPROM o módulo de memoria flash presente en un dispositivo electrónico, con nuevos datos. [6] Esto se puede hacer para actualizar un dispositivo [7] o para cambiar el proveedor de un servicio asociado con la función del dispositivo, como cambiar de un proveedor de servicios de telefonía móvil a otro o instalar un nuevo sistema operativo. Si el firmware es actualizable, a menudo se hace a través de un programa del proveedor, y a menudo permitirá guardar el firmware antiguo antes de la actualización para poder revertirlo si el proceso falla o si la versión más nueva funciona peor. Se han desarrollado reemplazos de software libre para las herramientas de actualización de los proveedores, como Flashrom .

Hackeo de firmware

A veces, terceros desarrollan una versión no oficial nueva o modificada ("aftermarket") del firmware para proporcionar nuevas funciones o desbloquear funciones ocultas; esto se conoce como firmware personalizado . Un ejemplo es Rockbox como reemplazo de firmware para reproductores multimedia portátiles . Hay muchos proyectos caseros para varios dispositivos, que a menudo desbloquean funciones informáticas de uso general en dispositivos que antes estaban limitados (por ejemplo, ejecutar Doom en iPods ).

Los hackers de firmware suelen aprovechar la función de actualización de firmware de muchos dispositivos para instalarse o ejecutarse. Sin embargo, algunos deben recurrir a exploits para ejecutarse, porque el fabricante ha intentado bloquear el hardware para evitar que ejecute código sin licencia .

La mayoría de los hacks de firmware son software libre .

Trucos para el firmware del disco duro

El laboratorio Kaspersky Lab, con sede en Moscú, descubrió que un grupo de desarrolladores al que denomina " Equation Group " ha desarrollado modificaciones de firmware para unidades de disco duro de varios modelos de unidades, que contienen un troyano que permite almacenar datos en la unidad en ubicaciones que no se borrarán incluso si la unidad se formatea o se borra. [8] Aunque el informe de Kaspersky Lab no afirma explícitamente que este grupo es parte de la Agencia de Seguridad Nacional de los Estados Unidos (NSA), la evidencia obtenida del código de varios programas de Equation Group sugiere que son parte de la NSA. [9] [10]

Los investigadores de Kaspersky Lab clasificaron las operaciones de Equation Group como la operación de piratería informática más avanzada jamás descubierta, documentando también alrededor de 500 infecciones causadas por Equation Group en al menos 42 países.

Riesgos de seguridad

Mark Shuttleworth , el fundador de la empresa Canonical , que creó la distribución Ubuntu Linux , ha descrito el firmware propietario como un riesgo de seguridad, diciendo que "el firmware en su dispositivo es el mejor amigo de la NSA " y llamando al firmware "un caballo de Troya de proporciones monumentales". Ha afirmado que el firmware de baja calidad y de código cerrado es una gran amenaza para la seguridad del sistema: [11] "Su mayor error es asumir que la NSA es la única institución que abusa de esta posición de confianza; de hecho, es razonable asumir que todo el firmware es un pozo negro de inseguridad, cortesía de la incompetencia del más alto grado de los fabricantes y la competencia del más alto grado de una amplia gama de tales agencias". Como una posible solución a este problema, ha pedido un firmware declarativo, que describa "vinculación y dependencias de hardware" y "no debería incluir código ejecutable ". [12] El firmware debe ser de código abierto para que el código pueda comprobarse y verificarse.

Los hacks de firmware personalizados también se han centrado en inyectar malware en dispositivos como teléfonos inteligentes o dispositivos USB . Una de esas inyecciones de teléfonos inteligentes se demostró en el sistema operativo Symbian en MalCon , [13] [14] una convención de hackers . Un hack de firmware de dispositivo USB llamado BadUSB se presentó en la conferencia Black Hat USA 2014 , [15] demostrando cómo un microcontrolador de unidad flash USB puede reprogramarse para falsificar varios otros tipos de dispositivos para tomar el control de una computadora, exfiltrar datos o espiar al usuario. [16] [17] Otros investigadores de seguridad han trabajado más a fondo en cómo explotar los principios detrás de BadUSB, [18] publicando al mismo tiempo el código fuente de herramientas de hacking que pueden usarse para modificar el comportamiento de diferentes dispositivos USB. [19]

Véase también

Referencias

  1. ^ "Hoja de datos W25X20CL". Winbond . Consultado el 30 de agosto de 2024 .
  2. ^ "¿Qué es el firmware?". 23 de enero de 2013.
  3. ^ Opler, Ascher (enero de 1967). "Software de cuarta generación". Datamación . 13 (1): 22-24.
  4. ^ "Introducción a las aplicaciones y conceptos informáticos. Módulo 3: Software de sistema". Lumen.
  5. ^ Mielewczik, Michael (2000). "Actualización de firmware. Más velocidad y seguridad". PC Praxis (en alemán). 1/2000: 68.
  6. ^ ab "Flashing Firmware". Tech-Faq.com. Archivado desde el original el 27 de septiembre de 2011. Consultado el 8 de julio de 2011 .
  7. ^ "HTC Developer Center". HTC . Archivado desde el original el 26 de abril de 2011 . Consultado el 8 de julio de 2011 .
  8. ^ "Equation Group: el creador supremo del ciberespionaje". Kaspersky Lab . 16 de febrero de 2015. Archivado desde el original el 2 de diciembre de 2015.
  9. ^ Dan Goodin (febrero de 2015). «Cómo los hackers «omnipotentes» vinculados a la NSA se escondieron durante 14 años y finalmente fueron descubiertos». Ars Technica . Archivado desde el original el 24 de abril de 2016.
  10. ^ "Última hora: Kaspersky expone el ataque de puerta trasera a prácticamente todos los firmwares de los discos duros por parte de la NSA en todo el mundo". Daily Kos . 17 de febrero de 2015. Archivado desde el original el 25 de febrero de 2015.
  11. ^ "Shuttleworth pide un firmware declarativo". Linux Magazine . N.º 162. Mayo de 2014. pág. 9.
  12. ^ Shuttleworth, Mark (17 de marzo de 2014). "ACPI, firmware y su seguridad". Archivado desde el original el 15 de marzo de 2015.
  13. ^ "Reuniones técnicas de MalCon 2010". Malcon.org . Archivado desde el original el 4 de julio de 2011.
  14. ^ "Hacker instala una puerta trasera en el firmware de Symbian". H-online.com . 2010-12-08. Archivado desde el original el 21 de mayo de 2013 . Consultado el 14 de junio de 2013 .
  15. ^ "Por qué la seguridad de USB está fundamentalmente rota". Wired.com . 31 de julio de 2014. Archivado desde el original el 3 de agosto de 2014. Consultado el 4 de agosto de 2014 .
  16. ^ "BadUSB - Sobre los accesorios que se vuelven malvados". BlackHat.com . Archivado desde el original el 8 de agosto de 2014. Consultado el 6 de agosto de 2014 .
  17. ^ Karsten Nohl; Sascha Krißler; Jakob Lell (7 de agosto de 2014). "BadUSB: sobre accesorios que se vuelven malvados" (PDF) . srlabs.de . Archivado (PDF) del original el 19 de octubre de 2016 . Consultado el 23 de agosto de 2014 .
  18. ^ "Se ha publicado un malware BadUSB que infecta millones de unidades USB". The Hacking Post . Archivado desde el original el 6 de octubre de 2014. Consultado el 7 de octubre de 2014 .{{cite web}}: CS1 maint: URL no apta ( enlace )
  19. ^ Greenberg, Andy. "El malware que no se puede reparar y que infecta los USB está ahora suelto". WIRED . Archivado desde el original el 7 de octubre de 2014. Consultado el 7 de octubre de 2014 .