lunes, 18 de enero de 2010

¿Qué es en realidad un hacker?


En pocos lugares se encuentra una buena definición o explicación de lo que es y qué no es un hacker. Como siempre, leyendo y saltando de blog en blogs, me encontré con esta charla que la dio un profesional en la materia como Martín Rubio.

Así que, más lectura y menos pajística. La charla está unas líneas más abajo, se han movido algunas letras y añadido alguna mas (o quizas ninguna) a las palabras que se pueden leer mal, véase unas líneas más abajo el caso de la palabra "sobrero" la cambié por "sombrero", pero el post original en su integridad se encuentra en: http://networking-tic.info/ espero que lo disfruten como lo disfruté yo.

(Alguna que otra frase ya la había visto en el texto de "¿Cómo convertirse en hacker?" de su original autor (en inglés), Eric S. Raymond, quien también escribió "The loginataka". Aquí en español, aunque tampoco sea una versión aprobada de la original).

Originalmente el término hacker se usó para designar aquellas personas que trataban de resolver problemas que surgían en los computadores y las redes. Los medios de comunicación emplearon conceptos errados, tales como que los hackers son los buenos y los crackers son los malos. Términos que no tiene nada que ver con la realidad, porque los crackers son una especie muy particular de hackers que se especializan en algoritmos de encriptación y ecuaciones matemáticas.


Términos más acertados son los de Black Hat y White Hat (sombrero negro y sombrero blanco). se considera la persona que utiliza su conocimiento para obtener beneficios de forma ilegal son consideradas Black Hat y el que hace investigación para obtener mayor conocimiento sin hacer nada ilegal es un White Hat. Hay que tener en cuenta que en el medio de estos dos existen muchos tonos de grises.

Se dice que un hacker gana mucho dinero, pero eso del todo no es cierto porque no hay mucha forma de evidenciar si eres hacker o no. Uno puede bajar archivos de Internet, encontrar la clave de correo de la novia o de alguien más, pero eso no es ser un hacker.

Existen cientos de grupos y enlaces que resultan cuando se busca hackers en Colombia, y la verdad después de 15 años de experiencia no reconozco a ninguno como tal.

El hacker en la historia

El hacking empezó por la pasión por el conocimiento de cómo funcionan las cosas. Originalmente el hacking existe hace mucho tiempo y en Colombia precisamente por lo que somos un país subdesarrollado como mecanismo de evolución todos los colombianos somos muy recursivos y eso para nosotros es hacking. Hacking es buscarle solución a los problemas, es encontrar una oportunidad y aprovecharla. Obviamente hay una moral ligada a ello y si lo utilizo consciente de que estoy perjudicando a otros no es lo mismo que haga un descubriendo interesante que beneficie a todo el mundo.

Ya en cuanto a tecnología, el hacking arrancó con el phreaking o hacking de los sistemas telefónicos en su momento fijos. Hoy en día existe phreaking en telefonía celular, satelital, etc.. El más famoso es el Capitán Crunch, que hoy día tiene como setenta y pico de años. Él descubrió que las centrales telefónicas (que hoy en día son muy similares), en el fondo son un computador grandísimo, podía manipularlas, administrarlas a través del diseño de una interfaz por la cual uno podía desde un teléfono por medio de tonos hablarle a la central. Esas centrales todavía funcionan en algunos sitios como Colombia. Así, aunque vayan migrando a versiones más nuevas sigue habiendo los mismos problemas. Hay más seguridad en algunos campos, pero realmente la seguridad como tal no existe. En esa época yo podía levantar el teléfono y oprimir ciertos tonos específicos y la central sabía que yo le estaba hablando a ella y podía solicitarle que hiciera cosas para mí. Cuando uno está marcando un teléfono está dándole una orden tal cuál, está diciendo márqueme a este número y ese número para ella quiere decir comuníquese con tal central. Cuando por ejemplo marco 2111111 inmediatamente la central sabe que yo estoy tratando de comunicarme con una central de taxis, me ubica la más cercana a donde yo estoy ubicado y me envía el servicio, pero eso solamente es en marcada, hay millones de funciones.

