Gli sviluppatori di OpenSSH hanno continuato a suddividere sshd in diversi file eseguibili separati. Nella prima fase di separazione, realizzata a maggio, le funzioni relative alla gestione delle sessioni sono state trasferite in un processo separato, sshd-session, mentre a sshd è stata lasciata solo la funzionalità necessaria per ricevere nuove connessioni di rete e avviare sshd-session per ogni nuova sessione. Ieri, è stata apportata una modifica al codice sorgente di OpenSSH che aggiunge un ulteriore processo — sshd-auth, nel quale è stato trasferito da sshd-session il codice che esegue l'autenticazione.
Il processo sshd-auth viene avviato da sshd-session e consente di isolare ulteriormente i dati relativi all'autenticazione nello spazio di indirizzamento di un processo separato, in modo da non consentire l'accesso a tali dati in memoria in caso di attacchi al codice utilizzato per gestire le fasi di connessione fino al completamento dell'autenticazione. Inoltre, la modifica ridurrà leggermente il consumo di memoria, poiché il codice relativo all'autenticazione ora è presente in memoria solo durante il processo di autenticazione e viene quindi scaricato al termine del processo sshd-auth.
Analogamente a sshd, ssh-session e ssh-agent, per il processo sshd-auth è stata applicata l'operazione di randomizzazione del file eseguibile durante ogni avvio del sistema operativo. La randomizzazione rende gli spostamenti delle funzioni nei file eseguibili e nelle librerie poco prevedibili, il che rende più difficile la creazione di exploit che utilizzano tecniche di programmazione orientata al ritorno (ROP — Return-Oriented Programming). Quando si usa la tecnica ROP, l'attaccante non cerca di posizionare il proprio codice in memoria, ma manovra pezzi già esistenti di istruzioni di macchina, che terminano con un'istruzione di ritorno di controllo (solitamente si tratta di terminazioni di funzioni). Il funzionamento dell'exploit consiste nel costruire una catena di chiamate a tali blocchi ("gadgets") per ottenere la funzionalità desiderata.
Fonte: opennet.ru
