Capítulo 2. Ataques y vulnerabilidades

Para poder planear e implementar una buena estrategia de seguridad, primero debe tener en cuenta algunos de los problemas que un atacante motivado y determinado explota para comprometer sus sistemas. Pero antes de detallar estos problemas, debemos definir la terminología usada para identificar un atacante.

2.1. Una breve historia sobre los hackers

El significado moderno del término hacker tiene sus origenes en los años 60 y en el Club de Modelaje de Trenes del Instituto de Tecnología de Massachusetts (MIT), que diseñaban conjuntos de trenes de gran escala y detalle. Hacker fue el nombre usado para nombrar aquellos miembros del club que descubrían un truco brillante o que resolvían un problema muy complicado.

Desde ese momento el término hacker se ha utilizado para describir cualquier cosa desde un aficionado a las computadoras hasta un programador virtuoso. Un rasgo característico de un hacker es su disposición de explorar en detalle cómo funcionan los sistemas de computación con poca o ninguna motivación externa. Los desarrolladores de software de la comunidad de Código Abierto (Open Source), a menudo se consideran a ellos mismos y a sus colegas como hackers, como una forma de respeto.

Típicamente, los hackers siguen una forma de ética de hackers que dicta que la búsqueda de información y experiencia es esencial y que compartir ese conocimiento es el compromiso de todo hacker con la comunidad. Durante esa búsqueda de conocimiento, algunos hackers disfrutan los retos académicos de burlar los controles de seguridad en sistemas de computación. Por esta razón, la prensa usualmente utiliza este término para describir aquellos que accesan sistemas y redes ilegalmente sin escrúpulos, con intenciones maliciosas o criminales. El término más adecuado para este tipo de hacker de computadoras es cracker o maleante informático (también se les conoce como pirata informático, ciberpirata, etc.)— un término creado por los hackers en la mitad de los 80 para diferenciar a las dos comunidades.

2.1.1. Escalas de grises

Dentro de la comunidad de individuos que intentan encontrar y explotar las vulnerabilidades en sistemas y redes, se encuentran varios grupos distintos. Estos grupos se describen por el color del sombrero que ellos «usan» cuando realizan sus investigaciones de seguridad, y este tono es un indicativo de su intención.

Un hacker de sombrero blanco es aquel que prueba sistemas y redes para examinar su rendimiento y determinar que tan vulnerables estos son ante un intruso. Usualmente, los hackers de sombrero blanco tratan de violar sus propios sistemas o los sistemas de un cliente el cual lo ha empleado particularmente para propósitos de auditoría de seguridad. Los investigadores de seguridad y los consultores de seguridad profesional son dos ejemplos de hackers de sombrero blanco.

Un hacker de sombrero negro es sinónimo de un cracker. En general, los crackers están menos enfocados en el lado de programación y académico de violar un sistema. Con frecuencia los crackers utilizan programas especializados para violar vulnerabilidades conocidas en los sistemas para así descubrir información confidencial para beneficio personal o para producir daños a un sistema o red.

Por otro lado, un hacker de sombrero gris, tiene las habilidades e intenciones de un hacker de sombrero blanco pero en la mayoría de las situaciones utiliza ese conocimiento para propósitos menos nobles. Un hacker de sombrero gris se puede ver como un hacker de sombrero blanco el cual a veces usa un sombrero negro para ejecutar su propia agenda.

Los hackers de sombrero gris usualmente se suscriben a otra forma de código de ética que dice que es aceptable entrar en un sistema siempre y cuando el hacker no cometa robo o viole la confidencialidad. Sin embargo, otros argumentan que el sólo hecho de violar un sistema es por sí mismo anti-ético.

No importa cual sea la intención, es importante conocer las debilidades que un pirata intentará explotar. El resto del capítulo se basará en estos problemas.