October 18th, 2008
Seguridad para mortales
Como dice mi buen amigo Kwame, te vas a volver loco leyendo tanto de seguridad.
La verdad es que el asunto de seguridad es un tema ya sea para genios o para paranóicos, normalmente los moratales, aquellos que no andan por arriba del ±10% del IQ promedio, no tienen gran interés en el tema: “Mientras no pierda datos que me hagan perder el trabajo, no hay problema”.
Entonces qué puede esperar una persona normal (en cuestion de inteligencia y estabilidad emocional) cuando tiene interés en la seguridad computacional?
Respuesta rápida: Leer mucho, entender poco, aplicar conceptos básicos a sus sitemas (actualizaciones, seguridad permietral básica, monitoreo interno básico).
<Respuesta larga>
El proceso va a ser mucho más doloroso que para los afortunados genios y paranóicos, normalmente la falta de obsesión no ayuda a aprender cosas complejas como jugar ajedrez bien, cualquer matemática que vaya más allá de una derivada (integrales ya no califican como sencillas), o la razón por la que la teoría de cuerdas, o la de funcionales de la densidad han fallado en explicar cosas que otras teorías si han logrado (o para el caso, entender porque son usadas por tanta gente).
Pero a pesar de que va a requerir mucho trabajo (más que para los genios, y esos trabajan como locos), necesitamos mucha gente involucrada en la seguridad, no podemos dejarle el tema exlcusivamente a los “inteligentes”, no son suficientes, y normalmente no se ocupan de temas triviales como asegurar la red de una empresa que no tiene cientos de servidores y miles de PCs.
Lo básico es entender TCP/IP, jeje, si, ya se, pero es necesario, se puede aprender bastante sin entenderlo, pero eventualmente se llega a un punto en el que si no puedes entender al menos lo más básico de la salida de tcpdump (o incluso los argumentos de tcpdump correctos para cada situación típica) simplemente no vas a poder mejorar tu conocimiento, y mucho menos detectar problemas y solucionarlos (una intrusión califica como problema).
Desgraciadamente muy pocas escuelas le entran al tema de redes con una profundidad más allá de saber decir “trama de paquetes” o “modelo OSI”, pero tenemos internet !!, así que material para estudiar si hay.
Por otro lado, la realidad es que aunque los congresos de Software Libre son tan informales como todo entusiasta de ellos, son la mejor fuente de información tanto “legacy” como nueva. En los congresos de SL puedes encontrarte con temas tan novedosos como seguridad en virtualización, y desde luego fuzzing, buffer overflows, ID[S,P], nuevas formas de ataque (web 2.0 sale al tema constantemente en estos días), y un gran etcetera.
En un congreso de computo tradicional, incluso en eventos especializados de seguridad que no sean enfocados al SL, puedes encontrar cosas interesantes, pero en general el fuerte de la información que proporcionan tiene que ver con la comunicación a niveles superiores del organigrama, con justificar gastos, y con actualizar el caló ejecutivo en cuanto a seguridad computacional. Entonces, tienen su valor, pero está más relacionado con mantener tu trabajo, o justificar aumentos de sueldo.
Y bueno, aunque ya lo mencioné, hay que puntualizarlo bien, en la actualidad la mejor manera de aprender sobre seguridad es buscar información en Internet. Existen blogs muy interesantes (al final pongo ligas) sobre casi cualquier tema de interes en esta área, aunque normalmente esos blogs no son muy explícitos, nos dan muy buenas pistas, y de vaz en cuando pruebas de concepto (PoC, de sus siglas en inglés) muy educativas. Las listas de correo sobre avisos de seguridad también son muy importantes, hay un par al menos que discuten abiertamente muchos ataques, siempre hay que expulgar entre toda la basura, pero es una habilidad que se aprende fácilmente. Y por último, y no menos importante, hay que estar visitando los sitios que publican exploits, y todo lo relacionado a ataques locales y en red, ahí no solo nos damos cuenta de que vulnerables somos, sino que tenemos material para experimentar y aprender a distinguir la diferencia entre un programa en C que va a borrar nuestra información y uno que va a atacar una vulnerabilidad (no hace script kiddies de mejor nivel).
La seguridad es tan complicada y tan extensa que simplemente nunca vas a lograr tener un panorama completo, pero si podemos tener el conocimiento suficiente para disminuír en gran medida la posibilidad de un ataque exitoso. Por lo pronto esto fue todo por hoy, el panorama de la autopista al DF está atrayendo cada vez más mi atención, y no me voy a resistir.
</Respuesta larga>
Buen día.
Update (Gracias por el aviso Alex!)
Corregí el desastre de formato que había, es lo malo de escribir offline y solo dar el copy/paste cuando llegas a la oficina :), sorry
Ligas interesantes
- The Art of Software Security Assessment
- Security Ripcord
- Security Catalyst
- Tao Security
- Matasano Chargen
- Invisible Things