Bichos et al. (II): ¿Malware indetectable?

(Después de algún tiempo de ausencia, y aprovechando que está de vacaciones, José Selvi nos trae la segunda parte de «Bichos et al» que tuvo su primera parte en una fecha tan lejana como el 13 de junio.)

En la anterior entrega de esta serie de artículos relacionados con el software malicioso hablabamos de las dificultades que tenían los sistemas antivirus para detectar software malicioso desconocido, es decir, aquel sobre el cual no han podido trabajar y por tanto extraer las firmas adecuadas para su detección. Para solventar estas deficiencias, comentábamos que los desarrolladores de sistemas antivirus dotaban a sus producto de capacidades heurísticas de detección, con el fin de identificar virus desconocidos a partir de partes de su código o de su comportamiento.

Etimológicamente, la palabra «Heurística» es derivada de la palabra Eureka (¡Lo encontré!), por lo que la palabra Heurística significa, ni más ni menos, encontrar una solución a algo. Con un significado tan amplio como este, como se pueden imaginar, es lógico pensar que cada fabricante de sistemas antivirus puede haber optado por soluciones muy diferentes a la hora de implementar sus sistema heurístico, de ahí los diferentes resultados que muestran cada uno de ellos a la hora de realizar pruebas sobre dicho sistema.

bichos2.jpgEn general, podemos aproximar la problemática de detección heurística de software malicioso a un sistema de reconocimiento automático de patrones, similar al empleado por los sistemas antispam. De esta manera, dado un elemento a analizar, se extraerían N características a considerar, con sus valores correspondientes, definiendo por tanto para este elemento un punto en un espacio N-dimensional de elementos analizados. Si la heurística seleccionada fuera lo suficientemente adecuada, observariamos agrupaciones de elementos en este espacio, tal y como se puede apreciar en la gráfica.

Por lo tanto, una heurística que nos ofreciera un resultado como el aquí mostrado, nos permitiría una detección heurística de software malicioso de una alta efectividad. La efectividad viene determinada, por tanto, por la adecuidad o no de las características seleccionadas y los pesos otorgadas a cada una de ellas, siendo fundamentalmente éste el punto diferencial en las diferentes opciones de implementación de los métodos heurísticos.

¿Es sencilla la selección de características? La respuesta es no, y de hecho en la mayoría de los casos, la gráfica muestra un solapamiento importante entre muestras de software malicioso y muestras de software legítimo, lo que dificulta su detección.

Como contramedida a esta deficiencia, algunos fabricantes ofrecen información al usuario para que sea él mismo quien valore la categorización que darle a un software que se encuentre en una zona de incertidumbre heurística, pero no suele resultar muy efectivo, dado que los usuarios tienden a aceptar sistemáticamente, sin apenas leer la información que se les proporciona, todos los mensajes que se les muestran por pantalla, y aunque decidieran leerlos, la gran mayoría de ellos no dispondrían de los conocimientos técnicos necesarios para valorar el tratamiento que se le debe dar al software.

Ahora, tras toda esta introducción teórica sobre reconocimiento de patrones, tomemos un ejemplo: ¿Qué efectividad tendría un sistema antispam para discriminar el correo electrónico no deseado de un directivo de una empresa de productos farmaceuticos que comercializa fármacos que potencian el apetito sexual (sin citar una marca concreta)? ¿Serían realmente lo suficientemente diferentes los correos legítimos de cierto tipo de correos no deseados como para que estos fueran distinguidos de forma automática?

Ahora traslademos esto a la detección de software malicioso: ¿Qué efectividad tendrá un sistema antivirus para detectar un software malicioso no documentado y que está especialmente diseñado para camuflarse como software legítimo? ¿Sería posible diseñar un software malicioso que resultase indetectable de forma automática?.

Para la última de las entregas de esta serie de artículos se planteará un escenario de ataque en el cual podría utilizarse una prueba de concepto de software maliciso especialmente diseñado para no ser detectado por los sistemas antivirus. Mediante el uso de esta prueba de concepto descubriremos que tal responden diversos productos antivirus a un ataque dirigido como el que aquí se plantea. Mientras tanto, que nadie desinstale todavía sus antivirus, esperen a ver la conclusión final…

To be or not to be… evil?

