Alcune delle più recenti vulnerabilità di Intel Management Engine sono elencate come vulnerabilità locali, consentendo al codice in esecuzione sul sistema di elevare i suoi privilegi al contesto ME. Uno di questi ( CVE-2017-5708 ) afferma che consente a un processo non autorizzato di accedere al contenuto privilegiato tramite un vettore non specificato. Questo non dà alcun suggerimento su ciò che è necessario per sfruttarlo. Sono particolarmente curioso riguardo all'escalation dei privilegi o alle vulnerabilità di fuga di informazioni.
In base alle mie conoscenze, su un sistema che esegue ME, supponendo che AMT sia privo di provisioning, lo spazio utente può interagire con ME tramite HECI. Ciò richiede istruzioni privilegiate, quindi può essere fatto solo dal kernel (o root tramite il kernel). Qualcuna di queste vulnerabilità può essere sfruttata interamente in userspace, utilizzando solo istruzioni non privilegiate? Questo è ciò che fa la differenza tra questo essere veramente cattivo, ma esagerato, e questo è un disastro su vasta scala.
Il punteggio vettoriale CVSSv3 dice che CVE-2017-5708 richiede "privilegi bassi" (PR: L), ma non fornisce ulteriori dettagli (mentre un Cisco advisory afferma che l'attacco richiede l'accesso a un utente privilegiato). Lo stesso vale per CVE-2017-5710, ma quello è un exploit contro Intel TXT, che, per quanto ne so, aggiunge solo istruzioni privilegiate.
Un processo a basso privilegio in esecuzione come utente isolato può sfruttare una di queste vulnerabilità per ottenere privilegi più elevati o leggere informazioni preziose, non assumendo vulnerabilità nel kernel e supponendo che i driver MEI e TEXI non siano presenti? Alcune fonti come Il registro sembrano dire esplicitamente che un processo altamente privilegiato può sfruttare queste vulnerabilità , ma non spiegano da dove hanno preso quell'informazione. Secondo il documento delle specifiche del CSSv3, PR: L è designato per gli attacchi che richiedono solo i privilegi dell'utente di base, mentre PR: H richiede privilegi "significativi", come i privilegi amministrativi. Questo sembra che l'attacco funzioni come un utente normale, nell'anello 3, ma è in conflitto con le altre fonti di cui sopra (così come la mia comprensione limitata dei metodi di comunicazione con la ME).
Secondo una delle persone che ha scoperto una di queste vulnerabilità, il vettore si trova " da qualche parte tra "accesso a /dev/mei0
e accesso tramite un programmatore flash. Non sono sicuro che implichi semplicemente che il vettore è diverso, o se richiede più privilegi rispetto all'accesso al dispositivo di carattere, ma inferiore a quello fornito dall'accesso fisico e da un programmatore flash. Una discussione su IRC ha rivelato che la vulnerabilità originale potrebbe essere correlata a una configurazione errata del bridge P2SB PCI su chipset Intel Series 100 (lo Skylake PCH), ma le implicazioni specifiche sembrano ambigue (per non parlare, cioè per la sola vulnerabilità divulgata, quella da discutere al prossimo talk di BHEU, nessuno degli altri scoperti dall'audit interno di Intel).
Un utente non privilegiato di ring 3 può sfruttare una di queste vulnerabilità?