Kolu lori Intel SGX lati jade data ifura tabi ṣiṣẹ koodu ni enclave

Awọn oniwadi lati Imọ-jinlẹ Aabo Army Liberation Army ati Imọ-ẹrọ, Ile-ẹkọ giga ti Orilẹ-ede Singapore ati ETH Zurich ti ṣe agbekalẹ ọna tuntun ti ikọlu awọn enclaves ti o ya sọtọ Intel SGX (EXtensions Guard Software). Ikọlu naa ni a pe ni SmashEx ati pe o ṣẹlẹ nipasẹ awọn iṣoro pẹlu isọdọtun nigba mimu awọn ipo imukuro mu lakoko iṣẹ ti awọn paati asiko-akoko fun Intel SGX. Ọna ikọlu ti a dabaa jẹ ki o ṣee ṣe, ti iṣakoso ba wa lori ẹrọ ṣiṣe, lati pinnu data asiri ti o wa ninu enclave, tabi lati ṣeto didaakọ koodu ọkan sinu iranti enclave ati ipaniyan rẹ.

Awọn apẹẹrẹ lo nilokulo ti pese sile fun awọn enclaves pẹlu asiko asiko ti o da lori Intel SGX SDK (CVE-2021-0186) ati Microsoft Open Enclave (CVE-2021-33767). Ni ọran akọkọ, agbara lati jade bọtini RSA kan ti a lo lori olupin wẹẹbu fun HTTPS jẹ afihan, ati ni ẹẹkeji, o ṣee ṣe lati pinnu akoonu ti o gba nipasẹ ohun elo cURL ti n ṣiṣẹ ni inu enclave. Ailagbara naa ti ni idojukọ tẹlẹ ni eto ni awọn idasilẹ ti Intel SGX SDK 2.13 ati Open Enclave 0.17.1. Ni afikun si Intel SGX SDK ati Microsoft Open Enclave, ailagbara tun han ni Google Asylo SDK, EdgelessRT, Apache Teaclave, Rust SGX SDK, SGX-LKL, CoSMIX ati Veracruz.

Jẹ ki a ranti pe imọ-ẹrọ SGX (Software Guard Extensions) han ni iran kẹfa Intel Core to nse (Skylake) ati pe o funni ni lẹsẹsẹ awọn ilana ti o gba awọn ohun elo ipele-olumulo lati pin awọn agbegbe iranti pipade - awọn enclaves, awọn akoonu ti eyiti ko le ka ati ti a yipada paapaa nipasẹ ekuro ati koodu ti a ṣe ni ring0, SMM ati awọn ipo VMM. Ko ṣee ṣe lati gbe iṣakoso si koodu ti o wa ninu enclave nipa lilo awọn iṣẹ fo ibile ati awọn ifọwọyi pẹlu awọn iforukọsilẹ ati akopọ - pataki ti a ṣẹda awọn ilana tuntun EENTER, EEXIT ati ERESUME ni a lo lati gbe iṣakoso si enclave, eyiti o ṣe awọn sọwedowo aṣẹ. Ni idi eyi, koodu ti a gbe sinu enclave le lo awọn ọna pipe ti kilasika lati wọle si awọn iṣẹ inu enclave ati awọn itọnisọna pataki lati pe awọn iṣẹ ita. Ti lo fifi ẹnọ kọ nkan iranti Enclave lati daabobo lodi si awọn ikọlu ohun elo bii sisopọ si module DRAM kan.

Kolu lori Intel SGX lati jade data ifura tabi ṣiṣẹ koodu ni enclave

Iṣoro naa ni pe imọ-ẹrọ SGX ngbanilaaye ẹrọ ṣiṣe lati yọkuro enclave kan nipa jiju imukuro ohun elo kan, ati pe awọn enclaves ko ṣe imuse awọn ipilẹṣẹ daradara fun mimu atomiki iru awọn imukuro. Ko dabi ekuro ẹrọ iṣẹ ati awọn ohun elo deede, koodu inu awọn enclaves ko ni iwọle si awọn alakoko fun siseto awọn iṣe atomiki nigba mimu awọn imukuro danu asynchronously. Laisi awọn ipilẹṣẹ atomiki ti a ti sọ tẹlẹ, enclave le ni idilọwọ nigbakugba ati pada si ipaniyan, paapaa nigba ti enclave n ṣiṣẹ awọn apakan to ṣe pataki ati pe o wa ni ipo ailewu (fun apẹẹrẹ, nigbati awọn iforukọsilẹ Sipiyu ko ni fipamọ / mu pada).

Kolu lori Intel SGX lati jade data ifura tabi ṣiṣẹ koodu ni enclave

Fun iṣẹ ṣiṣe deede, imọ-ẹrọ SGX ngbanilaaye ipaniyan ti enclave lati ni idilọwọ nipasẹ awọn imukuro ohun elo atunto. Ẹya ara ẹrọ yii ngbanilaaye awọn agbegbe asiko asiko enclave lati ṣe imudani imukuro intra-enclave tabi sisẹ ifihan agbara, ṣugbọn o tun le fa awọn aṣiṣe atunwọle. Ikọlu SmashEx da lori ilokulo awọn abawọn ninu SDK nitori eyiti ipo ti tun-pipe oluṣakoso imukuro ko ni itọju daradara. O ṣe pataki pe lati lo ailagbara naa, ikọlu gbọdọ ni anfani lati da gbigbi ipaniyan ti enclave, i.e. gbọdọ šakoso awọn isẹ ti awọn eto ayika.

Lẹhin jiju imukuro, ikọlu naa gba window akoko kekere lakoko eyiti o tẹle okun ipaniyan le ṣe idiwọ nipasẹ ifọwọyi ti awọn aye titẹ sii. Ni pataki, ti o ba ni iwọle si eto naa (agbegbe ni ita ita), o le ṣẹda imukuro tuntun lẹsẹkẹsẹ lẹhin ṣiṣe ilana iwọle enclave (EENTER), eyiti yoo da iṣakoso pada si eto ni ipele kan nigbati akopọ akopọ fun enclave ko tii ti pari, ninu eyiti ipo ti awọn iforukọsilẹ Sipiyu tun ti fipamọ.

Eto naa le tun pada iṣakoso pada si enclave, ṣugbọn niwọn igba ti akopọ enclave ko ni tunto ni akoko idalọwọduro, enclave yoo ṣiṣẹ pẹlu akopọ ti o ngbe ni iranti eto, eyiti o le ṣee lo lati lo siseto-ipadabọ (ROP). ) imuposi ilokulo.Oriented Programming). Nigbati o ba nlo ilana ROP, ikọlu ko gbiyanju lati gbe koodu rẹ si iranti, ṣugbọn o ṣiṣẹ lori awọn ege ilana ẹrọ ti o wa tẹlẹ ninu awọn ile-ikawe ti kojọpọ, ti o pari pẹlu itọsọna ipadabọ iṣakoso (gẹgẹbi ofin, iwọnyi ni awọn ipari ti awọn iṣẹ ikawe) . Iṣẹ ti ilokulo wa ni isalẹ lati kọ pq awọn ipe si awọn bulọọki ti o jọra (“awọn ohun elo”) lati gba iṣẹ ṣiṣe ti o fẹ.

Kolu lori Intel SGX lati jade data ifura tabi ṣiṣẹ koodu ni enclave
Kolu lori Intel SGX lati jade data ifura tabi ṣiṣẹ koodu ni enclave


orisun: opennet.ru

Fi ọrọìwòye kun