google_tanga.jpgReconozco que soy “de la vieja escuela», que me gusta “tocar papel» cuando tengo que revisar un informe o leer un documento mínimamente extenso (y tengo que reconocer que esto me provoca un conflicto con mi conciencia medioambiental, pero eso es otro tema…). Ese gusto por el papel hace que periódicamente —siguiendo la política de mesas limpias implantada en mi organización— tenga que hacer limpieza, y destruir adecuadamente la documentación obsoleta.

Revisando papeles, y teniendo reciente un “correo-sugerencia» que me recordaba que hacía tiempo que no escribía nada para el blog (N.d.E: «hacía tiempo» es una estimación algo optimista, teniendo en cuenta que la anterior aportación es del 25 de mayo) me descubrí a mi mismo ojeando una noticia en ElPais.com sobre el apasionante mundo de “los buscadores y los datos personales». Y me dije: de hoy no pasa.

Tan sólo quiero lanzar al aire una serie de reflexiones:

1) Si uno visita el sitio www.google.es, tras buscar la política de privacidad de la web, la misma resulta ser realmente vaga (política que ha sido denunciada recientemente por Privacy International como una de las peores que se pueden encontrar por Internet), por ningún lado se le va a dar el derecho de información que exige la legislación sobre protección de datos personales, y tampoco he visto información que responda al cumplimiento de la LSSICE (es un dominio .es, ¿no?)

2) En 2006, según una nota de prensa [PDF] publicada por la AEPD (de la disponibilidad de cuyo servidor hablaremos en otra entrada), un portavoz de ésta comentaba en relación a Google que era una situación complicada, pero aseguraba que “los responsables del buscador saben que tienen que aplicar la legislación y lo tienen en la cabeza». Recuerdo que es una nota de prensa de 2006.

3) Si uno busca en el Registro General de la AEPD tratamientos de datos personales cuyo responsable contenga la palabra “Google», aparecen 9 tratamientos, pero ninguno corresponde a datos de navegación, clientes, usuarios, o información similar.

4) Curiosamente en el registro figuran tres tratamientos a nombre de Google Ireland Ltd., con sede en Dublín, y en el detalle de la inscripción de esos tratamientos consta que se hacen una transferencia internacional de datos a sí mismos (¿?).

5) Curiosamente también, la sede europea (que no oficina de venta, ver http://www.google.es/intl/es/corporate/address.html) de Google reside en Irlanda, país afectado por el cumplimiento de la Directiva 46/95 de la CEE. ¿Porque creen ustedes que nuestros datos de navegación residen exclusivamente en la sede central de Google en California?

6) Y no voy a entrar en la polémica de si Google Desktop Search es o no es spyware, o de si Google Maps vulnera la privacidad de las personas que pueden aparecen en sus fotos (tal y como muestra la imagen superior), o de si Gmail vulnera o no la privacidad de sus usuarios…

Repito: sólo son unas reflexiones escritas “sin pensar demasiado». No soy abogado, y reconozco que el tema me supera pero… ¿a que da qué pensar?

Bien por la FIA

Como probablemente muchos de ustedes saben, hay un buen follón montado en la Formula 1. Resumiendo, y ciñéndome a la versión «oficial», ciertas personas del equipo McLaren estuvieron durante un tiempo recibiendo información confidencial de Ferrari. Después de muchas vueltas, eso desembocó en algo parecido a un juicio que tuvo lugar el pasado 13 de septiembre, que vino a denominarse «Extraordinary Meeting of the World Motor Sport Council«, y en el que los principales implicados en la trama del espionaje dieron sus versiones ante la FIA (Federation Internationale de l’Automobile, Federación Internacional de Automovilismo) y respondieron a preguntas de abogados de una y otra parte. Finalmente, el tema se resolvió con la exclusión de McLaren del campeonato de constructores del presente año y una multa de 100$ millones.

Hace unos días, dicha organización, responsable entre otras cosas del Mundial de Rallies y de la Formula 1, decidió que hoy miércoles se publicaría la transcripción de dicha reunión, algo que había generado bastante expectación por la sanción y por otras razones que no vienen al caso. La cuestión es que sobre las 12 p.m., la transcripción (de 115 páginas) se publicó, como estaba previsto, en la página web de la FIA, con diferentes partes del texto cubiertas de negro, conteniendo presumiblemente información confidencial sobre mecánicas de Ferrari y McLaren.

