Уязвимостите на процесора са на мода наскоро, като Zenbleed и Downfall са две от последните. Но колко трябва да се тревожите?
Уязвимостите на процесора се появяват и изчезват от новините през последните години и често идват с доста страшно послание, когато се стигне до тяхното разкриване. В случай че Zenbleed и Падане, беше, че всяко приложение на вашия компютър може да има достъп до паметта на всяка друга програма, работеща при правилните обстоятелства. Звучи интензивно, нали?
Въпреки това не е толкова лошо, колкото изглежда. Очевидно е достатъчно значимо, за да гарантира разкриване и софтуерна актуализация, за да коригира грешките, дори с цената на производителността, но какво точно се случва, за да причини тези проблеми със сигурността? Трябва ли да се тревожите?
Трябва ли да се притеснявате за уязвимости на процесора като Zenbleed, Downfall и Inception?
Честно казано, нито един от тези експлойти не засяга огромното мнозинство от хората. Въпреки че могат да изтекат данни от една програма в друга, всеки зловреден софтуер на машината на потребителя вече има страхотно ниво на достъп, с което може да злоупотребява. Вместо това тези атаки са особено обезпокоителни в контекста на облачните изчисления.
За да разберете проблема, трябва да разберете, че много различни облачни сървъри са просто компютри с много конски сили, голяма честотна лента на мрежата и някакъв друг специализиран хардуер изисква се. Много компании отдават под наем това, което се нарича VPS или виртуален частен сървър, които са виртуализирани машини с ограничена мощност, към които могат да работят десетки други виртуални машини.
Когато това може да е проблем, е, че един човек на една виртуална машина може да изпълни едно от тях уязвимости, получаване на представа какви данни преминават през процесора, включително данни от други виртуални машини. Това не би трябвало да е възможно и е сериозно нарушение на сигурността. Ето защо, когато Zenbleed беше разкрит, вече имаше пачове за процесорите Epyc на AMD, които са насочени към използването на сървъри.
Най-сериозните уязвимости на процесора в момента
Индустриалният стандарт за „класиране“ на уязвимостите и тяхната тежест е чрез Общата система за оценка на уязвимостите (CVSS). Той осигурява количествена мярка за сериозност, тъй като различните аспекти на уязвимостта ще повлияят на резултата. Той измерва, като взема предвид следното:
- Вектор на атака: Мрежа/Съседна/Локална/Физическа
- Сложност на атаката: Ниско/Високо
- Изискват се привилегии: Няма/Ниско/Високо
- Взаимодействие с потребителя: Няма/Задължително
- Обхват: Непроменен/Променен
- Конфиденциалност: Няма/Ниско/Високо
- Интегритет: Няма/Ниско/Високо
- Наличност: Няма/Ниско/Високо
Всички те класифицират сериозността на грешката. Например уязвимост, която може да бъде изпълнена през мрежа с ниска сложност, без необходими привилегии, без потребителско взаимодействие, с променен обхват, голямо изтичане на поверителност на данни, голямо нарушение на целостта на данните и силно въздействие върху наличността ще получат перфектни 10 в CVSS 3.1, най-високият резултат възможен.
По този показател можем да оценим щетите, на които Zenbleed и Downfall са способни. Спойлер: Те са еднакви, въпреки че засягат различни процесори. Следователно, докато те отбелязват определена сума в контекста на уязвимостите, те могат да засегнат различни количества продукти и това няма да засегне техните резултат. Резултатите от CVSS са по същество само за сортиране, но не разказват цялата история.
Zenbleed: 6.5 (среден)
- Вектор на атака: Местен
- Сложност на атаката: ниско
- Изискват се привилегии: ниско
- Взаимодействие с потребителя: Нито един
- Обхват: Променен
- Конфиденциалност: Високо
- Интегритет: Нито един
- Наличност: Нито един
Обяснение: Атакуващият вектор изисква локален достъп до машината (както в, той работи на машината), като същевременно няма влияние върху целостта на данните на машината или тяхната наличност. Той обаче променя обхвата (което означава, че засяга ресурси извън неговите привилегии) и сложността на атаката, а привилегиите, необходими за изпълнение, са ниски. Освен това напълно нарушава поверителността на информацията на машината.
Спад: 6.5 (среден)
- Вектор на атака: Местен
- Сложност на атаката: ниско
- Изискват се привилегии: ниско
- Взаимодействие с потребителя: Нито един
- Обхват: Променен
- Конфиденциалност: Високо
- Интегритет: Нито един
- Наличност: Нито един
Обяснение: Атакуващият вектор изисква локален достъп до машината (както в, той работи на машината), като същевременно няма влияние върху целостта на данните на машината или тяхната наличност. Той обаче променя обхвата (което означава, че засяга ресурси извън неговите привилегии) и сложността на атаката, а привилегиите, необходими за изпълнение, са ниски. Освен това напълно нарушава поверителността на информацията на машината.
Начало: 5.6 (среден)
- Вектор на атака: Местен
- Сложност на атаката: Високо
- Изискват се привилегии: ниско
- Взаимодействие с потребителя: Нито един
- Обхват: Променен
- Конфиденциалност: Високо
- Интегритет: Нито един
- Наличност: Нито един
Обяснение: Атакуващият вектор изисква локален достъп до машината (както в, той работи на машината), като същевременно няма влияние върху целостта на данните на машината или тяхната наличност. Той обаче променя обхвата (което означава, че засяга ресурси извън неговите привилегии), сложността на атаката е висока, а привилегиите, необходими за изпълнение, са ниски. Освен това напълно нарушава поверителността на информацията на машината.
Призрак: 5.6 (среден) (с корекция)
Spectre, въпреки че е по-широко разпространено явление, всъщност отбелязва точки по-малко отколкото Zenbleed и Downfall. Това е благодарение на факта, че сложността на атаката беше наречена „Висока“, което намали резултата.
- Вектор на атака: Местен
- Сложност на атаката: Високо
- Изискват се привилегии: ниско
- Взаимодействие с потребителя: Нито един
- Обхват: Променен
- Конфиденциалност: Високо
- Интегритет: Нито един
- Наличност: Нито един
Обяснение: Атакуващият вектор изисква локален достъп до машината (както в, той работи на машината), като същевременно няма влияние върху целостта на данните на машината или тяхната наличност. Той обаче променя обхвата (което означава, че засяга ресурси извън неговите привилегии), сложността на атаката е висока, а привилегиите, необходими за изпълнение, са ниски. Освен това напълно нарушава поверителността на информацията на машината.
Стопяване: 5.6 (средно) (с корекция)
Подобно на Spectre, Meltdown има по-ниски резултати от Zenbleed и Downfall, поради изискваната по-голяма сложност на атаката.
- Вектор на атака: Местен
- Сложност на атаката: Високо
- Изискват се привилегии: ниско
- Взаимодействие с потребителя: Нито един
- Обхват: Променен
- Конфиденциалност: Високо
- Интегритет: Нито един
- Наличност: Нито един
Обяснение: Атакуващият вектор изисква локален достъп до машината (както в, той работи на машината), като същевременно няма влияние върху целостта на данните на машината или тяхната наличност. Той обаче променя обхвата (което означава, че засяга ресурси извън неговите привилегии), сложността на атаката е висока, а привилегиите, необходими за изпълнение, са ниски. Освен това напълно нарушава поверителността на информацията на машината.
Най-голямата причина: Прогноза за разклонения
Източник: AMD
Предсказването на клонове и спекулативното изпълнение в общи линии се отнасят до това, когато вашият компютър изпълнява операции, които не са необходими в момента, но ще бъдат в следващите цикли. Често се прави в моменти, когато вашата система има свободни ресурси, тъй като ускорява цялостната обработка, когато инструкциите или данните иначе все още не биха били готови за процесора. Ако извършената работа не е необходима, тя обикновено се отхвърля и процесорът може да се върне там, където трябва, за да изпълни следващата правилна инструкция. Когато прави това, това се нарича погрешно предвиждане на клон.
За по-задълбочено разбиране на предикторите за разклонения, представете си сценарий, при който програма последователно добавя едни и същи две числа при своето изпълнение. На някакъв етап процесорът може да разпознае този модел и да подготви следващите стъпки, ако методът, при който се добавят тези две числа, бъде извикан отново. Ако този резултат се промени в даден момент, дори ако процесорът е планирал същите две числа да бъдат еднакви, тогава предположението ще бъде изхвърлено и заменено от действителния поток на изпълнение. Въпреки това, за времето, което тези числа са същото, тогава процесорът може бързо да прескочи тези инструкции.
Има обаче много проблеми, когато става въпрос за спекулативно изпълнение, и уязвимости като Spectre, Zenbleed, Downfall и други са резултат. Това е мощна функция, на която дължим голяма част от производителността на съвременния процесор, но тя е основна цел, когато изследователите търсят уязвимости в процесорите.
Смекчаване: Инхибитор на ефективността
Намаляването на тези уязвимости е от изключителна важност, но проблемът е, че тези смекчавания често оказват влияние върху производителността. В случая с най-новия Zenbleed на AMD, смекчаването може да доведе до огромни разходи за производителност.
Причината за това е, че единственият реален начин да го заобиколите е да деактивирате или промените поведението на предиктора на клона в засегнатия процесор. Същият хит на производителността може да бъде открит в смекчаващите мерки за падането на Intel, с ранни доклади, предполагащи въздействие върху производителността до 39%. Епични игри веднъж известно споделено Графики за използване на процесора, след като уязвимостта на Meltdown беше разкрита и какво влияние имаха тези смекчаващи мерки върху използването на процесора на компанията. Имаше голямо увеличение в използването на процесора, както можеше да се очаква. Там, където нещата стават страшни, е с корекцията за Inception на AMD, беше установено, че производителността спада с до 54%.
Тъй като уязвимости като тази засягат основните функции на процесора, е трудно наистина да ги поправите, освен дезактивирането или сериозното осакатяване на основните функции. Спекулативното изпълнение е невероятно важно и тези смекчаващи мерки ще бъдат усетени от много хора. Производителността на игрите е по-малко предвидима, така че ако основното използване на компютъра ви е игри, може да сте добре, тъй като вашият компютър не може да направи толкова много прогнози, но тези проблеми се увеличават в много по-големи размери системи.
Засегнати ли са бъдещите процесори?
За щастие, както в случая на Intel Downfall, така и в Zenbleed, тези експлойти засягат по-старите процесори. По-нови процесори и от двете компании са в безопасност и засега няма от какво да се притеснявате. Значителен редизайн обикновено е това, което в крайна сметка решава тези проблеми. Например Spectre засегна процесорите от осмо и девето поколение на Intel, но деветото поколение включи хардуерна версия на софтуерните корекции, които бяха внедрени, заедно с хита на изпълнението. Десетото поколение на Intel все още беше безопасно, но също така вече нямаше въздействие върху производителността от тези смекчаващи мерки.
В резултат на това, като се има предвид, че както Downfall, така и Zenbleed вече са коригирани в най-новите версии на съответните им процесори, потребителите нямат за какво да се притесняват. Разбира се, винаги може да има повече открити уязвимости, но в този момент вие сте в безопасност.