February 2007 - Artículos
Bitlocker (IV): Algoritmos de autentificación para el cifrado de Disco
Cuando se determina la necesidad de implementar un mecanismo para establecer un cifrado, así como el mecanismo para su descifrado tiene que cumplir ciertas normas y criterios para no hacerlo inviable:
- No debe repercutir de forma muy negativa en el rendimiento general en procesos de escritura y lectura.
- Debe ser transparente para los mecanismos de funcionalidad de las aplicaciones con las que trabajamos.
- Debe ser lo suficientemente robusto para evitar ataques mediante ataques de permutación o por manipulación de datos y obtención de resultados en texto plano.
A la hora de determinar un sistema de implementación para el cifrado de la unidad de disco para bitlocker, Microsoft tuvo en cuenta determinados factores y evaluó la posibilidad de implementar algunos de estos sistemas de implementación de cifrado. Uno de los elementos que se tuvieron en cuenta es que Bitlocker no debería consistir solamente en un elemento de cifrado, sino que debería garantizar mediante un sistema de autenticación de datos, el evitar que una manipulación de los datos cifrados pudieran introducir una modificación a ciegas, en el código del S.O., provocando una debilidad en el mecanismo de arranque con Bitlocker o para conseguir una escalada de privilegios en el sistema. Además debería evitar el permitir la predicción de la función de cifrado mediante la manipulación de datos cifrados y la obtención de datos en texto plano.
Autenticación MAC.
El mecanismo natural de implementación de cifrado para evitar estos mecanismos de ataque, es la utilización de MAC (Message Autenthication Code) a cada bloque de datos del disco. El problema que plantea el uso de este mecanismo es que necesitaríamos establecer una reserva de sectores para almacenar el MAC, con lo cual tendríamos un uso limitado en la capacidad de almacenamiento de hasta un posible 50% de almacenamiento. Además bajo las condiciones actuales de implementación de este mecanismo en sistema de altos procesamiento de datos con accesos de lectura y escritura, podremos encontrarnos con problemas de rendimiento o la corrupción de sectores. Si no queremos escribir en sectores x, sin dañar x+1 x-1 en procesos de caída del sistema no controlados o por pérdida de energía, tendremos que tener en cuenta que en el caso de escribir en un sector x el sistema deberá leer el sector, desencriptarlo, encriptarlo y nuevamente escribir todos los sectores que correspondan al bloque. Si falla el sistema cuando se escriben sectores, en el nuevo bloque pero quedan pendientes otros, entonces todo el bloque puede quedar corrompido.
Autentificación de “Poor-man”
Este es otro de los posibles mecanismos para la implementación de seguridad que permite generar bloques cifrados con un tamaño entre 512-8192 bytes, de tal forma que una leve modificación en uno de los caracteres del bloque modifica de forma aleatoria todo el bloque. Con objeto de evitar el mecanismo de secuenciación moviendo datos cifrados de un sector a otro sector, se generan cambios del algoritmo para cada sector.
De este forma aunque el potencial atacante tuviera acceso a los datos tanto cifrados como en texto plano, la variedad del mecanismo de secuenciación y los cambios en el algoritmo evitan los mecanismos de predicción del sistema de cifrado.
En el siguiente post evaluaremos diferentes mecanismos de cifrado y el mecanismo empleado para Bitlocker: AES-CBC + difusor.
Referencias Externas
-------------------------------------------------------
MAC authentication
Cifrado bloques de disco
SuperFetch (IV de IV): ReadyBoost y ReadyDrive
Como todos sabemos, la desventaja de usar el disco duro como memoria virtual es la significativa reducción en las tasa de transferencia con respecto a la memoria RAM, sobretodo si estamos hablando de acceso aleatorio a la información como suele ser el caso cuando hablamos de información de memoria, de esta manera en disco duros modernos tenemos tasas de trasferencia E/S de 80MB/s. en acceso secuencial al disco duro y 1MB/s en el caso de acceso aleatorio (por el movimiento de los cabezales en búsqueda de información), existe no obstante una solución intermedia entre el disco duro y la memoria RAM que nos ofrece una tasa de trasferencia de unos 10MB/s en acceso aleatorio a información.: La memoria Flash.
ReadyBoost es un nuevo sistema incluido en Windows Vista que consigue mejorar el rendimiento del equipo haciendo uso de la mayor tasa de transferencia en búsquedas aleatorias y menor latencia de la memoria flash con respecto al disco duro, de este modo podemos usar dispositivos como llaves USB, memorias SD o Compact Flash para guardar información de caché del disco duro.

Para poder hacer uso de ReadyBoost nuestra memoria flash debe disponer de al menos 235 MB de espacio libre y ser de rápido acceso (es decir, con una tasa de transferencia adecuada como para ser útil como caché). Como podréis ver en las imágenes añadidas, activar ReadyBoost en una memoria USB es tan sencillo como entrar en sus propiedades e indicar que cantidad de memoria deseamos utilizar para esta funcionalidad, esto quiere decir que no tenemos por qué usar todo el espacio de la memoria flash para almacenar información de caché sino que podemos indicar una cantidad determinada de memoria y continuar usando el resto del espacio para nuestros ficheros, aun que no obstante Microsoft recomienda usar una cantidad de memoria 3 veces superior a la RAM para disfrutar de todas las ventajas de esta tecnología. Otra característica de ReadyBoost es el uso de un algoritmo de escritura optimizado para mantener el tiempo de vida de las celdas de la memoria flash, de hecho, gracias a este algoritmo, si usáramos una memoria flash actual exclusivamente para el uso de ReadyBoost su tiempo de vida oscilaría entre 19,4 y 1823 años. Pero ¿y como se protege esta caché de disco de intentos de lectura no autorizados? pues usando el algoritmo de encriptación AES de 128 bits de tal manera que nos aseguramos que el archivo de caché de ReadyBoost (llamado ReadyBoost.sfcache) solo puede ser leído en el equipo que lo generó inicialmente, y todo esto además con un factor de compresión de 1.8X a 2.3X que garantiza un almacenamiento eficiente al poder guardar más información en menos espacio. Por último quedaría añadir que retirar la memoria flash cuando se esta haciendo uso de ReadyBoost no causa ningún tipo de problema en el equipo ya que es una caché de solo lectura que hace uso del sistema "Write-trought" que garantiza que toda la información de la caché del dispositivo flash se encuentra presente en el disco duro, no siendo por tanto necesaria para que el equipo siga funcionando correctamente.

Sobre estos sistemas de administración de caché de disco duro que realiza SuperFetch hay que hacer mención especial a ReadyDrive que aplica un concepto semejante al de ReadyBoost pero a los discos duros híbridos (discos duros provistos de una caché flash).
Los discos duros híbridos continúan la línea de evolución actual de los discos duros de mejorar el rendimiento y el consumo de energía (hasta el 90% menos de consumo que los discos duros actuales en portatiles) al añadir una caché flash no volátil o NVRAM adicional, que no se pierde la información al apagar el ordenador, a la caché DRAM ya existente. Esto permite, a parte de una mejora en el acceso aleatorio a información como ya se explico anteriormente, realizar lecturas y escrituras en disco mientras este se encuentra acelerando, con la consecuente mejora en rendimiento, especialmente tras la hibernación del equipo.

