viernes, 28 de octubre de 2011

Steve Jobs Aplicado a la Seguridad


Todos nos enteramos del fallecimiento de Steve Jobs. He de confesar que lo admiro y deseo expresar mi pesar por haberlo perdido. No podía dejar desapercibida la desaparición de mi “héroe digital”. ¿Cómo abordar el tema? ¿Lo que había significado para mí? ¿Resumir sus logros? Creo que hubiera sido más de lo mismo que hemos estado leyendo. Apliqué lo del “Think different” y me pregunté cómo algunas de las lecciones aprendidas podrían relacionarse a la seguridad de la información.

Antes de empezar, una advertencia. Varias de mis interpretaciones/comentarios no son exclusivas para la seguridad, ahórrense el comentario de “pero eso aplica para otras áreas/disciplinas también”, gracias. 

Ok. ¿Cómo armé este post? De entre las lecciones aprendidas que fui encontrando, seleccioné aquellas que podía citar para luego comentar mi manera de aplicar dicha lección al área de seguridad. Ya me dirán cómo me salió. 

Guy Kawasaki trabajó un tiempo para Apple y nos dice lo que desde su punto de vista aprendió de Steve Jobs.
 
Guy dice: Los Expertos No Tienen Idea.

Yo digo: hay de expertos a expertos en seguridad informática. Los hay quienes te dicen qué debes de hacer, pero no cómo debes de hacerlo y probablemente nunca lo han llevado a cabo o sólo han escuchado que alguien lo hizo en “alguna ocasión”. 

Te pueden decir que lleves un inventario de las aplicaciones autorizadas para ejecutarse en cada uno de los sistemas o que otorgues permisos de acceso a la información en base a la necesidad de saber (neek-to-know); también te pueden sugerir que bloquees el acceso a Internet a todos excepto a quienes realmente lo necesiten. 

Pero no te van a decir cómo hacerlo, ni quién más lo ha llevado a cabo exitosamente (y que lo sepan de primera mano). Lección: algunas veces los que nos dedicamos a la seguridad de la información expresamos alguna buena idea que suena bien en teoría o que supuestamente es una “buena práctica”, pero que al intentar aterrizarlo “al mundo real” informático *corporativo* resulta que es una pesadilla administrativa o que de plano no es factible implementarlo y hay que dar marcha atrás. 

El “qué” es importante pero sin el “cómo” se vuelve impráctico.

Guy dice: Los Clientes no te Pueden Decir lo que Necesitan.

Yo digo: las áreas de TI (y no TI) no te van a decir lo que la empresa necesita en cuestión de seguridad. Tu labor es ver la problemática, idear las posibles soluciones y vender (sí, vender) tus ideas para que sean compradas.  

Quien debe saber lo que la empresa necesita en cuestión de seguridad deben de ser los profesionales de seguridad. Debemos de estar atentos a los nuevas maneras de atacar y lecciones aprendidas. RSA, StuxNet, DuQu, APT, mobile malware o DigiNotar son cuestiones que hay que saber y entender para proponer lo que la empresa necesita para los ataques de hoy, no para los ataques de los 90. 
Si cuando llegaste ya estaba el antivirus, tu labor será darle continuidad o ver si hay algo mejor allá afuera? ¿Cuáles controles eficientes de seguridad sabes que necesita la empresa?

Guy dice: Salta a la Siguiente Curva.

Yo digo: mientras las empresas se pelean por tener su antivirus, la siguiente “curva” son las listas blancas (whitelist). ¿Cuáles son las tendencias en ataques y obvio en soluciones? ¿Cuáles son los controles más novedosos que pudieran servirnos en la empresa? 

Gartner publica tendencias en seguridad de la información; el SANS te puede dar buenos tips; a finales de cada año se publican a lo largo y ancho de Internet diferentes artículos referentes a las predicciones en cuestiones de seguridad de la información. ¿Estás al pendiente de las tendencias y “saltas a la curva”?

Guy dice: No Puedes Equivocarte con Gráficas y Grandes Fonts.

Yo digo: obvio, no sólo aplica al área de seguridad. Cuando expongas presentaciones gerenciales para explicar una problemática, nuevos controles u otras cuestiones que impulsen a la seguridad dentro de la empresa, ten cuidado en cómo presentas. Puedes seguir una regla del mismo Guy: 10-20-30. Diez slides de 20 minutos usando un font de tamaño 30. 

