Diktovat použití ovladačů open, mi nepřijde moc open a free. Navíc já třeba používám Linux pro svoji obživu a některé ovladače prostě potřebuju. Pokud si mám vybrat jestli ovladač formou BLOBU, nebo BLOB obsahující (například MadWIFI), tak radši binární, než žádný.
Navíc někteří výrobci _OPRAVDU_ do ovladače zabudovávají svoje know-how, které prostě _NENÍ_ určené pro cizí oči (grafické karty) a os by jim neměl diktovat buď to zveřejníte, nebo nic.
Samozřejmě by se měl výrobce snažit zapouzdřit tento kód do co nejmenší ruličky a zbytek odělat open (tahle jsou stavěné ovladače pro Atheros wifi, kde je malej birání modul od výrobce nazvaný HAL) popsat volání a kompilovat to pro vše možné i nemožné.
Pokud si mám vybrat jestli ovladač formou BLOBU, nebo BLOB obsahující (například MadWIFI), tak radši binární, než žádný.
No a pak se nedivte, že je váš počítač eldorádem pro script-kiddies. To jste zrovna mohl zůstat ve windows, tam vás aspoň nemáte ani falešný pocit bezpečí. Tam to máte jasné hned.
Ono to nebude tak horké, žeby mi Madwifi někdo hacknul z netu přez IP to mi opravdu nenamluvíte a hackování přez MAC vrstvu je asi teoreticky možné, ale VELMI geograficky omezené (v rámci lokální sítě)
Pokud je omezene, pak rozhodne ne VELMI. Jste si jisty, ze ve Vase radiovem dosahu neni jediny kompromitovany stroj s WI-FI kartou? A ten staci hacknout vzdalene. A co takhle road-wariors, projit se bankovni budovou s vlastnim notebookem mozna bude jednou docela job. Z praktickeho hlediska mate pravdu omezene a z teoretickeho jste vedle jak ta jedle.
Tak dobře, tohle je všechno pravdivé, ale z čeho vyplívá, že tohle všechno hrozí jenom při použití ovladače s blobem? ze "studie" někoho, komu se jedno takové ŕešení povedlo hacknout?
Jde o to, ze v tom BLOBu nemusi byt chyba, ale zamerna zadni vratka. A zatimco do otevreneho kodu je neumistite (muzete, ale budete tim velmi riskovat nejen ostudu), tak v BLOBu je jen velmi tezko nekdo odhali. Myslim, ze se zde nemusime bavit o vyhodach otevreneho kodu v otazkach bezpecnosti, je to notoricky zname.
Nekde v puvodnim clanku byl odkaz na test italskych hackeru z milanskeho letiste, kde zjistili tisice nachylnych bluetooth zarizeni...
A co si budeme povidat, vetsina lidi ma napr. wifi karty nastaveny tak, ze jsou zaple automaticky pri startu systemu a tudiz ta wifina sama pro sebe hleda site v okoli. Na zmineny utok nemusite byt soucasti nejake wifi site, staci ze mate wifinu zaplou -- ano je to uzemne omezene :)
Tak at zabudujou svoje know-how do ty graficky karty. Posledni dobou je trend zabudovavat do komplikovanych systemu typu graficke, WiFi, karty a CPU spis bugy a neelegantni design nez nejake know-how.
Zkusím vám to přiblížit z pohledu dekompozice: Řekne se co musí být analogové, jak se udělá rozhraní na digitální úroveň, co je třeba odřít zákaznickým obvodem, logikou, MCU v hardwaru a co uděláme softwarem (ovladačem).
Část tohohle ovladače je prostě brána jako část zařízení a já chápu jako vývojář že jí firmy chtějí tajit.
Pokud neupíráme výrobci právo interní část výrobku tajit (já to nedělám) tak lze BLOBy eliminovat zbytečným zadrátováním těhle funkcí do zařízení -> složitější koncept a větší chybovost -> dražší zařízením
Tohle prostě bude dělat málokdo a já s tím souhlasím. Takže přestanťe vymejšlet hardware "designed for BSD", ale hledejme cesty jak to vyřešit ku spokojenosti všech stran. Já myslím, že např HAL v Madwifi je pěkný konsenzus.
Jojo, uznávám že Clock ví a já mu za Ronju moc děkuji.
Nadruhou stranu Ronja ovladače nepotřebuje :) a já znám Clockovo názory že moje deska na ronju, nebo deska na open grafickou kartu (obojí GPL) neni free, protože neni v GSchem.
>> Tak at zabudujou svoje know-how do ty graficky karty. Posledni dobou je trend zabudovavat do komplikovanych systemu typu graficke, WiFi, karty a CPU spis bugy a neelegantni design nez nejake know-how.
presne tak, a co potom s takym kusom HW, ked sa pride ze je na prt?
s pristupom "chceme vsetko zadara" mozme prist aj k tomu, ze chceme open HW :), pozadujme od Intelu,AMD,Ati,.. schemy ich zariadeni!
Chachá, s takovými argumenty by dneska nebyl ještě ani GCC. IMHO si lidé svobodný software opravdu zaslouží, nejen kvůli té bezpečnosti, ale jak vidno, i kvůli ní to stojí za to. :-)
Jediný důvod, který může výrobcům bránit uvolnit ovladače jako open source je te, že jsou tak šíleně zprasené, že by se za ně museli stydět. Kolikrát totiž ovladače píší odborníci na hardware, kteří ale o programování mnoho neví. Driver hell ve windows budiž odstrašujícím příkladem.
Pokud si ovladač představujete něco jako: najdi na PCI; request_*; píchni handler někam na /dev; šoupej datama sem a tam, pak je to jednoznačně na veřejnou specifikaci a open ovladač a prskající reakce, pokud to tak není, jsou plně oprávněné.
Víděl jste někdy ale např. implementaci mp3? je plná různých tabulek a algoritmů získaných experimentálně (mj i s pomocí mrtvého lidského ucha) dlouhodobou prací teamu lidí.
Stejně tak z každého CCD členu lezou data .raw a je třeba je sofistikovaně překousat.
Takže důvody nemusí být jen: "je to zprasené" ale: "chci chránit něco, co jsem pracně vypiplal" (algoritmus, který ze shitové kamerky vytáhne brilantní obrázky) a NA TO SAKRA MAJÍ PRÁVO! už to opakuju po xté.
Zrovna ty graficke karty, kde to lidi trapi asi nejvic, obsahuji tak chytry procesor, ze by IMHO nebyl problem to know-how nastrkat do ni.
A co se tyce tabulek, ty at jsou klidne binarni, stejne to na nich nebude poznat :-). Dulezite je aby byl open-source kod. Pokud se budete snazit, dokazete veskere know-how narvat do tabulek - proste napisete virtualni stroj ktery bude ty data zpracovavat podle tabulek a z jeho kodu bude zrejme, ze v tech tabulkach nemuze byt zadny podraz. Bohuzel, asi to bude o neco pomalejsi, ale na spouste mist to nebude vadit.
Anketa
Měl by stát zveřejňovat veškerý zdrojový kód softwaru používaného ve státní správě?