27 diciembre 2015

Enlaces de la SECmana - 308



Leer más...

21 diciembre 2015

Análisis forense en Android con Viaextract sobre Caine 7





Si alguna vez te has planteado llevar a cabo un análisis forense en un dispositivo móvil, sobre todo Android, habrás utilizado una herramienta llamada Viaextract. Esta fantástica herramienta, originalmente de la empresa Viaforensics (actualmente llamada Nowsecure), te permite en su versión libre, extraer toda la información disponible a nivel lógico. En la versión de pago, además es capaz, entre otras funciones, de hacer un análisis utilizando extracción física.

Viaextract, habitualmente viene incorporada dentro de una distribución Linux llamada Santoku, desarrollada originalmente por Viaforensics y mantenida actualmente por Nowsecure. En la web de Nowsecure se puede descargar una máquina virtual en formato virtualbox o en formato vmware, por la que se puede utilizar directamente la herramienta, tras arrancar la máquina virtual, en modo plug and play.

Santoku es una distribución Linux específica para análisis forense, y especializada en herramientas para dispositivos móviles. Es una de mis distribuciones preferidas, fundamentalmente por la inclusión de Viaextract. Sin embargo, en mi opinión, no es tan completa para el análisis forense del resto de sistemas, por lo que en otras ocasiones he declarado mi preferencia por CAINE. Incluso en ese post hablaba de la posibilidad de incluir los repositorios de Santoku, permitiendo tener lo mejor de dos mundos, en cuanto a posibilidades de herramientas se refiere.

Al haberse publicado hace un mes la última versión de Caine, la 7, he querido incluir un procedimiento a seguir para hacer funcionar Viaextract en Caine, según lo hice para el portátil que utilizo habitualmente para peritaje y análisis forense.

Así pues, si queréis poder instalar las herramientas de Santoku Linux en Caine 7 (o en cualquier otra distro basada en Ubuntu 14.04) podéis seguir los siguientes pasos:

1.-) sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys F6D8FCF5A647374B

2.-) sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys F6D8FCF5A647374B

Con esto, recuperamos las claves públicas necesarias para poder instalar paquetes firmados por viaforensics y nowsecure.

3.-) Añadir a /etc/apt/sources.list o crear un fichero nuevo con extensión .list en /etc/apt/sources.list.d con el siguiente contenido:
deb https://apt.nowsecure.com/repo/ trusty main
# deb-src https://apt.nowsecure.com/repo/ trusty main
deb http://packages.santoku-linux.com/ubuntu trusty main

4.-) adduser santoku

Necesario puesto que el paquete viaextract hace referencia a este usuario (el que viene por defecto con contraseña santoku1 en la distro Santoku Linux)

5.-) apt-get remove android-tools-adb

La herramienta adb viene incluída por el paquete android-sdk (en los repositorios de nowsecure o de santoku, no recuerdo ahora), que es dependencia del paquete viaextract, por lo que si no eliminamos el paquete android-tools-adb, no se instalará

6.-) apt-get update && apt-get install viaextract

Varios megabytes después, se instalará viaextract. El siguiente paso será licenciar el producto correctamente, ya sea con la versión community o con la de pago, ejecutando vactivate en una terminal.

Y ya por fin, desde línea de comandos también, ejecutar viaextract o hacer un enlace directo en el escritorio (o donde más rabia os de) a /usr/bin/viaextract






Leer más...

20 diciembre 2015

Enlaces de la SECmana - 307


Leer más...

16 diciembre 2015

Maltrail: Herramienta para monitorización de red y detección de amenazas





Hacía días que tenía echado el ojo a esta herramienta que ví en el twitter de “nosequién” (mis disculpas a quien corresponda, porque suelo poner los créditos de estas cosas, pero sinceramente no recuerdo la fuente).

En este caso, se trata de maltrail, una herramienta opensource, hecha en Python, destinada a analizar el tráfico de red con el fin de detectar y registrar posibles amenazas. Hasta aquí todo bien, y seguro que diréis: pues otro Snort o Suricata, ¿no?. Pues la respuesta es: parcialmente sí.

La diferencia es la categorización de las amenazas, las diversas fuentes de las que tira (si la dirección IP tiene mala reputación en diferentes fuentes abiertas), la inteligencia para identificar actividad sospechosa, la identificación de malware que intenta llamar a casa, así como la presentación de panel de detección que muestra, me ha resultado especialmente interesante, o cuanto menos, complementario a la pila de paneles web de diversas herramientas destinadas a monitorizar la seguridad.



