nrfsec, para desbloquear cualquier System-on-Chip seguro de la serie nRF51 para depuración - Calendae - Calendae | Informática, Electrónica, CMS, Ciberseguridad

nrfsec, para desbloquear cualquier System-on-Chip seguro de la serie nRF51 para depuración – Calendae

Hola de nuevo. Te habla Jordi Oriol y en esta ocasión hablaremos sobre nrfsec, para desbloquear cualquier System-on-Chip seguro de la serie nRF51 para depuración – Calendae

Loren Browman, un analista de seguridad publicó recientemente una guía para el desbloqueo automático de Nordic Semiconductor nRF51-serie system-on-chips (SoC) que afirma ser seguro, lo que permite un volcado de memoria completo o una depuración interactiva independientemente de la configuración de seguridad. En un artículo de blog para la firma de seguridad Optiv, escribe Loren Browman

«Recientemente, mientras realizaba una evaluación de un producto basado en el sistema en chip (SoC) nRF51822, descubrí que la interfaz de depuración de mi lente estaba atascada, algo estándar … Al leer los SoC de la serie nRF51, descubrí que este es el caso. que estos chips están diseñados. Siempre se puede realizar una restauración / volcado de memoria completa, incluso si la protección contra lectura está habilitada «.

Seguir:

“Quería basarme en lo que otros han descubierto, extender el ataque para eludir completa y automáticamente el mecanismo de protección de memoria que ofrecen estos SoC. Además de leer la memoria, también quería desbloquear el dispositivo para admitir sesiones de depuración interactivas con mi objetivo. «

Esto llevó a nrfsec, una herramienta de seguridad de investigación de código abierto publicada bajo la GNU General Public License 3, que se utiliza para desbloquear y leer la memoria en los SoC de la serie nrf51 de Nordic Semiconductor.

Las características de nrfsec incluyen:

  • Lea toda la memoria de destino, ignorando la configuración de la Unidad de protección de memoria (MPU) con la búsqueda integrada de dispositivos de lectura.
  • Función de desbloqueo automático: lea todo el programa y la memoria UICR, borre toda la memoria, aplique la imagen UICR, refleje el objetivo en el estado desbloqueado.
  • Indicador de comando de retardo de inicio para interactuar con el objetivo antes de leer la memoria, lo que permite volcados de RAM.
  • Todas las imágenes de firmware se guardan para importarlas a su desensamblador favorito.

Acerca de nrfsec, dice Loren Browman

«[nrfsec] puede automatizar todo el proceso descrito para usted … permitiéndole descubrir el funcionamiento interno de cualquier producto basado en nRF51 «. Una vez desbloqueada, la herramienta establece una sesión de depuración para el SoC ahora desprotegido. Para la instalación, nrfsec está construido sobre la biblioteca pyswd y actualmente solo funciona con la interfaz de depuración ST-Link.

nrfsec requiere python 3.7+ para ejecutarse y se puede instalar con pip. Para que nrfsec funcione, primero hará una verificación rápida de la información para asegurarse de que nrfsec pueda comunicarse tanto con el depurador como con el objetivo. La salida de la información también especificará si el objetivo está bloqueado actualmente con alguna información adicional interesante sobre el objetivo. Luego, nrfsec encontrará automáticamente un dispositivo de lectura utilizable y volcará toda la memoria a un objetivo bloqueado. Si el objetivo aún no está bloqueado, puede emitir el comando de bloqueo secundario y se bloqueará nuevamente. Si desea desbloquear el objetivo, ejecute el comando de desbloqueo secundario que realizará los siguientes pasos:

  1. Lea todas las regiones de memoria (especialmente ROM y UICR) y guarde imágenes.
  2. Realizar un borrado completo del destino, esto permitirá volver a escribir en la UICR.
  3. Parche la imagen UICR extraída durante el paso 1 para deshabilitar la protección contra lectura.
  4. Vuelva a flashear la ROM y restablezca el UICR parcheado en el destino.

Puede encontrar más detalles sobre cómo funciona la herramienta y cómo usarla en el Blog Optiv, mientras que nrfsec está disponible para descargar desde GitHubo se puede instalar desde el administrador de paquetes Python pip.

No te olvides compartir en en tu Twitter y Facebook para que tus colegas lo sepan

??? ? ? ???

Comparte