Hace mucho tiempo, no funciona ahora, las empresas internacionales mantenían enlaces muy grandes para interconectarse, por ejemplo cuando ustedes llaman a Bélgica ¿Quién cobra la llamada? A ustedes les cobra Telecom, ustedes están utilizando circuitos y equipos de la telefónica de Bélgica pero ellos no les cobran a ustedes y si su prima en Bélgica los llama desde Bélgica pasa al revés, Telecom está prestando acá servicios pero no le está cobrando nada por eso. Lo que hacen o hacían las empresas de cada país eran acuerdos entre ellas diciendo: este canal que vamos a aponer entre Colombia y Bélgica dando un ejemplo, lo pagamos entre los dos, lo usamos entre los dos yo cobro lo que sale de aquí y usted cobra lo que sale de allá. Y si de Colombia hay llaman 200 personas y de Bélgica una, pues de malas para telefónica de Bélgica y viceversa ese era el acuerdo que ellos hacían y hacían estudios para que fuera equitativo. ¿Que pasa con esa línea entre la central de Colombia y la central de Bélgica? Es gratuita para ellos, la central puede tomar la línea en cualquier momento. Si yo tengo el control de la central le puedo decir présteme esa línea y yo voy a marcar a Bélgica gratis y cuando ustedes veían en las películas que un atacante llamaba a un país, bueno ahora se usa Internet, pero en esa época hacían llamadas de un país a otro y de ese a otro y así sucesivamente es a través de este método de phreaking telefónico se tomaba control de todas las centrales. Por ejemplo tomo control de la central de aquí y marco a Bélgica, tomo control de la central de Bélgica y llamo a Turquía, tomo control de la central de Turquía así a 4, 5, 6 países, después me llamo a mí mismo a otro teléfono y estoy hablando alrededor de todo el mundo conmigo mismo. Esa gente hacia cosas curiosas para aprender cómo funcionaba el sistema, hasta ahí nada era ilegal.

Después entraron los delincuentes informáticos a usar esto para su beneficio. Por ejemplo, montaban una línea caliente, iban a ETB y les decía: señores ETB yo quiero una línea que si alguien me llama por favor cóbrele $2500 + IVA por minuto, $2000 son para mi $500 para ustedes y cada mes me pasa la factura. Entonces las empresas colocaban la línea y al final de mes se pasaba un listado de las llamadas recibidas y se hacia un balance: tanto es suyo, tanto es mío.

Entonces esta gente montaba sus líneas y a través de centrales telefónicas por todo el mundo se llamaban a sus líneas calientes y dejaban días completos conectados, entonces al final del mes ETB decía tome su cheque por equis millones de pesos, esto es suyo esto es mío y listo, gracias por sus servicios pero en realidad nadie había llamado. Desde luego la compañía no se ponía a mirar de donde eran las llamadas.

Después eso evoluciono al hacking de hardware con la revolución de tratar de convertir un servidor o convertir un equipo de cómputo potente como el de las empresas en un equipo casero, ahí empezó el famoso computer underground o’clock, ahí estaban Steve Wozniak, Steve Jobs, Bill Gates, un montón de gente conocida y montón de gente que parecería desconocida pero salió a fundar Atari, juegos de maquinitas, Apple, y muchas empresas pequeñas de computo salieron de ahí a desarrollar software como Microsoft y en realidad solucionaron el problema. Quiero tener un computador en mi casa, quiero hacer un computador en mi casa, así solo tenga tres switch que prendan tres bombillos y no haga nada más. Esa curiosidad hizo que la gente hackeara la tecnología de cómputo para así poder tenerla en su casa.