Superfetch se suma a este tipo de dispositivos híbridos gestionando su memoria flash y aplicando los patrones de uso de aplicaciones para aumentar aun más el rendimiento, así como para mejorar los tiempos de arranque del sistema operativo y de recuperación tras hibernación, todo esto gracias a que al realizar alguno de estos procesos la información necesaria para el arranque o la recuperación es volcada en la NVRAM. ReadyDrive requiere de un mínimo de 50MB de NVRAM, siendo recomendable más de 120MB.
Conclusión:
Como habéis podido comprobar a lo largo de estos post SuperFetch es sin duda una de las grandes novedades incluidas en Windows Vista y un referente en cuanto a tecnologías de rendimiento, de hecho al usar Windows Vista por primera vez a menudo sorprende que, al contrario de lo que esperamos, lleguemos a apreciar una mejoría en el rendimiento de nuestro equipo con respecto a sistemas operativos anteriores.
Continuaré desglosando los aspectos de rendimiento de Windows Vista en próximos artículos, hasta entonces espero haber conseguido despertar vuestra curiosidad sobre esta tecnología y otras muchas que se irán mencionando en este blog.
Concurso de Gadgets en Windows Vista
El grupo de usuarios .NET de Madrid (www.madriddotnet.com) ha lanzado un concurso de programación de Gadgets para Windows Vista. Estos pájaros, nos han sacado pasta a un montón de gente para darse unos premios de *** madre.
1er Premio
· Viaje a Las Vegas para asistir al MIX'07 (incluye vuelo, alojamiento y entrada)
· 1 Licencia de JetBrains ReSharper
· 1 Licencia de JetBrains DotTrace
· 1 suscripción a DotNetMania por un año (11 números)
· Libro ISBN:978-84-415-2118-6 Visual Studio 2005 Team System
· Libro ISBN:978-84-415-2070-7 Programación con SQL Server 2005
· Libro ISBN:978-84-415-2052-3 Programación con ASP.NET 2.0
· Libro ISBN:978-84-415-2098-1 Visual C# 2005
· Libro ISBN:978-84-415-2136-0 Programación avanzada de aplicaciones con Microsoft ASP.NET 2.0
2º Premio
· 1 Videoconsola Xbox 360 (incluye auriculares, mando, disco duro y juego)
· 1 Licencia de JetBrains ReSharper
· 1 Licencia de JetBrains DotTrace
· 1 suscripción a DotNetMania por un año (11 números)
· Libro ISBN:978-84-415-2118-6 Visual Studio 2005 Team System
· Libro ISBN:978-84-415-2053-0 Bases de datos con Visual Basic 2005
· Libro ISBN:978-84-415-2052-3 Programación con ASP.NET 2.0
3º Premio
· 1 Smartphone Qtek 8310
· 1 Licencia de JetBrains ReSharper
· 1 Licencia de JetBrains DotTrace
· 1 suscripción a DotNetMania por un año (11 números)
· Libro ISBN:978-84-415-2106-3 Visual Basic 2005
· Libro ISBN:978-84-415-2136-0 Programación avanzada de aplicaciones con Microsoft ASP.NET 2.0
4º Premio
· 1 Licencia de ComponentOne Studio Express
· Libro ISBN:978-84-415-2021-9 Visual Basic 2005
· Libro ISBN:978-84-415-2125-4 Superutilidades Hacker
· Libro ISBN:978-84-415-1851-3 Hacking con Google
· Libro ISBN:978-84-415-2131-5 Bases de datos con SQL Server 2005
· Libro ISBN:978-84-415-2035-6 Aprende SQL
5º Premio
· 1 Licencia de Red Gate SQL Bundle Pro
· Libro ISBN:978-84-415-2021-9 Visual Basic 2005
· Libro ISBN:978-84-415-2125-4 Superutilidades Hacker
· Libro ISBN:978-84-415-1851-3 Hacking con Google
· Libro ISBN:978-84-415-2131-5 Bases de datos con SQL Server 2005
· Libro ISBN:978-84-415-2035-6 Aprende SQL
Y luego que si nosecuantos premios de la leche a la popularidad, reconocimiento, tertulia, etc…
Vamos, que hasta me dan ganas de aprender a programar en Vista a mi mismo.
http://gadgetizate.madriddotnet.com/Participa.aspx
Despliegue masivo de Windows Vista con BDD 2007 (I de V)
Comenzamos esta serie de artículos de instalación de Windows Vista en múltiples equipos simultáneamente utilizando las nuevas herramientas proporcionadas por Microsoft.
Hoy hablaremos de BDD 2007 (Bussines Desktop Deployment 2007) y sus requisitos de instalación.
Una de las necesidades habituales de las organizaciones es el despliegue masivo de un sistema operativo en sus equipos cliente. Hasta ahora, las tareas de despliegue han sido una combinación de múltiples estrategias, herramientas, generación de imágenes y dolores de cabeza.
Pues bien, con Windows Vista, el despliegue se simplifica muchísimo, ya que ahora vamos a poder utilizar una única herramienta que integra todas las necesidades de creación, administración y mantenimiento de imágenes y procesos de despliegue. Me estoy refiriendo a BDD 2007 (Business Desktop Deployment 2007). La aplicación como tal se compone de un conjunto de herramientas, documentación técnica y buenas prácticas y procedimientos a seguir. Es lo que Microsoft denomina un “Solution Accelerator”.
BDD 2007 no es una herramienta nueva, pero si incorpora muchas novedades, entre ellas:
-
Soporte para imágenes WIM
-
Scripts personalizables basados en XML que se integran en un secuenciador de tareas heredado de SMS v4 o System Center Configuration Manager 2007
-
Nuevo fichero de instalación desatendida (unattend.xml).
-
Además incorpora el “Deployment Workbench” o mesa de trabajo en donde podremos ir creando nuestra propia configuración de sistema que queremos desplegar.
Una de las novedades más interesantes es precisamente las imágenes WIM, las cuales a diferencia de los formatos de imagen basados en sectores, WIM se basa en archivos.
WIM es un formato de imagen independiente del hardware, es decir, ya no tenemos que crear imágenes específicas por cara tipo de hardware, además admite la inclusión de múltiples imágenes de Vista en un solo fichero WIM, lo cual permite simplificar el mantenimiento de imágenes para mediana y gran empresa.
Bien pero ¿por dónde comenzamos una implantación masiva de Windows Vista?
Para nuestro caso vamos a crear un pequeño laboratorio con algunos equipos virtuales y para ello utilizaremos Virtual Server 2005 R2, aunque todos estos pasos que veremos son igualmente aplicables a entornos de cientos o miles de equipos.
El primer equipos que vamos a crear es una máquina con Windows Server 2003 R2 o SP1, si no tenéis los CDs de instalación podéis descargaros un disco VHD ya instalado desde aquí o la versión de evaluación desde aquí
Necesitaremos también un par de máquinas, una de ellas sin Sistema Operativo, para realizar una instalación nueva de Windows Vista y la otra con Windows XP para realizar una actualización a Windows Vista.
Necesitaremos Virtual Server 2005 R2 ya que soporta PXE (Preboot Execution Environment), el cual utilizaremos para el despliegue de WindowsPE. Microsoft Virtual Server 2005 R2 se puede instalar tanto en Windows Server 2003 como Windows XP y requiere tener instalado IIS 6.0. Es un producto gratuíto y lo podéis conseguir desde este enlace.
Una vez instalado Windows Server 2003, tenemos que verificar si cumplimos todos los requisitos de hardware y software que requiere BDD 2007. Cuando instalemos BDD 2007 nos pedirá los siguientes componentes: WAIK, MSXML 6.0, MMC 3.0, .Net Framework 2.0, USMT 3.0 y ACT 5.0
Si queremos realizar un despliegue automático a través de la red basado en XPE necesitaremos instalar WDS (Windows Deployment Services), el cual es la nueva versión de lo que ya conocíamos como RIS. Se puede instalar en Windows Server 2003 SP1 y actualizará el actual RIS, y también vendrá integrado como componente en Windows Server “Longhorn”. WDS está disponible en la carpeta WDS del WAIK
En ese caso necesitaremos un servicio de Directorio Activo, un servidor DHCP habilitado para PXE y por supuesto un servicio DNS. Podeis encontrar más detalles de los requisitos de instalación de WDS aquí.
-
WAIK es Windows Automated Installation Kit, el cual nos permitirá crear y manipular imágenes WIM con utilidades como ImageX, System Image Manager e imágenes de Windows PE. WAIK está disponible para su descarga.
-
USMT es User State Migration Tool, el cual nos permitirá hacer una copia del perfil del usuario que estamos migrando al nuevo sistema operativo y posteriormente aplicar dicho perfil a Windows Vista. De esta forma conservamos su configuración y documentos. Se puede descargar desde aquí
-
ACT es Application Compatibility Toolkit, el cual nos permitirá comprobar la compatibilidad de las aplicaciones que tenemos instaladas en nuestra organización, gracias a procesos de inventario de software y análisis contra una base de datos central de compatibilidad. Se puede descargar desde aquí.
-
MSXML 6.0 se puede obtener desde aquí.
-
.Net Framework 2.0 es un componente ya disponible en Windows Server 2003 R2 y se insala desde los Componentes de Windows. Para Windows Server 2003 SP1 necesitaréis descargarlo e instalarlo.
Una vez que hemos descargado e instalado todos los componentes podemos comenzar la instalación de BDD 2007, este es un proceso sencillo por lo que os lo dejo a vosotros y para el próximo artículo de esta serie comenzaremos con los pasos de preparación de imágenes de Windows Vista utilizando ImageX, Windows SIM y Deployment Workbench.
SuperFetch (III de IV)
Para finalizar el tema de
SuperFetch en estos dos últimos post vamos a comprobar dos de sus
funcionalidades más interesantes: la gestión de los procesos en segundo plano, y
la gestión de caché de disco desde un punto de vista innovador con READYBOOST y READYDRIVE.
Es algo común que dejemos
aplicaciones en segundo plano cuando por ejemplo abrimos el explorador o el
Messenger mientras estamos editando un documento de Office o abrimos un juego
mientras se esta ejecutando cualquier otro programa, y es también común que notemos
una reducción en el rendimiento del sistema al intentar retomar dichas
aplicaciones y pasarlas a primer plano; esto se debe a que los programas en
segundo plano son preferentes para pasar al archivo de paginación del disco
duro, lo cual, en caso de falta de memoria, supone que cada vez que deseemos volver
a traer dicha aplicación a primer plano obtengamos una considerable reducción
en el rendimiento del sistema. La situación anterior también es aplicable cuando hacemos
uso de la característica "cambio rápido de usuario" y deseamos volver a la
sesión que dejamos iniciada anteriormente ya que la información de la sesión inactiva
es paulatinamente trasladada a la memoria virtual según se va necesitando más
memoria. Superfetch gestiona los procesos en segundo y primer plano para
reducir en todo lo posible esta pérdida de rendimiento, la manera en que logra
esto es bastante intuitiva: vuelve a cargar la información del proceso en
memoria cuando volvemos a tener disponibilidad de esta (normalmente al cerrar
un programa) lo cual supone que por ejemplo en un entorno de escasa memoria,
volver de Internet Explorer a Microsoft Word tras haber cerrado Windows Mail (el
programa que viene a sustituir a Outlook Express en Windows Vista) sería mucho
más rápido que con sistemas operativos anteriores, y de nuevo esto también sería
aplicable al sistema de cambio rápido de usuario siendo ideal por ejemplo para volver
a la sesión en la que se está ejecutando la mula para aquellos amigos del P2P
que tienen que compartir su equipo; pero quizás la aplicación práctica más
evidente de todo esto es no ver reducido el rendimiento tras largos momentos de
inactividad, como por ejemplo al ir comer en el trabajo o cuando nos llaman por
teléfono. Hasta ahora tras habernos ausentado un tiempo notábamos una
ralentización de nuestras aplicaciones debido a que la actividad de los
servicios y procesos en segundo plano tomaban el control de la memoria RAM
relegando a la aplicación inactiva de primer plano al archivo de paginación;
aun que esto es el comportamiento ideal (mantiene al microprocesador ocupado al
servicio de procesos en segundo plano como la ejecución de un antivirus) tras
la finalización de estos procesos la aplicación principal continuaba en el
archivo de paginación hasta que sus funciones eran requeridas por el usuario al
volver, con la consabida reducción de rendimiento, Windows Vista corrige esta
situación gracias a que Superfetch va colocando denuevo en memoria la
información del programa en primer plano cuando se libera suficiente memoria
RAM por ejemplo al finalizar una aplicación en segundo plano, de esta manera la
aplicación queda completamente disponible para el usuario a su regreso.
Bueno, a parte de lo comentado en
este post también existe otra manera de aumentar el rendimiento del equipo a la
hora de tener que acceder al disco, esta manera es mediante los sistemas
ReadyBoost y ReadyDrive, que veremos en mi próximo post.
Por cierto, se están publicando
en TechNet Magazine una serie de artículos sobre las mejoras en el Kernel de
Windows Vista, yo estoy a la espera de que publiquen la sección de
administración de memoria por si pudiera ofreceros aun más información de lo
visto hasta ahora. Os dejo el enlace:
http://www.microsoft.com/technet/technetmag/issues/2007/02/VistaKernel/default.aspx?loc=es/
La protección contra Desbordamientos de Buffer en Windows Vista (IV de IV)
Cuarta Protección: Ocultación de Información
Con las tecnologías vistas hasta el momento se ha pretendido, en primer lugar que no se produzcan los fallos en el código que originan los desbordamientos de buffer, que no se puedan sustituir las funciones de tratamiento de errores y que no se puedan meter códigos en la zona de memoria destinada a datos para evitar la inyección de programas no deseados dentro del sistema. Sin embargo un atacante no necesita inyectarte un troyano si puede abrir una conexión desde dentro del sistema que le conecte contra un socket en su equipo, es decir, si puede configurar una conexión reversa. Y para eso no necesita inyectar ningún código, le basta con invocar una función del sistema operativo para abrir un socket.

