Está en la página 1de 11

POLICÍA NACIONAL DEL PERÚ

DIRECCION NACIONAL DE INVESTIGACION


CRIMINAL

CURSO
MAQUINAS VIRTUALES
CATEDRÁTICO
DR. ALVAREZ TORRES ELVIS MAXIMO

PERSONAL PNP
SB PNP CORTEZ SEMINARIO Daniel

Nº. ORDEN

01.

2022
Políticas de Seguridad Centralizadas Para Maquinas Virtuales

INTRODUCCIÓN

Recientemente, la virtualización ha surgido como uno de los tópicos más


candentes en el área de sistemas computacionales, acercando la atención de los sectores
industriales y de la academia. Hay varios sistemas de virtualización disponibles, desde
soluciones comerciales tal como VMware o Microsoft Virtual PC a soluciones libres
como UML (User Mode Linux), Open VZ, Vserver, KVM (Kemel-based Virtual
Machine) y Xen. Para tratar los problemas de Control de Acceso Discrecional (CAD),
es necesario eliminarlos y emplear CAO. Con CAO un usuario malicioso (o código
malicioso) no podrá abusar de recursos para un propósito distinto al que especifica el
sistema. Dado que el Control de Acceso Obligatorio (CAO) solamente puede ser
cambiado por el administrador del sistema, el código dañino no podrá modificar la
política sin la aprobación del sistema. CAO puede detener o mitigar de manera eficiente
daños a la seguridad; sin embargo, dada la complejidad de implementación muchos
administradores escogen deshabilitar CAO y regresar a CAD. Los sistemas con
máquinas virtuales enfrentan un problema mayor cuando se desean implementar
Controles de Acceso Obligatorios (CAO) : los esquemas actuales no cubren CAO en el
ambiente de las Máquinas Virtuales (MV). Un sistema con múltiples máquinas virtuales
necesita contar con múltiples políticas de seguridad, y cada una de estas políticas deben
ser administradas de manera separada en cada huésped virtual. Cuando el administrador
necesita actualizar las políticas de seguridad de un huésped especificado, debe firmarse
en ese huésped y realizar el trabajo. Cuando un administrador necesita actualizar las
políticas de seguridad para un servidor en particular, debe firmarse a ese equipo para
llevar a cabo la tarea. Como resultado, el administrar múltiples máquinas con cientos o
miles de máquinas virtuales es una actividad complicada que consume mucho tiempo,
especialmente si cada máquina virtual emplea diferentes políticas. Claramente, se
necesitan métodos más eficientes y flexibles para resolver este problema. 12 está tesis
propone el diseño de una arquitectura para la centralización de políticas CAO en
ambientes virtuales llamada Políticas de Seguridad Centralizadas para Máquinas
Virtuales (PSCMV); mediante la implementación de Controles de Acceso Obligatorio
en equipos virtuales (CAOV); de tal forma que la administración de políticas CAO se
realice de manera sencilla y flexible desde un equipo central. En lugar de tener las
políticas de seguridad dentro de cada máquina virtual, PSCMV mueve las políticas de
seguridad fuera de las máquinas virtuales, y las pone en una máquina central. Esta
estrategia permite a los administradores administrar las políticas de seguridad de todas
las máquinas virtuales desde una máquina virtual administrativa. Como resultado, el
actualizar el CAO de las máquinas virtuales resulta ser más fácil, dado que puede ser
realizado desde un lugar central. El resto del documento se organiza como se describe a

2
continuación. El capítulo 2, Ambientes de Virtualización hace una revisión de los
niveles de abstracción, estrategias de virtualización y al final presenta las plataformas de
virtualización disponibles. En el capítulo 3, Seguridad en Ambientes Virtuales presenta
el estado actual de la cuestión, haciendo una revisión de las arquitecturas de seguridad
propuestas para ambientes virtuales. Se presentan los trabajos relacionados en cuanto a
seguridad obligatoria en equipos aislados, así como en ambientes virtuales. Al final de
este capítulo se describe la solución propuesta. El capítulo 4, Diseño de la Arquitectura
PSCMV, describe la arquitectura llamada Políticas de Seguridad Centralizadas para
Máquinas Virtuales VMware. En el capítulo 5, Implementación de la Arquitectura
PSCMV se detallan todos los aspectos técnicos requeridos para la implementación de la
arquitectura. Las Pruebas a la arquitectura son presentadas en el capítulo 6, tres
máquinas virtuales son utilizadas para la realización de las pruebas; una máquina virtual
es utilizada como modo maestro y dos son utilizadas como huéspedes virtuales.