Más adelante en los últimos 10 años se puso de moda la ingeniería social o social engineering. La persona más famosa es Kevin Mitnick. Él tenía unas habilidades excepcionales para sacarle información a la gente, cuando no lo estaban persiguiendo. La pasión de Mitnick era la telefonía, pero como no tenía mucha habilidad técnica y quería saber de telefonía, trataba de meterse a sitios de telefonía a robarse programas e información. Y en una de esas incursiones se encontró con quien no debía y lo empezaron a perseguir. Cuando lo atraparon él llevaba muchos años escapando a punta de ingeniería social. Por ejemplo un juez daba la orden de “chuzar” la línea del padre de Kevin, para saber donde estaba cuando él llamara. Como Mitnick tenía conocimiento del sistema telefónico y tenía la capacidad de hacer ingeniería social, de conocer toda las “jeringonsas” de los operarios del sistema telefónico, llamaba con toda la propiedad y decía: “soy el operador de la central tal, estamos en estado tal y necesito hacer un cambio en su central porque nos llegó la orden de un juez y la orden estaba mal y aquí tengo a tres personas del FBI, reclamando que cambie esa “chuzada” y le respondían “si perfecto no hay problema”. Si le pedían las claves, él ya las tenía. Pero finalmente lo que le metió en problemas fue eso, que levanto la “chuzada” del teléfono de su padre y se la puso al juez que había dado la orden inicial.

Eso es el hacking de personas, es vulnerar la confianza de una persona y eso es muy común. Hasta hace dos, tres años todos éramos extremadamente vulnerables a que nos pidieran la clave de Internet y uno la daba sin ningún problema.

¿Quién no es un hacker?

La gente que se hace pasar por hacker habla de lo que no conoce a fondo, enseña o trata de enseñar o le gusta que le enseñen. En la comunidad hacker uno nunca enseña ni pide que le enseñen, porque las características de un hacker básicas son la disciplina y dedicación, es importantísimo tener autosuficiencia y ser autodidacta. Entonces nadie me va a enseñar lo que yo necesito aprender. Me pueden guiar, me pueden decir léase esto o monte esto y pruebe que pasa. Entonces uno mismo está aprendiendo, pero nadie se va asentar de la mano a decirle mire haga estoy haga aquello. En los 15 años que vengo trabajando seguridad informática creo que he dictado más de cien cursos de diferentes temas, y si ahora cogemos a todas las personas que han asistido y les pregunto todo lo que hablábamos en los cursos, seguramente no recuerdan ni el 10%. Es muy diferente que le “enseñen” a uno a que uno mismo se enseñe.

Tomar créditos por otros, ser creído y arrogante con el conocimiento, saber bajar herramientas de hacking de Internet y hackear sitios no requiere mayor habilidad, saber programar no hace a un hacker, es una característica importante y necesaria en ciertos puntos para ser un hacker, pero no necesariamente. Tampoco saber de sistemas operativos como (GNU/)Linux. Todas esas son cosas que sumadas van aumentando la capacidad de ser hacker, pero no necesariamente son requisitos y no lo hacen a uno un hacker.

¿Quién es un hacker?

Para nosotros un hacker es una persona que siente un pasión especial por un tema en particular, tanto que está dispuesto a todos los días a aprender algo nuevo de ese tema, no necesariamente tiene que ver con tecnología, puede ser un hacker en astronomía o en arquitectura por ejemplo o en física por decir algo, es querer saber más, es querer ver cómo funcionan las cosas hoy, y ver cómo puedo ampliar ese conocimiento.

Que si hace un hacker:

Resuelve problemas y construye cosas sobre cualquier tema, para nosotros el mundo está lleno de problemas fascinantes para ser resueltos. Ningún problema tendría que resolverse dos veces, él ejemplo típico es: hace unos años intento ser vegetariano, a veces como carne pero intento no comer carne y descubrí en Avianca (una aerolínea colombiana) que si uno vuela y avisa que es vegetariano, le tiene un menú especial. Pero yo lo descubrí de otra manera, yo iba en un vuelo, no había avisado que era vegetariano y me dio la curiosidad de decir que yo era vegetariano y preguntar que si tenían un menú vegetariano. Bueno vamos a averiguar, fue la respuesta. A todos nos habían dado, yo obviamente lo rechacé, un sanduchito mínimo, con una tajadita de queso una tajadita de jamón y una hoja de lechuga. Me pareció un poco pobre para un vuelo de 4 horas. Entonces pregunté por el vegetariano por si de pronto tenía algo más, dos hojitas de lechuga, no sé... y me trajeron un plato gigantesco con una ensalada de frutas, con una ensalada de verduras, galletas integrales y otro montón de cosas. Obviamente toda la gente que estaba sentada alrededor mío ya no me quería, pero había descubierto cómo funcionaba el sistema, no era equitativo para los no vegetarianos. Entonces de ahí en adelante siempre pido vegetariano y termina uno comiendo más que lo que le planeaban dar por el precio que uno pago.

