Per anni Intel ha lavorato su patch per Linux per supportare la loro Control-Flow Enforcement Technology (CET) con il tracciamento delle diramazioni indirette e il supporto di Shadow Stack. È in lavorazione da anni e attraverso molte revisioni mentre ora stanno perseguendo una nuova strada e si stanno concentrando solo sulla funzionalità dello spazio utente di Shadow Stack.
La funzionalità dello stack ombra è focalizzata sulla difesa dagli attacchi di programmazione orientata al ritorno (ROP). Lo Shadow Stack conserva una copia di ogni CALL e al momento della restituzione (RET) controllerà l’indirizzo di ritorno memorizzato nello stack normale per verificare che corrisponda al contenuto dello Shadow Stack, altrimenti genererà un errore.
Il supporto per Intel Shadow Stack è tornato in funzione per Linux.
Intel ha supportato il CET tornando ai sistemi Tiger Lake con Indirect Branch Tracking come parte di questo anche per combattere gli attacchi JOP/COP. Sebbene siano state elaborate patch per IBT Linux, andando avanti Intel si sta concentrando solo sul supporto dello spazio utente di Shadow Stack per essere aggiornato per il kernel Linux principale. Questo è il piano almeno per il breve termine con le patch IBT che ora passano in secondo piano.
Rick Edgecombe di Intel ha notato una nuova serie di patch domenica:
Questo è un leggero riavvio della serie CET dello spazio utente. Prenderò il controllo della serie da Yu-cheng. Secondo alcuni consigli interni, ho reimpostato il numero di versione e lo chiamo una nuova serie. Si spera che non crei confusione.
Il nuovo piano prevede di eseguire l’upstream solo del supporto per lo spazio utente Shadow Stack a questo punto. L’IBT può seguire in seguito, ma per ora mi concentrerò esclusivamente sulla parte più richiesta e ampiamente disponibile (con la funzionalità sulle CPU AMD ora) della CET.
Quindi ora ci siamo su il set di 35 patch proposto per gli stack ombra per spazio utente. Non solo questo si concentra sul miglioramento della sicurezza con i moderni processori x86_64, ma Google sta anche valutando l’utilizzo degli stack shadow per migliorare la traccia con prestazioni e affidabilità migliori.
Con la nuova serie di patch c’è una nuova chiamata di sistema per l’allocazione dello stack ombra, modifiche per garantire che i file binari più vecchi non si rompano e altro ancora. Mentre gli ultimi processori AMD Ryzen serie 5000 possono supportare anche gli shadow stack, le patch attuali sono specificamente limitate alle CPU Intel. Il piano è di consentire il supporto della CPU AMD per gli stack shadow nello spazio utente una volta che qualcuno lo avrà testato, si spera che ciò accada prima che le patch vengano unite.
Vedremo se questa nuova serie Shadow Stacks for User-Space verrà ripresa più rapidamente rispetto alla precedente serie di patch CET in stallo.