domingo, 25 de septiembre de 2011

Mi contraseña es “password”


¿Siguen siendo atractivas las noticias que diariamente salen respecto a nuevos troyanos y otros códigos maliciosos? Para mí, honestamente no. Salen tantos que resulta aburrido seguirles la pista. Confieso que a veces me encuentro en Symantec (o en otros sitios) buenos análisis de un malware y ese sí lo leo porque ya implica conocer el funcionamiento técnico de uno de estos bichos.
Sin embargo hace unas semanas uno de estos especímenes me llamó la atención ya que se enfocaba en servidores y se transmitía por medio de una funcionalidad muy utilizada en servers que es el escritorio remoto. Alerta amarilla. ¿Entonces no es el típico código que roba contraseñas de banca en línea? Al parecer, no.
Rápidamente empecé a leer el detalle en el sitio de FSecure, donde ya me enteré del nombre del enemigo: Morto. Ok. Lo siguiente más importante es entender cómo se propaga para analizar esos vectores de infección y poder hacer algo preventivo/detectivo (sin olvidar La Pregunta de si tu antivirus ya lo detecta).
Seguro se propagaba por una debilidad de software (¿verdad, Blaster y Confiker?). Tal vez por carpetas compartidas o unidades de red. Y cómo olvidar el USB, uno de los medios preferidos por los desarrolladores de malware.
Pues no. Sorpresa. El principal vector de infección de Morto es…el escritorio remoto que usa el protocolo RDP (Remote Desktop Ptotocol). El virus busca equipos que tengan el puerto 3389 abierto y una vez detectado, trata de ingresar al sistema.
Pero momento. Si tienes un servidor con el RDP habilitado, pues igual y obtienes un escritorio remoto, PERO si no tienes el username y password simplemente no entras (quitando a debilidades de RDP, claro). ¿Entonces cómo le hacía Morto? Buena pregunta.
Y la respuesta es: adivinando el username y password. Entonces pensaríamos que el código incluía una enorme base de datos con cientos de miles de posibles nombres de usuario y millones de contraseñas, cierto?
Mmmhh. Pues no. El nombre de usuario era uno solo: “Administrator” e incluía menos de 30 posibles contraseñas. Y con estas armas logró infectar miles de sistemas.
Lo que más me sorprendió es que entre las contraseñas usadas están: admin, password, server, test, user, pass, letmein, 1234qwer, 1qaz2wsx, abc123, admmin123, 123456.
Si ven, son contraseñas construidas a partir de combinaciones del teclado (123qwe) o las típicas usadas por ¿algunos? administradores de sistemas (admin123).
¿No hemos aprendido nada? ¿Cómo es posible que Morto haya tenido éxito al infectar servidores? Se asume que los servidores, a diferencia (probablemente) de los sistemas de usuarios finales, tienen ciertas protecciones como por ejemplo: a) exigencia de contraseñas complejas para administradores y usuarios; b) bloqueo del servidor luego de 3 intentos fallidos; c) tal vez y con suerte, se restringe vía red sólo a unas IP que pueden establecer una conexión hacia el servidor por el puerto 3389.
Sin mencionar que un administrador jamás seleccionaría “test” como contraseña, cierto? En fin.
Todo lo anterior me lleva a constatar que varios no hemos superado le época de las contraseñas débiles en las corporaciones. Y aguas, no estamos hablando de passwords débiles usados en servicios en línea (Facebook, Hotmail, Twitter, G+, etc.), sino que estamos hablando de contraseñas usadas en servidores corporativos.
Morto no explota debilidades en software sino la debilidad en administradores que se les hace fácil ponerle la contraseña “test” a ese servidor de pruebas “que ya merito lo vamos a dar de baja” o “123qwE” porque es robusta e irrompible.
Les debo un post con técnicas para generar contraseñas robustas y fáciles de recordar. Mientras tanto, absténganse de usar contraseñas que según esto son muy fuertes (12345qwert), y si están en una empresa, revisen que sus servidores no tienen passwords chafas o de default. Ah! y háganme un favor, cambien el nombre de la cuenta de “Administrador”.


domingo, 11 de septiembre de 2011

Administrador de Contraseñas


