Download Sistema antiviral para sistemas operativos Windows
Document related concepts
no text concepts found
Transcript
CAPITULO I 1. INVESTIGACIÓN PRELIMINAR 1.1. Virus Introducción Uno de los cambios más sorprendentes del mundo de hoy es la rapidez de las comunicaciones. Modernos sistemas permiten que el flujo de conocimientos sea independiente del lugar físico en que nos encontremos. No sorprende la transferencia de información en tiempo real o instantáneo. Se dice que el conocimiento es poder; para adquirirlo, las empresas se han unido en grandes redes internacionales para transferir datos, sonidos e imágenes, y realizan el comercio en forma electrónica, para ser más eficientes. Pero al unirse en forma pública, se han vuelto vulnerables, pues cada sistema de computadoras involucrado en la red es un blanco potencial y apetecible para obtener información. El escenario electrónico actual es que las organizaciones están uniendo sus redes internas a la Internet, la que crece a razón de más de un 10% mensual. Al unir una red a la Internet se tiene acceso a las redes de otras organizaciones también unidas. De la misma forma en que accedemos a la oficina del frente de nuestra empresa, se puede recibir información de un servidor en Australia, conectarnos a una supercomputadora en Washington o revisar la literatura disponible desde Alemania. Del universo de varias decenas de millones de computadoras interconectadas, no es difícil pensar que puede haber más de una persona con perversas intenciones respecto de una organización. Por eso, se debe tener la red protegida adecuadamente. Cada vez es más frecuente encontrar noticias referentes a que redes de importantes organizaciones han sido violadas por criminales informáticos desconocidos. A pesar de que la prensa ha publicitado que tales intrusiones son solamente obra de adolescentes con propósitos de entretenerse o de jugar, ya no se trata de un incidente aislado de una desafortunada institución. A diario se reciben reportes de ataques a redes informáticas, los que se han vuelto cada vez más siniestros: los archivos son alterados, las computadoras se vuelven inoperativas, se ha copiado información confidencial sin autorización, se ha reemplazado el software para agregar "puertas traseras" de entrada, y miles de contraseñas han sido capturadas a usuarios inocentes. Los administradores de sistemas deben gastar horas y a veces días enteros volviendo a cargar o reconfigurando sistemas comprometidos, con el objeto de recuperar la confianza en la integridad del sistema. No hay manera de saber los motivos que tuvo el intruso, y debe suponerse que sus intenciones son lo peor. Aquella gente que irrumpe en los sistemas sin autorización, aunque sea solamente para mirar su estructura, causa mucho daño, incluso sin que hubieran leído la correspondencia confidencial y sin borrar ningún archivo. De acuerdo a un estudio de la Consultora "Ernst and Young" abarcando más de mil empresas, un 20% reporta pérdidas financieras como consecuencia de intrusiones en sus computadoras (Technology Review, Abril 95, pg.33). Ya pasaron los tiempos en que la seguridad de las computadoras era sólo un juego o diversión. Pues bien esto es solo una parte, ya que con el acceso a Internet compartimos nuestros archivos en la red, esto a su vez hace posible la transmisión de virus o ataques virales y si nuestros sistemas son vulnerables con estos ataques se puede llegar a la pérdida de valiosa información. A todo esto nos plantemos la pregunta; ¿qué es un virus?, un virus es un programa escrito en un lenguaje de programación, que altera el funcionamiento de nuestro computador.1 Los virus pueden ser escritos por cualquier persona con conocimientos de programación, aunque existen virus programados en C o hasta en Pascal, pero que son muy extensos. También es posible desarrollar virus en lenguaje Java y Visual Basic Scripts. Para pasar desapercibidos los virus deben tener una muy pequeña extensión, y por ello con el lenguaje Assembler se pueden producir especies virales desde 1 hasta 3k. Los creadores de virus pueden ser investigadores o educadores, pero la mayoría de las especies son producidas por personas que actúan irresponsablemente o de mala fe, podríamos decir que es un fenómeno social de "graffiti cibernético". La forma de infección viral es sencilla, ya sea por el puerto de comunicaciones ( la red, el modem) ó discos magnéticos como diskets. Las principales características de los virus son: Software Inactivo hasta una señal Se carga en memoria Destrucción ó se replica Reorienta la lectura del disco Los síntomas que presenta una máquina infectada son: Su computador se vuelve demasiado lento Se cuelga la maquina innecesariamente Al iniciar el equipo no se puede acceder al disco duro Cuando estamos trabajando en cualquier editor de texto, sale el mensaje que no hay suficiente . La luz del disco duro y de la unidad de diskets se prende y se apaga sin estar trabajando. Algunos programas no pueden ser ejecutados. 1.1.1. Tipos de Virus Bomba lógica: se activa en un momento predeterminado buscando un efecto destructivo preciso también pre-establecido. Caballo de Troya: es un virus escondido en una aplicación de amplia difusión , que consulta, modifica o destruye cierto tipo de datos del usuario. Gusano: virus que se instala en la memoria RAM; puede afectar toda una red, frena las aplicaciones y puede bloquear la máquina, obligando a reiniciar. Virus de sistema o de aplicación: se instalan y propagan a partir del sector de lanzamiento de los soportes o aplicaciones (pista de directorio, "desktop" o "resource fork" 1.5. Estudio de Antivirus 1.2.1. Symantec (Norton Antivirus) Certificado por la NCSA. Posee una protección automática en segundo plano. Detiene prácticamente todos los virus conocidos y desconocidos (a través de una tecnología propia denominada NOVI, que implica control de las actividades típicas de un virus, protegiendo la integridad del sistema), antes de que causen algún daño o pérdida de información, con una amplia línea de defensa, que combina búsqueda, detección de virus e inoculación (se denomina 'inoculación' al método por el cual este antivirus toma las características principales de los sectores de booteo y archivos para luego chequear su integridad. Cada vez que se detecta un cambio en dichas áreas, NAV a visa al usuario y provee las opciones de Reparar - Volver a usar la imagen guardada - Continuar No realiza cambios - Inocular - Actualizar la imagen. Utiliza diagnósticos propios para prevenir infecciones de sus propios archivos y de archivos comprimidos. El escaneo puede ser lanzado manualmente o automáticamente a través de la planificación de fecha y hora. También permite reparar los archivos infectados por virus desconocidos. Incluye información sobre muchos de los virus que detecta y permite establecer una contraseña para aumentar así la seguridad. La lista de virus conocidos puede ser actualizada a través de servicios en línea como Internet, América On Line, Compuserve, The Microsoft Network o el BBS propio de Symantec, entre otros. El Test El test de detección de troyanos camuflados ha sido algo duro para él. Si bien ha quedado en 5ª posición dentro de los antivirus, la diferencia que le han sacado los 4 primeros es demasiada para un antivirus de su prestigio. En el test número 1 de detección de servidores de troyanos, muchos, pero muchos troyanos los clasifica como genéricos (trojan backdoor, trojan horse,...) por lo que a la hora de eliminarlos, al no tenerlos identificados, no sabe cómo los eliminará pues cada troyano tiene sus entradas de registro específicas, sus archivos específicos. Además, en el caso de una hipotética limpieza manual no sabríamos de qué troyano se pudiera tratar. Esto de detectar troyanos como genéricos pasa con todos los antivirus y antitroyanos en alguna que otra ocasión, pero los casos del Norton y del F-Prot son bastante exagerados. Así que, el porcentaje de identificación debería ser mayor para un antivirus de su prestigio. Su porcentaje de detección sin embargo aumenta considerablemente en comparación con las pruebas realizadas sobre miles de troyanos. Por lo demás: monitor fiable, configurable y posee uno de los mejores analizadores de correo electrónico del mercado, independiente del cliente de correo utilizado, actúa directamente sobre los puertos 110 y 25. Su entorno gráfico es agradable, la suite NIS (Norton Internet Security) está siendo imitada por otras casas (McAfee, Bitdefender, PC-Cillin, KAV... este último sin firewall). Es decir, antivirus + firewall + controles varios de Internet. La parte antivírica y la de seguridad en Internet de la suite NIS se complementa bastante bien. Si algo no autorizado intenta conectarse a Internet automáticamente es analizada por el antivirus. 1.2.2. McAfee Associates (Virusscan) Este antivirus de McAfee Associates es uno de los más famosos. Trabaja por el sistema de exploración de cada uno de los archivos. Para escanear, hace uso de dos técnicas propias: CMS (Code Matri x Scanning, Escaneo de Matriz de Código) y CTS (Code Trace Scanning, Escaneo de Seguimiento de Código). Una de las principales ventajas de este antivirus es que la actualización de los archivos de bases de datos de strings es muy fácil de realizar, lo cual, sumado a su condición de programa shareware, lo pone al alcance de cualquier usuario. Es bastante flexible en cuanto a la configuración de cómo detectar, reportar y eliminar virus. El Test McAfee v6.02 Pro. Es una suite tipo NIS, detecta casi todos los servidores camuflados y casi todos los troyanos; roza el 100% en ambos casos. Por otro lado es algo pesado y no es excesivamente acertado ni intuitivo. Su nivel de detección raya el sobresaliente y ha sido el antivirus que más troyanos ha detectado (97%). En cuanto al monitor, bastante bien. Las pruebas de detección de exploits, las ha superado. Su monitor de correo electrónico también pasa por ser uno de los mejores. En conjunto ofrece FIABILID AD. 1.2.3. Panda Titanium El Test Tiene muy pocas opciones de configuración, su interface es lenta, su enciclopedia de virus es lo único destacable. El escaneo online (recomendable) detectó un troyano más que la versión instalada en disco. Bajo porcentaje de detección para el renombre que tiene. 1.2.4. F-Prot El Test Identificó más de 60 troyanos como "sospechosos"... tipo Norton, no es lo mismo, pero parecido (uno que sospechoso de ser troyano y el otro que es un troyano genérico). Porcentaje de detección bajo, y el de identificación, pésimo, casi un 70% de lo detectado no lo ha sabido identificar. Lo útil de testear con el F-Prot es confirmar que como solución de emergencia para usar en MS-DOS es aceptable. 1.2.5. AVP Karperski Antivirus El Test Es la referencia de un buen programa. Detecta clientes de troyanos, cosa muy interesante. Buen porcentaje de detección de servidores (95%), bien en comprimidos, buen monitor, gran detector de exploits y scripts; muy fiable, actualizable. La versión 4 actualizada ha corregido esos problemillas de falta de recursos. 1.2.6. Pc-Cillin El Test Algo lento el interface. El peor detectando servidores camuflados. Tan solo detecto uno, el cual ha sido detectado por todos los antivirus. Nivel de aceptación bajo. 1.2.7. BitDefender El Test Incorpora firewall, control de Actives. Suspende en la identificación servidores camuflados y ni tan siquiera conoce muchos de los "juntadores" o joiners. Los resultados del escaneo online fueron idénticos a los del escaneo manual, lo que es una buena referencia para recurrir a él como segunda opinión. 1.2.8. Eset NOD32 El Test Casi se puede asegurar que no detecta los servidores camuflados aunque sí conozca el joiner como tal (el programa juntador). Muy mal en este aspecto. Es muy rápido en el escaneo y la interfaz no pesa al sistema (no como la del Norton, PC-cillin,...). El monitor es fiable, pero el nivel de detección bajo para un antivirus al que se le sitúa a la par de "los grandes". Existe una versión específica para MS-DOS que puede ser una opción válida en caso de emergencia. 1.2.9. DoctorWeb El Test Es muy rápido, al igual que el NOD32, detecta muchos servidores camuflados. Por lo demás tiene un nivel bajo. 1.2.10. F-Secure El Test Tiene el motor del KAV, aunque detecto un troyano más, el Caín, que es de los "dificilillos". Buen antivirus, ha superado la prueba de detección de servidores camuflados, detecta clientes, etc. El monitor bien. 1.5. Selección Para la selección de los dos antivirus que serán parte del integrador nos basamos en una prueba de detección de antitroyanos, no hemos de contemplar este análisis como una comparativa exhaustiva de los programas, simplemente se ha considerado lo siguiente: El primer paso en la infección por troyano es la recepción del programa servidor por nuestra parte, el cual suele enviarse renombrado o bajo disfraz (adherido a otra aplicación). Es de suponer que si contamos en nuestro sistema con un programa antitroyanos realizaremos un scanneo sobre el archivo en cuestión, que ha de ser detectado como troyano por el programa. Es esencial la detección del troyano en ese punto y, además, un scanneo de un programa especializado en la detección de software malicioso de control remoto nos debe ofrecer una garantía a prueba de caballos de troya y debe reconocer la mayoría de los troyanos que nos pudieran llegar. Si por cualquier motivo, ese scanneo llegase a fallar o no se realizara , al ser ejecutado por nosotros, el monitor del antitroyanos podría no obstante detectar al troyano accediendo a la memoria, escribiendo en el registro de Windows ó, simplemente, reconocerlo dentro de la base de datos del propio programa de seguridad. No sería normal si antes ya ha fallado, pero podría percibir alguna acción extraña una vez instalado el troyano en nuestra máquina. Pues bien, se ha tomado en cuenta los servidores de los 100 troyanos seleccionados, separados de sus archivos de instalación y clientes (es decir, lo que intentarían colocarnos en el PC), y los hemos analizado con los diferentes programas. Para cada troyano hemos dispuesto 3 tests diferentes: Test número 1: Detección del servidor del troyano. Ésta es la prueba más sencilla y habitual, la usual que se lleva a cabo cuando se realizan las comparativas de antitroyanos. Consiste en meter en una carpeta un gran número de servidores de troyano y analizarla con los distintos programas. Test número 2: Detección del servidor del troyano adherido a otra aplicación y, por lo tanto, camuflado. Teniendo en cuenta que el método actual más común o, por lo menos, muy común de recepción de un troyano consiste en adherir el servidor del mismo a otro fichero (otro ejecutable, una imagen, secuencia de audio, de vídeo, etc) por medio de utilidades tales que "joiners", "droopers", "binders". Así que hemos cogido una muestra significativa de troyanos, hemos adherido estos troyanos con 20 juntadores distintos a otra aplicación que actuase como portadora o señuelo y los hemos vuelto a someter al respectivo análisis de cada programa de seguridad. A estos troyanos camuflados se ha añadido otros 3 que vienen adheridos de serie y que son más o menos conocidos y utilizados en La Red. Nos referimos concretamente al "Deep Throat Sp00fer" o "Instala server" (deep throat v2.0 camuflado), al "Ultimate Nuker" (Doly v1.6 camuflado) y al "Whackjob" (NetBus v2.0 camuflado) para ver si se observaba algo significativo. Ésta es por lo tanto una prueba de detección de joiners o, dicho de otra forma, de detección de troyanos camuflados por medio de joiners. Test número 3: Detección del troyano adherido a otra aplicación al ser éste ejecutado. Este test se ha llevado a cabo sobre los servidores de troyano adheridos a otra aplicación (los del test número 2) porque éste sería el siguiente paso que se daría si a la recepción de un archivo y tras someterlo al análisis de nuestro antivirus y/o antitroyanos, el mismo fuera negativo y nos indicara (equivocadamente) que dicho fichero estaba limpio. Es decir, ejecutaríamos el archivo. Esta prueba va a comprobar básicamente la eficacia de los monitores en tiempo real de los antivirus y antitroyanos. Se ha realizado la misma prueba en dos equipos diferentes, con dos sistemas operativos distintos: Windows XP y Windows Millenium. El funcionamiento de los troyanos ha sido anteriormente verificado. De esta forma se asegura una mayor fiabilidad en los resultados. Siempre se han activado en todos los programas las opciones de detección al máximo y han sido actualizadas sus bases de datos antes de efectuar la prueba. 1.3.1. Cuadro Comparativo Antivirus Actualizacion Certificado Acierto Seleccion es por ado Por Internet NCSA la de Búsqued a Symantec Si Si Bueno No Si Si Mu y No (Norton Antivirus) McAfee Bueno Associates (VirusScan) Si Si Bueno No F-Prot Si Si Bueno No AVP Si Si Excelente Si Pc-Cillin Si Si Regular No BitDefender Si Si Bueno No Aset NOD32 Si Si Regular No DoctorWeb Si Si Regular No F-Secure Si Si Mu y Si Panda Titanium Kasperski Antivirus Bueno 1.3.2. Explicación del cuadro comparativo Los antivirus fueron probados en los equipos de un centro de cómputo y relacionados de acuerdo al informe tomado de Soporte e Investigación Tecnológica, según se explica en el capítulo III. En este sentido cada vez que cualquier fabricante de un sistema operativo anuncia un problema de seguridad o eleva el nivel de peligro de una vulnerabilidad, se vuelve a generar un montón de ruido en contra de ese fabricante. Pero, eso sí, ese ruido se vuelve clamor generalizado cuando el fabricante es Microsoft. Desde luego, tan peligrosa puede ser una vulnerabilidad en Oracle como en los sistemas Microsoft, y nadie ha dicho que Oracle deba iniciar un proceso de "Trust computing" en sus productos, cuando también han sido detectadas muchas otras vulnerabilidades en el famoso programa de gestión empresarial. La recomendación directa de Varios especialistas es utilizar más de un antivirus a la vez en la PC, en cambio la instalación de la mayoría de los antivirus hace hincapié en lo contrario ("desinstale otros antivirus antes de..."). En definitiva no queda muy claro si esto es bueno o malo, lo cierto es que es posible ya que todas las pruebas que realizamos con estos programas se hicieron con otros antivirus instalados y no presentaron mayores inconvenientes.1 Escogitamiento del FSecure a) Maquina de Redundante: Usa tres mecanismos de búsqueda; POR: nombre, heurística y las maquinas del propio FSEcure más la maquina del AVP. b) Control Centralizado c) Actualización Automática Escogitamiento del Karspersky a) Obtiene mayor cantidad de reconocimiento viral b) Peso de la aplicación c) Actualización automática Cuadro de capacidades del los antivirus 2 1.4. Propagación de los Virus La inmensa mayoría de las infecciones víricas actualmente se deben a infecciones por gusanos (programas que se transmiten a través de las redes e Internet) y troyanos (los cuales suelen ejecutar acciones ocultas e indeseables) realizadas en su mayoría de las veces a través del correo electrónico. Estos virus se activan mediante la ejecución de adjuntos en el correo electrónico o simplemente mediante la lectura de correos recibidos con código malicioso dentro de HTML. Existe la posibilidad que en el futuro aparezcan nuevos virus similares al Nimda o al Klez, los cuales podrán tomar ventaja de las vulnerabilidades existentes o de las que lleguen a presentarse. La educación y la conciencia basada en estrategias adecuadas de seguridad es la única forma de prevenir los posibles daños. Un posible colapso de la Internet (debido a una saturación del tráfico, a causa de los virus) no tiene tanto sustento a priori, pues sus límites antes que ser tecnológicos tienden a ser más bien culturales y ante una situación de esta naturaleza todavía se tienen elementos para prevenirla. Hoy en día, dado lo sofisticado que son estos programas, uno solo de ellos tiene la característica que no le piden nada a sus antecesores, constituyendo de esta manera, la principal causa de los estragos producidos. El gusano Nimda (que llegó como troyano y destruye el sistema como un virus) y el Klez nos abren todo un abanico de posibilidades y sorpresas inesperadas que ponen a tambalear nuestros esquemas clásicos de protección. Virus, Troyanos, y gusanos han existido desde los inicios de los sistemas operativos actuales y de Internet. La contienda “virus antivirus” ya tiene sus dos décadas y nada nos indica que vaya a terminar. No se puede descartar, por ejemplo, que en un futuro cercano los virus atacarán teléfonos celulares programables y se propagarán cuando encuentren algún vínculo abierto entre dos aparatos. La principal vía de contagio, tal como hoy ocurre con las computadoras, será el correo electrónico, que ya está disponible en el mundo de la telefonía móvil. Remarcando esto, los virus del futuro no sólo harán blanco en computadoras y servidores sino que serán diseñados para atacar teléfonos celulares inteligentes y asistentes digitales personales. Estos códigos maliciosos se prevé que incluso podrían llegar a grabar conversaciones y enviarlas vía correo electrónico a otros usuarios sin el consentimiento del dueño del aparato, suprimir o alterar estados financieros almacenados en los celulares, o incluso cambiar los números telefónicos contenidos en la memoria de estos artefactos y reemplazarlos con otros números de larga distancia, con el fin de generar cuentas y débitos de proporciones enormes. Más aun, no es descabellado pensar, que las guerras del futuro cercano entre países desarrollados tendrán lugar entre dos redes informáticas, en las bolsas y mercados financieros interconectados, entre naves no tripuladas y satélites. De hecho, mientras el capitalismo prevalezca y esta situación nos alcance, las armas convencionales solamente se llegarían a utilizar con los países subdesarrollados. Si miramos un poco al futuro y pensamos en la domótica (control de edificios, casas, etc, mediante hardware y software), vislumbramos ya la introducción de Internet en nuestra vida doméstica. De hecho, algunos operadores de televisión por satélite ya pregonan la disponibilidad de Internet a través de la televisión. De modo que tal vez dentro de poco, junto con nuestra televisión tengamos que comprar algún tipo de dispositivo antivirus. Y no pensemos sólo en la televisión, ya que otros electrodomésticos también serán alcanzados por los largos tentáculos de Internet.3 El futuro nos augura mayor número de virus y más sofisticados, en lo que va del 2004 ya se ha alcanzado la cifra que se tenía al cierre del año 2003. Algunas posibles tendencias pueden ser las siguientes: Gran incremento en el número de virus, gusanos o backdoors. La frecuencia avasalladora con que van apareciendo nuevas variantes de malware (códigos maliciosos) nos predispone a mantener una política coherente y adecuada de actualizaciones. A la hora de escoger un software antivirus se ha de tener en cuenta la capacidad de actualización y la velocidad de respuesta de los laboratorios de las empresas, así como las capacidades heurísticas (detección de posibles virus nuevos) que tengan integradas estos productos. ! Java y Active X. Ambos de estos componentes gozan presumiblemente de mecanismos de seguridad para evitar la difusión de virus pero tienen algunos agujeros (de ser así, Windows XP sería verdaderamente una promesa) . La seguridad de ActiveX se basa en que sólo puede ejecutarse código autenticado. Eso es mejor que nada pero aún deja mucho que desear, no se puede apostar a que autenticar sea una garantía absoluta o infalible. Más conectividad. La demanda de mayor ancho de banda incrementa con cada vez más información en circulación. A mayor intercambio de información, mayor intercambio de todo tipo de programas o archivos incluyendo a los diversos gusanos que vayan surgiendo. Lenguaje de macros más potente, universal y manejable. Los fabricantes de software incluyen cada vez lenguajes de macro más potentes y sencillos de utilizar pero como contrapartida, más vulnerables a los ataques o incorporación de códigos no necesariamente benévolos. Aparentemente los virus de macro ya no son los que dominan la escena, pero bien podrían irse acompañando en el ciberespacio de gusanos cada vez más potentes (de hecho Melissa nos dio una adelanto de situaciones de este tipo) y de esta manera afianzar novedosamente su presencia. Más virus destructivos. El código fuente del virus CIH (capaz de sobrescribir en determinadas circunstancias el BIOS y dejar la máquina absolutamente inoperante), los más diversos kits de creación de virus y otras tantas linduras están al alcance de todo mundo en Internet. Esta información alienta a otros programadores de virus a generar otros, e incluso a auténticos aficionados (“lamercillos” y crackers) a sentirse como niños en dulcería con el simple hecho de jugar con estas cosas. Lo anterior nos lleva a pensar (sin mucho temor a equivocarnos) que el futuro de los antivirus está fundamentalmente en el desarrollo sólido de la heurística, y en la integración de éstos hacia una estructura más sólida de software que contemple a antivirus, cortafuegos, detectores de intrusos y autenticación como un solo producto. Después de los 700 millones de dólares de pérdida que nos dejó el virus del amor (I love you) en sólo cinco horas alrededor del planeta, todos quedamos un poco sensibles al tema. 1.5. Conclusiones La alternativa de solución será crear una Aplicación (Integrador Antiviral, Servidor), la misma que en el momento de entrar en ejecución realizara búsquedas redundantes mediante dos o más programas antivirales. Además la creación de una aplicación que se instalará en todos los equipos del Campus Universitario (Cliente), la mismo que funcionará como un planificador de tareas y hará la llamada al Servidor en el momento indicado. Los antivirus ha tomarse en cuenta según nuestro cuadro comparativo serán: AVP Kasperski Antivirus y F-Secure. Además podríamos tomar en cuenta como complementario un Antittro yano, pero en general podemos concluir que los Antitroyanos son programas prescindibles, osea, no son fundamentales. Si se cuenta con un buen antivirus no es en absoluto necesario incorporar a nuestro sistema un programa antitroyanos. Alguno se podría combinar con un antivirus de forma complementaria a éste, en el caso de que el programa antitroyanos incorporara, además de un buen nivel de detección, algunas opciones interesantes, y aun así tampoco estaría muy claro que nos resultara verdaderamente necesario, pues hay programas específicos para la comprobación de puertos, utilidades de red, protectores del Registro; etc, que realizan estas tareas y ningún antitroyano, salvo el TDS, las incorpora todas juntas, de forma que tampoco sería un sustituto de todas aquellas herramientas. Podríamos reunir varias de ellas en una sola aplicación, eso sí, y aligerar a nuestro sistema de aplicaciones residentes en memoria. ¿Que con un antitroyano que incorpore varias de dichas opciones nos ahorramos la instalación unas cuantas herramientas específicas? Es posible pero ¿es más completo el monitor de puertos de un antitroyanos que un firewall? ¿Es mejor el scanner de registro de un antitroyanos que una aplicación específica de registro y programas activos? ¿Detecta más troyanos un antitroyanos que un antivirus? Por lo general responderíamos que NO a todas estas cuestiones. El estudio y programa realizado también aporta considerablemente a las recomendaciones realizadas por el Dpto. de Soporte e Investigación Tecnológica a través del Ing. Greyson Alberca, estas son: - Se necesita soporte continuo para la herramienta: De hecho las actualizaciones que soporta son por fechas de acuerdo al antivirus, además se puede incluir otros si fuese necesario. - Los usuarios deben ser capacitados: El mecanismo de capacitación tiene que ser continuo aunque el usuario no tiene mucho que hacer en el uso de la herramienta. - En el caso de los archivos comprimidos bajo el formato ZIP, que fueron descargados por Internet, estos deberán ser revisados inmediatamente después de haber sido desempaquetados y antes de ser ejecutados: La característica de revisión dependerá siempre del planificador de tareas. - Este mismo tratamiento se deberá dar a los archivos anexados (adjuntos), enviados por correo electrónico, cuidándose de no abrir mensajes de origen desconocido o sospechoso. - Restringir al máximo el uso de los equipos, por parte de personas ajenas a las actividades propias de la dependencia. - Permitir seguridad en Correo. - Protección de virus silvestres y zoológicos (antiguos). - Permitir administración remota. - Permitir actualización automática. - Usar un mínimo en recursos: Actuará con cliente - servidor - Soporte en diferentes plataformas. - Permitir transparencia al usuario. - Respuesta efectiva a los últimos virus: Utiliza máquinas redundantes - Soporte al máximo. CAPITULO II 2. DISEÑO INTRODUCCION Para continuar con la etapa de diseño, tenemos que conocer a ciencia cierta algunos conceptos tales como: búsquedas redundantes, algoritmos y técnicas de búsqueda, políticas de seguridad, y otros que nos servirán para determinar cuales serán las características principales del software en construcción. 2.1. Verificación de Exámenes Redundantes Se parte de la pregunta ¿Qué es un Examen Redundante?, pues bien; un examen redundante nos permite volver a realizar la búsqueda y desinfección de virus en un computador a partir de la respuesta afirmativa de la presencia de algún virus luego de haber realizado con anterioridad la búsqueda con otro software antiviral. Cual es la razón ó el ¿Por qué? de su uso: permite minimizar los riesgos de propagación de los virus. De hecho en una consecución de algoritmos de antivirus es necesario plantear cada una de las herramientas verificadas como examen antiviral, ya que cuando no funciona un elemento de software en relación a la cura de un virus llamamos a la máquina de otro antivirus a pesar de que cada uno sostenga su propia máquina. Cada uno de estos programas (Antivirus), manejan métodos heurísticos propios para realizar la detección de infección o no dentro de un computador. 2.1.1. Heurística de los Antivirus. Las técnicas heurísticas nacen de la necesidad de una “detección genérica” de los virus informáticos. Se llama detección genérica a la posibilidad de detectar “cualquier virus” aún sin haberlo analizado antes y sin estar en la base de datos del antivirus que se esté considerando. Esto pareciera que carece de sentido pero es tan simple como buscar “instrucciones comunes” de los virus para advertir de la posibilidad de que un archivo o programa esté infectado. . Cuando se analiza las primeras instrucciones de cualquier archivo, se vera instrucciones para detectar los parámetros de la línea de comandos, borrar la pantalla, llamar a alguna función, ejecutar alguna macro, etc. No obstante tratándose de un virus suelen ser otras bien diferentes como activar el cuerpo del virus o buscar más archivos para intentar implantarles su código. La experiencia es sin duda lo que lleva a una persona a reconocer algo infectado de algo limpio en cuestión de segundos. Esa “experiencia” se ha pretendido introducir en los programas antivirus bajo el nombre de “heurística”. El funcionamiento de la heurística se traduce en: primero se analiza cada programa sospechoso sin ejecutar las instrucciones, lo que hace es desensamblar o "descompilar" el código de máquina para deducir que haría el programa si se ejecutara. Avisando que el programa tiene instrucciones para hacer algo que es raro en un programa normal, pero que es común en un virus. Sin duda el principal problema de las técnicas heurísticas ha sido los falsos positivos. A pesar de que se han mejorado mucho en los últimos años, siguen sin conseguir demasiada efectividad (aunque hay algunas excepciones). El problema más que en la calidad de la rutina heurística está en la interpretación que el usuario realice de ese aviso heurístico. Si es poco experimentado estará constantemente mandando muestras a su casa de antivirus ya que “el antivirus le dijo que podía tener un virus”. La heurística es la característica de búsqueda arbitraria nos lleva a considerarla como un sistema de detección mejorada que al incluirla los antivirus permite establecer un sistema de alerta y de prevención ante la aparición de mutaciones de virus o de nuevos virus. Esta técnica permite "barrer" diferentes tipos de códigos dentro de los archivos, que sean susceptibles de ser malignos. Códigos que son genéricos dentro de los archivos maliciosos y que siempre suelen ser parecidos. O por lo menos respetar parte de las cadenas de comandos que activan los virus. Pero ¿cómo opera un antivirus? Los virus tienen patrones de códigos que son como sus "huellas digitales". Los software antivirus buscan estos patrones, pero sólo de los que tienen almacenados en su lista (por esto la actualización es tan importante). Estos productos también pueden valerse de la heurística, es decir, analizan los archivos para detectar comportamientos similares a los de los virus. Cada día crece el número de nuevos virus y la alternativa para poder neutralizarlos, sin haber programado antes el antivirus para su reconocimiento, es la denominada “búsqueda heurística”. A través de ella, el programa antivirus analiza el código de los programas buscando instrucciones, acciones sospechosas o indicios que delaten la presencia de virus en la computadora, de acuerdo a los patrones habituales empleados por los códigos maliciosos. El método Heurístico es una tecnología de programación que dentro de sus rutinas de detección de especies virales, incluye las cadenas clásicas que son similares, parecidas o afines a virus auténticos. El método heurístico, si no está bien programado, es susceptible de incurrir en resultados falsos positivos o negativos. Además, al encontrar un virus desconocido, variante de otro existente, el antivirus que emplea este método de búsqueda no podrá eliminar eficientemente el virus y mucho menos reparar el archivo o área afectada. Para que un antivirus detecte y elimine eficientemente a un virus debe incluir en la base de datos de sus rutinas de detección y eliminación el exacto micro código viral de esa especie. Sin embargo la técnica de búsqueda heurística de virus por "familias" es una forma eficiente de detectar a especies virales que pertenecen a una misma familia, aunque no es un método absolutamente exacto o eficiente. Existen algunos programas que, sin llegar a ser virus, ocasionan problemas al usuario. Estos no-virus carecen de por lo menos una de las tres características identificatorias de un virus (dañino, autorreproductor y macros). Veamos un ejemplo de estos no virus: "Hace algunos años, la red de I.B.M., encargada de conectar más de 130 países, fue virtualmente paralizada por haberse saturado con un correo electrónico que contenía un mensaje de salutación navideña que, una vez leído por el destinatario, se enviaba a sí mismo a cada integrante de las listas de distribución de correo del usuario. Al cabo de un tiempo, fueron tantos los mensajes que esperaban ser leídos por sus destinatarios que el tráfico se volvió demasiado alto, lo que ocasionó la caída de la red". Asimismo, es necesario aclarar que no todo lo que altere el normal funcionamiento de una computadora es necesariamente un virus. Por ello, daré algunas de las pautas principales para diferenciar entre qué debe preocuparnos y qué no: 2.1.2. BUGS (Errores en programas) Los bugs no son virus, y los virus no son bugs. Todos usamos programas que tienen graves errores (bugs). Si se trabaja por un tiempo largo con un archivo muy extenso, eventualmente algo puede comenzar a ir mal dentro del programa, y este a negarse a grabar el archivo en el disco. Se pierde entonces todo lo hecho desde la última grabación. Esto, en muchos casos, se debe a ERRORES del programa. Todos los programas lo suficientemente complejos tienen bugs. 2.1.3. Falsa Alarma. Algunas veces tenemos problemas con nuestro hardware o software y, luego de una serie de verificaciones, llegamos a la conclusión de que se trata de un virus, pero nos encontramos con una FALSA ALAR MA luego de correr nuestro programa antivirus. Desafortunadamente no hay una regla estricta por la cual guiarse, pero contestarse las siguientes preguntas puede ser de ayuda: ¿Es sólo un archivo el que reporta la falsa alarma (o quizás varios, pero copias del mismo)? ¿Solamente un producto antivirus reporta la alarma? (Otros productos dicen que el sistema está limpio). ¿Se indica una falsa alarma después de correr múltiples productos, pero no después de bootear, sin ejecutar ningún programa? Si al menos una de nuestras respuestas fue afirmativa, es muy factible que efectivamente se trate de una falsa alarma. Hay tipos de virus que no son reales son los llamados Hoax o Hoxes que realmente son mensajes de e-mail diciéndote que te borran el disco duro etc. 2.1.4. Programas Corruptos A veces algunos archivos son accidentalmente dañados, quizás por problemas de hardware. Esto quiere decir que no siempre que encontremos daños en archivos deberemos estar seguros de estar infectados. 2.2. Enlaces de Antivirus Debido a que el comportamiento de los virus es variante y depende de la heurística de los mismos, algunos de ellos no pueden ser eliminados por determinado antivirus. Las causas por las que se realiza un enlace es porque el comportamiento de los virus puede ser: repetitivo, recursivo y redundante. 2.2.1 Comportamiento Repetitivo (While) Sea Ko una enumeración efectiva de los programas-while. Para cualesquiera {Ai} i 0 definimos i,j 0. Se hace referencia al numero de ejecuciones (infecciones del virus), es decir K1, K2, K 3, … K n Consideremos las siguientes tres funciones fi = fAj : la función computada por el i ésimo programa-while fi(j) : valor de la i ésima función de la j ésima entrada Donde fi es la primera infección, y fAj es cualquier otra infección (mismo virus). Por lo tanto la primera infección, será igual a las demás del mismo tipo (mismo virus). fi(j) es la cantidad de veces que un archivo infectado puede infectar a los demás archivos (mismo virus). Resulta evidente que estas tres funciones son programables. Un virus es un programa P=Pm tal que Rep: (repetición) para todo P(y) = i. Así pues, un virus P es un programa que se autorreproduce. El Teorema de Autorreproducción puede, pues, parafrasearse como la existencia de virus. P(y) = i , lo que nos quiere decir que la infección de cualquier archivo va ha ser igual a la primera infección. En otras palabras al conocer el comportamiento de autoreproducción de un virus, el mismo que se reproduce mientras se abre, nos referimos al comportamiento while, generando matrices en distintas direcciones. Generalmente los virus y caballos de Troya tienen este comportamiento. 2.2.2 Comportamiento Recursivo Cuando un virus se carga en memoria y siempre destruye nos referimos al comportamiento recursivo. Lo que primero hacen los virus con este comportamiento es cargarse en memoria y luego se autorreproduce llamándose a si mismo. Es por eso que cuando aparentemente eliminamos un virus con este comportamiento al presionar por ejemplo en Windows XP ctrl+alt+supr para visualizar el administrador de tareas aparece la ejecución del archivo infectado que ya habíamos borrado; ¿por qué? nace la pregunta, pues simple el archivo se borro pero quedo una copia y muchas más con el mismo nombre cargados en memoria. El comportamiento recursivo genera matrices infinitas de orden m*n y de orden i*j*k todo depende de la heurística del virus. Los gusanos y caballos de trolla tienen generalmente comportamiento. M= [m ij] i,j 0 Ejemplo: M=0*0 No existe M=0*1 - M=1*0 I M=0*5 ----De aquí el lugar que ocupa : 0*1, 0*2, 0*3, 0*4, 0*5 Y el espacio que ocupa : este n1 N2 n3 n4 n5 n1=0*1=1/n n2=0*2=2/n n3=0*3=3/n n4=0*4=4/n n1=5*5=5/n Como habíamos dicho que el comportamiento o la matriz generada por un virus dependen de su heurística, presentamos aquí un algoritmo para una matriz tridimensional M[0,j,k]: Y 1 Z 1 Mientras y j Mientras z k Limpiar M[0,y,z] Z Y Presentar z +1 y+1 Virus eliminado 2.2.3. Comportamiento Redundante Cuando un virus es reconocido y eliminado en tiempo de ejecución y al encender el equipo aparece nuevamente, estamos frente a un virus redundante. Este comportamiento de los virus tiene como limitación la capacidad de memoria RAM, ya que en el menor de los casos ocupa M[m*1]ó M[1*n] y en el peor de los casos M[m*n]: ocupando siempre una misma matriz limitada. Un programa P(j) en una matriz ocupa el lugar n/j en memoria y la capacidad máxima del mismo que puede ocupar dependiendo de la heurística del virus. "# $ es n, Donde n es el número de archivos ó la capacidad máxima de memoria 2.3. Manejo de Bases Antivirales En la mayoría de certificaciones y comparativas se suele enfrentar los productos antivirus contra varias colecciones de muestras infectadas. El porcentaje de aciertos en las diferentes colecciones suele ser el indicador más determinante a la hora de valorar un producto. Las colecciones pequeñas, de virus más significativos y activos, como la "InTheWild", apenas presentan diferencias de resultados entre la mayoría de los productos y, más que un indicador comparativo, sirve como mínimo exigible. Para marcar diferencias en las comparativas, y también como prueba de fuego en las certificaciones, se suele utilizar la llamada colección "zoo", que básicamente consiste en un conjunto de todas las muestras infectadas que se posee. La "zoo" comprende, además de los virus más relevantes y novedosos, toda muestra que el evaluador haya conseguido recolectar a lo largo de su carrera, desde los primeros virus que aparecieron, de los que hoy día ya no existen pruebas de infecciones reales, hasta aquellos que nunca han visto la luz ni infectado a nadie, pero que forman parte de pruebas de laboratorio o colecciones privadas. Llegados a este punto, el usuario debe ser consciente que de los 60.000 o 70.000 virus que hoy día algunos antivirus afirman detectar, tan sólo unos cientos representan el 99% de las infecciones reales durante un año. La necesidad de que un antivirus detecte un virus de los años 80 que hoy día no tiene posibilidades de propagación bajo Windows, o un virus que nunca ha salido a la luz y no ha infectado a nadie, puede llegar a ser discutible. Aunque las comparaciones y extrapolaciones en este campo no son buenas, es como si alguien se vacunara contra una enfermedad ya erradicada o contra un virus biológico de laboratorio, por si algún día resulta que hay un brote. Pero la realidad es que la posibilidad, por remota que sea, existe, y el deber de un antivirus es ofrecer el mayor grado de protección posible, en especial si se trata de virus conocidos. El problema real de las colecciones "zoo" es que no están depuradas. Es decir, existen muestras consideradas virus (o cualquier otra variante de malware, como gusanos, troyanos, etc.) que en realidad no lo son, ni presentan ningún efecto nocivo ni dañino. En definitiva, no tendrían que formar parte de la colección, ni tendrían que ser detectadas por los antivirus. Para la confección de las propias comparativas antivirus de Hispasec, revistas especializadas, así como para análisis e informes técnicos, necesitamos contar con el mayor número de muestras posibles para mejorar el trabajo de búsqueda y detección. Entre otras fuentes, regularmente recorremos las webs de creadores de virus y coleccionistas que permiten la descarga de muestras de forma pública a través de Internet y, por tanto, son especimenes que potencialmente podrían llegar a cualquier usuario. Una de las tareas más tediosas para mantener la colección de muestras de Hispasec no es la recolección, sino la comprobación de las mismas. Afortunadamente a lo largo de los años se han desarrollado varias herramientas que de forma automática nos hacen las primeras pruebas y son capaces de descubrir las muestras falsas más comunes. Sin embargo, son muchas las comparativas, incluida algunas certificaciones, que a juzgar por algunos resultados no realizan una depuración de las colecciones. Como resultado, sus colecciones "zoo" están adulteradas con muestras que no son virus, y ello se extrapola a los indicadores que obtienen los diferentes productos antivirus. Lo peor aun es que la mayoría de las casas antivirus, tal vez condicionadas por estas comparativas y certificaciones donde se podían ver perjudicadas, han optado por incluir en su base de datos de firmas esas falsas muestras como si fueran auténticos virus. Otra posibilidad podría ser la inversa, que las casas antivirus hubieran sido las primeras en incorporarlos como virus a sus bases de datos y que las comparativas los incluyeran a posteriori en sus colecciones al comprobar que algún antivirus las reconocían como virus, el caso es que el circulo vicioso no hace más que aumentar. En realidad hay muchos otros tipos de muestras que suelen ser incluidas en las bases de datos de firmas antivirus y que en realidad no tienen ningún efecto dañino, desde binarios que ni siquiera pueden llegar a ejecutarse, porciones de virus que están corruptos y no pueden activarse, etc. 2.4. Llamadas en línea del Software Antiviral ¿Cómo repercute el número de firmas que reconoce un motor antivirus en su rendimiento? Parece claro que existe una relación directa, a mayor número de firmas a chequear, mayores recursos necesitará, y la velocidad de proceso será menor, lo que perjudica al resto de procesos o aplicaciones que existan en el sistema. El hecho de que los antivirus reconozcan virus falsos, además de la publicidad engañosa que pueda generar o la búsqueda de buenos resultados artificiales en comparativas y certificaciones de dudosa calidad, tiene un efecto negativo en el comportamiento del propio antivirus que puede penalizar el rendimiento del sistema e incluso hacer peligrar la seguridad de la información. La solución aunque pueda parecer sencilla, bastaría con depurar las firmas de detección de los antivirus, tiene efectos negativos inmediatos a nivel comercial: podrían verse perjudicados en comparativas y certificaciones que cuenten con muestras falsas. Las casas antivirus se encuentran en muchas ocasiones en la encrucijada de diseñar sus productos pensando en la protección real del usuario o en los requisitos de los evaluadores. Paradójicamente, además de no coincidir en algunas ocasiones, pueden existir incluso intereses opuestos. Normalmente se opta por un punto intermedio, intentar acometer los requerimientos de ambos, aunque a costa del detrimento en la optimización del producto. Llegado este punto, no se debe caer en la tentación de arrojar sobre las espaldas de las casas antivirus toda la responsabilidad. De hecho, buena parte de esta percepción errónea de lo que debe ser un buen antivirus es achacable a las revistas especializadas y analistas que se dedican a crear opinión sobre las soluciones antivirus. Si más de una vez se ha dicho que muchos productos antivirus se encuentran anclados en el pasado, por no integrar nuevas tecnologías de detección más allá de las firmas, las comparativas y certificaciones están mucho peor. Uno de los casos más sonados fue el del comparativo antivirus de CNET en 2001, entre otros despropósitos, llegaron a utilizar simuladores de virus en vez de muestras reales para algunos tests. La mayoría siguen basando su modelo de evaluación en arcaicas pruebas de detección ITW y Zoo. 4 Las comparativas y certificaciones deben de evolucionar, incluyendo nuevos tests acorde con las características de los nuevos especimenes que aprovechan Internet para su propagación, así como evaluaciones que contemplen las nuevas % &' & tecnologías antivirus que se están incorporando. Por otro lado, deberían de incorporar mecanismos para la depuración de sus colecciones para evitar el efecto "zoo", incluyendo tests de detección de falsos virus cuyos indicadores se relacionen con tests de rendimiento del motor. Los antivirus deberían de dejar de utilizar el concepto de número de virus detectados como arma de marketing, ya que no tiene ningún sentido que sigan en una guerra de cifras que de sobra saben no tiene ningún valor real y que tarde o temprano terminará por perjudicarles. Además, deberían optimizar su base de datos de firmas para reconocer sólo los especimenes que realmente pueden llevar a cabo acciones dañinas, eliminando los falsos virus. En caso de verse perjudicados en comparativas o certificaciones que utilicen colecciones "zoo" no depuradas, con muestras falsas, deberían denunciar públicamente los resultados. Los usuarios deben de tomar conciencia de que el número total de virus que dice reconocer un antivirus es un dato sin ningún valor. Además de todo lo comentado con anterioridad respecto a los falsos virus, la propia tecnología de detección por firmas lleva a resultados dispares. Por ejemplo, dado 10 variantes de un mismo virus, un producto puede necesitar 10 firmas diferentes mientras otro puede detectar las 10 variantes de forma más genérica con sólo 2 firmas. A efectos de marketing, el primero sumará 10 virus mientras que el segundo contará sólo 2, sin embargo la detección del segundo producto es más genérica y efecti va. Tan sólo las comparativas con colecciones depuradas pueden ofrecer las diferencias reales entre el poder de detección de los distintos motores antivirus, nunca el número de virus que el propio producto anuncia. 2.5. Políticas de Implantación del Integrador Para el desarrollo del software debemos tomar en cuenta algunas de las características principales de la funcionalidad del integrador, tal es el caso de las seguridad, la planificación, el personal encargado que tomara las riendas de la implantación del mismo (horarios de ejecución, actualizaciones de los antivirus, parches y reportes) y de cómo influirá el software en el desempeño de las actividades del Departamento de Sistemas Especializados. 2.5.1. Verificación de Seguridades Filtros de contenidos, firewalls, y ahora funcionalidades anti-spam y detector de intrusos. Cada vez son más los antivirus que dejan de ser herramientas especializadas en la detección del malware y amplían sus funciones. La carrera por la integración de aplicaciones de seguridad ha comenzado. Las casas antivirus están en una espiral de crecimiento a la búsqueda de poder ofrecer soluciones completas, tanto productos como servicios, que puedan abarcar todas las necesidades de seguridad de empresas y usuarios finales. En este último sector es donde aparecen en escena las suites de seguridad, partiendo del núcleo del antivirus como herramienta con mayor implantación y éxito en el mercado. Que las amenazas de seguridad han aumentado y mutado con respecto a épocas pasadas es evidente. Hoy día la instalación de un antivirus clásico no garantiza la seguridad de un sistema, han surgido nuevas amenazas que van más allá de los virus. De igual forma, la propia evolución del malware, en estrecha relación con Internet, pone en entredicho la detección basada en firmas y requiere nuevas estrategias para detectar de forma más proactiva y genérica a los nuevos especimenes con gran poder de propagación en apenas minutos. Llegados a este punto surgen algunas dudas, partiendo de la relativa necesidad de ciertas funcionalidades, o de la falta de otras, hasta la pregunta de ¿solución integrada y compacta, o productos especializados e independientes? Es un hecho que la incorporación de nuevas funcionalidades no siempre responde a las necesidades reales de seguridad, en ocasiones vienen a encarecer el producto, complicar su uso, a requerir más recursos de sistema, y a perjudicar el rendimiento global. A su favor, estas soluciones compactas de seguridad evitan problemas de incompatibilidad e interferencias que pueden surgir entre productos independientes y terceras marcas, además de ofrecer una verdadera integración entre las diferentes funcionalidades desde un único interfaz, y un precio más ajustado en el caso de adquirir todas las funcionalidades en forma de productos independientes. Si miramos a las redes corporativas se imponen los productos especializados, tanto en servidores como estaciones de trabajo. Para los servidores es vital contar con productos configurables según requisitos específicos, de alto rendimiento, estabilidad, y demostrada fiabilidad. En este perfil los productos "todo en uno" no encajan, además que es preferible no hipotecar toda la seguridad corporativa en un único producto o marca. Lo normal en estos casos es contar con varios productos independientes de casas especializadas en las distintas áreas: firewall, antivirus con más de un motor, IDS, etc., dotando al sistema de múltiples capas de protección independientes. En estos casos las dificultades de integración quedan compensadas con el resultado final, gracias a la labor de los administradores de sistemas y personal especializado en seguridad. En las estaciones de trabajo corporativas podría parecer en un principio que encajan mejor las suites de seguridad compactas, si bien el problema en este punto se sitúa en la necesidad de productos sencillos, instalación distribuida, de configuración o para el usuario final, y de total administración centralizada y remota. Las últimas versiones de los antivirus con funciones extras dejan mucho que desear en este apartado (por ejemplo los que incorporan firewall personal), por lo que finalmente los administradores optan por la instalación de motores antivirus muy ligeros, que consumen pocos recursos para no tener problemas ante un parque heterogéneo de sistemas, y atendiendo a las facilidades de gestión en red. Parece claro que el destino de las soluciones compactas está más ligado a los usuarios finales, si bien es necesario reinventar estos productos, ya que las necesidades de un usuario no se cubren adquiriendo e integrando tecnologías clásicas (firewalls, IDS, etc.), aunque tal vez sea éste el camino más cómodo y seguro para los desarrolladores, a corto plazo. Las casas de seguridad han de ser conscientes que este tipo de tecnologías clásicas vienen a requerir más conocimientos e interactividad por parte del usuario, quienes demandan todo lo contrario. Partiendo de la sencillez de instalación, configuración y uso de los productos compactos, es de esperar de estas soluciones una mayor adecuación a las necesidades reales de los usuarios finales (problemas de configuración, instalación de parches, criptografía aplicada a los mensajes y documentos, etc.), sin perder las posibilidades de personalización según cada perfil. Por ejemplo, partiendo de la compra de un antivirus, poder adquirir módulos adicionales, según necesidades, a modo de plugins en línea. Lo que se traduciría en una configuración más ajustada, tanto en requerimientos, funcionalidades y precio. Cuando hablamos de la aparición de un nuevo virus que borra toda la información de la computadora que infecta, o de un programa que aprovecha una falla no corregida en un sistema o del robo de números de tarjetas de crédito, todos pensamos, en los creadores de virus o sofisticados ladrones por Internet, pero rara ve z nos detenemos a pensar si también existen culpables por parte de los damnificados. En casos recientes como el gusano Slammer u otros como CodeRed, éstos aprovechaban fallas de ciertos productos de Microsoft, para las cuales ya existían parches, pero nunca instalados por una actitud irresponsables de los encargados de sistemas. Por otro lado, hemos escuchado de SSL (Secure Socket Layer) el protocolo utilizado en la transmisión de información sensible, dicho protocolo se utiliza cuando nos contactamos con nuestro banco o cuando efectuamos una compra en la red, pero no reparamos que, aunque ese momento de la comunicación se efectúa por un protocolo seguro, la información post-venta se guarda en algún sitio y desconocemos que medidas de seguridad existen allí. A veces, dichas medidas no son las ideales, y por ello, se lee sobre el robo de números de tarjetas de crédito. Los casos antes mencionados, son solo algunos, donde la falta de cuidado por parte de las "víctimas", ha permitido que dichos actos pudieran efectuarse. Por estos y otros casos, el Sans Institute, ha publicado recomendaciones genéricas, que usualmente conducen a brechas de seguridad, las que luego pueden ser aprovechadas por atacantes. Las mismas se refieren tanto a usuarios comunes, como a ejecutivos o administradores de sistemas. Lamentablemente, estas recomendaciones son del año 2001, pero los numerosos incidentes, que vemos a diario, demuestran que éstas no se cumplen. En este sentido el funcionamiento del programa construido es de la siguiente forma: CASOS DE USO PLANIFIACIÓN DEL AD MINISTRADOR ( ) ( ) * + , CASO DE USO: TOMA DE DECISIONES ( - ) - * , . DIAGR AMA DE FLUJO REFERENTE AL FUNCION AMIENTO DE LA APLIC ACIÓN * ) / ) .- / / 0 23 ( 1 4 2.5.2. Análisis de Carga en los computadores. Es difícil hablar de porcentajes, pero seguro que la inmensa mayoría de los usuarios personales tienen uno instalado. Muchos, demasiados, tendrán instalado el mismo que le pusieron al comprar el computador; ó, una vieja versión del Norton, Macaffee u otro. Y seguramente, gran parte de estos antivirus siguen sin actualizarse desde entonces o no se actualizan con frecuencia, con lo que su eficacia se reduce a niveles muy bajos. La misión principal de un antivirus es evitar que los virus causen daño a nuestro computador; pero esto, al margen de actualizaciones y demás temas, acaba volviéndose en nuestra contra. La mayoría de los antivirus del mercado van añadiendo progresivamente módulos nuevos y funciones que le dotan, en principio, de mayor potencia. Cada versión es más exigente. Pero el problema es que, si ya de por si son programas muy delicados que se meten en las entrañas del sistema, con tantas nuevas funciones acaban por ralentizar demasiado el sistema o por causarle daños. Veamos varios ejemplos. ¿Quien no ha tenido nunca un problema con el dichoso PAVXD de Panda Antivirus? Los problemas que este antivirus ha causado en miles de computadores son innumerables, por no hablar de la ralentización Hay otros antivirus, como el antiguo AVX (ahora Bit Defender o Ve xira) y la mayoría de los actuales que consumen cantidades ingentes de RAM y recursos, casi todos por encima de 10 megas. Es demasiado. Norton, Macafee, Panda, Bit Defender son claros ejemplos. Los módulos para office hacen más pesada su utilización, por no hablar de plugins para MSN, icq, navegadores y demás. Y el ejemplo mas claro es Kaspersky Anti virus. La nueva versión 4 es un claro ejemplo de lo que no se debe hacer. La versión gold, por ejemplo, consumía unos 6 megas de RAM contando con sus módulos, monitor y control central. En cuanto a la ralentización, ni se percata de la presencia del mismo, incluso activando todas las opciones disponibles. La versión 4 ha causado infinidad de problemas en todos los sistemas y están trabajando en una actualización que los solucione. Solo su monitor consume más de 12 megas de RAM y hace que el computador vaya mucho más lento. Una excepción es NOD32. Quizás sea el antivirus que menos RAM consume en el sistema y que menos lo ralentiza, pero aun así tiene determinados fallos, como en la desinstalación con el pop3 scanner. Ahora debemos tomar en cuenta que la inmensa mayoría de los antivirus del mercado causan en nuestro sistema los daños que, precisamente, queremos evitar con su uso. De hecho nos deberíamos plantear lo siguiente: “En los sistemas modernos hay demasiados tipos de archivos ejecutables, programas que pueden acceder a los componentes del computador. También es muy complicado que un sistema no tenga problemas, incluyendo agujeros de seguridad. Por todo ello, se considera que los virus seguirán existiendo aunque el entorno contemple la seguridad basada en certificados digitales. Es posible desarrollar un entorno completamente protegido por la comprobación de firmas digitales, ¡pero los usuarios no lo usarán!, porque un entorno de este tipo no es lo suficientemente amigable, además tiene demasiadas limitaciones, demasiados demasiadas preguntas.” Eugene Kaspersky 2.6. Recomendaciones avisos, En la actualidad no es difícil suponer que cada vez ha y más gente que está consciente de la necesidad de hacer uso de algún antivirus como medida de protección básica. Tratando de ir a lo fundamental, se tienen comúnmente dos distintos enfoques: I.- El del administrador de una empresa corporativa que desea prioritariamente tener resuelto el problema de administración centralizada. Es decir desea de un antivirus que posea una consola que permita la instalación remota tanto en una red LAN como en una WAN y no verse obligado a instalar el producto a pie en cada una de las estaciones de trabajo. La experiencia ha demostrado que por lo regular cuando esto se logra no siempre hay la garantía de que la calidad en la detección y la limpieza sea de lo mejor. II.- El del usuario final al cual lo que le interesa es no infectarse por ningún motivo y que la protección en memoria del producto sea de lo más eficaz, tanto para detectar y remover cualquier virus que pueda presentarse. Pero cuando esto se da, también suele suceder que las prestaciones de dicho antivirus para administrarlo llegan a ser muy limitadas. Tal parece que lo ideal para una empresa es tener bien estructurado un equipo de personas que procuren entender responsablemente ambos enfoques. Ningún producto en el mercado puede garantizar que se tendrán eficientemente el total de todas las prestaciones deseables. Por ello, más que procurarse del mejor antivirus lo que se necesita es diseñar las mejores estrategias de seguridad acordes a la problemática que se tenga. A veces no basta con una sola elección. En virtud de lo anterior, al hacer una evaluación es importante tratar de verificar hasta que punto los diversos antivirus que vayamos a considerar cumplen con las siguientes características: 1.- Deben actualizar los patrones o firmas, por lo menos una vez por semana. 2.- La empresa que los promueve debe contar con un equipo de soporte técnico con acceso a un laboratorio especializado en códigos maliciosos y un tiempo de respuesta no mayor a 48 horas, el cual pueda orientar, en español, en caso de contraer una infección. 3.- Deben contar con distintos métodos de verificación y análisis de posibles códigos maliciosos, incluyendo el heurístico, el cual no se basa en firmas vírales sino en el comportamiento de un archivo. Y así poder detener amenazas incluso de posibles virus nuevos. 4.- Se deben poder adaptar a las necesidades de diferentes usuarios. 5.- Deben poder realizar la instalación remota tanto en una red LAN como en una WAN. 6.- Deben constar de alguna consola central en donde se puedan recibir reportes de virus, mandar actualizaciones. 7.- Deben ser verdaderamente efectivos para efectos de detección y eliminación correcta y exacta de los distintos virus que puedan amenazar a los sistemas. 8.- Deben de permitir la creación de discos de emergencia o de rescate de una manera clara y satisfactoria. 9.- No deben de afectar el rendimiento o desempeño normal de los equipos. De ser preferible lo que se desea es que su residente en memoria sea de lo más pequeño. 10.- El número de falsos positivos que se den tanto en el rastreo normal como en el heurístico debe de ser el mínimo posible. 11.- Su mecanismo de auto-protección debe de poder alertar sobre una posible infección y de acuerdo con nuestras prioridades establecer nuestras propias a través de las distintas vías de entrada, ya sea Internet, correo electrónico, red o diuskets. 12.- Deben de tener posibilidad de chequear el arranque, así como los posibles cambios en el registro de las aplicaciones. DISEÑO DEL INTEGRADOR La etapa del Diseño del Sistema encierra cuatro etapas: 1. El diseño de los datos. Es necesario la ubicación de las maquinas a través de las direcciones IP, con el fin de ir escaseando cada una. El dato principal para esta etapa son tales direcciones. Por otro lado el administrador del sistema también puede seleccionar las computadoras que quiera ubicar para su limpieza. 2. El Diseño Arquitectónico. La arquitectura corresponde a cliente – servidor. Luego no se requiere la ubicación de una base de datos ya que se usan archivos planos para los reportes. Se usan módulos para llamar ya sea al seleccionador de unidades de red, el modulo antiviral y el modulo de reportes. 3. El Diseño de la Interfaz. Es a través de módulos que corresponden a la llamada dentro del menú general. 4. El Diseño de procedimientos. Siempre serán llamadas usando el shell de windows que contiene los elementos para realizar la estructura. Además se usan las llamadas por medio de los procesos a las dll de windows, con el fin por ejemplo de suspender el uso de ventanas no necesarias en los antivirus. El proceso repetitivo en este sentido es llamar a los demas antivirus cuando no ha logrado limpiar el equipo en uso. Así mismo no se puede escoger varios equipos ya que demora la limpieza en depedencia del tamaño de su disco duro. 2*6 0 (30 /6+677 32 (30 (6689 3/ ++ : ( 06(92( 2*6 06 30*6/ Herramientas para pruebas. Se usa la experimentación basada en un centro de computo. La revolución del procesamiento de datos de manera computarizada, junto con las practicas de Diseño sofisticadas están cambiando de forma dramática la manera en que se trasladan las especificaciones de Diseño d Sistemas de Información funcionales.5 CAPITULO III 5 # 3. CONSTRUCCIÓN DEL PROTOTIPO 3.1. Programación de la Herramienta Integrador (Servidor) Cada año, la tecnología de los virus evoluciona. Para poder explotar los aspectos vulnerables de la nueva tecnología informática y aprovechar los nuevos métodos que se van descubriendo de infección de la infraestructura existente, es necesario mantener al día la defensa antivirus, para esto es importante que se asegure de que la actual política antivirus es eficaz y se debe tener en cuenta los cambios que se están produciendo constantemente, tanto en su propia infraestructura como en los nuevos avances tecnológicos de los virus. Se tratarán los temas siguientes: • Definir los objetivos específicos del cliente • Desarrollar la estrategia a seguir durante el resto del contrato • Revisar el entorno de red del cliente • Posibles puntos de entrada, infección, almacenamiento y transmisión de virus dentro del entorno de red • Estrategia e implantación del sistema integrador de antivirus • Componentes y versiones de los programas antivirus específicos instalados en el servidor. • Configuración del producto en cada plataforma • Métodos utilizados para la distribución, actualización y cambio de versiones de los programas. El integrador será instalado en el computador que trabajará como Servidor y desde aquí podemos realizar los exámenes redundantes a todos los equipos del campus universitario. Las características principales que debe tener el computador en lo que se refiere a hardware son: Procesador Intel Pentium IV ó superior Memoria RAM 512 ó superior Espacio libre en disco duro 10 MB Esta es la pantalla principal desde donde se administrará las búsquedas y limpiezas de virus, consta con un botón de selección el mismo que al presionarlo nos permite seleccionar el equipo al que vamos a realizar la limpieza de virus. Luego de conectar en red el equipo a revisar se escoge la Búsqueda 1 de la pantalla principal, si al realizar la primera opción nos sale un mensaje de que el equipo aun tiene virus, procedemos a escoger la Opción 2. Además consta con la opción de reportes que el administrador del sistema podrá realizar, ya sea diario o mensual, de esta forma tendremos una visión clara que equipos son infectados generalmente y que virus son los que tienen mayor incidencia dentro del campus. Adicionalmente contiene un botón para realizar, mediante el cual se realizará parches a los equipos de la red por ejemplo de Windows para cerrar algún puerto. 3.2. Programación del Planificador (Cliente) Este software será instalado en los equipos del campus y lo que permitirá será interactuar con el Servidor para incorporar este equipo de acuerdo a la planificación que levará a cabo. Será totalmente transparente al usuario, teniendo la característica de no permitir al mismo bajarlo o cerrarlo. 3.3. Instalación del Software en Red Tomando en cuenta la planificación del proyecto, se instalará el programa integrador (servidor) en el departamento de cursos especializados, y luego se procederá ha instalar el software planificador (cliente) en algunos de los equipos del campos (centros de cómputo, secretarías, departamento de la UPSI, otros). Con la finalidad de luego proceder a las pruebas; este periodo es de veinte días. 3.4. Monitoreo y Limpieza Remota Para esta etapa contamos con veinte días, luego de la instalación de la herramienta y consiste en ejecutar el programa de acuerdo a una planificación que podría ser cinco equipos en la noche, para lo cual estos cinco equipos deberán quedar encendidos durante la noche y los reportes quedaran almacenados para su posterior análisis al día siguiente, de igual manera luego de la búsqueda y limpieza de cada equipo el programa tendrá la característica de apagarlo. También tendríamos otra alternativa durante el día, es decir que los equipos a tomarse en cuenta en la planificación de las pruebas serán examinados de la siguiente manera: tres equipos en la mañana y tres equipos en la tarde, para esto se coordinara con el personal que se designe en el departamento de cursos especializados. 3.5. Reportes y Actualizaciones Automáticas Aunque es una de las características propias de los antivirus seleccionados, esta tarea formara parte de las obligaciones del administrador, ya que es él quien tomará las riendas de la ejecución y normal funcionamiento del software. 3.6. Pruebas Para las pruebas tomaremos en cuenta el siguiente formato: Nombre equipo o IP del Hora de Inicio del Hora de Fin del Número Proceso Proceso archivos analizados de Características principales Procesador del equipo Memoria del cliente Disco Duro Observaciones 4.0 AL MACENAMIENTO Y PRODUCCIÓN DE REPORTES Private Sub Command6_Click() Dim nuevo As String MsgBox "Para usar esta opcion se debe acabar el proceso antiviral" Set fso = CreateObject("Scripting.FileSystemObject") Set a = fso.GetFile("c:\archivos de programa\control Antiviral corregido\reporte\avp32.rpt") nuevo = "c:\archivos de programa\control antiviral corregido\reporte\av32.rpt" + Str(Date) a.Copy (nuevo) End Sub La estructura anterior nos muestra que el uso de archivos planos se verifican siempre y cuando se produzca la limpieza para cada uno de los equipos. En esa circunstancia si se estableciera la característica de ubicación a cada tipo de computador. Esto nos da un almacenamiento por fecha ya que en ese sentido la característica de ir ubicando para cada uno de los procesos la hora y fecha señaladas nos da un orden definido: Esto se combina con la emisión de reportes final. Para ese caso es necesario la ordenamiento. verificación de la fecha como principal ente de El usuario puede escoger cualquier tipo de reporte para ser impreso.