Hacking es buscar soluciones a problemas sencillos del día a día. Ningún problema tendría que resolverse dos veces. Si yo estoy implementando cualquier cosa, algo tecnológico o en mi casa tengo que cambiar un bombillo y me toco diseñar una escalera diferente o lo que sea, si yo lo soluciono, la idea es tratar de publicar los resultados para que el que tenga el mismo problema mañana, lo solucione en 5 segundos y se enfrente a la siguiente parte del problema y cada vez tengamos más conocimiento.

Si yo me siento 6 días, 6 meses o 6 años a solucionar un problema y después alguien se encuentra con el mismo problema y tiene que volver a hacer todo lo que yo hice, entonces no estamos avanzando, estamos todos como la teoría del cangrejo colombiano. Si dejamos un balde lleno de cangrejos del primer mundo, europeos o gringos y nos vamos, van a tratar de escalar y a hacer pata de gallina, cuando uno vuelve a la media hora el balde está vació. Si está lleno de cangrejos colombianos, al primero que empiece a subir los demás lo cogen de una pata y lo jalan y cuando uno vuelve a las tres horas, está todo lleno porque ninguno deja salir a ninguno. La idea es que todos nos colaboremos.

Si estás aburrido no tienes actitud de hacker. Un hacker siempre está pensando en algo. Yo tengo un problema en los ojos que es estrabismo, uno de los músculos de mis ojos jala más, generalmente para arriba. Entonces yo estoy o mirando para arriba o estoy agachando la cabeza para miraros. Por ese problema la gente piensa que cuando estoy mirando para arriba no estoy haciendo nada. Lo que pasa es que yo desarrollé esa enfermedad desde muy pequeño desde antes de tener dos años. Para mí es como si apagaran el monitor. Yo estoy pensando a dentro en otra cosa. La idea es que uno tiene un estado semicatatónico en el que si no está concentrado en el que tiene al frente, está concentrado en algo más.

La idea es que si uno se considera hacker, todo el tiempo se debe estar tratando de resolver algún problema. Puede ser ¿cómo pagar el recibo del agua o del teléfono?, pero es un problema que necesita solución. Técnicamente, buscamos a toda costa la libertad en todos los sentidos como el software libre y ese tipo de cosas.

Requerimientos para considerarse un hacker

Primero se requiere aprender los conceptos básicos, es decir si yo quiero aprender a hacer un cohete, lo primero es aprender que existe ya la fórmula y no empezar a solucionar el problema de cero. Ya alguien tuvo que haber trabajado en eso. Entonces es necesario aprender los conceptos que existen.

Segundo, entender el estado del arte, qué es lo más avanzado que hay afuera en este tema. Si ya sé hacer cohetes con agua, gas y ahora quiero hacerlo con explosivos o algo así (no sé si sea legal o no), siempre ver qué es los más avanzado que hay afuera y a partir de ahí desarrollar soluciones nuevas y si se logra un avance interesante, tratar de publicarlo, eso es opcional porque hay temas de los que no es fácil hablar. Pero la idea es tratar de publicar todo lo que uno encuentre para ayudar a los que vienen atrás.

Y no considerarse un hacker, hasta que un verdadero hacker lo llame a uno así. No hay que autoproclamarse.

Certificaciones de hacker