Poco después, dicha transcripción dejó de estar disponible, y volvió a estarlo unas horas más tarde, pero ahora los segmentos en negro estaban en blanco. Aunque todo esto les pueda parecer interesante, estarán pensando qué tiene que ver exactamente con la seguridad de la información.

Pues bien. Seleccionando el texto «oculto» de la transcripción original, copiándolo y pegándolo en el bloc de notas, se puede ver qué era exactamente eso que quería ocultar la FIA. Bien por ellos.

Ya tenemos antivirus… estamos salvados.

El pasado sábado la versión electrónica del periódico local valenciano Levante EMV daba la noticia de que un virus había causado el caos en la Escuela Oficial de Idiomas de Valencia. Al parecer, y según el diario, éste «provocó que las citaciones con el mismo número se duplicaran e incluso se triplicaran en algún caso». No niego que, aún desconociendo la aplicación y el procedimiento de citación, me parece sumamente interesante que un virus pueda actuar de forma tan «inteligente» y llegue a ese nivel de interacción con los datos, pero dejando polémicas, suspicacias y sospechas aparte, la cuestión es que me da la sensación, y entramos en el terreno de la opinión personal, de que para el público en general, y no tan general, los virus suelen residir en un universo independiente al del concepto «puro» de seguridad.

Es decir, que mientras éste parece estar más relacionado con grandes corporaciones, con hackers y crackers, intrusiones, robo de información privilegiada, IDSs, análisis forense, cortafuegos o gestión de contraseñas, los virus, troyanos, gusanos, spam y demás fauna relacionada son una molestia perrmanente y casi necesaria, fácilmente solventable con un antivirus y algún programa de malware. Parece, como digo, que políticas, procedimientos, y todas aquellas medidas típicas de un entorno seguro, orientado a evitar —mitigar— los riesgos relacionados con la seguridad de la información, están «de más» cuando se trata de controlar a estos no siempre pequeños y nunca inofensivos «bichos». Vamos, resumiendo, que en ese caso no son necesarias.

Desgraciadamente, las cosas no funcionan exactamente así. No sólo es mucho más probable sufrir una infección vírica masiva que sufrir una intrusión o un ataque DoS por alguna banda criminal de Europa del Este (por no salirme de los tópicos), sino que las consecuencias pueden ser igualmente fatales. Y es que aparte de un siempre necesario antivirus, actualizado periódicamente e inmune a las manipulaciones del usuario más molesto, son imprescindibles políticas que gestionen los privilegios de acceso a los recursos compartidos, el control de acceso a los dispositivos, la gestión de permisos y usuarios, las políticas de uso de soportes como USBs, CDs o DVDs,… Y como siempre, es necesaria la concienciación del usuario. Porque las fotos de la última convención no siempre son las fotos de la última convención: las cosas no son siempre lo que parecen aunque a menudo lo descubrimos un poco tarde.

Todo sea, al menos, por no ver aparecer por la puerta de la empresa a doscientas personas pidiendo matricularse en clase de mandarín, ¿no les parece?

¿Es el correo electrónico un medio de comunicación seguro…?

mail.jpgLeía hace unas semanas una noticia que decía “La policía danesa detiene a un hombre por acceder a los correos electrónicos de Michael Rasmussen» y seguía “La policía danesa ha arrestado en Herning, en el oeste de Dinamarca, a un danés de 30 años por introducirse en el correo electrónico del ciclista Michael Rasmussen e intentar vender a un periódico la información que obtuvo».

Esta noticia me ha hecho reflexionar sobre la seguridad general del correo electrónico que transita por el mundo y el negocio lucrativo que algunas mentes enfermizas pueden obtener por el hecho de fisgar en el correo ajeno.

Nuestros equipos de trabajo han analizado en bastantes ocasiones la seguridad del correo electrónico desde la óptica, por ejemplo, de la Ley Orgánica de Protección de Datos y de las medidas de seguridad que el Reglamento nos exige. ¿Podemos enviar información de carácter personal por el correo electrónico? ¿Cumple el correo electrónico las medidas básicas de seguridad para proteger la información que contiene? ¿Cómo podemos hacer uso del correo electrónico como canal de comunicación seguro? Las respuestas no son desde luego triviales para el gran público.

