Intel публикува информация за нов клас уязвимости в своите процесори,

...
Intel публикува информация за нов клас уязвимости в своите процесори,
Коментари Харесай

Нов клас хардуерни уязвимости в процесорите на Intel

Intel разгласява информация за нов клас уязвимости в своите процесори, който получи името MDS (Microarchitectural Data Sampling) . Както и хардуерните уязвимости Spectre, новите проблеми могат да доведат до приключване на най-чувствителна информация от операционната система, виртуалните машини и непознатите процеси. Под опасност са паролите, данните за онлайн банкирането и така нататък MDS уязвимостите са открити от експертите и сътрудниците на Intel по време на вътрешен одит. През месец юни и август предходната година самостоятелни специалисти са подали информация за вероятни проблеми, след което съвсем цяла година взаимно с производителите и разработчиците на операционни системи са основани пачове и са избрани главните вектори за офанзива.

Официално, в процесорите на AMD и ARM тази накърнимост не съществува.

След деликатно проучване на новия клас уязвимости специалистите от Грацкия механически университет (Австрия) показаха няколко на практика офанзиви от външни канали.
Видовете офанзиви ZombieLoad (PDF, прототипи на експлойтите за Linux и Windows), Дава опция за добиване на конфиденциална информация от непознатите процеси, от операционната система, виртуалните машини и предпазените анклави (TEE, Trusted Execution Environment). Демонстрирана е опцията за установяване историята на отваряните страници в Tor browser, даже и да е стартиран във виртуална машина . Възможно е разкриването на паролите и ключовете за достъп при другите приложенияhttps://zombieloadattack.com/public/videos/demo_720.mp4 RIDL (PDF, код за проверка) – разрешава организирането на приключване на информация сред другите изолирани области в процесорите на Intel, като да вземем за пример буферите за предпазване на информация и портовете на зареждане. Демонстрирани са образци за осъществяване на офанзиви, като един от тях прочита хеша на root паролата от /etc/shadow. Тази офанзива се реализира за към 24 часа.


Освен това, показан е образец за реализиране на офанзива с потреблението на JavaScript и WebAssembly при отварянето на вредоносна страница в енджина SpiderMonkey (в актуалните пълноценни браузъри тази офанзива е малко евентуална, заради лимитираната акуратност на таймера за предотвратяване от Spectre). Представителите на плана Chromium смятат, че прибавянето на спомагателна отбрана в браузъра не е належащо и са задоволителни пачовете на равнище операционна система


Fallout (PDF) – дава опция за четене на данните, наскоро записани от операционната система и за установяване на разпределянето на паметта на Оценка за съвместимост за провеждането на други офанзиви Store-To-Leak Forwarding – употребява оптимизацията на процесора за работа с вътрешния буфер и може да се употребява за заобикаляне на механизма за инцидентното разпределение на адресното пространство на ядрото (KASLR). Може да се комбинира със SpectreMDS уязвимостите са класифицирани по следния метод:CVE-2018-12126 – MSBDS (Microarchitectural Store Buffer Data Sampling), възобновяване на информацията от вътрешните буфери. Използва се в офанзивата Fallout. Степен на заплаха 6,5 точки (CVSS)CVE-2018-12127 – MLPDS (Microarchitectural Load Port Data Sampling), възобновяване на наличието на портовете. Използва се в RIDL офанзивата, CVSS 6.5 точкиCVE-2018-12130 – MFBDS (Microarchitectural Fill Buffer Data Sampling) – употребява се в офанзивите ZombieLoad и RIDL. Степен на заплаха CVSS 6.5CVE-2019-11091 – MDSUM (Microarchitectural Data Sampling Uncacheable Memory), възобновяване информацията от паметта, която не е кеширана. Използва се в RIDL офанзивата. CVSS 3.8Начин на работа на MDS
Същността на новооткритите проблеми е опцията за потреблението на аналитични способи от външни канали за достъп до данните в самата конструкция на процесорната архитектура, до която приложенията нямат директен достъп. Това са структури от напълно ниско равнище, като буфера на запълване на реда (Line Fill Buffer), междинните буфери за данни (Store Buffer) и зареждащите портове (Load Port), които са доста по-малки съставни блокове спрямо кеша от първо равнище.



