viernes, 26 de mayo de 2017

Reflexiones después de WannaCry

Mucho se ha hablado de WannaCry, el virus informático que dos semanas atrás sorprendió al mundo con un ataque masivo. Para quienes aún no están al tanto, WannaCry es un tipo de virus conocido como ransomware, que consiste en un software malicioso que de alguna manera bloquea el acceso a datos/archivos para luego pedir rescate comúnmente a cambio de dinero (en el caso WannaCry solicitaban bitcoins).

Como dije al comienzo, este caso ya ha sido bastante comentado, por lo que no entraré en detalles de este tipo de virus ni tampoco de éste virus en particular, pues para eso les recomiendo leer el post WannaCry uno de los ataques de ransomware más masivos de @spamloco que explica claramente en qué consistió e incluso brinda referencias interesantes como la de @chemaalonso de Telefónica.


 
Pero reflexionando respecto a la ocurrencia de este tipo de eventos, que nos ayudan a pensar y repensar sobre la seguridad de nuestros archivos, es interesante y desafiante plantearse ¿que ocurriría si el día de mañana (en casa o la oficina) nos encontramos con un WannaCry? Ya sea que tengamos información personal o referente a nuestro trabajo (ej. de los desarrollos en los que estamos involucrados cuando desarrollamos software), hay varios puntos a tener en cuenta para mitigar los riesgos a los que estamos expuestos. Tal como lo menciona @spamloco en el artículo referenciado al comienzo, es importante tener actualizado nuestro sistema operativo (significa tener los últimos parches que generalmente entre otras cosas corrigen problemas de seguridad), contar con algún antivirus que nos proteja de ataques conocidos y realizar respaldos periódicos (el período dependerá de nuestras necesidades). Ya que estas medidas preventivas no nos asegurarán estar totalmente libres de estas problemáticas, deberíamos complementarlas con el uso responsable de los sitios que navegamos en la web y de los archivos que abrimos al recibir correos electrónicos, para evitar que seamos nosotros la puerta de entrada de este tipo de virus.

En lo que respecta al desarrollo de software y “lo que lo rodea”, como integrantes de un equipo de desarrollo (ya sea desarrollador, arquitecto, tester, jefe de desarrollo, asegurador de calidad, director de proyecto y cualquier otro rol) es de vital importancia tener una relación de cercanía con quienes son los responsables de infraestructura. Aquellos a quienes recurrimos (o deberíamos recurrir, así al menos lo entiendo yo) tanto al comienzo de cada proyecto para planificar entre otras cosas las herramientas que utilizaremos, sus versiones y los puestos de trabajo involucrados; así como durante el transcurso de los proyectos para discutir cuestiones de arquitectura, es con quienes debemos planificar la gestión de éste tipo de riesgos a los que estamos expuestos.

Es importante planificar en base a supuestas situaciones como las que nos exponen este tipo de virus: ¿qué pasa con los archivos y la información que involucra el software que estamos desarrollando/manteniendo? ¿qué pasa con documentación tal como actas de reunión, manuales, documentos de requerimientos, guías de testing, etc? Es necesario que dejemos en claro desde un comienzo los repositorios que vamos a utilizar así como los mecanismos de respaldo necesarios y disponibles según el proyecto y la organización en la que estamos trabajando. Tan importante como eso es prever cómo reponerse de un ataque como el que realizó WannaCry y en los posible corroborar con “simulaciones” que efectivamente funcionan nuestras medidas de contingencia. Simplemente probar un día cualquiera la “vuelta atrás a respaldos” puede ser útil para evaluar la eficacia de nuestras medidas.

Analizando esta problemática con una visión más general, este tipo de eventos deberían ser considerados como parte de la gestión de riesgos. Muchos riesgos puede que se repitan de un proyecto a otro (entre ellos, eventualidades como estas), pero eso no debe ser excusa para no reflexionar sobre ellos, si no totalmente lo contrario. Deberíamos tener una lista de riesgos identificados, analizarlos (cualitativa y cuantitativamente), planificar su respuesta y mantenerlos controlados.

Una vez que tenemos una lista de riesgos identificados, una buena opción para realizar un análisis cualitativo de los mismos puede ser utilizar una matriz de probabilidad-impacto. A continuación, se presenta un ejemplo de matríz del estilo que sugiere PMI en su capítulo de gestión de riesgos.
En esta matriz de ejemplo (tomada como captura de pantalla del libro de Pablo Lledó), se asignaron valores a la Probabilidad y al Impacto para clasificar los riesgos en categorías de prioridad baja (blanco), media (gris) y alta (negro), según el valor del producto probabilidad x impacto.

Luego deberíamos cuantificar dichos valores (probabilidad con % e impacto con $) para evaluarlos y planificar la respuesta a los mismos. Hay que considerar que se pueden tener riesgos positivos (oportunidades) o bien riesgos negativos (amenazas), y en ésta última clasificación es que caería WannaCry. Algunas estrategias para gestionar este tipo de riesgos suelen ser evitarlos (realizar acciones para eliminar el riesgo), transferirlos (trasladar el impacto a un tercero), mitigarlos (disminuir la probabilidad de ocurrencia y/o el impacto) o bien aceptarlos (asumir que puede ocurrir y establecer cómo actuar en caso de que ocurra).

Por último, pero no menos importante, deberíamos controlar los riesgos, pues seguramente nuestra lista necesite ser actualizada a lo largo del tiempo. Podrían cambiar las probabilidades y/o el impacto de los riesgos y por consiguiente sus prioridades y planes de acción.

En definitiva, si no tenemos un buen plan de prevención de riesgos actualizado con sus respectivos planes de respuesta también actualizados, ya sea por falta de tiempo (que se puede traducir a presupuesto ajustado) o porque consideramos que son eventos excepcionales, debemos saber que si la excepción ocurre todo se nos puede complicar. Una buena medida puede ser la definición de ciertas políticas o procedimientos a nivel general que tengan en cuenta este tipo de situaciones, qué estrategias vamos a utilizar para enfrentarlas y cuál o cuáles son los planes de acción posibles.

En fin, aprovechemos este tipo de eventos para repasar y reevaluar si estamos preparados para enfrentarnos a ellos. En caso de que lo estemos, es una buena oportunidad para evaluar qué cosas podemos mejorar; y en caso de que no lo estemos, es momento de ponernos a trabajar en ello.

¡Hasta la próxima!

No hay comentarios:

Publicar un comentario