Recomendaciones fundamentales de seguridad para infraestructuras críticas

Recomendaciones fundamentales de seguridad para infraestructuras críticas
February 11, 2022

Los últimos años han visto una serie de ataques de alto perfil en sistemas informáticos operados ya sea directamente por el gobierno del Ecuador o por corporaciones de terceros que alojan infraestructuras críticas. El último fue una intrusión en el sistema de la policía nacional, que condujo al arresto por error de un individuo de alto perfil. No se sabe mucho sobre este incidente: la única información publicada afirma que el atacante inició sesión en el sistema policial utilizando las credenciales de un oficial de policía, y que este inicio de sesión ocurrió desde una VPN o un proxy fuera de Ecuador.

Este artículo no es realmente sobre ese incidente en particular. En su lugar, nos gustaría dar algunas recomendaciones de seguridad básicas que toda infraestructura crítica en Ecuador tiene que implementar, antes de pasar a más técnicas avanzadas. Estas no son las únicas cosas que se necesitan, pero si no se administran adecuadamente, no se podrá tener la oportunidad de protegerse contra los ataques. La triste realidad es que la industria de la seguridad de la información todavía está en etapas tempranas en Ecuador - y lo que es más importante, parece que a las instituciones importantes carecen incluso de las medidas más básicas. Lo que esto también nos dice es que los ataques que conocemos son probablemente sólo la punta del iceberg. Es probable que buena parte de las intrusiones hayan pasado desapercibidas. Es extremadamente posible que varias amenazas o incluso individuos aficionados estén dentro de los sistemas gubernamentales en este momento.

Será positivo que cualquier organización implemente estas recomendaciones, pero están dirigidas principalmente a los más importantes sectores del gobierno y corporaciones relacionadas. Entidades como el sistema de justicia (Consejo de la Judicatura, Fiscalía General del Estado, Defensoría del Pueblo, Contraloría General del Estado, Procuraduría General del Estado), fuerzas del orden (Policía Nacional, Policía Judicial, Criminalística), militares y de salud (Ministerio de Salud Pública, hospitales y laboratorios). Otros lugares que incluyen mucha información personal como las agencias tributarias (Servicio de Rentas Internas) y los registros civiles (Registro Civil) también podrían considerarse críticos de cara a la seguridad de la información. Finalmente, cualquier corporación que aloje gran cantidad de información sensible, también debería acoger estas recomendaciones.

Sólo para reiterar, estas recomendaciones son cosas que la mayoría de los profesionales de la seguridad ya conocen. Pero antes de considerar medidas más avanzadas, estas deben implementarse completamente en todas partes. ¡Empecemos!

Conexiones seguras a sitios web (HTTPS/TLS)

Una de las principales luchas de la profesión de la seguridad en los últimos diez años ha sido convencer al mundo de que las conexiones seguras a los sitios web son absolutamente esenciales. Incluso si no se está administrando datos confidenciales, una conexión segura sigue siendo absolutamente necesaria, ya que de lo contrario se puede exponer a sus usuarios a ataques. Estamos felices de ver que la mayor parte del mundo ha adoptado esta práctica, incluidos muchos sitios web importantes en Ecuador. Pero no pueden haber excepciones. Cada sitio web y cada página dentro de cada sitio web debe protegerse con HTTPS / TLS. También es importante que JavaScript y las imágenes se desplieguen con una conexión segura. Y este es uno de esos lugares en donde hemos visto sitios mal configurados que a veces usan conexiones seguras, pero en otras ocasiones, no.

Nuestra posición es que es absolutamente necesario proteger cada conexión web con versiones modernas de HTTPS / TLS, además de utilizar los certificados adecuados. Esto no es algo complicado de configurar, y con autoridades de certificación como Let’s Encrypt, que proporciona certificados gratuitos, no tiene porqué ser caro.

Autenticación adecuada