Атаките с потреблението на тези уязвимости са доста по-сложни за осъществяване спрямо до момента известните хардуерни уязвимости. Налага се следенето на забележителен размер данни, с цел да се натрупа статистиката, даваща опция за възобновяване на сензитивната информация. От друга страна, офанзивите от този тип засягат данните на същото физическо процесорно ядро, на което работи кода на атакуващия.

Предложените способи за достъп до информацията непосредствено от процесорните архитектурни структури се базира на това, че и структури се употребяват при спекулативната обработка на изключенията (fault), както и интервенциите load и store. При спекулативното осъществяване на процесорните команди информацията от вътрешните структури – регистри и портове се дава за обработка в регистрите или кеша. Но когато спекулативните команди не завършват, резултатът се отхвърля, само че остава и информацията може да бъде избрана.



Зареждащите портове се употребяват при приемането на данни от паметта или входно изходната система на чипа, с цел да се зареди тази информация в регистрите на процесора. Intel е осъществил процеса по подобен метод, че данните остават в портовете и не се трансформират до първото презаписване и могат да бъдат прочетени посредством операция с изключенията и инструкциите SSE/AVX/AVX-512, зареждащи над 64 бита данни.
Кои са засегнатите
Проблемът визира процесорите на Intel, създадени след 2011 година, започвайки от 6-тото потомство. При това, този вид уязвимости хардуерно се блокира, започвайки от някои модели 8-мо и 9-то потомство Intel Core и 2-рото потомство Intel Xeon Scalable (проверката може да стане посредством флага ARCH_CAP_MDS_NO в IA32_ARCH_CAPABILITIES MSR). Уязвимостите са блокирани на равнище фърмуер, микрокод и операционни системи. Редица производители на сървъри към този момент предложиха възобновяване на фърмуера (например Lenovo).
Производителност
Според Intel, намаляването на продуктивността с инсталирането на пачовете за множеството консуматори не надвишава 3%. При изключена Hyper-Threading технология и конфигуриран MDS пач, понижаването на продуктивността доближава 9% в SPECint_rate_base теста, до 11% при дейни целочислени калкулации и до 19% в работата на сървърните Java приложения. Пачовете на процедура не оказват въздействие на входно изходните интервенции. Но в macOS продуктивността на многопоточните приложения пада с 40% при изключен hyper-threading режим.
Обновяванията
В Linux ядрото, отбраната от MDS уязвимостите бе добавена в днешните обновявания 5.1.2, 5.0.16, 4.19.43, 4.14.119 и 4.9.176. Защитата се реализира посредством изчистване на междинните архитектурни буфери посредством инструкцията VERW. Но за работата на тази отбрана е нужна поддръжката на режима MD_CLEAR, който бе осъществен в днешното възобновяване на микрокода. За цялостна отбрана се предлага изключването на Hyper Threading. В Linux е добавена опция за избор на разнообразни режими за отбрана от MDS. За Linux ядрото е прибавен параметъра „mds=“, който може да има смисли „full“, „full, nosmt“ (изключен Hyper-Threads), „vmwerv“ и „off“.

Вече излязоха обновявания за Linux дистрибуциите RHEL и Ubuntu, само че към този момент няма пачове за Debian, Fedora и SUSE. Блокирането на приключването на данните от виртуалните машини е осъществено за хипервайзора Xen и за VMware. Излязоха обновявания и за NetBSD, FreeBSD, ChromeOS, Windows и macOS. Все още няма пачове за OpenBSD.
Източник: kaldata.com

СПОДЕЛИ СТАТИЯТА


Промоции

КОМЕНТАРИ
НАПИШИ КОМЕНТАР