Seguridad Informática: Tipos de ataque
ICQ, el primer software de mensajería instantánea, fue el pionero
para el cual se desarrollaron programas que utilizaban su protocolo.
Como es de suponer, no todos los ataques son de la misma
naturaleza. De hecho, en este caso nos referiremos solamente a
una clasificación particular desde el punto de vista técnico.
Ataques al sistema operativo
Los ataques al sistema operativo constituyen un punto clásico de la
seguridad. Desde esta perspectiva, la búsqueda de fallas se realizará
en lo concerniente al propio sistema base de todo el resto del software,
de tal modo que, muchas veces, independientemente de lo que se
encuentre por encima, se podrá explotar y tomar control del sistema en
caso de que sea vulnerable.
En la actualidad tenemos tres líneas principales: los sistemas del
tipo Windows, los del tipo Linux o derivados de UNIX, y los sistemas
MAC OSX, los cuales, si bien están basados en UNIX, a esta altura
presentan entidad propia. En el caso de los
primeros, desde su origen fueron objeto de ataque
dada su masificación y la relativa simplicidad con
que se pudo acceder históricamente al núcleo del
sistema, incluso, sin contar con su código fuente.
Para el caso de Linux la situación es quizá peor,
ya que, al poseer el código fuente, es posible
detectar problemas también a nivel de código.
Y en cuanto a OSX, la velocidad con la que ha
acaparado mercado de múltiples plataformas en
los últimos años, sumado a que los controles de
seguridad implementados no son suficientes frente a las amenazas
actuales, hacen que el sistema operativo de MAC sea un blanco cada
vez más buscado por los atacantes. Pese a lo que se cree, la estadística
de cantidad de vulnerabilidades de Windows no supera anualmente a
la de Linux; en general, la diferencia ha sido la velocidad con la que
aparecían las soluciones en cada caso, llevando aquí Linux la delantera.
Respecto a MAC OSX, debemos saber que año a año la cantidad de
vulnerabilidades que se descubren va en aumento.
Los ataques al sistema operativo también incluyen las
implementaciones que este realiza de las distintas tecnologías, lo cual
puede incluir librerías (que deberíamos llamar bibliotecas, en rigor de
verdad). Por ejemplo, podría ser que un sistema tuviera un fallo en la
implementación de cierta tecnología de cifrado, lo cual haría que el
cifrado fuera débil, sin que se tratara de un problema en el propio
algoritmo de cifrado ni en la aplicación que lo utilizara. Sumado a esto, con la masificación de los entornos virtualizados,
especialmente en el ámbito corporativo, estamos agregando una nueva
capa que también es susceptible de ser atacada.
En estos entornos estamos añadiendo la aplicación sobre la
cual virtualizaremos por debajo del resto de los sistemas. Un ejemplo
es VMware ESX. Es decir, además de los sistemas operativos, también
podemos atacar esta aplicación, pero con el problema adicional de que si logramos comprometerla, muy posiblemente tendremos acceso a
cada uno de los sistemas que esté virtualizando.
Estos ataques, incluyendo los sistemas de virtualización, pueden
ser locales o remotos, y representan una pieza clave en la búsqueda de
vulnerabilidades para el acceso a un sistema o red.
Ataques a las aplicaciones
En este caso, la variedad es mayor. Existen miles y miles de piezas
de software y programas de todo tipo y tamaño, disponibles en el
mundo. Por supuesto, entre tantos millones de líneas de código,
necesariamente se producen errores. Para los ataques a las aplicaciones
también se tendrá en cuenta la masividad de uso.
Esto implica que un programa manejado por millones de personas
para leer archivos del tipo PDF será mejor objetivo que uno empleado
por unos pocos para editar cierto tipo de archivos específicos de un
formato menos conocido por los usuarios.
Las aplicaciones amplían entonces la superficie de ataque de un
sistema, por lo que se recomienda siempre evitar la instalación de
aquellas que no se requieran, siguiendo el principio de seguridad que
sugiere el minimalismo.
La idea de atacar la implementación de algo en vez del software en
sí mismo también vale para este caso. Muchos son los programas que
realizan las mismas funciones, solo que algunos podrían hacerlo de
manera tal que puedan encontrarse fallos en dicha operatoria, lo que
comprometería al software, y con él, al sistema completo.
Justamente
esta es otra de las problemáticas. Dependiendo de los privilegios con los
cuales se ejecute cierto programa, si es comprometido, podría afectar de
forma directa al sistema, ya que se utilizaría el mismo nivel de permisos
para atacarlo desde adentro, y tal vez, hasta escalar privilegios para
llegar al máximo nivel, tema que analizaremos más adelante.
No hay comentarios