VIRTUALIZACIÓN

Virtualización es una tecnología que combina o divide los recursos de cómputo


para presentar uno o varios sistemas operativos empleando metodologías como
particionamiento o agregación a nivel hardware y software, simulación parcial o
completa de una máquina, emulación, tiempo compartido y muchas otras, La
virtualización y el aislamiento permite muchos ambientes virtuales dentro del mismo
kernel. Mediante el subsistema de administración de recursos se limitan los recursos tal
como el CPU, RAM y espacio en disco por ambiente virtual. Virtualización se refiere a
las tecnologías diseñadas para proveer una capa de abstracción entre el hardware de las
computadoras y el software que se está ejecutando en ellas. Al proveer una vista lógica
de los recursos de cómputo, en vez de una vista física, las soluciones de virtualización
hacen posible el realizar cosas muy útiles: para hacer creer al sistema operativo que un
grupo de servidores es un conjunto de recursos de cómputo. Lo cual permite la
ejecución de múltiples sistemas operativos en una misma máquina. La virtualización
tiene sus raíces en la división de un servidor físico en múltiples servidores lógicos. La
virtualización está cambiando la forma en la que los recursos son desplegados y
administrados, simplificando y acelerando la respuesta de Tecnología de la Información
a los ambientes de negocios. Se reducen los costos administrativos de TI al ejecutar
múltiples aplicaciones y sistemas operativos de manera independiente en un solo
servidor físico. La virtualización no solo brinda la habilidad de administrar el hardware
más eficientemente, pero también permite tratar el software que se ejecuta de manera
diferente. A veces recientes en el hardware y software han contribuido a mejorar el
rendimiento asociado con las máquinas virtuales. En el futuro cercano todas las nuevas
máquinas tendrán capacidades embebidas de virtualización en su firmware.
Actualmente la sobrecarga en los equipos virtuales va desde un pequeño porcentaje
hasta un 20%, un valor que depende de varios factores, incluyendo como el hypervisor
es implementado y si el sistema operativo que aloja al equipo virtual sabe que está
siendo virtualizado En adición al aspecto del rendimiento, queda todavía el aspecto de
administración en los centros de datos y en cualquier otro lado. Para la siguiente
generación de máquinas virtuales, cada gran compañía de software estará trabajando en
herramientas de administración comprensiva. El objetivo, es lidiar con un numero

3
masivo de máquinas virtuales y efectivamente tomar decisiones de optimización
globales para miles de equipos virtuales corriendo en un centro de datos. Herramientas
de administración sofisticadas serán esencial en el futuro cercano. El significado
original de una máquina virtual de sistema operativo, también conocida como máquina
virtual de hardware, es que varios ambientes idénticos de ejecución son ejecutados en
un equipo físico. el software que proporciona esta habilidad frecuentemente se le refiere
como hypervisor o monitor de la máquina virtual (MMV).

NIVELES DE ABSTRACCIÓN.

Conceptualmente una máquina virtual representa un ambiente de operación


