El firmware es una programación escrita en la memoria no volátil de un dispositivo de hardware. Se instala directamente en una pieza de hardware durante la producción y se utiliza para ejecutar programas de usuario en el dispositivo y puede considerarse como el software que permite que el hardware se ejecute.
Qué es el Firmware, su origen y para qué sirve
Los fabricantes de hardware utilizan el firmware incorporado para controlar las funciones de varios dispositivos y sistemas de hardware, al igual que el Sistema Operativo (Operating System – OP) de una computadora controla la función de las aplicaciones de software. El firmware se puede escribir en memoria de solo lectura (Read Only Memory – ROM), memoria de solo lectura programable borrable (Erasable Programmable Read Only Memory – EPROM) o memoria flash.
El término firmware fue acuñado a finales de los años 60 por el informático estadounidense Ascher Opler para describir un tipo de microprograma entre hardware y software. Hoy en día está incorporado en muchos dispositivos, desde teléfonos inteligentes hasta dispositivos IoT.
Niveles y tipo de firmware
El firmware, generalmente, se puede clasificar en tres categorías según el nivel de integración del hardware.
- Firmware de bajo nivel: se considera una parte intrínseca del hardware de un dispositivo. Se encuentra en chips no volátiles de solo lectura. Por lo tanto, los dispositivos que contienen firmware de bajo nivel tienen memoria programable de un solo uso (i.e. no se puede reescribir ni actualizar).
- Firmware de alto nivel: permite las actualizaciones y generalmente resulta ser más complejo que lo de bajo nivel. Se encuentra en chips de memoria flash de las computadoras.
- Firmware del subsistema: a menudo forma parte de un sistema integrado. Muy parecido al firmware de alto nivel – ya que se puede actualizar- todavía resulta más complejo que lo de bajo nivel.
Los tipos más comunes de firmware incluyen:
- BIO (Basic Input/Output System) – Se encuentra en un chip en la placa madre de una computadora y emite una serie de instrucciones que permiten que el sistema operativo del dispositivo se cargue. También es responsable de cuidar los componentes de hardware de un dispositivo y garantizar que funcionen correctamente en el inicio. El BIO, cuando se enciende una computadora, emite instrucciones que comprueban el proceso de arranque de la máquina en busca de posibles errores y empieza a verificar la RAM (Random Access Memory) y el procesador para detectar fallas. Sigue la comprueba los dispositivos conectados – como el teclado y el ratón – en busca de problemas y verifica si hay una secuencia de arranque, como el arranque desde el CD-ROM (Compact Disc Read-Only Memory) y el arranque desde el disco duro. Al final, el BIOS se conecta al programa bootloader que activa el sistema operativo de la computadora y lo carga en la RAM.
El BIOS es también responsable de controlar el Complementary Metal Oxide Semiconductor (CMOS) – que es una pieza de memoria que almacena la configuración del BIO y otros chips en un dispositivo – y también comprueba las señales enviadas a la RAM para ayudar al sistema operativo a determinar qué acción tomar.
- EFI (Extensible Firmware Interface): se trata de una nueva generación de firmware que emite instrucciones utilizadas por la CPU (Central Processing Unit) de un dispositivo para arrancar el hardware y el bootloader. El EFI reemplaza el BIOS y se utiliza en equipos nuevos, garantizando que un dispositivo inicie sólo software confiable y otros beneficios de ciberseguridad.
Aplicaciones
El firmware se encuentra en una amplia gama de equipos informáticos, incluidos dispositivos complejos y aquellos que generalmente no se consideran como dispositivos informáticos. Siguen algunas aplicaciones:
- Computadora personal: el firmware BIOS o EFI está integrado en un pequeño chip de memoria en la placa base del equipo. Los periféricos de la computadora – como las tarjetas gráficas y de video – también contienen firmware.
- Dispositivos de almacenamiento: las unidades USB, los discos duros y otros dispositivos de almacenamiento portátiles contienen un firmware básico que les permite trabajar con una computadora.
- Dispositivos móviles: los teléfonos móviles, tabletas, computadoras portátiles y otros dispositivos móviles contienen el firmware que permite que el hardware funcione con varios programas.
- Industria Automotriz: los automóviles contienen muchos sistemas integrados, sensores y computadoras pequeñas que contienen el firmware que les permite realizar tareas designadas.
- Electrodomésticos: gracias al firmware, la máquina comunica con la computadora utilizada para configurar los ajustes de la máquina y controlar su funcionamiento.
- Tarjetas inteligentes: las tarjetas inteligentes tienen las instrucciones integradas en un chip que proporciona la funcionalidad básica de la tarjeta, además de la autenticación y el cifrado.
Diferencia entre Firmware y Driver
Existe una distinción entre las dos tecnologías, y precisamente:
- Firmware – Se trata de una forma especial de software que permite que un dispositivo realice funciones sin necesidad de instalar software adicional. Se almacena directamente en el dispositivo de hardware y, de hecho, proporciona instrucciones básicas en la máquina que permiten que el hardware funcione y se comunique con otro software que se ejecuta en un dispositivo. Además – ya que proporciona un control de bajo nivel para el hardware de un dispositivo – se denomina “software para hardware“.
- Driver: es un tipo especial de programa de software que permite que el sistema operativo se comunique y controle dispositivos. Los drivers son específicos del sistema operativo y dependen del hardware, permitiendo que el sistema operativo y otros programas de software accedan a las funciones de hardware sin preocuparse por los detalles de funcionamiento de los dispositivos de hardware. Los drivers se instalan en el sistema operativo del dispositivo y, a diferencia del firmware, no arrancan solos y siguen dependiendo del sistema operativo. Además, sin ellos, el sistema operativo no puede comunicarse con un dispositivo de hardware.
El propósito de un driver de dispositivo es garantizar el correcto funcionamiento del dispositivo de hardware para el cual está destinado a funcionar y también permitir que pueda ser utilizado con diferentes sistemas operativos.
¿Por qué son importantes las actualizaciones y cómo funcionan?
Las actualizaciones permiten que los dispositivos de hardware continúen funcionando de manera eficiente y segura. Estas actualizaciones suelen implicar unos tipos de alteración del programa que corrigen un error conocido o parches contra vulnerabilidades específicas.
De hecho, las empresas deben actualizar constantemente sus dispositivos con la última versión de firmware para:
- Actualizar dispositivos sin actualizar hardware: las actualizaciones de firmware actualizan los dispositivos con instrucciones de funcionamiento adicionales sin tener que actualizar el hardware.
- Utilizar las últimas funciones: las actualizaciones de firmware permiten a los usuarios aprovechar las últimas funciones que se han agregado a un dispositivo, mejorando así la experiencia del usuario.
- Mejorar el rendimiento del firmware: las actualizaciones optimizan el rendimiento del firmware, lo que – a su vez – ayuda al procesador del dispositivo a funcionar como se espera.
- Aumentar el tiempo de ejecución: mantener el software actualizado puede mejorar significativamente los tiempos de ejecución e instrucción, permitiendo a un dispositivo funcionar sin problemas.
- Solucionar los problemas: una actualización resuelve problemas que se han desarrollado debido a varias actualizaciones de software.
- Instalar nuevas características y funciones: Las actualizaciones de firmware se lanzan comúnmente para instalar nuevas características y funcionalidades.
- Ahorrar los costos de reparación y mantenimiento: actualizar regularmente el firmware del dispositivo reduce la necesidad de costosas correcciones de errores y reparaciones o actualizaciones significativas del dispositivo.
- Asegurarse de que todos los componentes funcionen correctamente: las actualizaciones de firmware permiten que todos los componentes periféricos funcionen en armonía, eliminando retrasos y permitiendo que el dispositivo funcione mejor.
Algunos dispositivos conectados a Internet comprueban regularmente si hay nuevo firmware y lo descargan e instalan automáticamente. Otros fabricantes de dispositivos requieren que el usuario visite el sitio web del fabricante para descargar e instalar manualmente las actualizaciones de firmware. Además, muchos dispositivos electrónicos también requieren que el dispositivo permanezca encendido durante la actualización del firmware para que la actualización se realice correctamente.
Hackeo de firmware
Hoy en día el firmware está presente en todos los dispositivos informáticos (i.e.: computadoras y equipos de red, vehículos autónomos, dispositivos médicos, dispositivos IoT, drones, robots de automatización y más). Por lo tanto, todos los dispositivos y soluciones perimetrales están expuestos al hackeo del firmware.
Los dispositivos de hardware son vulnerables a los ataques que pueden provocar que el malware se incruste en el firmware. Además, el BIO se ha demostrado ser particularmente inseguro porque diferentes dispositivos a menudo comparten el mismo código, lo que permite a los atacantes descubrir y explotar vulnerabilidades comunes.
Hay que evidenciar que el hackeo de firmware también puede ocurrir a nivel de la cadena de suministro. Los hackers, al explotar las brechas en los procesos de certificación de seguridad, pueden inyectar un malware en las actualizaciones de firmware que parecen legítimas.
Los ataques de firmware se pueden montar físicamente si los hackers tienen acceso a la máquina o de forma remota y en redes o over-the-air.
La falta de seguridad del firmware puede llevar a los atacantes a espiar los dispositivos de los usuarios, interceptar su actividad en línea, robar sus datos y obtener control remoto de su máquina. Además, cuando alguien hackea el firmware, ha obtenido acceso en un momento en que ningún escáner de virus o herramienta del sistema operativo puede detectar o remediar lo que está sucediendo.
Cómo ocurre un ataque al Firmware
Los ataques de firmware pueden usar varios vectores, como malware y rootkits en discos duros infectados, unidades dañadas y productos de firmware inseguros. Los hackers pueden llevar a cabo un ataque a través de conexiones remotas como Bluetooth y Wi-Fi. Esto significa que el creciente mercado de dispositivos conectados se está volviendo cada vez más vulnerable a los ataques de ese tipo.
Por lo tanto, las empresas deben priorizar la seguridad del software y ser conscientes de las amenazas que enfrentan para evitar que los hackers accedan y tomen el control de sus máquinas.
Cabe evidenciar que la seguridad del firmware depende principalmente de los fabricantes de hardware para mantener sus dispositivos actualizados y seguros. Como resultado, los fabricantes crean soluciones para que su software resista los ataques y lanzan parches y actualizaciones regulares.
Sin embargo, sigue siendo responsabilidad de las empresas prevenir los ataques utilizando las mejores prácticas, que incluyen:
- Actualización constante del firmware: los fabricantes publican actualizaciones para evitar vulnerabilidades conocidas o mantener el firmware actualizado. Las empresas deben activar las actualizaciones automáticas y buscar regularmente las últimas versiones monitoreando los sitios web de los fabricantes o las páginas de redes sociales relevantes. Las actualizaciones regulares de firmware ayudan a cerrar cualquier agujero de seguridad lo más rápido posible, permitiendo al hardware funcionar correctamente.
- Evitar los dispositivos de almacenamiento no confiables: los atacantes suelen utilizar dispositivos de almacenamiento externos – como USB (Universal Serial Bus – para lanzar un malware en un equipo. Los usuarios deben evitar el uso de USB desconocidos o no confiables. Muchas organizaciones ya han prohibido el uso de estos dispositivos de almacenamiento.
- Protección de firmware malicioso: Una de las mejores defensas contra los ataques es comprar hardware con seguridad de firmware incorporada. Muchos proveedores ahora proporcionan dispositivos que se actualizan constantemente para evitar vulnerabilidades y que se instalan en los dispositivos de forma predeterminada.
- Registrar los dispositivos de hardware: las empresas, para obtener las últimas actualizaciones de firmware, deben registrar todos los dispositivos de hardware ya que los fabricantes las notifican a quien se ha registrado.
Concluyendo, si de un lado los atacantes siguen invirtiendo en la capacidad para atacar y causar disrupciones en las computadoras y otros dispositivos de tecnologías de operación y de IoT a nivel de firmware, del otro lado, las organizaciones también tienen que aprender cómo supervisar la seguridad de los dispositivos de última generación. Se trata, de hecho, de seguir actualizando los requisitos de seguridad de las adquisiciones que permitirá a las organizaciones adelantarse a las amenazas emergentes y proteger, detectar y remediar los ataques de firmware a escala en la era de la innovación y del trabajo digital.
@RESERVADOS TODOS LOS DERECHOS