Mostrando entradas con la etiqueta parte 3. Mostrar todas las entradas
Mostrando entradas con la etiqueta parte 3. Mostrar todas las entradas

Antes de empezar a instalar herramientas de seguridad, hay que tener en cuenta que la imagen ISO pre-configurada esta destinada a ocupar el mínimo espacio posible, por lo que se ha reducido al mínimo las herramientas disponibles por defecto en la distribución para la RPi. En este artículo voy a instalar KaliLinux de nuevo en una tarjeta SD con el objetivo de expandir el sistema de ficheros y obtener espacio disponible total de la tarjeta de memoria SD en mi caso 16Gb.

INSTALACIÓN KALILINUX EN SD

Una vez que tenemos descarga la imagen especifica para RPi de la Kali Linux (véase parte 2), lo único que tenemos que hacer es copiar la imagen en la tarjeta de memoria utilizando el comando dd si nos encontramos en Linux, o como es mi caso, utilizar Win32 Disk Imager.


Una vez finalizado el proceso, podemos cargar nuestra tarjeta SD en RPi y arrancar el dispositivo.

Recordar que una vez instalada la Kali Linux en nuestra RaspberryPi necesitamos realizar los sencillos pasos de securización (véase artículo 2), para cambiar el password por defecto, y las claves pre-generadas de SSH.

EXPANSION DEL SISTEMA DE FICHEROS 

Los desarrolladores de KaliLinux han pensado en este inconveniente y han creado un script (RPi-wiggle) para automatizar el proceso de expandir el sistema de archivos y ocupar el resto de espacio disponible de la tarjeta SD donde se encuentre instalado. [Eso mismo también podría realizarse con el script de configuración de las raspberryPi rasp-config del que hablaré mas adelante].


En mi caso estoy utilizando una tarjeta SDHC 16Gb (Clase 10), por lo que mi sistema de archivos se extenderá hasta completar los 16Gb.

Descargo la ultima versión del script utilizando git y lo ejecuto:

# git clone https://github.com/dweeber/rpiwiggle
Ahora le damos permisos de ejecución al script y listo:

# cd rpiwiggle/
rpiwiggle# chmod +x rpiwiggle
rpiwiggle# ./rpiwiggle
Una vez finalizado el script, se reiniciará la RPi | perderemos la conexión en caso de estar conectados vía SSH, y una vez iniciamos de nuevo nuestra Kali, ejecutamos df -h para ver el espacio libre y ocupado que tenemos en el sistema:

# df -h

Por ultimo, es muy recomendables (si no lo habéis hecho aún) actualizar nuestra sistema Kali:

# apt-get update && apt-get upgrade -y
Llegados este momento, podemos empezar a añadir algunas herramientas de seguridad que no han sido incluidas por defecto en KaliLinux.

AÑADIENDO NUEVAS SECURITY TOOLS

Lo primero que voy a hacer es comprobar las fuentes (source.list) del repositorio del sistema de actualización que trae por defecto Kali Linux, por si fuera necesario añadir algún repositorio adicional.

# cat /etc/apt/source.list


Añadimos alguno repositorios más:

deb http://http.kali.org/kali kali main non-free contrib
deb-src http://http.kali.org/kali kali main non-free contrib
deb http://http.kali.org/ /wheezy main non-free contrib
deb http://http.kali.org/kali kali-dev main non-free contrib
deb http://http.kali.org/kali kali-dev main/debian-installer
deb-src http://http.kali.org/kali kali-dev main non-free contrib
deb http://security.kali.org/kali-security kali/updates main contrib non-free
Y volvemos a actualizar el sistema.

Por defecto la distribución KaliLinux para ARM prescinde de muchas de las herramientas de seguridad que la versión de escritorio si contempla, ahora voy a instalar algunas herramientas que considero básicos para cualquier #Pentester:

SSLTrip 


