domingo, 24 de julio de 2011

Entrevista de FedoraProject.org: Steve, analista de seguridad informática

Quizá ya la hayas leído si es que acostumbrás a explorar el sitio web del Proyecto Fedora. Pero si aún no lo hiciste, aquí va una de las entrevistas que hay en dicho sitio, donde un analista de seguridad informática muestra algunas aplicaciones de Fedora ideales para llevar a cabo análisis de seguridad, y además ofrece algunos consejos para que puedas mantener tu sistema siempre seguro:

Steve, analista de seguridad informática

¿De dónde eres?

Por todos los Estados Unidos de Norteamérica. Actualmente vivo en Raleigh.

¿Cuál es tu profesión?

Analista de seguridad/Desarrollador.

¿Cuál es tu nick de IRC? ¿De donde viene?

Ashcrow. Cuando estaba en la escuela secundaria realmente me fascinaba "The Crow". Usaría muchas distintas referencias con Crow en mis apodos de IRC, pero ashcrow fue el único con el que me quedé.

¿Cuando te enteraste por primera vez de Fedora?

Mi primer contacto con Fedora fue Fedora Core 2. En ese momento era un usuario de Debian "de los duros". Ya que había utilizado Red Hat Linux en el pasado, decidí darle Fedora Core 2 una oportunidad. Honestamente pienso que Fedora Core 2 era simplemente buena, pero Fedora Core 3 me impresionó tanto que decidí instalarla en la computadora de mis padres. ¡Y a mi mamá realmente le encantó!

¿Cómo te has convertido en un desarrollador?

Leyendo código. En bachillerato estaba muy interesado en escribir código pero la mayor parte de los libros de programación eran bastante caros para mí. Recuerdo haber obtenido una copia de un viejo libro de lenguaje C, a mediados de los 90's con un disquete de 5 1/4" que me enseñó un poco. Pero la mayor ganancia que obtuve fue ver realmente a programadores de software libre y código abierto, haciendo su trabajo. Desde ese momento, comencé a escribir código y enviar parches a proyectos, y terminé siendo contratado en una pequeña empresa antes de su expansión al desarrollo de aplicaciones web, en Orlando, Florida.

¿Puedes explicarnos que significa la auditoría de seguridad? ¿Cómo llegaste a ser auditor de seguridad?

En pocas palabras, auditoría de seguridad es buscar problemas de seguridad en una aplicación o sistema. Una vez hallados, los riesgos son registrados y se reportan a los desarrolladores con información sobre como corregir esos problemas. Principalmente hago auditorías de seguridad de aplicaciones web y pentests (pruebas de penetración).

¿Qué clase de riesgos buscas típicamente cuando realizas una auditoría de seguridad?

La primer línea de riesgos sobre los cuales indago, son los mismos listados en OWASP's Top Ten (Proyecto Abierto de Seguridad de Aplicaciones Web). De los 10 listados comienzo a buscar lo que pueda encontrar acerca de los más comunes: inyecciones de código, scripting de sitios cruzados (XSS), falsificaciones de petición de sitios cruzados (CSRF) y redirecciones sin validar. Después de detectar las más comunes, comienzo a indagar más a fondo en la aplicación y encontrar problemas en la lógica de programación, mensajes de error, etcétera... que ayudarán a descubrir otros riesgos de seguridad.

Comparte con nosotros cuales son las 3 aplicaciones en Fedora que encuentras más útiles para las auditorías de seguridad.

Nmap, ratproxy y python.

¿Python? Como usas python para examinar la seguridad de aplicaciones web.

Cuando se hace una auditoría es importante se capaz de escribir ataques rápidos de prueba de concepto (POC). Python tiene una plétora de módulos que hacen ataques POC una delicia. Para enumerar algunos:

  • urllib/urllib2
  • BeautifulSoup
  • python-nmap
  • sulley
