*   >> Lectura Educación Artículos >> tech >> la seguridad

Introducción Para Bufferoverflow

En la seguridad informática y la programación, un desbordamiento de búfer, o de desbordamiento de búfer, es una anomalía en un programa, mientras escribe datos en un buffer, desborda los límites del búfer y sobrescribe la memoria adyacente. Este es un caso especial de violación de la seguridad de la memoria. Desbordamientos de búfer pueden ser provocados por los insumos que se han diseñado para ejecutar código, o alterar la forma en que el programa opera.

Esto puede resultar en un comportamiento errático del programa, incluyendo los errores de memoria de acceso, incorrectas, los resultados de un accidente o una violación de la seguridad del sistema. Son, pues, la base de muchas vulnerabilidades de software y pueden ser explotados maliciosamente. Los lenguajes de programación comúnmente asociados con desbordamientos de búfer incluyen C y C ++, que no proporcionan una función de protección contra el acceso o sobrescribir los datos en cualquier parte de la memoria y no comprueban automáticamente que los datos escritos en una matriz (la incorporada en el tipo de tampón) está dentro los límites de esa matriz.

Comprobación de los límites puede prevenir desbordamientos de búfer.

Sé que usted tiene un montón de preguntas ¿Cuál es la razón de este error loco? > Se trata de un error de programación (Códigos de escritura) ¿Es importante para aprender.; es sólo pequeña estúpida hazaña? > este tipo de explotación de cómo hacer diferencia entre hackers y profesionales normales hackers. Voy a explicar que en la Lección 4;).

Me puedes dar una descripción técnica Un desbordamiento de búfer se produce cuando los datos escritos en una memoria intermedia, debido a la insuficiencia de cheques límites, corrompe los valores de datos de direcciones de memoria adyacentes al búfer asignado. Lo más común es que esto ocurre cuando se copia cadenas de caracteres de un tampón a otro. Ejemplo básico En el siguiente ejemplo, un programa ha definido dos elementos de datos que son adyacentes en la memoria: un búfer de cadena de 8 bytes de longitud, A, y un número entero de dos bytes, B.

Inicialmente, A contiene nada más que cero bytes, y B contiene el número 1979. Los personajes son un byte de ancho. nombre de la variable AB valor [cadena nula] 1979 valor hexadecimal 00 00 00 00 00 00 00 00 07 BB Ahora, el programa intenta almacenar la cadena terminada en cero "excesivo" en el búfer. Al no comprobar la longitud de la cadena, sobrescribe el valor de B: nombre de la variable v

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Lectura Educación Artículos,https://lectura.nmjjxx.com All rights reserved.