Si echamos un vistazo a la última lista de los 10 principales problemas de seguridad de OWASP, veremos que la autenticación defectuosa es uno de los elementos de la lista que ha estado allí desde el principio. Todas las demás medidas de seguridad se basan en poder identificar a los usuarios reales de otras personas de manera adecuada. Si no se puede hacer esto, realmente no se tiene seguridad. El tema de la autenticación en su totalidad puede ser bastante profundo. Hay muchas cosas que mirar, incluyendo cómo almacenar contraseñas, cómo administrar usuarios y roles y muchos otros temas. Pero para esta lista de recomendaciones, sólo hay dos cosas que quisiéramos sugerir cuando se trata de autenticación, ya que brindan un gran beneficio por muy poco costo para las infraestructuras críticas. Ambas medidas están destinadas a minimizar el riesgo de malas contraseñas. Puedes implementar todo tipo de cosas para tratar de controlar las malas contraseñas, pero la verdad es que estas sucederán. Algunas personas, incluso personas que deberían saberlo mejor, usarán “contraseña” como su contraseña. Y, por supuesto, alentamos a educar a sus usuarios sobre cómo utilizar gestores de contraseñas y sobre qué constituye una buena contraseña. Les recomendamos que se deshagan de las malas prácticas de contraseñas como caducidad, requisitos de diferentes caracteres en una contraseña, etc. Desde la perspectiva más básica, si se puede reducir el riesgo de que una mala contraseña sea de hecho utilizada para atacar a su organización, esa una medida aún más importante.

Límites en los intentos de autenticación

La primera recomendación es asegurarse de poner límites a la cantidad de veces que alguien puede intentar iniciar sesión como un usuario específico antes de bloquear su cuenta. Asegúrense de no basar esto en la dirección IP del usuario que intenta iniciar sesión. La cantidad de intentos debe contarse para el usuario con el que alguien está intentando iniciar sesión. De no hacer esto, se estaría abriendo la puerta para que un atacante pruebe una gran cantidad de posibilidades. Por supuesto, el costo es que a veces la gente se bloqueará a sí misma fuera de sus cuentas. Pero si equilibras eso con el riesgo de que alguien robe la información de inicio de sesión de un oficial de policía y el acceda a información privilegiada, por lo general será una buena compensación. Para cuentas de alta seguridad, probablemente sea una buena idea establecer un límite bajo de intentos, tal vez incluso tan bajo como 3. Si se desea, también es posible utilizar ideas más avanzadas, como solicitar progresivamente más información cuantos más intentos se hayan realizado. Pero la idea básica de simplemente limitar el número de intentos es un muy buen comienzo. Sólo asegúrense de no tener timing leaks u otros problemas que filtren información sobre si una contraseña es correcta o no fuera del número limitado de intentos, si es que están desarrollando su propio software.

Doble factor para toda autenticación

Incluso más importante que los límites en los intentos de autenticación es el doble factor autenticación. Esta es una medida que cada vez más organizaciones están adoptando. Y aunque no es imposible de vulnerar para un atacante, reduce significativamente el riesgo de un ataque exitoso, incluso con una mala contraseña. En estos días, la autenticación de dos factores no es difícil de implementar. Sin embargo, deben asegurarse de evitar el uso de mensajes de texto/SMS. Es mucho mejor usar algo como TOTP (Contraseñas temporales de un solo uso), que es ampliamente compatible con los principales lenguajes y plataformas. Con este tipo de solución, se está aumentando significativamente la dificultad de sufrir un ataque, pero también tiene el efecto secundario de reducir la posibilidad de compartir una cuenta, que aunque a menudo es conveniente, puede generar problemas significativos en la autenticación y autorización adecuadas. Con una implementación TOTP simple y una aplicación TOTP gratuita para el celular del usuario, se podrá proteger la información sensible a un nivel completamente diferente. Incluso si un atacante logra usar phishing para robar una contraseña, el doble factor de autenticación aún puede proteger sus sistemas en muchas circunstancias.

Nuestra perspectiva es que el doble factor (o multifactores) de autenticación es una medida tan importante que todas las industrias y las agencias mencionadas arriba TIENEN QUE implementarla. Es más, debería ser el nivel mínimo de seguridad de autenticación para organismos gubernamentales que gestionan datos confidenciales.

Mantener registros (logs)

