Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

134
Vistas
¿Protección contra el tiempo de verificación al tiempo de uso?

Estaba leyendo: https://en.wikipedia.org/wiki/Time-of-check_to_time-of-use

Mostraron que este código tiene errores y entiendo perfectamente por qué es así:

 if (access("file", W_OK) != 0) { exit(1); } // Attacker: symlink("/etc/passwd", "file"); fd = open("file", O_WRONLY); // Actually writing over /etc/passwd write(fd, buffer, sizeof(buffer));

Pero la verdadera pregunta es cómo protegerse contra este tipo de exploits.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Puede usar el indicador O_NOFOLLOW . Hará que la open falle si el basename de la ruta es un enlace simbólico. Eso solucionaría el ataque descrito.

Para cubrir los enlaces a lo largo de la ruta del directorio, puede verificar si frealpath(fd, ...) coincide con lo que esperaría.

Otra forma de evitar que un proceso sobrescriba /etc/passwd es ejecutarlo como no root para que no tenga permiso. O bien, puede usar chroot, o más generalmente, un contenedor, para evitar que el sistema /etc/passwd del sistema host sea visible para el proceso.

Sin embargo, de manera más general, el sistema de archivos TOCTOU no se puede resolver en este momento en Linux. Necesitaría soporte de transacciones en el sistema de archivos o en el nivel de llamada del sistema, que faltan.

over 4 years ago · Santiago Trujillo Denunciar

0

No existe una solución infalible.

Tenga en cuenta también el teorema de Rice . Podría ser relevante.

Pero podría adoptar una convención de todo el sistema (y documentarla) de que cada programa que accede a un archivo determinado utiliza funciones de bloqueo como flock(2) .

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda