Código malicioso, botnets y ataques web

Código malicioso


También llamado malware, badware, código maligno, software malicioso o software malintencionado.

Hace referencia a cualquier conjunto de códigos de programación que tienen un fin malicioso. Su objetivo es infiltrarse y/o dañar un computador o sistema informático sin el consentimiento de su propietario.

Dentro de los malwares podemos incluir los siguientes:

  • Virus
  • Gusanos
  • Troyanos
  • Rootkits
  • Scareware
  • Spyware
  • Adware intrusivo
  • Crimeware
  • Otros softwares maliciosos e indeseables.

Los códigos maliciosos pueden tener múltiples objetivos como:

  • Extenderse por la computadora,otras computadoras en una red o por internet.
  • Robar información y claves.
  • Eliminar archivos e incluso formatear el disco duro.
  • Mostrar publicidad invasiva.

Mínimos cambios en un código malicioso, pueden hacer que ya no sea reconocido como malicioso por un programa antivirus; es por esta razón que existen tantas variantes delos virus, los gusanos y otros malwares.

Algunos de los primeros programas infecciosos fueron elaborados como experimentos, como bromas o simplemente como algo molesto, no para causar graves daños en las computadoras.

El software diseñado para causar daños o pérdida de datos suele estar relacionado con actos de vandalismo. Muchos virus son diseñados para destruir archivos en discos duros o para corromper el sistema de archivos escribiendo datos inválidos. Sin embargo, debido al aumento de usuarios de Internet, el software malicioso ha llegado a ser diseñado para sacar beneficio de él, ya sea legal o ilegalmente.

Malware infeccioso

Dentro de éstos,los más comunes que podemos localizar son Virus y Gusanos, donde la diferencia entre ambos radica en su modo de propagación.

El Virus es un malware creado para contaminar sistemas a través de archivos ejecutables, remplazando los códigos originales por códigos infectados. Este software malicioso logra su propagación alojándose en la memoria RAM y ejecutándose en cada programa que se inicie en el sistema, provocando de este modo, perturbaciones en la productividad, daños en los datos, pérdida de información, entre otras anomalías.

El Gusano o Worm es un malware que se propaga a través de la red utilizando prácticas de ingeniería social,explotando vulnerabilidades, o empleando otros métodos. Su finalidad es auto-replicarse para expandirse y así poder distribuir la mayor cantidad posible de códigos maliciosos; creando como consecuencia gran consumo de ancho de banda y notable disminución de repuestas en los sistemas.

Malware oculto

Para que un software malicioso pueda completar sus objetivos, es esencial que permanezca oculto al usuario. Por ejemplo, si un usuario experimentado detecta un programa malicioso, terminaría el proceso y borraría el malware antes de que este pudiera completar sus objetivos. El ocultamiento también puede ayudar a que el malware se instale por primera vez en la computadora.

Dentro del malware oculto tenemos los siguientes:

  • Backdoor o puerta trasera: En un sistema informático es una secuencia especial dentro del código de programación,mediante la cual se pueden evitar los sistemas de seguridad de autenticidad para acceder al sistema.
  • Rootkits: Es un programa que permite un acceso de privilegio continuo a una computadora pero que mantiene su presencia activamente oculta al control de los administradores al corromper el funcionamiento del sistema operativo o de otras aplicaciones. Evita que un proceso malicioso sea visible en la lista de procesos del sistema.
  • Troyanos: Es un software malicioso que se presenta al usuario como un programa aparentemente legítimo e inofensivo pero al ejecutarlo ocasiona daños. Llega a la computadora de forma oculta y sin el consentimiento de su propietario y tiene como finalidad controlar la máquina sin ser advertido, normalmente bajo una apariencia inocua.
  • Drive-by Downloads: El término puede referirse a las descargas de algún tipo de malware que se efectúa sin consentimiento del usuario, lo cual ocurre al visitar un sitio web, al revisar un mensaje de correo electrónico o al entrar a una ventana pop-up.

Malware para obtener beneficios


