Articulo de referencia

Firmware

El firmware se almacena comúnmente en una memoria EEPROM o Flash, [ 1 ] que utiliza un protocolo de E/S como SPI . En informática , el firmware ( FW ) es un software que proporc...

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

En informática , el firmware ( FW ) es un software que proporciona control de bajo nivel sobre el hardware del ordenador . En un dispositivo relativamente sencillo, el firmware puede realizar todas las funciones de control, monitorización y manipulación de datos. En un dispositivo más complejo, el firmware puede proporcionar únicamente control de bajo nivel, así como abstracción de hardware para 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 inteligentes , electrodomésticos , vehículos , periféricos de ordenador y en muchos de los circuitos integrados dentro de cada uno de estos sistemas más grandes.

El firmware se almacena en memoria no volátil , ya sea memoria de solo lectura (ROM) o memoria programable como EPROM , EEPROM o flash . Cambiar el firmware de un dispositivo almacenado en ROM requiere reemplazar físicamente el chip de memoria o el dispositivo mismo. La memoria de firmware programable se puede reprogramar mediante un procedimiento que a veces se denomina flasheo . [ 2 ] Las razones comunes para cambiar el firmware incluyen corregir errores y agregar funciones .

Historia y etimología

Ascher Opler utilizó el término firmware en un artículo de Datamation de 1967 , como término intermedio entre hardware y software . Opler predijo que los sistemas informáticos de cuarta generación tendrían una memoria de control grabable (una pequeña memoria especializada de alta velocidad) en la 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, cargando firmware diferente para cada conjunto de instrucciones. [ 3 ]

A medida que las computadoras se volvieron más complejas, se hizo evidente que era necesario iniciar y ejecutar diversos programas para proporcionar un entorno consistente que permitiera al usuario ejecutar programas más complejos a su discreción. Esto requirió programar la computadora para que ejecutara dichos programas automáticamente. Además, dado que empresas, universidades y especialistas en marketing buscaban vender computadoras a personas sin conocimientos técnicos, se hizo necesaria una mayor automatización para que estas pudieran ejecutar programas fácilmente con fines prácticos. Esto dio lugar a un tipo de software que el usuario no ejecutaría conscientemente, y a otro software del que el usuario común ni siquiera tendría conocimiento.

Originalmente, el firmware se diferenciaba del hardware (la propia CPU) y del software (las instrucciones normales que se ejecutan en la CPU). No se componía de instrucciones de máquina de la CPU, sino de microcódigo de bajo nivel involucrado en la implementación de dichas instrucciones. Se ubicaba en la frontera entre el hardware y el software; de ​​ahí su nombre . Con el tiempo, el uso popular extendió el término firmware para referirse a cualquier programa informático estrechamente vinculado al hardware, incluyendo la BIOS en PC, el firmware de arranque en teléfonos inteligentes, periféricos de computadora o los sistemas de control en dispositivos electrónicos de consumo sencillos , como hornos microondas y controles remotos .

Aplicaciones

Computadoras

Firmware ROM BIOS en una placa base Baby AT

En cierto modo, 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 corregir los problemas de funcionamiento detectados tras el envío del equipo.

El firmware de un ordenador puede actualizarse manualmente mediante un pequeño programa de utilidad. En cambio, el firmware de los dispositivos de almacenamiento masivo (discos duros, unidades de disco óptico, memoria flash, por ejemplo, unidades de estado sólido) se actualiza con menos frecuencia, incluso cuando se utiliza memoria flash (en lugar de ROM o EEPROM) para el almacenamiento del firmware.

La mayoría de los periféricos informáticos son, en sí mismos, ordenadores especializados. Dispositivos como impresoras, escáneres, cámaras web y unidades flash USB almacenan su firmware internamente; algunos también permiten actualizarlo externamente. En el caso de dispositivos modernos y más sencillos, como teclados , ratones y tarjetas de sonido USB , la tendencia es almacenar el firmware en la memoria integrada del microcontrolador , en lugar de en un chip EEPROM independiente.

Algunos ejemplos de firmware de computadora son:

Actualización del firmware de una cámara Fuji Instax

Productos para el hogar y de uso personal

Los productos de consumo, como las cámaras digitales y los reproductores de música portátiles, admiten actualizaciones de firmware. En las cámaras digitales, estas actualizaciones corrigen errores y añaden nuevas funciones. Algunas empresas utilizan las actualizaciones de firmware para incorporar nuevos formatos de archivo ( códecs ). Otras características que pueden cambiar con las actualizaciones de firmware incluyen la interfaz de usuario e incluso la duración de la batería.

automóviles

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

Otros ejemplos

Otras aplicaciones de firmware incluyen:

Brillante

El flasheo [ 5 ] es un proceso que implica la sobrescritura del firmware o los datos existentes, contenidos en el módulo de memoria EEPROM o flash presente en un dispositivo electrónico, con nuevos datos. [ 5 ] Esto se puede hacer para actualizar un dispositivo [ 6 ] 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 nueva versión funciona peor. Se han desarrollado reemplazos de software gratuitos para las herramientas de flasheo de los fabricantes, como Flashrom .

pirateo de firmware

