Које су рањивости Спецтре и Мелтдовн?

Две рањивости које су се највише објављивале у 2010-им биле су веома блиско повезане једна са другом. Уместо да представљају безбедносне пропусте у софтверу, Спецтре и Мелтдовн су рањивости у основном дизајну ЦПУ-а, што отежава решавање овог проблема. Сами проблеми су посебно озбиљни, дозвољавајући откривање меморије из других апликација и оперативног система.

Преглед

ЦПУ-и користе невероватно напредне дизајне за постизање највиших перформанси, укључујући технике укључујући спекулативно извршење и предвиђање гранања. Спекулативно извршење је место где ЦПУ почиње да покреће процес пре него што сазна да ли треба, у покушају да уштеди време када утврди да је потребно. Предвиђање гранања је подскуп спекулативног извршења који покушава да предвиди исход процеса, а затим почиње да израчунава следећи корак на основу те предвиђене вредности омогућавајући ЦПУ-у да изврши серију инструкција из ред.

Спецтре рањивост долази од имплементације ове две карактеристике. Омогућава апликацији да пробије технике изолације меморије уграђене у већину модерних софтвера, омогућавајући откривање меморије, укључујући тајне попут лозинки и кључева за шифровање. Један од проблема са Спецтре-ом је тај што се подацима може приступити из апликација које немају никакве безбедносне пропусте јер је потребан само злонамерни програм.

Рањивост Мелтдовн је заснована на неким меморијским техникама, као и на спекулативном систему извршења који је горе поменут. Користи „услов трке“ између извршења процеса и провере привилегија и дозвољава злонамерном програму да приступи меморији других апликација и оперативног система.

Савет: „Услов трке“ је проблем где би један задатак требало да се ослања на други, али се исправан редослед извршења не примењује. Ово може довести до тога да се „други“ процес покреће први и користи неиницијализовану меморију која је требало да садржи резултат „првог“ процеса, пропуштајући претходни садржај те меморије. У овом конкретном случају, процес не би требало да се покреће док провера дозвола не потврди да је дозвољено, али провера дозволе може да се деси као друго због оптимизације перформанси.

Ефекти

Средином 2017. више тимова је независно открило и приватно пријавило Мелтдовн и Спецтре произвођачима ЦПУ-а који су развили закрпе. Због закрпа које циљају на оптимизацију перформанси, на крају су смањили перформансе ЦПУ-а до 30% у најгорем случају, при чему је смањење учинка од 2-14% више репрезентативно за људе искуства.

Рањивости су утицале на многе к86 процесоре, ИБМ ПОВЕР ЦПУ и неке АРМ базиране процесоре. Мелтдовн утиче на хардвер који се обично налази у личним рачунарима, као и на серверима у облаку. Спецтре утиче на личне рачунаре, сервере у облаку и мобилне уређаје. Сви Интел ЦПУ-и од 1995. до средине 2018. били су рањиви на проблеме (са изузетком Итаниум и Атом линија пре 2013.). Мелтдовн није утицао на АМД ЦПУ, али су били рањиви на Спецтре.

Софтверске закрпе за ублажавање последица су развијене и пуштене преко добављача оперативних система који решавају већину проблема. Од средине 2018. Интел је ажурирао дизајн ЦПУ-а како би укључио хардверска ублажавања проблема.

Оба проблема се могу искористити преко злонамерних веб страница са израђеним ЈаваСцрипт-ом, тако да је заиста важно уверите се да су безбедносне закрпе инсталиране на сваком систему, чак и ако ће доћи до губитка перформанси тешка. Нажалост, проблеми се не могу решити једном закрпом, јер су изузетно сложени проблеми са дубоким интеграцијом у хардвер, безбедносне закрпе ће наставити да се развијају током времена као и новије варијанте откривено.