Byl vydán Debian 12.10, tj. desátá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
Byla vydána nová verze 4.5 svobodného notačního programu MuseScore (Wikipedie). Představení novinek v oznámení v diskusním fóru a také na YouTube.
Byla vydána nová verze 8.6.0 správce sbírky fotografií digiKam (Wikipedie). Přehled novinek i s náhledy v oficiálním oznámení (NEWS). Nejnovější digiKam je ke stažení také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.
O víkendu probíhá v Praze na Karlově náměstí 13 konference Installfest 2025. Na programu je celá řada zajímavých přednášek a workshopů. Vstup je zdarma. Přednášky lze sledovat i online na YouTube.
Byla vydána nová verze 2.49.0 distribuovaného systému správy verzí Git. Přispělo 89 vývojářů, z toho 24 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.
Premiér Petr Fiala (ODS) dnes na síti X vyloučil, že by za jeho vlády mohla začít platit vyhláška, podle níž by poskytovatelé internetového připojení měli uchovávat adresy internetových stránek, na které se lidé připojují.
Flock 2025, tj. konference pro přispěvatele a příznivce Fedory, proběhne od 5. do 8. června v Praze.
Zemřel Mark Klein, který dlouhá léta pracoval pro telekomunikační firmu AT&T a proslavil se jako whistleblower, když zveřejnil informace o spolupráci AT&T s agenturou NSA. Cílem spolupráce bylo sledovat veškerou komunikaci občanů za pomocí zařízeních v místnosti 641A. O spolupráci obou subjektů napsal knihu Wiring Up The Big Brother Machine...And Fighting It.
Byla vydána nová verze 16 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v changelogu.
Texas Instruments představil nejmenší mikrokontrolér na světě MSPM0C1104. Je o 38 % menší než současné nejmenší mikrokontroléry. Má pouze 1,38 mm².
Jann Horn z týmu Project Zero společnosti Google detailně popisuje bezpečnostní chyby v procesorech umožňující číst privilegovanou paměť postranním kanálem. Chyby byly pojmenovány Spectre (pdf) a Meltdown (pdf). Jedná se o zranitelnosti CVE-2017-5753 a CVE-2017-5715 (Spectre) a CVE-2017-5754 (Meltdown). V Xenu je řeší XSA-254. Bezpečnostní chyba Spectre se týká procesorů Intel, AMD i ARM. Chyba Meltdown pouze procesorů Intel.
Tiskni
Sdílej:
int arr[2] tak, aby mezi prvky ležela hranice cacheline; int * x = 0xABCD; int a; vyhodit arr z cache; if(nějaká podmínka, která je true, ale branch predictor ji vyhodnotí jako false) { return; } a = arr[x[0]&1];Tj. k x[0] program nedošel (kdyby k němu došel, tak by se vyhodila výjimka a dostali bychom přes tlamu), ale procesor již spekulativně nahrál potřebné hodnoty z paměti. Nyní máme v cache arr[0] pokud je na uvedené adrese sudé číslo a arr[1] pokud je tam liché. Stačí nám k jednomu z nich přistoupit a změřit, jak dlouho to trvalo. Opakujeme i pro ostatní bity. Meltdown: místo podmínky, kterou neuhádne branch predictor, uděláme nějakou neočekávanou věc, která přehodí běh programu jinam. Například dělení nulou.
ruku na srdce, x86 hardwarovou virtualizaci proste neumi. Umi hardwarove berlicky pro virtualizaci, ne hardwarovou virtualizaci.A když odhlédneme od ošklivých nálepek, v čem přesně je problém, když platí, že "máme HW virtualizaci s nulovou režií"?
Ono se na Linuxu s KVM nevyskakuje kvuli disku do kernelu? Kdyz chce aplikace bezici ve virtualu pod QEMU udelat zapis na LVM, jak to udela celou cestu tak, aby nepotkala hostitelsky kernel, ale bavila se s diskem primo?To mě nezajímá, ani jedno z toho. Podstané - přinejmenším pro mě - je to, že když jsem to naposledy testoval (rok 2010, kernel 2.6.32), tak jsem se s KVM většinou dostal na stejný výkon, který jsem dostal i na hostitelském stroji. Jediná výjimka byl paralelní sekvenční zápis velkých souborů, což je zátěž, kterou nepovažuju za důležitou (ze zjevných důvodů)
Sitovani jde vyresit virtualizaci primo v sitovce.Pokud mluvíš o VFIO, tak jo, ale jen do určitého počtu hostů. Třeba u Intel síťovek je to 7 - kromě těch nejnovějších, kde je to 63.
ale vidis, jak jsi to sam pekne potvrdil, jak je to omezene, celeNo tak jestli ti jde o to něco si potvrzovat tím, že si vybereš, co se ti hodí, tak budiž. Používat takhle virtuální funkce v síťovce vůbec není podmínkou, brige bohatě stačí. Jasně, při některých typech DDoS útoků to nebude fungovat, ale to ty úžasné popelnice, pardon, kontejnery taky ne.
Absolutne nemyslitelne s "full" virt. Ja to ale opakuju furt a porad dokola a porad se najde nekdo, kdo to nechapeAle doprdele, to nám měl někdo říct včas. Teď máme hromadu "nemyslitelných" snajpa-not-approved "to nejde" serverů.
Disky jsme ale nevymysleli, lokalni storage resit moc dobre nejde, leda ze by nekdo hodil na PCIe kartu nejaky vetsi procesor a pustil na nem neco jako LVM/ZFS/.. a mapoval jeho kusy pameti primo guestum.Nebo si prostě koupit FC HBA?
Dokazal bych pochopit, ze overeni muze zpusobit zpomaleni, ale jestli ta spekulace dokaze nacitat do cache, tak to uz samo o sobe je zpomaleni ne?
Můžete se na to dívat jako na prefetch, tedy mechanismus, kdy se data z pomalého média načítají předem, aniž bychom si byli jisti, že je opravdu budeme potřebovat. To se používá i v mnoha jiných situacích, třeba z disku se běžně přečtou s požadovaným blokem i nějaké za ním, o které si zatím nikdo neřekl, protože je slušná šance, že budou za chvíli potřeba (read-ahead). Podobně webové prohlížeče mívají volitelnou funkci přednačítání odkazů ze stránky, kterou právě čtete. Případně mne napadá geeqie (a nejspíš i další prohlížeče obrázků), který umožňuje načíst z adresáře několik dalších obrázků, aby pak byl přechod při sekvenčním prohlížení rychlejší.
Tady je průšvih v tom, že detekce toho, zda se prefetch provedl nebo ne, vám umožní zjistit hodnotu, ke které byste neměl mít přístup. Navíc nezapomínejte, že samotný prefetch tu není problém, ten "meltdown" útok nestojí na prefetchi dat, ke kterým nemáte přístup, naopak, prefetchují se data, která číst smíte, ale trik je v tom, že v závislosti na hodnotě bitu, který znát nesmíte, se procesor rozhodne, co se bude prefetchovat.
Cache, reordering a spekulace jsou 3 veci, proc jsou soucasne procesory tak rychle.Jo a to je právě to. Základní architektura zamrzla a rychlost výpočtu se honí speciálníma případama, který se daj "komprimovat".
A zastavit provadeni kodu.Tak pokud je ten nevalidní kód v podmínce, která se nikdy skutečně neprovede, tak by to byla blbost shazovat celej program jen kvůli spekulaci. V té podmínce může klidně být regulérní pointer, ale zrovna v aktuálním běhu se ten pointer ničím nenaplnil a proto je podmínka zablokovaná.
ale jestli ta spekulace dokaze nacitat do cache, tak to uz samo o sobe je zpomaleni ne ?No právě proto že to je spekulace, tak kdyby se nakonec ukázalo, že se provede, tak ušetříš extrémní množství cyklů tím, že jsi to přednačetl. (však píšu, honění výkonu přes kód, který jde "zkomprimovat" v čase)
co me zajima je fakt, ze navrharum procesoru prijde zpomaleni dane overenim mensi nez samotne nahrani stranky.No jelikož to postihlo všechny procesory od intel pentia pro, tak bych řekl, že si toho nikdo nevšiml.
Jo a to je právě to. Základní architektura zamrzla a rychlost výpočtu se honí speciálníma případama, který se daj "komprimovat".Líčíš to jako by to byla špatná věc
Tak kdybys nedelal spekulativni provadeni jedne vetve, pak kazde zretezeni skonci u skoku a tech je v programu pomerne dost.Podmíněné skoky ale nepotřebuješ, můžeš udělat podmíněné operace.
Reordering je sice neco, co muze byt vyreseno kompilerem, akorat jednou pro konkretni procesor.A v případě SMT i v závislosti na kombinaci kódu dvou a více vláken.
Neni to zadna znouzecnost.Já to chápu, pokud nechci mít počítač na výpočetní úrovni Atomu s vypnutým cache, tak tyhle optimalizační algoritmy potřebuju, ale znouzecnost to je právě proto, že nedokážeme udělat plain pipeline taktovanou třeba na 100GHz, L1 rychlostně ekvivalentní RAM apod. Navíc takhle "komprimovat" běh kódu se nedá do nekonečna a stejně člověk skončí časem na tom, že potřebuje ten 100GHz (už jsem to tu někde +- psal). Mezitím ale v CPU vznikl nemonotónní guláš, kde jedna instrukce s určitými daty ve určitý čas může trvat úplně jinak dlouho než v jiný čas nebo s jinými daty. A celý by se muselo při každý úpravě znova verifikovat. A taky to zhoršuje možnost toho samotnýho zrychlení, protože musíš najednou sesynchronizovat mnohem víc tranzistorů (na ovládání cache, flagy, BTB, reorder, switche na execution (?) sloty, ...). Proto jsem v tom OP napsal, že je lepší mít lepší základ a na něj pak nalepit tyhle gadgety. Než se snažit zrychlovat celej balík s gadgetama.
Podle me by se prave v tuto chvili mel zastavit, protoze kdyby ta spekulativni vetev byla provedena, pak by se to presne na tomto miste zastavilo.Njn ale podle čeho budeš ověřovat, že je ta adresa zrovna nevalidní. To budeš muset udělat novej hardware do spekulativní větve, kterej bude číst stránkovací údaje a porovnávat zda má oprávnění na požadovaný region ne? Další tranzistory navíc.
nejlepsi by z hlediska vykonu samozrejme bylo, kdyby se obe vetve podmineho skoku resily zaroven a jedna cast zahodilaJo na to mám návrh na hobby procesor
Jenze to by vyzadovalo zduplikovat tolik veci, ze uz je z toho skoro plnohodnotny procesor.Ovšem obě takový pipeline by nepotřebovaly BTB. A možná by šly i dále zjednodušit, že by třeba nepotřebovaly reorder a tak.
Tak kdybys nedelal spekulativni provadeni jedne vetve, pak kazde zretezeni skonci u skoku a tech je v programu pomerne dost.Podmíněné skoky ale nepotřebuješ, můžeš udělat podmíněné operace.
Není to z hlediska (ne)potřeby spekulativního provádění instrukcí jedno? (Kromě speciálního případu, kdy následující instrukce nemohou záviset na výsledku té podmíněné.)
znouzecnost to je právě proto, že nedokážeme udělat plain pipeline taktovanou třeba na 100GHz, L1 rychlostně ekvivalentní RAM apod. Navíc takhle "komprimovat" běh kódu se nedá do nekonečna a stejně člověk skončí časem na tom, že potřebuje ten 100GHz (už jsem to tu někde +- psal).
Já to vidím trochu jinak. V určitém okamžiku přestane být extenzivní vývoj udržitelný a je potřeba přejít na intenzivní. Dokud byla všude spousta volné půdy, stačilo ke zvýšení produkce zabrat další kus a udělat tam pole; když už bylo všechno rozebrané, nezbylo než zvýšit výtěžnost. K získání nerostných surovin stačilo kdysi "kopnout do země", ale jak se bohatá (a snadno přístupná) ložiska vyčerpávají, potřebujeme stále sofistikovanější metody, jak se k surovinám dostat (a jak je zpracovat, abychom vystačili i např. s chudšími rudami). Výkon aut už se také nezvyšuje tím, že "tam prostě přidáme další (větší) válce". Stejně tak televizní vysílání muselo postupně z neefektivního analogového vysílání přejít na DVB-T/MPEG-2 a DVB-T2/HEVC (tam se dokonce "životní prostor" zmenšil tlakem vnějšího usurpátora).
Nejsem vůbec přesvědčený, že musíme opravdu nevyhnutelně dojít k tomu, že se zase začne dál a dál zvyšovat frekvence. Nejsem si ani jistý, jestli to bez nějaké zásadní (nebo spíš principiální) změny technologie vůbec půjde. V každém případě je ale realita taková, že vývoj se prostě začal ubírat jiným směrem. Nejdřív vyladěním efektivity (to jsou právě ty pipeliny, predikce, spekulativní provádění), ale tam už jsme dost možná také na hraně (teď se možná ukázalo, že někdy i kus za ní). Další krok bylo zvyšování počtu jader. Teď se pro HPC čím dál víc prosazují specializované externí procesory (trochu se zdráhám tomu ještě říkat GPU) a hybridní architektury. Možná máte pravdu a díky nějakému technologickému průlomu se skutečně časem podaří začít zase navyšovat frekvenci. Ale stejně tak je možné, že ten průlom bude spočívat v přechodu na úplně jinou koncepci.
Není to z hlediska (ne)potřeby spekulativního provádění instrukcí jedno? (Kromě speciálního případu, kdy následující instrukce nemohou záviset na výsledku té podmíněné.)Při neexistenci podmíněných skoků nemusíš řešit to, že najednou se začnou brát data z jiné části RAM a čas ušetřený při návrhu odkud naplnit pipeline daty po skoku můžeš využít na verifikaci toho zda spekulace nevrací postranní informace. Nemáš tam tu zpětnou vazbu na začátek pipeline. Zpětná vazba se musí správně naroutovat, aby se řídící signály dostaly na obvody včas s hodinama (jde proti proudu toku dat). U podmíněných operacích se normálně provede instrukce v pipeline a s ní jde (po proudu toku dat) informace o tom, že je spekulativní a že závisí na výsledku předchozí instrukce (která už může čekat na konci pipeline). ad druhá část: Jo ale pokud na tom "poli" pořád orají zabugovaným traktorem z roku 95, tak to zvýšení výtěžnosti bude problém, protože budou muset ten lakatoš (:P) přemontovat, aby jezdil třeba 120km/h. Tak tranzistory dneska jedou snad i na těch 100GHz. Akorát při takové frekvenci topí tolik, že by se v hustotě integrace moderního CPU roztavily. Pokud by jich bylo rapidně míň, tak by celý čip topil taky míň (a tedy by mohl jet i na 100GHz).
Podmíněné skoky ale nepotřebuješ, můžeš udělat podmíněné operace.No je ale použitelné jen pro krátké větve kde se udělá jedna nebo několik málo operací...
Já to chápu, pokud nechci mít počítač na výpočetní úrovni Atomu s vypnutým cache, tak tyhle optimalizační algoritmy potřebuju, ale znouzecnost to je právě proto, že nedokážeme udělat plain pipeline taktovanou třeba na 100GHz, L1 rychlostně ekvivalentní RAM apod.Fór je v tom, že i kdyby výrobci byli schopní vytvořit takovou pipeline, stejně by nejspíš chtěli mít tam všechny tyhle vylepšováky, protože ten CPU je s nima prostě výrazně rychlejší (což je mimo jiné i konkurenční výhoda atd.).
Njn ale podle čeho budeš ověřovat, že je ta adresa zrovna nevalidní.Možná by něco nedochází, ale proč by to nešlo stejným mechanismem, jaký se používá v běžném vykonávání? Není to koneckonců to, co dělá do jisté míry AMD?
No je ale použitelné jen pro krátké větve kde se udělá jedna nebo několik málo operací.Pro smyčky to je IMO ekvivalentní. U ekvivalentu dlouhého podmíněného skoku asi může být kód podmíněných operací delší, ale je lineární a ani nemusíš hrabat do fronty instrukcí (která je rychlá, protože se ti plní hezky v burstech) a ani do instrukční cache, protože není najednou skok někam do paměti. Jelikož nemusíš napřeskáčku plnit I cacheline, tak na ní ani tolik nečekáš a nemusíš ani tolik dopředu spekulovat.
Fór je v tom, že i kdyby výrobci byli schopní vytvořit takovou pipeline, stejně by nejspíš chtěli mít tam všechny tyhle vylepšováky ...JO ale to by museli ohýbat ty vylepšováky (upravovat, vymýšlet znova od nuly + s tvorbou nové designové verifikace (!)), aby se na 100GHz naroutovaly se správným dopravním zpožděním. A ne naopak, že by museli ohýbat celou architekturu s i 8086 kompatibilitou včetně vylepšováků z 95 na těch 100GHz.
Možná by něco nedochází, ale proč by to nešlo stejným mechanismem, jaký se používá v běžném vykonávání? Není to koneckonců to, co dělá do jisté míry AMD?No ten HW v běžném vykonávání je nejspíš zrovna používanej tou nespekulativní větví. Bys musel možná duplikovat. AMD má špatně navrženou spekulativní část taky (spectre funguje, dokáže IMO číst v cizí paměti). V meltdownu má štěstí v tom, že má asi jinak řešená práva pro přístup ke kernel paměti, ale to nebude vlastnost spekulativního běhu, ale nějaké jiné jednotky. To že můžeš ve spekulativní větvi persistentně ovlivňovat stav cache má stejně blbě jako intel. Jenom tu chybu prostě ta architektura zachytí na jiném stupni kontroly. Takže ano jejich řešení je v tuto chvíli bezpečnější, ale určitě bych ho nedal okopírovat intelu, protože obsahuje stejnou fundamentální chybu.
Jinak mě to připomíná (nejsem fyzik) kvantový počítač: počítáme s oběma variantama zároveň a na konci se podíváme, která to vlastně byla.XKCD souhlasí
lots of servers are vulnerable to regular hammers, too
Tak proto jsou S/390 pořád tak populární… :-)
Ale třeba všechno zlé bude pro něco dobré, třeba díky tomu intel zveřejní vnitřní mikroarchitekturu svého x86. Ideálně ve formě HDL .Protože tenhle bug je něco, co by se mělo testovat u branch prediktoru v prvé řadě. Zda se správně zahazují všechny informace z té špatné větve. Ideálně by jim měl DRC vypsat, že se jim ukládají data někam, kam se podle platných instrukcí ukládat nemají (s tím že ta miss/fail větev jsou nevalidní instrukce).
Ideálně by jim měl DRC vypsat, že se jim ukládají data někam, kam se podle platných instrukcí ukládat nemajíA do ktere cache patri kernel data ? Misto do L1 do KernelL1 ? Samozrejme, ze jsou v te stejne. To uz muzes rovnou oddelit RAM na obyc a KERNEL RAM (a ze to neni uplne spatny napad pro bezpecnost). Prvni problem je, ze to nacteni vubec umozni a druhy problem je, ze s hodnotou jeste dale pracuje. Sice pak vysledek zahodi, ale neco po sobe zanecha, co na te hodnote zavisi - v tomto pripade stav cache.
To uz muzes rovnou oddelit RAM na obycVšak jsem to tady v jiném komentáři u psal.
To je dost děsivý, že si procesor jen tak ledabyle načte nějaký data z RAM a pak je možná použije.Já nevím, mně to přijde jako celkem zjevná optimalizace a je to jeden z důvodů, proč mají dneska procesory při stejné frekvenci o řád větší výkon než mělo první Pentium 4.
Mě to přišlo divný už na 486, kde se načetl obraz BIOSu do cache, vypnuly se mechanismy, co by tu cache flushly a pak se pracovalo v BIOSu v cache (proto může počítač pípat bez vložených RAM modulů).Tomu se dneska říká cache-as-RAM a BIOSy to běžně používají při trainingu paměti. Druhá možnost totiž je napsat kompilátor, který jako RAM používá všechny možné registry (debug registry, SSE a AVX už je dneska klidně několik kB, což stačí), což prý někdo z corebootu udělal, ale prej to nechcete dělat
mně to přijde jako celkem zjevná optimalizace a je to jeden z důvodůTo neznamená že to je není děsivý z hlediska paranoidní bezpečnosti. Spousta šifrovacího softwaru si po sobě schválně maže uložená data a v Intel procesoru (AMD tvrdí, že to architektonicky nepodporuje) se jen tak mírnixtírnix načítaj kernel data. Ten druhej bug, kde se načítaj data mezi userspacem je samozřejmě taky problém.
Tomu se dneska říká cache-as-RAMJo, a vypovídá to o tom to, že je ta cache až nějak moc nebezpečně flexibilní.
Navíc FLASH paměť je na základních deskách připojená přes SPI a z toho se stejně nedá kód spouštět přímo, musí se prvně nekam načíst.Ne, Execute-In-Place je casto podporovan na SPI FLASH pametech, pokud mate QSPI, bottleneck je spise rychlost pameti.
Jinak mě teda vždycky přišlo, že koexistence kernelspace na stejném HW jako userspace musí nutně dříve nebo později přinést problémy. Lepší by IMO bylo kdyby spolu oba prostory komunikovaly nějakými mailboxy na vlastních výpočetních jednotkách ...Preco mi toto Vase riesnie primoneulo jadro M3 ako alternatiovu k L4 v TU Dresden OS viac v clanku M3: A Hardware/Operating-System Co-Design to Tame Heterogeneous Manycores Nils Asmussen Marcus Volp Benedikt Nothen Hermann Hartig Gerhard Fettweis Technische Universitat Dresden Nothnitzer Straße 46, 01187 Dresden, Germany {nils.asmussen,marcus.voelp,benedikt.noethen,hermann.haertig,gerhard.fettweis}@tu-dresden.de https://os.inf.tu-dresden.de/papers_ps/asmussen-m3-asplos16.pdf
On the Android platform, exploitation has been shown to be difficult and limited on the majority of Android devices. The Android 2018-01-05 Security Patch Level (SPL) includes mitigations reducing access to high precision timers that limit attacks on all known variants on ARM processors. These changes were released to Android partners in December 2017. Future Android security updates will include additional mitigations. These changes are part of upstream Linux.
window.performance.now()
by měla být snížena na 20µs. Čekal jsem, že bude potřeba víc.
Nepotrebujes casovac, staci ti ve vedlejsim vlaknu pocitat smycku - napr inkrementaci hodnoty od nuly.Ano, ale na to zase potřebuješ rychlou komunikaci mezi vlákny, proto chtějí dočasně odebrat ten
SharedArrayBuffer
.
Samozřejmě, že obojí je workaround a není to řešení problému jako takového, ale jak sám říkáš, problém jako takový se řeší softwarově blbě, proto celkem dává smysl tyhle workaroundy použít, navíc vzhledem k tomu, že oboje API nejsou na webu na běžné věci používané.
Ano, ale na to zase potřebuješ rychlou komunikaci mezi vlákny, proto chtějí dočasně odebrat ten SharedArrayBuffer.Presne tak ... problem toho, ze soused muze osposlouchavat vyresime tak, ze mu rozbijeme hodinky.
Útok byl popsán v nějakém blogpostuJo tenhle jsem četl včera jako první. Docela ironie jestli ho nenapadlo dát tu segfaultující instrukci do té spekulativní větve nebo udělat segfault handler (ten snad dokonce vrátí hodnotu toho registru
že moderní procesory nemají tyto údaje zveřejněnéZlatý architektury, který maj veřejně známý HDL.
třeba JavaScriptFFFFFUUUUU ... To abych si koupil Ryzen :-/
protože jsem myslel, že nested page tables nemají namapované ostatní virtuály/host OS, ale tvrdí, že to jdeNo já jsem si taky myslel, že je virtuální paměť v linuxu řešená nějak líp a ne že je pro všechny namapovanej celej prostor a rozlišuje se jen podle práv kódu (ring 0/3). Třeba to maj pro zrychlení podobně (ale VM jsem zatím nezkoumal).
nopti
, který tu ochranu proti Meltdownu vyřadí. Opravovat to na úrovni BIOSu nelze, protože mapování paměti řeší OS. Zatím jsem to nestihl celé přečíst ale minimálně Meltdown vypadá dost zle na to, abych si dovolil PTI vypnout.
1. Exaktní nula samozřejmě ne, třeba na ten ME/AMT problém updaty postupně vycházejí.
2. Update mikrokódu není potřeba dělat v BIOSu, to umí i Linux.
3. Podstatný průšvih je ale v tom, že "meltdown" updatem mikrokódu řešit nepůjde. A podle toho, jak se to Intel snaží bagatelizovat a tvářit se, že to takhle vlastně z principu fungovat musí (i když nemusí), mám podezření, že i na opravu v nových modelech procesorů si nějaký pátek počkáme.
S tím samozřejmě souhlasím, to je to, co tvrdím od začátku: na prefetchi dat z paměti do cache jako takovém není nic špatného, problém je v tom, že se při spekulativním provádění nekontrolují (vždy) oprávnění, protože si někdo neuvědomil, že i spekulativní provedení následující instrukce, které se potom zahodí, může mít měřitelný efekt.
Mimochodem, chvíli mi vrtalo hlavou, proč do toho pletete zápis do paměti, než mi došlo, že pořád existují lidé, kteří používají assembler s intelí mnemonikou (a obráceným pořadím argumentů). :-)
že se při spekulativním provádění nekontrolují (vždy) oprávnění, protože si někdo neuvědomil, že i spekulativní provedení následující instrukce, které se potom zahodí, může mít měřitelný efekt.Oni se kontroluji, jak u Intelu, tak AMD. Rozdil je IMHO v tom ze Intel napred cte a pak testuje, a AMD napred testuje a pak cte - coz je korektni pristup.
Ano, podle mne ten zásadní problém je, že si někdo zjednodušil práci (nebo ji spíš chtěl zjednodušit procesoru) a při spekulativním provádění se rozhodl neprovádět test oprávnění s tím, že pokud selže, přijde se na to včas, až se "pojede naostro". A neuvědomil si, že ta data se mohou dostat do nějakého postranního kanálu.
Na druhou stranu, podle dostupných informací se to týká i (některých) 20 let starých procesorů, takže ten problém podle všeho vznikl v době, kdy nějaké postranní kanály byly spíš teoretickou hračkou potrhlých vědátorů (ono třeba ani SSL nebylo zrovna denní chleba).
To je IMHO hodně pravděpodobné, ale protože neznám detaily té implementace, odvolával jsem se na nepřímé indikátory.
Osobně bych se vůbec nedivil, kdyby ještě nějakou ne úplně krátkou dobu vydávali i nové modely, kde to opravené nebude.
Na AMD bude snad ta zpomalující záplata defaultně vypnutáPatch uz je v git masteri Linuse, konkrentne tenhle: "x86/cpu, x86/pti: Do not enable PTI on AMD processors"
nopti
kernel parametr má co jsem četl taky nějakou režii, i když mnohem menší.
every Intel processor which implements out-of-order execution is potentially affected, which is effectively every processor since 1995 (except Intel Itanium and Intel Atom before 2013).Měl bych vyhrabat svůj netbook z roku 2012 a ověřit to :)
V kapitole 6.4 článku k Meltdownu se píše, že na AMD i ARM čipech nejprimitivnější příklad principu útoku funguje takéNe, nepise. Z clanku 6.4:
We also tried to reproduce the Meltdown bug on several ARM and AMD CPUs. However, we did not manage to successfully leak kernel memory with the attack described in Section 5, neither on ARM nor on AMD.Pouze pisi:
However, for both ARM and AMD, the toy example as described in Section 3 works reliably, indicating that out-of-order execution generally occurs and instructions past illegal memory accesses are also performed.To ze dochazi k out-of-order execution neni problem pokud interni security check zabrani externe pozorovatelnym zmenam.
A PoC that demonstrates the basic principles behind variant 1 in userspace on the tested Intel Haswell Xeon CPU, the AMD FX CPU, the AMD PRO CPU and an ARM Cortex A57 [2]. This PoC only tests for the ability to read data inside mis-speculated execution within the same process, without crossing any privilege boundaries.ie. to, co popisuje Jenda v 1. komentáři. Paměť kernelu se tedy na AMD zřejmě atakovat nedá, ale ta Varianta 1 mi sama o sobě přijde jako dostatečný průser. AMD k tomu píše, že:
Variant One - Bounds Check Bypass - Resolved by software / OS updates to be made available by system vendors and manufacturers. Negligible performance impact expected.... o čemž úplně nevim, co si mám myslet, když nejsou k dispozici detaily.
... o čemž úplně nevim, co si mám myslet, když nejsou k dispozici detaily.IMHO je to opravitelne updatem microcodu - coz neni velka tragedie - v podstate se tak deje porad.
Paměť kernelu se tedy na AMD zřejmě atakovat nedá, ale ta Varianta 1 mi sama o sobě přijde jako dostatečný průser.Hlavne, vse je limitovano na stejny proces, nikoliv ze muzete cist vsechno jako u Meltdown.
Hlavne, vse je limitovano na stejny proces, nikoliv ze muzete cist vsechno jako u Meltdown.Ano, ale to je stále problém, viz paper:
As a proof-of-concept, JavaScript code was written that, when run in the Google Chrome browser, allows JavaScript to read private memory from the process in which it runs.V Chromu JS zřejmě běží v render procesu. Nedaří se mi dohledat, k čemu všmu má tenhle proces přístup, ale IMHO minimálně k historii přístup mít bude. A jestli i třeba věci jako cookies, tak by to mohl být problém.
Nemyslím tím, že se přímo přečte cizí paměť, o tom spectre ani meltdown není.Meltdown o tom je.
Tím že budeš měřit kolik cache miss nastalo za určit čas můžeš zjistit třeba kolik znaků má cizí heslo (driver klávesnice bude posílat data a volat různý funkce).Velmi tezko. Navic pro mereni cache miss a podobnych veci uz mame HW support jako ruzene performance countery a ja pevne doufam ze nikoho nenapadne ve svetle soucasnych udalosti tyto nastroje odebirat.
Meltdown i Spectre útoky čtou cizí paměť specifickým způsobem. Vtip je v tom, že hodnota, která z cizí paměti unikla se získá cache-timing útokem na oblast paměti, která patří útočícímu procesu, takže k žádné výjimce nedojde.Nemyslím tím, že se přímo přečte cizí paměť, o tom spectre ani meltdown není.Meltdown o tom je.
Cache-timing je základní pilíř Meltdownu i většiny Spectre variant a aspoň s Meltdownem jim fungoval s chybovostí cca 0.03 %. Na zjištění doby přístupu používají TSC. Přiznej se, že's ten článek pořádně nečetl?Tím že budeš měřit kolik cache miss nastalo za určit čas můžeš zjistit třeba kolik znaků má cizí heslo (driver klávesnice bude posílat data a volat různý funkce).Velmi tezko. Navic pro mereni cache miss a podobnych veci uz mame HW support jako ruzene performance countery a ja pevne doufam ze nikoho nenapadne ve svetle soucasnych udalosti tyto nastroje odebirat.
Meltdown i Spectre útoky čtou cizí paměť specifickým způsobem.To bezesporu. Pointa je v tom ze u Meltdown jde o cteni cizi pameti.
Přiznej se, že's ten článek pořádně nečetl?V podstate jsem se k tomu v detailech jeste nedostal, presto ze se tady vykecavam, jsem na to nemel cas, az o vikendu. Pochybnosti jsem mel spise k uhadnuti poctu znaku pres cache miss, zejmena s ohledem na to jak funguji drivery [USB] klavesnice USB.
Pochybnosti jsem mel spise k uhadnuti poctu znaku pres cache missNevím no, ale v odkazovaných článcích u meltdownu je článek o tom jak cache timing použít k hádání RSA.
Cache-timing je základní pilíř Meltdownu i většiny Spectre variant a aspoň s Meltdownem jim fungoval s chybovostí cca 0.03 %. Na zjištění doby přístupu používají TSC.Kdyz na tim uvazuji, ano, precizni cache timing je podstatny k male chybovosti, nebot muzete detekovat zdali data v cache jsou ci ne. Nicmene si myslim, ze nepresny timing lze nahradit vhodnou statistikou, i za cenu mensi rychlosti cteni nez 500kB.
The Pentium Pro is a sixth-generation x86 microprocessor developed and manufactured by Intel introduced in November 1, 1995[joke] Člověk by řekl, že se na nový rok něco rozbilo a datum přetekl na 1995, včetně rychlostí procesorů.[/joke]
Cekam, ze si s tim ted lidi budou dost hrat a treba se slavy docka i AMD a ARM.Taky bych rekl, tady se otevrela Pandorina skrinka.
size_t getlen(const char *s) { size_t idx = 0; while (s[idx++] != '\n'); return idx; } int main() { const char s[] = {'M', 'o', 't', 'y', 'k', 'a', '\n'}; size_t idx = 0; while (idx < getlen(s)) putchar(s[idx++]); return 0; }Při každé otočce cyklu se CPU podívá, jak je vypisovaný řetězec dlouhý a podle toho buď cyklus zastaví, nebo provede. Out-of-order CPU nebude čekat, až bude k dispozici výsledek kontroly délky řetězce, ale spekulativně ten cyklus provede, protože výsledek předchozích sedmi kontrol byl "proveď cyklus". Při osmém průchodu může
idx
klidně odkazovat na pamět mimo prostor procesu. Kdyby mělo tohle vyvolat segfault, spadlo by ti dříve či později úplně všechno.
která bude řešit problémy Spectre a Meltdown na 90 % procesorů uvedených za posledních pět let.T7600 Release date: August 2006 D'Oh!
Region 0: Memory at c0000000 (64-bit, prefetchable) [size=256M]
Intel® Core™ i3 processor (45nm and 32nm) Intel® Core™ i5 processor (45nm and 32nm) Intel® Core™ i7 processor (45nm and 32nm) Intel® Core™ M processor family (45nm and 32nm) 2nd generation Intel® Core™ processors 3rd generation Intel® Core™ processors 4th generation Intel® Core™ processors 5th generation Intel® Core™ processors 6th generation Intel® Core™ processors 7th generation Intel® Core™ processors 8th generation Intel® Core™ processors Intel® Core™ X-series Processor Family for Intel® X99 platforms Intel® Core™ X-series Processor Family for Intel® X299 platforms Intel® Xeon® processor 3400 series Intel® Xeon® processor 3600 series Intel® Xeon® processor 5500 series Intel® Xeon® processor 5600 series Intel® Xeon® processor 6500 series Intel® Xeon® processor 7500 series Intel® Xeon® Processor E3 Family Intel® Xeon® Processor E3 v2 Family Intel® Xeon® Processor E3 v3 Family Intel® Xeon® Processor E3 v4 Family Intel® Xeon® Processor E3 v5 Family Intel® Xeon® Processor E3 v6 Family Intel® Xeon® Processor E5 Family Intel® Xeon® Processor E5 v2 Family Intel® Xeon® Processor E5 v3 Family Intel® Xeon® Processor E5 v4 Family Intel® Xeon® Processor E7 Family Intel® Xeon® Processor E7 v2 Family Intel® Xeon® Processor E7 v3 Family Intel® Xeon® Processor E7 v4 Family Intel® Xeon® Processor Scalable Family Intel® Xeon Phi™ Processor 3200, 5200, 7200 Series Intel® Atom™ Processor C Series Intel® Atom™ Processor E Series Intel® Atom™ Processor A Series Intel® Atom™ Processor x3 Series Intel® Atom™ Processor Z Series Intel® Celeron® Processor J Series Intel® Celeron® Processor N Series Intel® Pentium® Processor J Series Intel® Pentium® Processor N Series
Customers who only install the Windows January 2018 security updates will not receive the benefit of all known protections against the vulnerabilities. In addition to installing the January security updates, a processor microcode, or firmware, update is required. This should be available through your device manufacturer.Coz mi prijde atipicke a trochu budi dojem, ze Intel (a mozna i AMD) neni jeste schopen poskytnout stabilni update microcode, ktery by Microsoft mohl distribuovat.
např. tím, že browser oddělí vykonávání JS do jiného procesu, který nebude mít přístup k citlivým informacím.To je už teďka ne? A proto museli vypnout tu sdílenou paměť, protože ty můžes spectrem tricknout ten nevinný proces, aby ti poslal data mimo tu sdílenou oblast.
... and the SharedArrayBuffer feature has been disabled because it can be used to construct a high-resolution timer.
To je už teďka ne?No, třeba v Chromiu čistě vykonávání JS svůj vlastní proces nemá. JS se vykonává v procesu, kterej řeší renderování myslimže jednoho tabu. Nevim, k čemu všemu má ten renderer proces v paměti přístup, to se mi nepodařilo dohledat (ale je pravda, že jsem tomu nedal kdovíkolik času). Zmiňoval jsem v nějakým jiným komentáři např. podezření, že má přístup k historii, protože informace z historie jsou potřeba k renderování.
že tahle chyba do jisté míry verifikaci znemožňuje.No minimálně by měla jít verifikace toho procesoru. Tam by neměl být problém zjistit, že stav cache je po zabití spekulativní větve změněný.
Az mi to tak podezrely neprijde, ze to Rackspace a Amazon prodavali tak pod cenou...Velcí cloud provideři (a obecně enterprise IT service provideři) neprodávájí hardware na sekundárním trhu, ale vracejí ho vendorům v rámci buy-back guarantee programu a zpravidla znají výkupní cenu (výši slevy na nový HW) dlouho dopředu.
nebo je to normalni hodnota HW ke zbaveni se, kdyz jeste muze po kapitalisticku vyrabet?Vysoké hrubé marže :)
Leda, ze byste vedeli, ze tem CPU se za nedlouho provali monstrozni chyba, tak honem pryc, tu do 3/4 roku zadne nemame...Paranoid much?
ale vracejí ho vendorům v rámci buy-back guarantee programu a zpravidla znají výkupní cenu (výši slevy na nový HW) dlouho dopředu.Jenze to padne v okamziky, kdy uz neplanuji nakup od stejneho vendora a sleva na novy HW je nezajima, ne?
Jenze to padne v okamziky, kdy uz neplanuji nakup od stejneho vendora a sleva na novy HW je nezajima, ne?Ale cílem buy-back programu je vendor lock-in, takže umisťování HW na sekundární trh je zakázáno v rámcovkách... A mimo jiné, někteří vendoři nabízejí buy-back i pro hardware konkurence :)
Tak to jsem nevedel, ze v ramci Open Compute Project u nekoho z hardware dodavatelu funguje buy-back. Supermicro, ktere prave v tech datacentrech jelo pred OCP, buy back teda nedela. Aspon jsem o tom tedy nikdy neslysel - asi se bavime o totalne jinym svete. Mne nezajima totalne premarzovanej enterprise, na takovych vecech Internet nestoji. Viz cely Supermicro second-hand, to je dost kategorie masin sama pro sebe.
Ono Marku ja se fakt nebavim o tvoji enterprise sfere, pro mne fakt neni relevantni, co se tam pece jak pekne proprietarne a predrazene. Myslim, ze pro vetsinu Internetovyho sveta - vcelku zrovnatak. Fakt mne nezajima 5 masinek, co pocita nejaky Oracly, middlewary a JBossy, kdyz cely, jak to je, je to v hodnote nekolika ulicek Open Compute Hardware. To mne zajima, jake dava levnejsi a levnejsi computing moznosti, ne cover-your-ass corporate pristup k hardwarovani, kdyz to mam rict po svem, s klasickou nadsazkou ke konci
Podstatnější než za kolik je IMHO to, že prodal přesně všechny, které směl, a nechal si jen tolik, kolik podle firemních předpisů musel. Jestli se mu i tak podaří uhádat, že to bylo v pořádku, je to s jejich právním systémem horší než jsem myslel.
Zarážející ale je, že propad cen akcií sice byl, ale ne až tak závratný a v podstatě se dá říct, že polovina už je ho zpátky.
Moc pěkná je ta část, kdy CEO prodal akcie za $35M. Toho člověka by měli zavřít za americkej ekvivalent zneužití informací v obchodním styku.Insider trading si myslim, ale IANAL.
It was also revealed that three Equifax executives sold almost $1.8 million of their personal holdings of company shares days after Equifax discovered the breach but more than a month before the breach was made public.[57] The company said the executives, including the chief financial officer John Gamble,[58][27] "had no knowledge that an intrusion had occurred at the time they sold their shares".[59] On September 18, Bloomberg reported that the US Justice Department had opened an investigation to determine whether or not insider trading laws had been violated.[60]Plné odkazy viz Equifax#Criticism.
none of the four executives had knowledge of the incident when their trades were made, that preclearance for the four trades was appropriately obtained, that each of the four trades at issue comported with Company policy, and that none of the four executives engaged in insider tradingAle jak to tak čtu, tak to vypadá docela rozumě. Beru zpět.
A i kdyby to vedeli v ten moment prodeje, tak by to porad jeste nemusel byt insider trading pokud by ten prodej byl naplanovany jeste pred obdrzenim te informace. Muze jit taky prodej za ucelem nakupu automobilu, nemovitosti ktere jsou delsi dobu planovany.
Soudy bez blizsich informaci jenom protoze neco nejak vypada jsou hodne nebezpecne. Obvineni a vysetrovani jsou ale naprosto v poradku.
porad jeste nemusel byt insider trading pokud by ten prodej byl naplanovany jeste pred obdrzenim te informace.Podle vseho to byl naplanovany odkup jiz pred tim nez dostal informaci o chybe. Nedelam si iluze, ze to ma osetrene, jinak by do toho asi nesel. Spise bych cekal ze mohl posunout dobu, kdy se o tom informuje verejnost a tady ma Intel dosti co vysvetlovat. Alespon adminum nespackali Vanoce, hadam ze ted maji perne chvilky.
Spise bych cekal ze mohl posunout dobu, kdy se o tom informuje verejnost a tady ma Intel dosti co vysvetlovat.Jako o té chybě? Nevidím jediný důvod proč by Intel o té chybě vůbec MUSEL informovat.
Up to 8 x86-64 core Up to 8MB L3 Cache AVX, AVX2, AES, SHA, SSE4.2 28nm BULK by HLMC DDR4 MC PCI-e 3.0 GPU DX11 by S3Parametry KX-6000, jaro 2018, vyroba pripravena u TSMC:
Up to 8 x86-64 core Up to 8MB L3 Cache AVX, AVX2, SHA, SSE4.2 16nm FF+ by TSMC DDR4 MC PCI-e 3.0 GPU DX11 by S3Vysledky nejakeho benchmarku jsou zde a nevypada to spatne.
jestli by to nějaký ARM mohl uspokojivě nahradit (tj. tak, abych to při mém používání skoro nerozeznal) a kolik by stál
Nahradit by to mohl, pokud nepoužíváte něco, co běží jen na x86_64, ale bylo by to samozřejmě dražší, protože se to vyrábí v menších sériích.
Příjemně mě překvapilo, že ARM umí i virtualizaci – tu bych zrovna nečekal.
To je tím, že když se řekne ARM, většina lidí si představí hračky typu Raspberry Pi nebo telefony. Jenže ARM jsou také 96-jádrové chipy s I/O dimenzovaným tak, že z toho přechází zrak. Problém je ale v tom, že pořád chybí "něco mezi", i když už se objevují první vlaštovky.
ARM jsou také 96-jádrové chipyTo je pěkné, ale ten Firefox nebo LibreOffice při vykreslování více jader nepoužívají. Jak je takový stroj použitelný na desktopu?
Koneckonců, x86 je prohnilá sračka, což ví každý, kdo na ní měl co do činění s assemblerem, a používat to mě děsí už roky. Pokud člověk nepotřebuje používat proprietární software, snad by stálo za to zvážit postavení i desktopového počítače na ARMu (ano, vím, že toho se Spectre týká rovněž).S tím hodnocením x86 souhlasim, nicméně ARM mi nepřijde o moc lepší. Už taky za svou existenci zvládl nabalit solidní množství balastu (např. podpora dvojí ISA v jednom CPU - ARM vs Thumb, AArch64, různá rozšíření,...), navíc nejenže také Spectrem, ale některé nové / výkonnější CPU trpí i Meltdownem. Alternativ opravdu moc není. Měl jsem nějakou dobu příležitost pracovat se Sparcem a architektonicky to není vůbec špatné. Ale bohužel zřejmě nemá moc perspektivu.
např. podpora dvojí ISA v jednom CPUPrisne vzato se jedna o jednu ISA, ale vic ruznych kodovani instrukci.
různá rozšířeníTohle je mnohem vetsi prusvih. Pomalu, co procesor, to jina kombinace dostupnych instrukci.
Měl jsem nějakou dobu příležitost pracovat se Sparcem a architektonicky to není vůbec špatné.SPARC je pekne navrzena architektura a pro nektera nasazeni na servru neni spatna. Na druhou stranu mu ujel vlak diky tomu, ze se soustredili na to jak dostat na procesor vice vlaken, pricemz Intel si vybral cestu drobnych kontinualnich vylepseni/zrychleni, na coz asi zakaznici slyseli vic a diky cemuz tu mame tyhle dve hezke bezpecnostni chyby. Mimochodem, zdrojaky UltraSPARC T2 jsou k dispozici pod GPL, takze, kdo chce, muze si svuj procesor nejen udelat, ale muze si i overit, ze mu tam nikdo nedal back door. ;-]
Je potreba delat rozdil mezi security a safety. Pokud jde o zdravi, tak je neomluvitelne neinformovat o znamem problemu. V pripade ochrany dat je ale lepsi chybu zatajit (na strane vyrobce SW/HW) do doby, nez se najde oprava, pripadne nez je chyba znama a zneuzivana, ale to se tu uz resilo nekolikrat. Vubec bych nebyl rad, kdyby se informovalo o chybe jeste pred vydanim jeji opravy, nicemu to nepomuze, spis naopak.
Ohledne hodnoceni jestli meli na vytvoreni a vydani opravy dost casu, to nedokazu posoudit, nepracuju v Intelu a nemam znalosti o designu CPU a mikrokodu.
pripadne nez je chyba znama a zneuzivanaProblém je v tom, že tady o tom problému vědělo tolik lidí, že tu chybu určitě někdo zneužíval, zatímco všichni ostatní kromě velkých korporátů neměli šanci se jakkoliv bránit.
tu chybu určitě někdo zneužíval"urcite", "samozrejme", "prirozene" jsou krasna slova, kerymi se podklada tvrzeni. Pred vydanim opravy vi o security chybe pomerne hodne lidi, je tam spolecny zajem na oprave chyby a na informovani kritickych zakazniku/vlad o tom ze je nejaky problem ktery bude potrebovat opravit. Pokud se nedari najit opravu, tak takova "siroka" informovanost muze trvat delsi dobu. V Intelu nepracuju, takze nevim jak to tam probihalo narozdil od hromady jasnovidcu, nebo maji vazne kvalitni zdroje. To ze je to prusvih rozhodne zastirat nechci.
Jen pro ilustraci, DragonFly BSD implementovalo patch proti Meltdown v dobe kratsi nez tyden a byla to v podstate jen one-man-show prace Matthew Dillon. Tech sedum mesicu pro megamolochy se tezko zduvodnuje.A není to tak, že ten BSD vývojář měl už v té chvíli k dispozici popis řešení a případně i implementaci někoho dalšího? (ie. Linux?)
I should note that we kernel programmers have spent decades trying to reduce system call overheads, so to be sure, we are all pretty pissed off at Intel right now. Intel's press releases have also been HIGHLY DECEPTIVE. In particular, they are starting to talk up 'microcode updates', but those are mitigations for the Spectre bug, not for the Meltdown bug. Spectre is another bug, far more difficult to exploit than Meltdown, which leaks information from other processes or the kernel based on those other processes or kernel doing speculative reads and executions which are partially managed by the originating user process. Spectre does NOT involve a protection domain violation like Meltdown, so the Meltdown mitigation cannot mitigate Spectre.
These bugs (both Meltdown and Spectre) really have to be fixed in the CPUs themselves. Meltdown is the 1000 pound gorilla. I won't be buying any new Intel chips that require the mitigation. I'm really pissed off at Intel.
Pokud se nepletu, tak pomoci obou chyb lze cist, ne zapisovat pripadne jakkoliv ovlivnovat beh sytemu => vliv na "safety" nevidim. Prosim aspon o nejaky priklad.Útočník přečte z paměti heslo v plaintextu, připojí se a získá kontrolu nad kritickou infrastrukturou. Dosaď si libovolnou obměnu téhož.
No, mohl bych citovat prvni prednasku predmetu "Ochrana dat a informačního soukromí" od prof. RNDr. Václav Matyáš, M.Sc., Ph.D. vyucovane na FI MUNI, kde bylo hned na zacatku predmetu vysvetlovano co je bezpecnost a ze v cestine pokryva 2 terminy "security" a "safety", kde "security" je to o cem se tu bavime a v pripade "safety" je bezpecnost kde jde o zdravi/majetek. Napr. bezpecnost roentgenu je "safety", zabezpecovaci zarizeni na zel. trati (to nebylo zmineno, to ted pridavam ja) je bezpecnostni prvek.
Confidentiality, Integrity i Availability jsou v tomto vnimani vsechny pod "security". Diky ale za zmineni, musim se priznat ze toto deleni neznam, pamatuju si akorat, ze vypadky dostupnosti sluzby jsou obecne povazovany za bezpecnostni chybu (availability predpokladam). Jak kym ale.
Pokud by procesor daval neocekavatelne vysledky operaci, napr. Pentium FDIV bug tak to muze byt povazovano za safety chybu - probehne spatne vypocet kvuli kteremu vznikne skoda na zdravi/majetku, ale uz neni moznost jak tu chybu zneuzit z pohledu security.
Zrovna u FDIV je zneužití asi dost nepravděpodobné, ale obecně bych tvrzení, že chybný výsledek operace nelze zneužít, označil za příliš optimistické. Stačí si připomenout, jak často třeba jen nenápadná chyba v počítání referencí vede na privilege escalation.
nevim ani jestli v dobe objeveni te chyby byly znamy zpusoby jak tuto chybu zneuzit
Těžko. Ta chyba byla objevena v roce 1994, to se ještě bezpečnost nebrala moc vážně.
Vubec ne. Pokud ma security chyba primy dopad na safety (moznost nezadoucim zpusobem ovlivnit chod HW/SW), tak ano, potom je to security i safety problem. V pripade security chyby kdy ma utocnik moznost cist neco k cemu by nemel mit pristup, napr. credentials ale uz ne ovlivnit chod systemu, tak tou samotnou chybou, muze a nemusi byt schopen zneuzit takto ziskane credentials k ovladnuti systemu, napr. pokud ma system dvoufaktorovou autentizaci, tak ackoliv doslo k leaku informaci v dusledku security chyby, nema ta chyba vliv na safety.
Security a safety chyby nejsou podmnozinou jedne ani druhe, ale maji svuj prunik. Muzu tady uvest priklady chyb, ktere jsou ciste safety a nedoslo k nim po naruseni security: Ariane 5 Flight 501 Therac 25
Priklad chyby ktera by byla v pruniku security a safety mnozin by byla napr. hypoteticka baterie notebooku ktera by explodovala (poskozeni zdravi a majetku) pri urcitem prikazu pres I2C ktery by byl vyvolatelny pomoci beznych API, napr. v prohlizeci. Skoda na majetku a zdravi by v tomto pripade znacne prevysovala samotnou cenu za "unavailability" (ktera by mohlo byt povazovano za security chybu).
Pokud ma security chyba primy dopad na safety (moznost nezadoucim zpusobem ovlivnit chod HW/SW), tak ano, potom je to security i safety problem. V pripade security chyby kdy ma utocnik moznost cist neco k cemu by nemel mit pristup, napr. credentials ale uz ne ovlivnit chod systemu, tak tou samotnou chybou, muze a nemusi byt schopen zneuzit takto ziskane credentials k ovladnuti systemu, napr. pokud ma system dvoufaktorovou autentizaci, tak ackoliv doslo k leaku informaci v dusledku security chyby, nema ta chyba vliv na safety.To je pěkné. Akorát o pár příspěvků ve vlákně výše to bylo formulováno takto: "Útočník přečte z paměti heslo v plaintextu, připojí se a získá kontrolu nad kritickou infrastrukturou." Zjevně tedy má možnost nežádoucím způsobem ovlivnit chod HW/SW. Pokud ta infrastruktura něco řídí (stroje, dopravu, whatever), tak z toho máte safety chybu jak vyšitou. A o pojmenování vůbec nejde - jde o zranitelnost systémů, které se používají ke všem možným účelům, přičemž ta zranitelnost je před uživatelem takového systému utajena. (Narozdíl od spousty jiných lidí - celé se to řešilo rok a půl, nezávisle na to přišlo několik výzkumníků, takže o tom zjevně věděla spousta lidí.) Příklad s auty: je to jako kdyby 80% jezdících aut na trhu, když se na ně správně zabliká baterkou, přestalo brzdit. Protože moc moc závažná chyba a neví se, jak rychle se ji povede opravit, tak se utají, takže řidiči rok a půl jezdí autem, které může přestat brzdit - ať už náhodou, nebo cizím zlým úmyslem. Přičemž se to během toho roku a půl postupně dozvídá víc a víc lidí - kromě těch řidičů. A ať mi nikdo nezkouší tvrdit, že ten rok a půl se fakt intenzivně přemejšlelo nad tím, jestli to půjde opravit a jak. Prostě u Intelu zkoušeli, jestli to náhodou nevyšumí, nebo jestli nakonec na něco nepřijdou v tichosti a nepovede se jim to nějak opravit jako undisclosed problem (vizte changelogy microkódů)
To ze jsou ruzne bezpecnostni chyby ruznym zpusobem zneuzitelne si uvedomuju. Rozhodne lze napachat mnoho skody (priprava ne teroristicky utok, obohaceni se na ukor nekoho jineho, znepristupneni sluzby, zmena hlasu ve volbach, neopraveny pristup ke credentials) kvuli security chybe, to taky nezpochybnuju. Existuji i security chyby s mensim dopadem (zjisteni ze neci email je pouzivan v ramci konkretni sluzby). Nedavno nalezene chyby jsou z meho pohledu velmi zavazne a cile pro ktere mohou byt zneuzity jsou siroke. Rozhodne by bylo pro vsechny lepsi, kdyby byly opraveny co nejdrive a kdyby nebyly nadale prodavany procesory u kterych je vyrobci zname ze takovou chybou trpi v tom jsem se vsemi zde v souladu.
V cem se lisim je to, ze nemam tak resolutni postoj a znalosti o tom jak to probihalo v Intelu od momentu co se o chybe dozvedeli. Rozhodne bych byl rad, kdyby byla moznost se pridat do nejake hromadne zaloby, protoze jsem taky poskozeny a byl bych rad, kdyby byla situace objektivne vysetrena nezavislym organem.
To ze jsou ruzne bezpecnostni chyby ruznym zpusobem zneuzitelne si uvedomuju. Rozhodne lze napachat mnoho skody (priprava ne teroristicky utok, obohaceni se na ukor nekoho jineho, znepristupneni sluzby, zmena hlasu ve volbach, neopraveny pristup ke credentials) kvuli security chybe, to taky nezpochybnuju.Ja zase nezpochybnuji, ze security a safety neni uplne totez. Nicmene v oblasti PC a serveru, s ohledem na jejich uziti v infrastrukture a beznem zivote, a nasi zavislosti na nich, lze v podstate konstatovat ze zavazna security chyba je zaroven safety chybou.
Rozhodne by bylo pro vsechny lepsi, kdyby byly opraveny co nejdrivePresne tak. Znovu, zlatym standardem je pro me odpoved Dragonfly BSD - oni se dozvedeli, ze se neco deje po kernel patch od AMD. Behem tydne implementovali ochranu proti Meltdown, za tri dny proti Spectre, s tim ze ted, kdyz jsou jejich uzivatele uz pred nejhorsim chraneni, budou nasledujici tydny pracovat na optimalizaci a dalsich zlepsenich. Potom skutecnost, ze jsme byli mesice vedome nechani ve stavu kdy vam pres prohlizet mohli vyrabovat pocitac, firmami ktere maji desetitisicinasobne vice zdroju nez Dragonfly BSD, zanechava proste trpky pocit.
V cem se lisim je to, ze nemam tak resolutni postoj a znalosti o tom jak to probihalo v Intelu od momentu co se o chybe dozvedeli. Rozhodne bych byl rad, kdyby byla moznost se pridat do nejake hromadne zaloby, protoze jsem taky poskozeny a byl bych rad, kdyby byla situace objektivne vysetrena nezavislym organem.Co se stalo v Intelu nevime a asi vedet nebudem. Nicmene s ohledem na to ze Intel je klasicka byrokraticka molochoidni organizace s X vrstvama managementu a velkym mnozstvim vnitrni politiky, muzem s klidem drze spekulovat jak to vypadalo. Po te co management akceptoval stanovisko inzenyru po nekolika iteracich "nemame reseni" a "try harder", odhadem mesic, a spatna zprava probublala do nejvyssich pater, pak mesice resili co dale a jak z toho vybruslit, a zajmy [malych] konecnych uzivatelu - tedy moje a vase, ale i mensich poskytovalu serveru a sluzeb - byly na druhe koleji.
Nicmene v oblasti PC a serveru, s ohledem na jejich uziti v infrastrukture a beznem zivote, a nasi zavislosti na nich, lze v podstate konstatovat ze zavazna security chyba je zaroven safety chybou.+1
zajmy [malych] konecnych uzivatelu - tedy moje a vase, ale i mensich poskytovalu serveru a sluzeb - byly na druhe kolejiTo je skoro ještě dost optimistické. Jinak moc nevim, proč někoho tohle chování Intelu překvapuje. Mě na tom překvapuje maximálně tak to, že tohle někoho překvapuje
"urcite", "samozrejme", "prirozene" jsou krasna slova, kerymi se podklada tvrzeni.Stačí zapojit rozum. Za fungující exploity se platí nemalé peníze a je spousta firem a státních organizací, které jsou na přesně tomhle - zneužívání chyb - založené. Jedna citace z LWN z 20.12.:
There are clear indications that more issues of this type will come to light in the near future. What we think of as "hardware" is increasingly made up of software with all of the problems that afflict software at higher levels.Pokud o problému ví i (primárně) novinář a (v druhé řadě) řadový vývojář kernelu, který se nejvíc stará o dokumentaci, je dost naivní si myslet, že třípísmenkové organizace a hacker teamy jej přehlédnou a nevyužijí, dokud to jde.
Vubec bych nebyl rad, kdyby se informovalo o chybe jeste pred vydanim jeji opravy, nicemu to nepomuze, spis naopak.O tom řeč vůbec nebyla, ne? Spíš o tom, jestli vůbec někdy musí informovat. Ze zákonného hlediska asi nemusí, ale o to mi nešlo. Jen že by se možná vyplatilo místo cpaní peněz do reklam spíš vydat updaty firmwaru (a samozřejmě informovat a nezlehčovat to, působí to absurdně).
Mozna nas ceka rebuild uplne vsehoPevne doufam ze ne. Dopady na nektere aplikace mohou byt velke a retpoline navic podle vseho nemusi nic resit minimalne od Skylake vyse.
We shared Retpoline with our industry partners and have deployed it on Google’s systems, where we have observed negligible impact on performance. (...) In our own testing, we have found that microbenchmarks can show an exaggerated impact.
lhat ze zakona nesmi ...Ze zákona se nesmí lhát, nebo to je nějaká specifická věc pro CEO?.
ja jsem si myslel, ze rozumne nastavene zakony funguji obracene, nez rozumne nastaveny firewall. Tedy ze se nezadouci chovani zakazuje, ne ze se vse zakaze a pak se delaji vyjimky. ... A lez samotna, preci trestna neni.No jasně, ale zákon, který toto nežádoucí chování zakazuje, existuje: trestní zákoník, § 346 Křivá výpověď a nepravdivý znalecký posudek (zbytek v #311)
Ono se to především týká jen svědka (nebo žalobce), od obžalovaného se to tak nějak čeká, že bude lhát (je-li vinen). Na druhou stranu ale souhlasím, že LZPS IIRC povoluje pouze odmítnout výpověď, lež by IMHO pořád byla důvodem k obvinění z křivé výpovědi.
Uniká mi ale relevance k tématu, tady šlo o obyčejný rozhovor pro média, tam může každý lhát podle libosti a riskuje tim jen svou pověst.
Na druhou stranu ale souhlasím, že LZPS IIRC povoluje pouze odmítnout výpověď, lež by IMHO pořád byla důvodem k obvinění z křivé výpovědi.V tom co dovoluje Listina máš pravdu, ale právní řád tvoří i judikatura a přestože nemám po ruce patřičný judikát, ani jsem ho nečetl, tak podle známého právníka z velké a prestižní právní kanceláře se kterým jsme to téma diskutovali je v trestněprávních sporech u obviněného lhaní naprosto akceptovatelným způsobem obrany.
OK, jinak - jako CEO verejne obchodovatelne firmy nesmi podavat verejne nepravdive informace, coz znamena ze nesmi [okate] lhat.Zdroj? To se IMHO bude týkat pouze informací, které se týkají finančního výkaznictví / můžou zásadním způsobem ovlivnit cenu akcií... NOTE: Všimni si slovního spojení "zásadním způsobem".
Podle jeho vyjadreni to ma v UK i legislativni podporu, jak je to USA si neni jist.Z toho, co jsem různě slyšel z amerických médií, je to v USA stejně.