Pero el foco del análisis ha sido siempre distinto. Nos hemos enfrentado a infraestructuras corporativas de correo electrónico con servidores de correo, a evitar que el correo sea interceptado dentro y fuera de las organizaciones y a garantizar unas medidas de protección para determinado tipo de información que viaja en nuestros sobres electrónicos, pero, al menos yo, no me había planteado el interés que los correos electrónicos personales pueden llegar a tener en función de los dueños de las cuentas y, por tanto, la necesidad de que los que hospedan estas cuentas de correo ofrezcan a sus clientes servicios que garanticen la seguridad de sus comunicaciones.
[Read more…]

Pescando…

Imagino que la mayoría de ustedes conocen el sistema de mensajería instantánea Microsoft MSN. Seguramente sabrán también que puede uno cambiar el nombre o «nick» con el que le «ven» los demás, que es posible «bloquear» a otros usuarios de manera que para ellos aparezcas a todos los efectos desconectado y no puedan hablar contigo, y que el MSN y la cuenta de correo de Hotmail comparten el identificador de usuario y la contraseña. Dicho esto, hace unas semanas, mi novia —que comprueba que no la estoy mirando cada vez que introduce su contraseña de correo, a pesar de que lo consulta desde mi portátil— me saludó una mañana con el siguiente mensaje como nombre:

«www.QuienTeAdmite.com < -- Fijate quien te elimino y quien te desadmitio en el MSN, enterate TODO"

Aunque ya había visto eso antes, en este caso indagué un poco y llegué a sitios web como www.quienteadmite.com o blockoo.com, aunque hay muchas más, en las que aseguran que proporcionando el usuario de Hotmail y la contraseña, muestran qué personas tienen «bloqueado» a tu usuario en el MSN. Pese a que el método de proporcionar tu usuario y contraseña puede considerarse cuanto menos sospechoso y nada recomendable, no voy a entrar a cuestionar hasta qué punto el sistema funciona o no. Cabe decir, no obstante, que incluso aunque funcionase, eso no elimina los riesgos de «regalar» libremente el acceso a tu correo personal.

Lo que me llama la atención es que a pesar de que las «víctimas» de este tipo de iniciativas son por lo general usuarios experimentados de Internet (menores de treinta años) que conocen o deberían conocer los —a menudo exagerados— «peligros» de este medio, acaban confiando en una página web sin ninguna garantía que les pide su usuario y contraseña de correo personal. Lo que en mi opinión demuestra que, teniendo en cuenta que en gran parte de las relaciones a través de MSN la amistad y la confianza tienen un papel importante (y que el hecho de que una persona bloquee a otra se considera una afrenta relativamente seria), sólo hay que buscar el reclamo adecuado para que cualquier persona, en cualquier momento, revele información personal a extraños o sitios web desconocidos.

No me sorprende, por tanto, que el phishing funcione, y como es habitual, aunque no voy a aconsejarles que como suele decirse, no se fíen ni de su padre, cuando se trate de asuntos privados —finanzas, correo privado, datos personales…—, desconfíen. Esa suele ser siempre una buena política.

Ataques de Inyección SQL (III)

Si recuerdan, en la segunda y anterior parte de esta serie [ver primera entrada] acerca de ataques de Inyección SQL comenzamos a introducir las medidas de seguridad preventivas contra este tipo de amenazas, y dimos una serie de pautas básicas a seguir, como eran la utilización de funciones para la eliminación de carácteres de escape, el uso de consultas estáticas, o evitar el acceso a la base de datos con usuarios privilegiados. En esta tercera entrada, y antes de irme de vacaciones (sí, han leído bien), seguiré en esa línea, introduciendo herramientas para la realización de auditorías de código, que ayudan a evitar los problemas más comunes. Por supuesto, la habitual renuncia de responsabilidad «for educational purposes only» aplica.

Debe ser evidente, antes de pasar a las herramientas, que esto no pretende ser un listado exhaustivo, y que existen alternativas comerciales a todas ellas, pero pienso que las que les voy a indicar pueden ayudarles como punto de partida.

