Web Archive ma ulozeny ten prvy clanok:
http://web.archive.org/web/20170216070420/http://www.cs.vu.nl//~herbertb/download/papers/anc_ndss17.pdf
Prvy HW cache-attack, ktory vyuzival Javascript namiesto nativneho kodu bol "The Spy in the Sandbox" (https://arxiv.org/pdf/1502.07373v2.pdf), Vtedy to bolo pouzite myslim na side-channel komunikaciu. No a odvtedy sa s HW-Cache-MMU utokmi v Javascripte akoby roztrhlo vrece :)
oba články už jsou dostupné, patrně to byl https://en.wikipedia.org/wiki/Slashdot_effect
Zdaaarek.
Zrejme doslo k nedorozumeniu. Ta cast vety "ze je deravej ten js" nie je v kontexte toho dokumentu pravdiva resp. ak pripustime, ze je pravdiva tak nepodstatna. Pani demonstrovali to, ze problem je v architekture spravy cache v modernych procesoroch (MMU) a ze spravanie sa cache v tychto systemoch je mozne vyuzit v prospech derandomizacie virtualnych adries pamatovych regionov (code a data) cielovych procesov (obeti) so zakladnymi pamatovymi opravneniami. Zakladne pamatove opravnenia boli preukazane tym, ze derandomizacia bola uspesna aj z tak restriktivneho prostredia ako je javascriptovy kod v priehladaci (vacsinou spustany v urcitej forme sw klietky (sandbox)).
;-)
Cast z dokumentu
"In this paper, we show that the problem is much more serious and that ASLR is fundamentally insecure on modern cache-based architectures. Specifically, we show that it is possible to derandomize ASLR completely from JavaScript, without resorting to esoteric operating system or application features. Unlike all previous approaches, we do not abuse weaknesses in the software (that are relatively easy to fix). Instead, our attack builds on hardware behavior that is central to efficient code execution: the fast translation of virtual to physical addresses in the MMU by means of page tables.
Mitigating this attack without naively disabling caches is hard, since it targets the low-level operations of the MMU.We conclude that ASLR is fundamentally flawed in sandboxed environments such as JavaScript and future defenses should not rely on randomized virtual addresses as a building block."
Ta cast vety je pravdiva zcela 100%. js interpretuje browser, a deravej je pochopitelne ten, ale je to js, kterej ti umozni tu diru vyuzit. A ze tohle konkretne neni tak uplne dira ani toho browseru nic nemeni na tom, ze porad muzes js vyuzit k napadeni zcela nesouvisejicich casti systemu => deravej je js.
Pokud prijmu tvoji argumentaci, tak flash je zcela neskodna a zcela bezpecna vec, protoze vse co dela dela vyhradne prostrednicvim operacniho systemu, tudiz pokud dela neco co nema, muze za to vyhradne system.
Imho ten javascript je tam zajimavy hlavne protoze je to example untrusted kodu, podstatne je ze kdyz jsem schopny neco spustit, dokazu podle toho zjistil z cpu cache informace o rozlozeni adres v pameti a mohu zneuzit chyby ve sprave pameti protoze najednou vim kde ta pridelena pamet zacina a konci.
Že to dokážete vyvolat vzdáleně ovšem není moc svázané s JavaScriptem. Ten příklad ukazuje, jak ten útok provést pomocí interpretu JavaScriptu instruovaného vhodným JavaScriptovým kódem. Vzdáleně ale můžete ovlivnit i chování interpretu HTML, interpretu SVG, interpretu CSS, rendereru obrázků, rendereru PDF, přehrávače videa a všech dalších komponent, které interpretují data přijatá ze serveru. Můžou existovat implementace firewallu, kde bude možné tu chybu zneužít vhodnou sestavou paketů. Můžete k tomu přinutit parser HTTP, můžete zneužít knihovnu, která se stará o SSL. Můžete k tomu volbou vhodných kritérií výběru přinutit databázi. Ta chyba je zkrátka na úrovni procesoru, a jde jen o to, jaká data předhodit vyšším vrstvám aplikací, aby provedly potřebný kód na procesoru.
Zdaaarek.
Tak ako pisete Vy + tak ako rozumne do diskusie prispeli aj Havis, P_V, tnr, Starous, ktory spravne poukazuju na to, ze je problem na nizsich urovniach (teda HW/CPU) si myslim, ze dalsia debata s clovekom skryvajucim sa za pseudonymom "j" nema zmysel. Nic v zlom "j", ale jednoducho si nerozumieme, ale to nevadi.
Prajem prijemny den.
;-)