He ejecutado un detector de Heartbleed desde Lookout en mi teléfono Android. Dice:
La versión de openSSL se ve afectada por el error del corazón, pero la el comportamiento vulnerable no está habilitado.
¿Qué significa no habilitado?
Puedo ver el archivo /system/lib/libssl.so en el teléfono y he encontrado openssl en él. Muestra 1.0.1c. ¿Eso significa que mi teléfono es vulnerable a un error del corazón?
Mi otra pregunta es: ¿Cómo puedo verificar si una aplicación de Android en particular es vulnerable o no? No quiero usar ninguna aplicación de terceros. He visto enlace pero quiero hacerlo con una aplicación. No sé el nombre de dominio al que se está comunicando la aplicación. ¿La aplicación agrupa las bibliotecas de OpenSSL con apk? Si es así, cómo encontrar la versión de OpenSSL que se está utilizando.
@Solution: tengo wriiten el módulo python que toma un APK y realiza la comprobación de la versión openSSL y la extensión de latido.
import zipfile import os import re def heart_bleed(tempdir, msl_outputfile): parrent_tempdir = tempdir.split('tmp')[0] sslpattern = re.compile("1.0.1[a-f]") flagssl = False flagheartbleed = False msllst_heartbleed = [] msc_vulid = "heartbleed" msc_infoseverity = "Info" msc_medseverity = "Medium" apkpath = '' if (parrent_tempdir): for root, dummy_dirs, files in os.walk(parrent_tempdir): for allfile in files: if allfile.endswith(".apk"): apkpath = os.path.join(root, allfile) #print(apkpath) with zipfile.ZipFile(apkpath, "r") as msl_apkread: for i in msl_apkread.namelist(): if i.endswith(".so"): data = msl_apkread.read(i) if "part of OpenSSL" in data: start = data.index("part of OpenSSL") resultdata = str(data[start:start+40]) sslversion = re.findall(sslpattern, resultdata) if sslversion: flagssl = True if "tls1_heartbeat" in data: flagheartbleed = True if flagssl and flagheartbleed: print("The App is using OpenSSL version " + sslversion[0] + " which is vulnerable to Heartbleed and Heartbeat extension is enabled.")) elif flagssl or flagheartbleed: print("The App is using OpenSSL version " + sslversion[0] + " which is vulnerable to Heartbleed but Heartbeat extension is disabled."))
Por favor, comenta, ¿es correcto hacerlo?