Comenzamos la segunda parte de nuestro artículo que habla sobre las características de seguridad que Apple ha ido añadiendo a las diferentes versiones de Mac OS X. Esta vez continuaremos desde la versión OS X 10.9 Mavericks hasta la última versión macOS High Sierra, la cual será publicada este otoño. Es interesante conocer las medidas de seguridad que Apple aplica a sus sistemas operativos para así estar informados de qué protección disponemos de base.
OS X 10.9 Mavericks. Octubre 2013.
En esta versión Apple incluye iCloud Keychain, un password manager el cual permite sincronizar entre Mac y iOS y todo tipo de información como nombres de usuarios, contraseñas, tarjetas de crédito, redes WiFi, etc. Por otro lado también empieza a requerir firmas en el código para kexts (kernel extensions) instalados en /Library/Extensions para prevenir modificaciones en el kernel del sistema operativo por parte de desarrolladores no registrados. También se añade soporte SMB2 el cual se convertirá en el nuevo protocolo de compartición en vez de AFP (Apple Filing Protocol), añadiendo más seguridad.
Se incluye Mail Drop, una función que permite enviar correos electrónicos con ficheros adjuntos de hasta 5GB de tamaño utilizando iCloud. Estos ficheros expiran a los 30 días después de haber enviado el correo electrónico, evitando que al acceder a una cuenta ajena se puedan visualizar los ficheros adjuntos de más de 30 días de antigüedad. En esta versión de OS X se añaden a Safari dos nuevas características. La primera elimina mostrar la URL completa desde la barra de direcciones, evitando que el usuario pueda confundir una web engañosa con la original (siempre se puede ver la URL completa pulsando en la barra de direcciones). La segunda permite la navegación anónima. Finalmente, Apple introduce Swift, un lenguaje de programación que tiene muchas ventajas de seguridad.
OS X 10.11 El Capitan. Septiembre 2015.
Apple presenta en esta versión System Integrity Protection, una función diseñada prevenir modificaciones en ficheros y carpetas críticas del sistema, evitando la inyección de código maligno. También se incluye ATS (App Transport Security), que incita a los desarrolladores a usar HTTPS y TLS 1.2. Tambié se actualiza XProtect (de forma retroactiva) para bloquear versiones vulnerables de Microsoft Silverligth.
Se añade la función de auto desbloquear el ordenador utilizando Apple Watch, la cual para activarla obliga a tener doble factor de autenticación. También se elimina completamente el soporte para Flash dejando paso a HTML5. Una nueva característica que se añade en esta versión, aunque no sea directamente relacionada con la seguridad, es Universal Clipboard. Cualquier cosa que copiemos al portapapeles estará disponible en todos nuestros dispositivos. Por lo tanto, si tenemos que enviar información sensible entre ellos, podemos utilizar este método en vez de correo electrónicos o aplicaciones de terceros (la información se borra a los dos minutos después de copiarlo).
macOS 10.13 High Sierra. Saldrá en Otoño de 2017.
De momento está en fase beta pero ya podemos asegurar que Apple introducirá APFS (Apple File System) con nuevas características de seguridad entre otras ventajas. También veremos la versión 11 de Safari la cual incluirá una mejora en la protección de privacidad (como por ejemplo eliminar la molesta publicidad o el autoplay en vídeos). También sabemos que si instalas esta versión, el Apple id utilizado será automáticamente actualizado para utilizar doble factor de autenticación.
Apple ha ido mejorando y añadiendo características de seguridad desde su Mac OS X 10.4 Tiger, el cual salió al mercado en abril de 2005. Con la inclusión de estas nuevas funciones, Apple ha contribuido a crear un sistema operativo bastante seguro pero no infalible. Vamos a repasar cuales son esas características que se han ido incorporando a lo largo de los años de desarrollo del sistema operativo Mac OS X hasta su última versión macOS High Sierra.
Mac OS X 10.4 Tiger. Abril 2005.
En 2004 aparecieron algunos troyanos como Renepo (Opener) los cuales permitían abrir puertas traseras en en el ordenador. Apple tenía que solucionar este problema y para ello añadieron a esta versión una función llamada download validation, la cual validaba de forma automática el contenido descargado. El problema es que sólo analizaba ficheros concretos, pero daba como válido ficheros PDF, de audio, video, etc. También se añadió una característica al sistema de fichero llamada extended attributes, la cual mejoraba los atributos básicos asociados con ficheros y directorios. Otra característica añadida a esta versión fueron las ACLs o Access Control Lists, una forma más flexible de controlar los permisos de ficheros sustituyendo el método clásico de UNIX.
Mac OS X 10.5 Leopard. Octubre 2007.
File Quarantine se añadió a esta versión la cual consistía en incluir un atributo extra (flag) a los ficheros descargados utilizando alguna aplicación de Apple (como Safari) o aquellas de otros fabricante que decidieran incluir esta función. Esto provoca que cada vez que abramos estos ficheros un mensaje aparecerá indicando que fue descargado así como la fecha, hora y desde donde se realizó la descarga. También se incluye la opción de incluir firmas para los desarrolladores de programas. Esta fue la última versión que soportaba microprocesadores PowerPC y no incluía la función classic enviroment, la cual ofrecía una retrocompatibilidad a los programas con otras versiones de Mac OS X como la 9. Esta decisión provocó que malware diseñado para versiones anteriores a esta versión de OS X no se pudieran ejecutar en un ordenador actualizado.
Figura 1. Mensaje de File Quarantine cada vez que abrimos un fichero desde una fuente no validada. Fuente.
Mac OS X 10.6 Snow Leopard. Agosto 2009
En esta versión se introduce XProtect, una funcionalidad antimalware o antivirus, ya que funciona más o menos como cualquier otro antivirus en otro sistema operativo (aunque por ejemplo, no tiene la función de escanear el ordenador). Este programa no tiene una interface como otros programas que se dedican a esta función de proteger el sistema operativo. Aparte de mostrar el mensaje mostrado también por File Quarantine que hemos hablado antes, XProtect comprueba siempre que abrimos un fichero, si este concuerda con alguna de las definiciones de malware almacenadas por este programa. Esta funcionalidad no es suficiente para proteger el sistema operativo, tal y como el mismo Apple afirmaba en su día, aunque si es de gran ayuda para detectar y evitar la infección a través de malware conocido.
Mac OS X 10.7 Lion. Julio 2011
Esta versión introduce FileVault2, una nueva versión de FileVault que incluye la opción de cifrado de todo el disco duro (las versiones anteriores sólo permitían cifrar cuentas individuales de usuarios). También se incluyen algunas mejoras de seguridad como ASLR (Address Space Layout Randomization). Esta opción permite evitar ataques y vulnerabilidades relacionadas con la corrupción de memoria, asignando posiciones de memoria de forma aleatoria a las partes más importante de los programas. También se incluye App Sandbox, la cual permite limitar los privilegios de una aplicación al ser ejecutada evitando el acceso a otros recursos del sistema que no sean los únicos que necesita para funcionar.
Figura 2. Detalle del funcionamiento de App Sandboxing. Fuente.
Mac OS X 10.8 Mountain Lion. Julio 2012
Gatekeeper fue la implementación más importante de esta versión. Gatekeeper es una función que ayuda a prevenir la ejecución de programas sospechosos de malware. Añade las conocidas opciones en la configuración de seguridad que permiten ejecutar aplicaciones descargadas sólo desde la App Mac Store, Mac Store y desarrolladores validados o desde cualquier otra fuente. Otra función incluida en esta versión fue Location Services, la cual ofrece a las aplicaciones información geográfica y geolocacilización. También se incluyeron mejoras a App Sandbox. XProtect se actualizó para bloquear versiones no actualizadas de Flash Player y plugins de Java (esto también se aplicó a las versiones anteriores de OS X).
Googleha publicado la versión 50 de su navegador y como prometió el año pasado, abandonando el soporte para Snow Leopard, OS X Lion y OS X Mountain Lion. Además, también se ha eliminado el soporte para las versiones de MicrosoftWindows XP y Vista. La actualización de Chrome 50 no será reconocida o descargada por los equipos con los sistemas operativos mencionados anteriormente. Hay que recordar que estos sistemas operativos debutaron entre los años 2001, Windows XP, y 2012, OS X Mountain Lion.
Los usuarios quedarán entonces "atrapados" en la versión de Chrome 49, no pudiendo actualizar a las nuevas versiones. Como curiosidad hay que indicar que Windows XP y Windows Vista tienen un 13,6% de todos los PC de Windowssegún un análisis realizado en Marzo, es decir, aproximadamente uno de cada siete sistemas. Mientras tanto, Snow Leopard, Liono Mountain Lion juntan un 10,7% de todos los equipos Macsegún los datos recogidos en Estados Unidos. Hace un año, Googleanunció que iba a terminar con el soporte de Chromeen Windows XP a finales de 2015. Sin embargo, en Noviembre se echaron atrás y cambiaron la fecha límite a Abril de 2016. Además, aprovecharon para añadir los sistemasWindows Vistay los 3 de Applecomentados anteriormente.
Figura 1: Google Chrome ejecutando en OS X
La razón ha sido sencilla, Googleargumentó que esos sistemas operativos ya no tenían el apoyo activo de sus creados, Microsofty Apple. Eso no es cierto del todo, ya que Microsoftsigue dando soporte a Microsoft Vistacon actualizaciones de seguridad y emitirá parches para el sistema operativo hasta el 11 de Abril de 2017.
La aparición de nuevos sistemas operativos y la evolución tecnológica hace que muchos otros sistemas vayan quedando sin soporte. Esto también ocurre con los navegadores, y es que Google ha anunciado quitará el soporte a los sistemas operativos de AppleOS X Snow Leopard, Liony Mountain Lion en Abril de 2016. Además, los sistemas operativos de MicrosoftWindows XP y Vistatambién se verán afectados en la misma fecha.
El anuncio se produjo a través del blog oficial de Chrome en el que se indicaba que los usuarios de OS X 10.9 Mavericks o posterior tendrían soporte y recibirían actualizaciones continuas de Google Chrome. Según el director de ingeniería Marc Pawliger, Chromeseguirá funcionando en plataformas heredadas, pero ya no se recibirán actualizaciones periódicas, ni revisiones de seguridad a partir de Abril de 2016. Mientas que el anuncio del martes fue la primera indicación de cortar el soporte de Chrome, Google dio a entender que en Abril sólo se habían comprometido a soportar Windows XP hasta final de año, animando a la gente a actualizar a versiones más recientes de Windows.
Figura 1: Actualización de Google Chrome
La versión de OS Xdel navegador Chrome 46 ha mejorado mucho el rendimiento en el sistema operativo, consumiendo, además, menos memoria. A fecha de Septiembre de 2015, el navegador de Googleha presentado unos datos de uso enormes, alrededor del 65% del mercado global, mientras que Safariestá siendo utilizado por un 3,6%.
Desde que me hice con mi Macbook Pro de 13”, allá por 2012, siempre he lamentado no
haberlo adquirido con un disco SSD de serie, pero en aquel entonces el coste se disparaba bastante,
a la par que las capacidades de almacenamiento eran bastante limitadas. No escatimé en elegir el
modelo con procesador i7 y 8Gb de RAM, pero con un disco HDD convencional de 500 Gb. Desde entonces, siempre he pensado en cambiar mi disco por un SSD, o realizar un hack muy
habitual en la gente que dispone de estos modelos, que consiste en cambiar el lector de DVDinterno que viene con el portátil, por un SSD.
Para ello se utiliza un adaptador que se puede comprar online
en diferentes sitios de la red, para así poder operar con los dos discos, de cara a tener el sistema
operativo en el disco SSD (ya que ofrece mejores resultados en cuanto a rendimiento y velocidad), a
la par que utilizar el HDD que venía de serie para almacenar la información.
Pero como seguramente les sucede a todos los que trabajan en este sector, mi equipo es casi
una prolongación de mí mismo, que me acompaña allá donde voy, tanto si es para trabajar en la
oficina, como para ir de viaje en tren o en avión, así como para dar una de las miles de charlas que heimpartido durante mi etapa en estos dos últimos años en INCIBE. Así que no me he puesto a ello
hasta verme obligado por fuerza mayor, cuando el rendimiento del Macbook ha comenzado por
degradarse paulatinamente hasta quedar prácticamente inutilizable, debido a un problema físico
del disco HDD interno, además como suele suceder en estos casos en los que se cumple la dichosa
ley de Murphy, días antes de un viaje a Colombia en el que necesitaba el equipo para impartir una
charla y un taller práctico en un congreso al que fui invitado como ponente.
Figura 1: Dando charla con el MacBook después del arreglo
Es entonces cuando me dispuse a acometer la modificación descrita anteriormente,
adquiriendo para ello este kit de OWC, que además del propio disco duro SSD a instalar (un
Samsung 850 Evo en este caso), viene con un adaptador que permite incluir el disco en la bahía
donde normalmente está la unidad de DVD interna, así como una carcasa externa que permite
conectar dicha unidad cuando se requiera, y los destornilladores necesarios para efectuar la
instalación.
Figura 2: Instalación de una segunda unidad de disco
Como he relatado anteriormente, estuve postergando el momento de realizar el cambio
hasta que la situación llegó a ser crítica, pues cuando intentar trabajar con el Macbook se convirtió
en algo totalmente impracticable, el primer paso fue arrancar la “Utilidad de Discos” de cara a
buscar errores en el disco HDD original que venía de serie. El diagnóstico como imaginaba no era
nada alentador. El disco tenía errores, y la única posibilidad de intentar repararlo era ejecutando la
propia Utilidad de Discos pero desde el menú de recuperación de OS X, al que se accede iniciando el
ordenador mientras se pulsan simultáneamente las teclas comando y R, hasta que aparece el
logotipo de Apple.
Figura 3: Menu de recuperación de OS X
Al intentar reparar el disco desde la partición de recuperación, cumpliéndose una vez más la
ley de Murphy, el proceso se interrumpía antes de llegar a su conclusión, por muchas veces que lo
ejecutara, y la Utilidad de Discos sentenciaba. El disco no se podía reparar, y lo que es peor, el
equipo no volvería a arrancar.
Llegados a este punto, la solución era clara. Montar cuanto antes el nuevo disco SSD en el
equipo, realizar una instalación limpia del S.O, restablecer la información a partir de una copia de
seguridad de Time Machine, y posteriormente montar el disco HDD para ver si era posible acceder a la información que en él se encontraba almacenada. La primera pregunta que a uno se le viene a la
cabeza es: ¿Cómo instalo el S.O. en un disco totalmente virgen sin disco de instalación? (no había
descargado Yosemite ni creado un disco de instalación). Estaba claro que la respuesta pasaba por
utilizar la partición de recuperación de OS X, o la opción de recuperación por Internet.
Figura 4: Menú de recuperación por Internet de OS X
El esquema final iba a ser el descrito inicialmente: el disco SSD con el S.O instalado, montado
en la bahía de la unidad de DVD sobre el adaptador OWC que permitiera encajar el disco en el
espacio sobrante, y el disco HDD para almacenar la información en la bahía donde originalmente
venía. Pero como ahora disponía de un disco HDD inutilizable, era más rápido sustituir dicho disco
por el SSD en un primer paso para ir instalando el S.O. Aquí es cuando me surgió una duda que ni
tras indagar un poco en la red, ni incluso consultando con técnicos especializados de diferentes
servicios técnicos oficiales de Apple, pude resolver de manera clara: ¿dónde está la partición de
recuperación del sistema? ¿En el propio disco donde está el sistema, o en algún módulo de memoria
que pueda traer el equipo?
Figura 5: Extrayendo la unidad interna del DVD del MacBook Pro para montar disco SSD
Al final, sólo la experimentación lleva al conocimiento, así que tras sustituir en primera
instancia el disco HDD por el SSD (para no tener que así extraer la unidad de DVD ni montar el SSD
en el adaptador), me di cuenta que lamentablemente la partición de recuperación donde se
encuentran tanto el menú de recuperación OS X como el menú de recuperación por Internet se
encuentran en el propio disco HDD junto con el sistema operativo y el resto de información, por lo
que no me quedo otra que volver a ir a por todas, volver a colocar el HDD en su sitio, extraer la
unidad de DVD y montar allí el disco SSD. He aquí el resultado final:
Figura 6: Disco SSD instalado sobre OWX Doubler en la bahía original de la unidad interna de DVD
Otro aspecto interesante de la recuperación de OS X, es que dependiendo de la opción
elegida se instala una versión el sistema operativo u otra. Si se utiliza la recuperación normal, como
se indica desde la propia página de soporte de Apple se instala la versión más reciente del sistema
que hubiese instalada en el ordenador, en este caso OS Mavericks. Sin embargo, si se utiliza la
recuperación por Internet, se instala la versión con la que venía de serie el equipo, es decir, Lion.
Como recordamos, el disco original HDD se encontraba dañado, así que no fue posible instalar
Mavericks desde el menú de recuperación normal. Por lo que no me quedó otra que arrancar la
recuperación por Internet, para descargar e instalar Lion. Una vez que el equipo arrancaba ya desde
el SSD con el S.O Lion instalado ya era posible descargar e instalar Yosemite desde la Apple Store.
Figura 7: Descargando OS X Yosemite en el SSD con OS X Lion recién instalado con la recuperación por Internet
Lo curioso es que en este caso no se realiza una instalación limpia de Yosemite, sino que se instala
sobre la instalación de Lion, por lo que para poder disponer de una instalación limpia de la última
versión del sistema en el nuevo disco SSD tocaría instalarlo sobre Lion, volver a arrancar el menú de
recuperación, para ahora sí por fin instalar Yosemite desde cero, ya que como bien explicamos al comienzo del párrafo, desde el menú de recuperación normal se puede volver a instalar la versión
más reciente del sistema que hay instalada en el equipo.
Figura 8: OS X Yosemite en el nuevo SSD
Una vez que tenemos ya instalado el sistema operativo en el nuevo disco SSD montado en la
bahía donde originalmente iba el DVD, la odisea no ha terminado aún. Toca investigar acerca de cómo habilitar la famosa orden TRIM. Pero antes de nada, conviene aclarar qué es eso de la
instrucción TRIM, ya que es muy probable que los que no hayan experimentado aún con discos SSD
no conozcan tan siquiera la existencia del término.
Cada vez que se elimina un fichero en nuestro sistema, los datos continúan en el disco en
segmentos llamados bloques. Estos bloques no son eliminados hasta que no es necesario volver a
utilizarlos para escribir nuevos datos. Debido a limitaciones técnicas en el diseño de las memorias
flash NAND, sólo se pueden eliminar bloques completos. Esto quiere decir que cuando se necesitan
escribir nuevos datos, el SSD debe realizar previamente operaciones de limpieza y mantenimiento
de bloques, que consumen tiempo y ralentizan el proceso de escritura, ya que a priori la unidad de
estado sólido no dispone de la información acerca de qué bloques se pueden eliminar.
TRIM es una orden que nace con el objeto de solventar este problema, y permite al sistema
operativo comunicarle al SSD qué bloques de datos ya no están en uso, en aras de que puedan ser
eliminados directamente, evitando así un elevado número de operaciones durante el proceso de
escritura. El propósito de la orden es mantener la velocidad del SSD durante toda su vida útil
Figura 9: Borrado y escritura de bloques con y sin TRIM en discos SSD
Habilitar la orden TRIM es por tanto un must a la hora de trabajar con discos SSD, ya que en
caso contrario el rendimiento del disco se ve claramente degradado a lo largo del tiempo a medida
que todos los bloques hayan sido escritos al menos una vez. Activarlo es un tema que no tendría mayor trascendencia, si no fuese por lo que suele suceder en muchas ocasiones en el mundo Apple.
Hasta hace unas semanas, Apple no permitía habilitar el soporte para la instrucción TRIM en discos
SSD de terceros, que no fuesen los instalados por la propia compañía de la manzana. Esta limitación
se podía salvar en anteriores versiones de OS X, utilizando herramientas como Trim Enabler, de
Cindori (una compañía especializada en desarrollo de software para OS X), que permitía habilitar
TRIM en unidades de estado sólido de otros fabricantes.
Sin embargo, a la hora de lanzar Yosemite, Apple introdujo una nueva medida de seguridad
conocida como kext signing, que comprueba mediante validación de firma a la hora de arrancar el
sistema que todos los drivers cargados no hayan sido alterados por terceras partes, sino que hayan
sido verificados por Apple. Si alguno de los drivers ha sido modificado, Yosemite no lo cargará, de
cara a prevenir así la posible ejecución de software malicioso. El kext signing es una medida que
refuerza la seguridad de los dispositivos Apple, pero la contrapartida es que añade una clara
restricción a la hora de habilitar el soporte para TRIM en discos de terceros. De hecho, hasta hace
poco la única alternativa posible para realizar esto en Yosemite pasaba por deshabilitar el kext
signing, con el consecuente riesgo de seguridad que ello conllevaba, así como los problemas que
introducía a la hora de actualizar el sistema a medida que se liberasen nuevas versiones. Es por esto
que, en aquel momento tras investigar y documentarme un poco, en mi caso decidí no deshabilitar
el kext signing para poder activar TRIM, y esperar por contra en aras de ver si el escenario cambiaba
con el paso del tiempo.
Figura 10: Comando trimforce incluido en OS X Yosemite 10.10.4
La verdad que la espera fue muy corta y mereció la pena, porque tan sólo unos días después,
Apple liberó la versión 10.10.4 de Yosemite, en la que como novedad destacada incluía el soporte
para habilitar TRIM en discos SSD no originales de Apple, a través del comando “trimforce”. Gracias a
esta nueva funcionalidad, y a que la compañía ha facilitado un certificado válido kext a la gente de
Cindori, también es posible habilitar TRIM a través de las herramientas Trim Enabler 3.4 o Disk
Sensei 1.2. Como podéis imaginar, a día de hoy mi disco SSD, con Yosemite actualizado a su última
versión, ya tiene habilitado felizmente el soporte para TRIM, y mi equipo está listo para volver a la carga después de las vacaciones
Figura 11: Disk sensei 1.2 mostrando el informe de estado del SSD
Es curioso cómo de inmenso y apasionante es este mundo de la tecnología, en el cual cada
pequeña cosa que vayamos a hacer o investigar, puede ser tan grande o extensa como nosotros
queramos, pues el conocimiento está ahí, a golpe de clic, y nos toca a nosotros decidir hasta qué
nivel queremos profundizar. Digo esto porque en mi caso concreto, es muy probable que no me
hubiese preocupado de leer o documentarme detalladamente sobre el kext signing y las
implicaciones que podría tener deshabilitarlo, si nunca me hubiese tenido que enfrentar al problema
de habilitar TRIM en un SSD no original de Apple.
Son muchísimas las áreas de conocimiento que existen tanto en el mundo de la informática
como en el de la seguridad (que yo siempre digo que es casi más grande que el de la propia
informática en sí), así como infinitas la cantidad de horas que necesitaríamos para asimilar tan sólo
una pequeña parte de ese conocimiento. De ahí que que me considere un privilegiado por poder
dedicarme a algo que realmente me apasiona, pues requiere de tanto esfuerzo y sacrificio poder
estar mínimamente al día en este mundo, que en caso contrario sería un verdadero suplicio. Ya dijo
el Maligno hace unos días, que la seguridad informática es una amante caprichosa, así que la única
manera de que nuestra relación con ella sea idílica, es que la amemos con verdadera pasión
Revisando un poco como se encuentran los exploits públicos de ámbito local de los sistemas OS X queríamos hacer hincapié en este que fue publicado a finales del mes de Enero, aunque Applefue notificado mucho antes. El CVE-2014-8826 detalla la posibilidad de bypassearel mecanismo de protección Gatekeepervía un JAR malicioso. Esta vulnerabilidad ha sido reportada a Applea mediados del año pasado por la empresa Amplia Security. Cómo funciona GateKeeper en OS X
Gatekeeperes una característica que se encuentra disponible desde la versión OS X Lion 10.7.5 y versiones posteriores. Gatekeeper realiza chequeos sobre archivos y aplicaciones descargados desde Internet para prevenir la ejecución de código malicioso o no firmado. Por defecto, Gatekeepersolo se pueden ejecutar aplicaciones que provienene de la Mac App Store y desarrolladas por desarrolladores identificados. La vulnerabilidad que la empresa Amplia Security descubrió sobre Gatekeeper afecta a los siguientes sistemas operativos, aunque de acuerdo con la propia AppleOS X Mountain Lion 10.8.5 también sería vulnerable:
OS X Lion.
OS X Mavericks.
OS X Yosemite.
Si un usuario descarga una aplicación desde una fuente no segura y la ejecuta, Gatekeeperevitará su ejecución mostrando un mensaje de alerta, como el siguiente:
Figura 1: Alerta de protección de Gatekeeper para OSX
Un atacante puede hacer un bypassde esta característica y ejecutar código malicioso no firmado por un desarrollador, incluso si Gatekeeperestá configurado para ejecutar sólo aplicaciones que vengan de la Mac App Store. La técnica no es difícil y tiene como condición que Java se encuentre instalado en el equipo de la víctima.
¿Cómo realizar el bypass?
Lo primero de todo es crear un fichero JARque contenga el código que se quiere ejecutar. La gente de Amplia Security nos proporciona un código de ejemplo para esta PoC.
Figura 2: Código clase AmpliaTest
Hay que asegurarse de que el código está compilado con una versión menor o igual a la que se encuentra en el equipo de la víctima. Una vez realizado esto hay que crear una imagen de disco en formato DMG, ejecutando la siguiente instrucción:
Ahora hay que montar la imagen DMGy renombrar el UnsignedCode.jar a UnsignedCode, es decir, eliminar la extensión. Copiar el fichero UnsignedCode a PoC, y desmontamos la imagen. Una vez hecho esto, debemos subir el fichero DMGa un servidor web y probar a descargarlo con Apple Safariy abrirlo. Si todo ha ido bien se habrá realizado el bypassde Gatekeeper.
No ha pasado mucho desde que Apple lanzara la última actualización de Apple Safari, pero debido a problemas de funcionamiento tuvo que retirarla a medias para sacar estas nuevas versiones de Apple Safari para todos los sistemas operativos OS X de la compañía. Apple Safari 8.0.2, Apple Safari 7.12 & Apple Safari 6.2.2. ya están disponibles para descarga vía Software Updates y Mac App Store.
Figura 1: Actualización de seguridad para Apple Safari 8.0.2, 7.1.2 y 6.2.2
Respecto al contenido de seguridad, pues como se puede ver en la nota de la descarga en la página de soporte, es exactamente el mismo que se iba a corregir en las versiones anteriores, que podemos ver en el artículo de la Knowledge Base que se creó para ellas. En él se aprecia que hay 13 CVEs de seguridad corregidos, a los que hay que sumar la actualización de seguridad para los plugins de Adobe Flash Player. A actualizar tocan.
La app está disponible para sistemas operativos OS X Lion, Mountain Lion o Yosemite y la puedes descargar desde la web del proyecto: https://www.wickr.com
Como es lógico Apple no ha tardado en parchear esta vulnerabilidad mediante una actualización de sus sistemas operativos OS X Mavericks, OS X Mountain Lion y OS X Lion. Esto había sido prometido por la empresa de Cupertino durante el fin de semana, y desde ayer lunes ya tenemos disponible el parche bajo el nombre OS X Bash Update 1.0para los sistemas operativos mencionados anteriormente.
Tras el análisis exhaustivo al que ShellShock está siendo sometido, Applecomentó que la mayoría de los consumidores son afectados por la vulnerabilidad y que estaban trabajando para arreglar el problema. Esta solución se dio a conocer ayer. ShellShock lleva con nosotros muchos años, por lo que si alguien conociera dicha vulnerabilidad habría podido tomar control remoto de infinidad de sistemasdurante todos estos años. Esta información también nos trae que toda versión de Bash es vulnerable desde el comienzo. En nuestro servicio de pentesting persistente Faast nosotros estamos avisando a nuestros clientes desde el día que se hizo pública.
Figura 1: Actualización de Bash
Según Apple, OS X no te expone directamente a exploits remotos a menos que los usuarios configuren los servicios avanzados de UNIX. Cuando esta sentencia fue enunciada por un portavoz de Apple, también comentó que la empresa trabaja en proporcionar la ansiada actualización. Los usuarios de OS X Mavericks pueden descargar el parche a través del sitio de soporte de Apple, al igual que los usuarios que trabajan con OS X Mountain Lion y OS X Lion. También se puede conseguir el parche a través de Actualización de Software.
La salida del nuevo sistema operativo de Appleestá cerca, OS X Yosemite Preview 8 se encuentra en su recta final y ya está disponible la versiónpara desarrolladores. Así que, antes de que sea lanzada, y coincidiendo con el lanzamiento de iOS 8, Appleha liberado una nueva remesa de actualizaciones de seguridad para todos los productos OSX, entre los que se encuentran la nueva versión de OS X 10.9.5 Mavericks, el Security Update 2014-004 para OS X Lion y Mountain Lion, OS X Server en las ramas 2.2.3 y 3.2.1, y por supuesto Apple Safari en sus ramas 6.2 y 7.1.
Una larga lista de fallos de seguridad que han sido resueltos. Vamos a repasar un poco.
OS X Mavericks 10.9.5 & Secuirty Update 2014-004
En las actualizaciones, además de los bugs de seguridad resueltos se incluye soporte mejorado para VPN, USB y SMB. Esta actualización Mavericks proporciona soluciones para la fiabilidad de las conexiones con VPN que utilizan tarjetas Smart USB como identificadores. También se ha mejorado la fiabilidad de acceder a los archivos ubicados en un servidor SMB.
Figura 1: Actualización OS X Update 10.9.5
El número de bugs que han sido corregidos en estas actualizaciones está descrito en el Security Advisory y asciende a un total de 44 fallos de seguridad y está catalogada como una actualización crítica del sistema. Los usuarios de Apple pueden descargar estas actualizaciones a través de la herramienta Software Update y la Mac App Store y aquí están los enlaces de descarga directa:
Las actualizaciones de las ramas de OS X Server 3.X y 2.X cuentan con dos expedientes de seguridad con distintos número de bugs. Mientras que OS X Server 2.2.3 soluciona 1 bug crítico, OS X Server 3.2.1 arregla 9 CVEs de seguridad también críticos, por lo que debes aplicar las actualizaciones lo antes posibles.
Apple Safari 6.2 & Apple Safari 7.1
Por último, hay que destacar las actualizaciones de seguridad del navegador de Internet de Apple, ya que en el Secuirty Advisory se avisa de 9 CVE de seguridad críticos arreglados, por lo que se recomienda una actualización inmediata desde Software Update & Mac App Updates.
Ayer Apple ha puesto en circulación una nueva actualización de seguridad crítica para el navegador de Internet de la compañía Apple Safari. Las nuevas versiones, pues hay una para la rama 6.x y otra para la rama 7.x corrigen 9 vulnerabilidades críticas de corrupción de memoria que podrían llevar a una ejecución de código remoto y la toma de control del equipo con solo visitar una página web especialmente creada para explotarlas. Las nuevas versiones son Apple Safari 6.1.6 y Apple Safari 7.0.6 y están disponibles vía Software Updates y Mac App Store.
Las vulnerabilides están descritas en el Security Advisory que se ha publicado en la web de soporte de Apple en el artículo HT6367 y la lista de CVEs es la siguiente que se puede ver en la imagen. Ahora hay que esperar que en iOS solucionen los mismos bugs.
Figura 1: Lista de bugs solucionados en esta actualización
En su ciclo de parches de seguridad del mes de Julio, Oracle ha publicado un Critical Update que corrige 113 parches de seguridad en todos sus productos, entre ellos el framework de Java. Para los sistemas operativos OS X con Java 7, la casa ha publicado Java 7 Update 65, que está disponible desde el panel de control de Java en las Preferencias del Sistema desde el día 15 de Julio que se publicó.
Esta nueva actualización está clasificada como Highly Critical, ya que un atacante remoto podría ejecutar código en el sistema mediante un Applet malicioso e instalar un malware en la máquina, como ya sucedió en el pasado con OSX/FlashBack.
Figura 1: Actualización de Java 7 Update 65 disponible
Muchos de estos bugs afectan también a Java 5 y Java 6, pero para sistemas operativos OS X deberemos esperar a que Apple compile las nuevas versiones y las distribuya como actualizaciones para sus sistemas operativos Snow Leopard, Lion y/o Mountain Lion
Ayer Apple lanzó la nueva versión de su sistema operativo, OS X Mavericks 10.9.4. La actualización pone fin a varios problemas que venían afectando a los usuarios, como ciertas dificultades a la hora de conectarse a redes WiFi conocidas, o inestabilidad al reactivar el equipo desde el estado de reposo. Además, se incluye la versión 7.0.5 del navegador Safari.
Por otra parte, Apple también ha publicado una nueva actualización de seguridad, el Security Update 2014-003, en el que se recogen importantes actualizaciones para diversos componentes y drivers, que solucionan un total de 19 CVEs y la versión de Apple Safari 6.1.5 Todos los Security Advisories están disponibles aquí:
Dichas vulnerabilidades permitían, entre otras cosas, ejecución de código arbitrario por parte de atacantes y escalada de privilegios, comprometiendo gravemente la seguridad del equipo del usuario. Otro de los problemas solucionados, bastante sorprendente, es que en algunas ocasiones el bloqueo del equipo no deshabilitaba el teclado, con lo que un atacante era capaz de ejecutar comandos con el equipo bloqueado. El software está disponible para descarga en las siguientes URLs y a través de Mac App Update y Software Updates.
Desde Seguridad Apple os recomendamos actualizar cuanto antes, debido a que esta actualización tiene un nivel de seguridad Highly Critical y los bugs ya son conocidos por todo el mundo, lo que podría suponer su explotación activa en Internet.
Dentro de la larga lista de herramientas que componen el Arsenal de Black Hat USA 2014 hay varias de ellas para tecnologías Apple. Una en concreto es SpotLight Inspector, una solución para hacer análisis forense y extraer datos de gran utilidad de la base de datos que utiliza la herramienta SpotLight en OS X. Dicha utilidad es una mega-base de datos que indexa todo el contenido del sistema operativo, incluyendo aplicaciones, contactos, documentos y/o correos electrónicos.
Las opciones de indexación de dicha base de datos se configuran en las preferencias del sistema, y hay una pestaña de Privacidad para indicarle al sistema qué no se quiere tener indexado, pero por defecto se indexa absolutamente todo.
Figura 1: Opciones de indexación de SpotLight en las Preferencias de OS X
La herramienta SpotLight Inspector, que puede ser descargada para OS X proporcionando únicamente un nombre y un correo electrónico, se encarga de analizar dicha base de datos y extraer toda la información que de cada elemento la aplicación SpotLight almacena. Una vez que se arranca, como toda herramienta centrada en el análisis forense, genera un caso nuevo en el que se añaden todas las evidencias posibles.
Figura 2: SpotLight Inspector para OS X
Para conseguir la base de datos de SpotLight hay que tener una copia del volumen e irse a la ruta siguiente a conseguirla. Como se puede ver, solo tiene acceso el usuario root de lectura y escritura, por lo que si quieres probar en tu sistema debes acceder con privilegios y copiar ese fichero.
Figura 3: Ruta de la base de datos de SpotLight en OS X
Una vez que lo tengas se lo pasas a la herramienta, que tardará unos minutos en procesarlo entero para poner los datos de la base de datos en un formato que te sea cómo de procesar.
Figura 4: Añadiendo la base de datos a SpotLight Inspector para su análisis
El resultado es una estructura en la que puedes ver todos los metadatos de todos los elementos que tiene indexado el sistema SpotLight de cada uno de los objetos. Por ejemplo, de los correos electrónicos o las páginas web visitadas hay información casi completa, por lo que si el usuario ha borrado el correo, pero tenemos copias de las bases de datos de SpotLight se podrá seguir contando con esa información.
Figura 5: Metadatos de correos electrónicos extraídos de la base de datos de SpotLight
La herramienta está disponible también para sistemas Windows y Linux tanto para 32 como 64 bits, así que si eres un analista forense ya puedes adjuntar esta utilidad a tu juego de herramientas, que seguro que te viene bien en el futuro.
A finales del mes pasado Oracle liberó Java 7 para OS X con una nueva actualización crítica que solucionaba 37 CVEs de seguridad. Esa actualización solucionaba todos los bugs para todas las plataformas de OS X que tuvieran Java 7 instalado. Sin embargo, en las versiones de OS X con Java 6, es Apple quién aún distribuye los parches, y hemos tenido que esperar hasta ayer (viernes) para que Apple liberase Java for OS X 2014-1 que soluciona todos los bugs en Java 6 para los sistemas operativos OS X Mavericks, OS X Mountain Lion y OS X Lion. Las versiones anteriores están sin soporte.
La actualización está disponible vía Software Updates o Mac App Store en tu equipo y en descarga directa en el artículo de la knowledge base DL1572.
Figura 1: Java for OS X 2014-001
Casi al mismo tiempo, Oracle ha liberado Java 7 Update 60 que soluciona bugs del sistema, aunque no es una actualización crítica de seguridad. Si tienes Java 7 instalado en tu equipo solo debes irte al Panel de Control de Java y comprobar la actualización.
Al mismo tiempo que Apple publicó la actualización de iOS 7.1.1 y Apple TV 6.1.1, la compañía puso en circulación un Security Update para solucionar 13 CVEs de seguridad en los sistemas operativos a los que aún da soporte, es decir, Lion, Mountain Lion, y Mavericks.
Figura 1: Actualizaciones de Seguridad para Security Update 2014-002 disponibles
La lista de los 13 bugs de seguridad resueltos se puede ver en el Security Advisory publicado en la web de soporte y las descargas están disponibles en las siguientes URLs, además de a través de Software Updates y Mac App Store:
Esta actualización de seguridad, por desgracia y mala suerte para todos no soluciona los 16 CVEs de Webkit - solo en la versión de Mavericks - que fueron puestos en conocimiento de todo el público en el Security Advisory de iOS 7.1.1, y los deja sin parchear hasta la nueva revisión de Apple Safari, algo que por supuesto no ha gustado a ningún responsable de sistemas. De momento, lo único que se puede hacer es - o utilizar otro navegador - o esperar pacientemente a que Apple ponga los parches a disposición pública el martes que viene, antes de que nadie utilice los bugs para explotarlos en su provecho.