Co nového u Microsoft Gazelle

Válka prohlížečů je v plném proudu. Jejich zbraněmi jsou slova jako bezpečnost, rychlost a kompatibilita. Co kdyby se ale na poli objevil nový hráč, kterého si přítomní zatím nedokázali ani představit? Co by musel umět, aby všechny trumfnul? A měl by vůbec nějaká slabá místa? A co kdyby to byl Gazelle?

Až donedávna byl internet pojmem představujícím prostředí, kde bylo možné většinu času najít pouze webové stránky. Poslední dobou se však stáváme svědky nástupu webových aplikací, postavených různými technologiemi, pro různé účely. Stejně jako klasické desktopové aplikace potřebují pro svůj běh operační systém, i webovým aplikacím by bylo vhodné dopřát podobné prostředí. Moderní prohlížeče, jako Firefox 3.5, nadcházející Opera 10, Internet Explorer 8 nebo Google Chrome, představují solidní základnu pro funkci webových aplikací, ale setkáváme se zde s určitými nevýhodami, vycházejícími z jejich – již archaické – koncepce. Nevýhody se týkají hlavně přístupu k systémovým zdrojům, a samozřejmě bezpečnosti.

Tyto problémy a otázky vedly společnost Microsoft k tomu, aby začala pracovat na zcela novém konceptu a významu slova „webový prohlížeč“. V roce 2008 byl prezentován projekt MashupOS, který si dával za úkol řešit právě bezpečnostní problémy okolo mashupů. Zde byl vývojářům webových aplikací navrhován nový tag „sandbox“, kterým by mohli omezovat propojení s ostatními prvky na stránce. Nakonec se sandbox dostal do specifikace HTML5 jako atribut pro tag iframe.

Projekt Gazelle se oproti jeho předchůdci zaměřuje i na další oblasti, jako například přidělování periferií webovým aplikacím a dále zdokonaluje přístup k zabezpečení a způsobu práce s webovými aplikacemi. Právě zmíněné periferie mohou představovat problém při vývoji webových aplikací a často vyžadují použití plug-inu v zájmu jejich zpřístupnění.

Stále více web apps navíc využívá určitých dat, která čerpají z různých zdrojů. Může se například jednat o již zmíněné iframy nebo třeba obrázky. Ty představují potenciální nebezpečí a mohou být předmětem zneužití. Dalším problémem jsou XSS (cross-site scripting) útoky, kdy může zákeřný uživatel zneužít např. vkládacího pole u formuláře a přinutit stránku načíst externí kód.

Gazelle se k webovým stránkám/aplikacím chová obdobně, jako operační systém k programům. Všem běžícím webovým aplikacím je přiřazen jejich vlastní proces, se všemi bezpečnostními právy i omezeními. Navíc je každá stránka izolována ve svém vlastním sandboxu a nemůže tak přímo ovlivňovat chod jiných, otevřených stránek, samotného prohlížeče nebo operačního systému. Pokud nějaká aplikace přistupuje k datům třeba na jiné doméně, je tento požadavek izolovaný do samostatného procesu a nedochází tak ke sloučení více stránek v jeden proces. Tímto se výrazně snižuje riziko XSS zneužití a rýsuje se hlavní výhoda a odlišnost Gazelle od klasických prohlížečů.

OS pro web apps není WebOS

Ačkoli může akronym WebOS svádět ke spojování s počiny jako je Gazelle, není tomu tak. Na rozdíl od WebOS, který běží vzdáleně, jako součást nějakého cloudu, OS pro web apps běží lokálně v rámci běžného operačního systému. V případě Gazelle tvoří jeho kernel vrstvu mezi operačním systémem a webovou aplikací a je mu vyhrazen také samostatný proces. Kernel je jediná část celého programu, která má možnost přímo manipulovat se systémovými prostředky a rozdělovat je podle potřeby webovým aplikacím. Ty si nemohou pro změnu o prostředky žádat jinak než prostřednictvím kernelu, protože jsou uzavřeny v sandboxech.