Existen en el mercado un montón de certificaciones para ser hackers, que dicen si usted toma este curso, paga 400 dólares, se sienta aquí dos horas y si pasa es un hacker. Obviamente después de ver todo lo que les he hablado antes, para nosotros esto es una cachetada, no estoy en contra de las certificaciones es muy probable que a mí me toque tomar varias de estas porque para el mercado son útiles, para una empresa no es lo mismo que le llegue un pelado de bachillerato y diga “yo sé hackear porque leo el correo de mi papá”. Yo les hago esa prueba de penetración cuando llega una persona diciendo yo tengo esta certificación. Así por lo menos sé, de qué me está hablando cuando usted le dice hágame unas pruebas sin negación de servicio. Esto le garantiza al mercado, por lo menos a las empresas, que la persona que están contratando sabe de qué le están hablando. No le certifica que sea un hacker, pero por lo menos certifica que es alguien competente o medianamente competente en el tema. Son útiles porque el mercado las va a pedir.

Si uno quiere hackear ¿cómo puedo empezar?

Primero, identificar si realmente se tiene la vocación y dedicación necesarias. En LowNoise HG mucha gente se nos acercan y nos dicen “yo quiero aprender a hachear” nuestra respuesta siempre va a ser: proponga un tema de investigación que le parezca interesante, nosotros le apoyamos con todos los recursos que podamos, conocimiento, equipos etc. Y a partir de eso usted va a producir nuevo conocimiento y nosotros vamos a ver qué ¡tan buen hacker es! Mucha gente empieza y no llega ni a la mitad... las excusas son múltiples “es que yo tengo mucho trabajo”, “es que no pude”, “estuve ocupado”.

Yo presté servicio en la armada en Estados Unidos y un cuento que echo muchas veces y a todo el mundo cuando me dice que no tuve tiempo es este: En la naval uno siempre llegaba a formación temprano para inspección, uno debía estar bien afeitado, bien vestido, con el uniforme, los zapatos. Yo estudié ingeniería nuclear y teníamos unas horas absurdas de trabajo, entonces cuando nos preguntaban ¿Por qué sus zapatos no están bien embolados? Y respondíamos “No tuve tiempo, es que estudie hasta las tres de la mañana”, ¿Usted durmió anoche? ¡Sí, sí señor! ¡Ah! entonces si tuvo tiempo. Ese es el tipo de dedicación que se busca. Si uno realmente quiere hacer esto, hay que estar apasionado.

Hay que tomar el tema de hacking como un hobby, todo el mundo que entra y me pregunta yo quiero ser hacking, es porque quieren en el termino de 6 meses o 6 días, tener un trabajo en seguridad informática y mucha gente que me dice yo quiero ser hacker, me está diciendo en el fondo “déme trabajo”, no sé nada, enséñeme y déme trabajo.

Hay que tomar esto como hobby. Por ejemplo, yo trabajo única y exclusivamente con sistemas operativos, redes, también hacking, pero de eso nunca me verán hablar en una charla, mi día a día es vulnerar equipos operativos, equipos de red, mostrarle a los clientes que tan vulnerables son y qué problemas tienen, nunca me verán hablar de eso en mis charlas, porque mis charlas están limitadas a lo que hago a fuera de mi trabajo.

Si uno tiene la vocación uno le encuentra tiempo a todo, si uno dice quiero hacer una investigación con animales y la saca adelante así sea con lo que toque, así haya planeado demorarse 2 meses y se demore 6 pero la sacó adelante es un buen indicio, pero si dice que se demora 6 meses y al mes y medio dice ¡no! no puedo pues es un mal indicio. Uno mismo tiene que llegar a esa conclusión, nadie le va a decir oiga usted no está rindiendo.

Evaluar las razones de por qué se quiere ser hacker

Si quiere ser hacker, porque quiere tener mucha plata, está empezando por el lado que no es.

Hay que adoptar la mentalidad de hacker, el mundo para todos nosotros es un universo que está lleno de problemas fascinantes que resolver. Es tener la capacidad de buscar quien ya se ha enfrentado al mismo problema y si lo soluciono tener la capacidad de implementarlo y ver como complementarlo. No aburrirse, exigir y ejercer libertad en todo aspecto.

