Transferencia ETSII: Proyecto BALDER

El proyecto titulado Evaluación automática de la seguridad y calidad del código fuente mediante búsqueda inteligente en grafos de conocimiento con código C005/21-EDse desarrolla a través de una  colaboración entre el grupo de investigación Tecnología Electrónica e Informática Industrial y la empresa Bosonit S.L.

El proyecto se centró en la creciente exposición de software y aplicaciones de entidades a terceros, debido a la transición hacia entornos web, móviles y en la nube. Los métodos de seguridad tradicionales se consideraban insuficientes, lo que había llevado a un aumento significativo de ataques exitosos en los últimos años. Además, más del 92% de las vulnerabilidades explotables se encontraban en el software, según el National Institute for Standards and Technology.

Para abordar estos problemas, se desarrolló una herramienta llamada BALDER, que se centró en la seguridad de aplicaciones. La mayoría de las aplicaciones carecían de auditorías de ciberseguridad durante su desarrollo, lo que llevaba a la presencia generalizada de vulnerabilidades. BALDER realizó un análisis de código basado en grafos de conocimiento, utilizando algoritmos de Machine Learning y Big Data para la detección de vulnerabilidades de seguridad en el código fuente.

El objetivo de BALDER fue fortalecer el eslabón más débil de la cadena tecnológica, es decir, las aplicaciones, mejorando su seguridad y evitando el robo de datos o códigos. La herramienta abordó la brecha educativa existente al proporcionar un análisis exhaustivo respaldado por tecnologías innovadoras.

Las principales técnicas usadas en el estado del arte actual de la detección de vulnerabilidades están basadas en: fuzzing, security scanning, static análisis, binary comparison, y dynamic análisis. Para aplicar estas técnicas es necesario aplicar una serie de técnicas de preprocesamiento del código fuente que permitan realizar una representación del código compatible con dichas técnicas, para ello suelen utilizarse representaciones de secuencia, árboles de sintaxis abstracta y grafos de control de flujo, dichas representaciones permiten realizar detecciones más eficaces en el código, simplificando los patrones a detectar. Estas técnicas suelen combinarse con distintos algoritmos clásicos como XGBoost, Random Forest, Logistic Regression, KNN, Decision Tree, etc.

La solución propuesta extiende el tradicional concepto del Árbol abstracto de sintaxis (Abstract Syntax Tree) con funciones avanzadas. El AST se construye durante la fase de análisis sintáctico del proceso de compilación y consta de nodos que representan los elementos del lenguaje de programación utilizados en el código fuente. Estos nodos están organizados en una jerarquía donde cada nodo tiene uno o más nodos hijos que representan sus componentes o subexpresiones.

La estructura específica del AST varía según el lenguaje de programación y el compilador utilizado, pero generalmente sigue una estructura similar. Por ejemplo, en un lenguaje de programación como Java, el AST puede contener nodos para representar declaraciones de clases, métodos, variables, expresiones y operaciones.

Para enriquecer el AST se añaden distintas técnicas como el análisis de flujo de datos, permitiendo registrar no solo el flujo de ejecución sino también las posibles asignaciones para cada variable e identificador, con el objetivo de establecer patrones de vulnerabilidades que permite no solo eliminar los falsos positivos, sino también reducir los falsos negativos. 

En el ámbito de la detección de vulnerabilidades en código fuente, el algoritmo de análisis de flujo de datos puede ser una herramienta muy útil para identificar posibles puntos débiles y vulnerabilidades en el software. Algunas posibilidades y mejoras específicas en este contexto incluyen:

  • Detección de Vulnerabilidades Específicas: el análisis de flujo de datos puede ayudar a identificar patrones de flujo de datos que son indicativos de vulnerabilidades específicas, como inyecciones de SQL, cross-site scripting (XSS), desbordamientos de búfer, deserialización insegura, entre otros.
  • Análisis de Cadena de Confianza: el algoritmo puede rastrear cómo se propaga la confianza y la validación de datos a través del código fuente, identificando posibles puntos donde se pierde o se compromete la integridad de los datos.
  • Detección de Errores de Validación de Entrada: identificar áreas de código donde se realizan operaciones de entrada de datos sin suficiente validación o sanitización, lo que podría llevar a vulnerabilidades de seguridad como inyecciones de código o manipulación de datos maliciosos.
  • Análisis de Flujo de Control y Autenticación: el análisis de flujo de datos puede complementarse con el análisis de flujo de control para identificar posibles rutas de ejecución que podrían evadir mecanismos de autenticación o autorización, lo que podría conducir a violaciones de seguridad.
  • Identificación de Dependencias Inseguras: rastrear dependencias entre componentes de software y bibliotecas externas para identificar posibles vulnerabilidades conocidas o vulnerabilidades de terceros que podrían introducir riesgos de seguridad en el sistema.