Imagen: Invocación de una función conocida del sistema
-------------------------------------------------------------
Pointer ofuscation
-------------------------------------------------------------
La primera tecnología de protección para evitar que se invoquen funciones conocidas se añadió en Windows XP SP2 y Windows Server 2003 SP1. Por supuesto esta tecnología también funciona en Windows Vista.
La idea es evitar que se vea la dirección de cualquier función que se usa en el cuerpo de un programa, por ello, se utilizan las funciones: EconcePointer / DecodePointer y EncodeSystemPointer / DecodeSystemPointer para ofuscar la información en el código.
Las funciones EncodePointer y EncodeSystemPointer generan una dirección ofuscada a partir de realizar un XOR entre la dirección real de la función que se desea invocar y un número dinámico generado por el sistema operativo.
Cuando se desea realizar la llamada a la función se hace mediante las funciones DecodePointer y DecodeSystemPointer. Si un atacante desea suplantar la llamada a una función por una suya debe saber como codificarla para que cuando sea decodificada corresponda con la función que él quiere llamar. Nada sencillo.
El uso de estas tecnologías no previene solo contra los ataques de desbordamiento de buffer sino contra todos aquellos que, no pudiendo modificar la dirección de retorno de la llamada buscan obtener el control mediante la modificación de cualquier llamada a función que vaya a ser invocada, ya que cogerá el control del programa.
-------------------------------------------------------------
ASLR (Address Space Layout Randomization)
-------------------------------------------------------------
Para evitar que el atacante sepa la dirección de memoria dónde se encuentra una función que desea invocar, la tecnología ASLR intenta cambiar en cada ejecución la posición exacta de la misma dentro de la memoria. Para ello se utiliza una función que se denomina de entropía (máximo desorden) que le asigna en cada ejecución de la aplicación una dirección diferente dentro de un rango de 256 posibles.
Es decir, se ejecuta el programa A y se carga en la dirección FF000FFF, se cierra el programa y se vuelve a ejecutar. Cuando se carga en memoria ASLR le asigna la dirección FF000ABB, por ejemplo.
Con esto se intenta que no se pueda predecir la dirección donde se pueden encontrar los programas que tiene en ejecución un determinado sistema.

