Otkriven golemi sigurnosni propust u gotovo svim Intelovim procesorima

Prema pisanju The Registera, zbog greške u siliciju nužna je hitna nadogradnja kernela svih aktualnih operacijskih sustava

Denis Arunović srijeda, 3. siječnja 2018. u 14:20

Na britanskom tech portalu The Register jučer je objavljen povelik tekst o otkrivanju velikog sigurnosnog propusta u dizajnu svih modernih Intelovih procesora odnosno svih proizvedenih u posljednjih desetak godina. Na softverskom krpanju problema trenutno rade razvojni inženjeri Linux i Windows kernela, no zakrpe će zbog svoje sveobuhvatnosti po svemu sudeći izazvati solidan pad performansi - između 5 i 30 posto, zavisno o korištenoj aplikaciji i tipu odnosno generaciji procesora.

Kako piše Register, kada god neka aplikacija želi izvršiti zadaću kao što je pisanje u datoteku ili otvaranje mrežne konekcije, mora prepustiti kontrolu nad procesorom kernelu odnosno jezgri operacijskog sustava. Kako bi prelazak iz korisničkog u kernel način rada bio što brži i efikasniji, kernel je prisutan u virtualnom memorijskom prostoru svakog procesa, no istovremeno je skriven od tih procesa radi sigurnosti. Set sigurnosnih nadogradnji za Linux trenutno poznatih pod imenom KPTI odnosno Kernel Page Table Isolation u potpunosti odvaja adresni prostor kernela od adresnog prostora korisničke aplikacije što rješava sigurnosni problem, ali negativno utječe na performanse. 

Cijela priča postoje još zanimljivija nakon službene objave AMD-a da njihovi procesori nisu pogođeni ovim problemom. AMD-ov inženjer Tom Lendacky piše:

"AMD processors are not subject to the types of attacks that the kernel page table isolation feature protects against. The AMD microarchitecture does not allow memory references, including speculative references, that access higher privileged data when running in a lesser privileged mode when that access would result in a page fault. Disable page table isolation by default on AMD processors by not setting the X86_BUG_CPU_INSECURE feature, which controls whether X86_FEATURE_PTI is set."

Ključan termin ovdje je "speculative memory references". Naime, moderni procesori često pribjegavaju špekulativnom dohvaćanju koda kako bi održali maksimalno napunjen instrukcijski cjevovod odnosno kako bi izvršne jedinice procesora što efikasnije radile. Iz gornjeg teksta dalo bi se naslutiti da bi bilo moguće napraviti softver koji na ovaj način čita skrivene dijelove memorije odnosno memoriju kernela. 

Da je problem dosta ozbiljan može se naslutiti po skrivanju detalja problema te hitnim sigurnosnim nadogradnjama koje stižu na sve pogođene operacijske sustave, uključujući i one koji se vrte u cloudu. Microsoft upozorava korisnike Azure Clouda da 10. siječnja očekuju veliku sigurnosnu nadogradnju sistema koja zahtjeva resentiranje virtualnih mašina. Resetiranje odnosno isključivanje virtualnih servera nužno jer se zbog softverskih nadogradnji moraju resetirati fizički serveri. Isto najavljuje i Amazon korisnicima AWS-a, s tom razlikom da primjena nadogradnji i resetiranje servera ide još ranije - 5. siječnja. 

Rasplet ove priče još nije gotov, pogotovo ako softverske zakrpe uzrokuju ovako masivni pad performansi. Kako to obično biva u državama s funkcionalnim i razvijenim pravnim sustavom, nije isključeno da nakon svega padne i kakva tužba protiv Intela.