11 preguntas que un Ing. de Sistemas debe de saber.

1. ¿Existen sólo los Hackers o hay alguien más en la ReD?

Por supuesto que existe alguien más y de ahí la confusión con el verdadero rol de los Hackers. Después de estos están los Crackers, "Hackers de élite, rebeldes," que difunden sus conocimientos por la red en forma de software que otros utilizarán indebidamente. Los Crackers revientan sistemas y roban información de los ordenadores ajenos. También están los Lamers y los Newbies, esto es, novatos que bajan de las páginas de otros "aficionados" programas sniffers, escaneadores o virus para luego emplearlos para usar con el ratón, ya que hoy por hoy no hace falta ser un experto programador para dirigir el puntero del ratón sobre cada pestaña de un programa descargado. Pero el grupo que mejor merecido tiene el nombre, es el formado por aquellos que no se denominan Hackers, como Juan Carlos Garcia Cuartango; en este caso son expertos en seguridad que detectan fallos o bugs en los sistemas y lo hacen público para que las empresas del software "dañado" les ponga remedio. Un ejemplo de ello es el agujero de Cuartango, un bug o puerta trasera del conocido navegador EXPLORER, que mediante una simple opción permite coger información del disco duro de un ordenador remoto.

La comunidad Undergroun crece de forma acelerada. Whackers, Shasers o Whasers, son sólo un ejemplo de una lista que no parece tener fin.

2. ¿Qué es un mailbombing?

Es el envío masivo de correo electrónico, comúnmente conocido como bombardeo, en el entorno del hacking. Los mailbombing son programas que permiten enviar miles de veces un mismo mensaje a una determinada dirección de correo electrónico. A veces el mailbombing permite también envíar correo fantasma, esto es, correo falso sin dejar rastro de quien lo envía, por lo que pasa inadvertido. A esto se llama correo anónimo.

3. ¿Qué es un Cracker?

El tema Cracker también ha quedado suficientemente claro, pero podemos recordar que se trata de un experto Hacker en cuanto a conocimientos profundos de programación y dominio de la tecnología. El Cracker diseña y fabrica programas de guerra y hardware para reventar softwares y comunicaciones como el teléfono, el correo electrónico, o el control de otros ordenadores remotos. Muchos Crackers "cuelgan" páginas web por diversión o envían a la red su última creación de virus polimórfico. También existen Crackers que se dedican a crear cracks para softwares importantes y negocia con ellos. Existen cracks para tarjetas shareware y sistemas electrónicos como el DVD y las consolas Playstation entre otros.

4. ¿Qué es IRC?

Comúnmente conocido como canal de chateo o "forma de intercomunicarse con otros usuarios en tiempo real a través de textos y ahora de voz ", se ha convertido en un canal de guerra en el que entras para preguntar algo en concreto y recibes como respuesta una bomba lógica o un virus. Existen multitud de herramientas IRC en las páginas de hackeo y utilidades WAR o de guerra. Está de moda ir fastidiando por este canal.
 
5. ¿Qué es un lamer?

Es un aficionado al tema. Es aquel que ha visitado varias páginas web sobre hacking y fascinado, se ha bajado unos cuantos programas. Después los usa indebidamente sin tener conocimientos; destruye su propio ordenador lo mismo que otros de la red, y cuando eso sucede se siente alguien superior a los demás. Este tipo de personaje es el que emplea los Back Orifice, Netbus y Virus con el fin de fastidiar y sin tener conocimiento de lo que realmente está haciendo. Es el último eslabón de la nueva cibersociedad.
 
6. ¿Son seguras las páginas Web sobre Hacking?

Algunas de ellas pueden resultar peligrosas e inseguras, pero no todas. Es cierto que las páginas sobre hacking, pueden resultar una muy buena fuente de información para los "novatos";pero existen algunas páginas creadas por personas con dudosas intenciones, donde colocan utilidades dañinas como virus y cookies "malos".
7. ¿Qué es un Troyano o Caballo de Troya?