para un conjunto de aplicaciones a nivel usuario, lo cual incluye librerías, interfaz de
llamadas al sistema, configuraciones del sistema, procesos de tipo Daemon y el estado
del sistema de archivos. Hay varios niveles de abstracción en los ambientes de
virtualización: a nivel conjunto de instrucciones (lnstruction set architecture - ISA),
abstracción a nivel hardware (hardware abstracción /ayer - HAL), a nivel sistema
operativo (SO), a nivel librerías o a nivel aplicación [22]. No importando el nivel de
abstracción, se dividen los recursos de bajo nivel empleando alguna técnica novedosa
para mapear hacia múltiples MVs de manera transparente. La virtualización a nivel ISA
trata sobre la emulación del conjunto de instrucciones. La emulación es la técnica de
interpretar las instrucciones por software. Por ejemplo, un emulador x86 en un
procesador Sparc puede ejecutar cualquier aplicación x86, dando la ilusión de que la
aplicación se está ejecutando en un procesador x86. Para lograr esto, el emulador debe
ser capaz de traducir el ISA del huésped (x86) al ISA del anfitrión (Sparc ). La
funcionalidad y nivel de abstracción de un nivel HAL reside entre una máquina física y
un emulador. Una máquina virtual es un ambiente creado por un MMV, lo cual es el
software de virtualización entre el hardware y el SO y da al SO una vista virtualizada de
todo el hardware. Un MMV puede crear múltiples máquinas virtuales (MVs) en un solo
equipo físico. Mientras que un emulador proporciona una capa completa entre el
sistema operativo o aplicaciones y el hardware. Una MMV administra una o más MVs
en donde cada MV proporciona facilidades a un SO o aplicación para hacerle creer que
se está ejecutando en un ambiente normal y directamente sobre el hardware. La
virtualización a nivel SO trabaja encima o como un módulo del SO para proveer una
interfaz virtualizada de llamadas al sistema. Dado que la invocación de llamadas al
sistema es la única forma de comunicación entre el espacio del usuario y el espacio del
kernel, debe ser posible para el software de virtualización controlar totalmente lo que
pueden realizar los procesos del espacio del usuario al administrar esta interfaz. la
mayoría de las aplicaciones emplean los APis exportados por librerías a nivel usuario en
vez de llamadas directas al sistema para la implementación de su lógica. Dado que la
mayoría de los sistemas proveen APis bien documentados y formas bien definidas de
engancharlos, tal interfaz resulta ser otro candidato para la virtualización. La
virtualización a nivel interfaz de librería es posible al controlar la liga de comunicación
entre las aplicaciones y el resto del sistema por medio de los ganchos (hooks) de los
APis. Esto puede, a su vez, exponer una implementación diferente al mismo tiempo

4
utilizando el mismo conjunto de APls y aún así tener un sistema en ejecución. La
virtualización a nivel aplicación es un poco diferente. No se trata solamente de insertar
la capa de virtualización en medio; en vez de eso, se implementa una capa de
virtualización que eventualmente creará una máquina virtual. La MV creada podría ser
tan simple como un intérprete de lenguaje o tan complejo como un NM (Java Virtual
Machine). Todas estas tecnologías de virtualización difieren significativamente en
términos de rendimiento, flexibilidad, facilidad de uso, consumo de recursos y
escalabilidad; de ahí, difieren en los escenarios de uso también.

ESTRATEGÍAS DE VIRTUALIZACIÓN.

En cuanto a las estrategias principales de virtualización que están en uso para


ambientes productivos de cómputo, se encuentran: la Virtualización Completa. Llamada
algunas veces emulación de hardware. En este caso un sistema operativo no modificado
es ejecutado empleando un hypervisor para traducir/ejecutar instrucciones privilegiadas
al vuelo. Debido a que el interceptar instrucciones privilegiadas puede llevar a
penalizaciones de rendimiento, estrategias novedosas son utilizadas para agregar
múltiples instrucciones y traducirlas de manera simultánea. Otras mejoras, tal como la
traducción binaria, puede mejorar el rendimiento al reducir la necesidad de traducir
estas instrucciones en el futuro. Para la virtualización también se emplea un
hypervisor, y también emplea el termino máquina virtual para referirse a sus sistemas
operativos virtualizados. Esto permite a las MVs coordinarse con el hypervisor,
reduciendo el uso de instrucciones privilegiadas que son típicamente responsable de la
mayoría de penalizaciones de rendimiento en la virtualización completa. Debido a la
administración de recursos existe en la forma de asignación de memoria, y asignación
de CPU. La ventaja es que las máquinas virtuales típicamente superan el rendimiento de
las máquinas virtuales con virtualización completa. La desventaja, sin embargo, es la
necesidad de modificar la máquina virtual/sistema operativo para ser consciente del ·
hypervisor. Esto tiene implicaciones para sistemas operativos sin código fuente
disponible. Virtualización a nivel Sistema Operativo. A diferencia de la virtualización
en nivel de sistema operativo no se basa en un hypervisor. En vez de eso, el sistema
operativo es modificado para aislar de manera segura múltiples instancias de sistema
operativo dentro de un solo equipo físico. Las instancias huésped de los sistemas
operativos se conocen frecuentemente como servidores privados virtuales (SPV). La
ventaja de la virtualización a nivel sistema operativo es el rendimiento. La desventaja
principal es que todas las instancias de SPV comparten un solo kernel. Así, si el kernel
falla o se compromete, todas las instancias SPV también se comprometerán. Sin
embargo, el tener una sola instancia de kernel tiene la ventaja de que se consumen
menos recursos debido a la sobrecarga del sistema operativo de múltiples kernel.

