La NSA abre cuenta en Github

Estándar

Así es estimados lectores, la NSA (National Security Agency) la agencia de seguridad nacional con  más recursos tecnológicos en el planeta acaba de abrir una cuenta en Github.

La NSA emplea a codificadores de gran genialidad y los matemáticos más brillantes del planeta, todos ellos trabajando de manera continua para romper códigos de encriptación, reunir información sobre todos los enemigos de Estados Unidos y desarrollar herramientas de hacking como el trismente célebre EternalBlue que fue filtrado por los Shadow Brokers en abril y usado por un grupo de hackers para crear el ransomware WannaCry el mes pasado, que causara estragos en todo el mundo.

La agencia de inteligencia trabaja principalmente en secreto, pero después de que Edward Snowden se fugara con muchos de sus secretos en 2013, la NSA ha comenzado (lentamente) a abrirse al mundo. Por ejemplo se unió a Twitter en el mismo año que se hicieran públicas las filtraciones de Snowden y ahora ha abierto una cuenta de Github.

GitHub es un servicio en línea diseñado para compartir código entre los programadores y la comunidad de código abierto y hasta ahora la NSA comparte 32 proyectos como parte de un programa de transferencia de tecnología, no todos están 100% disponibles, algunos son sólo un placeholder para el proyeto que pronto se publicará.

Cómo se lee en la página de Github: “El Programa de Transferencia de Tecnología de la NSA (TTP por sus siglas en inglés) trabaja con innovadores de la agencia que desean usar este modelo colaborativo para transferir su tecnología al mercado comercial”.

Continúa además diciendo: “El OSS invita al desarrollo cooperativo de la tecnología, fomentando su uso amplio y adopción. Y el público se beneficia de la adopción, mejora, adaptación o comercialización del software.”.

Muchos de los proyectos que la agencia ha publicado en Github tienen varios años de haber estado disponibles en Internet. Por ejemplo: SELinux (Security-Enhanced Linux) ha sido parte del kernel de Linux durante años.

Aquí algunos de los proyectos de código abierto que la NSA ha publicado y que podrían ser de tu interés:

Autoridad Certificadora Conciencia Situacional (CASA): Una herramienta simple que identifica certificados de autoridad inesperados y prohibidos en sistemas Windows.

Integridad de flujo de control: una técnica basada en hardware para evitar explotaciones de corrupción de memoria.

GRASSMARLIN: Proporciona un conocimiento de la situación de la red IP en las redes ICS y SCADA para dar ayuda a la seguridad de la red.

Open Attestation: Un proyecto para recuperar de forma remota y verificar la integridad de un sistema utilizando TPM (Trusted Platform Module).

RedhawkSDR: Es un framework para radio definido por software (SDR) que proporciona herramientas para desarrollar, implementar y administrar aplicaciones de radio definido por software en tiempo real.

OZONE Widget Framework (OWF): Es básicamente una aplicación web, que se ejecuta en su navegador, permite a los usuarios crear widgets ligeros y acceder fácilmente a todas sus herramientas en línea desde cualquier ubicación.

Se descubre un bug en Unix/Linux/BSD que permite escalar privilegios

Tux Logo
Estándar

En reciente post de TheHackersNews, se describe como unos investigadores de seguridad han repostado una vulnerabilidad de casi 10 años de antiguedad afecta a todos los sistemas operativos basados en Unix, esto incluye entre otros a Solaris, todas las distribuciones de Linux sin excepción y a la familia BSD (OpenBSD, NetBSD, FreeBSD). Lo peligroso de esta vulnerabilidad es que puede ser explotada para obtener privilegios de root y con ello hacerse del control absoluto del sistema.

El nombre dado a esta vulnerabilidad es Stack Clash, la vulnerabilidad (CVE-2017-1000364) que se encuentra en la forma como se asigna la memoria en la pila para los binarios del espacio de usuario.

¿En qué consiste la vulnerabilidad?

La explicación es simple. Cada programa utiliza una región de memoria especial llamada pila (stack en inglés), que se utiliza para almacenar datos a corto plazo. Se expande y se contrata automáticamente durante la ejecución de cualquier programa, dependiendo de las necesidades del programa.

Según los investigadores de Qualys, que descubrieron y reportaron este error, un programa malintencionado puede intentar usar más espacio de memoria que el disponible en la pila, lo que podría desbordar la memoria, lo que haría que colisione o choque con regiones de memoria cercanas, sobrescribiendo su contenido.

Además, se ha encontrado que un exploit de Stack Clash también puede pasar por alto el stack guard-page, una protección de gestión de memoria introducida en 2010, después de que este problema fuera explotado en 2005 y 2010.