En primer lugar, destaca Sqlninja como detector de vulnerabilidades de Injección SQL en servidores basados en Microsoft SQL Server. Esta herramienta es capaz de lanzar diversos exploits que atacan directamente al gestor de base de datos demostrando el grado de seguridad y hasta qué punto puede quedar nuestro servicio comprometido. Es una herramienta muy completa y fácil de utilizar, y cuenta con menus que resultan bastante intuitivos.

Absinthe es otra aplicación de fácil manejo, y que cuenta con interfaz gráfica de usuario, que destaca por la sencillez y rapidez a la hora de parametrizar una auditoría. Admite auditorías sobre varios gestores de bases de datos, como pueden ser Postgres, MySQL, MS SQL, etc…

SQL Power Injector es otra aplicación completísima desarrollada con el lenguaje C# bajo la plataforma de desarrollo de .NET. La interfaz gráfica posibilita realizar una auditoría de forma rápida e intuitiva. Es válida para varios gestores de bases de datos.

Más que una aplicación, SQLIer puede considerarse un script que utiliza un ataque de tipo verdadero-falso para determinar usuario y contraseñas de las bases de datos. Es por tanto un script a nivel informativo, con el que se pueden determinar la fortaleza de las contraseñas utilizadas y el grado de defensa contra ataques de este tipo.

Por último, SQL Injection Pentesting TooL es otra utilidad con interfaz de usuario muy completa para la realización de auditorías. Aunque a diferencia de las anteriores en este caso no se dispone del código fuente de la aplicación, y únicamente se puede ejecutar bajo entornos Windows, su descarga es totalmente gratuita.

Como es habitual, desgraciadamente nada es perfecto y a pesar de las facilidades que estas herramientas introducen, será necesario auditar de forma manual todas las implicaciones que conlleva todo lo relacionado con la conexión, acceso y tratamiento de la base de datos. Por poner un ejemplo, en Java se deberían buscar todas las llamadas execute(), prepareStatement() y prepareCall(), y hacer una traza de las mismas. El uso combinado de estos dos tipos de auditorías, la realizada de forma manual y la automática a través de las aplicaciones mencionadas, nos ayudarán a filtrar todos aquellos “bugs» no tratados durante el proceso de codificación de la aplicación, obteniendo así una aplicación relativamente protegida frente a estos ataques de Inyección SQL.

Y de momento, esto es todo. Como suele decirse, to be continued

Cuidado: cuando borra, no siempre borra

Si alguna vez piensa usted en sacar un dinerillo vendiendo ese ordenador, esa llave USB o ese disco duro cuya capacidad es ya irrisoria o que no le sirve de nada, acuérdese de borrar los datos que contiene, porque con toda probabilidad, aparte del teléfono de su suegra o de su ex, no querrá que sus correos personales, las fotos de su pareja o los teléfonos de sus amigos acaben en manos de un desconocido, ¿verdad?

Y le digo esto porque, aunque no sea usted el gobernador de Arkansas, estoy seguro de que se aprecia sus datos tanto como él. Ah, y por si hay alguna duda, cuando hablo de «borrar», no quiero decir borrar. Quiero decir «hacer los datos irrecuperables».

Visto en Kriptópolis.

(Buen fin de semana a todos)

Escuchas telefónicas made in USA

Aunque no pensaba actualizar hasta mañana al menos, y no acostumbro a poner nada en inglés, no me he podido resistir a esto, que describe el impresionante y complejo sistema de escuchas telefónicas montado por el FBI, basado en un informe de cerca de mil hojas hecho público gracias a la Freedom of Information Act (FOIA) y destinado a la Electronic Frontier Foundation (EFF). Les recomiendo que vayan al artículo de Wired, mucho más completo y realmente interesante:

The FBI has quietly built a sophisticated, point-and-click surveillance system that performs instant wiretaps on almost any communications device, according to nearly a thousand pages of restricted documents newly released under the Freedom of Information Act.

The surveillance system, called DCSNet, for Digital Collection System Network, connects FBI wiretapping rooms to switches controlled by traditional land-line operators, internet-telephony providers and cellular companies. It is far more intricately woven into the nation’s telecom infrastructure than observers suspected.

It’s a «comprehensive wiretap system that intercepts wire-line phones, cellular phones, SMS and push-to-talk systems,» says Steven Bellovin, a Columbia University computer science professor and longtime surveillance expert.