En términos de mejoras potenciales:

  • Mejora de las Reglas de Análisis: desarrollar reglas de análisis más sofisticadas y específicas para detectar vulnerabilidades conocidas y patrones de código potencialmente peligrosos.
  • Incorporación de Contexto y Semántica: integrar información contextual y semántica en el análisis de flujo de datos para mejorar la precisión y reducir los falsos positivos.
  • Aprendizaje Automático y Análisis de Comportamiento: incorporar técnicas de aprendizaje automático y análisis de comportamiento para identificar anomalías y patrones inusuales en el flujo de datos que podrían indicar posibles vulnerabilidades.
  • Integración con Herramientas de Desarrollo: integrar el análisis de flujo de datos con herramientas de desarrollo para proporcionar retroalimentación en tiempo real a los desarrolladores sobre posibles problemas de seguridad mientras escriben y editan el código.

 

Fuente: Prof. Carlos León, coordinador del proyecto.

 

Transferencia ETSII: Proyecto Gemelos Digitales

logo

El proyecto titulado Optimización de la Producción de Procesos Manufactureros Complejos mediante Técnicas Híbridas de Inteligencia Artificial e Investigación Operativa (eIndustry) con código CPP2022-009912  se desarrolla a través de una  colaboración entre el grupo de investigación MINERVA y la empresa OGA (Qosit Consulting).

El proyecto está centrado en la creación de gemelos digitales, que están surgiendo como sistemas de modelización y simulación para ayudar a las empresas ante la presión de reducir costes, aumentar la producción y mejorar la calidad de sus productos. Los gemelos digitales proporcionan una herramienta para identificar áreas de mejora y optimizar  la eficiencia, la calidad y los procesos de producción de las empresas. El proyecto eIndustry avanzará en el desarrollo de gemelos digitales innovadores de los procesos de fabricación, gracias a la incorporación del Machine Learning. En una primera fase, se desarrollarán modelos de aprendizaje automático para modelar los procesos de fabricación. Para ello, los modelos tendrán una serie de datos de entrada y una salida a modelar y predecir, que puede ser la energía consumida, las emisiones del proceso, u otro resultado relevante. Posteriormente, el objetivo de la segunda fase es optimizar la entrada para minimizar la salida, consiguiendo así mejorar el ahorro directo e indirecto en los procesos principales de las empresas. Por último, el alcance del proyecto también incluye la validación de los gemelos desarrollados en entornos reales, donde se dan casos como altos consumos energéticos debidos a procesos de fusión de acero, o pérdidas en el purgado de tanques.

El presupuesto para la US es de 201.764€, con una duración de dos años y medio, de enero de 2024 hasta junio de 2026. En el proyecto están implicados profesores del grupo Minerva de la ETSII y profesores del Departamento de Estadística e Investigación Operativa dirigidos por Emilio Carrizosa y José C Riquelme. Gracias a la financiación del proyecto se ha podido contratar a una doctora y dos graduados para colaborar en su desarrollo.

Fuente: Prof. José C. Riquelme, coordinador del proyecto.

Nuestro Máster en Ingeniería Informática obtiene el Sello Internacional de Calidad Euro-Inf

Sello

 

 

El Sello Internacional de Calidad del ámbito del programa educativo evaluado es un certificado concedido a la Universidad de Sevilla en relación con el Máster Oficial en Ingeniería Informática respecto a estándares de calidad, relevancia, transparencia, reconocimiento y movilidad contemplados en el Espacio Europeo de Educación Superior.

Concretamente, Euro-Inf es un Sello Internacional de Calidad (SIC) para el ámbito académico universitario, promovido por EQANIE (European Quality Assurance Network for Informatics Education), y desarrollado en España por la Agencia Nacional de Evaluación de la Calidad y Acreditación (ANECA), organismo autónomo, adscrito al Ministerio de Ciencia, Innovación y Universidades.

Serán personas egresadas Euro-Inf aquellos estudiantes graduados desde el 3 de mayo de 2022 (un año antes de la fecha del informe de concesión del sello).

 

El sistema Euro-Inf está reconocido internacionalmente y facilita la movilidad tanto académica como profesional. Es beneficioso para nuestro centro, ya que evidencia la calidad del título y que el programa formativo cumple con los estándares académicos y profesionales. Es beneficioso para nuestro estudiantado, ya que les permite tener más garantías de que el programa cumple con altos estándares internacionales, facilitarles el acceso a los programas Máster Euro-Inf, además de ser personas egresadas de una titulación con un sello de calidad adicional reconocido por los empleadores en toda Europa y con reconocimiento internacional de títulos que cumplen con los estándares profesionales. Finalmente, también es beneficioso para los empleadores, pues los conocimientos y competencias de las personas egresadas de este Máster cumplen con los estándares internacionales, ya que el sello ofrece garantías de la calidad del programa de formativo y de orientación para la profesión.

Desde el equipo de gobierno de la Escuela queremos agradecer enormemente el trabajo a todas las personas que han participado en el proceso de evaluación del sello, incluido el equipo de gobierno anterior (que promovió e inició la solicitud del sello), profesorado, personal de administración y servicios, colaboradores externos y, por supuesto, agradecer a nuestro estudiantado, que es nuestra razón de ser.

Buscar

Noticias

Directorio

Tablón de Anuncios

Mapa del Sitio

Esta web usa cookies propias para el correcto funcionamiento y de terceros para analizar el tráfico de nuestra página web. Si continúas navegando, consideramos que aceptas su uso. Política de cookies.