Hlavní navigace

Virtualizace umožní obejít GNU GPL 3

Petr Krčmář 30. 8. 2007

Řešit problém zneužívání GPL kódu v hardwarových zařízeních některých výrobců byl jeden ze stěžejních úkolů nové verze GNU GPL 3. Nyní se zdá, že je k dispozici způsob, jak mohou výrobci nové restrikce obejít a získat ještě další výhody. Jak to funguje? Co výrobci nyní mohou? Můžeme jim v tom zabránit?

TiVoisace

O fenoménu zvaném TiVoisace jsme psali například v článku o novinkách v GPLv3. Jedná se o velmi nepříjemnou hrozbu pro svobodný software, jejíž závažnost si uvědomuje také Free Software Foundation, která se rozhodla zasáhnout za pomocí nové GPL 3.

Problém spočívá v obcházení licenčního ujednání za pomocí elektronického podpisu. Výrobce tak dokáže zabránit uživatelům v instalaci upraveného firmware, ačkoliv dává k dispozici zdrojové kódy. Ve zmíněném článku jsme o TiVoisaci napsali:

Někteří výrobci hardware na svých zařízeních provozují svobodný software, a proto musejí vydávat jeho upravené zdrojové kódy (v hardware se šíří binární podoba). Z tohoto pohledu tedy obvykle licenci dodržují.

Problém ovšem je, že v poslední době se množí případy, kdy výrobce sice vydá zdrojové kódy, ale jeho vlastní binární software je upraven tak, aby jako jediný na zařízení běžel. Obvykle se k tomu používá šifrování nebo elektronické podpisy. Pokud si tedy uživatel vytvoří vlastní verzi firmware, přístroj ji odmítne.

Výrobce se tímto způsobem brání zejména těm úpravám firmware, které by dovolily například obejít bezpečnostní opatření. Ze zařízení TiVo by tak uživatelé s upraveným softwarem mohli získat například kopii zaznamenaného televizního pořadu a podobně. Možností je celá řada.

Na druhou stranu software je prokazatelně založen na GNU GPL kódu a je proto potřeba dodržet všechna práva zaručovaná svobodnou licencí a tato práva zajistit i pro další uživatele.

Reakcí je GNU GPL 3

Aby do budoucna nedocházelo k podobnému obcházení práva, rozhodl se Richard Stallman, že do GNU GPL verze 3 přidá pasáž, která učiní podobným pokusům přítrž. Po mnoha jednáních a silné kritice některých částí se nakonec podařilo do licence novou sekci dostat.

Konkrétně je možno příslušný text najít v paragrafu šest:

Instalační informace pro uživatelský produkt znamenají veškeré metody, procedury, autorizační klíče nebo další informace potřebné pro instalaci a spuštění modifikovaných ver­zí…

Znamená to, že výrobce, který použije ve svém zařízení kód vydaný pod GNU GPL 3, musí ke zdrojovým kódům dodat také vše potřebné k vytvoření funkční upravené verze.

Virtualizace jako beranidlo

Bruno Zoppis ovšem vymyslel a popsal způsob, jak licenční ujednání elegantně obejít a ještě získat další bonusy. Jeho metoda by se dala zařadit do kategorie „vlk se nažere a koza zůstane celá”. Jeho metoda dovoluje zcela legálně na jednom zařízení provozovat GNU GPL i uzavřený kód, aniž by došlo ke „kontaminaci” licencí.

Zoppis využívá k řešení situace virtualizaci – konkrétně hypervisory. Jedná se o techniku, kterou využívá například jaderný systém Xen.

Hypervisor je software, který je natažen do paměti ještě před nahráním samotného jádra operačního systému. Toto jádro pak běží pod správou hypervisoru, který tvoří další vrstvu mezi reálným hardware a systémem. Pod hypervisorem může samozřejmě naráz běžet několik zcela oddělených systémů. Tyto vlastnosti jsou klíčové pro Zoppisovu metodu.

Princip práce software je pak poměrně triviální. Výrobce do svého zařízení nainstaluje hypervisor, který převezme kontrolu nad celým hardware a omezí práva jednotlivých virtualizovaných systémů.

Tento hypervisor může být vydán pod libovolnou licencí, protože není založen na žádném GNU GPL kódu. Neběží pod tímto kódem ani není součástí operačního systému. Naopak systém technicky běží pod hypervisorem.

