Quali sono i potenziali problemi di sicurezza che eseguono codice non affidabile in un contenitore Docker come utente non root?

8

Ho visto un sacco di inchiostro rovesciato ormai su come Docker non è sufficientemente isolato per consentire l'esecuzione di contenitori arbitrari in un ambiente multi-tenant, e questo ha senso. "Se è root in Docker, consideralo root nel computer host." Per quanto riguarda non-root però?

Se voglio prendere del codice non affidabile ed eseguirlo in un contenitore, può essere fatto in sicurezza fino a quando il contenitore è in esecuzione come utente non sudo non root? Quali sono le potenziali insidie della sicurezza nel fare qualcosa del genere?

Sono abbastanza sicuro che oggi ci siano applicazioni di produzione che fanno questo (sistemi CI, runner eseguibili), ma sono semplicemente fortunati a non aver avuto un aggressore determinato o è una cosa ragionevole da fare in un sistema di produzione?

    
posta Michael Bleigh 27.08.2015 - 22:25
fonte

1 risposta

3

La tecnologia Docker e LXC stessa è ancora in fase iniziale quando si tratta di test di sfruttamento. drewbenn ha ragione nel mettere in evidenza le difficoltà di eseguire i contenitori Docker come utente non root - ci sono intrinsecamente cose di livello molto basso che devono accadere per avviare un container LXC.

Qualcosa di interessante da considerare anche se è il bersaglio designato per qualsiasi malware che stai cercando di isolare nel contenitore.

Supponiamo che il malware stia tentando di sfruttare un difetto in un software locale per compiere un'escalation di privilegi. Potrebbe realizzarlo all'interno del contenitore, ma poi dovrebbe anche essere stato scritto specificamente per tentare di rompere i contenitori docker per fare qualcosa di malvagio.

Quindi la domanda è: le persone che stanno scrivendo questo codice non affidabile sapranno che lo farai all'interno di un container? Se lo fanno (o se sospettano che lo farai) c'è una probabilità molto più alta di una vulnerabilità che si trasforma sfruttando direttamente un ambiente dockerizzato.

    
risposta data 28.08.2015 - 06:01
fonte

Leggi altre domande sui tag