PLATAFORMAS DE VIRTUALIZACIÓN.

VMware es actualmente el líder del mercado en cuanto a tecnología


de virtualización. incluye tanto Virtualización Completa como Virtualización Nativa,
así como soporte limitado SMP. VMware opera encima de los sistemas operativos

5
Linux y Windows. VMWare Server soporta Tres tipos de conectividad: bridged
networking, NAT networking y hostonly networking. Bridged networking permite que
múltiples máquinas virtuales actúen como si fueran servidores distintos, en donde a
cada máquina virtual se le asigna una dirección IP diferente. NAT networking permite a
las máquinas virtuales comunicarse empleando la misma dirección IP. Host-only
networking puede ser utilizado para permitir que las máquinas virtuales se comuniquen
directamente con el servidor (que las aloja) sin la necesidad de una interfaz de red
verdadera. VMware Server se instala y se ejecuta como una aplicación encima de un
sistema operativo anfitrión Windows o Linux. Una capa delgada de virtualización
divide al servidor físico de tal manera que múltiples máquinas virtuales puedan ser
ejecutadas de manera simultánea en un mismo servidor. Los recursos de cómputo del
servidor físico son tratados como un conjunto de recursos uniforme que puede ser
asignado a una máquina virtual de una manera controlada. VMWare server aísla cada
máquina virtual de su anfitrión, así como las otras máquinas virtuales, dejándola sin
afectación en caso de que otra máquina virtual crashes. No hay fugas de datos entre las
máquinas virtuales y las aplicaciones solamente se pueden comunicar a través de
conexiones de red configuradas. VMware Server encapsula un ambiente de máquinas
virtuales como un conjunto de archivos, los cuales son fácil de respaldar, mover y
copiar. La versión 2 de VMWare Server soporta los siguientes sistemas operativos:
Windows Server 2008, Windows Vista Business Edición y Ultimate Editionm Red Hat
Enterprise Linux 5 y Ubuntu 8.0.4; incluyendo soporte en modo para virtualizado en
ciertas distribuciones de Linux la versión 2 de VMware también tiene soporte a sistemas
operativos de 64 bits: Utiliza sistemas operativos huésped de 64 bits en hardware de 64
bits para permitir soluciones de cómputo más escalables y con mejor rendimiento.
También soporta contextos de seguridad para una aplicación dada. Una aplicación
puede cambiar su contexto de seguridad durante el curso de su ejecución. SELinux
ofrece la solución más segura y ha sido incluida en el kernel de Linux durante los
últimos años. Desafortunadamente, a pesar de que está disponible en todos los sistemas
operativos Linux, SELinux es muy complicado de administrar: usualmente se requiere
de un experto para desarrollar políticas SELinux. Por lo que muchas veces se
recomienda que se deshabilite SELinux para usuarios no expertos, lo cual
eventualmente puede comprometer su sistema a vulnerabilidades. Muchas personas
preferirían tener sus equipos sin tanta complejidad a pesar de no tener tanta seguridad.
Lo que hoy día sigue siendo una pesadilla para los desarrolladores de SELinux: como
hacer que un sistema sea seguro, pero al mismo tiempo fácil de utilizar por todos los
usuarios. El expresar y el implementar un modelo simple de Base de Computo Segura
en SELinux es muy difícil debido a las interdependencias entre procesos [13]. En
contraste a SELinux, Trustees, AppArmor y LIDS son muy fáciles de administrar, aún
para aquellos administradores que son nuevos en estos esquemas. Con el objetivo de ser
una solución CAO fácil de utilizar, AppArmor implementa sus políticas en aplicaciones
seleccionadas (contrario a SELinux que implementa sus políticas de manera global al
sistema). La política de AppAnnor está basada en en rutas de sistema operativo y
pueden ser declaradas de forma amigable en archivos de políticas. Originalmente un
proyecto llamado Subdomain desarrollado por una compañía llamada Immunix,
AppArmor ha sido adquirido por Novell y publicado bajo la licencia de código abierto
GPL. Al momento, AppArmor atrae a un grupo de desarrolladores de código abierto los
cuales están trabajando en un proyecto en el kernel de Linux como una alternativa a

