Realicé pruebas de vulnerabilidad de algunas aplicaciones móviles de Android que ayudé a desarrollar y noté un comportamiento extraño. Las aplicaciones utilizaron la lista predeterminada de conjuntos de cifrado de Android 5.0.2 que incluye el conjunto TLS_FALLBACK_SCSV (0x5600)
diseñado para evitar Poodle. Consulte la lista de conjuntos de cifrado a continuación:
Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)
Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
Cipher Suite: TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)
Cipher Suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039)
Cipher Suite: TLS_DHE_DSS_WITH_AES_128_CBC_SHA (0x0032)
Cipher Suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA (0x0038)
Cipher Suite: TLS_ECDHE_ECDSA_WITH_RC4_128_SHA (0xc007)
Cipher Suite: TLS_ECDHE_RSA_WITH_RC4_128_SHA (0xc011)
Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
Cipher Suite: TLS_RSA_WITH_RC4_128_SHA (0x0005)
Cipher Suite: TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)
Cipher Suite: Unknown (0x5600)
Cuando observé la secuencia de solicitud de TLS en la captura de red, se produce sobre SSL 3.0, aunque SSL3 no es compatible con la lista de conjuntos de cifrado.
Esto no se parece a un caniche. Lo que encontré más interesante es que el conjunto de cifrado negociado (en la solicitud de Hello del servidor) era TLS_RSA_WITH_AES_128_CBC_SHA
.
¿Esto significa que la sesión cifrada se realizó de manera efectiva utilizando el conjunto de cifrado SSL3_RSA_WITH_AES_128_CBC_SHA
? ¿Y es vulnerable a la misma vulnerabilidad de SSL 3.0 CBC utilizada para recuperar datos de texto sin formato por Poodle?