El físico también importa. Hola paranoia!!
El foco principal de una auditoría de seguridad informática es comúnmente la revisión de las comunicaciones, los protocolos usados para enviar y recibir datos, así como las aplicaciones que los humanos y las máquinas utilizamos para llevar a cabo dicho proceso. El ámbito físico se suele limitar al acceso a la consola, el robo o apropiación de terminales/portátiles/discos o cualquier otro dispositivo con acceso a datos o almacenamiento de los mismos y las redes inalámbricas (Wifi, Bluetooth, 3G, GPRS, etc.), entre otros.
Ahora es cuando he de sacar mi lado de «abuelo cebolleta» y hablar del RFC4949 fechado en 2007 y titulado «Internet Security Glossary, 2» y que en su apartado 4 define la seguridad de las «emanaciones»:
$ emanations security (EMSEC) (I) Physical security measures to protect against data compromise that could occur because of emanations that might be received and read by an unauthorized party. (See: emanation, TEMPEST.) Usage: Refers either to preventing or limiting emanations from a system and to preventing or limiting the ability of unauthorized parties to receive the emissions.
Esta es la definición sobre las medidas de seguridad para proteger los datos contra emanaciones previstas o no en los sistemas y soportes de comunicaciones. Por ejemplo, aquí entraria una emision Wifi o bluetooth, pero también tendríamos la captura de las pulsaciones de teclado mediante las señales electromagnéticas que se producen al accionar sus teclas o bien la posibilidad de «ver» el contenido de una pantalla gracias a la captura de la emisión de las mismas ondas producidas por esta. Si, ríete, pero ambas cosas las he visto en laboratorio con herramientas tipo TEMPEST y equipos dotados con dispositivos de pocos cientos de euros.
Si te queda algún monitor VGA por casa y quieres emitir el «Para Elisa» de Beethoven y escucharlo en una radio, puedes usar esta aplicación: http://www.erikyyy.de/tempest/
Aislando un equipo: Air GAP
Después de esta introducción para ponerte en situación vaya rima del montón, merezco ir al paredón he de hablar de un concepto denominado «Air Gap«. Esto es un PC o sistema que estaría completamente aislado de cualquier tipo de red y de cualquier conexión a un dispositivo conectado o no a este tipo de redes (por ejemplo, no podríamos sincronizar un ipod/iphone conectado a una red wifi o 3G). El criptólogo Bruce Schneier en su blog, publicó un decálogo para crear y mantener un sistema de este tipo. Si tienes un rato y prefieres leer directamente de las fuentes, te recomiendo que leas el original. Si vives la vida loca y te fías de mi, lo resumo:
- Mientras se configura el equipo, conectar el mismo el tiempo imprescindible a Internet y siempre bajo la supervisión de un IPS/IDS, Firewall de capa 7, etc.
- Hacer una lista con el software, librerías y ficheros imprescindibles y eliminar el resto.
- Una vez instalado y configurado el equipo, darlo por «finalizado» y no lo vuelvas a conectar a Internet.
- Si necesitas actualizar el software o instalar software nuevo, baja lo necesario de una fuente fiable mediante el uso de un ordenador que no te relacione y sometelo a un periodo de cuarentena y pruebas con antivirus en serie. Graba los ejecutables en un CD no regrabable o en una tarjeta de memoria con capacidad de protección de escritura por hardware.
- Desactiva la ejecución automática de medios (autorun, etc.)
- Minimiza la cantidad de código ejecutable. Usa txt para los textos en vez de doc. Los archivos de texto son los mejores. Los archivos de Microsoft Office y archivos PDF son más peligrosos, (macros, VBA, etc.). Esto se refiere al almacenamiento, solo a la ejecución dentro de esta máquina aislada.
- Utiliza únicamente medios fiables para mover archivos. Un pen USB comprado indirectamente en una tienda aleatoria, tendrá menos posibilidades de contener ataques dirigidos. Por supuesto no usar medios encontrados abandonados por ahí y mucho menos en nuestro entorno.
- Para la transferencia de archivos, un disco óptico grabable (CD o DVD). Es más seguro que una memoria USB. En caso de infección por Malware, este podrá escribir en una memoria USB sin que se note, pero sería complicado mover el CD a más de 1.000 rpm sin que se note (velocidad mínima para grabar datos). También puedes verificar la cantidad de datos que se ha escrito en el CD observando físicamente la parte posterior del mismo. Si sólo has escrito un archivo, pero parece que las tres cuartas partes de la CD fue quemada, tienes un problema.
- Al mover archivos dentro y fuera del equipo aislado, utiliza el dispositivo de almacenamiento más pequeño que puedas, con arreglo al volumen de datos a mover. Si lo necesitas, rellena con datos firmados el hueco libre hasta ajustar el espacio restante al volumen a usar. Por ejemplo, si pretendes sacar 100 megas en un USB de 1GB, rellena con un fichero de 900MB y compruebas que el contenido de este fichero no se ha tocado. En caso de infección del equipo aislado, un atacante no podrá sacar más datos de lo que le permita en espacio en los que los pueda escabullir.
- Cifra el contenido del ordenador. Si puedes, cifra también todo el disco usando software fiable. Aquí, Schneier diserta sobre el uso de aplicaciones de cifrado de corporaciones como Microsoft o Symantec con su PGP influenciados por la NSA o aplicaciones menos sospechosas como TrueCrypt. Personalmente uso TrueCrypt, pero porque es bueno, bonito y
baratogratis. Los Apple Fan Boys estaréis pensando en FileVault, pero usa el mismo password que uso al entrar al equipo, lo cual lo hace incompatible con algunas exigencias profesionales que debo cumplir.
Ahora la pregunta del millón…
¿Se puede romper la seguridad de un equipo aislado?
La historia aquí tiene tildes de novela de John Le Carré. En 2012, EE.UU bloqueaba las inversiones de/en HUAWEI y ZTE.Corp acusándolos de incluir en sus equipos componentes electrónicos destinados a enviar datos a china. Dentro de mi experiencia personal, puedo contar una batallita anécdota de hace años en la que una empresa española recibió equipos pre-instalados con troyanos que sabían demasiado bien qué buscar como para pensar que no estaban dirigidos a esta empresa. La política de seguridad de muchas empresas ya incluye que la compra de equipos debe ser realizada a empresas acreditadas, aunque con el BYOD, esto puede ser un poco complicado.
Esto viene a poner en duda la seguridad del equipo previamente a la securización estándar, pero, una vez que está aislado, ¿es posible «meterle mano»? Según narra el consultor en seguridad Dragos Ruiu en un articulo escrito en octubre de 2013, existe de un virus, denominado BadBIOS que se propaga por BIOS y Firmware de equipos Mac sin necesidad de que los equipos (a priori) estén conectados a red alguna, haciendo la prueba en un MacBook Pro reinstalado desde 0 y con el firmware «reflasheado».
Ruiu no ha detectado el bicho en sí, aunque si que parece haber detectado un método para evitar la propagación del mismo: Desactivar micrófonos y altavoces.
¿Es posible que un troyano se monte sus propios interfaces?
Visto lo anterior, ya hay algunos habituales a Cuarto milenio que se han aventurado a hablar de la posibilidad de que un Malware use ondas emitibles por el altavoz que interactuen directamente con el chip o que sean capturadas por el micrófono, exploten alguna aplicación que haga uso de él y se propague a otro sistema. Esto cuando el origen/destino pueda ser Linux, Windows, OSX, OpenBSD, etc.
La empresa Sophos, ha hecho un ameno artículo desarticulando esta posibilidad.
Lo que ya no es tan imposible es usar un dispositivo como interfaz de comunicación para el que no estaba originalmente diseñado. Sin necesidad de entrar en el rollo que solté antes sobre TEMPEST, vamos a simplificar algunos usos que se pueden probar (y alguno que me dejo, seguro!):
Pantalla para envío de datos que no se ven a simple vista: No me refiero a sacar una foto de la pantalla, sino a enviar datos tal cual usando el parpadeo de una zona de la pantalla. Esta tecnología era la que usaba el reloj de Timex-Microsoft «Data-Link» en la época pre-Wifi, pre-USB, pre-bluetooth y pre-casitodo. Si, Microsoft tenía hace casi 20 años un reloj que sincronizaba datos arrimándolo a la pantalla y que podían ser descargados en otros equipos mediante un dock. Todo esto quedaba muy chulo y moderno, pero el precio y la aparición de otras tecnologías mejores para la sincronización de los datos, además del uso de las redes, terminó con el invento.
El mismo método puede ser usado por una webcam, cámara de vídeo o la cámara de un smartphone para sacar datos enviados de la misma manera.
Sonidos no audibles para el envío de datos: Unos altavoces de ordenador de calidad media, están en el rango de los 45Hz- 20Khz, mas amplio del rango de frecuencias que un ser humano puede oír. Un equipo del Fraunhofer Institute for Communication, Information Processing, and Ergonomics, ha escrito un documento que contiene un PoC sobre un software que puede usar los altavoces de un equipo para transmitir datos sin ser oídos, y capturarlos con un micrófono con la posibilidad de crear una red «paralela» mediante las tarjetas de sonido a modo de tarjetas de red.
El software no ha sido publicado (que yo sepa) y según el documento, podría ser suficiente para el envío/recepción de contraseñas, textos simples o ficheros de poca longitud. El documento se complementa con un trabajo sobre la creación de un IDS capaz de detectar estas comunicaciones.
Puerto PS/2 para datos. Antes de la llegada del USB, los más antiguos usábamos primero el puerto de serie y luego un puerto redondo, que únicamente se le conocía el uso de conectar el teclado o el ratón. Con el uso adecuado de los drivers, se podían usar como puertos de comunicaciones (el puerto serie y paralelo ya era un interface declarado como tal y se solían securizar). He tenido y usado adaptadores DB9/PS/2 para sacar datos de un host en el transcurso de una auditoría. El ancho de banda no era de lujo, pero para un fichero de passwors daba.
Scanner e impresora: La impresora se puede usar para sacar binarios con el programa uuencode. Este software, convierte un fichero binario en texto ASCII y este es imprimible fácilmente en papel. Por otro lado el Scanner se puede usar como como entrada de binarios. Se pasaba un troyano a texto base 64 mediante el uso de uuencode, se imprimia y se escaneaban los folios. Posteriormente con el mismo software de escaneado y mediante OCR se volcaban a ficheros de texto, se transformaba a ejecutable con uudecode y ale, a hacer el mal bien.
A todo esto hay que incluir otros interfaces y dispositivos no solamente informáticos. Hace muchos años, en Televisión y Radio se emitían programas de ordenador mediante el sonido que la gente grababa en cassettes, y se ejecutaban en los Spectrums.
¿Que piensas ahora de la seguridad física?
Un Saludo,
Autor: Jesus D. Muñoz