Imagen: ASLR le asigna una dirección diferente en cada ejecución
Conclusión
Garantizar que un sistema no va a tener fallos de desbordamiento de buffer en alguna de los millones de líneas que conforman el sistema operativo es mucho decir, pero el uso de el SDL (Secure Development Lifecycle), la compilación con /FxCod y /SafeSEH, la aplicación de DEP (Data Execution Prevention) con el bit NX (Non Execute) por Hardware y por Software para la protección de integridad en el tratamiento de errores, la ofuscación de los punteros a funciones y la ejecución aleatoria con ASLR ayudan a que el sistema se encuentre mucho más fortificado contra los fallos de Buffer Overflow.
Referencias Externas
- ASLR en Wikipedia
- Blog Michael Howard: Address Space Layout Randomization in Windows Vista
- Blog Michael Howard: Protecting Against Pointer Subterfuge
- La protección contra Desbordamientos de Buffer en Windows Vista (I de IV)
- La protección contra Desbordamientos de Buffer en Windows Vista (II de IV)
- La protección contra Desbordamientos de Buffer en Windows Vista (III de IV)
SuperFetch (II de IV)
SuperFetch no es una tecnología que parta de cero, sino que complementa a otra ya existente en Windows XP llamada Prefetch y que en español vendría a significar "precarga".
Prefetch es un término usado en diferentes ámbitos de la informática, por ejemplo se habla de prefetch refiriéndose a las capacidades de los microprocesadores de cargar anticipadamente datos en la cache L1 durante la ejecución de una instrucción con el fin de acelerar al ejecución de aplicaciones, en el ámbito de los navegadores WEB se conoce como Prefetch (concretamente como Link Prefetching) a la capacidad de estos de cargar en caché información de las páginas WEB enlazadas cuando el navegador esta inactivo con el fin de acelerar la navegación (pudiendo realizar esto de manera agresiva o solo cuando le es indicado en el código html de link), en programación se hace referencia a este termino apuntando a la precarga de información en memoria antes de que sea necesaria con el fin de ganar tiempo de ejecución y por último en sistemas hablamos de Prefetch como un sistema de gestión de memoria usado en varios sistemas operativos (también esta disponible en Linux) que permite optimizar notablemente la carga de aplicaciones y servicios especialmente al arranque del equipo precargando la información de estos en memoria y reduciendo por tanto el tiempo de inicio.
Windows XP y Vista guardan la información de traza de Prefetch en la carpeta %Windir%\prefetch en unos archivos con extensión .pf cuyo nombre esta compuesto por el nombre de la aplicación, un guión y un hash en hexadecimal de la ubicación de dicho archivo, como por ejemplo "NOTEPAD.EXE-2F2D61E1.pf" ("NTOSBOOT-B00DFAAD.pf" en el caso del archivo de arranque) y cuyo contenido no es más que una serie de referencias a los ficheros y directorios que leen las aplicaciones al iniciar, así como sus metadatos. Para crear estos archivos de traza el sistema de gestión memoria comprueba las consultas a las entradas de la MFT (Master File Table) del sistema de archivos NTFS sabiendo de este modo qué archivos son los que se intentan cargar y de esta manera poder precargarlos previamente a la próxima apertura de la aplicación. Así mismo Prefetch se combina con el programador de tareas para realizar una defragmentación y colocación de manera contigua y según el orden de uso de aquellos archivos que vayan a ser utilizados al iniciar las aplicaciones o durante el arranque del equipo; estos ficheros a colocar de manera contigua vienen señalados en el archivo layout.ini de la propia carpeta Prefetch realizándose la labor de defragmentación con una periodicidad de 3 días en momentos de baja actividad del equipo.

