¿Qué es el firmware?

Imagen aérea de personas utilizando dispositivos informáticos
Mesh Flinders

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

¿Qué es el firmware?

El firmware, también conocido como "software para hardware", es un código de programa incrustado en dispositivos de hardware que permite que ellos y sus características funcionen correctamente. El firmware se actualiza periódicamente para realizar correcciones comunes, añadir o ampliar características o aumentar la compatibilidad de un dispositivo con la nueva tecnología. 

Muchos dispositivos dependen del firmware para funcionar, incluidos televisores, cámaras, teléfonos móviles, impresoras, unidades de disco y más. El firmware se encuentra en la memoria no volátil de un dispositivo, donde el contenido se puede almacenar cuando un dispositivo está apagado. El firmware se puede escribir en diferentes tipos de memoria, incluida la memoria de acceso aleatorio (RAM), la memoria de solo lectura (ROM), la memoria de solo lectura programable borrable (EPROM) y la memoria flash.  

El firmware ayuda a los dispositivos a realizar sus funciones previstas de varias maneras importantes, incluida la entrega de instrucciones sobre cómo debe iniciarse el dispositivo, cómo debe interactuar con otros dispositivos, como enrutadores de Internet o controles remotos, y cómo debe realizar tareas de entrada/output críticas. Muchos fabricantes de dispositivos de hardware, como Apple, LG Electronics, Microsoft y otros, incorporan firmware en sus productos para que funcionen de forma similar al sistema operativo (SO) de un ordenador.

Según los informes, el término "firmware" fue utilizado por primera vez por el científico estadounidense Ascher Opler en 1967 para describir un programa que, según él, estaba "entre el hardware y el software1". Hoy en día, el firmware es una parte esencial de muchos dispositivos, desde su iPhone, Mac o control remoto de TV, hasta complejos sensores de Internet de las cosas (IoT) en satélites y automóviles sin conductor. Aunque el firmware y el software son similares, existen diferencias importantes que vale la pena considerar al evaluar la idoneidad para una necesidad empresarial.

Firmware vs. software

La forma más sencilla de entender la diferencia entre firmware y software es en sus propósitos únicos: mientras que el firmware se diseñó para ayudar a los dispositivos a iniciarse y comunicarse entre sí, el software se utiliza principalmente para la interacción. El firmware se utiliza para proporcionar control sobre los dispositivos de consumo, como teléfonos y televisores. Los fabricantes actualizan con frecuencia el firmware para añadir nuevas funciones, mejorar la seguridad y proteger contra vulnerabilidades.  Como sabe cualquier usuario de un teléfono Android o iOS, o incluso de Smart TV y consolas de juegos, las actualizaciones de la versión del firmware deben descargarse e instalarse con regularidad o afectarán al rendimiento del dispositivo.

El software, por otro lado, se instala en un dispositivo para mejorar la interacción del usuario con actividades como navegar por Internet, consultar el correo electrónico, procesar textos, ver videos, streaming de música y más. El software no está tan estrechamente conectado con el hardware como el firmware y necesita firmware para comunicarse con el hardware para el que proporciona funciones.

¿Por qué es importante el firmware?

El firmware es esencial para el correcto funcionamiento de los dispositivos que damos por sentado en nuestra vida laboral y personal, como ordenadores personales (PC), smartphones, consolas de juegos y más. La mayoría de los usuarios de estos dispositivos están familiarizados con el firmware gracias a las frecuentes "actualizaciones de firmware" que son necesarias para que sus dispositivos sigan funcionando. 

Las actualizaciones de firmware, que consisten en código informático, suelen emitirse para corregir amenazas de seguridad que pueden afectar al rendimiento de un dispositivo, como bugs o hacks. Pero también se pueden emitir para añadir una nueva característica a un dispositivo, como una forma de interactuar con un nuevo tipo de medios. Algunos ejemplos de actualizaciones de firmware incluyen la adición de características de seguridad a un enrutador de Internet, la mejora de la función de navegación para una aplicación de transmisión de video y una actualización del sistema operativo (SO) que permite que la placa del sistema de un ordenador admita un nuevo tipo de procesador.

