Най-новата атака на Spectre, наречена SgxSpectre, може да изложи на риск чувствителни данни, съхранявани в анклави SGX
Неизправност на процесора Spectre-Meltdown[1] открити в началото на 2018 г. представляват по-голямо предизвикателство, отколкото се очакваше от Microsoft, Intel и други технологични гиганти. Не само успя да се разшири от чиповете на Intel и AMD до чиповете Skylake, Kaby Lake, Coffee Lake; позволява на хакерите да инициират множество кампании за разпространение на зловреден софтуер[2] и софтуерни атаки.
В началото на март 2018 г. група от шест ИТ изследователи от Щатския университет в Охайо откриха нов вариант на атака на Spectre, наречен SgxSpectre, който може да се използва за разбиване на анклавите на Intel Software Guard Extensions (SGX), които са отговорни за изолирането на чувствителни компоненти. Всъщност данните, пазени от тези анклави, вероятно са най-чувствителни от всички, тъй като на компонентите на операционната система не е позволено да взаимодействат със защитените от анклава данни.
Каролайн Трипел и Даниел Лустиг, изследователи от Принстънския университет, и Маргарет Мартоноси от Nvidia предвидиха възможността за подобни атаки и очертаха сценария в научна работа Наречен „MeltdownPrime и SpectrePrime: Експлоатиране на автоматично синтезирани атаки. Протоколи за съгласуваност, базирани на невалидност."[3] Това са най-новите уязвимости Meltdown и Spectre, които могат да доведат до атакуване на чувствителни данни.
Предишните уязвимости Meltdown и Spectre нямаха достъп до чувствителни данни, защитени от SGX
Software Guard Extensions (SGX) на Intel е сравнително нова функция, която се предлага в съвременните процесори на Intel. Позволява създаване на т. нар. анклави за софтуерна защита, която се занимава с изключително чувствителни данни и информация за кодиране.
Последиците от предишните атаки Spectre и Meltdown върху SGX не бяха ясни. Независимо от това, имунитетът на анклавите SGX повдигна много въпроси от самото начало. Оказа се, че нито една от тези уязвимости не проявява черти, позволяващи да се разбие SGX защитата, но очевидно хакерите се насочват към данните в анклавите. Ето защо SgxSpectre еволюира.
Според изследователите на уязвимостта на SgxSpectre,[4] уязвимостта позволява експлоатацията на „състоянието на състезанието между инжектираните, спекулативно изпълнени препратки към паметта, които водят до наблюдавани следи от кеша в страничния канал, и латентността на разделителната способност на клона.“ В момента уязвимостта може да засегне Intel SGX, SDK, Rust-SGX и Graphene-SDX.
Системата може да бъде засегната, когато е активиран специфичен кодов модел в софтуерните библиотеки. Нападателят, който се насочва към информацията, съхранявана в анклавите, използва спекулативно изпълнение и извършва прогнозиране на кода на анклава, като търси малки вариации на размера на кеша. Както обясняват изследователите,
Единиците за прогнозиране на разклонения, използвани в режима на анклав за прогнозиране на целите на клон, не се почистват напълно при влизане в анклава. Следователно, код извън целевия анклав (или работещ в незащитения регион на паметта, или в друг анклав) може да манипулира целите на прогнозата за разклонение вътре в целевия анклав.
Intel пусна инструмент за сканиране на уязвимости
Цялата процедура може да изглежда трудна за хора, които не са заплетени в ИТ света. Накратко, с помощта на уязвимостите Meltdown и Spectre, хакерите намериха начин да се възползват от слабостите на SDX кодовите шаблони. Тези уязвимости впоследствие позволяват на хакерите да променят библиотеките по време на изпълнение на SDK и да атакуват всяка система, разработена с официалния SGX SDK на Intel.
Intel и Microsoft реагираха незабавно на откритата уязвимост Meltdown и Spectre и започнаха да пускат пачове. За съжаление, не всички от тях работят, така че е задължително да следите новините за тази уязвимост.
Ограничената спекулация с косвени клонове (IBRS) е една от корекциите, представени от Intel. Той адресира Spectre Variant с предоставянето на адаптиран микрокод. Тази корекция обаче не е ориентирана към уязвимостта на SGX SDK.
Крайният срок за пускане на патча SgxSpectre е 16 март 2018 г. Разработчиците на приложения ще трябва да променят по-старата версия на SDK с тази, която Intel ще пусне в базираните на SGX приложения.
Тези, които искат да проверят дали техните компютри съдържат уязвими кодове, специалистите създадоха инструмент за сканиране на уязвимости,[5] който проверява анклавните програми и проверява кодов модел. В случай, че бъдат открити експлойти на SgxPectre, потребителят ще бъде предупреден и призован да инсталира инструментариума, разработен от Intel, заедно с остарял инструментариум за разработка на софтуер за доставчици на SGX приложения.