Sobre la carpeta Prefetch y sus propiedades existen diferentes leyendas urbanas en forma de trucos para mejorar el rendimiento de Windows, podéis echar un vistazo a algunas de ellas en el siguiente enlace:
http://mywebpages.comcast.net/SupportCD/XPMyths.html#Optimization
Este sistema de Prefeth de XP combinado con SuperFetch es el usado por Windows Vista si disponemos de menos de 700MB de memoria RAM, si disponemos de una mayor cantidad de memoria se continua usando el sistema Prefetch y SuperFetch pero añadiendo a le ecuación el sistema ReadyBoot (no confundir con ReadyBoost).
ReadyBoot es otro añadido al rendimiento de Windows vista y es el sistema utilizado para reducir el tiempo de arranque en caso de disponer de más de 700MB de RAM. ReadyBoot guarda su información en una carpeta con ese mismo nombre dentro del directorio Prefetch de Windows Vista y realiza un seguimiento de los 5 últimos arranques cuyos archivos de traza (de extensión .fx) guarda en el directorio anteriormente citado con el objetivo de usarlos posteriormente para generar un plan de arranque optimizado. Los parámetros de configuración de ReadyBoot los podemos encontrar en la siguiente clave de registro:
HKLM\System\CurrentControlSet\Services\Ecache\Parameters
Bueno, a toda esta ecuación sobre precargas en memoria habría que añadir la inclusión en la carpeta prefetch de archivos de traza de aplicaciones enteras en función del comportamiento del usuario, es decir: SuperFetch.
SuperFetch es un servicio disponible en todas las versiones de Windows Vista y hace un uso intensivo de la memoria partiendo del concepto de que es muy común hoy en día trabajar con gran cantidad de memoria libre en los equipos modernos, para resolver este desaprovechamiento de memoria Windows Vista carga en esta toda aquella información que probablemente utilizará el usuario, para ello mantiene un historial de su comportamiento por días de la semana e incluso por horas de tal manera que cuando desee abrir alguna aplicación concreta esta se encuentre ya cargada en memoria y el proceso de apertura sea mucho más rápido, aun que como es obvio para uso efectivo de SuperFetch se requiere memoria libre suficiente (de ahí las recomendación de 1GB de RAM). Superfetch está completamente integrado con Prefetch y con el layout.ini, interviene en los procesos de suspensión e hibernación y es un proceso de baja prioridad y consumo que no repercute negativamente en el rendimiento del equipo sino que lo mejora gracias a la innovadora gestión de memoria que realiza. Los archivos de traza de Superfetch se guardan como Ag*.db en el directorio Prefetch.
Superfetch también esta relacionada con la gestión de la memoria virtual relacionándose y gestionando otras dos tecnologías referentes en Windows Vista: el READY BOOST y el READY DRIVE que describiré en mi próximo post.
II Reto Hacking de El lado del Mal
Hola a todos,
hace unos minutos he hecho público el II Reto Hacking de El lado del Mal, si quieres participar date prisa, solo hay 5 maravillosos premios, a saber: una caricatura hecha por mi, una poesía, una camiseta usada de las mias, un cd de rosendo y una bolsa de chupachús. (no me digas que no son premios increibles!!!).
Tienes más información y las reglas del juego en la siguiente URL:
http://elladodelmal.blogspot.com/2007/02/retohacking-ii.html
Bies malignos!!
Control de Cuentas de Usuario (II)
La primera impresión de la gente al utilizar Windows Vista es lo “cansino” y molesto que puede llegar a ser el control de cuentas de usuario. Yo personalmente os tengo que decir que ya me he acostumbrado (algunos estarán pensando que no sé lo que digo), pero es verdad.
Al principio me resultaba un poco incomodo tener que aceptar cualquier acción que necesitara de privilegios administrativos o ejecutara un aplicación no reconocida por el sistema, pero con el uso acabas acostumbrándote.
Como ya habíamos comentado en post anteriores, esta tecnología viene a cubrir el poco uso o ninguno del comando RUNAS por parte de los administradores. Esta carencia provocaba en nuestras sistemas, agujeros de seguridad que lo convertían en mucho más vulnerables.
Hoy vamos a comentar como se puede deshabilitar el control de cuentas de usuario y sus consecuencias, para que los administradores que decidan no contar con esta tecnología tengan claro los riesgos que están corriendo.
¿Cómo Deshabilitamos UAC?
Para deshabilitar el control de cuentas de usuario de Windows Vista simplemente consiste en desactivar una casilla de verificación. Esta casilla de verificación se encuentra en el módulo de cuentas de usuario del panel de control en el link Activar o desactivar el control de cuentas de usuario.
Cuidado con activar o desactivar UAC, ya que es necesario reiniciar la máquina para que los cambios surjan efecto.
¿Qué ocurre cuando deshabilito UAC?
Desde el momento en que decidimos dejar de utilizar el control de cuentas de usuario el sistema operativo empieza a ser vulnerable a los riesgos que tantos problemas nos acarreaban en Windows XP.
Sin UAC, Windows Vista deja de virtualizar los registros para cualquier usuario. Obligándonos a dar de nuevo privilegios de administrador a los usuarios estándar. A aquellos usuarios que utilizan aplicaciones que requieren de credenciales de administrador. ¿Queremos correr ese riesgo? ¿Un usuario con privilegios administrativos? (¡Eso nunca!)
Otro de los inconvenientes de desactivar UAC es que un usuario administrador utilizará todos sus privilegios para lanzar aplicaciones como el solitario y navegar por internet. ¿Estamos convencidos de dejar esa puerta trasera abierta?
Otra problemática es la perdida de seguridad en la ejecución de aplicaciones. Me explico, ¿quién no ha sufrido en alguna ocasión la ejecución de una aplicación que venía encapsulada en una imagen o se ha descargado desde una página web,…o desde cualquier otro modo? Pues bien gracias al control de cuentas podemos controlar dichas aplicaciones e impedir que se instalen y se ejecuten en nuestro sistemas.
Estos son algunos ejemplos de los riesgos más comunes que podemos sufrir si desactivamos el UAC. Toda seguridad empieza protegiendo el acceso y control que los usuarios y las aplicaciones tienen de nuestro sistema.
Personalmente os recomiendo encarecidamente seguir utilizando UAC y no hagáis caso a esos post que lo único que hacen es vetarlo sin conocer todas sus ventajas.
En el siguiente post hablaremos del modo que tenemos de configurar el control de cuentas de usuario para adaptarlo a nuestras necesidades. Por ejemplo, como seguir utilizando UAC sin tener que sufrir los mensajes de aceptación.
Bulo sobre Windows Vista y el DRM
Siento tener que poner esto en este blog, pero creo que es importante que todos estemos atentos a este tipo de bulos, o como dirían otros “FUD”.
>Windows Vista, el último sistema operativo de Microsoft, está plagado
>de sistemas de protección anticopia y de bloqueo de contenidos por
>presiones de entidades como la MPAA, la RIAA o la SGAE, supuestamente
>para combatir la piratería. Estos sistemas están integrados en la
>programación básica del sistema, por lo que son muy difíciles de
>cancelar o rodear.
>
>El resultado es que, si te instalas Windows Vista o compras un
>ordenador que lo traiga preinstalado, ya no podrás ver o grabar vídeos
>ni escuchar o grabar música descargados de Internet.
Esto es totalmente falso. Windows Vista ofrece a los “CONTENIDOS ORIGINALES” el famoso DRM que les permite dificultar que se puedan copiar. Sólo, aquellos “CONTENIDOS ORIGINALES” cuyo dueño legal (y no entro en filosofadas, solo el que según la ley diga) tiene derecho a activar el sistema de protección de Windows Vista.
Cualquier contenido que SU DUEÑO no active el sistema de protección DRM en Windows Vista podra ser reproducido y visualizado correctamente. Es más, el que haya hecho correr esto, en su vida lo ha intentado, porque es tan fácil como hacer doble clic.
¿SGAE? Ja, esto sí que tiene gracia.
>
>Lo más grave es que, en muchos casos, tampoco podrás hacerlo ni
>siquiera aunque hayas comprado legalmente el contenido, porque el DRM
>(sistema de protección de derechos de autor) integrado no permite, por
>ejemplo, que te puedas pasar una canción de un DVD (comprado
>legalmente) a tu MP3. Ni que te puedas tostar una selección de
>canciones (compradas legalmente) para el CD de tu coche. Y, con
>frecuencia, ni siquiera podrás reproducir una película (comprada
>legalmente) en tu ordenador o en cualquier medio que no sea un
>reproductor específico autorizado por Microsoft y los fabricantes de
>contenidos. Si intentas hacerlo, lo reproduce con mala calidad o
>directamente lo impide.
Sí se puede o no copiar el contenido es una decisión de los dueños de los contenidos. Todos los contenidos originales han tenido desde el principio sistemas Anticopy. Las películas en dvd han tenido y tienen sistemas anticopy. Windows Vista ejecuta las protecciones anticopy si LOS DUEÑOS de los contenidos lo deciden aplicar. Muchas compañías han decidido no aplicarlo. Microsoft no autoriza ni desautoriza ningún reproductor, es el DUEÑO DE LOS CONTEDIDOS.
>
>La única solución segura para evitar este abuso es no instalar Windows
>Vista y rechazar cualquier ordenador que te intenten vender con
Windows
>Vista preinstalado. Sigue con Windows XP o considera pasarte a algún
>sistema operativo "libre", como Linux.
>
>Por favor, PÁSALO. Es posible que, si Microsoft ve que no hay forma de
>vender el Windows Vista por culpa de esta barbaridad, se lo piensen
>mejor la próxima vez.
La conclusión es. El sistema de protección de Windows Vista DRM es una herramienta que los dueños de contenidos deciden si aplican o no. Nunca es Windows Vista quien decide por los dueños de los contenidos. Como hacen los sistemas de consolas de videojuegos o los dvd.
Pero bueno, aquí tenéis la contestación a esto del equipo oficial de Windows Vista.
20 preguntas sobre el DRM.
Incluso Linus Torvalds en el año 2003 se planteó utilizar DRM en Linux. Aunque al final, como es sabido no se implantó y las compañías han buscado sistemas anticopy para proteger sus derechos. El debate no es de si debe existir o no la tecnología de protección sino si las compañías tienen o no derecho de proteger sus propiedades.
Eso, pásalo.
Bitlocker (III): Escenarios para la implementación
¿Dónde implementaremos Bitlocker?
Uno de los problemas que se nos plantea cuando decidamos implementar Bitlocker, es cual es el escenario previsible en el que podemos implementarlo y como será la forma idónea para realizarlo. Evidentemente cuando decidimos por la implementación de un mecanismo de seguridad como el cifrado deberemos tener presente si es necesario el mismo o para que lo vamos a hacer, si esta es una máquina convencional usada solamente como soporte de aplicaciones pero no almacenamos en ella ningún dato de interés.
Supongamos los equipos estándar de una empresa. Estos por regla general son utilizados solo como soporte para la ejecución de las aplicaciones, ya que los datos importantes de la empresa se encuentran almacenados en un servidor bien resguardado en el CPD (o así debería ser…) Habrá que tener presente también los elementos adicionales que pudieran quedar almacenados en la máquina que por comodidad pudiéramos dejar almacenados, tales como contraseñas de navegación, de aplicaciones enmascaradas por los dichosos asteriscos, los correos, etc. Cual importante es esta información en manos de alguien que busca datos de nuestra empresa, implicaría prever la opción para el cifrado de estos discos. Una de las mejoras que nos reporta el sistema de Bitlocker en máquinas coexistiendo en un Dominio, es que los mecanismos para la recuperación de las contraseñas, obtienen ventaja de las funcionalidades aportadas por el Directorio Activo.
Si la circunstancia la evaluamos desde el punto de vista de una persona que viaja muy a menudo, con un portátil que parece ya una extensión más de su propio cuerpo (alguno se sentirá identificado seguramente), el hecho de tenerlo cifrado sería una opción más que interesante, máxime cuando puedan llevar informes de clientes, datos de la empresa, etc. Un eventual robo o pérdida, solo significaría precisamente eso: el robo o la pérdida, pero pasaría a un significativo segundo plano los datos que portaran. La implementación dependerá fundamentalmente si el dispositivo presenta o no Chip TPM. Si no lo lleva la única opción posible es el uso del almacenamiento de la clave en un USB (cuidado donde lo llevamos no sea que se rían de nosotros).
¿Y el usuario doméstico? Salvo para algunos casos significativos, resulta evidente que este método no será el empleado en los hogares, principalmente porque la orientación de los sistemas operativos de índole doméstico no portan esta funcionalidad. Un elemento previsible aunque negativo, es que este sistema pudiera dificultar elementos para el análisis de un equipo donde es requerido determinar si desde él, se ha cometido un posible delito.
Y en todos estos posibles escenarios, ¿tengo que equiparme con un nuevo PC, para soportar la infraestructura de Bitlocker? La respuesta es NO, aunque podremos obtener mejoras significativas si optamos por utilizar un equipo que cuente con el Chip TPM. Para todos aquellos que desean utilizar el cifrado y no poseen el Chip, encontramos una directiva de seguridad bajo la cual podemos condicionar el uso de Bitlocker sin el citado Chip. Por defecto el sistema solo admite la configuración de Bitlocker si el equipo cuenta con el Chip.
Configuración de Bitlocker sin TPM en Vista
Para utilizar Bitlocker sin TPM
- MMC
- Directiva Equipo Local
- Configuración del equipo
- Plantillas Administrativas
- Componentes de Windows
- Cifrado de Unidad Bitlocker
Imagen 1: Directiva de Seguridad
Imagen 2: Configuración Bitlocker sin TPM
Referencias Externas
----------------------------------------------------------------
- Bitlocker I: Seguro más allá de su uso
- Bitlocker II: La Concienciáción para la seguridad de los discos
- Consecuencia de los robos.
- Versiones de Windows Vista y funcionalidades.
La protección contra Desbordamientos de Buffer en Windows Vista (III de IV)
Tercera Protección: No ejecución de Datos
----------------------------------------------------------------
DEP (Data Execution Prevention) Bit NX (Non Execute)
----------------------------------------------------------------
La tecnología DEP está disponible en Windows XP SP2, Windows Server SP1, Windows Server 2003 R2 y además viene incluida también en Windows Vista y puede aplicarse tanto por Software como por Hardware. ¿Qué quiere decir que puede aplicarse por Hardware o por Software? ¿Funcionan igual?
DEP por Hardware
Para activar DEP por hardware es necesario que el microprocesador que estemos utilizando venga con esta característica, ya que éste es un avance tecnológico de la industria de microprocesadores que es aprovechada por los sistemas operativos. El objetivo es evitar que un programa pueda ser inyectado en un sistema por medio de un desbordamiento de buffer. Para ello se dividen, en tiempo de ejecución, las páginas de la memoria en dos clases: Paginas de ejecución en las que se cargarán los procesos o páginas de NO ejecución donde se van a almacenar datos y/o parámetros de llamada a procedimientos. Para realizar esto las páginas de memoria llevan asociadas un NX (Non eXecute) que indica si se puede ejecutar lo que esté allí o sí por el contrario, nada que esté almacenado en esa zona de memoria puede ser ejecutado.
El realizar esta división y marcado de las páginas permite, que, aunque se produzca un desbordamiento de buffer, este nunca podrá ser utilizado para inyectar un código a través de un parámetro, con lo cual estamos garantizando que el sistema no ejecuta nada que no esté ya introducido previamente.

