Cambios en la arquitectura de los PC
Diferentes fabricantes pretenden convertir el ordenador en el
equivalente a una videoconsola de juegos como las Playstation, Gameboy,
Xbox y similares.
Medidas de protección en los procesadores
En los últimos meses, han aparecido diversos anuncios sobre los cambios
previstos en la arquitectura de los PC para aumentar la protección ante
las incidencias de seguridad.
Hace ya más de veinte años, IBM
presentó su primer ordenador PC con un procesador Intel 8088 a 4,77 MHz.
Los ordenadores que hoy podemos encontrar en cualquier tienda de
informática son una evolución de aquel diseño original, aunque
básicamente los fundamentos continúan siendo los mismos.
En la actualidad existe un consorcio de empresas, la Trusted Computing
Platform Alliance formado por Microsoft, IBM, HP, Intel, AMD y otros. Su
objetivo es cambiar la filosofía básica de los ordenadores PC. Así, el
PC dejaría de ser un equipo de propósito general donde es el usuario
quien decide el software a ejecutar (o dispone como mínimo de la
posibilidad teórica de decidirlo) para convertirse en una caja cerrada
donde sólo puede ejecutarse aquel software que el fabricante ha
autorizado expresamente. Es decir, a grandes rasgos lo que pretenden
estos fabricantes es convertir un PC en el equivalente a una
videoconsola de juegos como las Playstation, Gameboy, Xbox y similares.
No obstante, en este boletín nos centraremos en dos cambios más próximos y que
seguramente veremos en los próximos meses: la desaparición del BIOS y la
incorporación de medidas de protección en los procesadores.
Desaparición del BIOS
El BIOS (Basic Input/Output System, sistema básico de entrada/salida) es
el primer software que ejecuta el procesador en el momento de arrancar
(o reiniciar) el ordenador, antes de la carga del sistema operativo. Su
función básica es realizar un chequeo del ordenador y ofrecer acceso a
los periféricos conectados al sistema. El BIOS es uno
de los
pocos componentes de la arquitectura de los PC que prácticamente no ha
variado desde el primer PC.
Como sustituto del BIOS, Intel y
Microsoft proponen una especificación denominada EFI (Extensible
Firmware Interface). El objetivo es permitir un arranque más rápido del
ordenador. Adicionalmente permite realizar actividades como la
identificación de la presencia de virus informáticos, especialmente
aquellos que se instalan en el sector de
arranque o modifican los
archivos de inicialización del sistema operativo.
Mecanismos
de protección en los procesadores
El siguiente cambio
anunciado recientemente es la inclusión de mecanismos en los
procesadores para evitar que los desbordamientos de buffer puedan ser
utilizados para la ejecución de código. Básicamente consiste en que los
datos que se encuentran en el buffer son considerados como de solo
lectura y no puede ser ejecutado.
Los dos principales fabricantes
de procesadores, Intel y AMD han anunciado de forma independiente la
inclusión de estos mecanismos. No se trata, por descontado, de ninguna
novedad. Ya hace años que los procesadores SPARC de Sun disponen de
mecanismos similares.
Esta protección ya forma parte de los
procesadores Athlon 64 de AMD
actualmente disponibles. Por su
parte, los futuros procesadores Prescott de Intel (nombre en clave de la
versión mejorada del Pentium 4 con extensiones de 64-bit) incluirán
algunas prestaciones similares. Sin una protección de este tipo, un
programa que no realice una comprobación adecuada de los datos
introducidos por el usuario es susceptible de sufrir un ataque de
desbordamiento de buffer. En este tipo de ataques, se envía una gran
cantidad de datos, mayor de lo que inicialmente está previsto.
Como el área de memoria inicialmente reservada no puede almacenar esta gran
cantidad de datos, éstos sobreescriben otras áreas de memoria. En
determinadas circunstancias, este código puede ser controlado por el
atacante para enviar código ejecutable que podrá ser utilizado de forma
remota.
Es importante indicar, no obstante, que para sacar
provecho de esta capacidad, el sistema operativo ha de incluir código
para utilizar estas nuevas funcionalidades. No es algo que
automáticamente pueda ser utilizado, sino que el sistema operativo que
se ejecute debe activarlas.