Dado que el uso de dispositivos móviles supera con creces el de ordenadores de escritorio, este último resulta anticuado para muchos. Los dispositivos móviles son el futuro, lo que implica que los ordenadores de escritorio deben ser el pasado. Es natural esperar un futuro más seguro, tras haber aprendido de los errores del pasado. De hecho, como se mencionó en el artículo anterior, los dispositivos móviles cuentan con numerosos controles de seguridad.
Sin embargo, los dispositivos móviles también son tan nuevos que aún estamos trabajando en la ingeniería para solucionar los problemas que presentaron. Aunque las redes celulares tienen décadas de antigüedad, su infraestructura aún carece de medios para ocultar la ubicación de los dispositivos o cifrar mensajes y llamadas. Los simuladores de estaciones base aprovechan precisamente estas limitaciones.
Los desarrolladores e investigadores de seguridad siguen descubriendo nuevas inferencias sobre los usuarios al correlacionar las lecturas de la amplia gama de sensores de dispositivos móviles, por no hablar de los sensores de los dispositivos del Internet de las Cosas (IoT), algunos de los cuales pueden considerarse «móviles».
En cambio, los dispositivos de escritorio tienen una arquitectura bien entendida. Sus sistemas operativos tienen décadas de antigüedad y su mantenimiento está a cargo de los desarrolladores más experimentados del sector. Como tal, se establecen y validan patrones de ingeniería segura, una práctica que ha cobrado forma recientemente en el desarrollo de sistemas operativos móviles.
En esta segunda entrega de mi análisis comparativo de «seguridad» y «privacidad», examinaremos los desafíos y oportunidades únicos que presenta la ingeniería de estas propiedades en plataformas de escritorio.
Ventajas de la privacidad del hardware de escritorio.
Afirmar que los equipos de escritorio son menos seguros que los dispositivos móviles puede ser cierto o falso, pero esto depende en gran medida de su configuración. Si bien los dispositivos de escritorio son menos seguros de fábrica, son más privados y pueden aumentar su seguridad.
Por un lado, los usuarios pueden imponer más restricciones de hardware en los dispositivos de escritorio porque sus componentes son más accesibles físicamente. En los dispositivos móviles, el hardware está tan compactado en un bloque sellado con pegamento que, a menos que se sepa realmente lo que se está haciendo, hay que confiar en el sistema operativo cuando indica que se le ha denegado el acceso al hardware a una aplicación. Los dispositivos móviles también albergan muchos más tipos de sensores.
En los equipos de escritorio e incluso en algunos portátiles, los usuarios pueden instalar interruptores físicos que desconectan las unidades de hardware según sea necesario. Una opción más sencilla es eliminar todo el hardware integrado excepto el esencial y utilizar únicamente accesorios externos, como cámaras web, micrófonos y teclados conectados por USB.
Sandboxing y aislamiento en ordenadores de escritorio vs. Móviles.
Los sandboxes son un elemento clave en el diseño de seguridad móvil. En el caso de Android e iOS, se implementan mediante controles de límites de permisos de usuario a nivel de kernel. Este enfoque es sólido y se basa en principios de diseño de sistemas operativos probados, en lugar de reinventar la rueda. Sin embargo, se trata solo de una capa de defensa, tan fuerte como el propio kernel. Las aplicaciones están a solo una vulnerabilidad del kernel de romper sus límites. No son comunes, pero existen.
En los sistemas operativos de escritorio, existe una mayor variedad de técnicas de sandbox interoperables. Las implementaciones varían en cuanto al uso de recursos y la rigidez de los límites del sandbox. El enfoque más sencillo son las cárceles BSD, que existen desde hace décadas. Existen implementaciones similares en otros sistemas Unix y similares. Un paso más allá son los mismos límites de permisos del kernel que el sandbox móvil.
Si necesita el límite más rígido posible, puede ejecutar aplicaciones en una máquina virtual. Se trata de pequeñas computadoras emuladas por software, con sus propios sistemas operativos. Las aplicaciones que se ejecutan en ellas no pueden identificar la existencia de otro sistema operativo. Es imposible comprometer un sistema que desconocemos, ¿verdad? Este método se considera el estándar de oro en aislamiento de aplicaciones y se utiliza en algunos de los entornos de seguridad más sensibles del mundo. Por ejemplo, la distribución de Linux Qubes OS, centrada en la seguridad, virtualiza todas las aplicaciones de forma transparente.
Como se mencionó anteriormente, los sistemas operativos móviles no otorgan acceso root bajo ninguna circunstancia. Sin root, las posibilidades de desactivar o eludir cualquier acción que recopile datos sin su consentimiento son limitadas. En computadoras de escritorio, se puede usar el root para cerrar procesos maliciosos y bloquear el acceso externo a archivos, entre otras contramedidas. Solo con privilegios root se puede detectar todo lo que sucede. Con un solo comando, un usuario de Linux puede ver todas las conexiones de red abiertas, adónde se dirigen y a qué archivos accede cada una. No existe una alternativa comparable para ningún sistema operativo móvil.
Los dispositivos conectados a redes celulares suponen una desventaja adicional para el usuario preocupado por la privacidad, que el acceso root le evitaría. Arquitectónicamente, la tarjeta SIM y la banda base pueden anular cualquier otra acción en un dispositivo móvil. Esto se diseñó para evitar que los usuarios obstaculicen la facturación por el uso de la red. Sin embargo, la implementación de estos controles deja la puerta abierta al abuso. Cualquier dispositivo que pueda acceder a la tarjeta SIM o la banda base tiene vía libre para acceder al dispositivo. Sin root, los usuarios no pueden hacer nada para evitarlo.
Abre el código fuente, cierra las puertas.
Los sistemas operativos de escritorio tienen un último as bajo la manga: la compilación desde el código fuente. Los sistemas operativos móviles, y las empresas privadas que los desarrollan, suelen beneficiarse de limitar la instalación de software a las tiendas de aplicaciones. Si bien impiden que el usuario instale software opaco de fuentes cuestionables, las tiendas de aplicaciones no son tan seguras como se las pinta. Con millones de aplicaciones cada una, Apple o Google no pueden revisarlas todas.
Sin embargo, al compilar software de código abierto, que es mucho más sencillo en un ordenador de escritorio, se instala software que cualquiera puede revisar y que el ordenador creó desde cero. No es necesario confiar en quien creó y distribuyó el paquete binario de una aplicación. La seguridad de saber exactamente qué código se ejecuta en el dispositivo es la mejor protección de la privacidad que un usuario puede disfrutar. Imagine lo difícil que sería comer sano sin etiquetas nutricionales. La privacidad sin software de código abierto no es menos abrumadora.
La bifurcación en el código.
Aunque este artículo y el anterior aplicaron definiciones estrictas de «privacidad» y «seguridad» a los sistemas operativos y, en cierta medida, al hardware en el que se ejecutan, estas pueden usarse para comprender cualquier tecnología. Estos términos pueden caracterizar con la misma facilidad aplicaciones individuales o redes enteras. Incluso pueden aplicarse al mundo analógico. Son simplemente lentes para observar agrupaciones de propiedades.
Para mí, si bien la consideración abstracta de los sistemas puede ser instructiva, prefiero las aplicaciones prácticas para resultados reales. Entonces, ¿dónde entramos los usuarios en escena?. En pocas palabras, debes decidir tu propio equilibrio preferido entre seguridad, privacidad y esfuerzo. La seguridad, y mucho más aún la privacidad, conllevan un costo de esfuerzo. El primer paso es saber qué se obtiene realmente con ese esfuerzo. ¡Mucha suerte en los próximos pasos!.