Imagen 1: Desbordamiento de Buffer
Aplicar DEP por hardware previene que se pueda introducir código inyectado, si el contador de programa se quedara apuntando a una zona de memoria marcada como NX el sistema intentaría recuperarse y si no pudiera se produciría una parada. Debido a esto, es posible que ciertas aplicaciones, que utilicen la inyección de código como forma normal de trabajar dejen de funcionar correctamente No es una práctica correcta de desarrollo pero en algunos casos se utiliza. Para intentar garantizar la compatibilidad de aplicaciones de este tipo se pueden crear listas blancas en Windows Vista.
DEP por Software
Como protección adicional, DEP en Windows Vista, tiene una versión basada solo en software que vino ya en XP SP2 y cuyo objetivo es garantizar la integridad de las funciones que son invocadas en el tratamiento de los mensajes de excepciones que deben ser gestionados por el sistema operativo. Para ello se comprueba la integridad de los binarios del sistema que se encargan del tratamiento de los mensajes de error.
----------------------------------------------------------------
/SafeSEH (Safe Exception Handler)
----------------------------------------------------------------
Esta es una opción del linkador que se puede usar en Visual C++ para poder comprobar, de forma segura, que las funciones de tratamiento de excepciones de un determinado programa son las correctas. Para ello el ejecutable lleva almacenada la tabla de las funciones con las referencias a las funciones que deben procesar cada uno de los mensajes de excepción. El sistema operativo comprobará si el manejador de esa excepción corresponde con el que marca el programa en la tabla de manejadores y si no es así, matará el proceso. Estas opciones son utilizadas en conjunción de la protección DEP por software.
Configuración en Vista
Para configurar las opciones de DEP en Windows Vista deberemos acceder a la opción de configuración en:
- Panel de Control
- Sistema y Mantenimiento
- Sistema
- Configuración Avanzada
- Avanzadas
- Opciones de Rendimiento
- Data Execution Prevention
Tras una petición de Microsoft y en concreto de Michael Howard, todos los equipos que vendrán con Windows Vista en versión OEM vendrán por defecto con DEP Activado.