6
SELinux. UDS adopta un enfoque similar al de AppArmor, pero de forma invertida:
mientras que AppArmor pone las políticas encima de las aplicaciones, en el cual la
política declara cuales archivos y que modos una aplicación en específico puede
acceder, UDS declara que aplicaciones pueden acceder un archivo en específico.
Subsecuente, mientras que LIDS parece estar más enfocado a proteger los datos en el
sistema de archivos, AppArmor pone más atención en prevenir que las aplicaciones
dañen el sistema de archivos. Otra diferencia es que LIDS tiene como objetivo el de
proveer protección a lo ancho del sistema, mientras que AppArmor solamente trata de
proteger aplicaciones críticas, la mayor parte son servicios de red. Es por eso que
AppArmor ha sido muy criticado por la comunidad de seguridad: si una aplicación local
no protegida se compromete, el atacante le puede sacar provecho para atacar un equipo
protegido, y comprometerlo fácilmente. AppArmor en una implementación CAO para
Linux también utilizando LSM . SOLUCIÓN PROPUESTA El tamaño y complejidad
de las organizaciones de hoy en día hace casi imposible mantenerse al ritmo del cambio
en cuanto al rubro de seguridad en TI, lo cual requiere una estrategia de arriba hacia
abajo que le de prioridad a los riesgos y acepte las limitaciones de las tecnologías
actuales. Solamente a través de la adopción de políticas de seguridad centralizada de
alto nivel las organizaciones podrán hacer frente a los riesgos de seguridad. En este
desarrollo de tesis se emplea una noción más general de la noc1on de seguridad
obligatoria, en el cual una política de seguridad se considera obligatoria si la definición
de la política y la asignación de atributos de seguridad están controlados por un
administrador del sistema. Este trabajo de tesis propone una arquitectura llamada
Políticas de Seguridad Centralizadas para Máquinas Virtuales (PSCMV) VMWare;
mediante la implementación de Controles de Acceso Obligatorio en Ambientes
Virtuales (CAOV); de tal forma que la administración de políticas CAO se realice de
manera sencilla y flexible desde un huésped virtual administrativo. Como resultado, el
actualizar el CAO para huéspedes virtuales resulta sencillo, dado que se realiza desde
una ubicación central. En el huésped virtual central se cuenta con una base de datos
MySQL en la que se registran las políticas de seguridad .de todos los huéspedes
virtuales. Las políticas son administradas desde el huésped administrativo. El
administrador puede localmente actualizar las políticas de cualquier huésped virtual en
cualquier momento. La comunicación entre los huéspedes virtuales y el huésped virtual
administrativo se realiza mediante la librería de VMware VMCI sockets. Los VMCI
sockets de VMware es un API similar a los sockets de Berkeley {UNIX) y los sockets
de Windows. Los VMCI sockets soportan una comunicación rápida y eficiente entre
máquinas virtuales. La arquitectura propuesta es una combinación de dos ideas: CAO y
virtualización a nivel sistema operativo. Dado que toda la información sobre políticas es
intercambiada entre los huéspedes virtuales y el huésped virtual administrativo vía
VMCI sockets, el proceso incurre en muy poca sobrecarga. La parte de red nunca es
utilizada para intercambiar datos entre los servidores virtuales. Esta estrategia evita que
el tráfico sea analizado, lo cual podría pasar si se utilizará la red para enviar datos.
PSCMV se compone de tres servicios, un repositorio de políticas CAO y un canal de
comunicación de alta velocidad: el servicio de obtención de políticas, llamado SOP en
cada huésped virtual y el servicio de transmisión de políticas de seguridad, llamado STP
en el huésped virtual administrativo. El servicio SOP de cada huésped virtual es
responsable de actualizar localmente las políticas CAO. SOP obtiene sus políticas
actualizadas a partir del servicio STP, el cual está en ejecución.