También puedes ver en YouTube alguna de las Keynote de Apple que haya dado Steve Jobs (un maestro en el arte de presentar). Hay que presentar con estilo para que se entienda lo que deseamos impulsar y el por qué estaremos más seguros con X propuesta o control. 

Como dije ya, la seguridad muchas veces hay que venderla porque para la alta dirección y el resto de las áreas de TI no es algo que sientan que necesitan, por lo tanto hay que venderla y saber exponer la necesidad.

Guy dice: Valor es diferente del Precio.

Yo digo: la seguridad cuesta dinero a las corporaciones, pero qué difícil es demostrar su valor para la empresa. En no pocas ocasiones se ve a la bolsa de seguridad como un gasto, y no como una inversión. Un mal necesario que cuesta y tiene un precio, pero que no queda claro “allá arriba” dónde está el valor. Retorno de inversión, pues. ¿Cómo se puede demostrar el valor de los controles/herramientas y del personal de seguridad? 

Y claro, no porque la bolsa ($$$) de seguridad esté llena significa que se está agregando valor. Y viceversa.

Guy dice: Los CEO de a de Veras Hacen Demostraciones.

Yo digo: qué importante es hacer demostraciones. Steve Jobs, siendo todo un CEO, salía al escenario (ver sus keynotes) y no sólo platicaba del producto, sino que también lo demostraba en vivo. Si un CEO millonario se da el lujo de hacer demos (pocos CEO lo hacen), no nos falta hacer lo mismo en seguridad para la parte de los riesgos? Muchas veces mostramos los supuestos riesgos en PowerPoint. No será mejor usar más BackTrack/Metasploit y mucho menos PowerPoint? 

De preferencia, los riesgos hay que “vivirlos” antes de creer en ellos “porque lo digo yo”. Por eso, qué mejor que te haga un hack lanzándote un exploit y tomar control de tu computadora…en lugar de ponerte un PPT y decirte que ¡aguas! porque podría hackearte cualquier día de la semana si así lo quisiera.


Neil Patel.
Basta de Guy. Vayamos con Neil Patel y sus lecciones:

Neil Patel dice: Mantenlo Simple.

Yo digo: Políticas de seguridad complicadas para entenderlas y claro, extensas como manuales de un transbordador espacial. Campañas de concientización de seguridad enfocadas en la ingeniería de la seguridad en lugar de estar centradas en las personas; posters de la campaña con mucho texto (font de 10) pero pocas imágenes (¡urge minimalismo!). 

Los usuarios no son ingenieros en sistemas ni en electrónica y hay que hablar su idioma, hacer que se sientan cómodos. ¿Puedes ser capaz de redactar una política de seguridad en dos páginas? ¿Reportes de indicadores en gráficas y en una sola página (dashboard)? ¿Reportes de tu análisis de riesgos o tu pentest que pesen menos de 1 kilo? Explicar un riesgo o un ataque puede ser complicado de entender “para el resto”, así es que mantenlo simple.

Neil Patel dice: Piensa en Grande.

Yo digo: recuerdo una historia que se me ha quedado grabada hasta hoy. Dice algo así. Le preguntaron a tres caballeros que estaban trabajando en una construcción sobre qué es lo que estaban haciendo. Uno dijo: “Pegando ladrillos”. Otro contestó: “Una pared bien alta”. El tercer hombre afirmó: “Me siento orgulloso porque formo parte de esta magnífica catedral que perdurará por siglos”. 

Como responsable de la seguridad de la información de una Institución, tú qué piensas que estás haciendo? ¿Instalando un detector de intrusos o siendo parte de la protección de la información y de la estrategia de seguridad de [nombre de tu empresa]?

Neil Patel dice: “Siempre hay Lugar para la Innovación”

Yo digo: ¿Cómo innovar en el área de seguridad? No estoy desarrollando productos de seguridad, en qué sentido podría innovar? Ok. Una vez hace años fui a una expo de publicidad. En lugar de pasar por ahí viendo y pensando en por qué la gallina cruzó el camino, me pregunté cómo podía aplicar eso que estaba viendo a la seguridad. 

Tuve la iniciativa de proponer una campaña de seguridad que no se había hecho antes con algunas ideas de la expo. Lo propuse y tiempo después arrancó la campaña. 

