Falsificazione della richiesta lato server

La Server-Side Request Forgery (SSRF) è una grave vulnerabilità della sicurezza web che consente a un utente malintenzionato di manipolare un server per fargli effettuare richieste indesiderate. Per i team SOC è fondamentale comprendere SSRF, i suoi potenziali impatti e le strategie di mitigazione per salvaguardare le applicazioni web.
  • Secondo un rapporto di Positive Technologies, il 35% delle applicazioni web testate è risultato vulnerabile agli attacchi SSRF.
  • Le vulnerabilità SSRF sono state un fattore significativo nella violazione dei dati Capital One di alto profilo nel 2019, che ha esposto le informazioni sensibili di oltre 100 milioni di clienti.
  • Che cos'è il Server-Side Request Forgery?

    La Server-Side Request Forgery (SSRF) è una vulnerabilità in cui un utente malintenzionato può ingannare un server e fargli fare richieste non volute a risorse interne o esterne. Queste richieste vengono effettuate dal server stesso, che può disporre di maggiori privilegi e accessi rispetto a una richiesta lato client. La SSRF può essere sfruttata per ottenere l'accesso ai sistemi interni, estrarre dati sensibili o condurre ulteriori attacchi all'interno della rete dell'organizzazione.

    Come funzionano gli attacchi Server-Side Request Forgery

    Un attacco SSRF prevede in genere le seguenti fasi:

    1. Identificazione della vulnerabilità: L'attaccante identifica una funzione dell'applicazione Web che elabora gli URL forniti dall'utente o può effettuare richieste HTTP.
    2. Creazione di una richiesta dannosa: L'attaccante crea una richiesta che include un URL a una risorsa interna o sensibile.
    3. Sfruttamento della vulnerabilità: Il server elabora la richiesta dannosa ed effettua la richiesta all'URL specificato.
    4. Accesso a dati sensibili: La richiesta del server recupera i dati dai sistemi interni, che vengono poi rinviati all'aggressore, con conseguente perdita di dati o accesso non autorizzato.
    diagramma che illustra il processo di attacco SSRF

    Esempi reali di attacchi Server-Side Request Forgery

    1. Violazione dei dati di Capital One (2019): L'aggressore ha sfruttato una vulnerabilità SSRF per accedere a informazioni sensibili dai servizi di metadati AWS, con conseguente esposizione di oltre 100 milioni di record dei clienti.
    2. Vulnerabilità GitHub SSRF (2020): Una vulnerabilità nella funzione di mirroring dei repository di GitHub consentiva agli aggressori di attivare richieste interne, esponendo potenzialmente i servizi interni.

    Indicatori di attacchi di tipo Server-Side Request Forgery

    1. Modelli di traffico in uscita insoliti: Il monitoraggio di richieste inaspettate in uscita dal server verso indirizzi IP interni o domini esterni inaspettati può indicare un attacco SSRF.
    2. Registri di accesso inaspettati: I log di accesso che mostrano richieste a servizi o risorse interne che non dovrebbero essere accessibili all'esterno sono un segnale di allarme.
    3. Anomalie nelle risposte del server: Risposte che includono metadati interni o informazioni sensibili restituite all'utente.

    Differenze tra Server-Side Request Forgery (SSRF) e Cross-Site Request Forgery (CSRF)

    Server-Side Request Forgery (SSRF) e Cross-Site Request Forgery (CSRF) sono due vulnerabilità critiche della sicurezza web che possono avere gravi conseguenze se sfruttate. Sebbene entrambi i tipi di attacchi comportino la manipolazione del comportamento delle applicazioni web, essi operano in modi fondamentalmente diversi e mirano a diversi aspetti delle applicazioni web. Comprendere le differenze tra SSRF e CSRF è essenziale per i team SOC per implementare misure di sicurezza adeguate e proteggere efficacemente i propri sistemi.

    Di seguito è riportata una tabella di confronto dettagliata che evidenzia le principali differenze tra SSRF e CSRF:

    Aspetto Falsificazione delle richieste sul lato server (SSRF) Cross-Site Request Forgery (CSRF)
    Definizione SSRF è una vulnerabilità in cui un aggressore manipola un server per effettuare richieste indesiderate a risorse interne o esterne. CSRF è una vulnerabilità in cui un aggressore inganna un utente autenticato per fargli fare richieste non volute a un'applicazione web.
    Obiettivo Il server stesso, inducendolo a eseguire azioni non autorizzate per conto dell'attaccante. Il browser dell'utente, sfruttando la sessione autenticata dell'utente con un'applicazione Web.
    Vettore di attacco Manipola direttamente le richieste sul lato server, spesso attraverso input forniti dall'utente che il server elabora. Utilizza l'ingegneria sociale per indurre gli utenti a fare clic su link dannosi o a visitare siti Web dannosi che inviano richieste per loro conto.
    Impatto Può portare all'accesso non autorizzato ai servizi interni, all'esfiltrazione dei dati e a compromissioni potenzialmente gravi della rete interna. Può comportare azioni non autorizzate, come la modifica delle impostazioni dell'utente, l'esecuzione di transazioni o la pubblicazione di contenuti senza il consenso dell'utente.
    Indicatori comuni Modelli insoliti di traffico in uscita, registri di accesso inaspettati alle risorse interne e anomalie nelle risposte dei server. Modifiche inaspettate alle impostazioni dell'account utente, transazioni finanziarie inspiegabili e registri di attività anomale.
    Strategie di prevenzione
    • Convalidare e sanificare l'input dell'utente
    • Limitare le richieste in uscita
    • Segmentazione della rete
    • Utilizzare le intestazioni di sicurezza
    • Audit di sicurezza regolari
    • Utilizzare token anti-CSRF
    • Attributo cookie SameSite
    • Riautenticazione per le azioni sensibili
    • Educare gli utenti sui link sospetti
    • Test di sicurezza regolari

    Strategie di prevenzione efficaci

    1. Convalida e sanificazione dell'input:

    • Convalidare e sanificare tutti gli input dell'utente, assicurando che siano consentiti solo gli URL e i domini consentiti.
    • Implementare una whitelist rigorosa degli URL che il server può richiedere, per evitare destinazioni indesiderate.

    2. Segmentazione e isolamento della rete:

    • Segmentare la rete per garantire che i server Web non possano accedere direttamente ai servizi interni senza passare attraverso gli opportuni controlli di sicurezza.
    • Utilizzate i firewall e le liste di controllo degli accessi (ACL) per limitare l'accesso dei server alle risorse interne sensibili.

    3. Uso di intestazioni e protocolli di sicurezza:

    • Implementare intestazioni di sicurezza come i criteri di sicurezza dei contenuti (CSP) per limitare le risorse che possono essere caricate o richieste dall'applicazione.
    • Applicare il protocollo HTTPS per garantire la comunicazione crittografata tra il server e le risorse esterne, riducendo il rischio di intercettazione dei dati.

    4. Monitoraggio e registrazione:

    • Monitorare costantemente il traffico in uscita e registrare tutte le richieste lato server, in particolare quelle verso indirizzi IP interni o domini inaspettati.
    • Utilizzare sistemi di rilevamento delle anomalie per identificare modelli di richiesta insoliti che potrebbero indicare un tentativo di SSRF.

    5. Audit di sicurezza e test di penetrazione regolari:

    • Condurre regolarmente audit di sicurezza e test di penetrazione per identificare e risolvere le vulnerabilità dell'SSRF.
    • Utilizzare strumenti automatizzati come OWASP ZAP, Burp Suite e scanner specifici per SSRF per rilevare potenziali debolezze di SSRF.

    6. Principio del minor privilegio:

    • Applicare il principio del minimo privilegio, assicurando che l'applicazione web abbia le autorizzazioni minime necessarie per svolgere le sue funzioni.
    • Limitare le capacità del server per effettuare richieste esterne solo quando è assolutamente necessario.

    Garantire la sicurezza delle applicazioni web contro gli attacchi SSRF è fondamentale per mantenere l'integrità dei dati e proteggere le informazioni sensibili. Se siete preoccupati per le vulnerabilità SSRF nelle vostre applicazioni, il nostro team di Vectra AI può aiutarvi. Richiedete un tour gratuito della piattaforma Vectra AI per scoprire come possiamo aiutarvi a rafforzare le vostre difese contro SSRF e altre minacce informatiche.

    DOMANDE FREQUENTI

    Che cos'è la Server-Side Request Forgery (SSRF)?

    Quali sono gli indicatori comuni di un attacco SSRF?

    Come si può prevenire la SSRF?

    In che modo la convalida dell'input aiuta a prevenire l'SSRF?

    In che modo le intestazioni di sicurezza possono contribuire a mitigare la SSRF?

    Come funziona un attacco SSRF?

    Quali sono alcuni esempi di attacchi SSRF?

    Qual è l'impatto di una vulnerabilità SSRF?

    Che ruolo ha la segmentazione della rete nella mitigazione della SSRF?

    Quali strumenti possono essere utilizzati per rilevare le vulnerabilità SSRF?