Muestra diversas estadísticas como número de amenazas, tendencias de eventos clasificados como riesgo alto/medio/bajo, gráficas de tarta por severidad, por top de fuentes atacantes, etc,...

El tipo de despliegue es como el de cualquier IDS, es decir, sondas de detección que envían eventos a un único servidor, por lo que es totalmente viable una arquitectura distribuida, o incluso aprovechar, sondas existentes que estén analizando tráfico con otras herramientas open source, para integrar un proceso más. He podido comprobar que no incrementa de forma excesiva los recursos necesarios de la máquina por lo que en un tráfico “normal” es una opción interesante.



Entre los puntos positivos, y a destacar:
  • Dispone de una documentación bastante completa. Para lo sencillo que es de configurar (un único fichero con pocas opciones), la documentación existente es muy buena y más que suficiente sobre las virtudes de la herramienta
  • Posibilidad de escuchar en un interfaz o en todos los de la máquina sensor.
  • Impresionante la GUI. De verdad. Lo que más me gusta es la facilidad de filtrado de eventos, así como la interacción que permite con cada columna, dependiendo de qué se trate. Por ejemplo búsqueda de la dirección IP atacante en duckduckgo para búsqueda de la IP en diferentes fuentes de análisis  de reputación como robtex, whois.domaintools, mxtoolbox, etc,... 
  • Plug and play: sólo tiene un paquete como dependencia.
  • Open source 
Como puntos mejorables:
  • La gestión de usuarios me parece uno de los puntos flacos… Está dentro del único fichero, y para cambiar la contraseña hay que ejecutar un .py que te convierta la contraseña a un hash, que habrá que copiar en el fichero.
  • Por defecto, la gestión web viene en HTTP, aunque se puede configurar fácilmente para que sea HTTPS. A mi entender una herramienta de seguridad debería venir en HTTPS por defecto, aunque el certificado sea autofirmado.


Sin duda, una herramienta que merece la pena tener en el kit de elementos de seguridad perimetral

Podéis descargarla directamente de github en: https://github.com/stamparm/maltrail/
Leer más...

13 diciembre 2015

Enlaces de la SECmana - 306

Leer más...

09 diciembre 2015

Auditoría y Análisis de Vulnerabilidades en Docker

Supongamos que trabajas en seguridad. Ahora, la empresa para la que trabajas decide ejecutar algunas aplicaciones usando contenedores, la elección es Docker, después de varias semanas o meses de pruebas deciden pasar a producción y alguien, de repente, dice “¿Deberíamos hacer una auditoría de seguridad antes de salir a producción?”, el resto de la película ya te lo sabes, tú y una auditoría de Docker por delante.

Como en cualquier otra auditoría, puedes usar tu arsenal de herramientas y procedimientos para las aplicaciones que funcionan sobre esa infraestructura, analizar permisos de ficheros, logs y demás. Pero  ¿qué pasa con los contenedores, imágenes y dockerfiles o incluso con la seguridad de las herramientas de orquestación y clustering? Este artículo va sobre eso.
 
Algunas consideraciones específicas para esta auditoría:
  1. Comprobar que las imágenes y los paquetes que hay en ellas están actualizados y sin vulnerabilidades.
  2. Automatizar la auditoría, deberíamos ser capaces de automatizar cualquier tarea. Nos ahorrará mucho tiempo y podremos ejecutar dicha auditoría tantas veces como sea necesario, olvida las auditorías manuales a menos que estés aprendiendo.
  3. Links y volúmenes entre contenedores. Usar sistemas de ficheros base en solo-lectura facilitará encontrar problemas fácilmente con el comando “docker diff”.
  4. Cuando más grande sean las imágenes más difícil será la auditoría, reduce las imágenes al máximo.
  5. El kernel del sistema anfitrión es el punto compartido entre todos los contenedores que se ejecutan en el mismo servidor, el kernel siempre actualizado.

