Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

132
Views
¿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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!