Architektura MS Gazelle

Plug-iny jsou spravovány obdobně jako weby. Pro každý web, kde je určitý plug-in (třeba Flash) použit, je vytvořen samostatný proces pro daný plug-in. Kernel přistupuje ke všem zdrojům samostatně a kontroluje tak například i komunikaci se sítí a zobrazení. Důležitým faktem je, že Gazelle odlišuje mezi tím, jak je stránka renederována a jak je stránka ve finále prezentována. Soudobé prohlížeče tyto dvě činnosti kombinují a otvírají tím možnosti útokům.

Celý projekt Gazelle je zaměřen spíše na bezpečnost než na zpětnou kompatibilitu, i když v jeho použití se stávajícími weby není problém. Podle slov Microsoftu testovali jeho pracovníci Gazelle s úspěchem na devatenácti z dvaceti nejoblíbenějších webů dle Alexy.

Kdy se ho dočkáme?

Všechny tyto inovace, ač jsou velice zajímavé, by byly pro okamžitou realizaci příliš velkým soustem. Gazelle tedy nebude novým IE9, ale zůstává pouze technickým cvičením Microsoftu, společně s MashupOS. Může tomu nasvědčovat i použité zastaralé renderovací jádro z Internet Exploreru 7. Představuje ale neoddiskutovatelně milník ve vývoji webu a přináší čerstvý vítr do plachet jinak celkem klidnému světu prohlížečů.

Poprvé byl na webové aplikace použit princip standardního operačního systému a ověřena jeho funkčnost v takovém prostředí. Konečně, s čím dál komplexnějšími aplikacemi, stěhujícími se za vyšší mobilitou na internet, je třeba, aby existoval i silný základ, na kterém by mohly kotvit, a princip MashupOS této představě vyhovuje velice dobře.

Gianluca Turturro se zabývá tvorbou webu, grafikou a IT. Vyučuje informatiku na Vyšší Odborné Škole Ekonomických Studií. Píše blog o informatice, webdesignu a businessu

Věděli jste, že nám můžete zasílat zprávičky? (Jen pro přihlášené.)

Komentáře: 33

Přehled komentářů

Petr Kubanek Není přesně tohle
luki Re: Není přesně tohle
Shabbi. Re: Není přesně tohle
djanosik Re: Není přesně tohle
djanosik Re: Není přesně tohle
Petr Re: Není přesně tohle
Jura Re: Není přesně tohle
Petr Re: Není přesně tohle
djanosik Re: Není přesně tohle
Rob Neplacena reklama
Anonymouse Re: Neplacena reklama
Registrovany Re: Neplacena reklama
Martin Malý Re: Neplacena reklama
mtd Re: Neplacena reklama
michal Re: Neplacena reklama
biq Re: Neplacena reklama
Rob Re: Neplacena reklama
shMoula Objevil se novy hrac
ja ....
martin Neplacena reklama - vyvazeni
n00b_killa Re: Neplacena reklama - vyvazeni
Petr Re: Neplacena reklama - vyvazeni
abc Re: Neplacena reklama - vyvazeni
liborse Re: Neplacena reklama - vyvazeni
dc why?
ef Re: because all software from MS is intended to do nothing, but earn money
liborse Re: why?
šarik moc tomu nerozumím
melkor Re: moc tomu nerozumím
Ivan Nový Web je třeba zbavit XML,
_ Re: Web je třeba zbavit XML - web neni jiz temer nic, nez XML (chcete byt bez webu?)
liborse Re: Web je třeba zbavit XML - web neni jiz temer nic, nez XML (chcete byt bez webu?)
mofo Re: Web je třeba zbavit XML - web neni jiz temer nic, nez XML (chcete byt bez webu?)
Zdroj: https://www.zdrojak.cz/?p=3045