Desde hoy, la mayoría de los dispositivos están conectados a Internet, la descarga de actualizaciones de forma remota o "por aire" se ha convertido en una forma para que los fabricantes emitan actualizaciones de firmware. La mayoría programa la capacidad de actualizar un dispositivo en el firmware y el usuario simplemente recibe una notificación. Otros dispositivos aún requieren que los usuarios visiten el sitio web del fabricante y descarguen el código necesario. La frecuencia de las actualizaciones de firmware varía según el tipo de dispositivo para el que se haya diseñado. Los smartphones, por ejemplo, suelen combinar actualizaciones de firmware y software para mantener el teléfono y su sistema operativo subyacente funcionando correctamente.

Prevención de ataques de firmware

Dado que el firmware se utiliza tanto y es esencial para las funciones de tantos dispositivos importantes, se ha convertido en un objetivo importante para los hackers. Los dispositivos de hardware que dependen del firmware tienen muchas vulnerabilidades porque suelen utilizar el mismo código. Los ordenadores portátiles, por ejemplo, que a menudo contienen información de trabajo confidencial, dependen del firmware para alimentar sus baterías, tarjetas de sonido y vídeo, cámaras web y más, lo que los convierte en objetivos atractivos. 

La piratería de firmware a menudo implica la implementación de malware, código que se ha escrito intencionalmente para dañar el sistema de un ordenador o al usuario al adjuntarse al firmware. Los tipos populares de malware incluyen el ransomware que mantiene como rehenes los datos de un usuario, los troyanos que eluden la detección haciéndose pasar por un programa legítimo y el spyware que roba información confidencial sobre un usuario. Los hackers rara vez tienen que acceder físicamente a una máquina para explotarla, pueden acceder de forma remota mediante conexiones Bluetooth o Wi-Fi, cada vez más populares a medida que aumenta el número de dispositivos con conexiones a Internet. 

Las características de seguridad de firmware deficientes pueden provocar el robo o el compromiso de datos confidenciales del usuario y que los malos actores obtengan el control remoto de la máquina de un usuario. Por ejemplo, en junio de 2024, Google emitió una advertencia de que un problema con su Pixel Firmware lo hacía vulnerable a los atacantes y que no había una solución conocida para el problema2.

Las empresas, cada vez más conscientes del riesgo de las vulnerabilidades del firmware, están tomando cada vez más medidas para evitar la explotación de sus sistemas debido a los muchos beneficios que ofrece el firmware. 

Beneficios del firmware

Rendimiento mejorado, sin hardware nuevo: las actualizaciones de firmware permiten a los dispositivos adquirir nuevas capacidades sin cambiar el dispositivo o su arquitectura. Muchas actualizaciones de firmware mejoran los tiempos de ejecución e instrucción del código subyacente de un dispositivo y ayudan a optimizar su rendimiento.

Experiencia de usuario mejorada: las actualizaciones de firmware brindan a los usuarios nuevas características, programas informáticos y funciones para actividades en las que confían, como consultar saldos de cuentas, grabar un programa en su Smart TV o saber qué comestibles comprar, conectando su frigorífico inteligente a una aplicación a través de capacidades de IoT.

Resolución de problemas más rápida: las actualizaciones de firmware permiten resolver rápidamente muchos problemas comunes con un dispositivo, incluidos los tiempos de arranque y procesamiento, más funciones multitarea y una mejor compatibilidad con dispositivos externos.

Funciones de los componentes: las actualizaciones de firmware ayudan a garantizar que todos los componentes periféricos de un dispositivo, como los altavoces y micrófonos de un smartphone, funcionen de la forma en que fueron diseñados, lo que permite que el dispositivo funcione a niveles máximos.

Reducción de los costes de reparación: mantener actualizado el firmware de los dispositivos ayuda a reducir la probabilidad de que los dispositivos se infecten con errores y requieran correcciones de errores o reparaciones costosas del equipo en el futuro.   

