Inicio Actualidad Informática de borde en aplicaciones de seguridad funcional

Informática de borde en aplicaciones de seguridad funcional

edge computing

El número de aplicaciones a las que se destinan las soluciones basadas en la nube sigue creciendo y es importante recordar que la seguridad debe ser prioritaria en todas las soluciones dirigidas a la sociedad y basadas en dispositivos.

La industria electrónica atraviesa una serie de procesos migratorios disruptivos, cada uno de los cuales ofrece funciones y usos de próxima generación además de poner en entredicho los protocolos, procedimientos y productos existentes. Los dispositivos y los sistemas de las aplicaciones a los que destinan estas potentes soluciones evolucionarán hacia metodologías controladas digitalmente e infraestructuras basadas en la nube. Estas soluciones también están siendo adoptadas con rapidez por sectores de seguridad crítica como la automoción y la industria.

Estos productos y servicios avanzados aprovecharán los desarrollos más recientes en potencia, lógica, materiales y software para proporcionar niveles extremadamente elevados de interconectividad y rendimiento. Sin embargo, además de su utilidad en aplicaciones de primera categoría, estos sistemas también deben ofrecer los máximos niveles de fiabilidad y seguridad. Ningún nivel de funcionalidad es válido si disminuye la seguridad de personas, comunidades, municipios o estados.

La necesidad de que la informática en tiempo real implementada en la nube, y destinada a sistemas críticos, garantice la redundancia y el funcionamiento bajo cualquier circunstancia previsible (y algunas imprevisibles si se es hábil) ha pasado a ser fundamental. Esto se está abordando por medio de soluciones inalámbricas multiprotocolo con un gran ancho de banda y conectadas a servidores domésticos, informática de borde (Edge Computing) y la expansión de los algoritmos de aprendizaje automático en sistemas orientados a la inteligencia artificial (IA).

Desarrollo embebido para seguridad en el borde

Al desarrollar cualquier solución basada en la electrónica es importante que exista un equilibrio entre la lógica del hardware y la funcionalidad del software para que el resultado sea rentable. En el caso del mercado industrial y de la automoción, entre otros, la fiabilidad y la seguridad también deben estar entre los principales requisitos de la aplicación. Otro aspecto destacable es que los sistemas complejos multinivel son más difíciles de controlar que los sistemas verticales y muchos sistemas basados en la nube son multimodo y multiprotocolo, por lo que es importante tener en cuenta todos los aspectos relacionados con sistemas inalámbricas potencialmente conectados.

aplicaciones de seguridad funcional

Esta complicada integración se centra a menudo en las capacidades de E/S de un sistema y en la compatibilidad del protocolo, entre otras cosas. En estos sistemas avanzados también es preciso validar la seguridad funcional tomando como referencia las normas y regulaciones establecidas por los organismos correspondientes en cada mercado. Esto impone una enorme presión sobre el desarrollo del software ya que el sistema operativo y el software de la aplicación de un dispositivo sirven en la mayoría de las ocasiones para segmentar las capacidades de un producto destinado a diversos mercados y niveles de prestaciones.

El software es un aspecto importante por otras razones además de cumplir las limitaciones impuestas por la seguridad funcional. Así, la agregación es beneficiosa para aprovechar el coste del hardware utilizando los protocolos de gestión más recientes, como la radio definida por software y otros sistemas que anteriormente eran analógicos. Estas soluciones basadas en software exigen a menudo que los equipos de desarrollo sean más grandes y estén distribuidos para asegurar la aportación de todos los que tengan la IP necesaria para la tarea.

El cumplimiento de la seguridad funcional se determina por medio de normas como ISO26262 para automoción e IEC61508 para sistemas industriales. IEC 61508 es una norma internacional de seguridad funcional que se considera la referencia y la fuente de otras normas dirigidas a determinados sectores. Por ejemplo, ISO 26262 es una norma de seguridad en función del riesgo obtenida a partir de IEC 61508 y aplicada a los sistemas electrónicos incorporados a coches, camiones y autobuses, como sistemas de asistencia a la conducción, transmisión, frenado del vehículo, dinámica de conducción y control de estabilidad.