El troyano tiene diversos significados y cometidos. Tiempo atrás, el troyano era un programa oculto que proporcionaba un cuadro de diálogo falso que debías aceptar, tras lo cual, el troyano se "quedaba" con lo que tecleabas después, en este caso la clave. Después, el troyano encriptaba nuestra clave, y cuando empleábamos el correo electrónico, se enviaba automáticamente a un correo electrónico específico, fuera cual fuera la dirección. Ahora el troyano recibe el nombre de Back Orífice, Netbus o Deep Troath. Estos troyanos se dividen en dos grandes bloques, un servidor y un cliente ambos ejecutables. Colocando el fichero servidor a un ordenador remoto y ejecutando nuestro cliente podemos controlar cualquier función del otro ordenador. Esos son los troyanos, que han hecho "flaquear" la seguridad de Windows.

8. ¿Qué es una Bomba lógica?

Es lo más parecido a un virus. Una bomba lógica es un programa autoejecutable que espera un determinado tiempo o una actividad sobre el teclado para explotar, o dicho de otra manera, para infectar el ordenador, modificando textos, mostrando gráficos o borrando parte del disco duro.
 
9. ¿Es seguro el correo electrónico?

En absoluto, el correo electrónico no es nada seguro. A través de él se pueden recibir ficheros "pegados" indeseables. Además, el correo electrónico puede ser interceptado y leído por los Lamers, que emplean sniffers, programas capaces de interceptar correo electrónico entre otras cosas.

10. ¿Qué es un Firewall?

Un firewall es una utilidad o herramienta de seguridad, que impide que ciertos
comandos o paquetes de datos "anormales" penetren en nuestro sistema. Comúnmente se traduce como barreras de fuego, que detectan ataques o entradas forzadas en los puertos de nuestro sistema. Los firewall se denominan también nuke.

11. ¿Son seguros los Downloads desde Internet?

El Firewall más popular que un usuario de a pie puede utilizar era ZoneAlarm, qué además conoce una versión totalmente Freeware para el usuario. Además, ya son varias las páginas Web que contemplan un Manual para conocer el uso y funcionamiento de esta popular aplicación, que puede ser completada con VisualRoute.
Ni mucho menos, entre ellos puedes descargar un virus "insertado" en el programa o un troyano renombrado. Las descargas más peligrosas son las extensiones ZIP y EXE. El servidor de back orífice, puede renombrarse fácilmente y hacernos creer que estamos bajando otro fichero.

Algunos lenguajes de programación.

 
1) C/C++:

El C es lengua franca en el mundo de la computación. Todo lo que se hace en algún momento empezó en el C. Es un lenguaje muy potente multipropósito. Con él puedes construir desde un sistema operativo hasta un sistema de ventanas. Es importante conocerlo también ya que aparte de entrar al mundo científico y ser de ejecución muy rápida, su sintaxis es base para otros lenguajes, como java o perl. C++ es la extensión que hiciera Stroustrup en los 90s para adaptar C al nuevo paradigma de programación de entonces: los objetos.

2) Java:

Java últimamente se ha vuelto un lenguaje muy popular y versátil. Tiene muchas ventajas con respecto a C por ejemplo implementa los objetos de una forma muy limpia (lo cual obliga al programador a evitar errores de programación bastante gruesos y costosos de depurar). Además es un lenguaje con muchas extensiones (por ejemplo, J2EE con sus servlets permite crear páginas dinámicas, Java embedeed es el motor que ejecutan las aplicaciones y juegos de gran parte de los celulares de hoy). Además de la gran ventaja del código de java, lo cual es muy atractivo para muchos programadores: Compila una vez, ejecuta en cualquier parte, lo hacen sumamente atractivos a los nuevos proyectos de desarrollo. En el mundo científico es usado en entornos académicos para una gran cantidad de proyectos. Algunos contras es que la programación a objetos requiere mucha abstracción y un gran dominio del programador. Algo que no siempre sucede.

3) Python:

Este lenguaje poco a poco va ganando terreno. Python nació del trabajo del Dr. Guido Van Rosum (colaborador del mítico Andrew Tanenbaum, en la universidad de Vrije) como un nuevo lenguaje para el sistema operativo Amoeba. Ahora python está licenciado como software libre, lo que le otorga una gran ventaja con respecto a lenguajes propietarios de diseño cerrado (¿qué pasa si al dueño de .NET se le ocurre cambiar alguna parte crucial del sistema que lo hiciera incompatible con otras versiones como pasó con Visual Basic 6?) pues eso nunca pasará con Python. Ademés de ser sofware libre tiene la ventaja de estar pensado para programar fácilmente. Nunca he visto un lenguaje para programar tan bien pensado, codigo conciso y fiable. No es raro entonces que Google use una gran cantidad de librerias de su motor de búsqueda en Python. Este lenguaje es interpretado (no se compila, lo que reduce tiempo de desarrollo) y es orientado a objetos.

4) Perl:

Esta es una elección personal. Para mí perl es una buen lenguaje/herramienta, creado a mediados de los 80s por Larry Wall. Perl no es como C, en el cual vas a programar cosas muy de bajo nivel. Mas bien es un reemplazo de herramientas arcanas como awk, sed y grep y las integra en un lenguaje muy fácil de desarrollar. El uso de perl se ve gratamente aplicado sobre todo en un trabajo en el cual los demás lenguaje como C o java fallan. Me refiero al procesamiento automatizado de grandes cantidades de datos tipo texto. Perl con su poderoso operador expresión regular puede barrer cientos de megabytes con un sencillo programa hecho en éste lenguaje. Un caso de esto sería por ejemplo procesar el archivo de registro de una máquina automatizada o buscar expresiones regulares en cientos de páginas de datos científicos. Un ejemplo de esto fue que perl (y no C, java o .NET) fueron usados para procesar los datos del genoma humano.

5) Ensamblador:

El conocimiento de assembler es algo que da sustento al científico en computación en la forma de cómo la máquina lleva el proceso de computación, mas que ser una útil herramienta en sí (aunque esto puede depender del entorno de trabajo en la cual querramos desenvolvernos). El ensamblador es el lenguaje mas cercano al lenguaje de máquina en la que no tenemos que programar con ceros y unos, por eso al estar tan cerca de la forma de cómo el hardware trabaja (lo que le da velocidad, de hecho no hay ningun programa mas rápido posible que uno hecho en assembler). El problema está en ¿qué assembler aprender? porque son varios. Ya dije que cada assembler está asociado al hardware. Entonces hay un assembler por cada tipo de procesador (y de hecho, las especificaciones del lenguaje cambian mucho entre uno y otro fabricante) y eso lo hace completamente dificil de portar a otro tipo de arquitectura (algo que java es sumamente fácil, gracias a su máquina virtual).
Aún así, conviene conocer un poco de assembler, para que a la hora de programar entendamos conceptos como tamaños de palabra y la real necesidad de optimizar espacio de memoria. Un buen comienzo es el assembler del 8086 (IBM PC XT, 1981). Aunque a los mas noveles yo le recomendaría el mítico assembler del Dr Knuth, MIX, un assembler académico muy simple que corre en una computadora "de papel". Con toda la potencia del un assembler, pero sin tener que lidiar con los problemas de hardware, ya que dicha computadora es solo ideal.

6) Prolog:

Prolog es un lenguaje con una forma de programación distinta: el paradigma declarativo. Prolog es un lenguaje muy usado en inteligencia artificial. La IA es un campo de las ciencias de la computación que promete mucho, algunos problemas de programación se pueden resolver fácilmente con prolog mientras que con lenguajes como C o java serían muy complicados. Obligatorio que todo cientifico en computación conozca prolog.

7) Fortran:

Este lenguaje ya es algo anacrónico. Es uno de los primeros lenguajes que se crearon (1956) y desde entonces ha sido muy usado en la investigación y en la industria. Es uno de los mas optimizados para lo que es cálculo numérico (que fue aplicación inicial de las computadoras cuando fueron inventadas). Fortran tiene a su favor su gran legado: miles de programas que aún funcionan que corren en fortran, además de cientos de lineas de código de librerias y otras utilidades. Un buen compilador bastante optimizado para cálculo numérico es el Intel Fortran (de pago). Uno libre es OpenWatcom Fortran. Lamentablemente este lenguaje está en declive, así que no creo que sea muy extendido su uso en el futuro.
Powered by Blogger