Un desbordamiento de buffer ocurre cuando un programa intenta escribir más datos en un buffer de memoria de lo que puede almacenar, lo que puede causar que el programa se vuelva inestable o ejecute código malicioso. Los lenguajes como C y C++ son más vulnerables debido a que no incluyen protecciones integradas contra el acceso no autorizado a la memoria. Es importante prevenir los desbordamientos limitando el tamaño de los datos de entrada y detectarlos para mitigar el impacto.
0 calificaciones0% encontró este documento útil (0 votos)
88 vistas9 páginas
Un desbordamiento de buffer ocurre cuando un programa intenta escribir más datos en un buffer de memoria de lo que puede almacenar, lo que puede causar que el programa se vuelva inestable o ejecute código malicioso. Los lenguajes como C y C++ son más vulnerables debido a que no incluyen protecciones integradas contra el acceso no autorizado a la memoria. Es importante prevenir los desbordamientos limitando el tamaño de los datos de entrada y detectarlos para mitigar el impacto.
Un desbordamiento de buffer ocurre cuando un programa intenta escribir más datos en un buffer de memoria de lo que puede almacenar, lo que puede causar que el programa se vuelva inestable o ejecute código malicioso. Los lenguajes como C y C++ son más vulnerables debido a que no incluyen protecciones integradas contra el acceso no autorizado a la memoria. Es importante prevenir los desbordamientos limitando el tamaño de los datos de entrada y detectarlos para mitigar el impacto.
Un desbordamiento de buffer ocurre cuando un programa intenta escribir más datos en un buffer de memoria de lo que puede almacenar, lo que puede causar que el programa se vuelva inestable o ejecute código malicioso. Los lenguajes como C y C++ son más vulnerables debido a que no incluyen protecciones integradas contra el acceso no autorizado a la memoria. Es importante prevenir los desbordamientos limitando el tamaño de los datos de entrada y detectarlos para mitigar el impacto.
Descargue como PPTX, PDF, TXT o lea en línea desde Scribd
Descargar como pptx, pdf o txt
Está en la página 1de 9
Desbordamiento de Buffer
Buffer Overflows Contenido
▪ ¿Que es un desbordamiento de buffer?
- Tipos de desbordamiento de buffer - Lenguajes de programación más vulnerables ▪ ¿Que sucede cuando se produce? ▪ Como evitar un desbordamiento de buffer ▪ Conclusión ¿Que es un desbordamiento de buffer?
▪ Es una situación en la que un programa en ejecución intenta escribir
datos fuera del buffer de memoria que no esta destinado a almacenar estos datos. Cuando esto sucede, se habla de un desbordamiento del buffer.
▪ Esto sucede, por ejemplo, cuando se espera un nombre de usuario
con un maximo de 8 bytes y se da un nombre de usuario de 10 bytes y se escribe en el buffer. En este caso, el buffer se supera en 2 bytes y se producirá un desbordamiento cuando no se evite que ocurra. Esto sucede a menudo debido a una mala programación. Tipos de desbordamiento de buffer
▪ Ataque de desbordamiento de pila: Este es el tipo más común de
ataque e implica desbordar un buffer en la pila de llamadas. ▪ Ataque de desbordamiento de montón: Este tipo de ataque apunta a datos en el grupo de memoria abierta conocida como el montón. ▪ Desbordamiento de enteros: Es una operación arimética que da como resultado un entero que es demasiado grande para el tipo de entero destinado a almacernalo. ▪ Desbordamiento Unicode: Crea un desbordamiento de buffer insertando caracteres Unicode en una entrada que espera caracteres ASCII. Lenguajes de programación más vulnerables
Ciertos lenguajes de codificacion son mas susceptibles al
desbordamiento del buffer que otros. C y C++ son dos lenguajes populares con alta vulnerabilidad, ya que no contienen proteccion integradas contra el acceso o la sobreescritura de datos en su memoria. ¿Que sucede cuando se produce?
Cuando se produce un desbordamiento del buffer de memoria y los
datos se escriben fuera del buffer, el programa en ejecucion puede volverse inestable, bloquearse o devolver informacion corrupta.
Los desbordamientos del buffer pueden incluso ejecutar otros
programas o comandos (maliciosos) y provocar la ejecucion de codigo arbitrario. Como evitar un desbordamiento de buffer
Los desbordamientos de buffer en el software se pueden prevenir o
mitigar de varias maneras. • Prevencion: La solucion mayor y mas efectiva es evitar que ocurran condificiones de desbordamiento del buffer en el codigo. - Por ejemplo, cuando se espera un maximo de 8 bytes como datos de entrada, la cantidad de datos que se puede escribir en el buffer se limitara a 8 bytes en cualquier momento. Como evitar un desbordamiento de buffer
• Mitigacion: Otra forma de proteger los desbordamientos del buffer
es detectarlos a medida que ocurren y mitigar la situacion. Este es un enfoque reactivo y se centra en minimizar el impacto nocivo. - Ejemplo, es un Sistema operativo moderno que protege ciertas areas de la memoria contra escritura o ejecucion. Esto evitara que un actacante escribe codigo arbitrario en la memoria cuando se produce un desbordamiento del buffer. Conclusión
Los fallos por la corrupcion de memoria, al igual que otro tipo de
debilidades, son causados por errores humanos que pueden existir en cualquier etapa del proceso de desarrollo de los sistemas computacionales. Por eso es importante, los requerimientos no funcionales y las buenas practicas de programacion que ayuden a disminuir el riesgo de experimentar vulnerabilidades en los sistemas.