El Internet de las cosas (IoT) es un verdadero Lejano Oeste moderno. Los dispositivos están conectados a redes sin tener en cuenta la seguridad, lo que brinda a los malos actores una tentadora puerta de entrada a sus sistemas. Además, estos dispositivos rara vez se actualizan y ejecutan el mismo firmware inseguro que el día en que se implementaron. Se trata de cuándo, no si, estás comprometido.

¿Cómo podemos asegurar los dispositivos y asegurarnos de que permanezcan seguros? Ahí es donde entra en juego Azure Sphere, la plataforma IoT de defensa en profundidad de Microsoft que combina hardware, software y la nube para proteger sus dispositivos y su red. Anunciado inicialmente en mayo de 2018, Azure Sphere finalmente alcanzó la disponibilidad general, con hardware y software listos para usar.

Índice
  • Empezar con silicio
  • A continuación, agregue software
  • Y finalmente, un toque de nube.
  • Empezar con silicio

    En el corazón de Azure Sphere se encuentra un microcontrolador reforzado basado en Arm diseñado para proporcionar lo que Microsoft llama "las siete propiedades de los dispositivos altamente seguros". Es raíz de confianza basada en hardware, defensa en profundidad, base informática de confianza pequeña, compartimentación dinámica, autenticación basada en certificados, informes de seguridad, errores y seguridad renovable. Adoptar un enfoque inteligente para el diseño de hardware y software como este es inteligente porque garantiza que todos los usuarios de Azure Sphere estén en sintonía y utilicen el mismo modelo de seguridad.

    El primer microcontrolador certificado por Azure Sphere es el MT3620 de MediaTek. Basado en el diseño Cortex-A7 de Arm, este es un chip lo suficientemente potente como para ejecutar un sistema operativo basado en Linux. Eso significa que no es el dispositivo más barato del mercado, más Raspberry Pi que Arduino. Microsoft ha anunciado hardware adicional de NXP y Qualcomm, ofreciéndole una selección de proveedores y microcontroladores con diferentes capacidades: NXP agrega compatibilidad con IA y gráficos, mientras que Qualcomm agrega conectividad celular.

    Junto con sus capacidades centrales Cortex-A7 y Wi-Fi, el MT3620 de MediaTek tiene dos núcleos Cortex-M4F adicionales para manejar E/S y muchas otras características del dispositivo. Luego, el subsistema de seguridad de Microsoft, Pluto, bloquea todo el chip con un Cortex-M4F separado para manejar el arranque seguro y monitorear las operaciones del sistema. Pluto no es accesible para el usuario: es el enlace entre el hardware y el servicio Azure Sphere alojado en la nube.

    Pluto es donde Sphere maneja la seguridad de los dispositivos. El núcleo es donde la plataforma ejecuta sus procesos criptográficos, incluido su propio generador de números aleatorios basado en hardware y herramientas para manejar tanto el cifrado de red como las operaciones de arranque medidas y seguras. Puede ofrecer una forma de detectar la manipulación del software y del sistema operativo. Cuando se inicia un dispositivo Azure Sphere, el núcleo de Pluto se asegura de que los diversos componentes de la plataforma tengan las firmas digitales correctas, cuando sea posible mediante la atestación remota para confirmar que el inicio del software es seguro. Una vez que el dispositivo está operativo, Pluto continúa monitoreando las operaciones.

    A continuación, agregue software

    Azure Sphere fue la primera incursión pública de Microsoft en el mundo de Linux. Ya estaba usando su propia distribución de Linux como parte de la red de Azure, pero el kernel personalizado de Sphere y el software creado a su alrededor están destinados a una distribución mucho más amplia. No solo eso, aquí es donde funcionará su software. Microsoft proporciona las bibliotecas necesarias para su código, dándole acceso al hardware del microcontrolador Sphere, con redes, almacenamiento y comunicaciones. Para mantener el dispositivo seguro, son la única forma de interactuar con el hardware: no hay acceso a archivos o shell de propósito general. Solo puede interactuar con su dispositivo a través de los componentes de Azure del servicio Azure Sphere o mediante los servicios de depuración en un dispositivo conectado a la PC de un desarrollador.
    Las aplicaciones se compilan en C con el SDK de Azure Sphere en Visual Studio o Visual Studio Code. Si prefiere Linux, puede desarrollar en Visual Studio Code en Ubuntu 18.04, y Windows y Ubuntu pueden usar herramientas de línea de comandos que vienen con el SDK. Puede escribir aplicaciones de alto nivel o código en tiempo real de bajo nivel, según cómo planee usar los microcontroladores de Sphere.

    Y finalmente, un toque de nube.

    Una de las características clave de la plataforma Azure Sphere es su servicio de implementación de aplicaciones seguras. Cada dispositivo Azure Sphere tiene su propia ID única que se almacena en el dispositivo. Registrará cada dispositivo que tenga como parte de un producto, con su propia identificación administrada a través del servicio en la nube. Un dispositivo solo puede ser parte de un producto, productos que agrupan varios dispositivos. Puede pensar en Device ID como el número de serie individual de sus microcontroladores y un producto como, por ejemplo, la tostadora inteligente construida alrededor del hardware y software de Sphere.

    Una función útil es la capacidad de configurar grupos de dispositivos. Estos lo ayudan a administrar las implementaciones, lo que le permite demarcar algunos dispositivos para desarrollo, algunos para prueba y la mayoría para producción. Hay cinco grupos de dispositivos predeterminados, cada uno con capacidades diferentes, lo que le permite implementar versiones preliminares del sistema operativo Azure Sphere en ciertos dispositivos, por ejemplo, y controlar cuáles obtienen qué versiones de aplicaciones. Las aplicaciones se asignan a grupos de dispositivos y se implementan automáticamente, por lo que puede integrar el proceso de implementación en un ciclo de vida de desarrollo de software existente, utilizando ramas de software separadas para el desarrollo y las pruebas, y la implementación final se activa mediante una fusión en una industria separada.

    En el centro de una implementación de Azure Sphere se encuentra una imagen binaria. Este es un binario firmado criptográficamente que está listo para ser entregado al grupo de dispositivos elegido. Una vez entregada, una imagen solo puede ser reemplazada, no puede ser modificada. Las imágenes solo las puede implementar un administrador de Azure Sphere. Por lo tanto, limite la cantidad de administradores en su equipo para reducir el riesgo.

    VER: Microsoft Azure: Guía de información privilegiada (PDF gratuito) (República Tecnológica)

    Las implementaciones son administradas por el servicio en la nube de Azure Sphere, usando la misma infraestructura que Windows Update. Aunque los dispositivos de Azure Sphere están destinados a aplicaciones y servicios de IoT más complejos que la mayoría de los microcontroladores más pequeños del mercado, las implementaciones aún pueden ascender a cientos de miles o incluso millones de dispositivos. Crear un servicio de implementación y actualización de software desde cero no es práctico, por lo que usar Windows Update, con su seguridad integral y escalabilidad comprobada, tiene mucho sentido.

    La eliminación de gran parte del riesgo de IoT debería convertir a Azure Sphere en una alternativa atractiva a otras plataformas de IoT, permitiéndole usar hardware seguro y asegurarse de que esté actualizado para su software y sistema operativo de dispositivo. Confiar en herramientas y servicios familiares también debería ayudar, lo que facilita la entrega de las aplicaciones que necesitan estos dispositivos.