U mňa si to INTEL so svojim hardwarovým backdoorom s názvom Intel Managment Engine úplne pokašlal. Vypnúť IME pomocou HAP bitu je jedna vec a druhá vec, že v počítači máte kopu iných uzavretých firmwarov CPUs/MB chipsets/NICs/GPUs/audio chips a dokonca aj radiče HDD/SSD obsahujú vlastný ARM/MIPS CPU s vlastným miniatúrnym operačným systémom, ktorý sa dá napadnúť.
Tu je zdroj: https://www.idnes.cz/technet/software/virus-pevny-disk.A150218_094347_software_vse
Ja osobne držím palce RISC-V CPU a OPENRISC CPU. Napríklad ak sa dobre pamätám tak Western Digital použil niečo z RISC-V architektúry pre svoj nový radič.
Jediné riešenie je open source hardvér, aby sme znovu mohli dôverovať svojím počítačom, tak ako v 90-tich rokoch.
to Ondra Satai Nekola
prepáčte, zle som sa vyjadril. V 90-tich rokoch počítače nemali také mocné firmwary ako majú dnes.
Dnes sieťové karty, GPU, MB chipset, radič v HDD/SSD majú o mnoho výkonnejšie miniatúrne CPU s vlastným miniatúrnym operačným systémom, ktoré sa dajú napadnúť. V 90-tich rokoch firmwary súčastí počítača/sieťová karta, HDD/SSD, MB chipset atď./ - nemali také možnosti ako majú dnes - tak som to myslel.
Mikrokódovaný byl z x86 už 8086, máš to nějaký popletený. Jestli myslíš měnitelný mikrokód, tak ten skutečně přibyl až u P6.
ISA sice používala DMA, ale jen za předpokladu, že jsi neměl nějaký IBM-nekompatibilní PC bez i8237. Co má DMA co společného s Intel ME?
Pokud bych nějak přistoupil na to, že v devadesátkách byly počítače Open Source, což rozhodně nebyly (schválně si zkus najít Dr. Dobbse a jeho archivované stránky, jak v druhé polovině teprve lidi rozkrývali, jak fungují flagy u 8086 [myslím ty nedefinovaný], intrukce, který Intel tajil a podobné legrace), stále tu zůstává skutečnost, že tehdy bylo v módě používat všemožný intelí burdel a obfuskovaný kód, ideálně protkaný samomodifikujícími sekcemi a bez dokumentace. Pak tu bylo zneužívání chyb HW - nereálný režim (286+), kde bylo možné adresovat celý dostupný adresní prostor pomocí zneužití deskriptorových cache. Nedokumentovaný, mimo firmy typu MS, Borland se to vědělo až o léta později.
Na 286 se taky pro výstup z PM do RM muselo použít hacku, kdy se zkriplila tabulka vektorů (v IDT se nastavila tabulka tak krátká, aby nebyl obsažen vektor 0x06 a vyšší), spustila se nějaká neexistující instrukce, čímž se skočilo na interrupt pro Invalid Opcode (Fault), který neexistoval, čímž se skočilo na Double Fault, který taky neexistoval, což vyvolalo Triple Fault a okamžitý restart procesoru. BIOS pak zkontroloval kousek paměti a pustil instrukci LOADALL (nedokumentovaná, pod NDA), čímž obnovil kontext procesoru v reálném režimu. Samozřejmě vše pod NDA, open-source hadr.
Pak i na 386 byla instrukce LOADALL, od 386 pro notebooky výš tu byl SMM (taky děravý jak bota - kolikrát jsme slyšeli o útoku na něj, že?). Pak tu byla možnost debugování procesoru, pokud jsi měl "bondout" verzi procesoru s pinem IBP. Což jsi nedostal bez NDA. Když v devadesátkách Dobbs tyhle věci vynášel na povrch, šel po něm Intel, aby ho zlikvidoval.
Jestli si takhle představuješ open source a jak to má vypadat, tak doporučuju Chocholouška. Taky kvůli těmhle prasárnám od Intelu nikdo neměl rád procesory V20 - oproti Intelu měli natvrdo 0x0A v instrukci AAD, takže ten procesor neměl instrukci DIV reg8,imm8 a nefungovaly třeba některý hry. Mimochodem ta instrukce se používala hodně, protože to bylo na Intelu nejrychlejší dělení (nepočítám XLAT a LUT, ta by pro emulaci AAM potřebovala prostor celého jednoho segmentu, což v době 640K limitu nebylo právě košer).