¿Esta vulnerabilidad puede ser explotada remotamente?

La vulnerabilidad de Stack Clash requiere acceso local al sistema vulnerable para su explotación, pero los investigadores dijeron que podría explotarse remotamente dependiendo de las aplicaciones. Es decir usar una segunda vulnerabilidad que permita ganar privilegios de usuario local en un sistema y luego usar Stack Clash para escalar privilegios y obtener acceso root.

Otro escenario podría ser que un cliente malintencionado con una cuenta ftp de privilegios bajos de una empresa que ofrezca alojamiento web, que ejecuta un sistema vulnerable, podría explotar esta vulnerabilidad para obtener control sobre otros sitios web que se ejecutan en el mismo servidor, así como obtener acceso root de forma remota y ejecutar código malicioso directamente.

TheHackerNews tiene un post en el cual describe el caso de una compañía surcoreana de alojamiento web fue víctima de un ataque similar que se utilizó para infectar servidores Linux con un malware ransomware, haciendo que la compañía pagara más de 1 millón de dólares de rescate para recuperar sus archivos.

Más malas noticias.

Por si la divulgación de esta vulnerabilidad no fuera poco para los ya sufridos system administrators, ya existen actualmente disponibles en Internet 7 scripts de pruebas de concepto que explotan esta vulnerabilidad. Lo cuál significa que pronto estas herremientas de prueba terminaran convirtiendose en armas de hackeo.

Sin embargo, los investigadores aún no han publicado las hazañas y las pruebas de concepto, dando a los usuarios y administradores tiempo suficiente para parchear sus sistemas antes de divulgar los scripts de Stack Clash al público.

Los scripts de pruenas de concepto siguen cuatro pasos, que incluyen el ‘Clash’ (choque) de la pila con otra región de memoria, ejecutando el puntero de pila que está apuntando al inicio de la misma, ‘Jump’ (salto) sobre la página de guardia de la pila y ‘Smashing’ (rompiendo) la pila u otras regiones de memoria.

Entre las distribuciones y sistemas afectados por Stack Clash se incluyen:

  • Sudo en Debian, Ubuntu y CentOS
  • Ld.so y la mayoría de los binarios SUID-root en Debian, Ubuntu, Fedora y CentOS
  • Exim en Debian
  • Rsh en Solaris 11 y versiones superiores
  • Red Hat Enterprise

La compañía también cree que otros sistemas operativos, como Microsoft Windows, OS X/macOS de Apple y el sistema operativo Android de Google basado en Linux, podrían también ser vulnerables a Stack Clash, aunque aún no se ha confirmado.

Ya existin actualizaciones disponibles para esta vulnerabilidad así que se recomienda actualizar inmediatamente. De no ser posible esto (ya que no podemos reiniciar el servidor) hay una forma de mitigar esto limitanto el parámetro del kernel RLIMIT_STACK tanto para usuarios locales como remotos.

Intel no sabe como hacer IoT

Estándar

El día de ayer en diverson medios del sector como Hackaday o Fudzilla se reportó que Intel ha anunciado en un repentino, pero no totalmente sorprendente movimiento, que descontinuará sus placas para el IoT (Internet Of Things) Edison, Galileo y Joule. El último de estos dispositivos será suministrado a finales de 2017.

La continuidad de la oferta de tarjetas de desarrollo es vital y una gran requerimiento en los proyectos de IoT. Cualquiera que haya pasado largas horas diseñando algo basado en cualquiera de los productos descontinuados por Intel ahora se arrepentirá de haber creído en las reiteradas garantías de que estos dispositivos eran seguros y tenían un futuro largo por delante. La situación con el producto más recientemente lanzado, el Joule, que hizo su aparición a principios de agosto de 2016 es quizás la peor. Este fue el producto estrella de Intel para el IoT y debido a su asociación con la implementación de dispositivos de IA (Inteligencia Artificial), se pensó que era el camino del futuro.

En lo referido a Galileo y Edison se puede comprender mejor por qué fallaron. Ambos intentaron ganar cuota de mercado al ofrecer compatibilidad con Arduino. Pero ni Galileo ni Edison eran suficientemente compatibles con Arduino y requerian instalar un toolchain adicional al IDE de Arduino para poder usarlos. Además, ninguno de los dos dispositivos estaba bien soportado en términos de sus sistemas operativos o documentación. Eran comuns las historias de los usuario de estas plataformas que al encontrar algún obstáculo con cualquiera de estas tarjetas de desarrollo no recibían ninguna ayuda sobre cómo resolver el problema. La implementación de bajo nivel de los protocolos básicos también dejó mucho que desear. En resumen, a pesar de todos los bombos y platillos del marketing, Intel nunca realmente se puso detrás de sus productos y siempre había la sensación de que no tenía idea del mercado al que estaba tratando de entrar.

