Marta Janus, experta en seguridad informática en Kaspersky Lab, explica a los administradores web a saber cómo reconocer y evitar que su sitio web esté infectado.
Diario Ti: Las infecciones masivas originadas en sitios web son uno de los mayores problemas que enfrenta la seguridad informática actual. Algunos propietarios de sitios web suelen quejarse de que el software de seguridad bloquea erróneamente el acceso a su portal y que debe tratarse de una falsa alarma ya que no alojan contenidos maliciosos de ningún tipo. Por desgracia, en la mayoría de los casos, se equivocan porque sí que se pueden encontrar en sus sitios web scripts maliciosos que se inyectaron en el código original PHP, JS o HTML.
Estos scripts suelen desviar a los visitantes hacia URLs maliciosas desde las que se descargan y se ejecutan programas maliciosos en el ordenador del usuario. En la mayor parte de los casos, estos scripts se ejecutan furtivamente, por lo que al usuario le parece que el sitio funciona con toda normalidad. Los códigos maliciosos explotan vulnerabilidades en los programas instalados en el ordenador del usuario (como Java, Flash, lectores PDF, plugins para el navegador, etc.) para instalarse en secreto en el ordenador atacado. Este método se llama descarga “drive-by».
Para Kaspersky Lab, los administradores de sitios web deben saber cómo identificar y eliminar programas maliciosos de sus webs, ser conscientes en todo momento de qué está pasando, qué hay que buscar; cómo sucedió; cuál es su propósito; cómo desinfectar; y cómo prevenir que un sitio web se infecte.
Síntomas de la infección
• Los usuarios se quejan de que el navegador o la solución de seguridad han bloqueado el sitio;
• el sitio web está en la lista de sitios prohibidos de Google o aparece en otra base de datos de URLs maliciosas;
• hay un notable cambio en el tráfico y/o una caída en las clasificaciones de los motores de búsqueda;
• el sitio web no se abre de forma correcta, muestra errores y advertencias;
• tras visitar el sitio web, el ordenador muestra un extraño comportamiento.
A menudo la infección pasa inadvertida durante mucho tiempo, especialmente si se trata de un programa malicioso sofisticado. Estos programas maliciosos suelen estar bien camuflados para engañar al administrador del sitio web y a las soluciones de seguridad, y constantemente se cambian los nombres de los dominios a los que se desvía, a fin de burlar la detección mediante listas negras. Si no han notado ninguno de estos síntomas es un buen indicio de que el servidor está limpio, pero hay que permanecer alerta ante cualquier actividad sospechosa.
La señal más inequívoca de cualquier infección es la presencia de códigos maliciosos sospechosos en uno o más archivos en el servidor, especialmente archivos HTML, PHP o JS, y últimamente también archivos ASP/ASPX. No es fácil encontrar el código y se necesita por lo menos conocimientos básicos de programación y de diseño de sitios web.
Vectores y técnicas de ataque
Cualquiera que sea la técnica que usen, los ciberdelincuentes necesitan encontrar una vía para descargar sus archivos maliciosos o para modificar los archivos que ya se encuentran en el servidor. El método más antiguo para acceder al servidor consiste en crackear la contraseña de acceso. Para ello, los ciberdelincuentes pueden recurrir a ataques de fuerza bruta o a su versión limitada, un ataque diccionario. Esta técnica suele consumir mucho tiempo y recursos, por lo que no se usa mucho para causar infecciones masivas a través de la web. Entre las técnicas más populares están la explotación de vulnerabilidades y los programas maliciosos diseñados para robar contraseñas.
Explotación de vulnerabilidades en sistemas de gestión de contenidos/sistemas e-commerce
Las más modernas plataformas de administración de la web (como los sistemas de gestión de contenidos, e-commerce, paneles de control, etc.) no son perfectas y contienen vulnerabilidades que permiten cargar archivos en el servidor sin necesidad de autenticación. Estas vulnerabilidades se descubren con frecuencia, mientras que los parches se publican con mucho retraso; además, muchos usuarios siguen usando versiones antiguas de software, por lo general infectadas de virus.
Las plataformas más atacadas suelen ser las más populares: WordPress, Joomla y osCommerce. Un famoso ejemplo de estas vulnerabilidades es la conocida como TimThumb, que los ciberdelincuentes explotaron ampliamente en varios casos de descargas al paso. TimThumb es el módulo PHP para el redimensionamiento de imágenes y para crear los conocidos thumbnails, y está incorporado en la mayoría de las plantillas de sistemas públicos de gestión de contenidos. Esta vulnerabilidad permite escribir archivos, desde un lugar remoto, en el directorio caché del servidor. Otro ejemplo es la inyección de SQL en Plesk Panel (versiones 10 y anteriores, descubierta en febrero de 2012, cuya función es posibilitar el acceso a bases de datos y el robo de contraseñas que, hasta hace poco, se guardaban en texto llano. Es probable que la información que se obtiene de esta manera se haya utilizado en un reciente estallido viral en la web.
Uso de spyware diseñado para robar información FTP
En la mayoría de las infecciones más extendidas en la web, como Gumblar y Pegel, se usa con mucho éxito un método diferente. En la primera etapa, los ciberdelincuentes propagan programas maliciosos especialmente diseñados para buscar y robar nombres de usuario y contraseñas de cuentas FTP, ya sea accediendo a los parámetros de cliente de FTP o espiando el tráfico de red. Una vez que los detecta, se conecta con el servidor FTP y carga sus scripts maliciosos, o rescribe los archivos originales con versiones infectadas. Huelga decir que hasta que no se desinfecte el ordenador del dueño de la cuenta, los archivos en el servidor se volverán a infectar una y otra vez, incluso si se modifican los datos de ingreso a la cuenta y se restauran todos los contenidos desde una copia de resguardo limpia.
Las metas de los ciberdelincuentes
• Desviar a los usuarios hacia exploits para instalar en secreto programas maliciosos en sus ordenadores;
• desviar a los usuarios hacia contenidos indeseables, ilegales, maliciosos o spam;
• secuestrar el tráfico del sitio o de búsqueda;
• promocionar sitios web maliciosos/ilegales/spam (BlackHat SEO);
• usar recursos del servidor en actividades ilícitas.
En general, esto no es ninguna novedad: es el afán de lucro que motiva a los ciberdelincuentes a infectar sitios web.
Métodos de desinfección
En primer lugar, si notas cualquier síntoma de una posible infección, debes desactivar enseguida tu sitio web hasta que el problema se haya resuelto. Esto es muy importante, ya que cada segundo que pasa favorece a los ciberdelincuentes, más víctimas potenciales quedan expuestas al problema y la infección se propaga en Internet. También debes revisar los registros del servidor en busca de cualquier indicio sospechoso, como peticiones extrañas desde direcciones IP localizadas en países inusuales, etc. Esto podría ser muy útil para detectar los archivos infectados y para determinar cómo penetraron los ciberdelincuentes en el servidor.
Entonces, ¿cómo se combaten los códigos maliciosos?
Copias de resguardo: La solución más rápida y fiable es restaurar todo el contenido del servidor desde una copia de resguardo limpia. Para que esto funcione, también será necesaria la reinstalación completa del software que se ejecuta en el servidor, como CMS, CMF, e-commerce, etc., y por supuesto, utilizar sus versiones más recientes y actualizadas. Después, ya no quedará ningún archivo infectado en el servidor si has borrado todo el contenido antes de la restauración y si tu copia de resguardo se creó antes de la infección.
Escaneado automático: Si no cuentas con una copia de resguardo limpia, no te queda más remedio que enfrentarte a los programas maliciosos tú solo. Por suerte, existen varias soluciones automáticas, como soluciones antivirus y escaneados online de sitios web que te ayudarán a detectar los códigos maliciosos. También puedes descargar los contenidos de tu servidor en tu ordenador local, y escanearlos con tu solución desktop de seguridad en Internet. La segunda opción es mejor, ya que la mayoría de los antivirus desktop poseen un módulo heurístico bien desarrollado. Los programas maliciosos para sitios web son altamente polimórficos; como el método de signaturas estáticas no sirve en este caso, es necesario recurrir al método heurístico.
Eliminación manual: Si el escaneado automático no da resultado y el sitio sigue infectado, la única forma de desinfectarlo será mediante una búsqueda y eliminación manual de los códigos maliciosos. No es una tarea fácil y puede requerir mucho tiempo, ya que hay que analizar cada uno de los archivos HTML, JS, PHP o de configuración. En todo caso, hay que prestar atención a cada código oscuro e ilegible. El enmarañamiento del código es una técnica muy común entre los
autores de programas maliciosos y es poco común en otros programas para sitios web. Si no has logrado encontrar el código ofuscado, entonces tienes mayores razones para sospechar. Pero hay que que ser cuidadoso, pues no todos los códigos que presentan esa característica son maliciosos.
De igual manera, no todos los scripts maliciosos están ofuscados, de modo que necesitas buscar en todos los archivos IFRAMES con texto plano, además de otros enlaces a recursos externos. Algunos pueden estar relacionados con avisos y estadísticas, pero no te dejes engañar por las URLs, ya que pueden parecerse a las direcciones de portales conocidos y seguros. No olvides buscar mensajes de error de código en las plantillas y en todos los archivos.
Unas herramientas muy útiles para detectar códigos maliciosos en el servidor son las utilidades de la línea de comandos grep y find, que están incluidas por defecto en casi todos los sistemas Unix.
Por supuesto, siempre debes saber qué buscar pues no todos los resultados indican una infección. Quizás quieras escanear códigos sospechosos con un escáner antivirus o buscarlo con Google; es muy probable que encuentres algunas respuestas tanto en el caso de un código malicioso y de uno limpio. Si aún no estás seguro si el archivo está infectado o no, es mejor que desactives tu sitio web (sólo por si acaso) y que recurras a un especialista antes de tomar otras medidas.
Además de limpiar los archivos en el servidor, no olvides realizar un escaneado antivirus completo de todos los ordenadores que se usan para cargar y manejar el contenido en el servidor y cambiar la información de acceso a todas las cuentas del servidor que mantienes (FTP, SSH, paneles de administración, etc.).
Fundamentos de seguridad de sitios web
Por desgracia, en la mayoría de los casos, la limpieza del código malicioso no es suficiente para terminar con la infección de una vez por todas. Una vez que tu sitio web ha quedado comprometido, quizás significa que contiene algunas vulnerabilidades que han permitido que los ciberdelincuentes descarguen o inyecten scripts maliciosos en el servidor, y si no les prestas atención, es posible que en el futuro vuelva a infectarse. Para evitar que esto suceda, tienes que tomar las medidas apropiadas para proteger tu servidor y el ordenador (u ordenadores) que se usa para conectarse con la cuenta del servidor.
• Usar contraseñas sólidas – por muy trivial que esto pueda parecer, es en realidad el fundamento de la seguridad del servidor. Las contraseñas no sólo deben cambiarse tras cualquier incidente con programas maliciosos y/o ataques contra el servidor; hay que cambiarlas de forma regular, como una vez al mes. en nuestro sitio web: contraseñas.
• Estar actualizado. Es vital realizar actualizaciones de forma regular.
• Crear copias de resguardo frecuentes. Tener una copia limpia del contenido del servidor puede ahorrarte mucho tiempo y esfuerzos, no solo en el caso de una infección.
• Escaneados regulares de los archivos. Incluso si no hay síntomas visibles de infecciones, es una buena práctica escanear todos los archivos del servidor de forma regular.
• Cuidar la seguridad del PC. Dada la proliferación de programas maliciosos para sitios web a través de PCs infectados, la seguridad del ordenador desktop que usas para manejar tu sitio web es uno de los aspectos más importantes de la seguridad de un sitio web.
• Protección del servidor. Si el servidor es tuyo, debes velar porque su configuración sea la más segura posible. Esto implica, pero no se limita a eliminar todo el software que no se usa; desactivar todos los servicios y módulos innecesarios; fijar políticas apropiadas para usuarios y grupos; fijar permisos seguros / restringir el acceso a ciertos archivos y directorios; desactivar la navegación en el directorio; recopilar archivos de registros que se analizarán regularmente en busca de actividades sospechosas; y usar protocolos de codificación y seguridad.
El artículo completo de Marta Janus, en inglés, está disponible en www.securelist.com
Fuente > http://www.diarioti.com