¿Cómo funciona el firmware?

El firmware se instala en un dispositivo mientras se fabrica. Principalmente, facilita las comunicaciones entre el sistema operativo (SO) y el hardware del dispositivo. El firmware contiene muchas instrucciones que son esenciales para que el dispositivo funcione de la forma en que fue diseñado. La unidad central de procesamiento (CPU) del ordenador, el lugar donde la entrada de datos se transforma en output, recupera el firmware de la memoria de un ordenador y lo ejecuta.

El firmware se utiliza en muchos dispositivos en los que confiamos todos los días. Quizás su caso de uso más común sea la activación de un dispositivo después de un largo período de inactividad.  Cuando se vaya a dormir, por ejemplo, y se despierte y eche un vistazo a su teléfono para revisar sus mensajes, el firmware ayuda a garantizar que su dispositivo se encienda correctamente. Para conservar la información mientras no se utiliza, un dispositivo almacena el firmware en su memoria "no volátil". A medida que ha aumentado la complejidad de las tareas requeridas por el firmware, ha adquirido algunas de las características del hardware informático, a saber, el uso de memoria flash y un sistema básico de entrada/output, o BIOS.

Memoria flash y BIOS

Dado que muchos dispositivos necesitan conservar información mientras están apagados, el firmware suele almacenar datos en la memoria "no volátil" o de "solo lectura" (ROM) de un sistema, también conocida como memoria flash. Este tipo de memoria se utiliza en una amplia gama de dispositivos portátiles, como  unidades flash, smartphones, cámaras digitales, ordenadores portátiles y más, y es esencial para las funciones del firmware. 

Recientemente, la memoria flash ha adquirido algunas de las mismas capacidades asociadas a los ordenadores. Por ejemplo, cuando se arranca un ordenador, pasa por una secuencia conocida como sistema básico de entrada/salida o BIOS (por sus siglas en inglés). El primer firmware que ejecutó una secuencia de BIOS utilizó un chip ROM; ahora los sistemas han pasado a utilizar memoria flash para BIOS, de modo que los datos pueden reescribirse sin tener que quitar el chip de la placa del sistema y volver a insertarlo una vez reprogramado.

Tipos de firmware

Además de los cambios en la forma en que el firmware utiliza y almacena la memoria, también se han producido avances en los tipos de firmware disponibles para los usuarios. Hoy en día, el firmware se puede clasificar en tres grupos básicos definidos por su arquitectura: 

  • firmware de bajo nivel
  • firmware de alto nivel 
  • firmware del subsistema

Firmware de bajo nivel

El firmware de bajo nivel es intrínseco al hardware de un dispositivo y se almacena en chips no volátiles de solo lectura, como la ROM, que no se puede actualizar. Los dispositivos que dependen de firmware de bajo nivel utilizan una memoria que solo se puede escribir una vez y nunca reprogramar.

Firmware de alto nivel

El firmware de alto nivel es un firmware que no se puede actualizar debido a la complejidad de su hardware. En un ordenador, el firmware de alto nivel está contenido en chips de memoria flash y es responsable de tareas más avanzadas que el firmware de bajo nivel. El firmware de alto nivel contiene instrucciones importantes sobre cómo funciona un dispositivo y cómo interactúan varios componentes.

Firmware de subsistema

El firmware del subsistema está contenido en lo que se conoce como "sistema integrado", una combinación específica de hardware y software diseñada para un propósito o tarea. El firmware de subsistema es similar al firmware de alto nivel en su complejidad y adaptabilidad. Al igual que el firmware de alto nivel, el firmware de los subsistemas se puede actualizar fácilmente.

Aplicaciones de firmware

El firmware se utiliza en una amplia gama de dispositivos críticos para la transformación digital y, por lo tanto, tiene muchas aplicaciones útiles para la empresa moderna. Algunos de los usos empresariales más comunes del firmware incluyen:

  • ordenadores personales (PC)
  • almacenamiento de datos 
  • smartphones
  • coches
  • Dispositivos del Internet de las cosas (IoT)

