SlideShare una empresa de Scribd logo
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE SISTEMAS

INGENIERÍA EN SISTEMAS INFORMÁTICOS Y DE
COMPUTACIÓN

SIC514 – TECNOLOGÍAS DE SEGURIDAD

BUFFER OVERFLOW

MARCO ALEJANDRO BOLAÑOS SALAZAR

NRO. UNICO: 200920063

FECHA DE ENTREGA: AGOSTO 14 DEL 2013
Contenido
1 Introducción ........................................................................................................................................................II
2 Discusión de la Problemática ..........................................................................................................................II
3 Discusión de la Solución .................................................................................................................................III
4 Contraste de la Problemática y la Solución..................................................................................................III
5 Conclusiones finales ........................................................................................................................................III
6 Referencias .......................................................................................................................................................III

I
1 Introducción
En este ensayo vamos a tratar un problema llamado Buffer Overflow, muy común en programas tanto grandes
como pequeños, podremos conocer un poco más acerca de esto, principalmente respondiendo preguntas
básicas como: ¿Qué es buffer Overflow?, ¿Por qué se da este problema o vulnerabilidad?, ¿Cómo prevenir
esto?, que al terminar de leer el ensayo podemos contestarlas ya vamos a tener una perspectiva general de la
problemática, para con ello intentar plantear unas soluciones prácticas y posibles para poder evitar que estas
vulnerabilidades.

2 Discusión de la Problemática
Buffer Overflow es una vulnerabilidad comúnmente conocido como desbordamiento de pila, se da por que
ciertos datos ingresados por teclado invaden espacios de memoria que no le corresponden a ese tipo de datos,
es decir, se da cuando al momento de realizar un programa, sea este grande o pequeño, no validamos
correctamente el tamaño o longitud de una variable sea esta numérica o alfanumérica, permitiendo que al tener
un dato con mayor cantidad de tamaño este invada sitios de memoria que corresponden a otros procesos,
provocando errores en el funcionamiento del programa o del Sistema Operativo, estos problemas,
vulnerabilidades o bugs comúnmente no son reportados por la mayoría de personas así podemos observar 2
gráficas :

Figura 1 porcentaje calculado en 600 como 10.0 %. (Flores, 2012)

Figura 2. (Park and Lee, 2004)
Podemos observar que tanto en los años desde 1999 al 2006 no son reportados los casos de buffer Overflow
razón por la cual se debieron tener muchos problemas sin corregir debido a esto, así podemos ver que a partir
del año 2007 se ve un incremento relativamente enorme con respecto a los años anteriores, lo que resulta muy
beneficioso para todos al poder corregir esos errores oportunamente.
Este problema de buffer Overflow nos puede causar serios problemas sea personas comunes como grandes
corporaciones o países, un ejemplo lo podemos encontrar en un libro de Kevin Mitnick que nos dice: “explotó
una vulnerabilidad de desbordamiento de búfer en el sistema de programas - ufsrestore. Y eso, Zyklon dice, le
permitió obtener root en whitehouse.gov, así como el acceso al servidor de correo Casa Blanca y otros
sistemas de la red.” (Mitnick and Simon, 2005), como podemos ver en este ejemplo nos menciona la Casa
Blanca de los Estados Unidos de América, los que fueron atacados por desbordamiento de pila, así que

II
tenemos que tener en cuenta que se puede dar en todos los aspectos. Esta vulnerabilidad se puede explotar
para poder inyectar código malicioso en la memoria y a su vez que sea ejecutado en el computador.

3 Discusión de la Solución
Unas posibles soluciones para evitar estas vulnerabilidades, es una correcta validación de los datos por parte
de los programadores, para evitar que sobre pase el tamaño máximo, enviando mensajes de error cuando esto
suceda, también puede ser reportando estos errores a las empresas que desarrollaron el software para que
intenten corregir el problema lo más pronto posible, también a los jefes de las empresas que realicen una
correcta planificación para el desarrollo de un software para así evitar que se lo realice al apuro y con fallas.
Algunos problemas también se dan por problemas de hardware, ya que tal vez no trabaje de la manera
correcta el hardware con el software y al realizar cálculos puede causar errores más que por problema de
software por problemas de que por ejemplo el procesador no trabaje bien con operaciones de punto flotante, un
ejemplo claro que me comentaron en una conferencia llamada “PRIVACIDAD EN INTERNET”, dictada por Ola
Bini que nos comentó que un procesador Pentium III daba errores de Overflow debido a un error de hardware y
que por más que intentaban corregirle al software no podían porque era problema del microprocesador, así que
mañana también otra solución es hacer el uso de Open Hardware para que no exista esos problemas de
compatibilidad de procesamiento.

