Carpe Teknus » Seguridad

Seguridad


Drive/Device Encryption: TrueCrypt

Seguridad

truecrypt.gifDuring this week I’ve been trying TrueCrypt(http://www.truecrypt.org/) for file/drive encryption and here are my observations:

The best feature of this software is that is the price: free, zero, nada, nulo, nitchs. Thank God for open source programmers.

All the feature list can be found at the website, so I won’t go deep on explanations. I’ll just say that is a very robust software offering several encryption algorithms (AES-256, Serpent, and Twofish) and three hash functions (RIPEMD-160, SAH-1, Whirlpool) all of them yet to be broken (rumors about SAH-1 being compromised have circulated the net but no practical example yet, mathematical and conspiration theories only). Additinally, you can stack the algorithms to create a more complex result (slower process but theorically more secure), so the possible combinations with the corresponding benchmark in my machine are:

benchmark1.JPG
(For comparison, unencrypted IDE drives range from 60 to 90MB/s, SATA150 from 90 to 130MB/s and SATA300 from 120 to 200MB/s)

But what concern us about it is the next two features: real time encryption and virtual disk/device configuration.

Virtual disk encryption means you can create a file and mount it as a volume that creates a new drive in windows. While device encryption means you can configure the whole storage device (disk, volume, usb drive, et al) to be encrypted.

Real time encryption means that all encryption work is done on memory, and transparent for the user. You just configure the disk and voila! you have a new drive letter where you can read/write without noticing it’s being encrypted.

I tested with one virtual disk (Quang didn;t allow me to format the disk I borrowed) and here are my impressions:

I created a 10GB virtual file with the AES-Twofish encryption and whirlpool hash and tested the following scenarios:


  • big files read/write
  • network read/write
  • VPN accessed (mounted the file located @ the office in my home computer )
  • Media play (mp3, video)

Locally I didn’t notice any slowness in the system. Also file access was very quick (22 MB/s is more than needed for file storage) no more noticeable slowness than any other of my drives. Where i found it “slow” was thru the vpn. And that’s due to the network for sure (around 2MB/min transfer speed)

The virtual file gives the flexibility to move around the file and mount it wherever it’s needed. But since I was greedy enough to create a 10GB file I couldn’t put it in a DVD to mount it from there (yes, suposeddly you can mount files from DVD)

So, in conclusion, I consider this a very good candidate to encrypt our backups and/or personal/proyect folders. This software doesn’t encrypt OS drives because it can’t be booted, but there is a work around using bootable CDs wich aren’t very useful for our case.

Next time I’ll review another free software that encrypts all drives an boot the OS, thus having all data in the machine encrypted.

Phishing Banamex: Que tan confiable es?

General, Seguridad

banamex.jpgPhising es una de las técnicas de ataque mas efectivas estos días. Consiste en crear una copia falsa de un sitio de internet conocido y hacer que los usuarios, de alguna manera, intenten introducir sus datos. al hacerlo, el sitio les informara que hubo un error en la verificación de los datos, por lo que el usuario generalmente lo intenta de nuevo, y asi sucesivamente hasta que el usuario desiste y decide intentarlo despues. Para ese entonces, el atacante ya obtuvo la informacion del usuario y varios passwords que podria usar en otros sistemas para accesar las cuentas, información personal y privada del incauto usuario.

Precisamente la semana pasada me encontraba en mi computadora de casa, cuando me di cuenta que algun script malicioso modifico el archivo de HOSTS y modifico mis registros (ver en el mail el contenido de las modificaciones).

Esto con el fin de direccionar la pagina de banamex y sus variantes para la entrada a su sistema de banca por internet, y entonces al intentar entrar con un usuario y password real, estos datos quedaran almacenados para que los que pusieron esa página hicieran con ellos lo que quisieran (tipicamente hacer transferencias a otras cuentas u obtener números de cuentas y tarjetas).

Si yo hubiera tenido cuenta en Banamex y no me hubiera dado cuenta del cambio, hubiera dado la información de mi cuenta a otra persona. Unos dias o meses despues me hubiera percatado de que habia transferencias extrañas en mis cuentas, dando lugar a un largo proceso de pelea con el banco (si, a pesar de que somos clientes de los bancos nunca confian en nosotros) para obtener mi dinero de regreso (o un gracias por ser buen cliente pero no le podemos regresar nada).
Como buena acción del día, decidí informar a Banamex de lo que habia pasado, esperando que al menos reportaran el nombre o la IP, o enviaran un correo a sus usuarios. Pero, oh! desilusión! Solamente dejaron al descubierto la estupidez de la mayoria de la gente de soporte/sistemas. Y para que vean eh aqui el texto de la comunicación que tuve con ellos:


De: Abraham Vargas (XXXXXX@XXXXX.XXX)
Enviado el: Viernes, 25 de Mayo de 2007 01:07 a.m.
Para: Servicio A Clientes (1) [BNMX]
Asunto: Servicio a clientes (Portal 1)
Modulo de Servicio Clientes
Nombre del usuario :ABRAHAM VARGAS
Mail del usuario :XXXX@XXXXXX.XXX
Teléfono del usuario :000
Fax del usuario :000
Dirección del usuario :USA
Colonia del usuario :USA
CP del usuario :92069
Ciudad del usuario :SAN MARCOS CALIFORNIA
Estado del usuario :OTRO
País del usuario :ESTADOS UNIDOS
Tema de contacto :SERVICIOS EN LINEA BANCANET
Comentario del usuario:QUE TAL LES ESCRIBO PORQUE ALGUN VIRUS DE INTERNET CAMBIO LA CONFIGURACION DE MI COMPUTADORA PARA QUE AL INTENTAR ACCESAR EL SITIO DE BANAMEX ACCESARA A LA SIGUIENTE DIRECCION DE IP 189.180.78.75 PARA QUEINVESTIGUEN PORQUE PARECE SER UNA DIRECCION FALSA PARA OBTENER PASSWORDS DE SUS USUARIOS. LA CONFIGURACION COMPLETA QUE CAMBIO FUE EL ARCHIVO HOSTS Y PUSO ESTO EN LUGAR DE MI ARCHIVO ORIGINAL:
189.180.78.75 WWW.BANAMEX.COM
189.180.78.75 BANAMEX.COM
189.180.78.75 WWW.BANCANETEMPRESARIAL.BANAMEX.COM.MX
189.180.78.75 BANCANETEMPRESARIAL.BANAMEX.COM.MX
189.180.78.75 BOVEDA.BANAMEX.COM.MX
189.180.78.75 WWW.BOVEDA.BANAMEX.COM.MX
ESPERO PRONTO PUEDAN ARREGLAR EL PROBLEMA
SALUDOS

Y la respuesta que recibi fue:


From: "Atencion Empresarial 3 [BNMX]" (atenempre3@banamex.com)
To: XXXX@XXXXXX.XXX
Subject: SC-Servicio a clientes (Portal 1)
Date: Mon, 28 May 2007 11:30:00 -0500
Estimado Cliente
Buenas tardes, reciba un cordial y afectuoso saludo.
Con el objeto de proporcionarle el mejor servicio , le invitamos a llamar a los teléfonos de atención a clientes (1800 226 2639 (1800 BANAMEX))
Nota:
Este mensaje tiene el carácter de informativo y la falta de recepción de la misma por parte del cliente no implica obligación ni responsabilidad alguna del banco.
** Nota: Le recordamos que Banamex nunca le solicitará información confidencial como su número secreto, password, información personal y de sus cuentas vía correo electrónico. Si recibes un correo solicitando esta información, sospecha de su origen, no conteste o de click en ligas de estos correos y reenvíelo a la dirección de correo electrónico giso@banamex.com
Gracias y Saludos!!
ATENCION EMPRESARIAL 3
Tel.: 1800 226 2639 (1800 BANAMEX)
La información contenida en este mensaje esta destinada únicamente para el uso de la persona o entidad identificada como receptor. Cualquier uso no autorizado es responsabilidad del receptor. Si usted recibe este mensaje por error favor de notificarlo inmediatamente al remitente y hacer caso omiso de la información ahí contenida.
The information contained in this e-mail message is only for purposes of the intended recipient. Any unauthorized use is responsibility of the receiver. If you have received this e-mail message in error, please immediately notify the sender and delete it from your computer.

Que se puede esperar de un banco así?
Gracias pero no me sirven de nada…. y ustedes, tienen cuenta en Banamex?

banamex bank phishing security seguridad

Seguridad de Passwords: Salado(salting), #1 – Almacenamiento de Passwors

Seguridad

BewarePrácticamente en todas las aplicaciones actuales se manejan usuarios y passwords para permitir el acceso a sistemas.
También es muy conocido que es esa información de las más codiciadas por los “asaltantes” informáticos.
Como desarrolladores de sistemas, tenemos la obligación moral (y a veces legal) de proteger dicha informacién de nuestros usuarios. Anteriormente era común encontrar los datos almacenados en campos de texto plano “Usuario” y “Password” – de más esta decir que es el peor diseño en seguridad de información:

ID_Usuario Usuario Password
1 fulanito entradasistema
2 manganito manganito
3 juanperez password
4 josesanchez password

Un atacante que lograra obtener acceso a los datos, fácilmente podría entrar al sistema usando la identidad de otro usuario.
Ahora, con las mejoras tanto en legislación como en diseño de seguridad en sistemas, es común encriptar el password para que, si un atacante lograra entrar al sistema, no pudiera descifrar la información obtenida. Usando MD5 para encriptar los datos de ejemplo, tendríamos Password=MD5(password):

ID_Usuario Usuario Password
1 fulanito c09e9b31561eecdbb4f66e978ddba2ac
2 manganito be36b8eb2fabe4e58e2f6c0f8089fe20
3 juanperez 5f4dcc3b5aa765d61d8327deb882cf99
4 josesanchez 5f4dcc3b5aa765d61d8327deb882cf99

Prácticamente imposible de descifrar, no? Totalmente falso… Con la sofisticación de los ataques informáticos, hoy en dia una simple función de hash para encriptar información tan delicada como passwords es insuficiente. Porque? La mayoria de los usuarios elige passwords poco seguros (nombres, direcciones, fechas, palabras conocidas, hasta el mismo username), por lo que un atacante con acceso a la BD de usuarios sólo tendría que hacer un ataque de palabra conocida encriptada para obtener algunos passwords. Para facilitarse el trabajo, el atacante podria realizar un escaneo del hash de los passwords y detectar información repetida para centrarse en esos datos en el ataque de palabra conocida. Es decir, si hay 10 usuarios que utilizan la palabra “password” como password, habra 10 registros en la BD con el valor de “5f4dcc3b5aa765d61d8327deb882cf99″ (al igual que juanperez y josesanchez de nuestro ejemplo). Y, de otro modo, si se encuentran varios registros con el mismo valor, lo mas seguro es que sea una palabra conocida (cuantos utilizan el nombre de la empresa en que laboran como password para la intranet?)

Salado(Salting)

Para mitigar este peligro, existe una técnica que se llama “Salado” de password (de Salting en inglés). Esta técnica consiste en agregar información extra específica a cada usuario antes de realizar el cifrado del password. Entonces, al aplicar la función de hash, el resultado es unico(*) para cada usuario. En nuestro ejemplo usaremos la informacion extra ID_Usuario, por lo que obtendriamos Password=MD5(password + ID_Usuario):

ID_Usuario Usuario Password
1 fulanito 8b206463571df9f233165f1e3e0b3732
2 manganito 99259365af4debf221517baf4fed5bb2
3 juanperez 819b0643d6b89dc9b579fdfc9094f28e
4 josesanchez 34cc93ece0ba9e3f6f235d4af979b16c

* único en el termino relativo a la BD. Es conocido que la función MD5, al tener un número finito de resultados y un número infinito de datos de entrada, tiene muchas colisiones de hash strings. Sin embargo para nuestro ejemplo práctico de usuario/password, siempre obtendremos resultados únicos.
Con este método vemos que ya no encontraremos datos idénticos almacenados, haciendo mas difícil el ataque.
Recordemos que ningún método es infalible y ningún sistema es inviolable, pero el tomar acciones como la aquí sugerida aminora los riesgos que tenemos del lado del almacenamiento de datos.

En el siguiente artículo se tratará el tema de salting del lado de usuario. Como sabemos, es el usuario el eslabóm más débil en seguridad de sistemas, pero con un poco de educación por parte de la administración de sisteas y de responsabilidad por parte del usuario, podemos obtener un nivel de seguridad aceptable. Para los usuarios, el artículo ira encaminado a mejorar los passwords que usan para accesar a los sistemas y evitar que su información sea accesada por personas no autorizadas para ello.
Salud!

password salt security seguridad


Carpe Teknus © 2010

   Based on:  LonelyWay  &  FastTrack Modified by Abarajame