El cumplimiento todas las normas de seguridad aplicables y/o de sus versiones para determinados sectores es vital para todos los desarrolladores en el ámbito de la industria y la automoción, que deben mantener el cumplimiento a lo largo de toda la vida útil de sus productos. El nivel de SIL (Safety Integrity Level) indica el nivel relativo de reducción del riesgo ofrecido por una función de seguridad y se corresponde con la frecuencia y la gravedad de los peligros. Estos niveles determinan el rendimiento exigido para mantener y lograr la seguridad, así como la probabilidad de fallo del sistema.

Los SIL de IEC 61508 van de 1 a 4. Cuanto mayor es el SIL, mayor es el riesgo de fallo y más estrictos son los requisitos de seguridad correspondientes:

Probabilidad de fallo peligroso                      Factor de reducción de riesgo

SIL 4               ≥10-5 a <10-4                                                  100.000 a 10.000

SIL 3               ≥10-4 a <10-3                                                  10.000 a 1.000

SIL 2               ≥10-3 a <10-2                                                  1.000 a 100

SIL 1               ≥10-2 a <10-1                                                  100 a 10

 

Soluciones para sistemas de seguridad crítica

Un ejemplo de solución avanzada de software capaz de cubrir los requisitos de seguridad funcional es eMCOS® POSIX, el sistema operativo en tiempo real (RTOS) escalable y de alto rendimiento de eSOL para procesadores de próxima generación destinados a aplicaciones avanzadas de software como Autoware y AUTOSAR Adaptive Platform para conducción autónoma. Entre sus aplicaciones industriales se encuentran la informática de borde (edge computing), los centros de datos, la informática de alto rendimiento (HPC) y el aprendizaje automático.

Esta plataforma de software, protegida, segura y conforme a POSIX, utiliza una arquitectura de microkernel distribuido propietario con el fin de obtener el máximo rendimiento de cualquier procesador y de ofrecer un soporte escalable a configuraciones con uno, varios o muchos núcleos, así como multichip. En configuraciones heterogéneas de software, eMCOS admite una serie de perfiles que permiten al RTOS proporcionar un óptimo rendimiento informático desde el procesador central, que se puede utilizar como una plataforma autónoma embebida o como un acelerador para aumentar el rendimiento cuando se combina con un procesador central por separado.

sistemas de seguridad critica

Para crear una plataforma moderna de conducción autónoma u otras aplicaciones de seguridad funcional de tipo crítico no solo se necesita potencia de computación con una elevada eficiencia energética sino también un SO en tiempo real capaz de proporcionar al mismo tiempo los niveles más altos de protección y seguridad. eMCOS Hypervisor es una extensión de eMCOS POSIX: un hipervisor que se ejecuta directamente en hardware y es similar a un hipervisor de Tipo 1 además de ofrecer la funcionalidad de un RTOS similar a un hipervisor de Tipo 2 por encima. Su exclusivo diseño en tiempo real “Tipo 1.5” aporta mayores niveles de seguridad, rendimiento, escalabilidad y facilidad de uso. Las aplicaciones de seguridad crítica en tiempo real se pueden ejecutar con un bajo soporte añadido y el máximo rendimiento en un entorno POSIX nativo junto con otros sistemas operativos.

La importancia de la compatibilidad con varios protocolos no se puede subestimar. Dado que eMCOS Hypervisor se implementa como una extensión del RTOS eMCOS POSIX, se pueden instalar aplicaciones en tiempo real y de seguridad crítica junto a SO hospedados como Linux y Android en la misma plataforma de hardware.

microkernel

