Buscar código fuente de Android?

La gente de cartera bitcoin afirman que hay un defecto en la clase SecureRandom de Android que les causó sufrir una falla criptográfica. Por ejemplo, desde una entrada de blog :

Parece que, al menos en ocasiones, el PRNG basado en Java en Android repetirá sus secuencias pseudoaleatorias, gracias a una falla en la llamada clase SecureRandom Java de Android.

El problema es que no hay una referencia específica a la falla PRNG. Y las citas parecen circulares – un grupo de personas que se citan entre sí.

Las fuentes de Android están disponibles en https://android.googlesource.com/ . Me gustaría ver el código fuente y los cambios en la clase SecureRandom de Android.

¿Cómo se puede buscar en este sitio? ¿No encuentro un cuadro de búsqueda en ninguna parte?

El problema es que no hay una referencia específica a la falla PRNG.

Google ha publicado un blog sobre él hoy , incluyendo algunas soluciones.

¿Cómo funciona la búsqueda en este sitio? ¿No encuentro un cuadro de búsqueda en ninguna parte?

No puedes, directamente.

Puedes usar Android XRef .

O bien, puede utilizar GitHub .

O bien, puede instalar la extensión Chrome de Roman Nurik que agrega vínculos al código fuente a todos los JavaDocs.

O bien, puede descargar el código fuente y usar grep .

Siempre puedes usar una búsqueda avanzada: http://www.google.ca/advanced_search

Sólo usando el site:https://android.googlesource.com/ secureRandom dio: https://android.googlesource.com/platform/libcore/+/57656d21f772aacbe0d05e54b1274f4c58993a52/luni/src/main/java/java/security/SecureRandom.java

git log -p y grep son tus amigos 🙂 El blog no señala el defecto real, por lo que no es muy útil. Aunque los detalles no se han publicado oficialmente, parece que el problema es que todas las aplicaciones comienzan con el mismo estado PRNG (como se bifurcan desde zygote ) y repetir secuencias "aleatorias" si se ejecuta con el mismo PID como antes de.

POC aquí:

https://gist.github.com/nelenkov/581f9be65dcc0b6b35b9

Aunque hay informes para actualizaciones de dispositivos Nexus, las correcciones todavía no se han comprometido a AOSP, por lo que hay alguna (pequeña) posibilidad de que esto es totalmente fuera de la marca.

  • Obteniendo 1 byte extra en el módulo RSA Key ya veces para exponentes también
  • ¿Cómo almacenar las contraseñas de forma segura en Android?
  • Error de descifrado: "no iv establecido cuando se esperaba"
  • ¿Llamadas GSM con RILD en Android?
  • Crash casting AndroidKeyStoreRSAPrivateKey a RSAPrivateKey
  • Descripción de la consola de desarrolladores de Google
  • Cifrar con Node.js módulo Crypto y descifrar con Java (en la aplicación de Android)
  • Android 4.2 rompió mi código de cifrado / descifrado y las soluciones proporcionadas no funcionan
  • BouncyCastle error AES al actualizar a 1.45
  • ¿Es posible utilizar funciones de criptografía de la tarjeta SIM?
  • Encriptación de clave pública / privada Android-PHP
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.