7
COMPARACION CON OTRAS PROPUESTAS.

En cada huésped virtual que desee centralizar sus políticas de seguridad y ser
administrado por un equipo central debe asignar un área de memoria y compartirla con
el equipo central. Esta memoria es utilizada para intercambiar información: cuando se
recibe una petición del huésped virtual para la política de seguridad, el huésped virtual
administrativo pone la política correspondiente en la memoria compartida y notifica al
huésped virtual para tomarla. Cuando el huésped virtual administrativo quiere ajustar las
políticas de un huésped virtual específico, informará a ese huésped para que se
descarten las políticas anteriores y tomar las nuevas políticas que se depositen en la
memoria compartida. Toda la información acerca de las políticas es intercambiadas vía
la memoria compartida, la red nunca es utilizada para intercambiar información. En
PSCMV las políticas CAO son almacenadas en una base de datos relacional y
transmitidas utilizando un canal de alta velocidad (VMCI sockets). PSCMV se
implementa el esquema de TOMOYO; mientras que se implementa mediante los
esquemas AppArmor, LIDS y Trastees. En PSCMV la platafonna de virtualización
utilizada es VMware, en la platafonna de virtualización es Xen. En se transmiten
registros de control de acceso de los huéspedes virtuales hacía el huésped virtual
administrativo, en PSCMV no se transmiten los registros de control de acceso. En
PSCMV se manejan las ventanas de servicio, el esquema CAO que se utiliza es
SELinux, en PSCMV el esquema utilizado es TOMOYO. DISEÑO DE LA
ARQUITECTURA PSCMV La arquitectura PSCMV está basada en dos paradigmas, la
virtualización a nivel sistema operativo basada en VMWare Server y políticas CAO
(Control de acceso obligatorio). En esta arquitectura la administración de políticas de
seguridad se realiza de manera sencilla y flexible desde un huésped virtual
administrativo. PSCMV está compuesto de cuatro servicios, un repositorio y un canal
de comunicación de alta velocidad: el servicio de planificación, el servicio de obtención
de políticas, llamado SOP en cada huésped virtual; el servicio de transmisión de
políticas de seguridad, llamado STP en el huésped virtual administrativo; el repositorio
de políticas CAO; el servicio de administración del repositorio y el canal de
comunicación de alta velocidad.

SERVICIO DE PLANIFICACIÓN.

Este servicio se inicia en tiempo de arranque del master node y se encuentra en