Así, mientras Intel decidió hacer que sus sistemas bastante potentes se parezcan a los Arduinos, sin embargo la potencia de los mismos hubiera sido mejor aprovechada si se hubieran enfocado a competir contra los Raspberry Pi. El Edison, por ejemplo, es un dispositivo x86 completo y bastante capaz de ejecutar una gama de software x86 (incluyendo Windows de 32 bits) y en virtud de tener un conjunto de líneas GPIO, podría ser utilizado para controlar dispositivos externos. Ejecutar Linux significaba que era mucho más complejo que el Arduino. ¿Qué diseñador en su sano juicio utilizaría un Edison o un Galileo en lugar de un sencillo, barato y versátil Arduino, para un pequeño proyecto personal?

Hay que destacar que Intel no ha cancelado aún el procesador Curie, que podría tener algún tipo de papel futuro del IoT. La aplicación más conocida del Curie es como co-procesador en la tarjeta de prototipo Arduino 101. El Curie es un procesador “diferente” y se deriva del co-procesador presente, pero sobre todo no utilizado, en el Edison. En muchos sentidos el Arduino 101 es lo que el Edison debería haber sido desde el inicio.

Así que esto es más o menos el fin de la aventura de Intel en el creciente mercado de IoT, con Arduino 101 como único sobreviviente y quizás otros dispositivos nuevps basados ​​en Curie a ser introducidos en un futuro. Intel puede haberse retirado del mercado debido a su falta de éxito, pero ha dañado a muchos usuarios que creyeron en tarjetas de prototipo Edison, Galileo y Joule que han perdido mucho tiempo en estas plataformas ahora difuntas. Entre las víctimas debemos contar a Microsoft, que apoyó a Galileo como parte de su impulso de IoT y Google ya que el sistema de Android Things soportaba a Edison como una de sus pocas placas de desarrollo.

Cuando una empresa ofrece un producto que requiere tanta inversión para trabajar con él hay un problema de confianza. Una pequeña empresa tendrá problemas para convencer a la gente a poner una gran cantidad de tiempo en su producto por temor a que podría no estar allí en unas pocas semanas. Una gran empresa como Intel, sin embargo, puede prometer la longevidad de una manera creíble y luego simplemente tirar del enchufe cuando ya no les es rentable continuar. El problema es que si intenta protegerse de tal comportamiento entonces usted está destinado a utilizar sólo el líder del mercado y el futuro al día de hoy es Raspberry Pi.

Q.E.P.D. Edison, no era para nada perfecto, pero la mayoría de sus mejores cualidades técnicas nunca fueron plenamente apreciadas, ni explotadas, especialmente por su creador Intel.

Firefox Focus, un navegador super anónimo para smartphones

Estándar

La fundación Mozilla está haciendo un gran esfuerzo para recuperar todo el terreno perdido por Firefox a manos de Chrome (el navegador de Google), la semana pasada anunción que su producto estrella Firefox ahora sería capaz de correr una pesataña por proceso, algo que ofrecía Chrome desde su lanzamiento en el 2008. Pero hoy nos presenta una nueva opción para navegar en Android, Firefox Focus.

Firefox Focus, es un navegador enfocado en la privacidad. No guarda historial de navegación y una vez que Ud. presiona el botón de borra (un ícono de papelera en la esquina inferior derecha), la página que Ud. estaba viendo desaparece por completo y con ella todo rastro de su visita a la misma. Además ya incluye un bloqueador de publicidad, algo bastante útil en dispositivos móviles ya que no queremos que nuestros precioso datos sean usados para mostrarnos publicidad de cosas que no queremos o necesitamos.

Ya había una version de Firefox Focus para iPhone & iPad y al igual que esta, Firefox Focus para Android es un navegador bastante minimalista, por ejemplo no hay soporte para pestañas o marcadores. Y como la privacidad es una característica clave, tampoco hay opción para ver el historial de navegación, el cuál se borrará cada vez que cierre una página o cierre el navegador.

Hay algunas opciones como establecer el proveedor de búsqueda predeterminado, así como elegir si bloquear sólo los trackers de anuncios o también los trackers analíticos y los trackers sociales y hay una opción de modo “Stealth” (sigiloso) que permite tomar capturas de pantalla y ver los sitios visitados recientemente en tu lista de aplicaciones recientes. Todas estas características de seguridad y privacidad puede impedir que algunos sitios web o de vídeos en línea funcionen correctamente.