Aprender a programar a lo menos un lenguaje de programación por lo menos los más comunes o los que se están usando ahora como C, python, perl, ruby, lisp, es opcional pero recomendable, obviamente estamos hablando de hacking de tecnología.

Aprender a utilizar a fondo software Open Source, especialmente Sistemas Operativos, esto hace 5 años era impensable preguntar en una audiencia bueno ¿cuantos acá utilizan Linux en el computador de su casa? ¡Nadie! Hoy en día ya por lo menos la gente ha trabajado en Linux, en la universidad, en el trabajo, eso es un gran paso.

Aprender por lo menos un idioma extranjero, recomendable inglés o chino. Inglés porque de nuestro lado del mundo es la comunidad un poco más avanzada en estos temas, generalmente los problemas ya resueltos están en inglés y chino ¿por qué? ¡Porque son más! Hay mucho chino. Si uno busca la solución a un problema generalmente el 25% de páginas de respuestas esta en inglés y el 70% o más están en chino. Así que si uno supiera chino encontraría más soluciones ingeniosas.

¿Cómo avanzar?

Obtener respeto y con el tiempo hay que darse a conocer, para que más gente empiece a hacer hacking, hoy en día ser hacker trae consigo una reputación. Sin embargo, hay que saber como obtener reputación y que la reputación obtenida sea realmente la que se desea. Mucha gente que empezó a investigar hace mucho tiempo, creó la reputación que no debía y están fuera del país o en la cárcel. En realidad no son delincuentes informáticos, sino son hackers o investigadores que no supieron manejar el enfoque de su reputación.

¿Cómo se obtiene respeto?

No se obtiene dominando a otros o hackeando a otros. Ser apuesto o adinerado no funcionan, bueno a mi no me funcionan. Se gana respeto única y exclusivamente entregando el tiempo, entregando creatividad, resolviendo problemas de otros, no solamente los de uno y obteniendo resultados de acuerdo a las habilidades, reconociendo a qué nivel de problemas se va poder enfrentar. Entre otras, también sirve ayudar a probar y mejorar software open source, publicar información útil, no estar conforme con un rango estrecho de habilidades, como les decía, ahora yo trato de hackear muchas cosas que me apasionan, no solamente lo que hago en mi trabajo, sino también otras líneas, sistemas electrónicos, armas, entre otros.

La idea es descubrir cuáles son esas pasiones que se tienen y en todas empezar a hacer hacking. Se puede llegar a ganar dinero pero no debe ser el objetivo. Como les decía, el hacking debe ser como un hobby. No se me ha presentado la primera persona que me diga “yo soy arquitecto o albañil o panadero o economista y quiero hackear en mi tiempo libre, quiero seguir trabajando en mi profesión” y me diga “no quiero vivir de esto, lo que quiero es aprender, aprender a hachear”. Eso para mí sería muy chévere. Yo por eso enfoco mi hacking que público y muestro a todo el mundo las cosas que no hago nunca en mi trabajo.

Escribir correctamente el idioma nativo es muy importante. Poder hablar y tener una conversación inteligente y escribir correctamente en su idioma para poder explicarles a otros sus investigaciones y los logros alcanzados.

Leer ciencia ficción, entrenar artes marciales, estudiar alguna disciplina de meditación, desarrollar oído analítico para la música, apreciar el sarcasmo y los juegos de palabras, este entre otros aspectos que deben tenerse en cuenta para ser un verdadero y buen hacker.

Mi mejor consejo para los que quieren empezar o avanzar en el tema de hacking es: nunca, pero nunca crea nada de lo que encuentren en Internet, en libros, ni siquiera en esta charla, todo lo que usted vea debe comprobarlo el 100% de lo que le llegue a sus manos, solo así podrá tener las herramientas necesarias para resolver ingeniosamente cualquier problema.

2 comentarios:

ciskosv dijo...

Interesante... saludos y bendiciones!

TuxRacer @ SV dijo...

Gracias por tu visita, joven Cisko o/

Salud y bendiciones!!!

Shalom.

 

Copyright © El igloo de Tux Design by O Pregador | Blogger Theme by Blogger Template de luxo | Powered by Blogger