¿Qué impide que alguien ataque el sistema fuera del sistema operativo? ¿O (en el peor de los casos), simplemente tomar una copia del almacenamiento y volver a cargar la imagen en el dispositivo original repetidamente?
En una PC, atacar fuera del sistema operativo es muy fácil cuando tienes acceso físico. Todo lo que necesita hacer es arrancar desde un CD o unidad USB. Si el BIOS se ha configurado para que no lo permita, puede sacar el disco duro y conectarlo a otra máquina.
Los teléfonos móviles y las tabletas no permiten el arranque desde otra cosa que no sea la memoria flash interna. Cuando enciende el dispositivo, se inicia en el sistema operativo y no responde a nada antes de que el usuario haya pasado la pantalla de inicio de sesión. (Hay algunas excepciones, como los teléfonos de referencia de Google destinados al desarrollo, e incluso para estos, el cargador de arranque predeterminado le permite instalar una imagen de arranque alternativa, pero borra el dispositivo primero.) Por lo tanto, al evitar un error en el cargador de arranque o en el sistema operativo, es imposible llegar fuera del sistema operativo.
Los errores, por supuesto, ocurren. Los dispositivos de Apple se desbloquean tarde o temprano, pero en estos días se vuelve cada vez más difícil, y los exploits se vuelven muy complejos. La tableta Surface de Microsoft no ha sido completamente rooteada todavía. Los teléfonos Android son rooteados como regla general, pero luego Android no fue diseñado especialmente para evitar eso (Android no trata al usuario como hostil).
Por supuesto, es posible el acceso físico a la memoria flash, pero el chip flash está soldado a la placa principal. Dependiendo del modelo, es posible que todo lo que necesita para acceder a él sea un equipo electrónico asequible (básicamente, el tipo de conector correcto) y una alineación cuidadosa de los pines, o puede que necesite desoldar el chip flash de la placa principal. El último caso prácticamente mata el valor de reventa del dispositivo, e incluso el primero está más allá de lo que su ladrón promedio está preparado para hacer.
No obstante, con acceso físico, un ataque dirigido puede extraer sus datos. Como regla general, no debe almacenar secretos en un dispositivo móvil que valgan más que el valor de reventa del dispositivo. Su cuenta de Facebook no vale mucho, pero los datos financieros de su empresa pueden valer. Y si su teléfono es capturado en una redada policial, esto es una rutina para los laboratorios forenses.
Tengo entendido que incluso tener Bitlocker en un sistema Windows no protegería contra este último ... ¿o me equivoco y hay algo inteligente con el chip TPM en marcha?
Un TPM agrega otra capa de protección. Es un chip resistente a la manipulación: sin un equipo costoso y el conocimiento para usarlo, no puede extraer su memoria interna (y es probable que el chip quede inutilizable en el proceso). (También hay plataformas basadas en ARM con un TPM que no es un chip separado, sino que se implementa como firmware en un sistema en chip. También, la extracción física de las claves implica la disolución de parte del chip).
Con un TPM (correctamente utilizado), el chip TPM contiene un hash de la imagen de arranque. Si logra volver a flashear el dispositivo, el cargador de arranque en la ROM se quejará de que la imagen de arranque es mala y se niega a iniciar. El TPM también se puede usar para cifrar datos en el dispositivo, de nuevo con una clave que se almacena en un chip resistente a la manipulación indebida.
Un PIN de 4 dígitos, incluso si se elige al azar (a diferencia de 1234
o el cumpleaños del propietario), cae en promedio en 5000 intentos. Hay algunos patrones más posibles, pero son muy vulnerables a la exposición a través de huellas dactilares. Esto protege contra un atacante de paso rápido que intenta un par de códigos mientras el propietario está buscando en otro lado, pero no contra un atacante paciente y sin prisas. Las tarjetas de crédito almacenan el número de intentos fallidos en su memoria persistente: tres golpes y la tarjeta queda inutilizable. Tal comportamiento extremo se considera malo para la mayoría de los dispositivos, especialmente un teléfono inteligente que puede usarse mientras está en movimiento. Por lo tanto, las protecciones tienden a ser más indulgentes, y en particular, por lo que sé, reiniciar el teléfono reinicia el contador en todos los sistemas operativos principales, de modo que un atacante sin apuro y equipado pueda seguir reiniciando e intentando diferentes PIN durante horas hasta que encuentre el derecho uno.