Ranljivost je posledica omejevanja zmogljivosti šifriranja, ki so ga podjetja do leta 2000 lahko izvažala iz ZDA. Zaradi strahu pred naraščajočo uporabo in kakovostjo šifriranja, ki praktično onemogoča prisluškovanje, so tedaj v ameriškem Kongresu zlobirali sprejetje zakonodaje, ki je zahtevala izvoz pohabljenih šifrirnih algoritmov. Čeprav so do leta 2000 omejitve v celoti odpravili, se je šibko šifriranje ponekod obdržalo kot rezervna možnost (fall-back). In to je mogoče zlorabiti.
Za šifriranje po algoritmu RSA je bil najdaljši dovoljen ključ 512-biten. To je ravno dovolj, da ga NSA še zlomi, a hkrati premalo za komercialno razbijanje in uporaba je bila svoj čas zadovoljivo varna. Toda to je bilo leta 1992, do danes pa je računska moč silovito napredovala. Seveda je obstajala tudi verzija z daljšim ključem, ki pa ni bila za izvoz. Zato so imeli odjemalci in strežniki način, kako se sporazumejo o načinu šifriranja. Dandanes se je zdela to daljna preteklost, saj odjemalci sploh ne ponudijo več 512-bitnega šifriranja, strežniki pa ga ne bi smeli sprejemati. A ker to ni čisto res, so prav to nepridipravi sedaj zlorabili.
Odkrili so, da imata Applov SecureTransport in OpenSSL hrošča, ki jima omogoča sprejetje šibkega ključa RSA. Ob uporabi tega ključa je mogoče povezavo v približno sedmih urah dešifrirati, s čimer se odpre pot za MITM-napad. Na Amazonu EC2 vas to stane 50-100 dolarjev računske moči. Problem pa je, da so strežniki precej varčni in ranljivi strežniki ključ RSA generirajo le enkrat po zagonu, potem ga uporabijo vsakokrat. To pomeni, da lahko po sedmih urah prisluškujete vsem šibkim povezavam s tega strežnika.
Vprašanje je, kako razširjen hrošč. Presenetljivo je, da je izjemno. Raziskava na vzorcu 14 milijonov strani je pokazala, da je tretjina strani ranljvih. Če na tako stran zaidete z ranljivim brskalnikom in se vas nepridipravi lotijo, imate problem. Ranljive so celo strani NSA, FBI in Bele hiše! V OpenSSL je ranljivost že zakrpana, Apple pa še dela na popravku. Ranljivost odjemalcev in strežnikov že lahko preverite.
Kakor iz tega razberem slo-tech uporablja 128bit asimetrični ključ in 128bit simetrični ključ. To se pravi vse te TLS/SSL povezave so zlomljive, če ključ ni daljši od 512bit (seveda ob predpogoju, da je vse drugo vredu)
Škoda je, ker ni več izziva za faktoriziranje števil. Zanimivo bi bilo vedeti, koliko je napredovala tehnologija lomljenja ključev: RSA Factoring Challenge @ Wikipedia
Konkretno je pri eliptičnih krivuljah (EC) dolžina ključa lahko bistveno krajša in nudi še vedno enak nivo varnosti. Za simetrično enkripcijo je pa 128 bitni AES ključ sploh veliko in je približno na nivoju 3072 bitov RSA. Oz. se popravljam za dogovor o simetričnem ključu, ki se uporablja, ker je vse skupaj precej hitreje, naj bi se, če je ključ dolg 128 bitov uporabljal 3072 bitni RSA oz. 256 biten EC. 2^128 je kar veliko za bruteforcati.
Aja, ko je že ravno govora o FREAK, bi bilo mogoče smiselno omeniti tudi SMACK (https://www.smacktls.com/). FREAK je namreč v bistvu samo ena (precej huda) varianta iz družine problemov napačne obravnave stanj. Vse skupaj je nastalo zaradi butastih predpisov, ki so kriptografijo štele kot orožje. Podobno toga je sedaj zakonodaja v zvezi z exploiti oz. o varnostnih ranljivostih nasploh. S tem se bo tudi kdo ustrelil v nogo.
In kako točno je to problem Linux-a? Kaj je tu sploh omembe vredno? Da niso vsi proizvajalci agilni s popravki? A ni tako že od pamtiveka? Ali je to spet ena velika zarota? :)
Where all think alike, no one thinks very much.
Walter Lippmann, leta 1922, o predpogoju za demokracijo.