A lo largo de nuestra historia se han encontrado innumerables casos en los que la principal medida de seguridad fuera la oscuridad, es decir, la ocultación de los recursos o la información de la vista y/o acceso público.
Pasadizos secretos en castillos, valores escondidos adentro de jarrones o libros ahuecados, bases militares bajo subsuelos, etc…
No logro evitar preguntarme: Es realmente la mejor de las medidas?
La práctica cotidiana dice que los pasadizos secretos no tienen ningún control de acceso, los jarrones con valores escondidos no tienen llave, y los vehículos que llegan a las bases militares bajo subsuelos suelen circular y estacionar en “planta baja”, divulgando sus movimientos.
No me malinterpreten, la oscuridad es un gran método para imponer seguridad. No es casualidad que dicha técnica haya trascendido por milenios. Mi duda apunta al nivel de efectividad de la seguridad total de un entorno si su única medida es la oscuridad.
Yo, si fuera rey, no me sentiría para nada seguro si lo único que frenara a un atacante de llegar a mis reales aposentos fuera un simple pasadizo secreto sin control de acceso ni guardia (como hemos visto en miles de libros y películas).
Porqué no puede haber un guardia también en este pasadizo secreto? Hmmm, quizás porque en esa situación ya no sería “secreto”.
Hablemos ahora un poco de la actualidad. Listemos algunos de los items mas discutidos sobre seguridad informática:
- Criptografía: Hace muchos años ya que los criptoanalistas se dieron cuenta que la oscuridad en los algoritmos no era el método mas efectivo de brindar seguridad. Es por eso que los algoritmos se abrieron y ahora centralizan su seguridad únicamente en la clave.
Ahora, eso significa que si yo armara un algoritmo propio y NO divulgara su código, sería menos seguro? Para nada, de hecho estoy considerando hacerlo
. Simplemente los grosos de la materia decidieron cambiar la postura en cuanto a los conceptos de seguridad en un algoritmo de encriptación.
Y todos los developers/admins/infosec officers les agradecemos mucho su decisión, ya que gracias a su divulgación todos podemos implementar dichos algoritmos en nuestras aplicaciones, internamente.
- Redes sociales: Lo repito hasta el cansancio en clase, en clientes y hasta en una cena con amigos.
Muchos se vanaglorian al decir “no, yo no tengo usuario en Facebook”. Es esa una buena decisión? No estamos facilitando el trabajo de un falsificador o ladrón de identidades, al no tener una base “informáticamente tangible” sobre nuestro perfil? Que mas fácil de falsificar que algo que no se conoce públicamente?Imaginen la siguiente situación: Un supuesto arqueólogo va a un coleccionista y le dice “mira, tengo el santo grial en mi posesión, lo desenterré de una tumba en marruecos”. Mas allá del escepticismo, el coleccionista jamás va a poder asegurarse rotundamente que la afirmación del arqueólogo sea falsa.Ahora, imaginen la siguiente situación: “Un contrabandista va a un coleccionista y le dice “mira, tengo la Mona Lisa, me la robé del Louvre”. Acto seguido, el coleccionista hace un llamado al museo y dice “Hola, tienen la Mona Lisa por ahí? – Si señor, la tenemos en display”. Y la misión del contrabandista de vender una falsificación no tiene éxito.
Al existir un perfil nuestro real en las redes sociales, dificultamos el trabajo del atacante de robarnos la identidad. Pero por favor, pónganle un password complejo al usuario de Facebook!
Paralelamente, los invito a preguntarse lo siguiente (a aquellos que no tienen usuario en Facebook): Tan grave es pertenecer a dicha red social, si se puede mantener un perfil acotado, simple, sobrio, profesional y que no divulge información realmente importante?
- Perímetro de Red: Configurar servicios para que NO trabajen en los puertos standard es una muy buena práctica.Pero que pasa, del lado del atacante, si se escanea un perímetro y se encuentran 5 puertos abiertos? El atacante tendrá un tiempo X de análisis mas invasivo para averiguar que servicios hay detrás de esos puertos.Qué pasa si abrimos 30000 puertos en un perímetro? El cálculo del tiempo de análisis no es exactamente X * 30000 (es un poco menos de tiempo en realidad), pero igualmente estaríamos dificultando significativamente el trabajo del atacante. Lo único que hay que hacer es securizar correctamente dichos puertos/servicios, y listo.Tener 30000 puertos abiertos, de los cuales 5 apunten a servicios reales (en puertos NO standard) y el resto apunte a una simple honeypot (o a donde sea), me resulta mas seguro que tener visible públicamente sólo lo que realmente existe y funciona.
Para resumir, en mi opinión es mejor mostrarse de manera segura, que ocultarse y sentirse seguro.
Prefiero invertir en una caja fuerte de seguridad nivel 10 y dejarla apoyada en el medio del pasillo, que comprar una caja de seguridad nivel 8 y ocultarla atras de un cuadro.
Prefiero tener un perfil en Facebook, asegurarlo y no divulgar información realmente confidencial, que NO tenerlo y que alguien pueda crearlo a nombre mío.
Prefiero que un escaneo de puertos a mi perímetro arroje un resultado de cientos de puertos abiertos con un nivel de efectividad del 10% , antes que obtener 4-5 puertos con una efectividad del 100%
Y miles de etcéteras.
Hay una única respuesta? No lo se. Siéntanse libres de opinar (y/o criticar) después de leer.