4 Contraste de la Problemática y la Solución
Como podemos observar este problema se da por errores de programación así que como planteamos en la
solución lo mejor sería programar correctamente validando los campos correspondientes, así evitamos que se
invada espacios de memoria que no pertenecen al programa, esa es una de las mejores soluciones como
podemos observar en las versiones de algunos programas que los utilizamos en nuestra vida diaria

5 Conclusiones finales
Podemos concluir que todos los programas están expuestos a esto debido a que son fallas que comúnmente
no se corrigen si los programas son desarrollados al apuro o con mucha presión, además de que no
necesariamente es error de software sino que también puede ser error de hardware, ya que para elaborar el
programa en algunos casos se necesita conocer la arquitectura del computador.

6 Referencias

Flores, D.A. (2012) 'El Futuro de los Ataques por Desbordamiento de Pila', vol. 1, no. 1.
Mitnick, K.D. and Simon, W.L. (2005) The Art of Intrusion: the real stories behind the exploits of hackers,
intruders, and deceivers, Indianapolis - Indiana: Wiley Publishing, Inc.
Park, Y.-J. and Lee, G. (2004) 'Proceedings of the 1st conference on Computing frontiers', New York, NY, USA.

III

Más contenido relacionado

Destacado

Sistema buffer
Sistema bufferSistema buffer
Castells manuel la era de la informacion tomo 2
Castells manuel   la era de la informacion tomo 2Castells manuel   la era de la informacion tomo 2
Castells manuel la era de la informacion tomo 2
ProjectMart
 
CLASES STRING MATH TIME
CLASES STRING MATH TIMECLASES STRING MATH TIME
CLASES STRING MATH TIME
Fernando Solis
 
08 strings o cadenas
08 strings o cadenas08 strings o cadenas
08 strings o cadenas
horusblom
 
Jaime Peñalba y Javier Rodríguez - Live Free or Die Hacking [RootedCON 2012]
Jaime Peñalba y Javier Rodríguez - Live Free or Die Hacking [RootedCON 2012]Jaime Peñalba y Javier Rodríguez - Live Free or Die Hacking [RootedCON 2012]
Jaime Peñalba y Javier Rodríguez - Live Free or Die Hacking [RootedCON 2012]
RootedCON
 
Norma 27000
Norma 27000Norma 27000
Norma 27000
nestor
 
Strings Y Archivos En Lab View
Strings Y Archivos En Lab ViewStrings Y Archivos En Lab View
Strings Y Archivos En Lab View
Israel Carrión
 
Caracteres y Cadenas en C
Caracteres y Cadenas en CCaracteres y Cadenas en C
Caracteres y Cadenas en C
Ronny Parra
 
Iso 27000 estandar
Iso 27000 estandarIso 27000 estandar
Iso 27000 estandar
Maria Villalba
 
LA ERA DE LA INFORMACIÓN Tomo I (Manuel Castell)
LA ERA DE LA INFORMACIÓN Tomo I (Manuel Castell)LA ERA DE LA INFORMACIÓN Tomo I (Manuel Castell)
LA ERA DE LA INFORMACIÓN Tomo I (Manuel Castell)
dimorac
 
Norma ISO 27000
Norma ISO 27000Norma ISO 27000
Norma ISO 27000
UPTAEB
 
Buffer overflow attacks
Buffer overflow attacksBuffer overflow attacks
Buffer overflow attacks
Kapil Nagrale
 
Iso 20000
Iso 20000Iso 20000
Iso 20000
hperez-ti
 
Buffer overflow attacks
Buffer overflow attacksBuffer overflow attacks
Buffer overflow attacks
Joe McCarthy
 
La Era del Conocimiento
La Era del ConocimientoLa Era del Conocimiento
La Era del Conocimiento
pakal26
 
Sociedad del conocimiento
Sociedad del conocimientoSociedad del conocimiento
Sociedad del conocimiento
Ivan1492
 
Iso 27000
Iso 27000Iso 27000
Iso 27000
julianabh
 
Norma iso 27000
Norma iso 27000Norma iso 27000
Norma iso 27000
Haroll Suarez
 
ISO 27000
ISO 27000ISO 27000
Era de la informacion
Era de la informacionEra de la informacion
Era de la informacion
laemoyelemo
 

Destacado (20)

Sistema buffer
Sistema bufferSistema buffer
Sistema buffer
 
Castells manuel la era de la informacion tomo 2
Castells manuel   la era de la informacion tomo 2Castells manuel   la era de la informacion tomo 2
Castells manuel la era de la informacion tomo 2
 
