Entrevista a Ricardo Narvaja
En un artículo anterior dimos una recomendación de por donde empezar a buscar información para aprender ingeniería inversa desde cero y en este artículo recomendamos la web de Ricardo Narvaja y sus cursos.
Antes de entrar en el 2014 y para que sirviese de motivación para algún alma curiosa que cae en este artículo, publico la entrevista que le he podido hacer al gran Ricardo Narvaja. Ha tenido que ser por email, pues desplazarme hasta su localización me resulta imposible.
No me lio con más palabras y espero que os guste.
Preguntas introductorias, para conocer un poco mejor a Ricardo Narvaja.
Entrevistador: En mi caso, un día necesitaba un serial para un programa e incié como siempre una búsqueda en Google, después de varios intentos fallidos llegué a su curso, el cual ignoraría por completo en ese momento, pero al cabo de cuatro años volvería a visitarlo y a ponerlo en practica (no completamente por desgracia). De esto me surgen una serie de preguntas que siempre rondan por mi cabeza:
¿Que fue lo que le llevó a descubrir la ingeniería inversa?
Bueno antes que nada debo decir que yo soy mucho mejor entrevistado verbalmente que en forma escrita, los que me conocen saben que hablo mucho y un grabador delante puede llegar a sacarme horas de conversación y muchísimas anécdotas, lo cual no se me da en la entrevista escrita, pero bueno hay que adaptarse y por eso trataremos de no ser parcos al escribir.
También debo aclarar que soy muy malo recordando fechas exactas o años exactos en los cuales paso tal o cual cosa, así que seguro hallarán los «hace mucho tiempo», o «creo que hace tanto», y bueno uno cuando se va volviendo viejo los recuerdos los tiene, pero las fechas exactas se borronean, por lo cual le pido disculpas.
Yendo a la pregunta y haciendo un poco de historia breve yo nací en 1963 o sea que tengo 50 años.
Cuando fui al secundario me recibí de técnico en electrónica, me case y luego estudie en la facultad de ingeniería de la UBA hasta cuarto año, lamentablemente por problemas familiares tuve que abandonar sin haber dado mal jamás un examen, pero bueno la vida es así y me tocaron otras satisfacciones en compensación.
En el momento que en el secundario yo elegí la carrera de técnico en electrónica no existía en esa época ni rastros de la computación personal ni Internet ni nada de todo lo que existe actualmente, y cuando empece en la facultad (por 1983) aun no se había desarrollado el boom de la informática personal, fue algo que conocí posteriormente a dejar la facultad.
Comencé con una sencilla commodore 64 y como la mayoría era fanático de los jueguitos de la misma, y teníamos el famoso datasette para cargarlos y jugar, ahí empece a comprar revistas que traían trucos para poder obtener vidas infinitas y cheats, y me fue picando la curiosidad de como se podía obtener por uno mismo modificaciones a los juegos para poder tener mas chances al jugarlos.
En esa época salio un cartucho para la commodore 64 que se llamaba The Final Cartridge 3, que se colocaba en un slot de la commodore y tenia un botón que al estar jugando si lo apretabas freezeabas el juego o programa que estaba corriendo y entrabas en un menú del cartucho que era como un mundo interno de la maquina, tenia desensamblador, editor hexadecimal, dumpeador, debugger, al mejor estilo SOFTICE pero en vez de ser un programa era un cartucho que cumplía esa función y te permitía desde el punto en que habías frezeado el programa continuar inspeccionando traceando y curioseando.
Con esa herramienta y leyendo un poco las instrucciones de bajo nivel que encontre en esa epoca, empece a tracear y a ver como funcionaban los juegos a hacer mis propios cheats, a dumpear, parchear y muchas cosas mas que todavía hoy siguen siendo la base porque aun siendo otro procesador diferente al actual la lógica sigue siendo la misma y cuando uno va aprendiendo a meter mano en uno, luego la adaptación a otro escenario es simple.
Mientras tanto desde los 18 años trabajé en reparación de ascensores, y cuando llegaba a casa me ponía con la computadora horas y a veces no dormía o me quedaba en la cama pensando la solución de algún entuerto informático.
Con los años fui migrando hacia el mundo de la PC, y con las primeras conexiones a Internet, pudimos leer los primeros tutes de cracking de los maestros que eran muy parcos solo algunas lineas de texto con muy poca explicación, mas que nada para los que ya estaban en el mundillo del cracking.
No voy a poner aquí todos los grandes maestros pues todos tuvimos los mismos, pero creo que para muchos de nosotros la pagina de Karpoff era como la referencia donde se podían encontrar a los más grandes y de allí bajaba tutes y empece a dejar de lado los juegos (hoy en día hace años que no toco uno) y empezar a concentrarme en programas y sus protecciones.
El mundo del cracking es algo apasionante es un desafío constante y como hay gente que le gusta resolver palabras cruzadas, como un desafío mental, otros resolver puzzles, otros jugar ajedrez, a mi se me dio por tratar de vencer protecciones como un desafío y al lograrlo uno siente una satisfacción enorme realmente es un placer difícil de igualar para los que somos enfermos de esto jeje.
Yo seguí trabajando en ascensores y en el año 2000 entré en una lista de correo que se llamaba CONECTADOS de yahoo groups, allí alguien dijo que tenia un programa que necesitaba y si alguien podía encontrar el crack del mismo. Yo le contesté que era muy sencillo hacerlo por uno mismo que se olvide de buscar cracks y los haga el mismo, y envié un tute sencillo de como crackearlo por uno mismo.
Bueno eso fue en ese momento como una explosión, la mitad de la lista quedo anonadada y quería saber mas del tema, la otra mitad estaba en contra y decía que la lista no era para eso que nos fuéramos y eso hicimos el 18 de agosto de 2000 con un compañero de CONECTADOS creamos CRACKSLATINOS en yahoo groups y allí se fueron la mitad de los miembros de CONECTADOS que querían aprender, habiendo prometido mandar un curso semanal en nuestra lista, con capítulos que se irían incrementando desde cero para que todos aprendan.
Ese viejo curso hecho con SOFTICE pues aun no existía el OLLYDBG esta aun en mi web es llamado CURSO VIEJO y mucha gente empezó allí, fueron los primeros años de crackslatinos la llamada época dorada, yo enseñaba y aprendía a la vez, me iba sofisticando en el arte del cracking y el análisis.
Más adelante CRACKSLATINOS se mudo a google groups y allí dimos por terminado el curso viejo y comenzamos una nueva etapa el famoso CURSO DE CRACKING DESDE CERO CON OLLYDBG.
El mismo utilizaba una herramienta nueva en esa época llamada OLLYDBG que apenas salio yo me di cuenta el potencial que tenia, aun no siendo perfecto, y no teniendo como el SOFTICE la posibilidad de debuggear RING 0, igual me di cuenta que el uso del mismo era sencillo, tenia una curva de aprendizaje suave lo cual lo hacia ideal para novatos, al contrario del SOFTICE que era muy poderoso pero ya desde su instalación era complicado y difícil de manejar por un novato.
Por supuesto mi CURSO DE CRACKING DESDE CERO fue muy criticado por la mayoría de la scene y los expertos del cracking del momento, todos usaban SOFTICE yo era el primero que usaba OLLYDBG y los dardos a mi curso y al mismo OLLYDBG no se hicieron esperar.
Igual el CURSO DE CRACKING DESDE CERO tenia y tiene aun un atractivo que creo que es difícil de encontrar en otros cursos de cracking y es que al ser yo completamente autodidacta, trataba de no usar palabras difíciles (algunas no las sabia realmente jeje) y de ponerme en el lugar de un novato que lo estaba leyendo usando muchas imágenes para que no se pierdan, a diferencia de los tutes con cinco lineas de texto hechos para un especialista como la mayoría de los cursos que había en ese momento que eran inentendibles para los que no estaban dentro del mundillo del cracking.
¿Cuantos años hace ya que escribió el curso?
Bueno el CURSO DE CRACKING DESDE CERO fue escrito en la época en que salio el Windows XP, mientras que el curso viejo anterior con SOFTICE había sido realizado en WINDOWS 95, de ahi pueden calcular la edad de cada uno jeje.
¿Qué le motivó a redactar este curso?
Bueno un poco lo conté anteriormente, realmente me gustaba tanto y me gusta aun el tema del cracking y por otro lado sentí cuando entre en grupos de cracking antes de crear crackslatinos, que en la mayoría se trataba mal al novato como si no saber fuera un pecado, y como si hubieran nacido sabiendo, ante las preguntas de un novato las burlas eran lo común, por eso pensando en mi como un outsider de todo eso, y no queriendo entrar en ese jueguito tonto y burlesco contra el novato, pensé en crear un espacio donde los novatos se sientan cómodos, donde las preguntas sean respondidas si se ve que la persona esta tratando de aprender, un grupo diferente a lo que estaba en boga en esa época que eran los grupos cerrados solo de expertos y creo que crackslatinos lo fue y aun lo es, un especio para aprender y preguntar y practicar.
La mayoría de los que comenzamos la lista, aun estando en la misma ya no escribimos tutes pero bueno guiamos a los nuevos y por supuesto hay nuevas generaciones de crackslatinos que aprendieron y con el tiempo se convirtieron en maestros y bueno el recambio generacional existe y pasa aun en nuestra lista, los nuevos la mayor parte de las veces nos superaron, es la ley de la vida.
¿No le parece sorprendente que después de tantos años no se pueda considerar como desactualizado y siga siendo el material de referencia?
El curso es y fue pensado en forma humilde, no es grandilocuente, y creo que esta bien hecho para alguien que empieza desde cero, su curva de aprendizaje es suave, tiene muchas imágenes, mucha gente empezó con el, y luego continuo perfeccionandose, no puedo contar la cantidad de personas que hoy están trabajando en informática en puestos muy buenos que me cuentan que o bien empezaron con mi curso o bien complementaron lo que le enseñaban en la facultad con el mismo y les sirvió muchísimo, eso me hace muy feliz ademas que a mi mismo me sirvió y estoy trabajando en informática hace años como exploit writer, como muchos de los crackslatinos iniciales, la mayoría esta trabajando en informática usando el reversing tanto sea en empresas de seguridad o de antivirus o de informática en general.
Por lo demás al tener tantas imágenes, la traducción del CURSO DE CRACKING DESDE CERO a otros idiomas fue más sencilla ya que las mismas aclaran muchísimo, hay versiones de mi curso en los idiomas mas raros jeje.
Se ve que había un hueco en la enseñanza que no se puede acceder en ninguna facultad y supimos llenarlo con algo que hacía falta, por eso todavía aun siendo viejo es muy útil.
Preguntas enfocadas al mundo laboral de la ingeniería inversa.
A a día de hoy, con la cantidad de malware, virus, etc.. que hay que analizar ¿cree usted que la ingeniería inversa tiene salida en el mundo laboral?
En la empresa de seguridad que yo trabajo hay muchos crackslatinos trabajando desde exploit writers hasta testing, se de muchos que trabajan en empresas de antivirus o seguridad en general, yo creo que no hay mucha gente que se dedique a esto y no se enseña en ninguna facultad por lo cual a pesar de ser un mercado laboral pequeño, al ser pocos los que pueden realizar el trabajo, se consigue en general trabajo bien pago.
¿A que tipos de puestos de trabajo puede optar un experto en ingeniería inversa?
Y las posibilidades son muchas todo trabajo que requiera análisis y reversing de bajo nivel, el trabajo de exploit writer es un ejemplo, el análisis y descubrimiento de vulnerabilidades, el trabajo con virus y troyanos, hay mucho campo y poca gente que lo realiza.
Corríjame si estoy equivocado, pero dedicarse a la ingeniería inversa de forma profesional ¿es una de esas profesiones a las que se llega no cuando algo te gusta, sino cuando te apasiona?
Yo le llamo «la enfermedad», hay que ser medio enfermito de la informática para estar horas mirando lineas de código, el resto de la empresa donde yo trabajo, los programadores p ej. pasan por nuestros puestos y ven lo que hacemos y nos dicen que estamos locos que como podemos estar analizando por días o semanas código de bajo nivel, y bueno para mi es genial reversear y realmente no me gusta programar, jeje, salvo pequeñas tools para ayudarme a reversear, detesto el trabajo pago de programación, creo que es muy esclavo, los tiempos y plazos de entrega etc, en reversing no hay plazos es mucho mas libre, nadie puede saber cuanto puede llevar una tarea, es difícil de mensurar y de poner plazos, creo que nos movemos con mas libertad.
Mi curiosidad me puede y es inevitable preguntar si se dedica a la ingeniería inversa profesionalmente.
Luego de la crisis del 2001 acá en la argentina quede sin trabajo en ascensores y estando desocupado varios amigos de crackslatinos (+NCR) y MR. SICK me comentaron que había una empresa que buscaba reversers.
Bueno allí mande mi curriculum y justo estaba por entrar a la misma +NCR, estaba en la etapa de las entrevistas, y en las misma el les dijo que yo estaba sin trabajo y que le había enseñado a el y al resto de los crackslatinos y allí en CORE trabajaba y era uno de los dueños GERA (Gerardo Richarte) un experto en seguridad informática argentino conocido mundialmente y el había oído de mis cursos y los había leído así que me llamo.
Fui a la entrevista y le conté lo que sabia y dijo que el había leído mis cursos y que yo iba a ir bien en el tema exploit, le dije que nunca había hecho un exploit, me dijo que era muy parecido a crackear y reversear que usando eso y como yo ya sabia lo dificil que era reversear, el resto era cuestión de tiempo y ahí entre y aquí estoy hoy en CORE SECURITY, luego desde dentro siempre me pedían que traiga mas gente de la lista y así después de +NCR y yo, entraron SOLID, MR SICK, DAMIAN, MARCIANO, TENA, MCKSYS etc etc.
Preguntas generales.
¿Hay algún reto (programa, crackme o sistema de protección) que le haya causado especial satisfacción superar?
Me gusto mucho ser el primero en el mundo en vencer la protección copymem2 de armadillo con OLLYDBG se decía que era imposible que solo con SOFTICE se podía vencer y bueno le buscamos la vuelta con horas quitadas al sueño y la técnica base que se me ocurrió aun es usada hoy para programas con dos o mas procesos donde uno debuggea al otro (copymem2).
¿Que opina usted de la eficacia de los sistemas de protección de software empleados en la actualidad?
Obviamente han mejorado pero también han mejorado los crackers jeje es una carrera loca, creo que hoy día en promedio es mas trabajoso vencer una protección, pero siguen valiendo los viejos métodos y hay nuevos métodos que se han descubierto que uno va agregando con la experiencia.
¿Alguna vez ha pensado en editar un libro sobre ingeniería inversa? No se si es una idea descabellada, pero a mi me encantaría ver mi estantería con un ejemplar de ese libro.
Si pero cuando teníamos todo casi arreglado con una revista de informática que publicaba libros, los que publicitaban en la misma dijeron que si sacaban ese libro quitaban la publicidad pues era algo ilegal así que nada, no salio.
Entrevistador: Aquí termina la entrevista.
Para finalizar.
Desde Vozidea agradecemos de todo corazón el tiempo y la amabilidad de Ricardo Narvaja por concedermos esta entrevista. Esta era la primera entrevista que realizábamos en Vozidea y quizás la parte del entrevistador (la mía) no ha sido muy acertada por falta de experiencia, pero las respuestas de Don Ricardo han sido interesantísimas.
Desde Vozidea mandamos un saludo a Ricardo y a todos los miembros de la lista CRACKSLATINOS, que a nuestro parecer hacen un trabajo de divulgación científica en el área de la informática de los más interesantes que podemos encontrar en la red.