Dentro de los malwares para obtener beneficios tenemos los siguientes:

  • Spyware: son creados para recopilar información sobre las actividades realizadas por un usuario y distribuirla a agencias de publicidad u otras organizaciones interesadas. Algunos de los datos que recogen son las páginas web que visita el usuario y direcciones de e mail,a las que después se envía spam. La mayoría de los programas spyware son instalados como troyanos junto a software deseable bajado de Internet. Otros programas spyware recogen la información mediante cookies de terceros o barras de herramientas instaladas en navegadores web. Los autores de spyware que intentan actuar de manera legal se presentan abiertamente como empresas de publicidad e incluyen unos términos de uso, en los que se explica de manera imprecisa el comportamiento del spyware, que los usuarios aceptan sin leer o sin entender.
  • Adware: muestran publicidad al usuario de forma intrusiva en forma de ventanas emergentes (pop-up) o de cualquier otra forma. Esta publicidad aparece inesperadamente en el equipo y resulta muy molesta. Algunos programas shareware permiten usar el programa de forma gratuita a cambio de mostrar publicidad, en este caso el usuario consiente la publicidad al instalar el programa. Este tipo de adware no debería ser considerado malware, pero muchas veces los términos de uso no son completamente transparentes y ocultan lo que el programa realmente hace.
  • Hijackers: son programas que realizan cambios en la configuración del navegador web. Algunos cambian la página de inicio del navegador por páginas web de publicidad o pornográficas.

Botnet

Es una red compuesta por computadoras cuya seguridad ha sido comprometida y cuyo control ha pasado a manos de una persona ajena a esta (conocida como “botherder” o“botmaster”). Esta persona puede enviar comandos de forma remota a las computadoras que forman parte del botnet y utilizarlas para llevar a cabo funciones ilegales que pueden variar desde el envío masivo de correo no solicitado (“spam”) hasta ataques DDoS.

Los bots representan uno de los delitos cibernéticos más sofisticados y populares de hoy en día. Permiten a los hackers tomar el control de muchos equipos a la vez y convertirlos en equipos “zombies”, que funcionan como parte de un poderoso “botnet” que propaga virus, genera spam y comete otros tipo sde delitos y fraudes.

¿Cómo puede una computadora ser víctima de un botnet?

Existen diversos medios utilizados por estos botmaster:

  • Gusanos.
  • Troyanos ocultos enaplicaciones.
  • Páginas de Internet que parecen legítimas.
  • Páginas de Internet con“scripts” que descargan el malware necesario para controlar a distancia una computadora.

Cómo funcionan los bots

Los bots se introducen sigilosamente en el equipo de una persona de muchas maneras. Los bots suelen propagarse por Internet en busca de equipos vulnerables y desprotegidos a los que puedan infectar. Cuando encuentran un equipo sin protección, lo infectan rápidamente e informan a su creador. Su objetivo es permanecer ocultos hasta que se les indique que realicen una tarea.

Ataques web

Son ataques realizados directamente al código web de una página o al servidor en la cual está alojada ésta.

Este tipo de ataques los realizan para demostrar que la web es vulnerable, para demostrar que el código no es seguro, manipular contenido de la web, agregar código malicioso en la web, robar información confidencial, entre otros.

Los siguientes son tipos de ataques en aplicaciones web:

Autenticación

  • Fuerza bruta: Es un proceso automatizado de prueba y error utilizado para adivinar un nombre de usuario, contraseña, número de tarjeta de crédito o clave criptográfica.
  • Autenticación insuficiente: Ocurre cuando un sitio web permite a un atacante acceder a contenido sensible o funcionalidades sin haberse autenticado correctamente.
  • Débil validación en la recuperación de contraseñas: Se produce cuando un sitio web permite a un atacante obtener, modificar o recuperar, de forma ilegal, la contraseña de otro usuario.

Autorización

  • Predicción de credenciales/sesión: Es un método de secuestro o suplantación de un usuario del sitio web.
  • Autorización insuficiente: Se produce cuando un sitio web permite acceso a contenido sensible o funcionalidades que deberían requerir un incremento de las restricciones en el control de acceso.
  • Expiración de sesión insuficiente: Se produce cuando un sitio web permite a un atacante reutilizar credenciales de sesión o IDs de sesión antiguos para llevara cabo la autorización.
  • Fijación de sesión: Es una técnica de ataque que fuerza al ID de sesión de un usuario a adoptar un valor determinado.

Ataques en la parte cliente

  • Suplantación de contenido: Es una técnica de ataque utilizada para engañar al usuario haciéndole creer que cierto contenido que aparece en un sitio web es legítimo, cuando en realidad no lo es.
  • Cross-site scripting: (XSS) es una técnica de ataque que fuerza a un sitio web a repetir código ejecutable facilitado por el atacante, y que se cargará en el navegador del usuario.