CLASES STRING MATH TIME
CLASES STRING MATH TIMECLASES STRING MATH TIME
CLASES STRING MATH TIME
 
08 strings o cadenas
08 strings o cadenas08 strings o cadenas
08 strings o cadenas
 
Jaime Peñalba y Javier Rodríguez - Live Free or Die Hacking [RootedCON 2012]
Jaime Peñalba y Javier Rodríguez - Live Free or Die Hacking [RootedCON 2012]Jaime Peñalba y Javier Rodríguez - Live Free or Die Hacking [RootedCON 2012]
Jaime Peñalba y Javier Rodríguez - Live Free or Die Hacking [RootedCON 2012]
 
Norma 27000
Norma 27000Norma 27000
Norma 27000
 
Strings Y Archivos En Lab View
Strings Y Archivos En Lab ViewStrings Y Archivos En Lab View
Strings Y Archivos En Lab View
 
Caracteres y Cadenas en C
Caracteres y Cadenas en CCaracteres y Cadenas en C
Caracteres y Cadenas en C
 
Iso 27000 estandar
Iso 27000 estandarIso 27000 estandar
Iso 27000 estandar
 
LA ERA DE LA INFORMACIÓN Tomo I (Manuel Castell)
LA ERA DE LA INFORMACIÓN Tomo I (Manuel Castell)LA ERA DE LA INFORMACIÓN Tomo I (Manuel Castell)
LA ERA DE LA INFORMACIÓN Tomo I (Manuel Castell)
 
Norma ISO 27000
Norma ISO 27000Norma ISO 27000
Norma ISO 27000
 
Buffer overflow attacks
Buffer overflow attacksBuffer overflow attacks
Buffer overflow attacks
 
Iso 20000
Iso 20000Iso 20000
Iso 20000
 
Buffer overflow attacks
Buffer overflow attacksBuffer overflow attacks
Buffer overflow attacks
 
La Era del Conocimiento
La Era del ConocimientoLa Era del Conocimiento
La Era del Conocimiento
 
Sociedad del conocimiento
Sociedad del conocimientoSociedad del conocimiento
Sociedad del conocimiento
 
Iso 27000
Iso 27000Iso 27000
Iso 27000
 
Norma iso 27000
Norma iso 27000Norma iso 27000
Norma iso 27000
 
ISO 27000
ISO 27000ISO 27000
ISO 27000
 
Era de la informacion
Era de la informacionEra de la informacion
Era de la informacion
 

Similar a Bolanos marco tarea1

Fundamentos de Pruebas de Software - Capítulo 1
Fundamentos de Pruebas de Software - Capítulo 1Fundamentos de Pruebas de Software - Capítulo 1
Fundamentos de Pruebas de Software - Capítulo 1
Professional Testing
 
Bugs en los programas
Bugs en los programasBugs en los programas
Bugs en los programas
Richard Huaman Durand
 
CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf
CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdfCarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf
CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf
ssuser7ccf16
 
Campus party 2013
Campus party 2013Campus party 2013
Campus party 2013
RUBINHO Pilco
 
Unidad i ing_soft
Unidad i ing_softUnidad i ing_soft
Unidad i ing_soft
UCC
 
Segunda evaluación
Segunda evaluaciónSegunda evaluación
Segunda evaluación
Carmenechevarria4a
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitos
Carlos Vega Valqui
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitos
Carlos Vega Valqui
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitos
Carlos Vega Valqui
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitos
Carlos Vega Valqui
 
Detecto, describo y formulo hipótesis sobre fallas en sistemas tecnológicos s...
Detecto, describo y formulo hipótesis sobre fallas en sistemas tecnológicos s...Detecto, describo y formulo hipótesis sobre fallas en sistemas tecnológicos s...
Detecto, describo y formulo hipótesis sobre fallas en sistemas tecnológicos s...
xxlinaxx
 
360574712 software-libre-ventajas-y-desventajas-correccion
360574712 software-libre-ventajas-y-desventajas-correccion360574712 software-libre-ventajas-y-desventajas-correccion
360574712 software-libre-ventajas-y-desventajas-correccion
alejandra contreras
 
La responsabilidad social de la Ingeniería de Software
La responsabilidad social de la Ingeniería de SoftwareLa responsabilidad social de la Ingeniería de Software
La responsabilidad social de la Ingeniería de Software
Avanet
 
Resolver Problemas Por Medio De La Ingeniería De Sistemas
Resolver Problemas Por Medio De La Ingeniería De SistemasResolver Problemas Por Medio De La Ingeniería De Sistemas
Resolver Problemas Por Medio De La Ingeniería De Sistemas
Andrés Felipe Montoya Ríos
 