Algunas características específicas de Android incluyen un nuevo contador de trackers que muestra cuántos elementos se han bloqueado y una opción para deshabilitar el bloqueo de trackers en cualquier sitio que no se se muestre correctamente debido al bloqueo de los trackers.

También hay una notificación que te recuerda cuando el navegador está ejecutando en segundo plano, lo que te permite borrar su historial con un toque. Esto es similar a la forma en que Chrome para Android funciona cuando tienes una pestaña de incógnito abierta en segundo plano, excepto que en Firefox Focus es un navegador independiente y no sólo una característica de un navegador web más grande.

Si quieres un navegador con todas las funciones, Chrome o Firefox son tus mejores opciones al día de hoy. Pero si lo único que quieres es un navegador que se centra en la simplicidad, la privacidad y el bloqueo de anuncios, Firefox Focus ya está disponible como una opción gratuita tanto para iOS y Android.

Alternativas al Nintendo NES Classic Edition

Estándar

Muchos por cuestiones de nostalgia pueden desear un Nintendo NES Classic Edition lanzado por Nintendo el año pasado por $60 y que luego de que fuera descontinuado por la empresa japonesa este año, alanzó un precio de $230 en Amazon. Pero muchas veces tenemos otros gastos más urgentes que atender y ciertamente pagar lo que cuesta un smartphone de gama media en el cuál podríamos correr ciertamente los mismos juegos y además tendríamos muchas más funciones, no es un prospecto muy atractivo.

Pero hay una forma de conseguir nuestro soñado Nintendo NES Classic Edition y además hecho por nosotros mismos usando un Raspberry Pi 3 ($35), un case con la forma del NES ($20), un controlador USB que copie el Look&Feel del controlador del NES($6), una fuente de alimentación micro-USB ($5) como las usadas en los celulares y una memoria de 8GB ($8). Todo eso por menos de $75, una ganga comparado con los que pide Amazon y menos de la mitad del precio por lo que podemos conseguir uno usado en eBay.

Eso es en cuánto al hardware, pero en cuánto al software hay varias alternativas de las que podemos hechar mano y que nos permiten además de emular el NES clásico, también hacerlo con otras consolas de videojuegos como la SEGA o el Atari 2600. Entre las distribuciones para Raspberry Pi listas para retrogaming tenemos:

  • RetroPie. Tal vez la más conocida, es una distribución de Linux para el Raspberry Pi basado en Raspbian y que agrega una capa de software adicional para  emular antiguas consolas de juegos y muchas microcomputadoras de finales de los setenta y principios de los ochenta.
  • Recalbox. Te permite reproducir una variedad de consolas de videojuegos y plataformas en tu sala de estar, con facilidad! RecalboxOS es gratuito, de código abierto y diseñado para que puedas crear tu propia retroconsola en muy poco tiempo.
  • Lakka. Construido encima del famoso emulador RetroArch, Lakka puede emular una amplia variedad de sistemas y tiene algunas características útiles tales como reconocimiento automático de joysticks.  Adicionalmente al Raspberry Pi, también soporta otras tarjetas de desarrollo tales como: Banana Pi, Hummingboard-i2ex/i4, UDOO Quad y Odroid-C1 entre otras.
  • Pi Entertainment System (PES). Es un front end gráfico para una variedad de emuladores de consolas de juegos que ha sido escrito en Python por Neil Munday usando PySDL 2.0. PES se ha empaquetado en una imagen de tarjeta SD utilizando ArchLinux como el sistema operativo junto con varios emuladores y utilidades, incluyendo PlayStation 3 soporte para joysticks a través de Bluetooth para que usted pueda crear su propia consola de juegos.

Todas las distribuciones enumeradas líneas arriba ofrecen la emulación del NES y la posibilidad de correr más de 600 juegos para la plataforma de Nintendo NES que deben ser descargados independientemente. Por lo general muchos usuarios comparten sus colecciones de retrojuegos en canales de torrent.

Este es el primer post de una serie en los que iremos probando cada una de las distribuciones de retrojuegos descritas aquí y comentando cuales son sus puntos fuertes y débiles, así como sus ventajas y desventajas con respecto a los demás.

Aquí les dejo unas fotos de todo el hardware base que usaremos para nuestras pruebas:

Retro Gaming Hardware

 

Las computadoras empiezan a razonar como seres humanos

Estándar

En un reciente artículo de la revista científica Science Magazine, aparece un artículo con el mismo título de este post y nos describe como un nuevo tipo de red neuronal es capaz de exhibir un “razonamiento”, similar al de los seres humanos. Específicamente el tipo de razonamiento que estas redes neuronales trata de replicar es conocido como razonamiento relacional y es el que usamos para contestar preguntas tales como ¿Cuál es la mejor combinación cena-vino para la cena?, ¿Cuántas escuelas hay cerca de la nueva casa que deseamos comprar?.

