Mai sentito parlare delle vulnerabilità del compilatore durante la compilazione?

5

Esiste un vero codice sorgente che sfrutta una vulnerabilità del compilatore? Intendo il codice che durante la compilazione causa un overflow del buffer nel compilatore con conseguente esecuzione di codice arbitrario.

Quando qualcuno cerca di compilare quel codice sorgente usando una particolare versione del compilatore, la compilazione risulta in qualche exploit che infetta il computer di destinazione.

Non sto cercando esempi di giocattoli o solo documenti di ricerca, ma in realtà per qualcosa di documentato che ha colpito almeno alcune macchine con un vero carico utile.

So teoricamente che questo è possibile, ma sono curioso che questo sia mai stato un vero problema per qualcuno.

    
posta GameDeveloper 20.10.2015 - 14:21
fonte

1 risposta

2

Sì, dai un'occhiata al registro delle modifiche di gcc, llvm, ecc., anche se gli esempi pratici sono rari. IIRC Ho visto almeno due pratici PoC uno era per Java e l'altro un compilatore C. Se estendi il concetto di una compilation per includere jit puoi trovare molti altri eaxmples in javascript, ruby ( collegamento ) o il motore php ( link ) per menzionarne alcuni.

C'è anche un problema di compilatori che introducono vulnerabilità nel binario compilato che potrebbero non esistere nel codice sorgente attraverso l'ottimizzazione. Il primo esempio che viene in mente è questo exploit del kernel linux di qualche anno fa: link in cui l'ottimizzazione del compilatore ha rimosso un controllo che avrebbe evitato la vulnerabilità in primo luogo.

CERT copre alcuni vari esempi di codice che potrebbero essere ottimizzati per essere insicuri a: link

    
risposta data 28.10.2015 - 22:51
fonte

Leggi altre domande sui tag