La condición de carrera o race condition es un tipo de vulnerabilidad bastante frecuente.Estos errores son producidos en situaciones de concurrencias de varios hilos en las que se compite por los recursos que proporciona el sistema operativo.Bajo estas condiciones hay ocasiones en las que se presentan situaciones en las que dos o más procesos tienen que leer o escribir en un área común que comparten.En estos casos se deberían tomar las precauciones necesarias para que las acciones llevadas a cabo por cada recurso fuesen atómicas, sin embargo, hay ocasiones en las que no los son, ocasionando datos inconsistentes o dejando en ocasiones abierto un intervalo de tiempo en el que un atacante podría obtener privilegios, leer y escribir sobre ficheros protegidos.Un ejemplo muy sencillo de lo que es una condición de carrera lo vemos ilustrado en el siguiente listado:Var x=10Sub decrementar { If (x>0) { X – }} Si tenemos una rutina como la anterior, donde x es una variante global compartida, si un único proceso es el que la ejecuta, la variable no tomara nunca un valor negativo, sin embargo en un entorno concurrente, en el que varios procesos ejecutan la misma rutina compitiendo por el tiempo de CPU, si un proceso no iniciase la ejecución de la misma hasta que otro no finalice su ejecución no habría problemas.Pero podría darse la situación en la que un proceso P1 inicie la ejecución de la rutina para un valor de x=1, P1 realiza la comprobación x>0 también se cumple y se ejecuta el código contenido en la comprobación, con lo que x toma el valor 0.El proceso P2 termina su ejecución en el mismo punto en el que se paró, es decir, decrementando la variable x, ya que la comprobación la realizo anteriormente, con lo que el final de esta rutina devuelve un valor negativo en la variable x.Este es un ejemplo muy básico para entender que es una vulnerabilidad de condición de carrera pero los hay mucho más complejos y que pueden producir daños irreparables en los ficheros del ordenador que se encuentra vulnerable.
El 28 de octubre, Apple lanzó por fin su nuevo software iOS 18.1, un hito en la historia de la empresa por introducir Apple Intelligence, su propia tecnología de inteligencia artificial.
Assassin’s Creed II lleva un par de semanas en la calle y seguro que todos habéis empezado a disfrutar de las aventuras de Ezio.