Ahora, los investigadores de DeepMind de Google han desarrollado un algoritmo sencillo para manejar tal tipo de razonamiento y han derrotado a los seres humanos en una prueba de comprensión de imágenes compleja.

Los seres humanos son generalmente bastante buenos en el razonamiento relacional, una especie de pensamiento que utiliza la lógica para conectar y comparar lugares, secuencias y otras entidades. Pero los dos tipos principales de IA (Inteligencia Artificial) la estadística y la simbólica, han sido lentos para desarrollar capacidades similares. La IA estadística o como sule llamarse más comúnmente Machine Learning, es muy buena en el reconocimiento de patrones, pero no en el uso de la lógica. Y la IA simbólica puede razonar acerca de las relaciones usando reglas predeterminadas, pero no puede aprender sobre la marcha.

Un nuevo estudio propone una forma de resolver la brecha: una red neuronal artificial para el razonamiento relacional. De forma similar a la forma en que las neuronas están conectadas en el cerebro, las redes neuronales combinan pequeños programas que, de forma colaborativa, encuentran patrones en los datos. Pueden tener arquitecturas especializadas para procesar imágenes, analizar el lenguaje o incluso aprender juegos, recordemos que el algoritmo DeepMind de Google ya ha derrotado al campeon mundial del juego Go. En este caso, la nueva “red de relación” está cableada para comparar cada par de objetos en un escenario individualmente. Los investigadores han declarado: “Estamos forzando explícitamente a la red a descubrir las relaciones que existen entre los objetos”.

Él equipo de investigadores sometieron a la red de relaciones a diversos retos. El primero era responder preguntas sobre las relaciones entre objetos en una sola imagen, como cubos, bolas y cilindros. Por ejemplo, se le preguntó: “Hay un objeto delante de la cosa azul; ¿Tiene la misma forma que el pequeño celeste que está a la derecha de la bola de metal gris?” Para esta tarea, la red de relación se combinó con otros dos tipos de redes neuronales: una para reconocer objetos en imagenes y otra para interpretar la pregunta. A través de muchas imágenes y preguntas, otros algoritmos de Machine Learning sólo acertaban del 42% al 77% de las veces. Los humanos obtuvieron un respetable 92%. Sin embargo el nuevo combo de la red de la relación era correcto en el 96% de las veces, una resultado que superaba al de los humanos, los investigadores divulgan en un papel publicado la semana pasada en el servidor preprint arXiv.

El equipo de DeepMind también probó su red neural en una tarea basada en el lenguaje natural, en la que recibió una series de declaraciones como “Sandra tomó el balón” y “Sandra fue a la oficina”. Luego se le preguntó: “¿Dónde estaba el balón” a lo que respondió: “En la oficina”. Se desempeñó tan bien como otros algoritmos de IA en competencia en la mayoría de los tipos de preguntas, pero realmente brilló en las llamadas preguntas de inferencia: “Lily es un cisne. Lily es blanca. Greg es un cisne. ¿De qué color es Greg?”, a lo que respondió: “Blanco”. Sobre estas cuestiones, la red de relaciones acertó en el 98% de las veces, mientras que sus competidores sólo acertaron un 45% de las veces. Finalmente, el algoritmo analizó animaciones en las que 10 bolas rebotaron, algunas conectadas por resortes invisibles o varillas. Usando sólo los patrones de movimiento, fue capaz de identificar más el 90% de las conexiones. A continuación, utilizó el mismo entrenamiento para identificar las formas humanas representadas por nada más que los puntos en movimiento.

De seguir esta progresión en el campo de IA, pronto hasta los trabajos que considerábamos seguros para los humanos y que no podrían ser automatizados, pronto podrían serlo. Estas habilidades de razonamiento relacional, son la base para “aprender” por uno mismo. Con lo que lo que se conoce como “singularidad”, está muy cerca.

Primer hackaton internacional de Aeropuertos

Estándar

Se ha anunciado un hackathon internacional para aplicaciones para mejorar la experiencia de viaje de los pasajeros del aeropuerto, el nombre del hackaton es Re-Coding Aviation y está utilizando datos de siete aeropuertos internacionales en toda Europa.

Los siete aeropuertos que apoyan el hackathon son Schiphol, Estocolmo, Frankfurt, Gatwick, Ginebra, Munich y Copenhague. Cada aeropuerto que respalde el hackathon de 48 horas compartirá un API, datos de vuelo y tiempo de espera con los desarrolladores para ayudarlos con el desafío.