Ejecución de comandos

  • Desbordamiento de buffer: Es un ataque que altera el flujo de una aplicación sobre-escribiendo partes de la memoria.
  • Ataques de formato de cadena: Alteran el flujo de una aplicación utilizando las capacidades proporcionadas por las librerías de formato de cadenas para acceder a otro espacio de memoria.
  • Inyección LDAP: Es una técnica de ataque usada para explotar sitios web que construyen sentencias LDAP a partir de datos de entrada suministrados por el usuario.
  • Inyección de código SQL: Es una técnica de ataque usada para explotar sitios web que construyen sentencias SQL a partir de entradas facilitadas por el usuario.
  • Comandos de Sistema Operativo: Es una técnica de ataque utilizada para explotar sitios web mediante la ejecución de comandos de sistema operativo a través de la manipulación de las entradas a la aplicación.
  • Inyección de código SSI: (Server-side Include) es una técnica de explotación en la parte servidora que permite a un atacante enviar código a una aplicación web, que posteriormente será ejecutado localmente por el servidor web.
  • Inyección XPath: Es una técnica de ataque utilizada para explotar sitios web que construyen consultas Xpath con datos de entrada facilitados por el usuario.

Revelación de información

  • Indexación de directorio: Es una función del servidor web que lista todos los ficheros del directorio solicitado si no se encuentra presente el fichero de inicio habitual.
  • Fuga de información: Se produce cuando un sitio web revela información sensible, como comentarios de los desarrolladores o mensajes de error, que puede ayudar a un atacante para explotar el sistema.
  • Path Traversal: Fuerza el acceso a ficheros, directorios y comandos que potencialmente residen fuera del directorio “document root” del servidor web.
  • Localización de recursos predecibles: Es una técnica de ataque usada para descubrir contenido y funcionalidades ocultas en el sitio web.

Ataques lógicos

  • Abuso de funcionalidad: Es una técnica de ataque que usa las propias capacidades y funcionalidades de un sitio web para consumir, estafar o evadir mecanismos de control de acceso.
  • Denegación de servicio: (Denial of Service, DoS) es una técnica de ataque cuyo objetivo es evitar que un sitio web permita la actividad habitual de los usuarios.
  • Anti-automatización insuficiente: Se produce cuando un sitio web permite a un atacante automatizar un proceso que sólo debe ser llevado a cabo manualmente.
  • Validación de proceso insuficiente: Se produce cuando un sitio web permite a un atacante evadir o engañar el flujo de control esperado por la aplicación.

Ingeniería social

Es el conjunto de técnicas psicológicas y habilidades sociales utilizadas de forma consciente para la obtención de información de terceros.

No existe una limitación en cuanto al tipo de información y tampoco en la utilización posterior de la información obtenida. Puede ser ingeniería social el obtener de un profesor las preguntas de un examen o la clave de acceso de la caja fuerte del Banco de España. Sin embargo, el origen del término tiene que ver con las actividades de obtención de información de tipo técnico utilizadas por hackers.

Un hecho importante es que el acto de ingeniería social acaba en el momento en que se ha conseguido la información buscada. Las acciones que esa información pueda facilitar o favorecer no se enmarcan bajo este término. En muchos casos los ingenieros sociales no tocan un ordenador ni acceden a sistemas, pero sin su colaboración otros no tendrían la posibilidad de hacerlo.


Técnicas de Ingeniería Social

Existen tres tipos, según el nivel de interacción del ingeniero social:

Técnicas Pasivas:

  • Observación.

Técnicas no presenciales:

  • Recuperar la contraseña.
  • Ingeniería Social y Mail.
  • IRC u otros chats.
  • Teléfono.
  • Carta y fax.

Técnicas presenciales no agresivas:

  • Buscando en la basura.
  • Mirando por encima del hombro.
  • Seguimiento de personas y vehículos.
  • Vigilancia de Edificios.
  • Inducción.
  • Entrada en Hospitales.
  • Entre otros.

Métodos de protección

Siguiendo algunos sencillos consejos se puede aumentar considerablemente la seguridad de una computadora, algunos son:

  • Protección a través del número de cliente y la del generador de claves dinámicas.
  • Tener el sistema operativo y el navegador web actualizados.
  • Tener antivirus y firewall actualizados periódicamente, ya que cada día aparecen nuevas amenazas.
  • Utilizar una cuenta de usuario con privilegios limitados, la cuenta de administrador sólo debe utilizarse cuándo sea necesario.
  • Tener precaución al ejecutar software procedente de Internet o de medios extraíbles como CD o memorias USB. Es importante asegurarse de que proceden de algún sitio de confianza.
  • Evitar descargar software de redes P2P, ya que realmente no se sabe su contenido ni su procedencia.
  • Desactivar la interpretación de Visual Basic Script y permitir JavaScript, ActiveX y cookies sólo en páginas web de confianza.
  • Utilizar contraseñas de alta seguridad para evitar ataques de diccionario.
  • Hacer copias de respaldo de documentos importantes a medios extraíbles para poderlos recuperar en caso de infección.