Dicho lo anterior, quiero compartir un listado resumen de las herramientas existentes para realizar tareas de auditoría y descubrimiento de vulnerabilidades en Docker. Es posible que se me hayan escapado algunas herramientas, así que si conoces alguna que no esté en este listado te agradecería que nos lo digas en los comentarios.

    • Descripción: Docker Bench for Security es un script que comprueba docenas de buenas prácticas comunes sobre el despliegue de Docker en producción, que ya comentamos aquí en Security By Default en Mayo. Todas las comprobaciones que realiza están basadas en la guía CIS Docker 1.6 Benchmark document.
    • Orientado a: principalmente al servidor Docker y algunos tips básicos para imágenes y contenedores.
    • Lenguaje: Shell script
    • Metodología: Ejecuta el script en el mismo servidor Docker o desde un contenedor. Creará un sencillo informe por pantalla con alertas tipo INFO, WARN o PASS.
    • License: Apache 2.0
    • Nivel Instalación/Usabilidad: Fácil
    • Demo/Presentaciónhttps://youtu.be/8mUm0x1uy7c?t=18m15s
    • Mas datos sobre este tema por parte de Docker Inc: 
      • Project Nautilus: presentado durante la  Docker CON 2015 en Barcelona: https://www.youtube.com/watch?v=fLfFFtOHRZQ& el Project Nautilus es un servicio   de escaneo y detección de vulnerabilidades para repositorios oficiales en Docker Hub. Según palabras de @diogomonica, responsable de seguridad de Docker Inc., “Nautilus ya funciona actualmente para todas las imágenes oficiales de Docker”. Nautilus intenta localizar cualquier trozo de software que sea sospechoso dentro de las imágenes. No depende de bases de datos públicas de vulnerabilidades o de distribuciones Linux como hacen otras herramientas, usa su propia base de datos. Tendremos más información posiblemente en el primer trimestre del 2016 (Gracias Diogo por la información).
    • Mis comentarios: Desde el punto de vista del servidor y demonio de Docker, es la mejor herramienta para seguir las mejores prácticas de configuración y seguridad de Docker. Definitivamente usaría esta herramienta junto con otras que comento, ya que esta solo cubre una parte de la auditoría.
    • Descripción: Está basado en la misma filosofía que su proyecto padre OpenSCAP, principalmente hace un escaneo comprobando bases de datos CVE, y mostrando los resultados en informes de varios formatos, también soporta políticas personalizadas. También proporciona instrucciones específicas y paquetes para RedHat 7 como se puede ver aquí. Nota: SCAP es un estándar norteamericano mantenido por el National Institute of Standards and Technology (NIST). El proyecto OpenSCAP es una colección de herramientas de software libre para ayudar a implementar este estándar.
    • Orientado a: Imágenes y contenedores
    • Lenguaje: Shell script
    • Metodología: ejecuta el script oscap-docker contra una imagen o contenedor y obtendremos un informe bastante útil en html.
    • Licencia: GPL v3
    • Nivel Instalación/Usabilidad: Fácil
    • Demo/Presentatción: N/A 
    • Mis comentarios: Está muy orientado a RedHat/Fedora/CentOS así que si usas contenedores basados en estos SO, es altamente recomendado. Si usas Atomic, recientemente han publicado una nueva característica que permite escanear contenedores usando OpenSCAP, mira este blog para más detalles, el código aquí.
    • Descripción: Clair es un servicio de análisis de vulnerabilidades en contenedores. Funciona mediante una API que analiza cada capa del contenedor buscando vulnerabilidades existentes en las bases de datos de Debian, Ubuntu y Centos. También se puede usar desde la linea de comandos como vemos aquí. Informa de la lista de vulnerabilidades conocidas que afectan a cada contenedor y puede notificar a los usuarios de las mismas. Se usa en https://quay.io/
    • Orientado a: Imágenes y contenedores
    • Lenguaje: Go
    • Metodología: Tanto mediante API o comando, extrae todas las capas de la imagen y notifica de las vulnerabilidades encontradas y almacena la información en una base de datos. También gestiona su propia base de datos que actualiza desde fuentes conocidas como CVE.
    • Licencia: Apache v2
    • Nivel Instalación/Usabilidad: Difícil
    • Demo/Presentaciónhttps://coreos.com/blog/vulnerability-analysis-for-containers/
    • Mis comentarios: Solo he podido ver la demo y leer la documentación, no conseguí hacerlo funcionar en CentOS 7.1. Ampliaré esta información tan pronto como sea posible.
    • Descripción: la gente de BanyanOps son los que publicaron un informe sobre la gran cantidad de imágenes vulnerables que había en el Docker Hub y que fue contestado en detalle por @jpetazzo aquí. Como dicen los autores “es un framework para análisis estático de imágenes de Docker”. Lo que significa analiza más datos además de vulnerabilidades, como se ve en su informe. 
    • Orientado a: Imágenes
    • Lenguaje: Go
    • Metodología: Aunque puede ejecutarse desde un contenedor, se ejecuta desde la linea de comandos y se conecta a un repositorio de Docker que le indiquemos para hacer los análisis. Mira como funciona en detalle aquí.
    • Licencia: Apache 2.0
    • Nivel Instalación/Usabilidad: Medio-Difícil
    • Demo/Presentación: N/A
    • Mis comentarios: Está orientado a registros (docker registries), puede ser útil para registros locales.
  1. Lynis
    • Descripción: Lynis es una herramienta de auditoría y hardening válido para Linux, Mac y Unix, adicionalmente incluye un módulo de análisis de Dockerfiles. También muestra algunas estadísticas básicas del servidor Docker y comprueba permisos de ficheros. 
    • Orientado a: Dockerfiles
    • Lenguaje: Shell script
    • Metodología: simplemente ejecuta Lynis con las opciones de docker y la ruta del Dockerfile de turno y Lynis analizará algunos detalles de dicho fichero como paquetes instalados, por ejemplo.
    • Licencia: GPL v3
    • Nivel Instalación/Usabilidad: Fácil
    • Demo/Presentación: N/A
    • Mis comentarios: Podías matar dos pájaros de un tiro analizando el servidor anfitrión y los dockerfiles pero no lo veo muy útil por ahora en lo que a Docker ser refiere ya que los chequeos que ofrece son muy básicos. El autor está trabajando en añadir más funcionalidades.
    • Descripción: En palabras de los autores: Twistlock escanea imágenes de contenedores en registros (docker registries), estaciones de trabajo o en servidores en producción. Detecta y reporta vulnerabilidades a nivel de distribución Linux, framework de aplicaciones e incluso paquetes personalizados de clientes. Además de comprobar vulnerabilidades de bases de datos públicas de software Open Source, disponen de feeds de software comercial. Esta solución también ofrece control granular en cuanto a acciones que pueden realizar usuarios y grupos, autenticación mediante LDAP y Kerberos, dispone de opciones de configuración para controlar comportamientos sospechosos en contenedores, roles y acciones maliciosas que puedan acontecer, lo que ellos llaman Runtime Defense.
    • Orientado a: imágenes, contenedores y paquetes. Hecho para Docker y Kubernetes o Mesos.
    • Lenguaje: Shell script, Javascript y Go.
    • Metodología: Utiliza el NIST para comprobar CVEs así como las comprobaciones del CIS Docker. Hace más que simples test ya que tiene características de control de acceso, defensa a nivel de ejecución, monitorización e integración continua.
    • Licencia: Comercial basado en número de hosts. Disponen de una edición gratuita orientada a desarrolladores con un límite de dos hosts.
    • Nivel Instalación/Usabilidad: No probado aunque he visto en vivo como funciona mediante una demo que me ha hecho el fabricante.
    • Demo/Presentaciónhttps://www.youtube.com/watch?v=SMCYHFDfSzk (solo presentación, demo disponible próximamente)
    • Mis comentarios: He tenido una sesión con el fabricante para ver más detalles de esta solución. Lo cierto es que va más allá de una herramienta de análisis de vulnerabilidades y auditoría, además de esto nos proporciona una forma de gestionar la seguridad de nuestra arquitectura de contenedores (con Docker, Kubernetes o incluso Mesos). Creo que es la herramienta que mejor cubre las necesidades que se pueden tener a nivel empresarial. Tiene un gran margen de mejora, ya que es una herramienta cuya versión es 1.0.2 pero dispone de una amplia lista de características y granularidad en acciones y roles muy necesarias en ciertos casos de uso. Importante destacar, como he comentado antes que no es solamente una herramienta de gestión de vulnerabilidades, sino que va más allá.
    • Descripción: es una herramienta online para generar contenedores personalizados via Dockerfiles (en palabras de Bitnami: es una API declarativa para generar contenedores). Aunque no está orientada a ser una herramienta de seguridad como tal tiene una funcionalidad que merece la pena mencionar ya que detecta y nos avisa por pantalla y correo electrónico cuando un contenedor tiene algún componente no actualizado o vulnerable.
    • Orientado a: Dockerfiles, imágenes y contenedores.
    • Lenguaje: desconocido
    • Metodología: Usa base de datos pública CVE https://cve.mitre.org para buscar CVEs de los componentes que se utilizan.
    • Licencia: SaaS
    • Nivel Instalación/Usabilidad: Fácil 
    • Demo/Presentación: https://www.youtube.com/watch?v=4A24pD-P_N4
    • Mis comentarios: Como herramienta SaaS es muy fácil de utilizar, desde el punto de vista de seguridad, ofrece al usuario una vista clara y útil del estado de cada contenedor. Está limitado a los componentes que ofrecen en la herramienta.
    • Descripción: como casi todas, es una herramienta bastante reciente y en un estado muy inicial, se ha lanzado hace unas semanas, fue presentado en la BlackHat Europe Arsenal. Según el autor: Dockscan es una herramienta de análisis de vulnerabilidades para Docker y contenedores. Reporta problemas de seguridad en la instalación de Docker y configuraciones de contenedores. 
    • Orientado a: principalmente al servidor Docker y algunos consejos básicos para imágenes y contenedores.
    • Lenguaje: Ruby
    • Metodología: usa algunas de las buenas prácticas citadas en el CIS Docker 1.6 Benchmark best practices. Puede funcionar en local y de forma remota mediante la conexión a un servidor Docker.
    • Licencia: GPL v2
    • Nivel Instalación/Usabilidad: Fácil
    • Demo/Presentación: N/A
    • Mis comentarios: Actualmente está muy limitada, aunque parece interesante, no la usaría por ahora, veremos como evoluciona, Docker Bench for Security hace mucho más.
  2. Drydock:  (no confundir con Dry-dock cluster)
    • Descripción: Según el autor: drydock es una herramienta de auditoría de seguridad de Docker escrita en Python. Fue inicialmente inspirada en Docker Bench for Security pero intenta aportar más flexibilidad en las auditorías. Drydock permite la creación y uso de perfiles para reducir falsas alarmas. Genera informes en JSON para poder usarlos fácilmente. Utiliza el cliente docker-py para comunicarse con Docker mediante la API.
    • Orientado a: principalmente al servidor Docker y algunos tips básicos para imágenes y contenedores.
    • Lenguaje: Python
    • Metodología: igual que la herramienta anterior, utiliza las recomendaciones del CIS Docker 1.6 Benchmark best practices para comprobar la configuración del servidor. 
    • Licencia: GPL v2
    • Nivel Instalación/Usabilidad: Fácil 
    • Demo/Presentación: N/A
    • Mis comentarios: Está muy verde todavía, hace algunas cosas más que Dockscan pero no llega a lo que hace Docker Bench for Security. Ya veremos como evoluciona.
    • Descripción: herramienta para auditar y securizar Docker server y contenedores. Es más o menos igual que Drydock o Docker Bench for Security.
    • Orientado a: principalmente al servidor Docker y algunos tips básicos para imágenes y contenedores.
    • Lenguaje: Go
    • Metodología: se ejecuta como contenedor y comprueba el servidor siguiendo la guía CIS Docker 1.6 Benchmark.
    • Licencia: MIT
    • Nivel Instalación/Usabilidad: Fácil 
    • Demo/Presentación: N/A
    • Mis comentarios: Nada diferente a lo que hace Drydock o Docker Bench for Security.