Junto con la información de vuelo, los desarrolladores tendrán acceso a las API de los partners, específicamente SITA y UBER. La API de SITA iTravel puede ser utilizada por los desarrolladores para acceder a información sobre reservas, check-in, lealtad, seguimiento de equipaje e información de vuelos y aerolíneas. El API de UBER puede utilizarse para pasar una dirección de destino a la aplicación Uber, mostrar tiempos de recogida, proporcionar estimaciones de tarifas y acceder al historial de viajes.

El Hackathon, tendra lugar en Berlín del 16 al 18 de junio, es similar a otras hackatones anteriores, pero esta incluye más aeropuertos internacionales que los retos anteriores.

Los desarrolladores se dividirán en equipos y presentarán sus ideas a un jurado, que otorgará premios a los ganadores de cada tema. Los organizadores sugieren que los desarrolladores deberían considerar soluciones tecnológicas innovadoras. En su página web dicen:

El objetivo de hackear el viaje de los pasajeros es ofrecer un viaje eficiente, sin preocupaciones, informado, activo y feliz a los pasajeros usando nuevas y crecientes soluciones tecnológicas como AR(Realidad Aumentada)/VR(Realidad Virtual), wearables, chatbots y más!

El concurso está organizado en cuatro posibles desafíos para elegir:

  • Desafío 1: La vida antes del aeropuerto.
  • Desafío 2: La vida en el aeropuerto.
  • Desafío 3: Traslado al aeropuerto.
  • Desafío 4. Llegar al destino.

Uno de los aeropuertos participantes, Gatwick, instaló recientemente 2000 faros de navegación a través de sus terminales, proporcionando un sistema de navegación interior que permite la navegación de realidad aumentada para pasajeros.

En términos prácticos, esto significa que una vez dentro del aeropuerto usted no tiene que usar mapas de Google o Apple en su teléfono, ya que pueden llegar a ser poco fiable en el interior. En lugar de ello, puede seguir una flecha azul en un mapa del interior proporcionado por el propio sistema de Gatwick. La herramienta de guía de realidad aumentada muestra las direcciones en la vista de la cámara de su teléfono, lo que facilita la búsqueda de áreas de registro, puertas de salida y entrega/recepción de equipaje. La idea es que con el tiempo esto será apoyado a través del aeropuerto, la línea aérea y las aplicaciones móviles de terceros, como en este caso los desarrollados en el hackathon, por ejemplo.

La CIA habria creado un toolkit para hackear cientos de routers

Estándar

Después de un paréntesis de dos semanas, WikiLeaks hizo públicos nuevos archivos como parte de la serie Vault 7 que supuestamente contiene herramientas de hacking creadas por la CIA y que WikiLeaks afirma haber recibido de hackers y personas de dentro de la CIA.

El día de hoy, la filtración incluye la documentación de una herramienta de la CIA llamada CherryBlossom, un toolkit multiusos desarrollado para hackear cientos de modelos de routers domésticos.

La herramienta es, con mucho, uno de los frameworks de malware más sofisticados de la CIA. El propósito de CherryBlossom es permitir a los operadores (los hackers de la CIA) interactuar y controlar los routers SOHO en la red de la víctima.

La parte más compleja de usar CherryBlossom es de lejos el despliegue de la herramienta en los routers de una victima. Esto puede hacerse por un operador de campo o usar remotamente una falla del router que permite a los operadores de la CIA instalar nuevos firmware en el dispositivo de destino.

Internamente, CherryBlossom se compone de diferentes componentes, cada uno con un papel muy preciso:

  • FlyTrap: es el firmware comprometido que se ejecuta en el dispositivo afectado.
  • CherryTree: servidor de comando y control donde los dispositivos FlyTrap informan.
  • CherryWeb:  panel de administración basado en web que se ejecuta en CherryTree.
  • Mission: conjunto de tareas enviadas por el servidor C & C a los dispositivos infectados.

En el diagrama a continuación se puede notar cómo interactuan las partes:

Según el manual de CherryBlossom, los operadores de la CIA pueden enviar “misiones” a dispositivos infectados desde el servidor CherryTree C&C a través del panel CherryWeb.

Los tipos de misión varían enormemente, lo cual habla muy bien de la versatilidad de la herramienta. Por ejemplo, las misiones pueden:

  • Monitorear el tráfico de Internet del objetivo.
  • Inhabilitar el tráfico y ejecutar varias acciones basadas en condiciones predefinidas en base a: URL, nombres de usuario, correo electrónico, direcciones MAC, etc.
  • Redirigir el tráfico de Internet del objetivo a través de otros servidores/proxies, en caso se desee guardar una copia de todo lo que hace el objetivo en Internet.
  • Crear una VPN desde el operador a la red interna del objetivo.
  • Alertar a los operadores cuando el objetivo se activa.
  • Escanear la red local del objetivo.