Imagen 2: Prevención de Ejecución de Datos
Referencias Externas
----------------------------------------------------------------
- La protección contra Desbordamientos de Buffer en Windows Vista (I de IV)
- La protección contra Desbordamientos de Buffer en Windows Vista (II de IV)
- DEP en Windows XP SP2 en Technet
- Data Excution Prevention en la Wikipedia
- Bit NX en la Wikipedia
Bueno, ya sólo queda un post más para terminar esta serie en el que veremos las técnicas de Ofuscación de Punteros a Funciones y la tecnología ASLR (Address Space Layout Randomization).
La protección contra Desbordamientos de Buffer en Windows Vista (II de IV)
¿Como podemos proteger Windows Vista contra los desbordamiento de buffers? Esto es algo que se lleva estudiando largo tiempo, por ello existen diferentes aproximaciones. La primera de ellas es una respuesta bastante sencilla. Utilizar técnicas de prevención.
Primera protección: Prevención
-------------------------------------------------------------------------------------------
Herramientas de Análisis Estático de Código. FxCod
-------------------------------------------------------------------------------------------
El objetivo es que si todos los parámetros están bien controlados y no se pasan a la pila de memoria sin haber comprobado correctamente su longitud no tendríamos desbordamientos de buffer, luego intentemos que no salga ningún programa sin haber sido correctamente evaluado. Para ello se utilizan desde hace tiempo las herramientas de Análisis Estático de Código realizan un chequeo del código del programa mientras este no se está ejecutando, buscando patrones de fallos de seguridad (incluidos los desbordamientos de buffer) en códigos en ensamblador, código fuente o código manejado. FxCod es una herramienta de análisis de estático de código manejado que se puede utilizar en todos los desarrollos que se realizan con Visual Studio 2005. Es una herramienta que permite detectar, no solo desbordamientos de buffer, si no un amplio abanico de fallos de seguridad en las aplicaciones. Todo programa debe estar comprobado para evitar desbordamiento de buffers. Una de las características importantes es que estas herramientas se pueden usar para validar la fiabilidad y seguridad de un software. Microsoft, para las versiones de Windows Vista de 64 bits ya para Longhorn obliga a que los drivers que se instalen en el sistema operativo vayan firmados por Microsoft o una compañía autorizada. Para conseguir la firma del driver es necesario pasar unos test de seguridad que evalúan con herramientas de análisis estático el código del driver.

