Bueno en esta sesión vamos a empezar hablando por varios temas y empezamos por la arquitectura segura
de un hardware.
Entonces tenemos varios mecanismos de protección de memoria como por ejemplo el aislamiento de procesos.
Este es un control lógico que intenta prevenir que un proceso se interfiera con otro.
Esto es especialmente importante porque en aplicaciones vulnerables al ataque de buffer overflow lo
que pasa es que de repente el programa es vulnerable se está ejecutando con permisos normales o permisos
de usuario pero el programa al cual saltamos o al cual nos movemos puede que sí sea este ejecutándose
con permisos de administrador.
Entonces ahí tendríamos un gran problema y es ahí donde el aislamiento de los procesos entra a jugar
a nuestro favor pero luego tenemos la segmentación del hardware que toma que toma el aislamiento del
proceso un paso más adelante un paso más profundo digámoslo así y lo que hace es mapear los procesos
a explicit a lugares específicos dentro de la memoria.
Luego tenemos la memoria virtual que provee un mapeo de la misma área de la memoria virtual valga la
redundancia entre aplicaciones y la memoria de hardware la memoria física como tal.
Aquí hay un truco que utilizan las computadoras que es hacerle pensar al programa que es dueño y señor
de toda la memoria toda la memoria física.
Obviamente sin embargo lo único que le está dando es poder absoluto sobre el espacio de memoria virtual.
Esto previene que el programa muchas veces Cavallé que el programa intente hacerse de más recursos que
el programa intente gobernar el procesador o los ciclos del procesador.
Hay muchas ventajas de utilizar memoria virtual entre ellas las que les acabo de mencionar.
Luego tenemos Shopping que es básicamente aprovecharse de una memoria secundaria cuando la memoria primaria
está quedándose sin recursos digámoslo así por ejemplo si nosotros tenemos 4 gigas de ram que hoy en
día es muy poco o tenemos 16 32 64 lo que sea pero nos estamos quedando sin esa memoria lo que hace
el zapping es ir a disco duro para poner ciertos procesos que están o no se están usando o están Eudald
como como se les conoce para poder aprovechar la memoria activa en programas que sí estén utilizando
Orda.
Entonces va por ejemplo al disco duro en este caso y por eso es que vemos que hay un gran cambio en
el performance de cualquier máquina cuando se pasa de un disco duro rotacional a un disco duro estado
sólido.
Luego tenemos una técnica que se llama Data Execution Prevention que se puede habilitar a nivel de software
o a nivel de hardware y lo que intenta es prevenir que la ejecución de código en locaciones específicas
de la memoria por ejemplo décimos en este pedazo de memoria no se pueda ejecutar nada sólo se va a poder
leer y escribir.
Entonces esto podríamos hacerlo en un intento de guardar no se dlls o programas específicos que solo
van a ayudar a que el sistema operativo funcione pero no van a ser ejecutados nunca.
Luego tenemos creo que el más famoso o el que más ayuda en estos mecanismos de protección de memoria
que se llama address space location Randa my section Varda o a SLR.
Lo que busca este mecanismo de protección es hacer un exploit mucho más difícil un exploit de buffer
overflow.
Si ustedes no saben mucho cómo funciona el Bósforo y quisieran saber cómo funciona quisieran saber cómo
ejecutar un programa como crear un programa cómo explotar una vulnerabilidad de buffer overflow podrían
ir a nuestro a nuestro otro curso de pruebas de penetración donde damos un excelente detalle cómo poder
crear desde cero un exploit de Buffer Olfo.
Pero básicamente lo que busca el agro es Espais en Ruanda Mysterium es hacer mucho más difícil que se
pueda ejecutar un ataque de buffer overflow porque entonces un programa muchas veces es cargado por
la mayoría de veces o todas las veces es cargado en direcciones de memoria distintos lo cual hace que
otra vez el exploit buffer overflow sea mucho más fácil y mucho más difícil de ejecutarse.
Luego tenemos el Trusted plataforma TPM el módulo de plataforma segura o confiada que es un chip que
se encuentra dentro del procesador y provee seguridad adicional a nivel de hardware.
Ahora bien no todos los fabricantes están incluyendo estos chips TPM pero la adopción de esta tecnología
está cada vez más y más adoptada por el nivel de seguridad que provee el TPM que comúnmente se encuentra
en la tarjeta madre nos permite que podamos hacer operaciones de criptografía a nivel de hardware.
Esto no sólo lo va a hacer más rápido sino que podríamos utilizar tamaños de llave y algoritmos mucho
más seguros que si lo hacemos únicamente a nivel de software.
Por ejemplo podríamos utilizar llaves simétricas asimétricas otra vez si les estoy hablando ahorita
un poco y no entienden de criptografía.
No se preocupen lo que quiero es que entiendan ahorita mismo el concepto de TPM y más adelante entenderán
el concepto de criptografía cuando tengamos en frente este módulo o esa clase que vamos a estar impartiendo.
Entonces el TPM nos ayuda eso Orda en entre otras cosas también guardar las llaves.
Vamos a verlo más adelante pero si si bien es necesario utilizar un algoritmo de criptografía muy bueno
y un tamaño muy grande creo que la parte más importante de la criptografía es cómo guardar la llave
primaria.
Si yo pierdo la llave primaria o no la sé guardar bien no me sirve absolutamente nada.
Tener un algoritmo muy bueno y un tamaño es muy bueno.
Entonces el TPM también nos ayuda a guardar las llaves de verdad y nos da también asegurar asegurarnos
que a la hora de iniciar una máquina voladora de botear como se lo conoce también hoy existe integridad
tengamos integridad para poder botear o iniciar una máquina es decir si este programa ya dije que se
iba a ejecutar se va a ejecutar si este programa no se va a ejecutar no se ejecuta.
Si este programa Cambio de la última ejecución no lo voy a ejecutar y prefiero fallar de forma segura
que operar de forma insegura.
Entonces este es el TPM ahora tenemos el kernel que provee la interfaz entre el hardware y el resto
del sistema operativo básicamente y una función muy importante del kernel es el Reference monitor o
monitor de referencia que es como el mediador o el que se siente en medio de todos los accesos entre
los sujetos en este caso un programa a la persona el usuario etcétera etcétera la aplicación y el objeto.
Una base de datos un DLL una librería etcétera etcétera es el programa que se siente en medio del Reference
Monitor.
Entonces al sentarse en medio es el que en en Forza o obliga o se mira que se cumplen las reglas que
el sistema o las políticas hayan definido para prevenir el uso de escritura ejecución que no sean parte
de la forma normal de actuar de algún programa o de los permisos que tenga este programa.
Ahora tenemos la virtualización y la computación distribuida la virtualización pues añade una capa de
software entre el sistema operativo y el hardware que está utilizando la computadora.
Esto permite que multi múltiples gastos como se les conoce o invitados verdad sistemas operativos invitados
o sistemas operativos guests.
Otra vez perdón.
A veces utilizo términos en inglés pero así es como los van a encontrar incluso en libros en español
entonces estoy tratando de darles tal vez un poquito el tema en español y también en las palabras en
inglés que posiblemente se van a encontrar entonces permite que múltiples sistemas operativos guests
o invitados corran simultáneamente en un solo sistema operativo físico o un OS un sistema operativo
anfitrión verdad.
La llave para la virtualización es el hypervisor hypervisor que controla el acceso entre el sistema
operativo invitado y el sistema operativo host anfitrión.
Ahora bien este es un gran problema porque si nosotros decimos bueno tengo un sistema operativo pero
voy a hacer X Y Z actividad acá sin el hypervisor no está bien configurado no está bien hecho.
Podríamos tener problemas donde por ejemplo en la nube esto sería un gran problema en la nube porque
si yo tengo como prohibiese el proveedor de nube sentémonos en él en la posición de proveedor de nube
ahorita ya tengo mi cliente Abeceb de Iceta.
Entonces yo tengo una máquina virtual para cada uno y ellos están completamente separados.
Sin embargo están compartiendo el mismo sistema operativo o físico.
Si yo tengo un problema con un hipervisor y un atacante valga la redundancia ataca una de las máquinas
y puede saltárselas a la siguiente máquina.
Tendríamos un gran problema o no un atacante necesariamente algún programa del cliente a que se salte
ya sea consciente o inconscientemente hacia o hacia otro sistema operativo porque el hipervisor estaba
mal configurado.
Hay un gran problema.
Hablando de la nube es algo muy básico.
Tenemos tres tipos de nube nube como infraestructura o servicio e infraestructura como servicio plataforma
como servicio y software como servicio creo que esas son las las tres más básicas y que ya vienen pues
ya tienen un buen tiempo están en el mercado.
Sin embargo creo que hoy en día tenemos X como servicio.
Qué significa X como servicio X.
As a service lo que significa es que básicamente podemos proveer cualquier cosa como servicio enteramente
plataforma software o infraestructura.
He visto personas incluso llamándoles CISO Copasa Service.
Qué significa esto que contratan a una persona la preparan la ponen la lean estudios etc. la convierten
en un CISO y le dicen empresa a veces hasta que no tienen el presupuesto para pagar un CISO o la infraestructura
o la madurez para entrenarlo y le dicen Bueno aquí está el CISO yo te lo presto y eso se convierte en
un CISO as a Service.
Entonces qué podemos tener.
As a Service ahora básicamente cualquier cosa podemos tener hasta Service Varda.
Luego tenemos width con peering o computadora en Hungría si se permite la traducción literal de esto
recompusieron lo que intenta es apalancarse y utilizar los recursos computacionales de un gran número
de dispositivos no similares es decir yo si yo necesito performance porque estoy haciendo x recetaban
con este tema de cloud computing lo que podría hacer es utilizar mi consola de videojuegos utilizar
mi computadora utilizar mi tableta o utilizar mi teléfono utilizar X Z.
Los asistentes inteligentes de la casa utilizar cualquier cosa para poder utilizar ese poder computacional
que tiene cada uno y utilizarlo como si fuera uno mismo iguano la tarea que está ejecutando pues va
a tener muchos recursos de donde poder echar mano gorda.
Y por último tenemos las redes peer to peer to peer to peer Networks que alteran el clásico cliente
servidor modelo cliente servidor que teníamos y que cualquier sistema podría actuar como cliente como
servidor o ambos dependiendo de las necesidades de la data verdad.
Por ejemplo yo sé que tal vez ustedes no están tan avanzados de edad como yo lo puedo estar pero anteriormente
teníamos LimeWire o Ares verdad donde si bien podríamos utilizar programas que descargamos 99 por ciento
de virus y un porciento de ese 1 por ciento era el programa que teníamos que descargar.
Entonces estas redes puede que sean buenas.
Cuando hablamos de Grid compiten porque pueden que los servidores de las computadoras se puedan comunicar
comunicar entre sí pero cuando ya lo ponemos a través del internet con dispositivos no confiados pues
se puede volver un gran problema de seguridad.
Y bueno esto es todo por hoy.
Espero les haya gustado y nos vemos muy pronto.