Před cca půl rokem jsem naplno přešel na Linux, i kvůli "nebezpečnosti" Win10 a poslední dobou se mi zdá, že těch článků o zranitelnosti Linuxu je nějak moc. Před pár dny problém ze sudo, teď toto.
Existuje nějaká nezaujatá studie, jak je to s bezpečností používání Linux vs. Windows (ideálně 10, když 7 je prakticky mrtvá...)? Díky předem, pokud někdo bude vědět. A pokud mě budete chtít někdo odkázat na vyhládávání v Google, tak k tomu mám jen jedno - na jedné stránce najdu 6 názorů a každný jiný... :(
Nemám studii, ale z mého pohledu - na Linuxu je to jeden článek o zranitelnosti za druhým, protože je to holt open source a tak se to snadněji zkoumá. A téměř vždy to končí právě u těch článků, zpravidla je v oznámení rovnou seznam verzí, kde je to už opraveno. Praktická exploitace je vzácnější.
O Windows se píše až když (do té doby neznámou) zranitelnost nějaký šířící se ransomware využívá a chce bitcoiny.
Ona hlavně není zranitelnost jako zranitelnost a "devalvace CVE" v posledních letech nabývá netušených rozměrů. Tohle je aspoň reálná chyba zneužitelná zvenčí (ale ne úplně na dálku), i když tu část o remote code execution bych bral hodně s rezervou (za starých dobrých časem bylo slušností mít aspoň nějaký proof of concept, než člověk něco takového napsal). Ale je to omezené na jeden konkrétní driver a nejsem si úplně jistý, jestli lze opravdu chybný kód využít "pokud je zapnutá" a nejsou tam další omezení. Ale už jsem viděl dost podobných zpráviček, které prezentovaly bezpečnostní chyby jako závažné, přestože skutečné riziko bylo minimální nebo dokonce jen teoretické.
Faktem je, že poslední dobou se hodně chyb a potenciálních problémů najde použitím automatických nástrojů (syzkaller, KASAN, KCSAN, ...) takže to vypadá, že se s problémy roztrhl pytel. Netuším, jestli třeba Windows jsou testovány podobně důkladně, ale jsem si celkem jistý, že pokud ano, podstatně menší procento nalezených problémů je takhle medializováno.
Ad devalvace CVE – IMHO je problém v tom, že se závažnost snažíme hodnotit jedním číslem, ale s dopady si často nejsme jisti. Pak jsou možnosti:
a. Použít dolní odhad. Budou (oprávněné) nářky, že závažné zranitelnosti budou podhodnocené.
b. Použít horní odhad. Budou (oprávněné) nářky, že nezávažné zranitelnosti budou nadhodnocené.
c. Hodit to někam mezi (ne nutně průměr horního a dolního odhadu). Budou nářky z obou stran.
závažnost snažíme hodnotit jedním číslem, ale s dopady si často nejsme jisti. Pak jsou možnosti:
Ve skutečnosti je nutno dopad vyhodnocovat pro konkrétní situaci. Na to žádná statistika nezabere, ani automatické vyhodnocení. Někdo sudo nemá nainstalované, někdo ano. A z těch, co ano, ho jen někdo využívá.
Pokud bych měl dělat srovnání bezpečnosti na obecném principu, stanovil bych si nejprve kvantil, ve kterém považuji nástroj za "běžně používaný". Ku příkladu tedy nástroje, které nalezneme na 80 % všech instalací. Teprve v rámci této skupiny bych porovnával bezpečnost. Případně se dá ta statistika odstupňovat 90-80-70-50 apod. a srovnat počet kritických chyb.
Toto dá do ruky významné číslo, které zajímá toho, kdo se rozhoduje o výběru platformy. Při rozhodování Vás nezajímá ani tak to, jestli daný systém LZE zabezpečit, ale jestli zabezpečený přichází.
Asi daleko větší oříšek by bylo z praxe získat statistiku bezpečnosti po půl roce, roce a dvou provozu. Každý systém je trochu jinak aktualizovaný, každý výrobce má k aktualizacím a automatizaci instalace jiný přístup.
To je další (a ortogonální) problém. Nicméně CVSS nabízí i různé další druhy skóre, které se snaží zohledňovat různé další faktory. Jak sám píšete,ne vše lze zahrnout do toho základního skóre, které vidíme v NVD u popisu CVE.
Já se věnoval tomu, jak hodnotíme chyby, s jejichž zneužitelností si nejsme jisti. Mohli bychom mít třeba rozsah CVSS skóre. Spodní hranice by byla optimistický případ (v případě RTLWIFI jen DoS) a horní hranice by byla pesimistický případ (v tomto případě RCE). Každý by si v tom mohl najít, co by chtěl. Byť připouštím, že by to bylo určité zesložitění.
Každý by si v tom mohl najít, co by chtěl. Byť připouštím, že by to bylo určité zesložitění.
Já si myslím, že v reálném (konkrétním) případě se to dá dost zredukovat. Chci webserver, mám vybrané technologie. Z dostupných informací si můžu docela dobře dovodit, co mě bude stát provoz - jak často bude muset admin aktualizovat, jak často se dá očekávat, že bude muset řešit nějakou kritickou zranitelnost atd. Musím zvážit, jestli pracuji s citlivými daty, nebo jestli jsou moje rizika reputačního charakteru. Pokud "jen" reputační, pak musím umět zhodnotit, jak moc by mě problém poškodil.
Bohužel, tyto informace (resp. výstupy z nich) moc provozovatelů nezajímají. Chtějí znát jen "bude to fungovat?", případně "ale nemusíte se o to starat každý týden, ne? stačí jednou za půl roku, když se na to podíváte?". Na adminy je pak přenášena tíha rozhodování za byznys. Admin ale nemůže posoudit, jak velký průšvih je, když služba chvíli nepoběží, nebo když se důsledek útoku projeví. Zadavatelé chtějí slyšet, že žádný problém nikdy nebude - odmítají připustit, že informační systém potřebuje péči, ale i tak se může porouchat. Zajímavé je, že každý manažer rozumí tomu, že auto stojí spoustu peněz na amortizaci, musí se servisovat (ne levně), a i tak se může porouchat, nebo být nabouráno. U nul a jedniček tomu nikdo rozumět nechce.
Hodnocení chyb v intervalu pesimistický - optimistický odhad je nedostatečné. Pokud chybu RTLWIFI zneužije někdo a položí domácí síť, má to úplně jiný dopad, než když položí WiFi na nějaké konferenci nebo při online hlasování (zastupitelstva apod.) V obou posledních případech je to extrémní průšvih, protože jak konference, tak online hlasování potřebuje WiFi "tady a teď" - vyřešení do dvou, tří hodin znamená, že se už celá akce propásla a dopad je 100%.
Správně formulovaná otázka by zněla: pro můj účel <xyz> jsou tyto [a, b, c] možnosti řešení s cenou [a.kč, b.kč, c.kč]. Uvažujeme o těchto [i, ii, iii, iv] projektovaných havarijních situacích, které znamenají ztrátu [i.kč, ii.kč, iii.kč, iv.kč]. Hledám platformu, u níž je TCO ve výhodném poměru ke ztrátě při havárii.
Při takto formulovaném dotazu už může statistika pomoci. Nikdy ne však dokonale. Některé chyby jsou exploitovatelné pouze v kombinaci s jinou chybou, nebo třeba jen v případě, kdy není správně nastaveno zabezpečení v jiné úrovni. V tomto ohledu trochu Linux ztrácí, protože není žádná autorita, která by mohla vydávat "jediné a správné" best practices. Abych nekecal, RHEL zrovna toto poskytuje - ale uživatelům / adminům se zase nelíbí, že je RHEL extrémně konzervativní a obsahuje verze z doby krále Klacka (takže se často RHEL / CentOS cinkne externími repozitáři a práce RedHatu na podporovaném prostředí jde vniveč).
RedHat na otázku bezpečnosti svým způsobem dává odpověď. To, jak konzervativně vydává verze naznačuje, kolik práce je s tím, udržet Linux bezpečný a podporovaný na enterprise úrovni. Smysl by tedy dávalo srovnávat produkty s podporou (Microsoft servery, RHEL, ...). Srovnávat bezpečnostní rizika těchto systémů proti ostatním distribucím je nespravedlivé pro Linux - platí, že kdo nic nedělá, nic neposere. Linuxová distra se sakra snaží jít dopředu, takže se to zákonitě projevuje i na chybách.
> O Windows se píše až když (do té doby
> neznámou) zranitelnost nějaký šířící se
> ransomware využívá a chce bitcoiny.
Co si pamatuji, tak obvykle i v době medializace (a zneužití "in the wild") je daná zranitelnost už opravená, ale spousta strojů ještě nebyla uživateli (či někým zodpovědným) aktualizována. Samozřejmě, najdou se i výjimky.
Nejde to moc objektivně srovnat. CVE dávají podklady, ale samotný dopad chyby si musí každý vyhodnotit podle vlastních měřítek.
Pro desktopové použití bude efektivní bezpečnost spíš ve prospěch Linuxu. Ne kvůli počtu chyb, ale kvůli tomu, že zastoupení je v řádu procent (2 %), takže na chyby nikdo nijak masivně neútočí. Proti tomu na Windows, když se objeví chyba, vzápětí se snaží mnoho malwarů a botů na tu chybu útočit masově. Na třetí stranu, Microsoft velmi vychytal aktualizace - kritické se dopravují prakticky okamžitě (eh, ne vždy, ale to je jiná pohádka) a instalují se bez zásahu uživatele. Na Linux je toto různorodé.
Úplně opačná situace je na serverech. Microsoft servery neměly za roky moc podstatných chyb (víceméně od vyhlášení Trustworthy Computing někdy v roce 2004?). Proti tomu existuje na internetu spousta Linuxových serverů různých nadšenců nebo malých firem. Ty se vyznačují špatnou proaktualizovaností - takže boti na ně dost útočí.
Z praxe mám zkušenost, že ani s Windows nebývají dávno žádné velké problémy, s Linuxem taky ne.
Nemozem suhlasit s tvojim nazorom na servery. Ved tam vychadza kopec oprav rovnako ako na desktop verzie. Ak by bol windows server zadarmo a mal podobne moznosti ako linux, tak by existovalo kopec neaktualizovanych serverov na internete. Na internete je dost neaktualizovanych windows serverov. Na internete inac vladne linux server. Takze porovnavat windows server a linux server uplne ferovo nejde.
Ak by bol windows server zadarmo a mal podobne moznosti ako linux, tak by existovalo kopec neaktualizovanych serverov na internete. Na internete je dost neaktualizovanych windows serverov. Na internete inac vladne linux server.
Ano, určitě máte z velké části pravdu, však jsem psal, že ten dopad je daný situací.
Win jako takové je v tomto komplikovanější, protože velké časopisy mají uplaceno aby nezveřejňovali... No budiž.. jen kupříkladu alcohol 120% dokázal na vistě získat přístup k bootu, ta chyba je do dnešní doby... A to už se tu bavíme o 10 letech.. Tato chyba je kupříkladu je i stále ve Win7.
Chápu správně, že říkáš, že je chyba, že program, který spouštíš (minimálně instalaci) pod adminem, může „získat přístup k bootu“ (ať už to znamená cokoli, třeba to na Windows je fakt nějaký konkrétní termín)? Jestli je to chyba (e.g. ta věc má být na Windows nějak chráněna i před adminem (netuším, Windows neznám), tak je podle mě mnohem méně závažná než třeba RCE (o kterém je zprávička, byť jak píše Michal Kubeček, od nějakého přetečení může být k použitelnému exploitu ještě docela daleko).
> Win jako takové je v tomto komplikovanější,
> protože velké časopisy mají uplaceno aby
> nezveřejňovali...
Nejedná se často spíše o responsible disclosure?
> No budiž.. jen kupříkladu alcohol 120% dokázal na
> vistě získat přístup k bootu, ta chyba je do dnešní
> doby... A to už se tu bavíme o 10 letech.. Tato
> chyba je kupříkladu je i stále ve Win7.
Pokud ten přístup šel získat jen pro členy skupiny Administrators, viděl bych to spíše jako vlastnost. Dokud se bootovalo "starým" způsobem (MBR...), stačilo přepsat pár sektorů disku a měl jste nad "bootem" velkou kontrolu. Vím, že ovladač SPDT (či tak nějak... používaný Daemon Tools, Alcoholem a jinými) dovoloval při bootu do nouzového režimu uživateli stiskem klávesy zakázat jeho načtení, ale nikdy jsem nezjišťoval, jak přesně toto dělá. Nicméně i jako boot-time driver by to mohl zvládnout.
sudo -> podle mě se většiny konfigurací vůbec netýká (potřebuje to konfiguraci kde má uživatel pouze něco povoleno, defaultně třeba na „jednouživatelském“ desktopu máš typicky sudo na všechno nebo na nic)
toto -> mají vůbec Windows tento ovladač, a kdyby v něm ta chyba byla, dostalo by se jí podobného mediálního pokrytí? Pokud ne, tak srovnáváš špatně.
// Root žere unicode šipky, to je zase tenhle bug nebo co? asi ne, moje šipka je v utf8 "e2 86 92", což jsou tři bajty
19. 10. 2019, 01:47 editováno autorem komentáře
Když položíš špatnou otázku, dostaneš na ni 6 špatných odpovědí. Bezpečnost není jednorozměrná veličina a tak se nedá říct, že "Linux je bezpečnější než Windows" ani naopak. Pokud chceš mít systém, u kterého budeš mít maximální kontrolu nad tím, co dělá a bezpečnost bude ve Tvých rukou, zvol Linux. Pokud chceš mít systém, který má de facto pod kontrolou Microsoft (a všechny ty antivirové společnosti apod., které si tam pustíš a nevíš, co dělají) a k Linuxu nemáš vztah, zvol Windows.
Každopádně používej firewall, aktuální software, neděravý browser a případně mailového klienta, pokud něco takového vůbec potřebuješ.
[csizz]
Budte rad. Stara programatorska moudrost rika, ze zadny program neni bez chyby. To ze vysla takovato zpravicka typicky znamena, ze tu chybu nekdo nasel, nahlasil a ze je (nebo brzo bude) patchnuta. Horsi by bylo, kdybychom se o ni dozvidaly az ze spravy o jejim praktickem zneuziti. Proto se da rici, ze je bezpecnejsi. :)
Zareaguji si sám na sebe, protože je tak nějak reakce na všechny příspěvky zde. Zaprvé díky za info a uklidnění, fakt je, že ty chyby asi nejsou tak závažné, jak je to mnohdy proklamováno. Kdo by taky četl článek, který by začínal "Našli jsme bezvýznamnou chybu, která teoreticky mohla...." Za druhé, kdo ví, kolik takových chyb je třeba na Win a ještě se na nepřišlo, nebo to prostě jen nebylo zveřejněno. O různých uživatele sledujících funkci Win10, ať už tomu věříte či ne, nemluvě :). Důvěra v Linux tedy z mé strany byla naplno obnovena :) :)
Formulace "od verze 3.10.1" je sama o sobě podezřelá, protože by to znamenalo, že chyba do stable-3.10 zavlečena nějakým backportem a bylo by logičtější uvést mainline verzi, ze které se to backportovalo. V tomhle případě je to ale téměř jistě od verze 3.10-rc1, kdy byla přidána celá ta funkce i s opravovanou částí (commit 26634c4b1868).