ejecución en todo momento. El servicio de Planificación se encarga de agendar la
transmisión de políticas CAO al servicio STP. Este servicio realiza las siguientes
operaciones: • Invocación del servicio STP durante las ventanas de tiempo especificadas
por el objeto Windows del repositorio de políticas CAO. La transmisión de políticas
CAO hacia los huéspedes virtuales se lleva a cabo de manera periódica utilizando el
canal de alta velocidad; asimismo, el administrador del dominio de seguridad
(administrador del equipo central) podrá solicitar el envío de políticas CAO bajo
demanda (cuando lo considere pertinente - por ejemplo, cuando acaba de actualizar el

8
repositorio de políticas CAO). La operación de transmisión de políticas CAO realiza las
siguientes funciones: • Por cada uno de los servidores activos se realiza lo siguiente: o
Realiza la operación de consulta para determinar las políticas que serán transmitidas.
Las políticas que son candidato a transmisión son aquellas que tienen el estado de
"pending" o Transmitir el lote de políticas con estado pending. o Por cada política CAO
que se transmite del master node al huésped virtual se calcula su código hash. El
huésped virtual también calcula el código hash de cada una de las políticas CAO
recibidas. El código hash calculado en el huésped virtual se transmite al master node
para ser comparado contra el código hash generado inicialmente por el master node.
Una vez que se validan todos los códigos hash tanto del master nade como del huésped
virtual, se cambia en el repositorio el estado de las políticas CAO que fueron
transmitidas a "applied'', de lo contrario se dejan las políticas en "pending" para
reintentar la transmisión durante la siguiente ventana de transmisión. Asimismo, se
transmitirá el mensaje "verified'' al huésped virtual. Servicio de Obtención de Políticas
CAO 1 1 Calcular hash de la política CAO recibida - Transmitir política CAO (estado
peno, ngJ Enviar hash de la política CAO recibida Políticas verificadas. Verified
Servicio de transmisión El servicio SOP actualiza en tiempo real las políticas CAO
locales a partir de las políticas transmitidas por el servicio STP. La actualización de
políticas CAO se realiza en el dominio de 35 TOMOYO, la actualización o la inserción
de nuevas políticas CAO se refleja primero a nivel kernel (en ejecución) y
posteriormente a nivel archivos de configuración de TOMOYO. El servicio realiza las
siguientes operaciones: a) Validación del master node. b) Recepción de políticas CAO
c) Aplicación local de políticas CAO. La operación de validación del master node
realiza las siguientes funciones: • Durante la fase de "acksendcao" se genera un
challenge number en el huésped virtual, el challenge number se transmite concatenado
al mensaje acksendcao. • El master node recibe el challenge number y lo almacena en el
sistema de archivos local. El master node procede entonces a firmar el challenge
number empleando un hash sha256, el master node firma con su llave privada. • El
mensaje finnado se convierte a una huella de texto para que pueda ser transmitido por el
canal de alta velocidad (empleando la técnica de uuencode). • Una vez que el huésped
virtual recibe el mensaje firmado como huella de texto, se procede a convertir de huella
de texto a huella binaria. • La huella binaria recibida del master node se válida para
verificar si el master node realmente firmo el challenge number enviado inicialmente.
La verificación se realiza mediante openssl, la llave pública del master node y el
challenge number generado en el huésped virtual. • Si la verificación resulto correcta se
procede a la recepción de las políticas.

IMPLEMENTACIÓN DE LA ARQUITECTURA.

VMware Server 2.0 es la platafom1a de virtualización utilizadas para la


implementación de la arquitectura. Dicha plataforma está instalada en un servidor físico
que tiene instalado Ubuntu Server 8.1 O x64. En la plataforma de virtualización se
crearon tres máquinas virtuales con Ubuntu Desktop 10.04. Una de las máquinas
virtuales (tomo03) será utilizadas como nodo maestro y dos máquinas virtuales (tomoOl
y tomo02) serán utilizadas como huéspedes virtuales. En el nodo maestro se instaló el
servidor de base de datos MySQL server, en dicho manejador se creó la base de datos

