Intel ga ponovo isporučuje sa drugom ranjivošću koja takođe utječe na upravljanje virtualnom memorijom

Mikroprocesorski čip naopako

Tajanstvena sigurnosna greška to utječe na sve savremene Intel CPU arhitekture koje imaju sposobnost implementacije virtualne memorije. Potpuni redizajn ovih hardverskih arhitektura vjerojatno će biti potreban da bi se problem u potpunosti riješio, ali zakrpe su već rađene kako bi se to izmijenilo iz softvera i zakrpe već slijeću u Linux kernel. U slučaju Microsoftovih sistema zasnovanih na Windows NT, počeli su se rješavati u novembru prošle godine. Još jedan slučaj sličan onom koji smo imali s dobro poznatom ranjivošću koja je utjecala na RAM memorije i koja je bila poznata kao Rowhammer, ugrožavajući sigurnost.

E, sada bi ovaj novi problem mogao utjecati na okruženja za virtualizaciju koja su uobičajena i koja se koriste kao usluge Amazon Web Services (AWS) EC2, kao i usluge Google Compute Engine između ostalih. Istina je da problem nije previše ozbiljan, ali je uticaj širok zbog velikog broja arhitektura na koje utiče, pored činjenice da je rešavanje problema softverom komplikovano. Konkretno, problem koji proizlazi iz ove Intel greške leži u LWN-u, tablicama izolacije stranica kernela, koje intervenišu u upravljanju memorijom od strane kernela. Tada nalazimo a složeno rješenje ako se to radi pomoću softvera i to ne znači najbolje rješenje, a s druge strane moramo ići do korijena problema i redizajnirati hardver, posebno pogođene arhitekture koje omogućavaju upravljanje ovom vrstom memorije. Ni to nije jeftino ni brzo, jer ćemo morati pričekati nove generacije hardvera koje bismo očito morali nabaviti.

Ali vraćanje na softversko rješenje, odnosno krpanjem, nije dobro ni jer bi ozbiljno utjecalo na performanse. Naš CPU bi mogao imati značajan gubitak performansi, i do 50%. Zašto? Pa, da bi se to riješilo, mora se generirati kôd da bi se on ispraznite TLB memoriju (Translation Lookaside Buffer), predmemorija koja znatno ubrzava performanse bržim lociranjem gdje se podaci i upute nalaze u virtualnoj memoriji sistema. Ali morali smo ih brisati svaki put kad se jezgra pokrene i svaki put kada korisnički kod nastavi s izvršavanjem, jer je problem primjetan ...