13.07.2015 Views

SEGURIDAD EN UNIX Y REDES

SEGURIDAD EN UNIX Y REDES

SEGURIDAD EN UNIX Y REDES

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

5.4. FAUNA Y OTRAS AM<strong>EN</strong>AZAS 815.4.8 Puertas traserasLas puertas traseras son trozos de código en un programa que permiten a quién conoce su funcionamientosaltarse los métodos usuales de autenticación para realizar cierta tarea. Habitualmenteson insertados por los programadores para agilizar la tarea de probar su código durante la fase dedesarrollo del mismo y se eliminan en el producto final, pero en ciertas situaciones el programadorpuede mantener estas puertas traseras en el programa funcional, ya sea deliberada o involuntariamente.Por ejemplo, imaginemos una aplicación que para realizar cualquier tarea de seguridadsolicita a quien lo ejecuta cinco claves diferentes; evidentemente, durante la fase de desarrollo esmuy incómodo para el programador teclear estas contraseñas antes de ver si el producto funcionacorrectamente, por lo que es muy común que esta persona decida incluir una rutina en el código deforma que si la primera clave proporcionada es una determinada no se soliciten las cuatro restantes.Esta situación, aceptable durante la fase de desarrollo, se convierte en una amenaza a la seguridadsi se mantiene una vez el producto está instalado en un sistema real: cualquiera que conozca laclave inicial puede saltarse todo el mecanismo de protección del programa.Aparte de puertas traseras en los programas, es posible – y típico – situar puertas traseras enciertos ficheros vitales para el sistema; generalmente, cuando un atacante consigue acceso a unamáquina Unix desea mantener ese acceso aunque su penetración sea detectada. Por ejemplo, algomuy habitual es añadir un usuario con UID 0 en el fichero de claves, de forma que el pirata puedaseguir accediendo al sistema con ese nuevo login aunque el administrador cierre la puerta que anteshabía utilizado para entrar. También es clásico añadir un nuevo servicio en un puerto no utilizado,de forma que haciendo telnet a ese número de puerto se abra un shell con privilegios de root;incluso muchos atacantes utilizan la facilidad cron para chequear periódicamente estos archivos einsertar las puertas traseras de nuevo en caso de que hayan sido borradas. ¿Qué hacer para evitarestos ataques? La prevención pasa por comprobar periódicamente la integridad de los archivos másimportantes (ficheros de contraseñas, spoolers, configuración de la red, programas del arranque demáquina. . . ); también es conveniente rastrear la existencia de nuevos archivos setuidados que puedan‘aparecer’ en los sistemas de ficheros: cualquier nuevo programa de estas características sueleindicar un ataque exitoso, y una puerta trasera – generalmente un shell setuidado – colocada ennuestra máquina. Los más paranoicos no deben olvidar efectuar una búsqueda bajo los dispositivosmontados (existen utilidades para hacerlo), ya que un find normal no suele encontrar ficherossetuidados que se guarden en un directorio que es a su vez punto de montaje para otra unidad.5.4.9 SuperzappingEste problema de seguridad deriva su nombre del programa superzap, una utilidad de los antiguosmainframes de IBM que permitía a quién lo ejecutaba pasar por alto todos los controles de seguridadpara realizar cierta tarea administrativa, presumiblemente urgente; se trataba de un ‘Rompael cristal en caso de emergencia’ que estos sistemas poseían, o de una llave maestra capaz de abrirtodas las puertas. Obviamente, el problema sucede cuando la llave se pierde y un atacante la utilizaen beneficio propio.Como es normal, este tipo de programas no suele encontrarse en los sistemas modernos por losgraves problemas de seguridad que su existencia implica: imaginemos un shell setuidado comoroot y guardado en /tmp/, de forma que si el sistema funciona anómalamente cualquiera puedeejecutarlo para solucionar el posible problema. Parece obvio que para un atacante sería un granavance disponer de esta herramienta. De cualquier forma, no es habitual clasificar a los programassuperzap como malware, ya que en principio se trata de aplicaciones legítimas, incluso necesariasen determinadas situaciones; es, como sucede en muchos casos, su mal uso y no el programa en sílo que constituye una amenaza a la seguridad.El ejemplo típico ([ISV95], [Par81]. . . ) de problemas derivados del superzapping es un caso ocurridoen Nueva Jersey que causó la pérdida de 128.000 dólares de los años setenta. El operador de un

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!