ipython y bpython son también ambientes de escribe-mientras-avanzas para intentar rápidas variaciones en ataques de POC. Usar módulos de Python así como herramientas generales de seguridad controladas por Python, rápidamente hacen de este lenguaje de programación una herramienta indispensable.

Dinos un poco acerca de nmap. ¿Cómo funciona? Puedes usarlo para analizar máquinas que no están corriendo sobre Fedora? ¿Hay algo que tú pruebes sistemáticamente para detectar riesgos, o lo tienes que utilizar manualmente para encontrar respuestas específicas?

Nmap (http://nmap.org/) es una herramienta de exploración de red. Nmap escanea un equipo o un conjunto de equipos y responde con información. Es comúnmente usado como un analizador de puertos.
Nmap puede encontrar o escanear prácticamente cualquier máquina en la red. La he usado desde hace tiempo cuando auditaba máquinas con Windows u OS-X también.
Yo uso Nmap como parte de mis auditorías junto con NSE (Motor de scripts de Nmap), scripts que en su mayoría provienen directamente del proyecto Nmap. Usualmente lo utilizo para revisar el estado del cortafuegos, servicios abiertos en un sistema y que versiones de los servicios están corriendo. Eso ya te arroja un reconocimiento inicial.

¿Qué es lo que hace ratproxy? ¿Puede analizar sistemas que no están corriendo Fedora? ¿Puede analizar sistemas que no corren sobre Linux? ¿Es un programa que ejecutas manualmente o lo dejas corriendo constantemente en el sistema?

Ratproxy (http://code.google.com/p/ratproxy/) es un proxy de auditoria pasiva de aplicaciones web. Se sitúa entre el navegador y la aplicación web que usted este auditando y recoge información según usted se vaya moviendo en el sitio. Este puede analizar casi cualquier aplicación web, sin importar el sistema operativo en el cual se este ejecutando. Como Ratproxy es pasivo se puede utilizar con aplicaciónes ajax.

Cuéntanos de alguna personalización interesante que le hayas hecho a tu escritorio en Fedora, de modo de permitirte realizar auditorías de seguridad más eficientes.

Utilizo una instalación de dos máquinas y tres monitores, con GNOME y synergy. Realmente espero que GNOME Shell sea considerado estable. ¡Lo uso en mis computadoras personales y realmente me encanta! Y si puedo, intento correr prácticamente todo a través de la terminal. Encuentro las aplicaciones en la terminal mucho más fáciles especialmente desde que comando todo a través de byobu/screen.

¿Puedes contarnos alguna vulnerabilidad que hayas descubierto recientemente utilizando Fedora?

Uniendo una redirección sin validar y una petición falsificada de sitio cruzado, monté un vínculo que haría lo siguiente:

  • Permitir al usuario ingresar normalmente
  • Después de ingresar, el usuario sería llevado a mi sitio 'malicioso'
  • El sitio haría una petición post con JavaScript en la aplicación original y ejecuta acciones a nombre del usuario que podrían incluir cosas como añadir o modificar otras cuentas de usuario.
  • El usuario entonces sería devuelto a la aplicación original como si nada hubiese ocurrido.

¿De acuerdo a tu experiencia descubriendo agujero de seguridad en aplicaciones, tienes un consejo o truco que sirva a los desarrolladores para evitar vulnerabilidades de seguridad en su código?

¡No confíes en tus usuarios! Deberías escribir código con la expectativa de que habrá al menos un usuario malicioso que no se detendrá ante nada para encontrar problemas en tu aplicación.

¿Algún consejo a los usuarios de Fedora para mantener sus sistemas seguros?

¡No olviden lo fundamental! Mantengan actualizando, usen reglas adecuadas para el cortafuegos (y usen el cortafuegos), apaguen servicios que no necesiten y usen contraseñas adecuadas.

¡Gracias, Steve!

 

Fuente: Proyecto Fedora.

No hay comentarios:

Publicar un comentario