Ve dvou „kontejnerech” pak budou spuštěny dva různé systémy. V jednom poběží veškerý GNU GPL kód, který může být samozřejmě libovolně upraven, aby v zařízení běžel. Ve druhém prostoru pak poběží všechny klíčové aplikace, dekódovací software, proprietární kodeky a další uzavřený software.

Hypervisor

Při startu systému pak bude kontrolována integrita oné uzavřené části. Ta může být podepsaná elektronickým podpisem nebo šifrovaná. Zbytek software, který je vydán pod GNU GPL, může být libovolně modifikován a výrobce to nadále nemusí hlídat. Hypervisor totiž omezuje možnosti tohoto kódu, a tak ani silně upravený software nedosáhne na uložená data, šifrovací klíče a podobně.

Jelikož jsou obě části striktně samostatné, nezávislé a běží odděleně, nelze hovořit o odvozeném díle a proprietární kód může být vydán pod libovolnou licencí. Pro předávání dat mezi oběma spuštěnými systémy je pak možno využít například sdílenou paměť, do které mohou přistupovat oba programy. Kód však zůstane stále oddělen.

Co z toho plyne?

Tato poměrně obecná metoda umožňuje výrobcům hardware použít například linuxové jádro, ale i další aplikace a legálně je spojit s proprietárním kódem. Update firmware tak může zůstat aktivní, aniž by se výrobce obával kritických změn ze strany uživatele.

To se samozřejmě netýká jen výrobců TiVo, ale také dodavatelů mobilních telefonů, kapesních počítačů, set-top-boxů, multimediálních přehrávačů a všech dalších embedded zařízení.

Doopravdy tak může být v rámci aktualizace dodávána binární forma nového firmware společně se zdrojovým kódům jen k některým částem programů. Veškeré ovladače hardware, kodeky, komunikační rozhraní a další klíčový software nám tak zůstane zcela uzavřen.

Přijdeme tak nejen o možnost vytvářet modifikované verze firmware, ale také o ovladače k některým zařízením a především o část svobod. Pokud se tento způsob distribuce firmware skutečně rozšíří, nepochybuji o tom, že FSF bude hledat nové způsoby, jak mu zamezit. Otázkou je, jestli to vůbec bude možné.

Anketa

Je to...

Našli jste v článku chybu?

4. 9. 2007 21:20

honza (neregistrovaný)
samozrejme, i snuru od vysavace musite nechat vymenit v autorizovanem servisu, pokud nechcete prijit o zaruku. take nevidim problem.

4. 9. 2007 16:40

uživatel si přál zůstat v anonymitě
tu nejde ani tak o to, ze dany software nie je mozne na tom zariadeni spustit
ved predsa mate moznost (teoreticku, ale mate) si rovnake zariadenie urobit alebo kupit
ide vsak o to, ze aj ked by sa vam to podarilo, software by vam bol k nicomu, pretoze by ste nemali sifrovacie kluce, ktore su potrebne napriklad na desifrovanie televizneho vysielania; tieto kluce su totiz iba na tom originalnom neslobodnom zariadeni a dostane sa k nim iba software, ktory je digitalne podpisany
toto je ten skutocny…


Vitalia.cz: „Připluly“ z Německa a možná obsahují jed

„Připluly“ z Německa a možná obsahují jed

DigiZone.cz: Česká televize mění schéma ČT :D

Česká televize mění schéma ČT :D

Lupa.cz: Google měl výpadek, nejel Gmail ani YouTube

Google měl výpadek, nejel Gmail ani YouTube

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

120na80.cz: Rakovina oka. Jak ji poznáte?

Rakovina oka. Jak ji poznáte?

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Lupa.cz: UX přestává pro firmy být magie

UX přestává pro firmy být magie

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

DigiZone.cz: Sony KD-55XD8005 s Android 6.0

Sony KD-55XD8005 s Android 6.0

Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

120na80.cz: Jak oddálit Alzheimera?

Jak oddálit Alzheimera?

Lupa.cz: Babiš: E-shopů se EET možná nebude týkat

Babiš: E-shopů se EET možná nebude týkat

Vitalia.cz: Tesco: Chudá rodina si koupí levné polské kuře

Tesco: Chudá rodina si koupí levné polské kuře

DigiZone.cz: NG natáčí v Praze seriál o Einsteinovi

NG natáčí v Praze seriál o Einsteinovi

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?