# apt-get install sslstrip -y
Dsniff (http://www.monkey.org/~dugsong/dsniff/) dsniff is a collection of tools for network auditing and penetration testing.


# apt-get install dsniff
Fierce (DNS Scan - http://ha.ckers.org/fierce/-):  Fierce is a very handy tool for DNS Analysis and it is something everyone should have in their armory. Fierce will first check if Zone transfers are allowed or not, if zone transfers are allowed, it will dump all the information and exit happily, otherwise it will brute force it

# apt-get install fierce
P0f (P0f is a tool that utilizes an array of sophisticated, purely passive traffic fingerprinting mechanisms to identify the players behind any incidental TCP/IP communications )

# apt-get install p0f
Scapy is a powerful interactive packet manipulation program. It is able to forge or decode packets of a wide number of protocols, send them on the wire, capture them, match requests and replies, and much more.

NOTA: Se requiere descargar gran número de dependencias lo que supone disponer de al menos 293Mb de espacio libre.

# apt-get install tcpdump tcpreplay graphviz imagemagick python-gnuplot python-crypto python-pyx  ebtables python-visual sox xpdf gv hexer librsvg2-bin python-pcapy


INSTALANDO METASPLOIT

Por supuesto no podía faltar metasploit ! (tenemos la opción de instalarlo como un paquete o bien utilizar el script de Carlos Perez (@darkoperator) que instalará todo lo necesario (dependencias incluidas para la ultima versión de metasploit disponible) desde github.

Sin embargo he decidido realizar los pasos del script manualmente, tal y como viene expuestos (pues no deseo instalar ni Armitage, ni la ultima versión de nmap, sino mantener la versión que tengo instalada mediante el sistema de paquetes de Kali).

Por la actualizaciones de metasploit, no hay que preocuparse, se puede ejecutar el script de actualización siempre que se desee desde su directorio de instalación /opt/mestasploit-framework

NOTA: Este proceso es lento, ser pacientes.

1- Paso - Instalación de dependencias de Metasploit
# apt-get install build-essential libreadline-dev libssl-dev libpq5 libpq-dev libreadline5 libsqlite3-dev libpcap-dev openjdk-7-jre subversion git-core autoconf postgresql pgadmin3 curl zlib1g-dev libxml2-dev libxslt1-dev vncviewer libyaml-dev ruby1.9.3
Una vez todo este correctamente instalado:
# gem install wirble sqlite3 bundler 

2- Paso - Configuración PostgreSQL

Iniciamos postgres y generamos el usuario y la base de datos con la que trabajará metasploit. Cambiamos al usuario postgres y creamos un usuario en la base de datos:
#su postgres
createuser msf -P -S -R -D
createdb -O msf msf
exit

Por ultimo preparamos el sistema para que inicie el motor de base de datos en el arranque del sistema operativo, y este listo para ser utilizado con metasploit
update-rc.d postgresql enable

3- Descargamos una copia de Metasploit-Framework
cd /opt
git clone https://github.com/rapid7/metasploit-framework.git
cd metasploit-framework

Instalamos con el simple comando:
cd metasploit-framework 
bundle install
(se encargará de bajar las dependencias ruby que sean necesarias, y generar los enlaces para ejecutar metasploit).

Si no se hubieran generado los enlaces en el directorio /usr/local/bin automáticamente para ser usado con cualquier usuarios en el terminal de consola, ejecutar:
cd metasploit-framework
sudo bash -c 'for MSF in $(ls msf*); do ln -s /opt/metasploit-framework/$MSF /usr/local/bin/$MSF;done'

4- Creación de los parámetros de configuración que utilizará el framework metasploit
sudo nano /opt/metasploit-framework/database.yml
En este archivo se añade:
production:
 adapter: postgresql
 database: msf
 username: msf
 password: ***
 host: 127.0.0.1
 port: 5432
 pool: 75
 timeout: 5
El password que habéis utilizado para acceder a la base de datos!

Por ultimo crear un una variable de entorno que será utilizada por el framework metasploit y/o armitage (en caso de que este instalado).
sudo sh -c "echo export MSF_DATABASE_CONFIG=/opt/metasploit-framework/database.yml >> /etc/profile
source /etc/profile"

Ya esta listos para iniciar metasploit en nuestra raspberryPi, !ojo! llevará varios minutos iniciar el framework, no obstante, una vez iniciado todo funcionará perfectamente.


7 minutos "tarda" en iniciarse msfconsole! :)



Por su puesto os recomiendo realizar también los pasos de mi artículo "preparando KaliLinux para metasploit".

Gracias a Carlos Perez ~ DarkOperator ( ) por el artículo y script de instalación de Metasploit.

#ST2Labs
www.st2labs.com

Referencias:
[1] http://bahansen.info/the-attack/preparing/
[2] http://www.darkoperator.com/installing-metasploit-in-ubunt/


Continuamos con la tercera y ultima entrega del trabajo trabajo sobre python como lenguaje de Ataque y Defensa, realizado por Fernando Crespo Ingeniero de Telecomunicaciones como proyecto fin del Curso Experto Seguridad TIC. Ahora convertido en Máster de Seguridad TIC.

INDICE

Como ya os contaba en el artículo anterior Fernando decidió realizar un trabajo sobre de Hacking tras finalizar el Curso Exp, y decidió aplicar y ampliar algunos de los conceptos adquiridos en el modulo de Hacking y pentesting impartido por mi (@rhodius - @ST2Labs - @seguridadparatodos), ahora convertido en un Máster de Seguridad TIC (+Info).

Hemos visto que Python puede convertirse en una potentísima suite para hacking con su fácil integración con poderosas herramientas como nmap y exploitdb. Pero, ¿podemos defendernos también con Python? La respuesta es que sí. Ya se ha mencionado que una de las mayores ventajas de Python es la enorme cantidad de librerías que posee y su integración con APIs de terceros.

Así, puede ser usado cómo herramienta de análisis forense (extracción de metadatos, extracción de datos del registro de Windows, bases de datos sqlite, etc.) según se propone en [O’Connor, 2012], o firewalls (https://pypi.python.org/pypi/firewall) pero no es la única forma de defenderse con Python.

En esta sección mostraré cómo implementar la API de VirusTotal con la que se ha construido un antivirus con funcionalidad de escaneo de directorios y capacidad para generar reportes en texto y excel. Empezaremos introduciendo al lector en VirusTotal, su historia y el modo de empleo habitual.

Introducción a VirusTotal. Un poco de historia

VirusTotal [https://www.virustotal.com, 2013] es un servicio online gratuito que realiza análisis de virus en ficheros de hasta 64MB comparándolo con 46 sistemas diferentes de antivirus. También permite escaneo de urls sospechosas aunque en el scanner desarrollado en python para este trabajo sólo se hará de ficheros.
Creado por la empresa malagueña Hispasec Sistemas, en 2007 fue seleccionado por PC World como uno de los mejores 100 productos. Su éxito lo llevó a que fuera adquirido por Google en 2012.

La API de VirusTotal. Implementación con Python

La API de VirusTotal (https://www.virustotal.com/es/documentation/public-api/) permite la creación de scripts para acceder a la información recogida por VirusTotal de los 46 motores de antivirus. El formato de las peticiones es HTTP(S) POST y las respuestas tienen formato JSON. Se permiten hasta cuatro peticiones (escaneo, re-escaneo, o recoger informe) por minuto (a menos que se vaya a aportar recursos a VirusTotal y no sólo recoger los informes).

La API es gratuita y para empezar a usarla hay que registrarse en la VirusTotal Community y al crear la cuenta tendremos una clave con la que podremos implementar la API.

VirusTotal Python Scanner (vtps). Un antivirus en Python

En este apartado mostraremos al lector la estructura, código fuente y modo de uso de VirusTotal Python Scanner, el antivirus creado para este proyecto. Cómo ya se ha comentado, para implementar la API además de la clave que obtenemos al registrarnos, necesitamos el host y la url para escanear, re-escanear y solicitar resultados (en la documentación de la API puede consultarse). Dado que se recomienda no
hacer scanning de archivos ya escaneados (el re-escaneo se hace sobre el hash del fichero, no sobre éste entero), guardaremos éstos últimos en un fichero (hará de base de datos), de forma que si ya se escaneó, sólo permitirá un re-escaneo o la solicitud de informes. Toda esta configuración más la necesaria para generar logs y la localización de la base de datos, es almacenada en un fichero xml y contrastada con un esquema.

Es por ello que lo primero que necesitamos es una clase para parsear XML, la cual se encuentra en textitxmlreader.py, otra para guardar la configuración, config.py y otra para crear los logs (vtpslogger.py). Por otro lado, los métodos para guardar y obtener información de la base de datos (fichero con formato JSON), usaremos database.py y target.py.

Por otro lado, las funciones propias del antivirus las encontraremos en scan.py, scanningwd.py (modo de escaneo en el que se observa una carpeta hasta que un fichero nuevo es creado en ella), rescan.py y report.py. Éstos llamarán a los métodos de la API encapsulados en vtapi.py que realizará los HTTP POST a VirusTotal mediante postlib.py (éste fichero hay que descagárselo de la página).

Para presentar un un simple menú de las acciones a realizar se ha creado menu.py. Elscript que carga toda la configuración inicial y llama a las clases anteriores es vtps.py. El contenido de los ficheros de configuración y el código fuente del programa puede verse en el Anexo I.

Ejemplos de uso

En esta sección se muestra distintos modos de empleo del programa creado, el escaneo simple y en modo watchdog, el re-escaneo y la generación de informes en texto y excel.

Menú de opciones

Tras ejecutar vtps.py se mostrará un menú con las opciones a elegir tal y como muestra la siguiente ilustración. La primera es para un escaneo del fichero, la segunda para el modo wathdog, la tercera para hacer un re-escaneo, las opciones cuarta y quinta son para la obtención de informes en textto y excel (respectivamente) y la última para salir del menú.

Ejemplo - VirtusTotal con python.

Escaneo simple, watchdog y re-escaneo

Para hacer un escaneo sólo es necesario que el fichero no haya sido escaneado antes (no debe estar en la base de datos). Si en el menú anterior elegimos la primera opción, nos pedirá un nombre de fichero o directorio. En este caso, debemos elegir un fichero para que no nos devuelva un error (no se hace un escaneo simple de un directorio). Para hacer la prueba usaré un troyano que he descargado de una web que contiene virus para descargar y probar: http://vx.netlux.org

Ejemplo - Escanear archivo con virtustotal y python
En la base de datos habrá añadido una entrada mientras hacía la correspondiente llamada a al API de VirusTotal con el fichero.


Si ahora elegimos el modo watchdog, Vtps se quedará esperando nuevos ficheros en ese directorio.

Ejemplo - VirusTotal con python
Si probamos con el mismo troyano con otro nombre, detectará que ese fichero ya fue escaneado por que tiene el mismo hash que el escaneado anteriormente (al cotejarlo con la base de datos) y nos dirá que o bien re-escaneemos (no actualiza la base de datos) o bien solicitemos un informe. Si probamos con otro fichero hará el escaneo y lo añadirá a la base de datos.


En la base de datos del nuevo fichero aparece:


Para hacer un re-escaneo, seleccionamos la opción tres. Si el fichero no ha sido previamente escaneado (no está en la base de datos) dará error (si no existe también aunque no se muestra aquí). Hay que aclarar que lo que busca no es el nombre del fichero, sino su hash. De hecho, si probamos con el troyano con otro nombre:

Ejemplo - VirusTotal con python - rescan
Generación de informes en texto y xls

Cuando se seleccionan las opciones 4 y 5 se solicita al usuario el nombre del ficherodel que se quiere obtener un informe. Vtps buscará su hash en la base de datos y si lo encuentra realizará la llamada a la API de VirusTotal para generar informes que contendrá el análisis de 46 sistemas de antivirus. Una vez obtenido el resultado (JSON), Vtps lo transformará en un fichero de texto o xls (Microsoft Excel) según la opción elegida.

Ejemplo - VirusTotal generación informes
En la carpeta reports se habrá creado un fichero con nombre la fecha y la hora de la solicitud del informe y extensión .txt. La siguiente captura muestra algunos de los resultados obtenidos

Ejemplo - VirusTotal reporting text python
Ahora probamos el reporte en excel:

Ejemplo - VirusTotal exportando a Excel

Hasta aquí! el artículo espero que os haya gustado.
Si alguien quiere el documento completo puede ponerse en contacto a través de info@seguridadparatodos.es

#ST2Labs
@st2labs

















En la primera y segunda parte se ha realizado un análisis de la información (gathering) con el objetivo de disponer de una completa visión sobre la aplicación (alcance y magnitud). En este artículo se van a describir los pasos para realizar una completa revisión del código fuente de la aplicación, es lo que se conoce como Análisis Estático.

INDICE:                                                                                                                

E2: Static Analysis

En esta etapa se llevará a cabo una revisión del código fuente de la aplicación, esto puede realizarse de dos formas diferentes:

1 . Obteniendo el código fuente disponible y proporcionado por el equipo de desarrollo de la aplicación. En caso de ser una aplicación open-source, se accedería a su repositorio público.

2. Utilizando ingeniería inversa, de forma que se obtiene el código de la aplicación utilizando de-compiladores y herramientas de manipulación a bajo nivel.

Desde el punto de la seguridad los mejores resultados de una auditoria de aplicaciones se suceden cuando se tiene pleno acceso al código fuente de la aplicación, y se dispone de un entorno de pruebas para la ocasión.

A continuación, se detallan las actividades y tareas en las que se divide una Auditoria de código para aplicaciones móviles.

E2.A1: Requisitos necesarios para la Auditoria de Código                                      

E2.A1.T1 Obtener el código fuente de la aplicación a auditar.

E2.A1.T2 Revisión e identificación de los permisos requeridos por la aplicación (AndroidManifest.xml, iOS Entitlements).

E2.A1.T3 Revisión de las configuración de la aplicación en busca de estados incompletos o errores, configuración insegura, etc.

E2.A1.T4 Identificación y listado de las librerías de terceros utilizadas por la aplicación móvil. 

E2.A1.T5 Comprobar si el dispositivo Android es posible obtener acceso root / jailbreak, si es así, buscar información sobre como es posible realizar con éxito el proceso.

E2.A1.T6 Revisar e identificar las librerías dinámicas que son cargadas por la aplicación para su funcionamiento.

E2.A1.T7 Identificar los permisos que la aplicación solicita para su funcionamiento, y comprobar que dichos permisos son realmente necesarios para su correcto funcionamiento, algunas aplicaciones requieren más permisos de los que realmente necesita.

E2.A1.T8 Identificar los puntos de entrada de información, y comprobar los controles de seguridad aplicados, Ejemplos:
                 > Recepción de datos de otras aplicaciones | sanitización de input / output data
                 > Recepción de SMS
                 > Lectura de datos de una WEB
                 > Lectura de datos de un fichero almacenado en la tarjeta SD.

E2.A2: Revisión del proceso de Autenticación                    

E2.A2.T1 Identificar las líneas de código que se encargan de manejar la autenticación de los usuarios a través de la interfaz gráfica.

E2.A2.T2 Analizar y evaluar el posible uso de técnicas de ataques de fuerza bruta para la obtención del acceso.

E2.A2.T3 Identificar y determinar que otros métodos, aparte del user / password, utiliza la aplicación:
             > Token
             > Información contextual (localización, IMEI, etc)
             > Certificados
             > Gestión de las sesiones de usuario (intercambios de información de forma segura, etc)


E2.A2.T4 En caso, de detectar la utilización de métodos visuales como método de contraseña, se deberá revisar el método de mapeado utilizado con objeto de verificar que se utiliza con un adecuado nivel de entropia.

E2.A2.T5 En caso, de que la aplicación se comunique con otras aplicaciones, se por el medio que sea (WiFi Direct, Android Beam, NFC, etc), se deberá revisar la gestión adecuada de la autenticación remota de los usuarios, prestando especial interés en la gestión de los errores de autenticación (fail logon).

E2.A2.T6 En caso de utilizar el método Single Sign On, identificar que método esta  utilizando (librerias,etc)

E2.A2.T7 Si se utiliza los SMS para la autenticación, comprobar que no se transmite información sensible comprometedora, utilización de OTP (Password de una sola vez), ¿Que otras aplicaciones tiene acceso a dichos datos?

E2.A2.T8 En caso de utilizar las notificaciones Push ¿Como gestionar la aplicación la verificación de la identidad del servidor de los datos?

E2.A3: Revisión de los niveles de Autorización de la aplicación                               

E2.A3.T1 Identificar y revisar los permisos que se aplican sobre los ficheros creados durante la ejecución de la aplicación.

E2.A3.T2 Verificar que la aplicación no tiene acceso a otras funcionalidades fuera de los establecido en su rol.

E2.A3.T3 Identificar y localizar puntos potenciales de escalada de privilegios como son:
              > Bases de datos
              > Fichero en texto plano
              > HTTP


E2.A3.T4 Identificar puntos conflictivos del código fuente de la aplicación que pueden saltarse el flujo normal de funcionamiento de la misma. Ejemplo: Puntos de excepción.

E2.A3.T5 En caso, de tratarse de una aplicación con licencia, se debe examinar con detalle el método y el procedimiento de gestión de la misma: resgitro, activación, modificación, expiración, etc.

E2.A4: Revisión de los métodos de almacenamiento de Información                           

E2.A4.T1 Cifrado de la Información

             > Identificación de los algoritmo de cifrado utilizados.
             > Examinar el método de gestión de la claves de cifrado.
             > Identificar los puntos débiles de dicho método de cifrado.


E2.A4.T2 Identificación y localización de los puntos donde la aplicación almacena cualquier tipo de información (tmp, SD, etc..), incluidos los servicios de backup en la nube (Dropbox, Google Drive, etc)

E2.A4.T3 Analizar el tipo de información expuesta a API de terceros, como por ejemplo: el acceso a los contactos.

E2.A5: Gestión de las comunicaciones Seguras                              

E2.A5.T1 Identificación y análisis de uso de los métodos de conexión accesibles por la aplicación (WiFi, 3G, etc)

E2.A5.T2 Análisis de la gestión de la conexión segura de la aplicación al pasar de un medio de comunicación a otro. Ej: pasar de estar conectado con WiFi a 3G, o incluso utilización mixta.

E2.A5.T3  Identificación y verificación de los certificados utilizados por la aplicación.

E2.A5.T4 Análisis de los certificados: caducidad, autoridad de certificación, válidez, revocación, seguridad, etc.

E2.A6: Información Sensible Accesible (Information Disclosure)                     


E2.A6.T1 Identificación de los puntos de exposición de información. Ejemplo: logs, cache, archivos de configuración, etc.

E2.A6.T2 Análisis de los puntos de exposición de información (PEI) para identificar posibles fugas de información sensible.

E2.A6.T3 Verificación de los PEI en los mensajes de error de la aplicación. Asegurarse que estos mensajes son correctamente gestionados impidiendo que se muestre información considerada sensible.

E2.A6.T4 Identificar y evaluar la información accesible e intercambiada por las librerías (API) de terceros.

Por ultimo si la aplicación (Apps) es una versión WEB para móviles, se deberán de tener en consideración las vulnerabilidades WEB, es decir, Analizar la aplicación en busca de:

    > XSS y HTML Injection.
    > Command Injection (si la aplicación utiliza una shell para desarrollar parte de sus tareas)
    > SQL Injection (si utiliza base de datos, o se comunica con alguna)
    > Gestión de sesiones (Cookies)
    > Proceso de Autenticación
    > Seguridad en HTML5

En todo análisis estático es muy útil realizar búsqueda en el código de cadenas de caracteres y expresiones regulares,  ya que estas podrían estar relacionadas con puntos de entrada / salida de Datos.

Con esto finalizaría el Análisis estático de la aplicación móvil, pasando a continuación a evaluar y analizar la seguridad de la aplicación en funcionamiento, es lo que se conoce Análisis Dinámico.

Pero esto, daría para hablar de ello en otra serie de artículos. Espero que os haya gustado, si es así no olvidéis compartirlo por la redes sociales.

Gracias,
un Saludo.

REFERENCIAS

A pesar de las vulnerabilidades detectadas en Windows 8, nada más ser puesto a la venta, no me gustaría dejar de mencionar otras mejoras de seguridad, que para nada tienen que ver con las vulnerabilidades publicadas.

Por tanto, manteniendo me fiel al criterio utilizado para realizar esta serie de artículos, voy a seguir con  la tercera entrega de la panorámica de las medidas de Seguridad en Windows 8 Pro.

Antes de continuar vamos a recordar cuales son las principales medidas de Seguridad incluidas en la nueva versión de Windows:
  • Antivirus incluido de serie: Microsoft Defender.
  • Protección de arranque (BIOS), nuevo inicio Seguro: Secure Boot (UEFI).
  • Navegación Segura con Internet Explorer 10 y SmartScreen.
  • Protección Infantil.
  • Generación de nuevas contraseñas mediante imágenes.
  • Interfaz METRO que incluye un Sandbox para ejecución segura de aplicaciones.
  • Mejora en el sistema ASLR (Address Space Layout Randomization) y DEP (Data Execution Prevention), protección de acceso y ejecución de procesos no autorizados.
  • Mejoras en el Administrador de Tareas.
*(En negrita, las medidas que ya se han visto en la segunda entrega de la serie).


Protección Infantil

Un aspecto fundamental en la educación de un niño y cuya responsabilidad recae en los "padres" es la capacidad de transmitir y hacer que los valores que se le inculcan traspasen las fronteras y puedan ser aplicables al mundo digital. Microsoft ha querido dotar a los "padres" de una herramienta, mediante la cuál, se pueda realizar un seguimiento del comportamiento de los niños cuando se conectan a Internet, bloquear el acceso a determinado tipo de contenido, e incluso controlar el uso que se hace de ordenador, restringiendo el acceso y el tiempo, a determinados programas y juegos.

Aunque quizás este pensando en una invasión de la intimidad, hay que tener en cuenta que las nuevas generaciones acceden cada vez más pequeños a Internet, y fruto de ello, en ocasiones se hace necesario disponer de las herramientas y/o medidas técnicas adecuadas que ayuden a los "padres / tutores" en dichas  labores de educación.

Windows 8: Configuración protección infantil
Estoy de acuerdo, que a ciertas edades, el responsable es el "tutor / educador / padres" y por tanto es fundamental estar informado sobre las actividades que hacen éstos mientras están conectados a Internet, asegurarse que acceden al contenido adecuado, de forma que se puedan tomar las medidas preventivas correspondientes ante situaciones "sospechosas". 

Por ello, es de agradecer que el propio sistema operativo facilite esta tarea, sobre todo, en aquellos casos en los que se necesiten. En mi opinión, este tipo de herramientas puede ayudar y facilitar la tarea de los "padres" en cuanto, al comportamiento y uso de los niños en la red.

Después de activar la protección infantil para las cuentas de los niños, puede ajustar la configuración individual que desea controlar:
  • Filtrado web. Puede asegurarse de que los niños solo visiten sitios web adecuados para su edad y decidir si permite la descarga de archivos. También puede bloquear o permitir sitios web determinados.
  • Límites de tiempo. Puede elegir las horas en las que los niños pueden iniciar sesión en el equipo e, incluso, establecer límites de tiempo distintos para cada día. Si un niño tiene la sesión iniciada cuando se termina el tiempo asignado, la sesión se cierra automáticamente.
  • Restricciones de juegos y la tienda de Windows. Puede controlar a qué juegos juegan los niños, establecer un nivel de clasificación por edades, elegir los tipos de contenido que desea bloquear y decidir si desea bloquear o permitir juegos específicos.
  • Restricciones de aplicaciones. Puede evitar que los niños ejecuten aplicaciones que no desea que usen.


  • Administración de contactos: controla con quiénes pueden comunicarse tus hijos cuando usan Windows Live Messengery Hotmail.


  • Informes de actividades: consulta informes sobre el uso que tus hijos dan al equipo (los sitios web que visitaron o intentaron visitar tus hijos, el tiempo que pasaron frente al equipo y los juegos y programas que usaron).

Windows 8: Informe de actividad [2]
Una vez activado y configurado la protección infantil, desde la interfaz de administración, accediendo como administrador a la información de las cuentas, podrás acceder a un completo informe, registro de actividad, de las acciones que se han llevado a cabo desde ese tipo de cuenta, como páginas visitadas, aplicaciones ejecutadas,etc

Windows 8: Niveles de clasificación protección infantil
También podemos aplicar un nivel de clasificación según la edad del usuario, y basándose en los estándares de clasificación, como por ejemplo el sistema PEGI (Pan Eurepean Game Information) [véase imagen superior].

Si quieres esta característica en tu Windows 7, bájate la aplicación "control parental". Lo cierto, es que esta característica puede llegar a ser útil  en ciertos entornos, como una sala de informática en un colegio mayor, pues ayudará al Administrador a monitorizar los equipos y usuarios.

Generación de nuevas contraseñas mediante imágenes

En esta nueva versión de Windows la gente de Microsoft ha querido introducir un nuevo método de autenticación en el Sistema, el cuál esta basado en patrones sobre imágenes.

Windows 8 Pro: Autenticación mediante imágenes
Esta opción de autenticación, fue introducida en Android con el desbloqueo mediante patrones, que, sin embargo, presenta un sistema de autenticación bastante limitado; en esta ocasión Microsoft analiza en su blog, la novedad de añadir estos patrones a una fotografía de modo que las probabilidades que existen en la combinación de los mismos aumente exponencialmente. 

En la siguiente imagen, se observa como con un simple gesto, sea este lineal, circular o "un click", incrementa la seguridad de la contraseña considerablemente, con respecto al número de combinaciones posibles:

Windows 8 Pro: Password vs Gestures
Si además permitimos los "multigestos", es decir concatenar diferentes gestos para crear una única contraseña, las combinaciones posibles se disparan incluso para una cantidad de "gestos" relativamente bajos. Véase la siguiente imágenes, donde se compara el espacio probabilistico de las contraseñas alfanuméricas con las basada en los patrones:


Si embargo, a pesar de todo, el experto en Seguridad Kenneth Weiss, el padre de la autenticación de "doble-factor" y actualmente trabaja en el método de autenticación de "tres-factores", hace unas declaraciones donde afirma que la autenticación propuesta por Microsoft es un "juego de niños", pues para romper la seguridad bastaría con observar detenidamente la pantalla y ver los movimientos que se hacen con los dedos, al cabo de un rato probando esos movimiento, asegura, que es muy fácil descubrir el patrón correspondiente.

En el caso de las pantallas táctiles, es muy posible, que efectivamente, el método sea vulnerable y débil  pero en el caso de un equipo de escritorio que no tiene pantalla táctil, seguiría siendo un método de autenticación robusto,. seguro y fácil de recordar ¿no?.

Protección de arranque (BIOS)
Nuevo inicio Seguro: Secure Boot (UEFI)

Los intentos por proteger el sistema de arranque en los equipos de escritorio y/o pórtatiles, no es una novedad. Bien es sabido que existen multitud de agentes Malware que aprovechan ésta debilidad para ocultarse en la memoria de la BIOS, y replicarse cada vez que son eliminados. En los últimos años, está técnica ha sido utilizada principalmente por agentes malware especializados en suplantar elementos esenciales del sistema operativo, en particular el "boot loader" o sistema de arranque, son lo que llamamos "rootkits / bootkits".

El proceso normal de arranque del equipo es:

Source: ESET Laboratorio.
Si embargo, éste proceso tiene una debilidad de no verificar quién modifica el "boot loader" (Programa de arranque), es aquí donde algunos Malware actuán, modificando el sistema de arranque para su objetivos "maliciosos".

El sistema de protección propuesto por Microsoft, Secure Boot, funciona de la siguiente forma:

Source: ESET Laboratorio.
Secure Boot impide que la computadora inicie el sistema operativo si el boot loader no posee un certificado digital válido evitando la modificación arbitraria de un agente malicioso, sin embargo, como se requiere de un certificado válido para que se pueda modificar, una vez activado el sistema de arranque seguro, no podríamos instalar otro sistema operativo (ejemplo Linux) y utilizar un arranque dual, pues el proceso habitual al intentar instalar Linux, sería reemplazar el "boot loader" por otro, para realizar el arranque Dual, y el sistema "Secure Boot" lo impedirá al no estar firmado con un certificado válido.

Algunas distribuciones de Linux como son Ubuntu y Fedora, implementan mecanismos para poder instalar en equipos compartidos con Windows 8 y Secure Boot activo. No obstante, no todos los equipos son compatibles con el sistema de arranque: secure boot, hay que comprobar que nuestra "placa base" es compatible con éste tipo de inicio, una vez comprobado, será necesario activar la funcionalidad en el menú  de la misma placa base.

Ejemplo de configuración.

Algunas consideraciones si se desea instalar Windows 8 con el sistema Secure Boot activado. Se recomienda crear un disco de instalación compatible y preparado para el nuevo sistema de inicio. En el siguiente enlace, se explica como conseguir una instalación de Windows 8 desde un USB preparado para Secure Boot. [NTFS formatted USB sticks do NOT work with UEFI]

Por supuesto, este sistema de Micrsoft no esta exento de polémica, no solo por no permitir la instalación de otros sistema operativos, sino porque evita la instalación de cualquier Drivers, que no este firmado por los certificados de Microsoft. Es por ello, que hay quienes aseguran que es una estrategia de Microsoft para monopolizar los equipos, en mi opinión, la activación o no de "secure boot" dependerá del perfil del usuario, por tanto, dejo a vuestra elección la activación o no de este sistema de arranque. En mi caso, no lo voy a activar, pero ! es solo mi decisión personal ¡. [Más información]

NEXT ...

En la siguiente entrega hablaremos sobre:

 - La Interfaz METRO y sus medidas de seguridad.
 - Las mejoras introducidas por Microsoft en las técnicas ASL y DEP.
 - Nuevas características del Monitor de Procesos (Administrador de Tareas) de Windows.


Referencias:

[1] Windows 8: Protección infantil.