Escolar Documentos
Profissional Documentos
Cultura Documentos
Chema Alonso
MVP Windows Server Security
Informtica 64
chema@informatica64.com
Agenda
Principios de Seguridad
Ataques a Sistemas
Actualizaciones de Seguridad
Seguridad en Servidores
Seguridad en Clientes
Principios de Seguridad
Seguridad
La seguridad depende de 3 factores:
Procesos:
Procedimientos y operaciones en nuestros
entornos
Personas
Poca formacin
Tecnologa:
Estndares (TCP/IP)
Productos de los fabricantes (IIS,Apache)
Desarrollos personales
Porque Atacan?
Hacer Dao
Motivos Personales
Desquitarse
Fundamentos polticos o
terrorismo
Gastar una broma
Lucirse y presumir
Motivos Financieros
Robar informacin
Chantaje
Fraudes Financieros
Daos en la
reputacin
Deterioro de la
confianza de los
inversores
Daos en la
confianza de los
clientes
Datos
comprometidos
Consecuencias
legales
(LOPD/LSSI)
Interrupcin de
los procesos de
Negocio
Bug
Un error de software o computer bug, que
significa bicho de computadora, es el resultado
de una falla de programacin introducida en el
proceso de creacin de programas de
computadora. El trmino bug fue acreditado
errneamente a Grace Murray Hopper, una
pionera en la historia de la computacin, pero
Thomas Edison ya lo empleaba en sus trabajos
para describir defectos en sistemas mecnicos
por el ao 1870.
Fuente: Wikipedia en Espaol
Exploit
Exploit (viene de to exploit - aprovechar) - cdigo escrito
con el fin de aprovechar un error de programacin para
obtener diversos privilegios. software.
Un buen nmero de exploits tienen su origen en un
conjunto de fallos similares. Algunos de los grupos de
vulnerabilidades ms conocidos son:
Vulnerabilidades de desbordamiento de pila o buffer overflow.
Vulnerabilidades de condicin de carrera (Race condition).
Vulnerabilidades de error de formato de cadena (format string bugs).
Vulnerabilidades de Cross Site Scripting (XSS).
Vulnerabilidades de inyeccin SQL (SQL injection).
Vulnerabilidades de inyeccion de caraceres (CRLF).
Payload
In computer virus jargon, the payload of
a virus or worm is any action it is
programmed to take other than merely
spreading itself. The term is used for all
intended functions, whether they actually
work or not.
Fuente: Wikipedia
Software Seguro
El software Fiable es aquel que hace lo que se
supone que debe hacer.
El software Seguro es aquel que hace lo que se
supone que debe hacer, y nada mas.
Son los sorprendentes algo mas los que producen
inseguridad.
Cdigo y poder
El cdigo fuente es poder
Tanto para defenderse como para atacar
Proceso explotacin
Vulnerabilidad
1.- Se descubre una vulnerabilidad
a) Por el fabricante
b) Por un tercero
2.- Se aprende a explotarlo
a) Ingeniera inversa de Cdigo
b) Ingeniera inversa de Patch
3.- Se usa un Payload para automatizar
Win32
Linux/Unix
Nombre
del Virus
Slammer
BugBear
Slapper
Ramen
Klez
Lion
Scalper
Nimda
CodeRed
Blaster
Vulnerabilidades
http://www.securityfocus.com/bid
Ataques a Sistemas
Ataque:
Envenenamiento ARP
Tcnicas de Spoofing
Las tcnicas spoofing tienen como
objetivo suplantar validadores
estticos
Un validador esttico es un medio de
autenticacin que permanece invariable
antes, durante y despus de la
concesin.
Niveles Afectados
SERVICIO
Nombres de dominio
Direcciones de correo electrnico
Nombres de recursos compartidos
RED
Direccin IP
ENLACE
Direccin MAC
Envenenamiento de conexiones.
Rip Spoofing.
Hijacking.
Spoofing SMTP
Spoofing DNS
WebSpoofing.
ta
es
1
:5
1.
66
1.
7:
1.
:7
en :88
99 44
5:
1.1.1
.1
1.
99 1.
:8 1.2
8: e
77 st
:6 a e
6: n
55
:4
4
e
n
e
i
nt
e
i
Qu 1.2?
.
1.1
1.1.1.2 esta en
00:11:22:33:44:55:66
1.1.1
.2
Cifrado de comunicaciones.
IPSec.
S/MIME.
SSL.
Certificado de comunicaciones.
Ataque:
SQL Injection
Riesgos
Permiten al atacante:
Saltar restricciones de acceso.
Elevacin de privilegios.
Extraccin de informacin de la Base de
Datos
Parada de SGBDR.
Ejecucin de comandos en contexto
usuario bd dentro del servidor.
Tipos de Ataques
Ejemplo 1:
Autenticacin de usuario contra base de
datos.
Usuario
Clave
****************
Tipos de Ataques
Ejemplo 1 (cont)
Usuario
Administrador
Clave
or 1=1
Tipos de Ataques
Ejemplo 2:
Acceso a informacin con procedimientos
de listado.
http://www.miweb.com/prog.asp?parametro1=hola
http://www.miweb.com/prog.asp?parametro1=1
Tipos de Ataques
Ejemplo 2 (cont):
http://www.miweb.com/prog.asp?parametro1= union select
nombre, clave,1,1,1 from tabla_usuarios; otra instruccin;
xp_cmdshell(del c:\boot.ini); shutdown -
http://www.miweb.com/prog.asp?parametro1=-1 union select .....;
otra instruccin; --
Contramedidas
No confianza en medias de proteccin en cliente.
Comprobacin de datos de entrada.
Construccin segura de sentencias SQL.
Fortificacin de Servidor Web.
Cdigos de error.
Restriccin de verbos, longitudes, etc..
Filtrado de contenido HTTP en Firewall.
Fortificacin de SGBD.
Restriccin de privilegios de motor/usuario de acceso desde web.
Aislamiento de bases de datos.
Ataque:
Cross-Site Scripting (XSS)
Riesgos
Ejecucin de cdigo en contexto de
usuario que visualiza datos.
Navegacin dirigida
Webspoofing
Spyware
Robo de credenciales
Ejecucin de acciones automticas
Defacement
Tipos de Ataques
Mensajes en Foros.
Firma de libro de visitas.
Contactos a travs de web.
Correo Web.
En todos ellos se envan cdigos Script
dainos.
Contramedidas
Fortificacin de aplicacin
Comprobacin fiable de datos
Fortificacin de Clientes
Ejecucin de clientes en entorno menos
privilegiado.
Fortificacin de navegador cliente.
MBSA.
Polticas.
Ataque:
Troyanos
Hay un amigo en mi
Definicin
Programa que se ejecuta sobre nuestra
mquina y cuyo control no depende de
nosotros.
Los Hackers lo llaman Boyfriend.
Mil formas, mil colores, mil objetivos.
Obtencin de Privilegios
El programa corre sobre nuestra
mquina.
Corre con una identificacin de usuario
del sistema.
Debe obtener privilegios para poder
ejecutarse.
Cmo los obtiene?
Obtencin de Privilegios
Fallo en la cadena:
Procesos:
Sistema no cerrado.
Tecnologa:
Fallo en sw de sistema operativo
Fallo en sw ejecucin de cdigos.
Personas:
Ingeniera Social: Que lindo programita!
Navegacin privilegiada
Objetivos
Control remoto:
Instalan suites de gestin del sistema.
Robo de informacin
Modificacin del sistema:
Phishing
Creacin de usuarios
Planificacin de tareas
....
Instaladores de otro SW
Troyanos Comerciales
Su difusin es extrema.
Se han hecho famosos debido a su
extensin.
Suelen ser utilizados por principiantes
Casi todos los sistemas Anti-Malware son
capaces de detectarlos.
An as siguen siendo tiles porque
mutan.
Algunos
Back Orifice
NetBus
NetDevil
SubSeven
Ptakks
......
Deteccin de Troyanos
Anti-Mallware
Antivirus
AntiSpyware
Ataque:
RootKits
Los Otros
Definicin
Software malintencionado que tiene total
control de la maquina infectada y es
TOTALMENTE INVISIBLE, tanto para
para los usuarios de la maquina como
para todo el software que se ejecuta en
ella.
Que es un RootKit?
Originalmente Fichero Troyano con una puerta trasera
Cambia ficheros, ejmp., netstat.exe
Pueden ser detectados con herramientas tipo Tripwire
Breve Historia.
A principios de los aos 90s, los RootKits
aparecen por primera vez en el mundo Unix
Al final de los 90s, Greg Hoglund y su equipo
los introducen por primera vez en los entornos
Windows. http://www.rootkit.com
La creacin y la deteccin de los RootKits
continua evolucionando
Modo Usuario -> Modo Kernel -> flash RAM
Nuevas tcnicas en cada nivel
Interceptacin de APIs a
nivel de Usuario
Aplicacin
(Ejem., taskmgr, tlist)
PSAPI.DLL
EnumProcesses
MODO-USUARIO
MODO-KERNEL
NTDLL.DLL
NtQuerySystemInformation
NTOSKRNL.EXE
Cdigo Malicioso
RootKit
Interceptacin de APIs a
nivel del Ncleo KERNEL
Aplicacin
(Ejem., taskmgr, tlist)
PSAPI.DLL
EnumProcesses
MODO-USUARIO
MODO-KERNEL
NTDLL.DLL
NtQuerySystemInformation
NTOSKRNL.EXE
Cdigo Malicioso
RootKit
Hacker Defender
Es el RootKit mas extendido en los sistemas
Windows.
Ficha:
Autores:
Holy_Father holy_father@phreaker.net
Ratter/29A ratter@atlas.cz
Version: 1.0.0
Home Page: http://rootkit.host.sk, http://
hxdef.czweb.org
Programacin: Delphi
SO: NT, 2000, XP
Objetivo
Reescribir algunos segmentos de memoria en todos los
procesos que se ejecuten en una mquina para:
Esconderse a si mismo y esconder:
Ficheros
Procesos
Servicios de sistema
Drivers de sistema
Claves y valores del registro
Puertos abiertos
Configuracin I
Se configura mediante un fichero INI que tiene
los siguientes campos:
[Hidden Table]: Listado de directorios ficheros y
procesos que deben ser ocultados
[Root Processes]: Procesos que no sern
infectados por el RootKit.
[Hidden Services]: Servicios que no se listarn
[Hidden RegKeys]: Claves del registro ocultas
[Hidden RegValues]: Valores del registro ocultos.
Configuracin II
[Startup Run]: Ejecutables que se ejecutan cada
vez que se inicia el RootKit.
[Free Space]: Espacio que se aade a cada
disco duro.
[Hidden Ports]: Puertos abiertos que han de ser
ocultados de aplicaciones tipo OpPorts, FPort,
Active Ports, Tcp View etc
[Settings]: 8 valores para configurar diferentes
cosas.
Deteccin
Lo mejor es no tener que detectarlos, pues no es
tarea fcil. Para ello hay que evitar que entren en
nuestra mquina:
Actualizar los parches del sistema
Utilizar antivirus
Utilizar firewalls
Utilizar Sistemas Operativos modernos
Deteccin
Lo mas fcil es detectarlo antes de que se instale. (Antivirus,
antispyware, etc)
Si ya esta instalado se puede detectar de tres maneras:
Casualidad.
Cuelgues de la mquina
Software AntiRootKit
Tripwire.
http://www.tripwire.com/products/technology/index.cfm
RootkitRevealer de Sysinternals
http://www.sysinternals.com/ntw2k/freeware/rootkitreveal.shtml
Blacklight de F-Secure
http://www.f-secure.com/blacklight/try.shtml
Tcnicas de Deteccin
En Modo - Usuario:
Puenteando las intercepciones a las llamadas de la API
(escribiendo tus propias API)
Detectarlos en modo Kernel
En modo Kernel
Examinar directamente la estructura de datos en modo
Kernel sin hacer llamadas a las APIs
Verificacin de KiServiceTable
Verificacin de las firmas de las funciones que estn en
memoria.
Futuro - Presente
Rootkits de BIOS programados con ACPI
presentados en BlackHat Conference
Enero 2006
Rootkits de BBDD presentados en
Microsoft BlueHat Conference 2006
Rootkits VM presentados por Microsoft
Research y Universidad Michigan Marzo
2006.
Actualizaciones de
Seguridad
Terminologa y Consideraciones
acerca de las actualizaciones de
Seguridad
Timpacto
Triesgo
Herramientas de
Monitorizacin y Auditoria
El objetivo es dejar un Servidor en Da-0.
Zero Day Server es aquel que tiene todo el software
que corre en su sistema actualizado y no tiene
ningn bug conocido.
Es el mximo nivel de seguridad que se puede
alcanzar con el software que corre en un sistema.
Existen Zero Day Exploits
Auditorias de seguridad
No son las nicas que deben hacerse
Se deben realizar de forma automtica y de forma
manual [artesana].
Con la visin de un atacante y con la visin del
administrador.
Scanners de Vulnerabilidades
Satan, Saint, Sara
Shadow Security Scanner
http://www.safety-lab.com
Retina
http://www.eeye.com
Nessus
http://www.nessus.org
NetBrute, R3X
Actualizaciones en Microsoft
Security Patch
Critical Update
Update
Hotfix
Update Roll-Up
Service Pack
Niveles de Severidad
Rating
Definition
Critical
Important
Moderate
Low
Gestin de Actualizaciones
MBSA
Ayuda a identificar sistemas Windows
vulnerables.
Escanea buscando actualizaciones no aplicadas y
fallos en la configuracin del software.
Escanea distintas versiones de Windows y distintas
aplicaciones.
Escanea en local o mltiples mquinas en remoto
va GUI o lnea de comandos.
Genera informes XML sobre los resultados de cada
equipo.
MBSA
EXBPA
Examina un despliegue de Exchange
Server y determina si esta configurado
siguiendo las recomendaciones de
Microsoft.
Genera una lista de puntos, como
configuraciones mejorables, u opciones no
recomendadas o soportadas.
Juzga la salud general del sistema.
Ayuda a resolver los problemas encontrados.
EXBPA
Productos de Terceros
Compaa
Producto
URL
Altiris, Inc.
http://www.altiris.com
BigFix, Inc.
http://www.bigfix.com
Configuresoft, Inc.
http://www.configuresoft.com
Ecora, Inc.
http://www.ecora.com
http://www.securitybastion.com
http://www.landesk.com
Novadigm, Inc.
http://www.novadigm.com
PatchLink Corp.
PatchLink Update
http://www.patchlink.com
Shavlik Technologies
HFNetChk Pro
http://www.shavlik.com
UpdateExpert
http://www.stbernard.com
Fortificacin de Servidores
Fortificacin
Consiste en la aplicacin de tres principios:
Defensa en Profundidad (DP):
Mximo nmero de medidas de proteccin que se puedan
aplicar siempre que:
Una medida no anule a otra
No haya deterioro en la disponibilidad del sistema
Plantillas de seguridad
Definen los valores necesarios para las directivas de
seguridad de los servidores en funcin de su rol y su entorno.
Se pueden aplicar de forma local o a travs del dominio.
Afectan a los siguientes componentes:
Gua
Cuentas de usuario.
Grupos restringidos.
Auditoras.
Servicios.
Derechos de usuarios.
Claves de registro.
Opciones de seguridad.
Sistema de ficheros.
Visor
de sucesos.en Windows Server 2003
de
Seguridad
Herramientas
Anlisis y configuracin
Resultante de polticas.
Sistema complementario de los
anteriores que evala no solo
plantillas de seguridad sino GPO.
Presenta dos herramientas:
RSoP. Herramienta grfica.
GPRESULT. Lnea de Comando.
GPMC
Seguridad en Servidores:
Windows 2003 SP1
Se configura en el Boot.ini
/noexecute=PolicyLevel
OptIn Se habilita el Software DEP. El Hardware DEP solo se activa
para aplicaciones que se configuran especficamente.
OptOut Se activan tanto el Software DEP como el Hardware DEP.
Solo se deshabilitan para aplicaciones especificadlas en al lista de
excepciones.
AlwaysOn El Software DEP y el Hardware DEP siempre estn
habilitadas. Cualquier excepcin es ignorada.
AlwaysOff El Software DEP y el Hardware DEP estn
deshabilitadas.
Seguridad en Clientes
Bests Practices
Fortificacin estacin de Trabajo
Windows XP Service Pack 2
Gua de fortificacin de estaciones de
Windows XP (
http://www.microsoft.com/spain/technet)
Utilizacin de Firewall
Navegacin restringida
Uso de Antivirus/Antispyware
Formacin del usuario
Distribucin
Windows Update
Centro de Descargas
Sitio Web
Actividad de MSRT
2.7 billones de
ejecuciones
270 millones de equipos
Resultados MSRT
16 millones de infecciones
5.7 millones de equipos infectados
1 infeccin cada 311
Prevencin
Amenaza
Tecnologa en Vista
Vulnerabilidad de Software
Ingeniera Social
Vulnerabilidad de la Poltica
Aislamiento
Amenaza
Tecnologa en Vista
Fortificacin de Servicios
Firewall Bidireccional
IE Protected Mode
Remedios
Amenaza
Tecnologa en Vista
Estado de la Seguridad
Limpieza de Spyware
Windows Defender
Limpieza de Virus
DEP
Hardware
que el procesador lo soporte o implemente
Requiere
procesador marca reas de la memoria como No
ElEjecutable
excepto si especficamente contiene cdigo
ejecutable.
Puede causar problemas de compatibilidad.
DEP
Software
en cualquier procesador que soporte
Funcionalidad
Windows Server 2003
los binarios del sistema de ataques relacionados
Protege
con el manejo de las excepciones del sistema.
Es raro que cause problemas de compatibilidad.
Proteccin de la Memoria
Data Execution Protection
Address Space Layout Randomization
Stack
Code
ASLR
Locals
Return
Address
Parameters
DEP
Windows Code
LoadLibrary()
Library Code
Previous
Frames
Application Code
Integridad de Sistemas de 64
Application
bit
Interrupt Dispatch Table
CreateFile()
Kernel32.dll
CreateFileW()
ntdll.dll
ZwCreateFile()
Interrupt Dispatch
Table
2E
Cambio fundamental en la
operativa de Windows
Hace que el sistema funcione bien como un usuario
estndar
Proporciona un mtodo seguro para ejecutar aplicaciones
en un contexto elevado
Requiere marcar las aplicaciones que no sean UAC
Deja claro las acciones que tienen un impacto en todo el equipo
2.
Leer: ww.microsoft.com/technet/windowsvista/evaluate/feat/uaprot.msp x
Internet Explorer 7
Adems de ser compatible con UAC, incluir:
Modo Protegido que solo permite a IE navegar sin mas
permisos, aunque el usuario los tenga. Ejem. Instalar
software
Modo de Solo-lectura, excepto para los ficheros temporales de
Internet cuando el navegador esta en Zona de seguridad de
Internet
Filtro anti-Phishing
Proteccin dinmica contra Webs
Realiza
3 chequeos para proteger al usuario de
Fraudulentas
posibles timos:
1.
2.
3.
Windows Defender
Monitorizacin
Deteccin
Limpieza
Software Explorer
SpyNet
If an attacker can persuade you to run his program on your computer, it's not your
computer anymore.
If an attacker can alter the operating system on your computer, it's not your
computer anymore.
If an attacker has unrestricted physical access to your computer, it's not your
computer anymore.
If you allow an attacker to upload programs to your website, it's not your website
anymore.
An out-of-date virus scanner is only marginally better than no virus scanner at all.
10
Preguntas ?
Web MVPs
TechNews
Suscripcin gratuita enviando un mail:
mailto:technews@informatica64.com
Desarrollo http://www.microsoft.com/spain/HOLdesarrollo
Contacto
Chema Alonso
chema@informatica64.com
http://www.elladodelmal.com
http://www.vista-tecnica.com
http://www.informatica64.com/retohac
king