En seguridad y programación de computadoras , una lectura excesiva del búfer [1] [2] es una anomalía en la que un programa , mientras lee datos de un búfer , sobrepasa el límite del búfer y lee (o intenta leer) la memoria adyacente. Este es un caso especial de violación de la seguridad de la memoria .
Las sobrelecturas de búfer se pueden activar, como en el error Heartbleed , mediante entradas creadas con fines malintencionados que están diseñadas para aprovechar la falta de verificación de límites para leer partes de la memoria que no están destinadas a ser accesibles. También pueden deberse únicamente a errores de programación. La sobrelectura del búfer puede provocar un comportamiento errático del programa, incluidos errores de acceso a la memoria , resultados incorrectos, un bloqueo o una violación de la seguridad del sistema. Por lo tanto, son la base de muchas vulnerabilidades de software y pueden explotarse maliciosamente para acceder a información privilegiada.
Los lenguajes de programación comúnmente asociados con la sobrelectura del búfer incluyen C y C ++ , que no brindan protección incorporada contra el uso de punteros para acceder a datos en cualquier parte de la memoria virtual , y que no verifican automáticamente que la lectura de datos de un bloque de memoria sea segura ; los ejemplos respectivos intentan leer más elementos de los contenidos en una matriz, o no agregan un terminador final a una cadena terminada en nulo . La verificación de límites puede evitar las sobrelecturas del búfer, [3] mientras que las pruebas de fuzz pueden ayudar a detectarlas.
Ver también
Referencias
- ^ "CWE - CWE-126: Buffer Over-read (2.6)" . Cwe.mitre.org. 18 de febrero de 2014 . Consultado el 10 de abril de 2014 .
- ^ Strackx, Raoul; Younan, Yves; Philippaerts, Pieter; Piessens, Frank; Lachmund, Sven; Walter, Thomas (1 de enero de 2009). "Romper la suposición del secreto de la memoria". Actas del Segundo Taller Europeo sobre Seguridad de Sistemas . EUROSEC '09. Nueva York, NY, EE. UU .: ACM: 1–8. doi : 10.1145 / 1519144.1519145 . ISBN 9781605584720.
- ^ Yves Younan; Wouter Joosen; Frank Piessens (25 de febrero de 2013). "Protección eficiente contra desbordamientos de búfer basados en pilas sin recurrir a la magia" (PDF) . Departamento de Ciencias de la Computación, Katholieke Universiteit Leuven. Archivado desde el original (PDF) el 5 de septiembre de 2013 . Consultado el 24 de abril de 2014 .
enlaces externos
- PHP DateInterval Heap Buffer Overread Denegación de servicio
- Error de PHP # 66060: sobre-lectura del búfer de pila en DateInterval