Conclusión:

  • ¿Cual de estas herramientas usaría? Teniendo en cuenta que la mayoría son herramientas con menos de 6 meses de vida, usaría todas para luego ver los resultados que más se acercan a lo que necesito. Pero desde luego hay algunas que no merece la pena usarlas por ahora como indico en los comentarios de algunas de ellas. Dicho esto, desde el punto de vista de características y la orientación empresarial de la aplicación en sí Twistlock sería la que más necesidades cubre en este momento. 
  • Hay mucho margen de mejora y adaptar estas u otras herramientas para que sean realmente útiles a nivel de análisis de seguridad empresarial. No es mal comienzo, al menos para ir testeando lo que tenemos independientemente del estado de nuestros entornos. Habrá que ver que pueden aportar los grandes jugadores sobre este tema y los contenedores (Google, MS, AWS, etc.). 
  • A favor de todos ellos hay que decir que es bastante difícil seguir el ritmo de Docker ya que se publican nuevas versiones con muchos cambios y novedades casi cada semana. Me imagino que es el precio que hay que pagar cuando trabajamos con tecnologías emergentes.
  • En futuros artículos me gustaría añadir más información sobre la seguridad en sistemas de orquestación como Kubernetes o incluso otros despliegues de Docker como AWS ECS.
  • ¿Y que hay de respuesta a incidentes? Es otro punto a cubrir en futuros artículos sobre este tema.
  • Adicionalmente, si quieres conocer algunos detalles en más profundidad sobre buenas prácticas en Docker,  en el curso de Hardening de Securízame puedes encontrar un módulo dedicado a este asunto.  