Que son las_vulnerabilidades_del_-software
Que son las_vulnerabilidades_del_-softwareQue son las_vulnerabilidades_del_-software
Que son las_vulnerabilidades_del_-software
EstebanGonzalez153
 
Software libre
Software libreSoftware libre
Software libre
gefry david centella
 
Informe de los temas del campus party
Informe de los temas del campus partyInforme de los temas del campus party
Informe de los temas del campus party
Daniel Minchala
 
Diapositivas guia 1 de software.melissa burgos
Diapositivas guia 1 de software.melissa burgosDiapositivas guia 1 de software.melissa burgos
Diapositivas guia 1 de software.melissa burgos
Melissa Burgos
 
Aplicación de escritorio
Aplicación de escritorioAplicación de escritorio
Aplicación de escritorio
University of the Andes
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitos
Proyectos de Sistemas - UNPRG
 

Similar a Bolanos marco tarea1 (20)

Fundamentos de Pruebas de Software - Capítulo 1
Fundamentos de Pruebas de Software - Capítulo 1Fundamentos de Pruebas de Software - Capítulo 1
Fundamentos de Pruebas de Software - Capítulo 1
 
Bugs en los programas
Bugs en los programasBugs en los programas
Bugs en los programas
 
CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf
CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdfCarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf
CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf
 
Campus party 2013
Campus party 2013Campus party 2013
Campus party 2013
 
Unidad i ing_soft
Unidad i ing_softUnidad i ing_soft
Unidad i ing_soft
 
Segunda evaluación
Segunda evaluaciónSegunda evaluación
Segunda evaluación
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitos
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitos
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitos
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitos
 
Detecto, describo y formulo hipótesis sobre fallas en sistemas tecnológicos s...
Detecto, describo y formulo hipótesis sobre fallas en sistemas tecnológicos s...Detecto, describo y formulo hipótesis sobre fallas en sistemas tecnológicos s...
Detecto, describo y formulo hipótesis sobre fallas en sistemas tecnológicos s...
 
360574712 software-libre-ventajas-y-desventajas-correccion
360574712 software-libre-ventajas-y-desventajas-correccion360574712 software-libre-ventajas-y-desventajas-correccion
360574712 software-libre-ventajas-y-desventajas-correccion
 
La responsabilidad social de la Ingeniería de Software
La responsabilidad social de la Ingeniería de SoftwareLa responsabilidad social de la Ingeniería de Software
La responsabilidad social de la Ingeniería de Software
 
Resolver Problemas Por Medio De La Ingeniería De Sistemas
Resolver Problemas Por Medio De La Ingeniería De SistemasResolver Problemas Por Medio De La Ingeniería De Sistemas
Resolver Problemas Por Medio De La Ingeniería De Sistemas
 
Que son las_vulnerabilidades_del_-software
Que son las_vulnerabilidades_del_-softwareQue son las_vulnerabilidades_del_-software
Que son las_vulnerabilidades_del_-software
 
Software libre
Software libreSoftware libre
Software libre
 
Informe de los temas del campus party
Informe de los temas del campus partyInforme de los temas del campus party
Informe de los temas del campus party
 
Diapositivas guia 1 de software.melissa burgos
Diapositivas guia 1 de software.melissa burgosDiapositivas guia 1 de software.melissa burgos
Diapositivas guia 1 de software.melissa burgos
 
Aplicación de escritorio
Aplicación de escritorioAplicación de escritorio
Aplicación de escritorio
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitos
 