Ok, y luego? Tal vez pienses en una manera diferente de presentar una métrica o una mejor manera de convencerlo respecto a que se requiere seguridad en la empresa. Piensa diferente. Salte del molde “porque así siempre se ha hecho”. El punto es que no te empantanes en las cajas aburridas de siempre, “ve por la Macintosh”, por así decirlo. Steve alguna vez dijo: “Innovation distinguishes between a leader and a follower”.


Conclusión.

Hasta ahí le dejamos. Este post está ya demasiado largo. Sin embargo, There is One More Thing: pongo a tu disposición algunas ligas que a mí me han parecido interesantes sobre Steve Jobs, tal vez las disfrutes tanto como yo!

Plática con al autor de la biografía de Steve. Yo ya he pedido el libro llamado “Steve Jobs” de Walter Isaacson.

Entrevista con el exCEO de Apple John Sculley. Te transporta a la mente de Steve.

Video “Todos somos Steve”, me encantó la letra y el ritmo.

Video del famoso discurso de Steve Jobs en Stanford. Inspirador.

Libro “The Second Coming of Steve Jobs” de Alan Deutschman. Ya lo leí y lo recomiendo. Trata del periodo entre su salida de Apple y El Regreso.

Libro “iCon Steve Jobs: The Greatest Second Act in the History of Business” de Jeffrey S. Young. No lo he leído pero me lo han recomendado.

Documental de Discovery: “iGenius”. Lo llegué a ver completo en YouTube pero ya lo quitaron. Supongo que eventualmente pasará en México en el canal ya mencionado.

Dicen que a Steve le interesó este libro:  “The Innovator's Dilemma: The Revolutionary Book That Will Change the Way You Do Business” de Clayton M. Christensen. Lo tengo en mi lista de libros a leer.

domingo, 16 de octubre de 2011

Usuarios: Presuntos Culpables


El deporte favorito de algunos expertos en seguridad es levantar la voz en contra de esos infames usuarios. “Son el eslabón más débil de cualquier organización”. “Es que no tienen ni idea de que ponen en riesgo a la información” (favor de agregar tono de voz desesperada).
Desde hace tiempo abundan ejemplos de este deporte por despreciar la poca cultura en seguridad informática de los empleados corporativos: “Es que ni con campañas de security awareness entienden”.
Ahora bien, lo curioso es que cuando volteas a ver las infraestructuras informáticas de estos Señores de la Seguridad te das cuenta de que tienen más hoyos que un queso gruyere.
Sistemas operativos sin tener sus parches al día o aplicaciones desactualizadas y vulnerables. Eso sí, con antivirus (y tal vez no todos actualizados) pero sin listas blancas/firewall personal. Uso de protocolos inseguros “porque todavía no se pueden quitar”. Páginas web que dan la bienvenida a los SQL injection.
Me extraña que se quejen de lo descuidados que son los usuarios cuando ellos mismos no tienen las TI robustas y al día. “Es que mis usuarios le dan click a cuanta cosa les llega y *claro*… ya les cayó el exploit”. Ok dude, pero ese ataque en principio fue posible porque TÚ dejaste al Adobe Reader sin parchar, cierto?
Si bien puedes engañar al usuario para que te dé su contraseña por teléfono y ahí sí no es un problema informático, lo cierto es que muchos otros ataques son posibles en principio porque la infraestructura de TI tiene huecos…y ese no es el trabajo de los usuarios sino de los Señores de la Seguridad de la Información.
“Comprometieron el equipo de este wey y de ahí se metieron al servidor corporativo para sacar los números de tarjetas de crédito de nuestros clientes”. Cuando le preguntamos: “Oye, y el equipo del usuario necesitaba tener conectividad con el servidor corporativo??”. “Errr, bueeeeno. Pues no. Pero es que ÉL ejecutó el attachment cuando claramente debería de saber que es un riesgo…si hasta está en nuestra política de seguridad en la página 876”. “Ah! Mira. Pues qué te parece si hacemos un proyecto para restringir el acceso a los servidores para que no desde cualquier equipo se pueda acceder a ellos. Se puede hacer un filtrado por dirección IP y puerto”. “Aschhh, es que es muuucho trabajo. Mejor educar a los usuarios. Son la base de la seguridad ya que bla, bla, bla”.
No me malentiendan. Los usuarios son parte importante de la estrategia de seguridad dentro de las empresas y ciertamente muchas veces participan activamente para que un ataque se concrete (como por ejemplo en casos de APT). Mi punto es que no debes criticarlos cuando uno mismo no hace lo suficiente por su infraestructura.
En fin. Si conocen a un Señor de la Seguridad que se queje amargamente de lo incivilizados que son sus usuarios en cuestiones de seguridad, por favor acérquenle este pequeño artículo. Seguro me dirá que estoy mal…y saben? Me encanta estar mal.

