¿QUÉ ES UN HACKER?
-Un hombre obeso con bigote es entrevistado: si, se lo que es un virus! los virus te fastidian el ordenador y cuando lo hace te muestra un mensaje absurdo, es obra de locos!...
-Una mujer de poca edad es entrevistada: Hackers ?...son esos tipos que se pasan el día y la noche delante del ordenador...y que...lo saben todo a través de el...
-Un niño entrevistado: si, son personas muy inteligentes que lo saben todo acerca de los ordenadores y odian a Bill Gates. Son genios...yo quiero ser uno de ellos cuando sea mayor!
-Un anciano entrevistado: Un jaaa...¿qué? ¿qué es eso?
La prensa los describe como delincuentes informáticos. Algunos como el chico entrevistado quiere ser igual que ellos cuando sea mayor y los cataloga de genios. Otros simplemente ven en ellos el lado malo de la tecnología. Pero sea cual sea la definición que se hace acerca de ellos, lo cierto es que son una parte importante de la Red de Internet.
-Entrevista a un experto sobre Hackers: Los Hackers son una parte fundamental de la Red y de los ordenadores, quizás porque están siempre ahí, detrás de todo cuanto sucede en la Red. De hecho son los únicos que conocen perfectamente todos los entramados de la Red. Y hoy por hoy el mito de la Red no esta en la capacidad de información de esta, si no en la forma en como se mueven estos genios de la informática. Siempre ocultos, buscando nuevos bugs en los sistemas remotos con el fin de poner a prueba sus altos conocimientos. Solo de esta forma, pueden sentirse seguros en una Red plagada de nuevos clanes aun mas terroríficos que los Hackers...
Esta es la definición de un Hacker según algunos expertos, pero cual es la definición real de todos los que en nombre de los Hackers, realizan sus fechorías? La respuesta puede ser adversa y representarse de muy variadas formas. La prensa y la televisión siempre se refiere a piratas informáticos, cuando se refiere a todos ellos. Pero es que existe alguien mas, además del Hacker ?. Según los expertos los Hackers no están solos.
Existe otro grupo de personas que se llaman a sí mismos hackers, pero que no lo son. Son personas (generalmente varones adolescentes) que se divierten irrumpiendo ilegalmente en ordenadores y haciendo "phreaking" en el sistema telefónico. Los auténticos hackers tienen un nombre para esas personas: "crackers", y no quieren saber nada de ellos. Los auténticos hackers opinan que la mayoría de los crackers son perezosos, irresponsables y no muy brillantes, y fundamentan su crítica en que ser capaz de romper la seguridad no le hace a uno un hacker, de la misma manera que ser capaz de arrancar un coche con un puente en la llave no le convierte en ingeniero de automotores. Desafortunadamente, muchos periodistas y escritores utilizan erróneamente la palabra "hacker" para describir a los crackers; esto causa enorme irritación a los auténticos hackers.
La diferiencia básica es esta: los hackers construyen cosas; los crackers las destruyen.
HABILIDADES DE HACKER
La actitud hacker es vital, pero más aún lo son las habilidades. La actitud no es sustituto para la competencia, y existe un cierto conjunto de herramientas básicas que debes dominar antes que cualquier hacker sueñe con llamarse así.
Este conjunto de herramientas cambia lentamente a lo largo del tiempo a medida que la tecnología crea nuevas habilidades y descarta otras por obsoletas. Por ejemplo, se incluía la programación en lenguaje máquina, y no se hablaba de HTML hasta hace poco. Pero hacia finales de 1996, está claro que se debe incluir lo siguiente:
1. Aprende a programar
Esta es, por supuesto, la habilidad fundamental del hacker. Si no conoces ningún lenguaje de programación, recomiendo empezar con Python. Es limpio, bien documentado, y relativamente fácil para novatos. A pesar de ser un buen primer lenguaje, no es un juguete; es muy poderoso, flexible y se adapta bien a grandes proyectos. He escrito un detallado análisis de Python.
Hay disponibles buenos tutoriales en el sitio web de Python. Java es también un buen lenguaje para iniciarse en la programación. Es más difícil que Python, pero produce código más rápido que Python. Creo que es un buen segundo lenguaje para aprender. Pero no creas que podrás ser un hacker, siquiera un programador, si solo conoces un único lenguaje debes aprender cómo pensar en los problemas de programación de una manera general, independiente de cualquier lenguaje. Para ser un hacker de verdad, precisas llegar al punto en el cual aprendas un lenguaje nuevo en días, relacionando lo que está en el manual con lo que ya sabe de antes. Esto significa que debes aprender varios lenguajes muy diferentes entre sí. Si deseas meterte seriamente en programación, tendrás que aprender C, la base de Unix. C++ es muy parecido a C; si conoces uno, aprender el otro no te resultará difícil. Sin embargo, ninguno de ellos es bueno para aprender a programar. Y hoy día, cuanto más puedas evitar programar en C, mas productivo serás. C es muy eficiente, y trabaja bien con los recursos de las maquinas.
Desafortunadamente, C obtiene su eficiencia a base de mucho manejo a bajo nivel de los recursos (como la memoria) a mano. Todo esa programación a bajo nivel es muy compleja y propensa a errores, y tendrás que dedicar gran cantidad de tiempo a la depuración de los programas. Con las máquinas de hoy, tan poderosas, esto ya no es tan necesario es más inteligente usar un lenguaje que use el tiempo de máquina menos eficientemente, pero en cambio use tu tiempo más eficientemente. O sea, Python. Otros lenguajes de particular importancia para los hackers son Perl y LISP. Perl vale la pena aprenderlo por razones prácticas: es amplísimamente usado por páginas web dinámicas y por sistemas de administración, así que incluso si nunca has escrito en Perl, deberías aprender a leerlo. Mucha gente usa Perl en la forma que yo sugiero usar Python, para evitar la programacion en C en trabajos que no requieran la eficiencia de C. Necesitarás ser capaz de entenderlo.
Vale la pena aprender LISP por una razón diferente — La profunda e iluminadora experiencia que obtendrás cuando finalmente lo logres te hará ser mejor programador el resto de tus días, incluso si no usas LISP mucho. (Puedes obtener fácilmente algo de primera experiencia con LISP escribiendo y modificando los modos de edición del editor Emacs.)
Lo mejor hoy día es aprender estos cinco (Python, Java, C/C++, Perl y LISP). Además de ser estos lenguajes los mas importantes en el hacking, representan muy diversas formas de aproximarse a la programación, y cada uno te educará de diferentes maneras. No puedo dar instrucciones completas en este documento de cómo puedes aprender a programar es una habilidad compleja. Pero puedo adelantarte que los libros y los cursos no servirán (muchos, tal vez la mayoría de los mejores hackers, son autodidactas). Puedes aprender las características de los lenguajes partes de conocimiento de libros, pero el verdadero conocimiento lo adquieres en la vida real aplicando lo que ya sabes. Lo que sí servirá es a) leer código y b) escribir código.
El aprendizaje de la programación es como aprender a escribir bien en lenguaje natural. La mejor manera de aprender es leer algo de las cosas escritas por los maestros del estilo, luego escribir algunas cosas tú mismo, leer mucho más, escribir un poco más... y repetir esto hasta que lo que escribes empieza a mostrar la clase de fuerza y economía que aprecias en tus modelos.
Antes era difícil encontrar código de buena calidad para leer, porque había pocos programas de cierta magnitud disponibles en código fuente de tal manera que los hackers noveles pudieran meterles mano.
Esta situación ha cambiado drásticamente: software de fuente abierta, herramientas de programación libres y sistemas operativos libres (todo ello hecho por hackers) están ampliamente disponibles en la actualidad.
2. Consigue uno de los Unices libres; aprende a usarlo y a ponerlo en funcionamiento
Asumo que tienes un ordenador personal o puedes acceder a uno (a estos muchachos de hoy día les resulta tan sencillo obtenerlo... :-)). El paso con mucho más importante que cualquier novato puede dar en el camino de adquirir las habilidades de un hacker es obtener una copia de Linux o alguno de los otros Unices tipo BSD libres, instalarlo en una máquina personal y hacerlo funcionar.
Sí, es cierto que existen otros sistemas operativos en el mundo además de Unix. Pero sólo pueden encontrarse en formato binario —no puedes ni leer el código ni modificarlo—. Si intentas aprender a hackear en una máquina DOS, Windows o en un MacOS te sentirás como si tratas de aprender a bailar con el cuerpo escayolado.
Bajo OS/X es posible, pero solo una parte del sistema es código de fuente abierta. Es como si estuvieras golpeando un muro de varias capas de cemento, y aparte tienes que ser cuidadoso para no desarrollar el mal hábito de depender del código propietario de Apple. Si te concentras en Unix bajo el capó, puedes aprender cosas mas útiles.
Unix es el sistema operativo de Internet. Si bien puedes aprender a usar Internet sin saber Unix, nunca podrás ser un hacker en Internet sin conocerlo. Por este motivo, la cultura hacker actual está muy centrada en Unix. (Esto no fue siempre así, e incluso la situación le desagrada a algunos de los hackers más veteranos, pero la simbiosis entre Unix e Internet es tan fuerte que hasta la energía de Microsoft parece incapaz de hacerle mella.)
Así que consigue un Unix personalmente me gusta Linux, pero hay otros (y sí, puedes hacer funcionar Linux y DOS/Windows en la misma máquina). Apréndelo. Hazlo funcionar. Métele mano, anímate.
Comunícate en Internet mediante él. Lee el código. Modifícalo. En ese sistema se incluyen las mejores herramientas de programación (que incluyen C, Lisp y Perl) de lo que cualquier sistema operativo de Microsoft ni siquiera podría soñar, además te divertirás y te sumergirás en un caudal de conocimientos de tal magnitud que nunca hubieras imaginado, hasta que en cierto momento, mirando hacia atrás, te darás cuenta que ya eres un maestro hacker consumado.
Si quieres saber más acerca del aprendizaje de Unix, ve a The Loginataka.
Si quieres meter tus manos en Linux, echa un ojo en Dónde puedo obtener Linux.
Puedes encontrar ayuda y recursos de BSD Unix en www.bsd.org.
3. Aprende a usar la Web y a programar en HTML
La mayoría de las cosas que ha construido la cultura hacker funcionan fuera de la vista del gran público, ayudando en el funcionamiento de fábricas, oficinas y universidades, y carecen de un impacto obvio en la vida de quienes no son hackers. La Web es la única gran excepción, y es tan enorme y brillante este juguete de hackers que incluso los políticos admiten que está cambiando el mundo. Sólo por esta razón (y hay un montón de otras igualmente buenas), debes aprender a trabajar en la Web.
No me estoy refiriendo a aprender a manejar un navegador (cualquiera puede hacer eso), sino que debes aprender a escribir HTML, el lenguaje de marcas de la Web. Si aún no sabes cómo programar, el aprendizaje que implica la escritura de HTML te enseñará algunos de los hábitos mentales que te ayudarán luego con la programación. Así que hazte una página personal.
Prueba con XHTML, que es más claro que el clasico HTML. (Existen buenos tutoriales para principiantes en la Web.)
Pero no vayas a creer que por tener una página personal estás más cerca de ser un hacker. La Web está llena de páginas personales. La mayoría de ellas son banales, basura sin contenido basura muy vistosa, pero basura al fin.
Para que valga la pena, tu página debe tener contenido debe ser interesante y/o útil para los otros hackers. Y esto nos lleva al próximo tema...
4. Si no tienes un inglés funcional, apréndelo
Como estadounidense y hablante nativo de inglés, era reacio a sugerir esto, por si se interpretaba como una suerte de imperialismo cultural. Pero hablantes nativos de otras lenguas me han urgido a que señale que el inglés es el lenguaje con el que trabaja la cultura hacker e Internet, y necesitarás saberlo para funcionar en la comunidad hacker.
Esto es muy cierto. Tiempo atrás, alrededor de 1991, aprendí que muchos hackers que tenían el inglés como segundo idioma lo usaban en discusiones técnicas, incluso cuando compartían su lengua natal; me comentaron que el inglés tiene un vocabulario técnico más rico que cualquier otra lengua y sencillamente por esto era mejor herramienta para el trabajo. Por razones similares, las traducciones de libros técnicos escritos originalmente en inglés son con frecuencia insatisfactorias (si es que se hacen).
Linus Torvalds, un finlandés, comenta su código en inglés (al parecer nunca se le ocurrió hacerlo de otra manera). Su fluidez con el inglés ha sido un importante factor en su habilidad para reclutar una comunidad mundial de desarrolladores de Linux.
ESTATUS EN LA CULTURA HACKER
De manera similar a muchas otras culturas sin economía monetaria, el hackerismo se basa en la reputación. Estás intentando resolver problemas interesantes, pero cuan interesantes y buenas son las soluciones que encuentres es algo que sólo tus iguales o superiores técnicamente hablando serán capaces de juzgar.
De acuerdo a esto, cuando juegas el juego del hacker, aprendes a puntuarte principalmente en función de lo que los otros hackers piensan acerca de tus habilidades (este es el motivo por el cual no puedes ser un hacker de verdad hasta que otros hackers te denominen así de manera consistente). Este hecho está empañado por la imagen del hacking como trabajo solitario; también por un tabú cultural hacker (que ahora está decayendo, pero aún es fuerte) que impide que se admita el ego o la validación externa como elementos involucrados en la propia motivación.
Específicamente, el hackerismo es lo que los antropólogos denominan una cultura del don. Adquieres estatus y reputación no mediante la dominación de las otras personas, ni por ser hermoso/a, ni por tener cosas que las otras personas desean, sino por donar cosas. Específicamente, al donar tu tiempo, tu creatividad, y el resultado de tu destreza.
Existen básicamente cinco clases de cosas que puedes hacer para obtener el respeto de los hackers:
1. Escribir software de fuente abierta
Lo primero (lo más central y más tradicional) es escribir programas que los otros hackers opinen que son divertidos o útiles, y donar los fuentes del programa a la cultura hacker para que sean utilizados.
(Solíamos llamarlo free software pero esto confundía a demasiada gente, que no estaban seguros de qué se suponía que significaba free [en inglés, el término free es polisémico y puede significar "libre" o "gratis". En castellano no se da tal ambigüedad por lo que la expresión "software libre" resulta perfectamente adecuada. La mayoría de nosotros, al menos un ratio 2:1 de acuerdo con los análisis del contenido de la web, ahora preferimos el término software "open source" [En castellano, sin embargo, se sigue usando habitualmente "software libre", aunque en esta versión hemos respetado, como es natural, el cambio en la terminología de Eric, que ha sustituido " free software" por open source en todos sus documentos, y lo hemos traducido por "código de fuente abierta".
Los más reverenciados semidioses del hackerismo son las personas que han escrito programas de gran magnitud, con grandes capacidades que satisfacen necesidades de largo alcance, y los donan, de tal manera que cualquiera pueda utilizarlos.
2. Ayudar a probar y depurar software de fuente abierta
Este mundo imperfecto, inevitablemente pasaremos la mayoría de nuestro tiempo de desarrollo en la fase de depuración. Este es el motivo por el cual los desarrolladores de software de fuente abierta piensan que un buen "beta-tester" (probador de versiones beta, alguien que sabe cómo describir claramente los síntomas, que puede localizar correctamente los problemas, que tolera los errores en una entrega apurada, y que está dispuesto a aplicar unas cuantas rutinas sencillas de diagnóstico) vale su peso en oro.
Aun contando con un solo probador de estos, puede hacerse que el proceso de depuración pase de ser una prolongada pesadilla que lo deja a uno exhausto a ser sólo una saludable molestia.
Si eres novato, trata de encontrar un programa en desarrollo en el cual estés interesado, y conviértete en un buen probador beta. Hay una progresión natural desde ayudar a probar programas, luego ayudar a depurarlos y más adelante ayudar a modificarlos. Aprenderás un montón de esa manera, y la gente te ayudará en el futuro.
3. Publicar información útil
Otra buena cosa que puedes hacer es recopilar y filtrar información útil e interesante y construir páginas web o documentos tipo FAQ ("Preguntas Frecuentes"), y ponerlos a disposición de los demás.
La gente que mantiene las FAQ técnicas más importantes gozan de casi tanto respeto como los autores de software libre.
4. Ayudar a mantener en funcionamiento la infraestructura
La cultura hacker (y el desarrollo ingenieril de Internet, para el caso) funciona gracias al trabajo voluntario. Existe una gran cantidad de trabajo necesario pero sin glamour que debe hacerse para que esto siga marchando —administrar listas de correo, moderar foros de discusión, mantener sitios donde se archivan grandes cantidades de software, desarrollar RFCs y otros estándares técnicos.
La gente que desarrolla estas actividades goza de mucho respeto, porque todos saben que esos trabajos son grandes consumidores de tiempo y no tan divertidos como meterse con el código. Al hacerlos demuestran su dedicación.
5. Hacer algo por la cultura hacker en sí misma
Finalmente, puedes propagar la cultura hacker en sí misma (por ejemplo, escribiendo un texto acerca de cómo transformarse en hacker :-)). Esto es algo que no estarás en disposición de hacer hasta que seas bien conocido en el ambiente por alguna de las cuatro cosas recién descritas.
La cultura hacker no tiene líderes exactamente, pero tiene héroes culturales, ancianos de la tribu, historiadores y portavoces. Cuando hayas estado en las trincheras tiempo suficiente, podrás crecer y transformarte en uno de ellos. Pero ten cuidado: los hackers desconfían del ego ruidoso en sus jefes tribales, así que la búsqueda visible de esa clase de fama es peligrosa. En lugar de esforzarte en ello, es mejor colocarse en una posición tal que ella caiga sobre ti, y luego debes comportarte de manera modesta y con gracia con tu estatus.
Fuente:
Hackers
Claudio Hernández
Cómo convertirse en hacker
Eric Steven Raymond
Thyrsus Enterprises
<esr@thyrsus.com>
Si quieres conocer otros artículos parecidos a ¿QUÉ ES UN HACKER? puedes visitar la categoría SEGURIDAD INFORMATICA.
Deja una respuesta