Ho eseguito un rilevatore heartbleed di Lookout sul mio telefono Android. Dice:
The version of openSSL is affected by the heartbleed bug but the vulnerable behaviour is not enabled.
Che cosa significa non abilitato?
Riesco a vedere il file /system/lib/libssl.so sul telefono e ho trovato openssl su di esso. Mostra 1.0.1c. Significa che il mio telefono è vulnerabile a un bug senza cuore?
La mia altra domanda è: come posso verificare se una particolare app per Android è vulnerabile o no? Non voglio usare nessuna app di terze parti. Ho visto il link ma voglio farlo con un'app. Non conosco il nome di dominio a cui l'app sta comunicando. L'app raggruppa le librerie OpenSSL con l'apk, Se sì, come trovare la versione di OpenSSL in uso.
@Solution: ho un modulo wriiten python che accetta un APK e fa il controllo per la versione openSSL e l'estensione heartbeat.
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."))
Si prega di commentare è giusto fare?