Tema 3
Tema 3
Tema 3
TEMA
Otros sistemas operativos
Esquema
TEMA 3 – Esquema
Seguridad por acceso físico Android: Introducción:
• Arquitectura
• Qué es y en qué consiste
• Actualización de Android
• La Sandbox
Tipos de virtualización
Seguridad en el inicio del • Protección contra el acceso
sistema físico
2
• Seguridad a nivel de aplicación
Ventajas y desventajas
iOS:
Seguridad en las
• Arquitectura
preferencias: Software de virtualización
• Actualización de iOS
• iCloud, Cuentas y usuarios…
• La Sandbox
• Protección contra el acceso
Seguridad en las utilidades: Seguridad en sistemas
físico
• Llaveros, utilidad de discos… virtuales
• Seguridad a nivel de aplicación
Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Ideas clave
En primer lugar veremos los sistemas operativos Mac OS X, en los que nos centraremos
en:
Después trataremos el tema de los dispositivos móviles, pues son un sistema operativo
que llevamos en el bolsillo a todas partes y es importante securizarlo. Veremos los dos
principales sistemas para móviles: Android e iOS.
Comenzaremos con Android y seguiremos con iOS. Los puntos que se irán viendo, entre
otros, son:
La arquitectura de seguridad.
Las funciones principales de protección de acceso físico.
Las Sandbox.
El cifrado del dispositivo.
Gestión empresarial de los dispositivos.
La seguridad en las aplicaciones.
Los modos root (Android) o jailbreak (iOS).
3.2. Mac OS X
OS X está basado en UNIX BSD, en una adaptación del kernel conocida como
«Darwin» que fue desarrollada en la Universidad de California y que tiene una popular
interfaz gráfica conocida como «aqua», que no deja de sorprender a los usuarios de
Mac gracias a su potencia, facilidad de uso y gráficos.
Los servicios de seguridad del sistema operativo OS X están basado en dos estándares
de código abierto: BSD (Berkeley Software Distribution) y CDSA (Common Data
Security Architecture). BSD es un tipo de sistema operativo UNIX que incluye servicios
fundamentales como el sistema de archivos y los permisos de acceso a archivos. CDSA
es una serie de servicios de seguridad por capas y una framework de criptografía que
provee una infraestructura multiplataforma. Por ejemplo provee una serie de permisos
de acceso, más específicos o un almacenamiento seguro. Por defecto MAC OS está
pensado para que sea seguro, aun así se pueden hacer mejoras en su configuración por
defecto que iremos viendo en este documento.
La seguridad en OS X se efectúa por capas. Cada una de ellas utiliza diferentes servicios
del sistema para que este se mantenga seguro.
Protocolos seguros de red: SSL previene que intrusos puedan ver la información
que recibimos o enviamos y Kerberos securiza el proceso de autenticación.
Sistema operativo seguro: para prevenir que intrusos puedan ver nuestros
archivos el sistema usa POXIS y los permisos ACL.
Hardware seguro: se previene que los usuarios que pueden tener acceso a
permisos de súper usuario, puedan acceder al hardware.
Todos los ejemplos mostrados en este documento se han probado sobre la versión de
MAC OS X 10.6 Snow Leopard. En versiones posteriores puede ser que algunos
aspectos técnicos o de configuración sean diferentes. Esto no significa que no se puedan
adaptar, de hecho, durante el documento se hacen referencias a posibles variaciones
pero no se hacen en detalle.
Lo más importante a la hora de securizar un sistema desde el aspecto físico, es evitar que
cualquier persona tenga un contacto directo con el sistema. Cualquier medida física que
se pueda aplicar, como el aislamiento de la máquina en habitaciones o encadenar dicha
máquina, es importante. Esta medida es aplicable a cualquier máquina de cualquier
sistema operativo y plataforma.
En el caso de que alguien pudiera acceder físicamente, la parte del hardware más
sensible es el disco duro pues contiene todos nuestros datos, cualquier persona con
acceso físico ilimitado a esta parte del hardware podría hacer funcionar dicho sistema
en otra máquina. Por esto medidas como la FileVault sobre el cifrado de nuestros datos,
que veremos más adelante, pueden evitar que aunque caiga en manos ajenas nuestros
datos sigan seguros.
Hardware inseguro
Hay que tener en cuenta, que cada vez que el ordenador se actualice, es probable que
algunas de estas extensiones que hemos eliminado, vuelvan a aparecer. Tendremos que
eliminar dichas extensiones cada vez que actualicemos si decidimos este método de
deshabilitar componentes del sistema.
El modo single-user arranca el sistema como usuario root (súper usuario) para casos
de restauración del sistema. Esto es muy peligroso pues este usuario tiene todos los
permisos del sistema y sus acciones se realizan de forma anónima.
Será importante crear una clave para proteger el EFI, para proteger la entrada en modo
single-user, y para proteger la carga de sistemas que se encuentren en otras particiones
o discos externos como CD-ROOM o USB.
Tras hacer clic en el candado nos pedirá la contraseña de súper usuario y el candado se
abrirá dejándonos modificar las opciones descritas.
iCloud
Hoy en día hay muchos servicios en la nube, que sincronizan los datos de tus contactos,
calendario, notas, configuración, etc. y nuestro OS X puede estar configurado con estos
servicios.
Pese a que la comunicación iCloud u otro de estos servicios en la nube, está realizada
mediante protocolos muy seguros, es mucho más seguro que los datos sensibles se
mantengan en una red interna. En los casos donde se contengan datos especialmente
sensibles, deberíamos de cortar cualquier comunicación con la nube y cifrar dichos datos.
Cuentas de Usuario
Para hacer cambios en las cuentas de usuario ve a Preferencias del Sistema > Cuentas.
En versiones posteriores del sistema operativo se llama Usuarios y Grupos.
También deberemos considerar una contraseña más adecuada. Para ello, tanto en la
creación de un nuevo usuario o en su cambio de contraseña, OS X nos podrá ayudar.
Podremos ver una llave al lado del cuadro de texto donde introducimos la contraseña. Si
hacemos clic en dicha llave, se nos abrirá una ventana con diferentes opciones para hacer
una contraseña más segura teniendo en cuenta factores de longitud, tipo y la valoración
de su calidad.
Según el tipo de usuario que se utilice se podrá evitar que se modifiquen unas opciones
u otras de dentro de las preferencias del sistema.
CD y DVD
Para securizar los CD y DVD tendremos que evitar que se realicen acciones automáticas
cuando estos se insertan en el ordenador. Para su configuración iremos a Preferencias
del sistema > CD y DVD. Una vez allí tendremos que establecer todas las acciones a
“Ignorar”.
Fecha y hora
Salvapantallas y escritorio
Ve a Preferencias del sistema > Escritorio y salvapantallas. Una vez allí, hacer clic
sobre la «pestaña» salvapantallas.
Compartir recursos
Existen una serie de servicios que comparten recursos del sistema con otros usuarios. De
esta manera se pueden compartir DVDs, archivos, el escáner o acceso remoto al sistema.
Técnicamente existen los siguientes servicios:
Seguridad General
Ve a Preferencias del sistema > Seguridad. En otras distribuciones del sistema más
actuales se llama Seguridad y privacidad. Habrá que considerar la siguiente
configuración:
En otras versiones posteriores a la 10.6 se puede configurar, para que se pida una
contraseña de administrador para acceder a las preferencias de todo el sistema, para que
se cierre la sesión de usuario tras cierto tiempo de inactividad o para que solo se permitan
aplicaciones descargadas del App Store o de desarrolladores de confianza (según
Apple).
FileVault
En versiones posteriores FileVault no solo cifra la carpeta de los usuarios, sino que cifra
todo el disco duro mediante nuestra contraseña maestra. Además, cuando se cifra el
disco, crea automáticamente una clave de recuperación por si olvidamos la primera. En
caso de perder ambas, se perderían todos los datos.
Firewall
El Firewall solo vigila los protocolos TCP y UDP. Esto no se aplica a Apple Talk. Por
defecto, solamente se permite que las aplicaciones firmadas, por autoridades de
certificación reconocidas, puedan establecer comunicaciones a través de internet. De
manera avanzada se pueden especificar a qué aplicaciones se les permite establecer
conexiones.
Por otro lado, se debería activar el modo encubierto. Este modo encubierto evita que el
ordenador responda a mensajes ICMP. De esta manera no daremos pistas de la existencia
de nuestro ordenador a posibles atacantes.
IPFW2 Firewall
IPFW2 es un conjunto de reglas que realizan acciones sobre paquetes. Para ver las reglas
aplicadas en cada momento se puede ejecutar el siguiente comando:
# ipfw print
Tras la descarga de las actualizaciones, estas son verificadas mediante las firmas
realizadas sobre estas. De esta manera evitamos la instalación de software malicioso y la
integridad de nuestras descargas. Las actualizaciones dependen de la política de empresa
pero nosotros recomendamos que se busquen pero no se descarguen las actualizaciones
automáticamente
En las versiones actuales de OS X, las actualizaciones se realizan mediante el uso del App
Store. Las opciones de configuración de la actualización del App Store son las mismas.
Time Machine mantiene al día una copia de todos los archivos personales que tienes en
tu ordenador. La copia de toda tu información se mantiene sin cifrar por lo que se
aconseja tenerla en un lugar donde nadie pueda acceder a ella. Una solución es crear una
imagen de disco cifrada, montarla y determinar en ella nuestras copias de seguridad.
Llaveros
Para accede a la utilidad de llaveros hay que ir a Utilidades > Acceso a Llaveros.
Esta aplicación contiene claves cifradas, certificados y otra serie de valore privados
llamados «Notas Seguras». Se pueden crear múltiples llaveros que aparecerán en la
lista de Llaveros. Cada llavero contiene una colección de usuarios y contraseñas, y las
protege con una única clave. Usado la utilidad de Llaveros, solamente las aplicaciones
expresamente autorizadas pueden tener acceso a estos valores.
Llaveros permite que cuando navegamos por Internet (en una página web específica) o
cuando usemos una aplicación asociada, esta aplicación de Llaveros se encargará de
proveer el usuario y clave de la otra aplicación o la página web.
Esta aplicación permite que cada página o aplicación utilizada, tenga una clave distinta
o incluso aleatoria. De esta manera una aplicación maliciosa no podría robarte esta
misma clave para meterse en tu cuenta de correo, pues en muchos casos repetimos las
mismas claves en diferentes servicios en los que estamos dados de alta. Llaveros
guarda todos los datos cifrados.
Por defecto, al crear un nuevo usuario, se crea el llavero «Inicio de sesión» para este
usuario. El «Inicio de sesión» se mostrará desbloqueado. Para securizar el uso de
Llaveros, deberemos tener el «Inicio de sesión» y otros llaveros asociados a este
usuario, bloqueados al iniciar sesión y al despertar al ordenador de la opción de reposo.
Para esto deberemos de bloquear los llaveros para que su clave de desbloqueo sea
diferente a la clave con la que el usuario comienza su sesión. De esta manera no se
desbloquearán.
La utilidad de discos
Podremos cifrar datos en una imagen de disco para su posterior traslado o bien para
su montaje en nuestro sistema de archivos:
También podemos realizar una imagen desde unos archivos ya existentes. Para esto
se realizaría un proceso parecido al anterior pero yendo a Archivo > Nueva > Imagen
de disco a partir de carpeta.
Otra opción interesante es la de poder eliminar para siempre los archivos que han sido
borrados correctamente. A modo de apunte, explicar que cuando eliminamos los
archivos de la papelera haciendo clic con el botón derecho sobre esta y seleccionando
«Vaciar Papelera», solo estamos borrando las referencias que tiene el sistema de
archivos hacia esos archivos.
Para eliminar correctamente los archivos del disco implica la eliminación de la referencia
a nuestros archivos en el disco y la sobreescritura de los archivos en el disco con un array
de ceros. Para hacer esto hay que pulsar la tecla comando y hacer clic derecho sobre la
papelera de reciclaje y elegir «Vaciar Papelera de forma segura».
Cuando no realizamos esto o cuando terceras aplicaciones borran archivos, suele ser
una práctica segura eliminar para siempre el espacio vacío del disco duro. Hay que
tener en cuenta que cuando se eliminan para siempre archivos, estos no se podrán
recuperar jamás, por lo cual podríamos perder datos. Se aconseja destruir los datos
cuando se sabe que estos son sensibles y realmente no los vamos a querer recuperar
más adelante.
Para eliminar el espacio vacío del disco duro, dentro de la Utilidad de discos hay
que hacer clic derecho sobre la unidad que queramos y pulsar el botón «Borrar espacio
libre».
como navegador GPS, radio, reproductor MP3, juegos, cliente de correo electrónico,
mensajería instantánea, cámara de fotos, etc. aparte de la propia función de telefonía.
Debido a esta popularidad, los Smartphone están sufriendo cada vez más los ataques de
los «piratas informáticos», que intentan burlar su seguridad para hacerse con el control
del dispositivo o robar datos confidenciales contenidos dentro del terminal, como
números de cuenta bancaria, contraseñas, contactos, fotografías, etc.
Android
Los aspectos que necesitamos para securizar nuestro dispositivo móvil engloban el
propio dispositivo, las comunicaciones de este dispositivo y el almacenamiento de datos.
Hace una referencia a todas las versiones actuales y sus diferencias, como pueden ser
los tamaños de pantalla soportados, las estadísticas de su uso, etc.
La actualización de Android
http://web.nvd.nist.gov/view/vuln/search-
results?query=android&search_type=all&cves=on
Las actualizaciones del sistema de Android pueden ser proporcionadas como una
imagen parcial o una imagen completa. Si es una imagen parcial solamente se
modificarán los archivos necesarios y si es una imagen completa se sobrescribirán
todas las preferencias. Por otro lado, se recomienda hacer una copia de seguridad del
sistema antes de actualizarlo.
Para actualizar el sistema operativo suele existir la opción en Ajustes > Acerca del
teléfono > Actualizaciones del sistema. Evidentemente, esta opción depende
del fabricante.
La Sandbox
Android desarrolla una Sandbox haciendo uso de los permisos de usuario que
ofrece el kernel de Linux. Android asigna un id único de usuario (UID) a cada
aplicación y la ejecuta en un proceso aparte.
Por defecto las aplicaciones no pueden interactuar entre ellas y tienen un uso limitado
del sistema operativo. Sin los permisos suficientes, la aplicación A no podrá conseguir
datos de los archivos de la aplicación B o usar la cámara del sistema operativo, por
ejemplo.
Por otro lado, hay que tener en cuenta que muchas memorias externas están
previamente formateadas en FAT o FAT32 y son sistemas de archivos que no
establecen permisos. Si la memoria no tiene un sistema de archivos con soporte
para permisos, cualquier aplicación con permisos de tarjeta podrá tener acceso a
todos los datos guardados en ella.
Con la memoria cifrada, los datos que necesitan ser usados serán previamente
descifrados. En el proceso inverso de grabar datos en la memoria esos datos serán
previamente cifrados. El cifrado y descifrado de los datos se hace de forma totalmente
transparente para el usuario del dispositivo.
El código PIN de la tarjeta suele ser un código de 4 dígitos numéricos. Este PIN se
puede modificar hasta poner 8 dígitos. Se recomienda modificar el número de 4
dígitos que viene con la tarjeta a uno de 8. Las cifras del nuevo PIN nunca deberán
ser iguales o consecutivas (por ejemplo: “22222222” o “12345678”).
Para cambiar el PIN de la tarjeta tendremos que ir a Ajustes > Seguridad >
Bloqueo de la tarjeta SIM > Cambiar PIN de la tarjeta. Una vez en la
pantalla, ir a la opción Cambiar PIN de SIM.
Por otro lado, la tarjeta del teléfono se protege contra el acceso por fuerza bruta de
la clave PIN, limitando los intentos a 3. Una vez superado el límite de 3 intentos la
tarjeta se bloquea y para desbloquearla deberemos introducir el código PUK.
Como hemos podido ver antes, si el dispositivo no tiene una tarjeta SIM no pedirá
autenticación para acceder a él, por ello el bloqueo de nuestro dispositivo móvil
evita que extraños puedan usar el dispositivo.
Para ver las opciones de bloqueo del dispositivo ve a Ajustes > Seguridad >
Bloqueo de pantalla. Como se puede ver en la siguiente imagen, existen varias
formas de bloqueo del dispositivo.
o Bloqueo con Patrón: el patrón ofrece una forma visual y fácil de memorizar de
bloqueo de un dispositivo. Si seleccionamos este método se nos mostrará una
pantalla con nueve puntos. Deberemos trazar una línea por al menos cuatro
puntos.
El uso de patrón está muy extendido pero tiene un problema, la marca que se deja
en la pantalla al introducir el patrón a veces es bastante clara y un atacante podría
usarla para imitar el patrón y acceder al dispositivo.
o Bloqueo con código PIN: mediante el desbloqueo del dispositivo con el código
PIN, se pedirá un número. El número que introduciremos deberá ser de 9
números. Dicho número tendrá que ser introducido cada vez que queramos usar
el dispositivo. Sería importante que el código que introducimos sea fácil de
recordar y debería ser diferente al de la tarjeta SIM.
Este suele ser el método más seguro, pues la cantidad de combinaciones posibles
para la contraseña es mayor que en los otros métodos.
<application […]>
[…]
</application>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
</manifest>
AppOps es una aplicación de Android 4.3 y 4.4 y que permite gestionar los
permisos de las aplicaciones individualmente:
https://play.google.com/store/apps/details?id=fr.slvn.appops
Se pueden ver los permisos que existen por defecto en la última versión de la API
de Android:
https://developer.android.com/reference/android/Manifest.permission.html
Por otro lado la aplicación puede declarar permisos personalizados para el acceso a
sus recursos desde otras aplicaciones.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.me.app.myapp" >
<permission android:name="com.universidad.my.new.PERMISSION "
android:label="@string/permlab_ejemploActivity"
android:description="@string/permdesc_ejemploActivity"
android:permissionGroup="android.permission-
group.MY_GROUP_PERMISSION"
android:protectionLevel="dangerous" />
[...]
</manifest>
com.universidad.my.new.PERMISSION
El rooteo de Android
iOS
iOS es el sistema operativo de Apple para dispositivos móviles. Existe una gama de estos
dispositivos comercializados como iPhone, iPad y iPod. Todos ellos presentan una
pantalla táctil y el iOS. A medida que han ido apareciendo las nuevas generaciones de
cada dispositivo, han ido aumentando y mejorando el hardware, los sensores y las
nuevas versiones del sistema operativo. A diferencia de Android, tanto el hardware
como el sistema operativo de estos dispositivos móviles son fabricados por una única
marca, Apple. Esta peculiaridad hace que los drivers estén perfectamente desarrollados
para que funcionen con un extra de seguridad.
El primer dispositivo que nació con este sistema operativo fue en 2007, el iPhone. En
el mismo año salió el primer iPod. Para que el primer iPad apareciera tuvieron que
pasar 3 años más.
La última versión del iOS es la 8 y está presente en los modelos iPhone y iPad. En este
documento describiremos principalmente las características hasta la versión iOS 7.
En la ejecución de una aplicación en iOS se distinguen cuatro capas. Cada una de ellas
engloba a la anterior. Estas interfaces ofrecen la capacidad de generar aplicaciones
que funcionan en diferentes dispositivos. La capa más alta (Cocoa Touch) ofrece un
nivel más alto de abstracción y la capa más baja (Core OS) ofrece instrucciones más
elementales. Cada una de las capas engloba una serie de frameworks con los que se
accede a los diferentes recursos de la plataforma.
A nivel de ejecución de las aplicaciones tenemos una Sandbox que evita, mediante
perfiles, que una aplicación pueda acceder a los recursos de otra.
La actualización de iOS
Desde la versión 5.0 de IOS se permite la actualización del sistema operativo desde el
propio sistema operativo. Todas las versiones necesitaban actualizarse conectándose
al ordenador y usar el iTunes.
Para realizar la actualización del sistema operativo tendremos que ir al menú Ajustes
> General > Actualización de software. En el caso de que exista una
actualización del sistema, nos pedirá confirmación para poder actualizarlo. El
dispositivo deberá tener acceso a internet para poder realizar dicha actualización.
Proceso de arranque
Al arrancar iOS ejecuta el BootROM, una memoria de solo lectura que contiene un
certificado raíz, que es el que se usa para verificar la firma del Low Level
Bootloader (LLB). Seguidamente el LLB verifica y le pasa la ejecución al iBoot, el
cual terminará ejecutando el kernel.
Cada uno de los pasos de este proceso de arranque, verifica al siguiente y si alguno de
los pasos fallara en su verificación, el arranque sería interrumpido.
La Sandbox
Todas las aplicaciones no desarrolladas por Apple, son ejecutadas de una forma
independiente en una Sandbox (App XNU Sandbox). De esta manera se evita el
acceso a archivos de otras aplicaciones o de hacer
cambios en el sistema. Las restricciones de la
Sandbox se establecen mediante perfiles para cada
aplicación. En la instalación de una aplicación se
genera un directorio privado donde se guardan todos
los datos de dicha aplicación. Para que una aplicación
B pueda acceder a una aplicación A, la aplicación A
tendrá que tener desarrollado una API para tal
efecto. La aplicación B usará servicios de iOS para
poder acceder a dicha API.
Secure Enclave
Desde la versión 3GS de iPhone, para todas las versiones de iPad y desde la 3.ª
generación de iPod Touch, los dispositivos con iOS mantienen cifrados todos los
datos de dicho dispositivo. Esta característica no puede ser deshabilitada.
El cifrado de la memoria usa AES 256 bit junto con SHA-1 mediante un chip
criptográfico. El sistema usa el UID asignado en fábrica y que protegido mediante
hardware para no ser descubierto. Para ser más difícil el descifrado por fuerza bruta
se recomienda utilizar el Data Protection, que añadirá un extra de seguridad para
datos sensibles.
A nivel de arquitectura Data Protection cada vez que se crea un archivo se genera
una nueva clave de 256 bit y se la da a AES que la usa para cifrar el archivo. La clave
es envuelta en una clase dependiendo de la accesibilidad que tenga el archivo. La clave
se guardará en los metadatos del archivo cifrado. Cada vez que el archivo quiere ser
utilizado, los metadatos del archivo serán descifrados con la clave del sistema,
recuperando la clase con la clave y el nivel de protección. Tras extraer la clave, AES
descifra el archivo.
Hay que tener en cuenta que en el caso de tener las claves custodiadas en el ordenador
con iTunes, con el que se ha sincronizado el dispositivo móvil, también sería posible
descifrar todos los contenidos almacenados en dicho dispositivo.
A lo largo del tiempo se han ido descubriendo diferentes vulnerabilidades por las
cuales se ha conseguido saltarse las diferentes protecciones ofrecidas por la
plataforma. Especialmente todas las relacionadas con un acceso físico al móvil. Se
recomienda principalmente no conectar el teléfono a ordenadores de terceros.
Por otra parte, se sabe que Apple mantiene en secreto un procedimiento para poder
acceder por completo a todos los datos contenidos en sus dispositivos, cifrados o no.
Dicho procedimiento se aplica mediante una orden judicial y Apple no ha concretado
detalles de cómo se produce.
El resto de las veces, los perfiles pueden también ser distribuidos adjuntos en emails,
desde un servidor web o por soluciones de gestión empresariales (MDM).
Por otro lado el protocolo Mobile Device Managment (MDM) permite a negocios
securizar dispositivos iOS a nivel de empresa, a través de soluciones empresariales
como Microsoft Exchange ActiveSync.
Es siempre aconsejable añadir medidas de bloqueo del dispositivo móvil. iOS nos
ofrece el Código de acceso y el Touch ID.
También es aconsejable el cambio del PIN con las mismas recomendaciones que
en Android. Para cambiar el PIN de la tarjeta tendremos que ir a Ajustes >
Teléfono > PIN de la SIM.
Al igual que Android, iOS ofrece una pantalla de bloqueo general que simplemente
protege al dispositivo de un acceso accidental.
Bloqueo con Patrón: los modelos de iOS no tienen el bloqueo con patrón como
opción dentro de la plataforma. Existen apps que una vez hecho el JailBreak de
la plataforma, pueden añadir esta función.
Con Cydia podemos tener un patrón tal y como sucede en los dispositivos
Android. Más información en la siguiente dirección web:
http://www.cydiaios7.com/
Para introducir el código de bloqueo iremos a Ajustes > Código. Una vez allí,
tendremos que elegir entre un código numérico o un alfanumérico. El
alfanumérico sería el más seguro y claro, cuanto más complejo sea, más seguro.
Hay que tener en cuenta, que la información de la huella o huellas con las que se
configuran el dispositivo nunca abandona la memoria del Secure Enclave y
nunca puede ser utilizada para redibujar la huella original.
Pese a todo este conjunto de mecanismos de seguridad que rodena al Touch ID,
el día después de la comercialización del iPhone 5S, un grupo alemán
denominado CCC consiguieron saltarse la protección del dispositivo usando una
huella digital dejada en el dispositivo móvil.
Una vez arrancado el dispositivo, iOS controla qué aplicación se puede ejecutar. Para
que una aplicación pueda instalarse desde el App Store en el dispositivo iOS, ha de
estar previamente firmada por un certificado de Apple. Todas las aplicaciones que
vienen con el sistema, como puede ser el navegador, también están firmadas con un
certificado de Apple.
Para que un desarrollador de iOS pueda firmar una aplicación con un certificado de
Apple, ha de estar previamente registrado en el iOS Developer Program. Apple
verifica la identidad con la que se ha registrado y emite el certificado con el que
posteriormente se firmará la aplicación. Una vez subida al App Store, Apple
también prueba que la aplicación funciona como se ha descrito.
A nivel de datos que guarda la aplicación, iOS SDK ofrece una API para poder
asignar una clase de Data Protection a los datos. También se pueden usar las APIs
que cifran los datos sin tener el Data Protection activo. En el apartado anterior “El
cifrado del dispositivo, Data Protection” se habla en más detalle de este tema.
o Jailbreak
Jailbreak es el proceso por el cual eliminamos las restricciones que Apple tiene
asignadas a nuestro dispositivo. Esto engloba todas las medidas explicadas en el
documento. Por lo cual, permite la instalación de cualquier hardware o software
sin firmar así como modificar aspectos del sistema que no nos era posible
modificar. El símil en Android sería el rooteo, explicado anteriormente.
Este proceso requiere un riesgo, que es que todas las aplicaciones funcionan como
usuario root. Esto deja abierta la posibilidad de que aplicaciones de código
malicioso puedan instalarse en el dispositivo. El lado bueno es que podremos
cambiar nuestra interfaz de usuario, instalar aplicaciones no permitidas por Apple,
como por ejemplo el acceso al móvil por patrón (al igual que en Android).
No solo juega el papel de administrar los sistemas, sino para aumentar la seguridad, ya
que ante un problema ocasionado en el ordenador no pondrá tener acceso a todo el
sistema.
Tipos de virtualización
La virtualización se puede hacer desde cualquier sistema operativo siempre y cuando sea
compatible con el programa que usemos.
tenga que interceptar las instrucciones privilegiadas que realiza el núcleo del sistema
operativo invitado.
6. Máquina virtual o virtualización de servidores: depende de la función que
deba hacer cada servidor podemos tener varias instancias de servidores ejecutándose
sobre el mismo hardware, aunque cada máquina tendrá componentes virtuales.
7. Hypervisor de almacenamiento: es un pack de gestión centralizada, se utiliza
para mejorar el valor combinado de los sistemas de disco de almacenamiento múltiple
incluyendo los modelos diferentes e incompatibles completando sus capacidades
individuales con el aprovisionamiento extendido.
Ventajas:
Desventajas:
1. Xen: es una herramienta de virtualización que se ejecuta por debajo del sistema
operativo y actúa como hypervisor del mismo. Utiliza una técnica denominada
paravirtualización para alcanzar un mayor rendimiento, a través de esta técnica se
puede alcanzar un alto rendimiento de arquitecturas. A través de ella se pretende
abstraer la mayor cantidad de aplicaciones posibles y proteger las aplicaciones
poniéndolas en máquinas virtuales diferentes.
Tabla comparativa
Virtualización Completa ✓ ✓ ✖
Paravirtualización ✓ ✓ ✖
Contenedores
✖ ✖ ✓
(S. Operativo virtual)
i686, x86-64,
i686, x86-64, IA64, i686, x86-64, IA64,
Arquitecturas IA64, PPC,
PPC PPC, S390
SPARC
Paravirtualización, Paravirtualización,
muy rápida y muy rápida y
Rendimiento Nativo
virtualización virtualización
completa media. completa media.
SMP ✓ ✓ Nota 1.
CPU ✓ ✓ Nota 2.
¿Independiente de Host? ✓ ✖ ✖
Virtualización
Virtualización completa y
Migración en
Observaciones completa, necesita: Paravirtualización,
vivo
VT / AMD-V necesita: VT /
AMD-V, upstream
ejecutar binarios de Unix SCO, aunque no tienen nada que ver con el contenedor del
sistema.
Algunas de las diferencias más importantes entre: KVM, OpenVZ y Xen son las
siguientes:
Xen es un hypervisor ligero, el cual optimiza los recursos en las tareas que más lo
necesiten. Otra ventaja es que no se puede sobrescribir por otros hosts, no comparte
memoria y da soporte a HVM (Virtualización Completa) y PV (Paravirtualización) en
el Hypervisor.
configuración más simple como el de las otras soluciones analizadas, quizás no habría
tanta disponibilidad de métodos de configuraciones, es por ello que KVM aspira a
tener una buena perspectiva de futuro y a competir directamente con Xen.
En definitiva según las necesidades que se precisen en el entorno de trabajo, se debe
de llevar a cabo un estudio minucioso de las soluciones de virtualización disponibles
en el mercado así como del rendimiento que estas ofrezcan.
1. Asegurar las capas: a día de hoy cualquier sistema virtualizado está constituido
por diferentes niveles, es imprescindible establecer ciertas medidas como controles
de seguridad en cada uno de estos, emplear un firewall dentro del clúster de
máquinas virtuales, sistema de prevención de intrusiones, actualizaciones de
software , etc.
5. Protección de VMS: las máquinas virtuales inactivas pueden ser iniciadas con
rapidez en un entorno virtual. Sino es analizada y protegida previamente antes de
ser puesta en línea, puede exponer a todo el entorno virtual frente a amenazas de
seguridad, puesto que en esa misma máquina estamos alojando diversas VMS.
6. Migración: una buena política de prevención sería migrar de forma dinámica junto
a las VMS entre máquinas anfitrionas, físicas o en la nube. De hecho, muchas
soluciones de virtualización (Vmware), nos permiten llevar a cabo clonaciones de
VMS y restauración de Snapshots mientras los propios usuarios están trabajando,
siendo completamente transparente para ellos y asegurándonos un respaldo en caso
de incidente.
Material complementario
Lecciones magistrales
Seguridad en iOS
En esta lección magistral se tratarán más a fondo los temas de seguridad relacionados
con el popular sistema operativo de Apple para sus teléfonos móviles, los iPhone.
No dejes de leer…
Accede al artículo a través del aula virtual o desde la siguiente dirección web:
https://www.alarmaseguridad.com/wp-content/uploads/estudio_moviles_1c12.pdf
A fondo
Package filter
Manual original del comando pf (Package Filter) que forma parte de las distribuciones
OS X 10.7 y posteriores y que sustituyó al IPFW2.
Accede al manual a través del aula virtual o desde la siguiente dirección web:
http://www.openbsd.org/faq/pf/index.html
Accede a los reportajes a través del aula virtual o desde las siguientes direcciones web:
http://ccc.de/en/updates/2013/ccc-breaks-apple-touchid
https://vimeo.com/75324765
Cyndia
Accede a la aplicación a través del aula virtual o desde la siguiente dirección web:
http://cydia.saurik.com/
Apple Configurator
Accede a la aplicación a través del aula virtual o desde la siguiente dirección web:
https://www.apple.com/uk/support/business-education/apple-configurator/
Android-x86 Project
Accede al proyecto a través del aula virtual o desde la siguiente dirección web:
http://www.android-x86.org/
Accede a la descarga y al tutorial a través del aula virtual o desde las siguientes
direcciones web:
http://www.amazon.com/gp/mas/get-appstore/android/ref=mas_rw_ldg
https://www.amazon.es/gp/feature.html?ie=UTF8&docId=1000644893
Webgrafía
Accede a la página web a través del aula virtual o desde la siguiente dirección:
https://www.apple.com/es/support/icloud/find-my-device/
Accede a la página web a través del aula virtual o desde la siguiente dirección:
http://www.opengroup.org/security/l2-cdsa.htm
UNIX BSD
Accede a la página web a través del aula virtual o desde la siguiente dirección:
http://www.bsd.org/
FreeBSD
Página web del sistema operativo FreeBSD que derivó del UNIX BSD.
Accede a la página web a través del aula virtual o desde la siguiente dirección:
https://www.freebsd.org/
Mach
La página del Mach Project desde el cual se han derivado otros conocidos kernels.
Accede a la página web a través del aula virtual o desde la siguiente dirección:
http://www.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html
Mac OS X
Accede a la página web a través del aula virtual o desde la siguiente dirección:
http://www.apple.com/es/macosx/
AppStore
Accede a la página web a través del aula virtual o desde la siguiente dirección:
http://www.apple.com/es/osx/apps/app-store/
Sección en la web de Apple donde publican los proyectos de código abierto que incluyen
en su plataforma.
Accede a la página web a través del aula virtual o desde la siguiente dirección:
https://www.apple.com/opensource/
Android
Página web del popular sistema operativo para móviles Android, en el que podemos
conocer información acerca de las versiones de Android.
Accede a la página web a través del aula virtual o desde la siguiente dirección:
http://www.android.com
iOS
Página oficial de iOS España donde encontraremos las novedades de este sistema
operativo.
Accede a la página web a través del aula virtual o desde la siguiente dirección:
https://www.apple.com/es/ios/
Accede a la página web a través del aula virtual o desde la siguiente dirección:
http://www.enterpriseios.com/wiki/Comparison_MDM_Providers
Test
TEMA 3 – Test 83
Seguridad en Sistemas Operativos
8. A la hora de securizar nuestros sistemas virtualizados, indica qué hace falta tener en
cuenta:
A. La documentación.
B. Controlar y autorizar usuarios.
C. Supervisar la integridad.
D. Todas las anteriores son correctas.
TEMA 3 – Test 84
Seguridad en Sistemas Operativos
TEMA 3 – Test 85