Ҳамла ба Intel SGX барои истихроҷи маълумоти ҳассос ё иҷро кардани код дар анклав

Муҳаққиқони Донишгоҳи Илм ва Технологияи Артиши Халқии Озодкунӣ, Донишгоҳи Миллии Сингапур ва ETH Zurich усули нави ҳамла ба анклавҳои ҷудогонаи Intel SGX (Software Guard eExtensions) таҳия карданд. Ҳамла SmashEx номида мешавад ва аз сабаби мушкилоти воридшавӣ ҳангоми коркарди ҳолатҳои истисноӣ ҳангоми кори ҷузъҳои вақти корӣ барои Intel SGX ба вуҷуд омадааст. Усули ҳамлаи пешниҳодшуда имкон медиҳад, ки агар шумо системаи оператсиониро назорат карда бошед, маълумоти махфии дар анклав ҷойгиршударо муайян кунед ё нусхабардории коди худро ба хотираи анклав ва иҷрои онро ташкил кунед.

Прототипҳои истисмор барои анклавҳо бо вақти корӣ дар асоси Intel SGX SDK (CVE-2021-0186) ва Microsoft Open Enclave (CVE-2021-33767) омода карда шудаанд. Дар ҳолати аввал, қобилияти истихроҷи калиди RSA, ки дар веб-сервер барои HTTPS истифода мешавад, нишон дода шуд ва дар дуюм, имкон пайдо шуд, ки мундариҷаи аз ҷониби утилитаи cURL дар дохили анклав ба даст овардашуда муайян карда шавад. Ин осебпазирӣ аллакай ба таври барномавӣ дар версияҳои Intel SGX SDK 2.13 ва Open Enclave 0.17.1 ҳал карда шудааст. Илова ба Intel SGX SDK ва Microsoft Open Enclave, осебпазирӣ инчунин дар Google Asylo SDK, EdgelessRT, Apache Teaclave, Rust SGX SDK, SGX-LKL, CoSMIX ва Veracruz пайдо мешавад.

Ёдовар мешавем, ки технологияи SGX (Software Guard Extensions) дар протсессори насли шашуми Intel Core (Skylake) пайдо шуда, як қатор дастурҳоро пешниҳод мекунад, ки ба барномаҳои сатҳи корбар имкон медиҳанд, ки минтақаҳои хотираи пӯшида - анклавҳоро ҷудо кунанд, ки мундариҷаи онҳоро хондан ғайриимкон аст ва ҳатто бо ядро ​​ва коде, ки дар режимҳои ring0, SMM ва VMM иҷро шудаанд, тағир дода мешавад. Интиқоли назорат ба код дар анклав бо истифода аз функсияҳои ҷаҳиши анъанавӣ ва манипуляцияҳо бо регистрҳо ва стек ғайриимкон аст - дастурҳои нави махсуси EENTER, EEXIT ва ERESUME барои интиқоли назорат ба анклав, ки санҷиши ваколатҳоро анҷом медиҳанд, истифода мешаванд. Дар ин ҳолат, рамзи дар анклав ҷойгиршуда метавонад усулҳои занги классикиро барои дастрасӣ ба функсияҳо дар дохили анклав ва дастурҳои махсус барои занги функсияҳои беруна истифода барад. Рамзгузории хотираи анклавӣ барои муҳофизат аз ҳамлаҳои сахтафзор ба монанди пайвастшавӣ ба модули DRAM истифода мешавад.

Ҳамла ба Intel SGX барои истихроҷи маълумоти ҳассос ё иҷро кардани код дар анклав

Мушкилот дар он аст, ки технологияи SGX ба системаи оператсионӣ имкон медиҳад, ки бо партофтани истиснои сахтафзор анклавро қатъ кунад ва анклавҳо примитивҳоро барои коркарди атомии чунин истисноҳо дуруст иҷро намекунанд. Баръакси ядрои системаи амалиётӣ ва барномаҳои муқаррарӣ, код дар дохили анклавҳо ба ибтидоӣ барои ташкили амалҳои атомӣ ҳангоми коркарди истисноҳои асинхронӣ партофташуда дастрасӣ надорад. Бе примитивҳои муқарраршудаи атомӣ, анклавро дар вақти дилхоҳ қатъ кардан мумкин аст ва ба иҷроиш баргардонида мешавад, ҳатто вақте ки анклав бахшҳои муҳимро иҷро мекунад ва дар ҳолати хатарнок қарор дорад (масалан, вақте ки регистрҳои CPU захира/барқарор карда намешаванд).

Ҳамла ба Intel SGX барои истихроҷи маълумоти ҳассос ё иҷро кардани код дар анклав

Барои кори муқаррарӣ, технологияи SGX имкон медиҳад, ки иҷрои анклав бо истисноҳои танзимшавандаи сахтафзор қатъ карда шавад. Ин хусусият ба муҳитҳои кории анклав имкон медиҳад, ки коркарди истиснои дохилианклавӣ ё коркарди сигналро амалӣ созанд, аммо он инчунин метавонад хатогиҳои воридшавандаро ба вуҷуд орад. Ҳамлаи SmashEx ба истифодаи камбудиҳо дар SDK асос ёфтааст, ки бинобар он вазъияти дубора даъват кардани коркардкунандаи истисно дуруст коркард карда намешавад. Муҳим аст, ки барои истифода аз осебпазирӣ, ҳамлакунанда бояд қодир бошад, ки иҷрои анклавро қатъ кунад, яъне. бояд кори мухити системаро назорат кунад.

Пас аз партофтани истисно, ҳамлакунанда равзанаи хурди вақтро мегирад, ки дар давоми он риштаи иҷроро тавассути коркарди параметрҳои воридотӣ боздошт кардан мумкин аст. Аз ҷумла, агар шумо ба система дастрасӣ дошта бошед (муҳит берун аз анклав), шумо метавонед фавран пас аз иҷрои дастури воридшавӣ ба анклав (EENTER) як истиснои нав эҷод кунед, ки назоратро ба система дар марҳилаи танзими стек барои анклав ҳанӯз ба анҷом нарасидааст, ки дар он ҳолати регистрҳои CPU низ захира карда мешавад.

Он гоҳ система метавонад идоракуниро ба анклав баргардонад, аммо азбаски стеки анклав дар вақти таваққуф танзим карда нашуда буд, анклав бо стеке, ки дар хотираи система ҷойгир аст, иҷро мешавад, ки онро метавон барои истифодаи барномасозии ба бозгашт нигаронидашуда истифода бурд (ROP). ) техникаи истисмор.. Барномасозии нигаронидашуда). Ҳангоми истифодаи техникаи ROP, ҳамлагар кӯшиш намекунад, ки рамзи худро дар хотира ҷойгир кунад, балки дар қисмҳои дастурҳои мошиние, ки аллакай дар китобхонаҳои пурбор мавҷуд аст, амал мекунад ва бо дастури бозгашти назоратӣ анҷом меёбад (чун қоида, инҳо охири функсияҳои китобхона мебошанд) . Кори истисмор аз сохтани занҷири зангҳо ба блокҳои шабеҳ («гаҷетҳо») барои ба даст овардани функсияҳои дилхоҳ вобаста аст.

Ҳамла ба Intel SGX барои истихроҷи маълумоти ҳассос ё иҷро кардани код дар анклав
Ҳамла ба Intel SGX барои истихроҷи маълумоти ҳассос ё иҷро кардани код дар анклав


Манбаъ: opennet.ru

Илова Эзоҳ