miércoles, 5 de octubre de 2011

Steve Jobs, 1955 - 2011. Te extrañaremos.

martes, 4 de octubre de 2011

Contraseñas Fáciles de Recordar Pero Robustas


QAZwsx no es una buena contraseña. Tampoco lo es 123456. Los passwords fáciles de adivinar tienen una gran desventaja: que son fáciles de adivinar. Y aunque me preocuparía obviamente que un fulano llevara a cabo esta adivinación, es un hecho que existen herramientas con bastos diccionarios y listas que se encargan automáticamente de intentar las miles de contraseñas que probablemente un usuario (o administrador) pueda llegar a usar.
Así pues, 5noopY, 19761976, 4dmin, F4ust02000, AlejanDRO, Facebook1, tequiero o ammerica no son buenas elecciones aunque a primera vista puedan parecerlo. Los atacantes ya se saben los truquitos de cambiar algunas letras por números, poner sólo algunas letras en mayúsculas o la costumbre de usar nombres de artistas o equipos de futbol como contraseñas (sin olvidar poner 2000 al inicio o al final, es clásico). Y a partir de ahí, se hacen variantes (AlejandRO, AlejanDRO, AlejaNDRO, etc.) y se construye una lista con la cual se efectuarán los cientos de miles de intentos (online u offline).
Y a veces no es necesario hacer listas interminables de posibles contraseñas, basta ver el ejemplo del gusano Morto.
Las contraseñas hoy en día se usan para acceder a redes inalámbricas, para entrar a un sistema de cómputo, un servicio online (Facebook), entrar a la banca en línea o proteger un disco duro cifrado entre muchos otros usos cuyo objetivo es la de autenticar a alguien.
Muchos usuarios ante la cantidad considerable de contraseñas que deben de recordar, optan por usar el mismo password (o máximo un par de ellos) para los N servicios que usan. Y claro, seleccionan contraseñas fáciles de aprenderse y por lo tanto de adivinar. Los entiendo. No es fácil recordar 37 diferentes contraseñas complejas: {bL2BgB*~cwS@E:^PR'R"NPF/U&.
Basta de choro. ¿Qué podemos hacer? A continuación 3 opciones que yo les recomendaría.
Técnica HayStack.
Algunos expertos te dirán que uses contraseñas mega-complejas, con alta entropía ya que de otra manera no sirven. Sólo están contentos si seleccionas ##&ñQQ22!(/!4034Fq$RETyu/%GGc. “¡Maravilloso!”, te dirán. Sí claro, quiero ver quién se lo aprende..me cae que ni el experto usa esta clase de contraseñas. Ok, qué hacer? Técnica Haystack.
El inventor de este método es Steve Gibson, un verdadero experto en seguridad. En su página viene mucho mejor explicado. Aquí un resumen. Romper contraseñas por fuerza bruta se basa en el hecho de probar “n” combinaciones posibles de contraseñas, empezando por las más comunes y posteriormente “armar” posibles contraseñas plausibles; todo lo anterior utilizando herramientas de software que automatizan la labor.
Es posible generar contraseñas robustas pero fáciles de recordar si se tiene en cuenta el tamaño del “search space” o espacio de búsqueda según nos lo explica Steve.
Es posible por lo tanto generar una contraseña fácil de recordar y volverla robusta al completarla con caracteres (“padding”); de esta manera hacemos que el espacio de búsqueda o “search space” se amplíe considerablemente haciendo un hackeo por fuerza bruta excesivamente tardado. Asimismo se puede complementar esta técnica al introducir mayúsculas y números de tal forma que por ejemplo “teclado” queda compuesto como: “T3clado..........”
Vemos la “T” mayúscula, un “3” en lugar de “e” con diez puntos ”.” y según la calculadora del sitio ya mencionado, esta contraseña tardaría varios millones de años en descubrirse por un método de fuerza bruta/exhaustivo (asumiendo a un equipo haciendo mil intentos por segundo en tiempo real).
Otros ejemplos: “Fau5to%%%%%%%%%%%%”, “Rut3ador!!!!!!!!!!!!”, “G4to************”.
La ventaja del método de Haystack es que se pueden usar palabras comunes y muy fáciles de recordar pero muy difíciles de hackear por métodos de fuerza bruta. Entre más “padding” se agregue, más robusta será la contraseña pero mantiene su simplicidad. El tamaño sí importa..no tanto la alta entropía.
Técnica basada en Frases.
Existen varias maneras de crear una “passphrase” en lugar de un “password”. Si buscas en Google “create passphrase” encontrarás varias sugerencias. Por ejemplo una la propone Microsoft:
Iniciamos con una frase que te sea fácil de recordar: “Me encanta la pizza”. Le quitamos los espacios en blanco “Meencantalapizza”. Sustituimos algunas letras por números (se recomienda siempre sustituir los mismos números por las mismas letras para no hacerse bolas), por ejemplo “4” en lugar de “a”: “Meenc4nt4l4pizz4”. Vamos bien pero lo podemos hacer más robusto agregando dos caracteres especiales al final “Meenc4nt4l4pizz4%%”. Y violà. El enunciado clave fácil de recordar es “me encanta la pizza”.
Técnica basada en Papel.
Un experto en seguridad te va a decir que nunca, nunca pongas un password en un papel. Como yo no soy ningún experto, te digo que sí lo pongas. Claro, siguiendo ciertas reglas. Googleando “paper password” encontrarás varias técnicas. Una que me llamó la atención es la de Amit Agarwal en el sitio de Labnol.
Esta técnica se basa en el hecho de crear contraseñas que se construyen a partir de algo que se tiene (un papel de matriz de contraseñas) y algo que se sabe y que es una cadena pequeña de caracteres que el usuario memoriza para añadirla a lo que será la contraseña final.
Usando un papel (que recortaremos y traeremos con nosotros) construiremos una matriz:
Letra
A B
C D
E F
G H
I J
K L
M N
N O
P Q
R S
T U
VW
XYZ
Qi1
oc
FS
DEo
ClT
f)0
SGE
5Ss
Gr5
#$g
MN!
GT$
D&
Oot
9cc
~":
cj7
[aA
uic
nex
3NN
:Q$
jO
Re#
Mkb
1?p
xOO
%!1
0!P
F?z
TIb
57>
maz
nSe
aHl
ycI
XIr
irP
DOm
5f
Oot
N8h
9K
Zsm
g3I
d5
dG
mD
WXd
Xk
Qip
CX
LD
jPW
F3
fft
63Q
3E5
50D
B09
yBh
jj
A40
4CF
0D

Empecemos con una palabra sencilla de recordar: “gato”. La primera letra “g” se convierte en “Deo” siguiendo la matriz. Y continuando con el resto de las letras, nos queda que gato es “DEoOotXIrdG”.
Finalmente agregamos una serie de caracteres fáciles de recordar. Por ejemplo “México” con un par de números en lugar de letras: “M3xic0”. Y lo agregamos al final de la serie de caracteres que ya teníamos: “DEoOotXIrdGM3xic0”.
Si perdemos la matriz (recuerden que la tenemos impresa), resulta que el atacante no sabe que la palabra que seleccionamos fue “gato” y tampoco sabrá que le agregamos “M3xic0” al final.
Conclusión.
El mensaje a final de cuentas es que uses contraseñas difíciles de adivinar y de ser posible que uses passwords únicos para cada sitio/servicio/equipo que uses (recuerda que te puedes apoyar de la herramienta LastPass).
Hay diferentes técnicas que puedes llegar a utilizar para generar contraseñas robustas (a mí me convence la HayStack de Gibson); si no te gustan las aquí expuestas busca en Internet otras que te parezcan útiles, sencillas pero robustas.
A pesar de las promesas de dispositivos biométricos o los one-time passwords (tokens), hoy por hoy la manera más usada para autenticar son las contraseñas, así es que mientras otra cosa no suceda, es mejor aprender a convivir con ellas de la mejor manera posible, no crees?