¿Qué hacer una vez que ocurre un ataque? ¿Cómo averiguar cómo entró el atacante y qué hizo? Aquí es donde los logs,o registros, son supremamente importantes. No debería haber dudas sobre lo que pasó. Para este tipo de industrias, todas las acciones tienen que ser registradas. Pero eso no es suficiente; deben asegurarse de que los registros sean confiables y que no haya riesgo de perder los datos de registro.

El primer paso en este trabajo es asegurarse de que cada servidor tenga un dispositivo de almacenamiento independiente para mantener los logs. Eso significa que si hay un problema con el dispositivo de almacenamiento principal, el registro seguirá funcionando. Si se puede implementar registros “append-only” (sólo anexar) con estructuras de datos que proporcionen autenticación criptográfica de entradas de registro, esto podría funcionar también, especialmente cuando es necesario utilizar estos datos en procedimientos posteriores. Pero esto es sólo el primer nivel. Un atacante aún podría modificar este tipo de registros. Para tomar esta recomendación en serio, se debe implementar un sistema de registro separado, que tenga un acceso muy restringido. Básicamente, otros servicios pueden enviar registros a este sistema, pero nada más. Debe estar en una red completamente separada tan protegida y segura como sea posible. De esa manera, si un atacante ingresa a una máquina y realiza algunas acciones, esas acciones ya quedarán registradas en la máquina remota. Por supuesto, un atacante sofisticado también podría saltar e ingresar al servidor de logs, pero eso es algo significativamente más difícil que simplemente ingresar al primer servidor. De esta manera, se puede proteger y conservar información importante sobre intrusiones de buena parte de los distintos tipos de atacantes.

Segmentación y autorización de la red

Al construir un sistema, es importante pensar detenidamente cuáles son sus diferentes capacidades. Una vez que se sepa esto, se debe considerar qué tan sensibles son cada una de ellas. En base a esto, es probable que se necesite implementar un sistema de autorización en el que diferentes usuarios tengan diferentes accesos a diferentes capacidades. No todo el mundo en la organización debe tener acceso a la misma información, ni poder hacer todas las acciones en el sistema. Pero eso es no es suficiente. También se deben segmentar las capacidades en función de la ubicación. Por ejemplo, si hablamos de una operación extremadamente sensible, y sólo hay tres usuarios que están autorizados para realizarla, es posible que no desee permitirles hacer esa operación desde su teléfono móvil, estando en otra parte del país. Algunas operaciones pueden ser tan sensibles como para asegurarse de que el usuario sólo pueda hacerlas mientras está sentadx frente a una computadora aprobada en la ubicación física de la organización. Otras operaciones pueden ser lo suficientemente sensibles como para querer que el usuario esté en la red, para lo cual estaría bien conectarse usando una VPN para acceder a la red. Y finalmente, algunas operaciones podrían estar lo suficientemente abiertas como para que los usuarios puedan realizarlas desde cualquier lugar.

Este tipo de autorización basada en la ubicación puede ser extremadamente simple de implementar. Si se lo hace correctamente, se podrán detener muchos tipos de ataques. Y lo que es más importante, se podrá proteger la información y operaciones más importantes, incluso si las capacidades que requieren menor seguridad están comprometidas.

Versiones actualizadas

Todo software tiene errores (bugs). Y muchos de estos errores pueden usarse para comprometer un sistema. Este tipo de bugs puede residir en cualquier lugar, incluidas las bibliotecas de terceros que utiliza para crear su propia aplicación. En diciembre de 2021 vimos la cadena catastrófica de vulnerabilidades de los ataques de Log4Shell, que apuntaron a un gran problema en la ampliamente utilizada biblioteca Log4J, que está siendo utilizada literalmente por cientos de miles de proyectos en todo el mundo. Todos los años se están descubriendo errores de seguridad en casi todo el software que nos rodea. Por esta razón, es de suma importancia que se mantenga actualizado todo el software que se tiene en uso. Eso incluye bibliotecas utilizadas dentro de aplicaciones creadas a la medida, pero también significa usar versiones actualizadas de sistemas operativos, herramientas de análisis y cualquier otro software.