DCSNet is a suite of software that collects, sifts and stores phone numbers, phone calls and text messages. The system directly connects FBI wiretapping outposts around the country to a far-reaching private communications network.

Visto en el blog de Bruce Schneier.

Asimetrías en las transacciones digitales futuras

El pasado mes de junio se aprobó la Ley de acceso electrónico de los ciudadanos a los Servicios Públicos, en la que se establece que la Administración no es que sólo «pueda», sino que «debe» ofrecer todos sus servicios de manera electrónica. Sin ninguna duda, esta ley acompaña de manera definitiva al DNI electronico, y a otras opciones de certificación digital como puede ser la ACCV. No hay ninguna duda de que todas estas iniciativas pueden mejorar en mucho los trámites de los ciudadanos, pero por otro lado abren una gran cantidad de incógnitas frente a las garantías que tienen los ciudadanos al realizar trámites de manera digital, entre las que queremos destacar la asimetría de las transacciones digitales en la presentación de la declaración de Hacienda.

Recientemente muchos contribuyentes han realizado su declaración de Hacienda de manera digital a través de Internet. El proceso de presentación telemático asociado tiene visos de ser bastante completo: los usuarios deben acreditarse para obtener su certificado digital (formado por una clave pública y una privada), y la clave privada es generada por el PC particular de cada uno, con lo que este certificado digital permite que el usuario «firme digitalmente» su declaración. Todo ello a traves de la Fábrica Nacional de Moneda y Timbre, una autoridad de certificación con en principio todas las garantías.

Hasta aquí, todo bien (en realidad, no esta bien «del todo» al ser un certificado software, pero la tecnología que le sucederá en breve como es el DNI digital, sí tiene características como para considerarse firma electrónica); el proceso en su conjunto parece que sigue técnicas en principio bastante robustas en cuanto a los aspectos de seguridad, tanto organizativa como técnicamente.

Ahora analicemos el proceso de presentación de la declaración: preparamos ésta con el programa PADRE y nos conectamos a la página web de Hacienda donde nos aparece un applet, mediante el cual firmamos digitalmente nuestra declaración, y puesto que la firma digital equivale a la firma manuscrita, esto constituye en última instancia el equivalente a la entrega de nuestra declaración firmada. Ahora sólo cabría esperar que Hacienda tambien nos firmara (o cuñara) nuestra declaración con la misma robustez como nosotros se la hemos firmado, mediante un documento firmado digitalmente por la Administración (por la aplicación) que justifique que hemos entregado nuestra declaración. No obstante, en su lugar lo unico que recibimos es un número de registro, no firmado digitalmente ni de ninguna manera: un simple número de serie.

Por ello la autentificación y firmado de la declaración se produce de una manera completamente asimétrica: mientras que el ciudadano se autentica con ciertas medidas criptográficas y de seguridad, el justificante que obtiene es técnicamente muy debil, y con evidentes riesgos sobre su validez en caso de problemas. Y esta es la principal razón de que año tras año no presente la declaración por Internet sino a través del banco, del que al menos recibo un documento cuñado por la oficina con el que demostrar que la he presentado en caso de presentarse problemas futuros, ya que este documento sellado es a mi entender bastante más robusto que un simple número.

Muchos de los lectores podrían pensar que el tema de la declaración no tiene al fin y al cabo demasiada importancia, y quizá tengan razón, ya que al fin y al cabo Hacienda también permite maneras poco robustas de aprobar borradores de declaración como puede ser a través de SMS o medios similares. Pero el problema reside en que es esta es la tecnología que viene, y esta es por tanto la asimetría con la que nos vamos a encontrar en los futuros desarrollos con firma digital, como por ejemplo el nuevo DNI; ¿se imaginan ustedes firmando un contrato con algun operador de Telecomunicaciones en el que el usuario firma el contrato digitalmente y el operador simplemente entrega una hoja para imprimir? No parece un procedimiento demasiado apropiado, ¿verdad?

A la vista de este tipo de problemas que van apareciendo, no cabe duda de que los usuarios tendremos que estar alerta ante las futuras transacciones basadas en firma digital, que seguro que con el nuevo DNI electrónico van a comenzar a surgir.