Hortenzia, Gergő
-1 °C
8 °C

A Google megsértette a Windows felhasználói szerződését?

2008.09.24. 10:40
A Google böngészőjét a megjelenése óta eltelt pár hétben nem csak a hackerek és tesztelők próbálják darabjaira szedni, de kíváncsi programozók is. Az ő dolguk a legkönnyebb, hiszen a Chrome programkódjának nagy része nyílt forráskódú, így bárki letöltheti, és kedvére módosíthatja.

Scott Hanselman, a Microsoft programozója vette észre először, és tette közzé a blogján azokat a furcsaságokat, amiket a forráskódban talált. A Microsofttól származó, egyébként szabadon felhasználható kódrészlet a Chrome-ban még csak szimpla érdekesség, a nagyobb port kavaró sorok nem is a kódban, hanem a programozók egymás számára hagyott megjegyzéseiben van. Néhány helyen ugyanis a programsorok mellett olyan megjegyzések találhatók, hogy itt a program a Windows nem dokumentált jellegzetességeit használja, amikre a Vista SP1-es szervizcsomagjának visszafejtésével bukkant rá a programozó. Ez viszont olyasmi, amit a Windows felhasználói szerződése szigorúan tilt. De nem csak a Microsofté, általában a szoftveriparban tiltani szokták ezt, maga a Google is tiltja a Chrome esetében.

Visszafejtésnek (disassembling, vagy revesre engineering) azt nevezik, amikor egy futtatható programfájlból kinyerik az eredeti forráskódot, és ezzel a program működésének leírását lépésről lépésre. Mivel egy futtatható program úgy születik, hogy egy fordítóprogram, az assembler a programsorokból gépi kódot, a processzor számára értelmezhető egyeseket és nullákat állít elő, általában a visszafejtés sem ördöngösség, csak a megfelelő disassembler programot kell használni hozzá.

A Google tagadja, hogy a programozói visszafejtették volna a Windows forráskódját, és azzal védekeznek, hogy a szóban forgó megjegyzések a kódrészletekkel együtt egy az egyben az Uninformed nevű, nyílt forráskódú szoftverfejlesztéssel foglalkozó online magazinból kerültek a Chrome-ba.

A dolog iróniája, hogy a nem dokumentált Windows-trükköket használó sorok éppen a felhasználó biztonságát szolgálják, és a Windows egyik régi biztonsági résének befoltozása végett kerültek a programba. A DEP (Data Execution Prevention) mód bekapcsolásáról van szó, ami a memóriaterületek kezelését teszi rendbe. Eredetileg ha a Windowsban egy program memóriát foglal le azoknak az adatoknak, amivel dolgozik, a memóriát vagy olvasható, vagy írható módban jelöli ki magának. Ha olvashatónak jelölte meg, az azt jelenti, hogy az ott tárolt programkódot futtatni is tudja. Ezt használták ki a túlcsordulásos (buffer overflow) trükkök, amikor a támadó egy ilyen memóriaterületre csempészi a rosszindulatú kódot, ami az adatok beolvasásakor rögtön végre is hajtódik.

A DEP mód ezt a rendszert azzal egészíti ki, hogy vannak írható, olvasható, illetve olvasható+végrehajtható módban lefoglalt memóriaterületek. A DEP módot azonban külön be kell kapcsolni egy folyamat elindításakor (mivel a régebbi programok nem ismerik, nem lehetett ezt alapértelmezett módnak megtenni), és a Chrome a DEP bekapcsolásához használ egy olyan metódust, ami gyorsabb, mint normál mód - de hivatalosan nem létezik, csak a Windows forráskód visszafejtésével lehet rájönni, hogyan kell csinálni.

Szakértők szerint kicsi az esély, hogy a Microsoft pert indítson, vagy botrányt kavarjon az ügy körül, és az egész csupán egy újabb illusztráció ahhoz, hogy a nyílt forráskód mennyivel kulturáltabb, és a felhasználók érdekeit előtérbe helyező megoldás.

Köszönjük, hogy minket olvasol minden nap!

Ha szeretnél még sokáig sok ilyen, vagy még jobb cikket olvasni az Indexen, ha szeretnéd, ha még lenne független, nagy elérésű sajtó Magyarországon, amit vidéken és a határon túl is olvasnak, akkor támogasd az Indexet!

Tudj meg többet az Index támogatói kampányáról!

Milyen rendszerességgel szeretnél támogatni minket?

Mekkora összeget tudsz erre szánni?

Mekkora összeget tudsz erre szánni?