Az utóbbi napokban jó nagy viharokat kavartak a Google Chrome-mal kapcsolatos biztonsági kérdések. Ma végre volt időm egy kicsit utánajárni a dolgoknak, amihez nagy segítséget nyújtott ez a doksi, amit sghctoma linkelt be egy kommentben. A másik forrás a Chrome alapján képező Chromium motor fejlesztői dokumentácója volt, amit itt találhattok meg.
Biztonsági szempontból a legfontosabb kérdés a Google böngészőjével kapcsolatban az, hogy van-e benne valami fajta sandbox eljárás megvalósítva? A válasz természetesen attól függ, hogy mit tekintünk (teljes értékű) sandboxnak. A Wikipedia azt írja:
"A számítógépes biztonság területén a sandbox egy programok biztonságos futtására használt eljárás. [...] A sandbox tipikusan az erőforrások, mint pl. a lemezen és a memóriában lévő munkaterület egy szűkre szabott halmazához enged hozzáférést a vendég folyamatok számára. A hálózati hozzáférés és a kiszolgáló fájlrendszerről illetve bemeneti eszközökrő való olvasás lehetősége általában erősen korlátozott."
Szigorú értelemben véve ezek a kritériumok a Chrome esetében nem teljesülnek maradéktalanul, mégis azt mondhatjuk, hogy a Google törekvése ezeknek az elveknek a megvalósítására igencsak figyelemre méltó a böngészők piacán.
A Chrome elveti az általánosan elterjedt, monolitikus szemléletmódot, és modulárisan épül fel. A megbízhatatlan forrásból érkező, potenciálisan veszélyes adatokat a külön folyamatként futó renderelő modulok dolgozzák fel, ezeket pedig a böngésző kernel fogja össze, amely kapcsolatot biztosít a renderelő folyamatok és az operációs rendszer által kezelt ablakkezelő és fájlrendszer között. Míg a kernel az alkalmazást indító felhasználó jogaival működik, addig a veszélyes renderelő modulok operációs rendszer szinten szigorúan korlátozott folyamatokként futnak, és ez az, ami (jó esetben) megakadályozza azt, hogy ezek a processek a böngésző kernel biztonsági mechanizmusait kikerülve működhessenek. Konkrétan a renderelő folyamatok:
- Korlátozott biztonsági tokennel
- Windows Job objektumként
- Külön asztalon (ez néhány hiányosan megírt API fv. miatt)
- Vistán pedig külön integritási szinten
futnak (Ennél a pontnál érthetővé válik, hogy miért csak Windowsra érhető el a program). Ezekkel a privilégiumokkal a megbízhatatlan kódokat futtató folyamatok gyakorlatilag semmihez nem férhetnek hozzá közvetlenül. Ugyan a Windows biztonsági mechanizmusaiban lehetnek hibák, de ez már nem a Chrome problémája :) Azt viszont nem szabad elfelejteni, magában a böngésző kernelben is lehetnek hibák. Ezen kívül a hivatalos dokumentáció fehívja a figyelmet néhány területre, ahol a fenti eljárások nem működnek:
- FAT fájlrendszeren nincs lehetőség ACL-ezésre, ezért az ilyen típusú köteteken (pl. pendrive) lévő fájlokat nem védik meg a korlátozott tokenek.
- Elméletileg lehetséges TCP/IP socketeket nyitni Windows 2000-en és XP-n, mivel az ehhez tartozó alacsony szintű rendszerhívások nem igényelnek megfelelő azonosítást, ám ezt a lehetőséget a Stanford kutatóinak nem sikerül kihasználniuk.
- a különböző anti-malware megoldások esetleg beszúrhatnak olyan DLL-eket a renderelő modulok folyamataiba, amelyek nem várt működést okozhatnak.
A Chrome sandboxing rendszere tehát korántsem tökéletes, ezt az elmélet és a gyakorlat is jól mutatja. Azt viszont kifejezetten szívderítő látni, hogy végre van egy böngésző, ami túl tud lépni a phishing figyelmeztetések dobálásán, és az architektúra alapjainál igekszik kezelni a biztonsági kérdéseket. Én drukkolok, hogy ez minél jobban sikerüljön!
whiteCat 2008.09.06. 17:07:55
Na jó ez most télleg túlzás volt. Főleg mert a SW tűzfalak nagy része bogosabb mint a Chrome.
Pedig ugye a tűzfal kifejezetten a biztonságot szolgálná.
UFF én beszéltem :)
Gyulus 2008.09.06. 17:14:32
Szerinted csak ígérik a linuxos verziót, mint egy darabig a Google Talknál, vagy emiatt ebből se lesz semmi?
Én eléggé bánnám.
buherator · http://buhera.blog.hu 2008.09.06. 17:27:53
Ha böngészni lehet, a tűzfal nem ér sokat, mert amellett, hogy ezek a letöltődő szarok kiiktatnak kb. minden sw védelmet a kliensen, simán ki tudnak beszélni mondjuk egy távoli HTTP kiszolgáló felé, akár magán a böngészőn keresztül.
@Gyulus
Nem tudom, hogy meg fog-e valósulni a linuxos változat, de szerintem a Google-nél ül egy pár okos ember, aki kitalálhat valami megoldást erre a problémára. Az is sok mindent meghatároz, hogy mekkora lesz a Chrome sikere.
ms_mester 2008.09.06. 18:41:35
valamint:
"Aki egyszer megpróbálta..."
(Idézet a felhasználási feltételekből:
"11. Content licence from you
11.1 You retain copyright and any other rights that you already hold in Content that you submit, post or display on or through the Services. By submitting, posting or displaying the content, you give Google a perpetual, irrevocable, worldwide, royalty-free and non-exclusive licence to reproduce, adapt, modify, translate, publish, publicly perform, publicly display and distribute any Content that you submit, post or display on or through the Services. This licence is for the sole purpose of enabling Google to display, distribute and promote the Services and may be revoked for certain Services as defined in the Additional Terms of those Services.
11.2 You agree that this licence includes a right for Google to make such Content available to other companies, organisations or individuals with whom Google has relationships for the provision of syndicated services and to use such Content in connection with the provision of those services.
11.3 You understand that Google, in performing the required technical steps to provide the Services to our users, may (a) transmit or distribute your Content over various public networks and in various media; and (b) make such changes to your Content as are necessary to conform and adapt that Content to the technical requirements of connecting networks, devices, services or media. You agree that this licence shall permit Google to take these actions.")
Kérdés? :-)))
dark future · http://www.andocsek.hu 2008.09.06. 18:47:43
bomi 2008.09.06. 19:22:55
bomi 2008.09.06. 19:33:32
Az a baj... 2008.09.06. 19:46:10
Az a baj, hogy hülyeség. A linuxon előbb meg lehet valósítani ezt a felfogást. Apache-nak sikerült, mysql-nek sikerült és még hosszú a sor.
fraki 2008.09.06. 19:54:52
Én is kipróbáltam, feladatkezelőből lelövöldöztem egy-két chrome-ot, és az elvárt módon reagált, kis szmájlival a megfelelő tabok meghaltak. A flash-processzt is ki lehet lőni külön.
dark future · http://www.andocsek.hu 2008.09.06. 20:29:28
Sőt most nézem, biztosan nem, mert .27-es, nem 29-es. A flash pluginnel katasztrófa, amit csinál, de ez lehet a flash hibája is.
Gondolom a guglinak igyekezni kellett a kibocsátással, hogy még biztosan az IE8 előtt kijöjjön (annak a marketingjére jó sokat fog áldozni az MS), ezért vannak még ezek a béta problémák. Azért az IE8beta2-nél sokkal stabilabb és üzembiztosabb így is.
is 2008.09.06. 20:34:48
dark future · http://www.andocsek.hu 2008.09.06. 20:37:47
stellaz 2008.09.06. 20:38:06
abacs 2008.09.06. 20:39:17
Az elso bekezdes ket linkje ugyanarra a biztonsagi leirasra mutat.
Szindbad 2008.09.06. 21:09:48
gravy_t 2008.09.06. 21:26:09
jó lenne, ha utána is néznél a dolgoknak, mielőtt baromságokkal raknád tele a posodat.
kezdhetnéd mondjuk itt:
www.google.com/chrome/eula.html
---
én azt remélem, hogy a későbbi fejlesztések, bővítések után is gyors marad a króm. arra leszek kíváncsi, hogy ha tényleg lesznek hozzá kiegészítők, mint a fájafokszhoz, az hogy fogja befolyásolni a homokozós felépítést - nem jelentenek-e majd biztonsági rést.
OkoskaTo:rp 2008.09.06. 21:54:57
a.) fiatal csirke, tehát még kevés idő volt exploitot vadászni benne,
b.) az elterjedtsége 0-közeli, tehát nem is éri meg üzleti célú crackereknek tökölni vele.
Különben meg a böngészés kapcsán úgyis a júzer a legnagyobb biztonsági rés, mert ő kattint mindenféle hülyeségre. "Az ellen nem véd."
Róka 2008.09.06. 23:44:42
gravy_t 2008.09.07. 00:07:29
r@ek (törölt) 2008.09.07. 00:07:43
hup.hu/cikkek/20080906/dr_rootkit_nyilt_forrasu_rootkit_jelent_meg_linux-ra
De miert??!! :-O
ms_mester 2008.09.07. 03:50:28
Mea culpa, igazad van! Ahogy látom, szépen átírták - de hidd el, eredetileg az általam beidézett kitételek szerepeltek benne! És ugye aki már egyszer bepróbálkozott...:-)
buherator · http://buhera.blog.hu 2008.09.07. 11:43:25
Az eredeti EULa-ban tényleg benne volt ez, lett is belőle nagy botrány, de azóta javították, és az új változat visszamenőleg is "felülírja" a régit.
@Az a Baj
Mondd már légyszives, hogy Linuxon hogy csinálsz Windows Job-okat pl.?
@stellaz
Ezt hol olvastad? Mert itt nem az biztos, így viszont nem értem miért itt éled ki a grafomániádat...
@abacs
Köszi, javítom!
@Szinbad
Van pár IE-s poszt:
buhera.blog.hu/tags/internet_explorer
de egyébként ennyi figyelmet az IE7-nek még nem szenteltem, de ha kijön a 8-as, annak úgy érzem fogok.
@OkoskaTo:rp
Az exploitok száma nem a biztonság mércéje. A fent leírt dolgok pedig elviekben éppen az ellen védenek, hogy akkor se történhessen nagy baj, ha a júzer rákattint minden hülyeségre.
buherator · http://buhera.blog.hu 2008.09.07. 12:02:55
A plug-inek a modulok harmadik nagy csoportját alkotják a Chrome-ban. Ezek alapértelmezetten külön folyamatként a sandboxon kívül futnak, hogy rendesen tudjanak működni, de kísérleti stádiumban van a .--safe-plugins kapcsoló, amivel sandboxba lehet tenni a plugineket.
gravy_t 2008.09.07. 13:57:56
aha, eredetileg tényleg az volt a 11es rész, eléggé amatőr módon kopipésztelték vmi más guglés alkalmazás eulájából. szerintem úgyis "lebuknának", ha ilyenekkel próbálkoznának később.
r@ek (törölt) 2008.09.07. 20:50:07
Nem kell am mindenkinek valaszolni. Csak a velemenyuket irtak be.
buherator · http://buhera.blog.hu 2008.09.07. 22:11:15
Ebben a szálban vagy kérdésre válaszoltam, vagy ténykérdéseket "tettem helyre", nem értem mi ezzel a baj. Egyébként meg had döntsem már el egyedül, hogy kinek válaszolok és kinek nem, köszönöm!
sghctoma 2008.09.07. 23:32:56
synapse_a_paraszt 2008.09.08. 12:13:24
Nem kell am mindenkinek valaszolni. Csak a velemenyuket irtak be."
Ja, buhera is pont ezt csinalta. Te akkor ma mar nem mondhatsz tobb velemeny. Hagyd el a hazat ;)
synapse