Bolanos marco tarea1

  • 1. ESCUELA POLITÉCNICA NACIONAL FACULTAD DE SISTEMAS INGENIERÍA EN SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN SIC514 – TECNOLOGÍAS DE SEGURIDAD BUFFER OVERFLOW MARCO ALEJANDRO BOLAÑOS SALAZAR NRO. UNICO: 200920063 FECHA DE ENTREGA: AGOSTO 14 DEL 2013
  • 2. Contenido 1 Introducción ........................................................................................................................................................II 2 Discusión de la Problemática ..........................................................................................................................II 3 Discusión de la Solución .................................................................................................................................III 4 Contraste de la Problemática y la Solución..................................................................................................III 5 Conclusiones finales ........................................................................................................................................III 6 Referencias .......................................................................................................................................................III I
  • 3. 1 Introducción En este ensayo vamos a tratar un problema llamado Buffer Overflow, muy común en programas tanto grandes como pequeños, podremos conocer un poco más acerca de esto, principalmente respondiendo preguntas básicas como: ¿Qué es buffer Overflow?, ¿Por qué se da este problema o vulnerabilidad?, ¿Cómo prevenir esto?, que al terminar de leer el ensayo podemos contestarlas ya vamos a tener una perspectiva general de la problemática, para con ello intentar plantear unas soluciones prácticas y posibles para poder evitar que estas vulnerabilidades. 2 Discusión de la Problemática Buffer Overflow es una vulnerabilidad comúnmente conocido como desbordamiento de pila, se da por que ciertos datos ingresados por teclado invaden espacios de memoria que no le corresponden a ese tipo de datos, es decir, se da cuando al momento de realizar un programa, sea este grande o pequeño, no validamos correctamente el tamaño o longitud de una variable sea esta numérica o alfanumérica, permitiendo que al tener un dato con mayor cantidad de tamaño este invada sitios de memoria que corresponden a otros procesos, provocando errores en el funcionamiento del programa o del Sistema Operativo, estos problemas, vulnerabilidades o bugs comúnmente no son reportados por la mayoría de personas así podemos observar 2 gráficas : Figura 1 porcentaje calculado en 600 como 10.0 %. (Flores, 2012) Figura 2. (Park and Lee, 2004) Podemos observar que tanto en los años desde 1999 al 2006 no son reportados los casos de buffer Overflow razón por la cual se debieron tener muchos problemas sin corregir debido a esto, así podemos ver que a partir del año 2007 se ve un incremento relativamente enorme con respecto a los años anteriores, lo que resulta muy beneficioso para todos al poder corregir esos errores oportunamente. Este problema de buffer Overflow nos puede causar serios problemas sea personas comunes como grandes corporaciones o países, un ejemplo lo podemos encontrar en un libro de Kevin Mitnick que nos dice: “explotó una vulnerabilidad de desbordamiento de búfer en el sistema de programas - ufsrestore. Y eso, Zyklon dice, le permitió obtener root en whitehouse.gov, así como el acceso al servidor de correo Casa Blanca y otros sistemas de la red.” (Mitnick and Simon, 2005), como podemos ver en este ejemplo nos menciona la Casa Blanca de los Estados Unidos de América, los que fueron atacados por desbordamiento de pila, así que II
  • 4. tenemos que tener en cuenta que se puede dar en todos los aspectos. Esta vulnerabilidad se puede explotar para poder inyectar código malicioso en la memoria y a su vez que sea ejecutado en el computador. 3 Discusión de la Solución Unas posibles soluciones para evitar estas vulnerabilidades, es una correcta validación de los datos por parte de los programadores, para evitar que sobre pase el tamaño máximo, enviando mensajes de error cuando esto suceda, también puede ser reportando estos errores a las empresas que desarrollaron el software para que intenten corregir el problema lo más pronto posible, también a los jefes de las empresas que realicen una correcta planificación para el desarrollo de un software para así evitar que se lo realice al apuro y con fallas. Algunos problemas también se dan por problemas de hardware, ya que tal vez no trabaje de la manera correcta el hardware con el software y al realizar cálculos puede causar errores más que por problema de software por problemas de que por ejemplo el procesador no trabaje bien con operaciones de punto flotante, un ejemplo claro que me comentaron en una conferencia llamada “PRIVACIDAD EN INTERNET”, dictada por Ola Bini que nos comentó que un procesador Pentium III daba errores de Overflow debido a un error de hardware y que por más que intentaban corregirle al software no podían porque era problema del microprocesador, así que mañana también otra solución es hacer el uso de Open Hardware para que no exista esos problemas de compatibilidad de procesamiento. 4 Contraste de la Problemática y la Solución Como podemos observar este problema se da por errores de programación así que como planteamos en la solución lo mejor sería programar correctamente validando los campos correspondientes, así evitamos que se invada espacios de memoria que no pertenecen al programa, esa es una de las mejores soluciones como podemos observar en las versiones de algunos programas que los utilizamos en nuestra vida diaria 5 Conclusiones finales Podemos concluir que todos los programas están expuestos a esto debido a que son fallas que comúnmente no se corrigen si los programas son desarrollados al apuro o con mucha presión, además de que no necesariamente es error de software sino que también puede ser error de hardware, ya que para elaborar el programa en algunos casos se necesita conocer la arquitectura del computador. 6 Referencias Flores, D.A. (2012) 'El Futuro de los Ataques por Desbordamiento de Pila', vol. 1, no. 1. Mitnick, K.D. and Simon, W.L. (2005) The Art of Intrusion: the real stories behind the exploits of hackers, intruders, and deceivers, Indianapolis - Indiana: Wiley Publishing, Inc. Park, Y.-J. and Lee, G. (2004) 'Proceedings of the 1st conference on Computing frontiers', New York, NY, USA. III