xyberpix: ¿Cómo y qué te llevó a empezar en el descubrimiento de vulnerabilidades?
0xcharlie: Fue tiempo atrás, en la NSA así que no puedo hablar de eso. Pero me gusta mucho el concepto de análisis de la vulnerabilidades. Es levemente contradictorio en la naturaleza. La gente inteligente escribe software y tengo que tratar de encontrar errores que cometieron.
Además, me atrae de la misma manera que le atrae coleccionar tarjetas de béisbol a la gente. Me gusta tener un montón de errores que sólo yo conozco. Hay algo intelectualmente satisfactorio en eso.
xyberpix: ¿Qué le hizo escoger OS X como el que parece ser su objetivo principal?
0xcharlie: Yo nunca había tenido, o incluso utilizado realmente un Mac hasta que empecé en ISE hace 4 años. ISE me proveyó un Mac como mi equipo principal ya que es el estándar de la compañía. También había algunos clientes que estaban interesados en los Macs y el OS X, así que me vi obligado a aprender un poco acerca de cómo funcionaban. Así que estaba en condiciones de jugar con un Mac, al que realmente llegué a querer una vez que me acostumbré a el. Rápidamente encontré que era bastante fácil encontrarle errores y me gusta ir tras blancos fáciles. Otra cosa es que disfruto al arruinarles el día a los fanáticos. Un punto interesante es que la explotación es muy dependiente del SO (e incluso la aplicación), pero el análisis de vulnerabilidades es básicamente independiente del sistema operativo.
xyberpix: ¿Qué herramientas utiliza normalmente para encontrar bugs en Mac OS X?
0xcharlie: Generalmente fuzzers de elaboración casera. Pero también hago análisis de código fuente cuando está disponible y, ocasionalmente, ingeniería inversa.
xyberpix: ¿En qué consiste tu instalación de pruebas para la investigación de vulnerabilidades?
0xcharlie: Tengo una caja con Win XP Pro con IDA Pro. Pero también utilizo esa caja para la búsqueda de errores de Windows, por lo que tiene un montón de depuradores (Olly, WinDbg, ImmDbg), editores hexadecimales y otras cosas. También tengo una vieja máquina Linux que utilizo sobre todo para Source Navigator. También tengo un grupo de Macs, obviamente. Mi computadora principal es una MacBook 4 años de edad. Es todo lo que necesito en ella, así como todos los errores o los exploits que he escrito en ISE. También tiene varios fuzzers que he escrito (Python), montones de casos de prueba fuzzed, PyDbg, PaiMei, etc
xyberpix: Usted ha mencionado recientemente en Twitter que tiene bastantes exploits para OS X, ¿ha considerado la venta de éstos?, y si no lo ha hecho, ¿por qué no?
0xcharlie: No. Mi contrato de trabajo se lo prohíbe.
xyberpix: Ya que tiene una colección de exploits para OS X, ¿qué le que hizo a usted eligir utilizar el que usó para Pwn2Pwn por sobre los otros?
0xcharlie: Fue el más fácil de explotar. Como te habrás dado cuenta, básicamente soy perezoso y por eso me gusta el fuzzing.
xyberpix: ¿Vas a sacar más libros en un futuro próximo?
0xcharlie: No hay planes por el momento. Es un esfuerzo enorme por asumir. En un momento Dino Dai Zovi, Ralf-Phillip Weinmann (uno de los chicos Pwn2Own iPhone) y yo habíamos firmado un contrato para escribir un libro de seguridad del iPhone, que habría sido bastante impresionante, pero nunca se materializó.
xyberpix: ¿Cómo se siente ahora tras ganar Pwn2Pwn 3 años seguidos?, y ¿vas a ir tras el cuarto?
0xcharlie: Me sentí un poco desilusionado en realidad. Fue de un modo más divertido el primer año en que hubo un poco más de sorpresa. Durante el último mes o dos he estado diciendo que me estoy retirando después de este Pwn2Own. Es una gran cantidad de estrés y las reglas cambian constantemente por lo que es difícil. Además, los exploits para Snow Leopard son mucho más difíciles de escribir que los exploits de Leopard, hasta el punto en que no es muy divertido. Pero tal vez voy a reconsiderarlo el próximo año. Llámame el Brett Favre de la piratería.
xyberpix: ¿Has pensado en ofrecer un curso de capacitación a los desarrolladores para enseñarles a encontrar errores?, de ser así esto ¿estaría disponible a nivel internacional?
0xcharlie: Sí, he pensado en ello. De nuevo, esto requeriría de una gran inversión de tiempo para desarrollar el curso para lo cual estoy demasiado ocupado para llevarlo a cabo en este momento. Por supuesto, yo trabajo en una empresa de consultoría por lo que si suficiente gente les da dinero a ellos, me lo harán hacer!
xyberpix: ¿Qué aconsejaría usted a alguien que comienza de cero sobre cómo identificar las vulnerabilidades y escribir exploits para ellas?
0xcharlie: Me han hecho esta pregunta muchas veces y no tengo una gran respuesta para ella. Estuve en la NSA durante 5 años, pero no muchas personas tienen esa posibilidad. Asegúrate de entender C/C++, luego ensamblador (assembly), y después ingeniería inversa para principiantes. Para encontrar errores, infórmate de todos los errores que se están discutiendo y como son así sabrás qué buscar. Luego comienza a hacer fuzzing e intenta clasificar todos los crashes. Para escribir exploits, busca algunos buenos exploits y ve cómo funcionan. A continuación, empieza a tratar de escribir algunos para vulnerabilidades conocidas o de las que has encontrado. Si tienes el dinero, tomar el curso de formación de Dino y Alex. Mi consejo principal es ensuciarse las manos y simplemente ir y hacerlo.
xyberpix: En una escala de 1 a 10, ¿cómo compararía el nivel de habilidad necesaria para identificar y explotar las vulnerabilidades de seguridad en los siguientes sistemas operativos Windows, OS X, Linux?
0xcharlie: Esta es una de las razones por la que es difícil entrar en este campo en estos días. Hace 10 años se requería un nivel de capacitación de 2, 5 años atrás un nivel de habilidad de 6 y ahora un nivel de calificación de 8 o 9. En cuanto a los distintos sistemas operativos Yo diría algo así como un 9 para Windows y un 8 para los demás.
xyberpix: Usted comenzó el Movimiento No Más Bugs Gratis (NMFB-No More Free Bugs), ¿cuál fue o es el su razonamiento detrás de esto?, y ¿ha tenido mucho éxito con la venta de vulnerabilidades/exploits a los fabricantes? ¿Diría usted que los fabricantes están reaccionando de manera positiva o negativamente a esto?
0xcharlie: La idea era que encontrar errores es un trabajo duro. Los grandes fabricantes cuentan con equipos de investigadores y gente de control de calidad a quienes se les paga mucho dinero para encontrar errores. Así, en el raro caso que se les escape uno y ponga a sus usuarios en riesgo, los fabricantes deberán caer sobre sí mismos para obtener esta información y obtener soluciones para sus clientes. En lugar de eso esperan que los investigadores les den los errores, traten con ellos, los convenzan que los errores son reales, les proporcionen una POC, toman la responsabilidad legal, etc y todo caridad. Bueno, como consultor profesional, los clientes me pagan por encontrar errores, así que empecé a preguntarme por qué mis clientes me pagaban y por el mismo trabajo los fabricantes no lo hacen.
En cuanto a que resultó de eso, esperamos que los investigadores también han comenzado a hacer esta pregunta. Me gustaría pensar que he contribuido a que ZDI tenga más participación de los investigadores, aunque no lo sé con seguridad. Los fabricantes más o menos ignoran el mobimiento NMFB. Ellos sólo se preocupan por su balance y el NMFB no lo afecta. Lo único positivo que he visto es alguien de Mozilla que recientemente dijo que estaban pensando en elevar su recompensa por errores a $ 500 y quería saber que pensaba yo respecto de cual sería un monto justo. Eso me hizo feliz. Más allá de Mozilla, nunca he oído hablar de alguien que venda un fallo a un fabricante, aunque Chrome ofrece un programa.
xyberpix: ¿Cuál sientes que es el mayor riesgo para lo navegadores Web ahora, y por qué?
0xcharlie: Probablemente la mayor debilidad es que los navegadores Web son una gran superficie de ataque y el atacante tiene un gran control. La superficie de ataque incluye HTML, JavaScript, imágenes, plugins (Java, Flash, Silverlight, etc.) Los atacantes pueden manipular la pila usando los lenguajes a su disposición. Esto forma una poderosa combinación para los atacantes.
xyberpix: ¿Cuál sientes que es el mayor riesgo en Internet es en este punto en el tiempo, y por qué?
0xcharlie: El riesgo más grande es cómo las compañías almacenan tu información personal y luego la pierden. Yo puedo manejar mi propio ordenador (la mayoría de las veces), pero cuando los sitios pierden mi información, soy incapaz de hacer nada al respecto (o de impedirlo).
xyberpix: Si tuviera que dar un pequeño consejo para los desarrolladores al cual todos deberían atender, ¿cuál sería?
0xcharlie: Pensar a la defensiva. Cada vez que escriba una línea de código o una función, piense la maneras en que los chicos malos podrían presentar los datos para causar un error. Piensa en todas las cosas que podrían salir mal y entonces podrá pensar en las formas para tratar de evitar que sucedan.
xyberpix: Tú y Steve Jobs se sienta a tomar una taza de café, dime ¿cómo sería esa conversación?
0xcharlie: ¡Excelente pregunta! En primer lugar tendría que decirle quién soy yo, porque él no tendría la menor idea. Intentaría decirle que con el tiempo esta cosa de seguridad le va a morder en el culo cuando los autores de malware se fijen en los Macs lo suficiente. Entonces escucharía pacientemente su explicación de por qué estoy equivocado y cómo va a ser todo. Probablemente me convencería. Por último, me quejaría que el iPad no tiene Flash. Pobre.
Gracias de nuevo a Charlie por tomarse el tiempo para responder a estas preguntas, realmente es apreciado.
Traducción: Raúl Batista - Segu-Info
Autor: xiberpix
Fuente: SecureTeam Blogs
Todo lo que publicas es una joya. ;)
ResponderEliminarSaludos.
Gracias. Son horas y horas de lectura para solo poner lo mejor...XD
ResponderEliminar[+] Salu2
He llegado tarde porque el post de de Abril pero
ResponderEliminarme gustaría comentar que ha sido una excelente entrevista :)
@Jose
ResponderEliminarSiempre es bienvenido un comentario.
[+] Salu2