De acuerdo con los documentos filtrados de la CIA, FlyTraps se puede instalar en routers WiFi y puntos de acceso. Hay un documento separado que enumera más de 200 modelos del routers que CherryBlossom puede atacar exitosamente, la mayor parte dson modelos antiguos. Este documento de 24 páginas no está fechado, pero el resto de los manuales de CherryBlossom datan del periodo 2006 al 2012.

Si quieres saber si tu router es vulnerable a esta herramienta de hackeo, puedes consultar el documento original de WikiLeaks aquí.

Hay que recordar que lo que se ha hecho público es la documentación de CherryBlossom y no el código en sí de la herramienta. Es posible que actualmente la herramienta haya sido expandida para incluir más routers. Por ello aunque tu router no esté en el listado de los afectados, no está demás de actualices tu firmware y cierres todo posible punto de ataque desde el exterior.

Si deseas más información sobre CherryBlossom ArsTechnica ha publicado un extenso artículo con muchos detalles sobre el mismo, aunque está en inglés.

Malware de Raspberry Pi es usado para minar criptomonedas

Estándar

Según el sitio de seguridad ruso Dr.Web, hay un nuevo malware llamado Linux.MulDrop.14 para las computadoras Raspberry Pi en todas sus versiones. Este troyano usa cualquier Raspberry Pi que pueda ser accessible por Internet para minar criptomonedas.

Según el Dr.Web:

El troyano de Linux que es un script de bash contiene un programa de minería de criptomonedas, que se comprime con gzip y se cifra con base64. Una vez iniciado, el script cierra varios procesos e instala las bibliotecas necesarias para su funcionamiento. También instala zmap y sshpass.

Uno tristemente descubre que el Raspberry Pi ha sido hackeado, porque cambia la contraseña del usuario “pi” a “\$6\$U1Nu9qCp\$ FhPuo8s5PsQlH6lwUdTwFcAUPNzmr0pWCdNJj.p6l4Mzi8S867YLmc7BspmEH95POvxPQ3PzP029yT1L3yi6K1“.

Además, el malware busca máquinas dentro de la red local con el puerto ssh (22) abierto e intenta iniciar sesión utilizando las credenciales predeterminadas de Raspberry Pi para distribuirse.

Los sistemas embebidos son un objetivo especialmente atractivo para los piratas informáticos. A veces es por el valor del sistema físico que supervisan o controlan. En otros, es sólo el poder de cálculo que puede ser utilizado para ataques de denegación de servicio a otros host en Internet, para la distribución de spam o como es el caso deLinux.MulDrop.14 ser usado para la minería de criptomonedas. Aunque la capacidad de cómputo de una Raspberry Pi no es uno de sus puntos fuertes, el llegar a controlar a miles o cientos de miles de estas pequeñas computadoras de forma remota podría hacerlos un blaco atractivo para crear redes zombies de minado de criptomonedas.

Si usas Raspberry Pi para un proyecto y este es accessible por Internet, recuerda siempre cambiar las credenciales por defecto que son username: “pi” y password:  “raspberry”, ya que ese es el truco que aplica este troyano. De ser posible deshabilita el acceso remoto ssh, pero si eso no es posible por razones administrativas, pues cambia el puerto por defecto y pon reglas en el iptables que permitan el acceso sólo desde determinadas IPs y nigue el acceso a todos los demás intentos de conexión.

Entendiendo las tarjetas microSD: su rendimiento y clases

Estándar

Cuando las personas planea utilizar una placa de desarrollo como un Raspberry Pi para su proyecto, se centran principalmente en las especificaciones de la placa de desarrollo en sí, así como el soporte de software. Pero seleccionar los accesorios adecuados puede ser igual de crucial para un buen rendimiento y estabilidad. Por ejemplo, la selección de una fuente de alimentación adecuada es importante, ya que la placa puede colgarse o reiniciarse si no se alimenta con el voltaje y potencia adecuados. Igual de importante es también la selección de un cable micro USB, seleccionando uno con una resistencia mínima que se puede lograr a través de cables más cortos o un valor bajo AWG (mayor diámetro del conductor, contraintuitivamente los el calibre de un conductor esta inversamente relacionado con su diámetro). Otro elemento importante que puede afectar la estabilidad y el rendimiento de los sistemas son las tarjetas microSD, ya que se utiliza para albergar el sistema operativo en las placas de desarrollo.