En ocasiones, terceros desarrollan una versión no oficial, nueva o modificada ("de posventa") del firmware para proporcionar nuevas funciones o desbloquear funcionalidades ocultas; esto se conoce como firmware personalizado . Un ejemplo es Rockbox , un firmware de reemplazo para reproductores multimedia portátiles . Existen muchos proyectos caseros para diversos dispositivos, que a menudo desbloquean funcionalidades informáticas de propósito general en dispositivos previamente limitados (por ejemplo, ejecutar Doom en iPods ).

Los ataques al firmware suelen aprovechar la función de actualización de firmware de muchos dispositivos para instalarse o ejecutarse por sí mismos. Sin embargo, algunos deben recurrir a vulnerabilidades para funcionar, ya que el fabricante ha intentado bloquear el hardware para impedir la ejecución de código no autorizado .

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

Hacks de firmware de disco duro

El laboratorio Kaspersky, con sede en Moscú, descubrió que un grupo de desarrolladores al que denomina Grupo Equation ha desarrollado modificaciones de firmware para discos duros de diversos modelos, que contienen un troyano que permite almacenar datos en ubicaciones que no se borran incluso si el disco se formatea o se borra. [ 7 ] Aunque el informe del laboratorio Kaspersky no afirmó explícitamente que este grupo forma parte de la Agencia de Seguridad Nacional (NSA) de Estados Unidos, la evidencia obtenida del código de varios programas del Grupo Equation sugiere que sí forman parte de la NSA. [ 8 ] [ 9 ]

Investigadores del laboratorio Kaspersky catalogaron las actividades de Equation Group como la operación de piratería informática más avanzada jamás descubierta, documentando además alrededor de 500 infecciones causadas por Equation Group en al menos 42 países.

Riesgos de seguridad

Mark Shuttleworth , fundador de la empresa Canonical , creadora de la distribución Ubuntu Linux , ha descrito el firmware propietario como un riesgo para la seguridad, afirmando que "el firmware de tu dispositivo es el mejor amigo de la NSA " y calificándolo como "un caballo de Troya de proporciones monumentales". Ha afirmado que el firmware de baja calidad y de código cerrado representa una grave amenaza para la seguridad del sistema: [ 10 ] "El mayor error es suponer que la NSA es la única institución que abusa de esta posición de confianza ; de hecho, es razonable suponer que todo el firmware es un foco de inseguridad, cortesía de la incompetencia del más alto grado por parte de los fabricantes y de la competencia del más alto grado por parte de una amplia gama de agencias similares". Como posible solución a este problema, ha propuesto un firmware declarativo, que describiría "la vinculación y las dependencias del hardware" y "no debería incluir código ejecutable ". [ 11 ] El firmware debería ser de código abierto para que el código pueda ser revisado y verificado. 

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

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" . Datamation . 13 (1): 22–24 .
  4. ^ Mielewczik, Michael (2000). "Actualización de firmware. Más velocidad y seguridad". PC Praxis (en alemán). 1/2000: 68.
  5. 1 2 "Actualización de firmware" . Tech-Faq.com. Archivado del original el 27 de septiembre de 2011. Consultado el 8 de julio de 2011 .
  6. "Centro de desarrolladores de HTC" . HTC . Archivado del original el 26 de abril de 2011. Consultado el 8 de julio de 2011 .
  7. "Equation Group: El principal creador del ciberespionaje" . Kaspersky Lab . 16 de febrero de 2015. Archivado del original el 2 de diciembre de 2015.
  8. 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 del original el 24 de abril de 2016.
  9. "Última hora: Kaspersky expone el hackeo global y encubierto de la NSA a prácticamente todo el firmware de los discos duros" . Daily Kos . 17 de febrero de 2015. Archivado del original el 25 de febrero de 2015.
  10. "Shuttleworth aboga por un firmware declarativo". Linux Magazine . N.° 162. Mayo de 2014. pág. 9.  
  11. Shuttleworth, Mark (17 de marzo de 2014). "ACPI, firmware y su seguridad" . Archivado del original el 15 de marzo de 2015.
  12. "Informes técnicos de MalCon 2010" . Malcon.org . Archivado del original el 4 de julio de 2011.
  13. "Hacker instala puerta trasera en el firmware de Symbian" . H-online.com . 8 de diciembre de 2010. Archivado del original el 21 de mayo de 2013. Consultado el 14 de junio de 2013 .
  14. "Por qué la seguridad de USB está fundamentalmente rota" . Wired.com . 31 de julio de 2014. Archivado del original el 3 de agosto de 2014. Consultado el 4 de agosto de 2014 .
  15. "BadUSB - Sobre accesorios que se vuelven malvados" . BlackHat.com . Archivado del original el 8 de agosto de 2014. Consultado el 6 de agosto de 2014 .
  16. Karsten Nohl; Sascha Krißler; Jakob Lell (07-08-2014). "BadUSB – Sobre accesorios que se vuelven malvados" (PDF) . srlabs.de . Archivado (PDF) del original el 19-10-2016 . Recuperado el 23-08-2014 .
  17. "Malware BadUSB lanzado: infecta millones de unidades USB" . The Hacking Post . Archivado del original el 6 de octubre de 2014. Consultado el 7 de octubre de 2014 .
  18. Greenberg, Andy. "El malware imposible de parchear que infecta las memorias USB anda suelto" . WIRED . Archivado del original el 7 de octubre de 2014. Consultado el 7 de octubre de 2014 .