9
"cao" (utilizada por el repositorio de políticas CAO). En el nodo maestro se generó la
llave privada y llave publica en formato PEM, la llave privada es utilizada para firmar
digitalmente archivos; mientras que la llave publica es utilizada para verificar que cierto
mensaje fue realmente firmado por una de las partes. En cada uno de los huéspedes
virtuales se encuentra en ejecución el proceso vmciCao, dicho proceso se encuentra en
ejecución en un ciclo infinito. El binario vmciCao se invoca con los argumentos -s y -p
para indicar que se trata de un servicio de tipo servidor (SOP) y que estará recibiendo
conexiones en el puerto especificado. Previo a que el servicio de SOP pueda recibir
políticas CAO se valida al servicio STP, dicha validación se logra mediante la
generación de un challenge number el cual debe ser firmado con la llave privada de
nodo maestro. En el nodo maestro se encuentra en ejecución el proceso vmciCao. El
binario vmciCao se invoca con los argumentos -c y -p para indicar que se trata de un
servicio de tipo cliente (STP). Este proceso se invoca durante las ventanas de tiempo
especificadas dentro de la configuración del repositorio CAO. El nodo maestro es el que
se encarga de iniciar el proceso de transmisión de políticas CAO hacía los nodos
virtuales, las políticas son leídas del repositorio CAO (base de datos MySQL) y
transmitidas a los nodos virtuales. Todas y cada una de las políticas trasmitidas a cada
uno de los huéspedes virtuales son verificadas mediante un digerido SHA256 para
garantizar la integridad de las políticas transmitidas. Una vez que el huésped virtual
recibe todas las políticas CAO se procede a aplicar dichas políticas en el dominio de
TOMOYO.

INCONVENIENTES DE IMPLANTACIÓN DE LAS MÁQUINAS


VIRTUALES.

Uno de los inconvenientes de las máquinas virtuales es que agregan gran


complejidad al sistema en tiempo de ejecución. Esto tiene como efecto la ralentización
del sistema, es decir, el programa no alcanzará la misma velocidad de ejecución que si
se instalase directamente en el sistema operativo "anfitrión" (host) o directamente sobre
la plataforma de hardware. Asimismo, necesita de memoria RAM, para su instalación
que debe superar en lo suficiente para su correcta instalación y funcionamiento, Sin
embargo, a menudo la flexibilidad que ofrecen compensa esta pérdida de eficiencia.

RESUMEN
Estamos en la era digital y el primer gran desafío radica en la deslocalización de
la información digital a conseguir, ya que la misma puede ser «accesible» desde
nuestros hogares sin necesidad de estar «localizada» dentro de los confines de nuestro
domicilio. Al fin y al cabo, la utilización de la tecnología por parte de las fuerzas y
cuerpos de seguridad no significa otra cosa que amplificar de forma abrumadora sus
sentidos, su pericia y sus métodos de actuación.

10
Hubo un tiempo en que la policía no necesitaba más que un arma de fuego, un
bloc de notas o una linterna y sus propios sentidos para llevar a cabo sus cometidos,
pero desde entonces, al igual que la delincuencia que día a día va en aumento, de forma
exponencialmente las técnicas policiales no han parado de evolucionar de forma
paralela al propio desarrollo de la humanidad y en la actualidad se valen del manejo de
sofisticados instrumentos electrónicos y programas informáticos para todo tipo de
actividades, pues la tecnología les brinda la capacidad de amplificar abrumadoramente
las capacidades de los agentes policiales en sus tareas de aprehensión, análisis e
investigación.
Se sostiene que la eficacia policial depende de la incorporación de recursos que
sean capaces de hacer frente y gestionar esa mayor complejidad y sofisticación. Las
nuevas tecnologías de la comunicación permiten que funcionen en campos donde la
policía no podía accede y que sea una base fundamental para la investigación.
La tecnología se ha vuelto una necesidad cotidiana para los investigadores aún
más. Tenemos que estar en constante actualización sobre las redes y programas que nos
faciliten el acceso a la información, y dentro del campo amplio de la Investigación
Criminal, resulta en estos tiempos imperiosa la necesidad de crear una Máquina Virtual
(VM), en donde podamos navegar libremente por las diferentes redes abiertas y
gratuitas al publico de una manera incógnita, y segura con el propósito de profundizar
las pesquisas que se debe obtener para un mejor esclarecimiento de los hechos ilícitos a
investigar.
Cuando se cuenta con una Maquina Virtual, el Investigador puede navegar de
manera tranquila realizando las búsquedas de Información en todas las redes posibles,
con los diferentes navegadores y buscadores, sin tener el temor de comprometer los
archivos guardados en el componente físico, toda vez que se encuentran protegidos, y a
la vez en la máquina virtual las investigaciones resultan mas segura porque en su
mayoría son de manera temporal.

11

También podría gustarte