Esto lleva la escalabilidad de eMCOS a una nueva dimensión al integrar funciones relacionadas en un sistema mientras sigue utilizando las plataformas existentes basadas en Linux o Android en eMCOS Hypervisor con cambios mínimos. Los SO hospedados Linux y Android proporcionan la API conforme a POSIX necesaria para reutilizar el código existente, además de admitir un gran número de soluciones de visualización gráfica y protocolos abiertos de comunicación.

“Observamos una tendencia hacia dos tipos de sistemas embebidos que se superponen considerablemente: controladores de E/S, que se emplean con frecuencia en el control ciberfísico, y servidores para informática de borde (Edge Computing), que consisten básicamente en servidores embebidos que asumen diversos microservicios embebidos que se suelen conectar en red pero con limitaciones en tiempo real”, explica Rolland Dudemaine de eSOL. “Los controladores de E/S, como es natural, deben ofrecer seguridad funcional, y su método de integración consiste en combinar el control en tiempo real de seguridad crítica y la conexión de red sin seguridad crítica (e interfaz de usuario local como opción). Dependiendo de la complejidad del control en tiempo real podría ser FreeRTOS y eT-Kernel Compact por un lado para plataformas pequeñas, o un RTOS más grande como eMCOS POSIX”.

Cómo abordar sistemas complejos

La función de los servidores de borde es presentar aplicaciones y servicios flexibles en paralelo a los clientes, como la telemática, la primera fase de consolidación de los datos y la puerta de enlace en la nube. La combinación de seguridad, protección y tiempo real, cada vez más cubierta por sistemas como Linux, a menudo que un RTOS como eMCOS POSIX permita ejecutar servicios conectados en red.

La incorporación de capas de software de forma gradual dificulta y encarece el test, de ahí que sea clave CI/CD, es decir, la continua integración y distribución de software. Esto conlleva cuestiones como la comprobación continua ya que una dificultad en el desarrollo de sistemas complejos basados en software es la integración de partes desarrolladas por diferentes personas y que se han de integrar a un cierto nivel, que debería ser tan rápido y eficiente como sea posible.

La complejidad de estos sistemas a menudo es tan alta que su desarrollo ha de recurrir a la automatización mediante una técnica muy empleada en el desarrollo de software como CI/CD. Consiste en el desarrollo del sistema mediante pequeñas iteraciones que se comprueban y entregan automáticamente a otros componentes o usuarios, y se implementan a través de scripts ejecutados de manera periódica o cuando aparece una nueva versión del código en el repositorio.

El objetivo de la integración continua es solucionar pronto los problemas ejecutando tests automáticos en cuanto se realizan cambios, lo cual asegura que el software maestro mejore constantemente y siempre permanezca limpio y estable. eMCOS también admite desarrollo a medida gracias a su entorno de desarrollo integrado (IDE) eDEVS, que permite realizar comprobaciones automáticas mediante scripts. Algunas herramientas de uso habitual en el proceso CI/CD, como Jenkins, usan GDB y Python para controlar al flujo de comprobación automatizado.

seguridad informatica

Dado que eDEVS ha sido optimizado como un paquete de herramientas RTOS multikernel, integra muchas herramientas destinadas a numerosas aplicaciones con varios o muchos núcleos. Por ejemplo, cuando se usa una herramienta de análisis del sistema como Trace Compass, los datos de trazado de la aplicación se pueden analizar a diferentes niveles. eSOL, al contar con la certificación de Arm, puede ofrecer un paquete de compiladores preintegrados de Arm y las bibliotecas correspondientes, por lo que no es necesario comprar o configurar el entorno de desarrollo.

Nuevos avances

El desarrollo de soluciones avanzadas para las aplicaciones más recientes en la automoción y la industria es una tarea compleja y con muchas facetas ya que exige los máximos niveles de seguridad y fiabilidad. Aprovechar las mejores soluciones de software y herramientas de desarrollo puede ser de mucha ayuda para conseguir estos objetivos de diseño tan importantes. Contar con el proveedor adecuado para el desarrollo también es importante para garantizar que se dispone de los conocimientos y de la experiencia que se necesitan.