Major security flaws in Java applications, European researchers warn
Alexandre Bartel, profesor de la Universidad de UmeÃ¥, ha estudiado, en colaboración con colegas investigadores europeos, las principales debilidades de uno de los lenguajes de programación más grandes del mundo.Crédito: Mattias Pettersson

Alexandre Bartel, profesor de Ingeniería de Software y Seguridad en la Universidad de UmeÃ¥, en colaboración con varios investigadores europeos, ha analizado exhaustivamente las debilidades del software escrito en uno de los lenguajes de programación más utilizados del mundo.

"Esto implica fallas en los procesos que recuperan y recrean información, como cuentas de clientes, transacciones o registros de pacientes. Estas vulnerabilidades pueden generar enormes costos para las empresas, los gobiernos y las autoridades públicas".

Java está detrás de las aplicaciones utilizadas en, robots, sistemas integrados o.A lo largo de los años, se han informado varios fallos de seguridad y ahora investigadores europeos han investigado si se han solucionado y cómo.

Han analizado productos Java que utilizan la deserialización, el proceso de restaurar información empaquetada a su estado anterior, como configuraciones de usuario, funciones de juegos, carritos de compras o aplicaciones bancarias, y han llevado a cabo un análisis en profundidad de las vulnerabilidades y ataques existentes.

Grandes empresas afectadas

"Hemos identificado los puntos débiles y cómo se han solucionado. El problema es que los programadores parecen repetir los mismos errores una y otra vez y, por tanto, reintroducen las vulnerabilidades", afirma el profesor Bartel.

En el estudio "Un estudio en profundidad sobre vulnerabilidades y vulnerabilidades de ejecución remota de código de deserialización", que se llevó a cabo en colaboración con Eric Bodden, profesor de la Universidad de Paderborn, Yves Le Traon, profesor de la Universidad de Luxemburgo e Imen Sayar,ahora investigador del INRIA, se dan varios ejemplos:

  • Fallos en las aplicaciones críticas de PayPal: dieron acceso a bases de datos de producción
  • Vulnerabilidades en el Departamento de Transporte de San Francisco: los atacantes tomaron el control de 2000 computadoras y bloquearon los sistemas de pago
  • Equifax, la agencia de informes crediticios más grande de EE.UU., sufrió un ataque en el que el atacante logró robar 147,7 millones de datos personales

Lo que los investigadores europeos están viendo es que el flujo de bytes, el flujo de información, se abre a la modificación por parte de los atacantes."Es durante el proceso de deserialización propiamente dicho, cuando se recrea la información, cuando el atacante puede obtener un control total sobre el sistema receptor. Incluso cambios muy pequeños en el código pueden hacer que los sistemas sean vulnerables a los ataques", afirma Alexandre Bartel.

Defectos graves

La mayoría de los programas Java dependen de bibliotecas externas y no existe una manera sencilla de reparar los sistemas afectados.Alexandre Bartel sostiene que para prevenirPara evitar que se introduzca en un código nuevo, los desarrolladores deberían evitar por completo el uso de la deserialización de Java.

"Nuestros hallazgos sugieren que toda la cadena de suministro de la aplicación desarrollada debe ser verificada minuciosamente durante todo el ciclo de vida de la aplicación. Los hallazgos son muy serios ya que tienen el potencial de ser costosos, no sólo para las empresas sino también para la sociedad en general", afirma AlexandreBartel.

El estudio ha despertado un interés considerable y fue publicado en la prestigiosa y selectiva revista Transactions on Software Engineering and Methodology.tosem, de la Asociación de Maquinaria de Computación,ACM.Los hallazgos también fueron presentados enCISE, la Conferencia Internacional sobre Ingeniería de Software, que es una de las conferencias más prestigiosas en el campo.

Bartel y su grupo de investigación están desarrollando métodos para detectar más eficientemente estas vulnerabilidades y prevenir ataques.

Serialización y deserialización.

Procesos enque implican guardar una estructura de datos o el estado de un objeto en un formato que luego puede almacenarse o transferirse a otro entorno informático.Implica "traducir" estructuras de datos en un flujo de bytes para facilitar el almacenamiento, por ejemplo, en una memoria, un archivo o durante la transferencia de datos a otra máquina.

Los ejemplos incluyen: Sistemas farmacéuticos, donde los gobiernos exigen que los envases estén codificados para que puedan rastrearse a lo largo de toda la cadena de suministro.Desarrollo de juegos: para almacenar y cargar datos del juego, como el progreso del jugador, la configuración y las partidas guardadas.Sector financiero: almacenamiento y transmisión de datos sobreentre los bancos y otros sistemas financieros.

Citación:Importantes fallos de seguridad en las aplicaciones Java, advierten investigadores europeos (27 de diciembre de 2023)recuperado el 27 de diciembre de 2023de https://techxplore.com/news/2023-12-major-flaws-java-applications-european.html

Este documento está sujeto a derechos de autor.Aparte de cualquier trato justo con fines de estudio o investigación privados, noparte puede ser reproducida sin el permiso por escrito.El contenido se proporciona únicamente con fines informativos.