Sie sind auf Seite 1von 9

R

E
V
O

W
O
L
F

W
R
O
L
E
F
F K ER
F
C OV
U
A
B T ER
AT F F
B

Jorge Cedeo
Lenin
Tenecela

AGENDA

Terminologa
Definicin
Descripcin tcnica
Algoritmos
Conclusiones

Jorge Cedeo & Lenin Tenecela Lenguaje de Programacin


Carlos Mera Profesor.

TERMINOLOGA
Buffer
Memoria
de
almacenamiento
temporal
de
informacin que permite transferir los datos entre
unidades funcionales con caractersticas de
transferencia diferentes.
Overflow
(desbordamiento). En general, overflow hace
referencia a un exceso de datos, esto puede
redundar en datos perdidos o transferidos.
http://www.alegsa.com.ar/Dic/overflow.php#sthash.KE7D4hfp.
dpuf

Jorge Cedeo & Lenin Tenecela Lenguaje de Programacin


Carlos Mera Profesor.

DEFINICIN

A buffer overflow attack is an attack in which a malicious user


exploits an unchecked buffer in a program and overwrites the
program code with their-own data. If the program code is
overwritten with new executable code, the effect is to change
the program's operation as dictated by the attacker. If
overwritten with other data, the likely effect is to cause the
program to crash.
Microsoft
http://www.sans.org/reading-room/whitepapers/securecode/buffer-overflow-attack-mechanism-methodprevention-386

BUFFER OVERFLOW
Es unerror de softwareque se produce cuando
un programa no controla adecuadamente la
cantidad de datos que se copian sobre un rea
de memoria reservada a tal efecto (buffer).

Jorge Cedeo & Lenin Tenecela Lenguaje de Programacin


Carlos Mera Profesor.

Jorge Cedeo & Lenin Tenecela Lenguaje de Programacin


Carlos Mera Profesor.

AMD and Intel x86-64 chips with


associated 64-bit operating systems
Windows XP SP2 (both 32- and 64-bit)
Windows 2003 SP1 (both 32- and 64-bit)
Linux after 2.6.8 on AMD and x86-64
processors in 32- and 64-bit mode
OpenBSD (w^x on Intel, AMD, SPARC,
Alpha and PowerPC)
Solaris 2.6 and later with the
noexec_user_stack flag enabled

Jorge Cedeo & Lenin Tenecela Lenguaje de Programacin


Carlos Mera Profesor.

Language/En Compiled or
vironment
Interpreted
Java, Java
Virtual
Machine
(JVM)
.NET
Perl
Python interpreted
Ruby
C/C++
Assembly
COBOL

Direct
Memory
Access

Strongly
Typed

Safe or
Unsafe

Both

Yes

No

Safe

Both
Both

Yes
Yes

No
No

Safe
Safe

Intepreted

Yes

No

Safe

Interpreted
Compiled
Compiled
Compiled

Yes
No
No
Yes

No
Yes
Yes
No

Safe
Unsafe
Unsafe
Safe

Jorge Cedeo & Lenin Tenecela Lenguaje de Programacin


Carlos Mera Profesor.

Tcnicas Generales de Prevencin


Elegir adecuadamente un sistema operativo
Soporte para Non-executable stacks.
Parches
Elegir un programa seguro
Usar funciones seguras
Herramientas de compilacin
Ser un programador seguro
Hacer auditoras al cdigo
Entrenamiento a los desarrolladores
Peridicamente escanear el software

Jorge Cedeo & Lenin Tenecela Lenguaje de Programacin


Carlos Mera Profesor.

Conclusiones
La mayora de los ataques se dan en C
La mayora de ataques se dan con
cadenas de texto
Los programadores somos los culpables
de estas tcnicas de ataque

Jorge Cedeo & Lenin Tenecela Lenguaje de Programacin


Carlos Mera Profesor.

Das könnte Ihnen auch gefallen