Ordenadores personales

Los ordenadores personales (PC) dependen del firmware para conservar los datos críticos mientras están apagados, así como de las especificaciones del BIOS y de las interfaces de firmware extensibles unificadas (UEFI) para la interfaz de software entre un sistema operativo y el firmware. Por lo general, estas características vienen integradas en un chip de memoria en la placa del sistema de un ordenador. Además, los componentes populares de PC, como las tarjetas gráficas y de vídeo, también dependen del firmware para funcionar.

Dispositivos de almacenamiento de datos

Las unidades USB, las unidades de disco duro externas, las unidades flash y otros dispositivos portátiles de almacenamiento de datos requieren firmware para funcionar. El firmware está integrado en los chips de memoria flash en los que se basan muchos dispositivos modernos de almacenamiento de datos y se puede actualizar fácilmente, a diferencia del firmware contenido en ROM o EPROM. 

Smartphones

Los smartphones dependen en gran medida del firmware para funcionar. El firmware no solo ayuda a garantizar que un smartphone se inicie después de que no lo haya utilizado durante un tiempo, sino que también ayuda a garantizar que los componentes críticos puedan interactuar entre sí de la forma en que fueron diseñados. Por último, en un smartphone, las correcciones de errores, las características de seguridad y las capacidades dependen de las actualizaciones regulares de firmware descargadas de Internet para funcionar correctamente.

Coches

Muchos coches diseñados en los últimos diez años contienen ordenadores que dependen del firmware para realizar tareas críticas. Se utilizan diferentes tipos de firmware en varios sistemas automotrices, incluidas las unidades de control del motor (ECU) que optimizan el rendimiento del motor y la eficiencia del combustible, y los cada vez más complejos sistemas de información y entretenimiento ("infotainment") que ayudan con la navegación y las cámaras conectadas a muchos automóviles.

Dispositivos del Internet de las cosas (IoT)

El Internet de las cosas (IoT) se refiere a una red de dispositivos físicos, vehículos, electrodomésticos y otros objetos físicos que están integrados con sensores, software y conectividad de red que les permite recopilar y compartir datos. El firmware es esencial para muchos casos de uso de la tecnología IoT, como electrodomésticos inteligentes, coches sin conductor, ciudades y fábricas más inteligentes y mucho más. En un dispositivo IoT, como un sensor que transmite datos a través de Internet, el firmware contiene instrucciones críticas almacenadas permanentemente en el hardware que permiten que el dispositivo se encienda y apague, recopile, analice y transmita datos y más.

Notas a pie de página

1. Firmware (enlace externo a ibm.com), Wikipedia

2. Google Warns of Pixel Firmware Security Flaw Exploited as Zero-Day (enlace externo a ibm.com), The Hacker News, 13 de junio de 2024

Soluciones relacionadas
IBM Cloud Infrastructure Center 

IBM Cloud Infrastructure Center es una plataforma de software compatible con OpenStack para gestionar la infraestructura de las nubes privadas en IBM zSystems e IBM LinuxONE.

Explorar Cloud Infrastructure Center
Soluciones de infraestructura de TI

Descubra servidores, almacenamiento y software diseñados para su estrategia empresarial de nube híbrida e IA.

Explore las soluciones de infraestructura de TI
Soluciones de infraestructura en la nube

Encuentre la solución de infraestructura en la nube adecuada para las necesidades de su empresa y escale los recursos según la demanda.

Soluciones en la nube
Dé el siguiente paso

Transforme la infraestructura de su empresa con las soluciones de nube híbrida y preparadas para la IA de IBM. Descubra servidores, almacenamiento y software diseñados para asegurar, escalar y modernizar su empresa o acceda a conocimientos de expertos para mejorar su estrategia de IA generativa.

Explore las soluciones de infraestructura de TI Descargue el libro