2009. november 24., kedd

A firefox jó és biztonságos... vagy mégsem?

A 17. DefCon kimondottan gyümölcsöző olyan tekintetben, hogy számos létező és bevált technológia hátulütőire hívják fel a figyelmet az előadók, néha határozottan meglepő demókkal. A sorból a Firefox add-onokkal kapcsolatos előadásra hívnánk fel a figyelmet.

A Firefox zseniális kezdeményezés, és sok esetben kimondottan üdítő a használata a felhasználói élményt tekintve, azonban az add-onok rendszere biztonságilag meglehetősen gyenge lábakon áll. Miért?
  • Az add-onok gyakorlatilag mindenféle biztonsági kontroll nélkül futnak a böngészőnkben, emiatt ártó szándékú add-onok telepítésével gyakorlatilag ugyanoda jutottunk, mint amikor az Explorert annak idején hanyagoltuk a Firefox javára a szita biztonságú ActiveX technológia miatt.
  • Maguk az add-onok többféle technológiát is használhatnak: a legegyszerűbb a szkriptelős fejlesztés, azonban lehetőség van bináris add-onok elkészítésére is. Gyakorlatilag nincs visszajelzés a felhasználónak arról, hogy a böngészőjében futó add-on mit is csinál, milyen http-kéréseket ad ki - írható olyan add-on, ami pl. elszkripteli a /etc/passwd tartalmát valami gyanús weboldalra. (Megjegyezzük, hogy a kioszkmatatós céleszköz iKat szintén ad egy firefox add-ont, amellyel a linuxos kioszkokon parancssort kaphatunk.)
  • Az add-onok meglehetősen egyszerűen tudják módosítani egymás kódjait, beállításait javascriptből. Az előadáson mutatnak egy példát arra, hogy a NoScript whitelistjéhez egy rosszindulatú add-on könnyen hozzá tud adni tetszőleges domaint, vagy akár az elmentett jelszavak is könnyen ellophatók (ugye senki sem menti el a Firefoxba a jelszavait?!)
  • Az add-onok kódok, amik futnak valahol, emiatt a bennük rejtőző programozási hibák adott esetben kihasználhatóak. Példaként hozható itt pl. a NoScript plugin, amellyel ha a chrome:// domainbe tartozó szkriptet hívunk meg, a domain whitelistelése miatt akadálytalanul lefut. Az előadáson a skype telepítésekor automatikusan érkező add-ont is kiemelték, amellyel némi trükközéssel a felhasználót tetszőleges telefonszám skype-on keresztüli felhívására is rá lehet venni. Másrészt ha arra gondolunk, hogy a Javascriptből lehet binárisokat letölteni, és akár el is indítani őket, néhány lépésből VNC shellre váltható egy egyszerű, almighty chrome-domainbe szkriptelő XSS is - nos, nem szükséges ecsetelni a problémát (az előadáson a LightScribe-on keresztül támadott XSS-sel pontosan ezt a nagyon látványos demót mutatták meg).
  • Az add-onok engedélyezési procedúrája során nincs kódminőségi ellenőrzés. Igaz, mielőtt bekerülne a fejlesztésünk az add-onok közé a mozilla honlapján, történik validálás, azonban ez csak akkor történik meg, amikor bekerül a kódunk az adatbázisba - ha frissítünk rajta, akkor már nem. Emiatt akár az egész kódot is újra lehet írni, illetve ki lehet egészíteni mindenféle ártó részekkel - legfeljebb a szemfüles közösség visszajelzései alapján lehet gyanítani, hogy valami történt, aminek nem kellett volna.
A Firefox jó és biztonságos... vagy mégsem?

Nincsenek megjegyzések:

Megjegyzés küldése

Kommentek