Hasta hace pocos años atras, las tarjetas microSD eran el principal medio utilizado para almacenar datos como fotos, videos y música. En esos casos de uso, contienen archivos grandes que se benefician de altas velocidades de lectura y escritura secuenciales. Es por eso que la asociación SD creó diferentes clases para especificar una velocidad de escritura mínima con cada “clase de velocidad”, “clase de velocidad UHS” y más recientemente “clase de velocidad de vídeo”. Aquí un diagrama que ilustra dichas especificaciones:

Esta clasificación es útil, ya que no se necesitarán las mismas velocidades de escritura para copiar archivos de música o grabar archivos de vídeos en una cámara de 4K y las tarjetas con una clase inferior normalmente son más baratas. Tenga en cuenta que la mayoría (si es que no todos) las tarjetas de desarrollo de bajo costo son compatibles con UHS-II o interfaz UHS-III, por lo que pueden funcionar, pero no será capaz de alcanzar el máximo rendimiento de la tarjeta. Los controladores de tarjetas MicroSD también se conectan a menudo a través de SDIO, lo que limita el rendimiento secuencial a unos 23 MB/s.

Sin embargo, esas clases son sólo marginalmente útiles para las tarjetas microSD utilizadas en las tarjetas de desarrollo, ya que los sistemas operativos generan muchas pequeñas operaciones de lectura y escritura, por ejemplo, para bases de datos y cachés web, en lugar de manejar archivos grandes leidos y escritos secuencialmente. Es por eso que los dispositivos de almacenamiento también pueden incluir un parámetro llamado IOPS (Entradas/Salidas por segundo) que son más útiles para este tipo de casos de uso. La tabla a continuación sobre Samsung eMMC y UFS flash chip muestra algunos de esos números:

El único problema es que hasta hace poco, no había manera de que se pudiera saber los números de IOPS de lectura y escritura mínimos para tarjetas SD, ya que simplemente no estaban disponibles por los fabricantes, por lo que las personas recomendaban tarjetas microSD clase 10 que pueden o no ser las más adecuados para su uso en tarjetas de desarrollo. Sin embargo, desde la introducción del almacenamiento externo adoptado en Android, donde las tarjetas micro SD se podrían utilizar para aplicaciones en lugar de sólo datos, los valores de IOPS se hicieron más importante y la asociación SD ha introducido “clases de rendimiento” y las nuevas clases son A1 y A2 para tarjetas SD especificando Valores IOPS de lectura y escritura mínimos junto con una velocidad de escritura secuencial sostenida mínima de 10 MB/s.

Aquí un diagrama con las especificaciones de las nuevas “Clases de Rendimiento”:

En teoría esto suena genial y podríamos suponer que el problema resuelto entonces. Pero no es así, ya que los fabricantes sólo han empezado a usar logos de rendimiento de aplicaciones en sus tarjetas microSD de mayor capacidad con capacidades de 256 GB o mayores. Que por lo general suelen costar varias veces el precio de una placa de desarrollo típica. Por lo tanto, necesitamos confiar en la comunidad para probar los valores de IOPS de lectura y escritura.

Hay varios programas que pueden probar el rendimiento de las tarjetas microSD. Por ejemplo en Linux podemos usar hdparm y dd. Pero hdparm sólo prueba la velocidad secuencial por un tiempo muy corto y dd sólo prueba la velocidad secuencial, además muchas personas no incluyen el tiempo que tardó en agotar el caché a la tarjeta real, lo que conduce a resultados potencialmente engañosos y en su mayoría irrelevante para el uso en tarjetas de desarrollo.

Así que en su lugar, existen herramientas específicas para probar tanto las velocidades secuenciales como el rendimiento de Entrada/Salida al azar. Bonnie++ es uno de ellos, pero recientemente iozone se ha convertido en la referencia para las pruebas de Entrada/Salida de disco.

Muchos tutoriales recomiendan flash firmware con Win32DiskImager en Windows, o dd en Linux. Sin embargo, aunque no he experimentado el problema, me han dicho que este último no siempre detecta errores al parpadear, y ahora se recomienda una nueva herramienta: Etcher. Funciona en Windows, Linux o Mac OS usando una GUI o la línea de comandos, y verificará la tarjeta SD después de parpadear asegurándose de que nada ha fallado durante el proceso.

Así que si deseamos confirmar que tanto rinde una tarjeta microSD en nuestro Raspberry Pi, no hay como realizar pruebas para verificar que obtenemos aquello por lo que pagamos. Espero que esta información sea últil y cualquier duda la pueden dejar en los comentarios.