Sicurezza serverless: la superficie che resta
Niente server da patchare non significa niente rischi: injection nell'evento, ruoli troppo larghi, dipendenze vulnerabili e segreti nelle variabili.
|
menù principale
menù utente
argomenti
|
ultimi postSicurezza serverless: la superficie che restaNiente server da patchare non significa niente rischi: injection nell'evento, ruoli troppo larghi, dipendenze vulnerabili e segreti nelle variabili. IaC e segreti: lo state di Terraform in chiaroIl file di state di Terraform contiene spesso segreti in chiaro. Committarlo o metterlo in un bucket aperto è un data breach. Kubernetes secrets: base64 non è cifraturaI Secret di Kubernetes sono solo codificati in base64 e, di default, salvati in chiaro in etcd. Chi legge etcd legge tutto. Managed identity: abusare delle credenziali dell'istanzaVM e servizi cloud ottengono token automaticamente dall'endpoint di identità. Un RCE o un SSRF su quella risorsa eredita i suoi ruoli. IMDSv1 vs IMDSv2: perché il metadata endpoint è cambiatoIMDSv1 rispondeva a qualsiasi richiesta, quindi un SSRF rubava le credenziali. IMDSv2 richiede un token, chiudendo l'abuso banale. HTTP request smuggling: disaccordo su dove finisce la richiestaFront-end e back-end interpretano diversamente Content-Length e Transfer-Encoding. Nel divario si contrabbanda una richiesta nascosta. Web cache poisoning: avvelenare ciò che viene servito a tuttiUn input non incluso nella chiave di cache ma riflesso nella risposta permette di salvare una versione malevola servita agli altri utenti. Subdomain takeover: il CNAME che punta al nullaUn sottodominio che punta a un servizio dismesso può essere reclamato dall'attaccante, che serve contenuti sul tuo dominio. Abuso di GraphQL: introspection, batching, profonditàLa flessibilità di GraphQL è anche la sua superficie: schema esposto, query annidate per DoS, e autorizzazione spesso mancante per campo. Upload di file: dalla foto profilo alla webshellUn upload che non valida tipo, estensione e posizione può ricevere uno script eseguibile e servirlo: esecuzione di codice remoto. Prototype pollution: avvelenare Object.prototypeIn JavaScript, scrivere su __proto__ da input non fidato aggiunge proprietà a tutti gli oggetti, alterando la logica fino all'RCE. CORS mal configurato: fidarsi dell'Origin sbagliatoRiflettere l'header Origin con le credenziali abilitate permette a qualsiasi sito di leggere risposte autenticate della vittima. |
ultimi post
il tuo indirizzo IP:
216.73.216.108
visitatore #1
MOTD:
Ogni astrazione perde da qualche parte. Qui guardiamo dove. |