Dy nga dobësitë më të publikuara në vitet 2010 ishin të lidhura shumë ngushtë me njëra-tjetrën. Në vend që të jenë dobësi sigurie në softuer, Spectre dhe Meltdown janë dobësi në dizajnin themelor të CPU-ve duke e bërë problemin më të vështirë për t'u zgjidhur. Vetë çështjet janë veçanërisht të rënda, duke lejuar zbulimin e kujtesës nga aplikacionet e tjera dhe sistemi operativ.
Vështrim i përgjithshëm
CPU-të përdorin dizajne tepër të avancuara për të arritur performancën më të lartë, duke përfshirë teknikat duke përfshirë ekzekutimin spekulativ dhe parashikimin e degëve. Ekzekutimi spekulativ është vendi ku CPU fillon të ekzekutojë një proces përpara se të dijë nëse i duhet, në një përpjekje për të kursyer kohë kur vendos se i duhet. Parashikimi i degës është një nën-bashkësi ekzekutimi spekulativ që përpiqet të parashikojë rezultatin e një procesi dhe më pas fillon llogaritjen e hapit tjetër bazuar në atë vlerë të parashikuar duke lejuar CPU-në të ekzekutojë një sërë udhëzimesh jashtë rregullit.
Dobësia e Spectre vjen nga zbatimi i këtyre dy veçorive. Ai lejon një aplikacion të shkelë teknikat e izolimit të memories të integruara në shumicën e softuerit modern, duke lejuar zbulimin e kujtesës, duke përfshirë sekrete si fjalëkalimet dhe çelësat e enkriptimit. Një nga problemet me Spectre, është se të dhënat mund të aksesohen nga aplikacione që nuk kanë ndonjë dobësi sigurie pasi kërkohet vetëm një program me qëllim të keq.
Dobësia Meltdown bazohet në disa teknika të memories, si dhe në sistemin spekulativ të ekzekutimit të përmendur më lart. Ai përdor një "kusht garë" midis ekzekutimit të procesit dhe kontrollit të privilegjit dhe lejon një program me qëllim të keq të hyjë në kujtesën e aplikacioneve të tjera dhe të sistemit operativ.
Këshillë: Një "kusht gare" është një çështje ku një detyrë supozohet të mbështetet në një tjetër, por urdhri i saktë i ekzekutimit nuk zbatohet. Kjo mund të rezultojë që procesi "i dytë" të ekzekutohet i pari dhe të përdorë memorie të pa inicializuar që duhet të përmbajë rezultatin e procesit "të parë", duke rrjedhur përmbajtjen e mëparshme të asaj memorie. Në këtë rast specifik, procesi nuk duhet të funksionojë derisa një kontroll i lejeve të ketë verifikuar nëse lejohet, por kontrolli i lejes mund të ndodhë i dyti për shkak të optimizimeve të performancës.
Efektet
Në mesin e vitit 2017, ekipe të shumta zbuluan dhe raportuan në mënyrë të pavarur si Meltdown ashtu edhe Spectre te prodhuesit e CPU-së që zhvilluan arna. Për shkak të arnimeve që synojnë optimizimin e performancës, ato përfunduan duke ulur performancën e CPU-ve deri në 30% në skenarët më të keq, me një ulje të performancës prej 2-14% që ishte më përfaqësuese e përvojave të njerëzve.
Dobësitë prekën shumë CPU x86, CPU IBM POWER dhe disa CPU të bazuara në ARM. Meltdown ndikon në harduerin që zakonisht gjendet në kompjuterët personalë, si dhe në serverët cloud. Spectre prek kompjuterët personalë, serverët cloud dhe pajisjet celulare. Të gjithë CPU-të intel nga viti 1995 deri në mesin e 2018 ishin të cenueshëm ndaj problemeve (me përjashtimin e linjave Itanium dhe Atom përpara 2013). CPU-të AMD nuk u prekën nga Meltdown, por ishin të prekshëm ndaj Spectre.
Arnimet për zbutjen e softuerit u zhvilluan dhe u lëshuan përmes ofruesve të sistemit operativ që zgjidhin shumicën e çështjeve. Që nga mesi i vitit 2018 Intel ka përditësuar modelin e CPU-së për të përfshirë zbutjen e harduerit për problemet.
Të dyja çështjet mund të shfrytëzohen nëpërmjet faqeve të internetit me qëllim të keq me JavaScript të krijuar, kështu që është vërtet e rëndësishme të siguroheni që arnimet e sigurisë janë instaluar në çdo sistem, edhe nëse humbja e performancës do të jetë e rëndë. Fatkeqësisht, problemet nuk mund të zgjidhen me një rregullim të vetëm, pasi ato janë çështje jashtëzakonisht komplekse me integrim të thellë në harduer, arnimet e sigurisë do të vazhdojnë të shfaqen me kalimin e kohës ndërsa zbulohen variante më të reja.