Szerző: Hlács Ferenc

2017. március 31. 11:54

Ellenőrizhetővé teszi a Firefox binárisokat a Mozilla

Leszámolna az eltérített, potenciálisan malware-t tartalmazó Firefox frissítésekkel a Mozilla. A cég Binary Transparency projektjének keretei között bárki számára ellenőrizhetővé a böngészőhöz tartozó binárisok hitelességét.

Új kezdeményezéssel erősítené  meg a Firefox védvonalait a Mozilla. A frissen bejelentett Binary Transparency projekt célja, hogy a szoftver binárisai egytől egyig publikusak legyenek, így a harmadik feleknek is lehetőségük legyen folyamatosan ellenőrizni, hogy a helyben futtatott böngészőverzió valóban megegyezik a hivatalos kiadással, és nem került a helyére valamilyen módosított, potenciálisan rosszindulatú kóddal kiegészített változat.

Igaz elviekben a nyílt forrású szoftvereknél a felhasználók nem kapnak zsákbamacskát, hiszen szabadon hozzáférhető kódról van szó, ahogy azt a Firefox példája is jól mutatja, az esetek elsöprő többségében a böngészőt választók már lefordított binárisokat töltenek le. A Mozilla kezdeményezésével most garanciát biztosítana arra, hogy egy potenciálisan eltérített Firefox frissítést online bűnszervezetek nem használnak fel sem széleskörű malware-terjesztésre, sem pedig célzott támadásokra. A vállalat folyamatosan dolgozik a belső frissítési lánc biztonságának megerősítésén, hogy abba egyik pontján se férkőzhessenek be illetéktelenek - ha azonban ez mégis megtörténne, mostantól a binárisok külső ellenőrzésére is lehetőség van.

A projekt megvalósításának első lépéseként a vállalat minden Firefox-binárist rögzít egy nyilvánosan hitelesíthető naplóban. Ezzel a böngészőt letöltve bárki ellenőrizheti, hogy a hivatalos kiadással megegyező, netán attól eltérő, módosított változat érkezett-e meg számítógépére. Ezt a Mozilla a második lépésben gyakorlatilag automatizálja is, a Firefox saját frissítő mechanizmusa a jövőben minden beérkező új szoftververziót összevet a cég nyilvános naplójával, mielőtt elfogadná és telepítené azokat.

A Mozilla a Binary Transparency rendszert a már létező Certificate Transparency alapjaira húzza fel: a böngésző egyes kiadásainak megjelenésekor azokhoz egy hash értéket rendel, amely összefoglalja az adott kiadás paramétereit, majd ezt az értéket egy tanúsítványban helyezi el, amelyet aztán naplóz. A harmadik feleknek az egyes frissítések ellenőrzésekor azt az úgynevezett Merkle fában, azaz az említett tanúsítványokat tartalmazó adatstruktúrában kell megtalálniuk: amennyiben utóbbi fejléce megtalálható a binárishoz tartozó tanúsítványban, utóbbi pedig hivatalosan is naplózva volt, a felhasználók megnyugodhatnak, hiteles szoftververziót használnak.

A naplózáshoz a Mozilla már a Firefox béta verzióinál is létrehoz egy SHA512SUMS fájlt, az adott kiadásban megtalálható binárisokhoz tartozó SHA-512 digestekkel egyetemben. Utóbbiakból az SHA512SUMS fájlban egy Merkle fát hoznak létre SHA-256 függvény segítségével, itt egy Merkle fejléc is létrejön, amely összefoglalja az adott kiadás fájljait és azok tartalmát. Második lépésben a cég egy doménnevet készít, amely a fa fejléce mellett az adott kiadás verziócímkéjét is tartalmazza, végül pedig létrehoz egy tanúsítványt az adott doménnévvel, amit közzétesz a Certificate Transparency logban. A potenciálisan használható tanúsítványkibocsátók kapcsán még egyeztetéseket folytat a cég. Miután a Firefox kiadásainak naplózása megkezdődik, a böngésző frissítőalgoritmusa nem fogad el semmilyen beérkező frissítést, ha azt korábban a cég nem naplózta. Hogy ezt a szoftver ellenőrizni tudja, az új szoftververziókat  a vállalat a megfelelő metaadatokkal is kiegészíti.

A projekt még kezdeti szakaszánál jár, hosszú távon azonban számottevően biztonságosabbá teheti nyílt forrású böngészőt, főként a jellemzően az üzleti vagy kormányzati szegmenst érő, rosszindulatú frissítésekkel operáló, célzott támadásokkal szemben

a címlapról