Toni de la Fuente @ToniBlyx
Leer más...

06 diciembre 2015

Enlaces de la SECmana - 305

Leer más...

03 diciembre 2015

Libro: Criptografía por Federico Pacheco




Fue en 2012, en la Ekoparty en Buenos Aires, cuando conocí la existencia del argentino Fede Pacheco, gracias a Héctor Jara, que tuvo el detalle de regalarme el libro Ethical Hacking 2.0, que habían escrito conjuntamente.

En 2014, tuve el honor de volver a la décima edición de Ekoparty, y Fede Pacheco me regaló un ejemplar dedicado de otro libro del que era autor, esta vez en solitario. 


Se trata de  "Criptografía: Desde los sistemas clásicos hasta el futuro de la privacidad" de la editorial Red USERS

La obra, prologada por el profesor Jorge Eterovic de la Universidad de Morón, y por el Doctor Jorge Ramió Aguirre, reconocido criptógrafo español, empieza detallando al lector diferentes conceptos claves y básicos de la criptografía, enseñando diferentes técnicas en las que se basan los distintos algoritmos: sustitución, transposición y otras transformaciones. 

Continúa recorriendo las diferentes formas de criptografía, aplicadas en épocas clásicas, como el Atbash, (utilizado desde el siglo VI A.C. por los hebreos), cifrados del César, Vigenère, etc,... hasta llegar a la máquina Enigma, cuya historia se refleja (con más o menos rigurosidad) en la película "The Imitation Game"