Imagen: Opciones de Análisis de Código en Visual Studio.
Segunda Protección: Detección
-------------------------------------------------------------------------------------------
Los Canarios y la opción /GS
-------------------------------------------------------------------------------------------
Una de las ideas, propuesta por uno de los grandes expertos de la seguridad, Crispin Cowan, fue utilizar lo que el denomina canarios. Los canarios son utilizados en las minas y en las cocinas de gas, para detectar gases nocivos, si el canario muere, algo malo sucede. En el caso de los desbordamientos de Buffer esta es una idea similar. Consiste en apilar unos determinados valores en la pila de llamada al procedimiento justo después de apilar la dirección de retorno. Cuando se va a pasar el control a esa dirección de retorno, se comprueba previamente si los valores en los canarios son los correctos. Si no lo son, hemos de asumir que se ha producido una violación de la zona de memoria. Se llama Stack-Smashing Protecction. El uso de estas tecnologías no garantiza que los parámetros no sufran de desbordamiento de buffer, pues se pueden sobrescribir, no la dirección de retorno, pero sí, el resto de estructuras y, si el atacante puede descubrir el valor de la dirección de memoria o del canario, puede intentar simular un canario correcto. Para ello, se usan canarios no predecibles.
En Visual Studio la opción del compilador de comprobación de seguridad del búfer de Visual C++ se llama /GS. El funcionamiento de la opción /GS consiste en establecer un valor cifrado (a veces denominado "chivato") al final de un búfer. Este valor se comprueba durante la ejecución del código y si ha cambiado, se detiene la ejecución del programa y se genera una excepción de seguridad. La opción /GS no evita la saturación del búfer, pero protege contra el posible secuestro del código al detener la ejecución del programa.
Bueno, continuaremos la semana que viene, con DEP.
Referencias
-------------------------------------------------------------------------------------------
- La protección contra Desbordamientos de Buffer en Windows Vista (I de IV)
- La protección contra Desbordamientos de Buffer en Windows Vista (III de IV)
- Stack-Smashing Protection
- Herramientas de Análisis de Código Estático
- Mejoras de Seguridad en Visual Studio 2005
Vista y hardware antiguo
Bueno ahora si, aquí estamos, uniéndonos al blog. Después de unas semanas de intenso trabajo por fin he conseguido tener unos minutos libres en fin de semana (aquí se curra hasta los fines de semana, jeje) para empezar mi serie de artículos sobre Windows Vista.
Pues me gustaría comenzar con dos experiencias que he podido realizar durante la última semana. La primera es que el otro día instalé Vista Ultimate en mi viejo portátil. Un Compaq Presario 512 MB RAM PIV 2.0 Ghz y disco duro de 40 GB. Pues bien, os tengo que confesar que va como un tiro. Increíble, casi mejor que con el Windows XP que traía originalmente y que el fabricante carga con mil programas que nunca se usan. Ahora tengo a mi niña (así llamo a mi mujer) usando Windows Vista en su portátil (ha pasado a su propiedad, no sé cómo ni cuándo pero ahora es suyo). Es la primera de sus amigas en usarlo y dice que no le ha costado nada aprender la nueva interfaz y menús (siempre es bueno contar con la opinión de un usuario no informático).
Por supuesto, no están habilitadas las funcionalidades de Aero, pero el sistema operativo se ha adaptado muy bien a las limitaciones de hardware y realmente no sientes un menor rendimiento con respecto a Windows XP. Si he notado que hay un mayor uso de memoria, alrededor de un 60 %, comparado con un 35 % que habitualmente utilizaba XP. Pero esto no ha provocado una carga más lenta de las aplicaciones. Parece que superfech está haciendo su trabajo.
Me gustaría destacar la mejora sustancial de tiempo de recuperación del sistema después de una hibernación. Yo soy usuario habitual de la hibernación, me permite reiniciar mi trabajo en el punto en donde lo dejé y además de una forma muy rápida. Pero Windows Vista en este equipo que os comento tarda menos en iniciar el sistema desde la hibernación que mi actual portátil con 2 GB de RAM y procesador de doble núcleo. Para dar datos exactos, XP presenta la pantalla de inicio de sesión en 65 seg. mientras que Vista lo hace en 22 seg.
Con respecto a los dispositivos, Windows Vista reconoció todos menos el audio, pero no fue problema porque desde Windows Update se descargó los controladores necesarios una vez se inició el equipo por primera vez. Y todo esto con un portátil que tiene más de 4 años.
Así que quien os diga que Vista no va a correr en equipos de más de dos años, enviadlos hacia este blog.
Mi segunda experiencia fue el despliegue de Vista en 16 equipos simultáneamente desde una máquina virtual Windows Server 2003 R2 con 300 MB de RAM, utilizando BDD 2007 y WDS. En menos de una hora estaban los 16 equipos instalados y personalizados.
Pero esto os lo comento en mi próximo post....
SuperFetch (I de IV)
El motivo de este BLOG es desgranar Windows Vista, dar a conocer sus nuevas
características, funcionalidades y tecnologías de manera que como profesional
dedicado al tema no he podido evitar poner mi granito de arena y mis
conocimientos técnicos ante este proyecto al servicio de todos aquellos que
deseen leernos y aprender más acerca del nuevo sistema operativo de Microsoft.
Por todo ello quizás la mejor manera de empezar este POST es daros las gracias a
todos por dedicarnos algo de vuestro tiempo.
Cuando tuve que decidir el tema a tratar en este BLOG pensé en un principio
algún tema de seguridad, sin embargo teniendo en el equipo a dos expertos MVP
en seguridad hubiera sido un error privar a dichos expertos (Chema y Juan Luís)
de atender dichos temas con el valor añadido de toda su experiencia, amplios
conocimientos y por qué no, repertorio de anécdotas. Así que he decidido probar
suerte con otro de los pilares de Windows Vista junto con la seguridad: el
rendimiento. Concretamente en estos días hablaré sobre el nuevo gestor de
memoria de Windows Vista: SuperFetch.
Mucha gente le tiene miedo al uso o consumo de la memoria: es un recurso
caro, limitado y en ocasiones con una capacidad de expansión escasa, y además,
y quizás el elemento más importante de esta ecuación, se encuentra una de las
leyendas urbanas más difundidas en el mundo de la informática: “cuanto más
consumo de memoria, peor rendimiento”, algo que como veremos no siempre es
cierto, y menos aun si hablamos de Windows Vista. La polémica está servida por
tanto cuando Windows Vista recomienda como mínimo 1GB de RAM, nuestra mente nos
engaña surcada por la siguiente deducción: “Si Sistema Operativo recomienda 1GB
de RAM como mínimo significa que dispondremos de menos espacio en memoria para
nuestras aplicaciones con la consiguiente reducción del rendimiento, aumento
del uso de la memoria virtual, lectura del disco duro etc.”. Por supuesto mucho
técnico no informado y sin conocimiento de causa se echa las manos a la cabeza
y alardea de la poca memoria que consume su distribución de linux, un ejemplo
de este debate lo encontramos en el siguiente POST del Blog de elladodelmal:
http://elladodelmal.blogspot.com/2006/11/expertos-no-tecnico-less.html
Pero la respuesta es fácil: si la principal ventaja de la RAM es que su velocidad de
lectura/escritura es muy superior a la de un disco duro, ¿no es lógico pensar
que cuanta más información de los programas que vayamos a utilizar tengamos en
memoria mejor será el rendimiento? ¿Y si además de lo anterior añadimos que
algo fuera capaz de predecir qué vamos a ejecutar en cada momento y cargará
previamente la información de esos programas en memoria? Bien, pues ese algo es
SuperFetch, un proceso de bajo consumo que gracias a sus capacidades
predictivas mejora el rendimiento de nuestro sistema y el tiempo que tardan en
abrirse nuestras aplicaciones basándose en nuestras propias pautas de
comportamiento (a veces es de agradecer que el ser humano sea un animal de
costumbres).
En próximos POST iremos desgranando esta tecnología y otras relacionadas
con el fin de obtener una visión general de las mejoras de rendimiento de
Windows Vista y para desterrar para siempre aquellos falsos rumores que
pudieran circular sobre los requisitos y la optimización de este nuevo sistema
operativo, mientras tanto y si queréis ir alimentando vuestra curiosidad os
dejo el enlace oficial de Microsoft sobre las nuevas características de rendimiento
de Vista.
http://www.microsoft.com/windows/products/windowsvista/features/details/performance.mspx
Control de Cuentas de Usuario
UAC – Control de cuentas de usuario es la tecnología que Microsoft ha incorporado en su nuevo sistema operativo Windows Vista. Es una tecnología revolucionaria que nos va a ayudar a mejorar la seguridad de nuestros sistemas.
Esta nueva tecnología proporciona al sistema el complemento que le faltaba para cumplir con el principio del menor número de privilegios posibles. Ahora solo falta esperar y ponerlo a prueba, para comprobar si al final aporta tantos beneficios como está empezando a demostrar.
El objetivo principal de UAC es minimizar el número de ataques que cada día más sufren nuestros sistemas y proteger el equipo ante los usuarios (amenaza en ocasiones más peligrosa que cualquier malware).
Para proteger el sistema y la información almacenada en el mismo, esta nueva tecnología realiza una reducción automática de los privilegios de todos los usuarios, convirtiéndolos en usuarios estándar por defecto.
¿Pero que ocurre cuando el sistema necesita de permisos superiores? El sistema notificará al usuario que la tarea que desea realizar (ya sea ejecutar una aplicación o realizar cambios sobre la configuración del sistema) necesita de privilegios superiores y requiere de su aceptación. Si el usuario acepta el incremento de permisos la tarea podrá realizarse, en caso contrario, la tarea se finalizará.
.jpg)
De este modo conseguimos que cualquier ejecución de las aplicaciones se haga de forma segura para el sistema. En definitiva, consigue que el trabajo diario de los usuarios, incluidos los administradores, no supongan un riesgo para nuestros equipos.
Para aquellos pocos administradores que tenían dos cuentas de usuario en el sistema, una con privilegios y otra sin ellos (que digo pocos………… casi ninguno), se acabo la tortura de tener que estar lanzando las tareas administrativas mediante el comando runas.
En definitiva, UAC sustituye a runas, con el fin de hacerlo más sencillo para el usuario y mejorandolo hacia los nuevos avances que requiere cualquier sistema operativo en la actualidad.
En los siguientes post iremos ahondando cada vez en esta fascinante tecnología que nos va a proporcionar un gran control de lo que realizan nuestras aplicaciones en el sistema.