Si los usuarios tienen problemas para administrar sus N contraseñas para los N servicios que así lo piden (GMail, Twitter, FaceBook, Yahoo y un largo etcétera), también los administradores de sistemas comparten una problemática similar al tener que administrar varias contraseñas de sus servidores y aplicaciones.
Cuando la cantidad de contraseñas que se deben de manejar es ya considerable, recomiendo hacer uso de un administrador de contraseñas. Dicho administrador es una aplicación que lo que hace es resguardar las diversas contraseñas que usamos con el fin de poder tener acceso a ellas fácilmente.
¿Cuáles son las características de seguridad en las que un administrador de TI se debería de fijar antes de usarlo?
+ Que cifre las contraseñas y nombres de usuario en un archivo de datos, y que al cerrar/bloquear la aplicación éstas no permanezcan en claro. Asimismo revisar que el algoritmo usado para cifrar es uno respetable (AES, Serpent, Twofish, Blowfish, IDEA) y claro, que la llave sea al menos de 128 bits (aunque podría recomendar 256).
+ Que no guarde la base de contraseñas en la nube. Es decir, que sea una aplicación a la antigua, de esas que se instalan en un equipo y que ahí se quedan quietecitas.
+ Que restringa el acceso a  las contraseñas guardadas por medio de una contraseña maestra u otro método que logre este objetivo.
+ Que la aplicación sea obtenida de una fuente confiable. Aquí en este post recomendaré la app de PasswordSafe, o pueden buscar otra y “googlearla” para ver si hay comentarios negativos (relacionados a inseguridad). También pueden consultar con el jedi-de-seguridad de su preferencia.
+ Poder respaldar las contraseñas es un must. Normalmente estos administradores de contraseñas van a generar un archivo cifrado donde se resguardan los passwords. Ya sea que la propia aplicación tenga la funcionalidad de respaldar o que sea tan sencillo como copiar y pegar el archivo cifrado, es importante que se pueda llevar a cabo la acción de backup.
+ Que se bloquee la aplicación automáticamente después de que transcurra cierto tiempo sin que se use el programa.
+ Es deseable que no requiera de otro software o librería adicional para que funcione. No queremos introducir más programas al equipo que potencialmente puedan ser un hueco de seguridad.
+ Otra característica deseable es que borre el portapapeles automáticamente al minimizar y/o al cerrar la aplicación, o tal vez después de cierto tiempo transcurrido. Esto claro en caso de que el administrador opere copiando y pegando las contraseñas guardadas.
+ Finalmente, sería agradable ver en este administrador la fecha y hora del último acceso a la misma. Si un fulano de alguna manera tuvo acceso a esta aplicación ayer lunes en la tarde, sabrás que hay algo chueco porque ayer andabas crudo y ni al trabajo llegaste.
Ahora bien, uno de los administradores de contraseñas que he usado y que me ha gustado es la de PasswordSafe en cuyo desarrollo participó el Obi-Wan de la seguridad Bruce Schneier. Es gratuita, segura y realmente fácil de usar.
En fin. Espero que esta información les sea útil. Es importante mencionar que el enfoque de este post es para administradores de sistemas o tal vez usuarios corporativos que acceden a equipos o aplicaciones en su empresa. 
Ya para usuarios en casa que desean administrar sus contraseñas de servicios de Internet existen otras opciones con diferentes características como las de LastPass que a mi gusto es de las mejores por su nivel de seguridad y por la gama de opciones que ofrece para facilitarnos la vida.

domingo, 4 de septiembre de 2011

El hundimiento de DigiNotar


Nunca había escuchado de la empresa DigiNotar, y tú? No nos culpo, es una empresa por allá en Holanda. ¿Se me había olvidado decir que es una autoridad certificadora de esas de “raíz”? ¿Y se me pasó decir que fue hackeada?
Una autoridad certificadora es aquella que emite certificados digitales. De esos como los que ya vienen pre-instalados en los navegadores y que permiten iniciar una sesión segura usando SSL. En pocas palabras, cuando vas al portal de un banco comercial y aparece el candadito en una de las esquinas del navegador, quiere decir que estás haciendo uso de certificados digitales.
Bien. ¿Pero para qué querría alguien hackear una autoridad certificadora? Ni modo que alguien quisiera obtener un certificado a nombre de…digamos Google, y luego levantar un sitio falso PERO con un certificado digital válido, o sí? Así este sitio fraudulento podría aparecer todavía como más auténtico ya que “hasta el candadito se prendió y sin ninguna advertencia”.
Asimismo, con un certificado digital robado bien puedes hacer ataques de Man-in-the-middle: en tu sesión con GMail hay un tercero en discordia que manda tus peticiones a GMail y a ti te envía todo lo que recibe de GMail; en pocas palabras puede leer todo lo que se manda/recibe en una sesión “segura”. Que de hecho es lo que al parecer hizo el gobierno de Irán con lo cual (de ser cierto) pudo “ver” el contenido de varios de sus ciudadanos que iniciaron una sesión aparentemente “segura” a GMail.
El hackeo fue desde el mes de julio. Y al parecer cerca de 200 certificados falsos de diversas organizaciones fueron generados. El gobierno holandés por precaución revocó certificados por si las moscas: nuevos certificados habrá que generar me temo (ya estoy hablando como Yoda).
Y supongo que la CIA y el Mossad no están felices de que algún fulanito ande por ahí con certificados digitales válidos de sus sitios.
Microsoft, Firefox, Chorme entre otros navegadores han anunciado que dejarán de “confiar” en esta autoridad certificadora llamada DigiNotar con el fin de que no haya más de estos ataques. Le echaron montón y bien podría significar el fin de DigiNotar. Las autoridades certificadoras venden a final de cuentas confianza (no el certificado).
Por cierto, no es la primera (y al parecer no será la última vez) que existe un ataque a autoridades certificadoras. El último que recuerdo fue Comodo.
Podemos pensar que este asunto es totalmente irrelevante para nuestra realidad en México (u otro país). Sin embargo este hackeo nos muestra varios puntos:
Uno: que por default confías en lo que tu navegador confía. Y tu navegador confía en autoridades certificadoras que tú no conoces. Y efectivamente en base a esta endeble confianza, tú estableces enlaces “seguros” a sitios de banca en línea o compras online.
Dos: las autoridades certificadoras son hackeadas. Serán parte de una cadena de seguridad, pero son susceptibles de ataques.
Tres: que aunque el protocolo SSL (TLS) es adecuado, no así la cadena de confianza que sustenta toda esta infraestructura. Moxie explica este punto de mejor manera yendo lejos y afirmando que “At long last, we're finally approaching the critical mass necessary to replace the CA system that we've long since grown out of”.
En fin, la recomendación es que vayas a actualizar tu navegador. Es una de las formas para botar a DigiNotar de tu sistema. También checa las opciones de CertificatePatrol (muy recomendable) o hasta la opción un poco más radical de Convergence.
Los dejo con una cita de Bruce Schneier sobre el tema:"This attack illustrates one of the many security problems with SSL: there are too many single points of trust".