El siguiente capítulo, titulado criptografía moderna, realmente explica otros tantos conceptos sobre algoritmos de cifrado: inversibilidad, complejidad, congruencia, divisibilidad, etc,...

A lo largo del libro se detalla el funcionamiento de los algoritmos, tanto de bloque como de flujo para entender su aplicación en criptografía simétrica (DES/3DES, IDEA, AES,...) y asimétrica, así como los algoritmos de Hashing. 

Finaliza con dos capítulos dedicados al detalle de PKI (Public Key Infrastructure) y firma digital, así como la enumeración y explicación de diferentes protocolos y sistemas de autenticación.

Mi opinión en sí respecto al libro es que puede ser una excelente guía y punto de entrada para quien quiera iniciarse en temas de criptografía. Es cierto que, en algunas partes, se pueden hacer algo densas las explicaciones, sobre todo por la cantidad de fórmulas matemáticas existentes. Quizá le habría añadido más ejemplos de prueba, que hagan que el lector pueda ver la aplicabilidad de algunos algoritmos, y no fuese únicamente un acto de fe sobre las fórmulas en sí.

Aunque siempre he dicho que prefiero leer en papel antes que en formato electrónico, me gusta mucho la opción que añade esta editorial, por la que incluye un código en la primera página (y que he eliminado en la imagen superior) que permite disfrutar del mismo libro en formato digital. Uno de los valores añadidos de esta editorial, con estos libros técnicos, es la posibilidad de contactar con el autor a través de ellos para poder resolver alguna duda que te pueda surgir, relacionada con la temática del libro.

Como digo, un buen libro, un autor que sabe transmitir un conocimiento tan complicado de forma que sea entendible, y la posibilidad de contentar a ambos tipos de lectores, los viejunos que preferimos versión en papel y los modernos que prefieren versión online.

Una lástima que sólo esté disponible en Argentina en papel. Podéis comprar la versión e-book en este enlace: http://www.redusers.com/noticias/publicaciones/criptografia/

 
Leer más...