Szerző: Gálffy Csaba

2011. augusztus 9. 14:37

A GPU fejlődésének következő lépcsője a biztonság

Nem a WebGL hibája, hogy a jelenleg alkalmazott webes GPU-gyorsítás támadható felületet jelent - védte meg a szabványt a kidolgozó szervezet. A Khronos szerint ezeket a biztonsági problémákat nem a webes API szintjén, hanem a GPU-illesztőprogramokban kell megoldani.

Visszautasította a WebGL biztonságát vitató támadásokat a szabványt kidolgozó Khronos. A Microsoft kivételével az összes fontosabb iparági szereplőt (Apple, Google, Mozilla, Opera) tömörítő szövetség egész weboldalt szentelt a júliusban a Microsoft által hangoztatott vádak visszautasításának. Mint akkor arról a HWSW is beszámolt, a redmondiak bejelentették, hogy az Internet Explorerben nem tervezik a WebGL szabvány támogatását, mivel azt nem tartják eléggé biztonságosnak.

Az érvelés részét képezte a Context Internet Security kutatása is, amelyet a Microsoft támogatott. A kutatás szerint a WebGL elérhető (és Google Chrome-ban illetve Mozilla Firefoxban aktivált) formájában sebezhetővé teszi a számítógépet, amely így szolgáltatásmegtagadásos illetve cross-domain adatlopásos támadások célpontjává válhat. A biztonsági tanácsadó cég szerint a WebGL legnagyobb problémája, hogy az operációs rendszer és a hardver mélyebb rétegeit is elérhetővé teszi a web számára, de az egyes implementációkban is vannak biztonsági rések.

Haladás és jövő

A Khronos Group válaszában elismeri a Context által felvetett problémákat, azonban azt is hozzáteszi, hogy ez nem a WebGL szabvány hibája, a gondok sokkal mélyebbengyökereznek. A webes tartalmak GPU-alapú gyorsítása ugyanis minden esetben azzal jár, hogy meg kell nyitni a grafikus feldolgozóegységek programozhatóságát potenciálisan rosszindulatú alkalmazások felé is. Függetlenül attól, hogy ez Microsoft-technológiát vagy OpenGL-alapú WebGL-t jelent, a hardver alacsonyabb szintű programozhatóságára az illesztőprogramokat is fel kell készíteni.

A Khronos álláspontja szerint az eddig az operációs rendszer és a böngésző védelmét élvező driverek mindenképp kikerülnek a burokból, így a GPU szoftveres (és esetleg hardveres) "megkeményítése" (hardening) elkerülhetetlen. A szervezet úgy véli, még csak a legelején járunk, a "hardening" folyamatának, ahogy a böngészők WebGL implementációja is tartalmaz még hibákat. A csoport álláspontja szerint azonban a következő iterációkban a réseket betömik, a meghajtóprogramokat pedig felkészítik az esetleges támadások megfelelő kezelésére, így a Microsoft érvelése, miszerint a WebGL teljes megközelítése hibás, nem állja meg a helyét.

Korlátozott rés

A különböző shader-programok által végrehajtható, a teljes rendszert érintő funkciók kifejezetten korlátozottak, egyelőre gyakorlatilag screenshot-lopásra és szolgáltatásmegtagadásra használhatóak a GPU túlterhelése révén. A védelem hiányára jól jellemző, hogy CPU-alapú túlterhelés már most is működik, egyes weboldalak képesek használhatatlanra lassítani a számítógépet. A GPU-alapú túlterhelésre egyelőre gyors gyógyírt a meghajtó alaphelyzetbe állítása jelenti, az eredetileg extrém helyzetekre tervezett funkció azonban hosszútávon nem lehet megoldás, ráadásul csak korlátozottan használható - a Microsoft operációs rendszerei bizonyos számú újraindítást követően feladják a harcot és kék halállal elszállnak.

Toxikus vezetők szivárványa

Az IT munkakörülményeket, a munkahelyi kultúrát alapjaiban határozzák meg a vezetők, főleg ha még toxikusak is.

Toxikus vezetők szivárványa Az IT munkakörülményeket, a munkahelyi kultúrát alapjaiban határozzák meg a vezetők, főleg ha még toxikusak is.

A videomeghajtók szoftveres hardeningje azonban komoly árat követelhet a teljesítmény terén. Az expliciten megbízható szoftverekhez fejlesztett, a gyorsaságot a legfontosabb követelményként kezelő driverek sokszor még a stabilitást is feláldozzák a sebesség érdekében, a biztonság pedig eddig nem is volt értelmezhető szempont ezen a területen. A jövőben ez megváltozhat, a memóriaelérések figyelésétől kezdve az utasítások futásidejű validációjáig számos olyan funkció beépítésére lehet szükség, amely csökkenteni fogja az elérhető teljesítményt. Hosszú távon a hardening hardveres integrációjával a sebességcsökkenés kiküszöbölhető lesz, cserébe viszont bonyolultabb szilíciumlapkákra és esetleg magasabb fogyasztásra számíthatunk.

A GPU a tét

A WebGL és a Microsoft közötti kommunikációs csata nem véletlenül alakult ki, fontos kérdés ugyanis, hogy ki szolgáltatja a következő generációs, GPU-gyorsított web alaptechnológiáit. Míg a Khronos mögött álló cégek érdeke az, hogy ez egy nyílt, OpenGL-alapú szabvány legyen, a Microsoft természetesen a DirectX-alapú gyorsítást tartja egyedül elfogadhatónak. A tétet emeli, hogy a GPU-alapú grafikus gyorsítást célzó WebGL után már elkezdődött a webes heterogén (CPU-GPU), általános célú feldolgozásra vonatkozó WebCL szabvány kidolgozása, amely már másféle munkafolyamatok gyorsítására is alkalmas lesz.

A WebGL-OpenGL kötődés zavarosabbá teszi ugyanakkor az ANGLE-projekt, amelynek célja a WebGL által használt rendszerhívások DirectX alapú végrehajtása. A projekt meglehetősen jól halad, a megoldás már képes egyes, feketelistás OpenGL meghajtókat megkerülni és helyettük a megfelelő DirectX meghajtót használni. Tipikus példa erre az Nvidia Optimust használó noteszgépek esete, amelyek meghajtója egyelőre képtelen a WebGL helyes OpenGL-alapú feldolgozására, ezért mind a Firefox, mind a Chrome ANGLE-alapú végrehajtást használ.

Nagyon széles az a skála, amin az állásinterjú visszajelzések tartalmi minősége mozog: túl rövid, túl hosszú, semmitmondó, értelmetlen vagy semmi. A friss heti kraftie hírlevélben ezt jártuk körül. Ha tetszett a cikk, iratkozz fel, és minden héten elküldjük emailben a legfrissebbet!

a címlapról