Como ejemplo, parece que un sitio web público de la policía ecuatoriana (https://mail.policia.gob.ec/) está usando el software de código abierto Zimbra. Sin embargo, mirando la declaración de derechos de autor, parece ser que esta versión de Zimbra no se ha actualizado desde 2017. En la base de datos pública de CVE se puede ver que Zimbra ha tenido al menos 15 problemas de seguridad importantes desde 2017.

Mantengan su software actualizado. Esto puede ser costoso, pero el no hacerlo es significativamente peor.

Apoyo de los líderes

La seguridad tiene que ser una preocupación de primer nivel para una organización. No hay alternativa – en especial para organizaciones y organismos que forman parte de las áreas críticas de un gobierno. Pero a veces es difícil comunicar esto a los líderes de la organización. A menudo tienen muchas preocupaciones diferentes, y la seguridad a menudo puede parecer un desperdicio de dinero. Un aspecto desafortunado de la seguridad es que cuando se hace bien, no se verán los resultados. Es únicamente cuando algo sale mal que se nota la falta de seguridad. Esto significa que a menudo es difícil justificar el aumento en el costo de la seguridad. Pero aquí es donde un líder debe brindar todo su apoyo a su equipo de seguridad. Con el fin de implementar una seguridad adecuada, será necesario realizar inversiones. Y esto seguirá ocurriendo: el campo de la seguridad es un tema en permanente evolución. El estado del arte continuará mejorando

Por estas razones, es absolutamente imperativo que el liderazgo de una organización o agencia comprenda lo importante que es la seguridad, y que también brinde todo el apoyo a su equipo de seguridad. Necesitan ser lo suficientemente fuertes para comprender que una inversión ahora conducirá a un menor riesgo de ataques costosos más adelante.

Responsabilidad pública

Cuando ocurre un incidente de seguridad, la mayoría de las personas tienen una preferencia muy fuerte por tratar de mantenerlo en secreto. Esta reacción instintiva necesita ser combatida. La única forma en que nosotros, como sociedad, mejoraremos en temas de seguridad es compartiendo nuestro conocimiento sobre lo que ha sucedido y cómo podemos hacerlo mejor en el futuro. Lo que es peor, las instituciones públicas pierden la confianza de los ciudadanos cuando mienten repetidamente o intentan evitar hablar de algo que sucedió. A menudo, los efectos de esto conducirán a una especulación generalizada, y el daño a la reputación en realidad podría ser peor. La credibilidad a futuro también se dañará. Esto es importante cuando se trata de cualquier tema relacionado con datos personales. Pero podría ser aún más crucial cuando guarda relación con el sistema de justicia y la aplicación de la ley. Estas áreas de un gobierno tienen un poder tan extremo sobre la vida de las personas, que cualquier signo de evasividad o falta de claridad se convertirá rápidamente en una mancha permanente, haciendo que la aplicación de la justicia sea menos efectiva.

Cuando ocurre un incidente, las instituciones públicas tienen la obligación de rendir cuentas públicamente. Tienen que describir lo que sucedido con suficiente detalle para que la población comprenda los riesgos involucrados y las razones por las cuales esto sucedió. Y finalmente, en este tipo de post-mortem, es muy importante describir también cómo la organización actuará mejor en el futuro, para evitar este tipo de incidentes.. Esta información tiene que ser entregada de forma clara, sencilla y oportuna. Los funcionarios públicos deben estar disponibles para discutir el incidente con los medios de comunicación de manera abierta y receptiva. Es extremadamente importante que las diferentes comunicaciones no se contradigan entre sí - esto, una vez más, da a la impresión de que se está mintiendo y que existe posible corrupción.

Resumen

La seguridad adecuada es un proyecto de toda la vida. Pero los conceptos básicos se pueden poner en marcha sorprendentemente rápido y son la base para contramedidas más avanzadas. Los consejos esbozados en este artículo son principalmente el tipo de medidas que creemos que son absolutamente esenciales para las agencias gubernamentales críticas. Si trabaja en ese tipo de ambiente, y usted no tiene alguna o ninguna de las medidas anteriormente mencionadas, le recomendamos que intente presionar urgentemente para implementarlas. Pues sin esto, su organización estará como el queso suizo, llena de agujeros.