Proteggere un sito web da attacchi esterni - MIME SniffingProteggere un sito web da attacchi esterni - MIME Sniffing

Proteggere un sito web da attacchi esterni  MIME Sniffing

Creare un sito web ben fatto, con tutti i contenuti ben delineati e strutturati, con una SEO perfetta e tanto altro è alla base di chiunque vuole creare un sito web per qualsiasi tipo di utilizzo.

Purtroppo molto spesso, viene tralasciata la sicurezza.

In molti non pensano a proteggere il proprio sito web da eventuali attacchi malevoli esterni.

Alla mia domanda ben specifica, quando si parla tra amici del settore, ma voi ci pensate alla sicurezza?

La risposta che non vorrei mai sentire e che purtroppo mi capita di udire è “si ma tanto c’è il backup!”

A questa risposta, rimango ogni volta molto perplesso !

Mi dicono che tanto hanno un backup e che quindi il problema non sussiste, ma quando poi addentrandomi nello specifico, dico loro che eventuali malintenzionati potrebbero rubare dati personali anche di accessi o chissà cos’altro, scorgo nei loro occhi che la fiducia riposta sui loro backup viene meno.

Se siete di quelli che credono che il backup possa “risolvere” il problema, pur essendo già ferrati sull’argomento, un semplice ripasso non fa mai male.

Se invece non avevate pensato a situazioni possibili, una buona lettura potrebbe sempre essere interessante.

Ottimo direi

Iniziamo !

Partendo dal presupposto che un sito deve essere super performante e con contenuti di qualità, a mio avviso, deve essere anche sicuro per chi l’ha creato e per chi ci naviga.

Cos’è lo Sniffing MIME?

Innanzitutto iniziamo a comprendere i vari processi dello “Sniffing MIME”.

Il processo inizia con il browser  che “annusa” un determinato contenuto dato da una ricerca verso una particolare risorsa.

Quindi nello specifico, il browser annusa il contenuto per analizzare il formato del file di una determinata risorsa.

Successivamente all’analisi effettuata, viene confrontato ciò che è stato trovato con ciò che il server web ha fornito nell’intestazione, se presente.

Qualora non venga trovata una corrispondenza, il browser utilizza il tipo MIME che ha determinato essere associato all’asset.

Come avviene l’attacco da malintenzionati?

I malintenzionati potrebbero essere in grado, ad esempio, di caricare del codice dannoso in una nostra applicazione, magari dentro i commenti di una pagina o i form di contatti o altrove, camuffato da immagine.

E’ la procedura che induce il browser ad eseguire un codice dannoso all’interno di un’applicazione.

La vulnerabilità è presente quando un sito web consente agli utenti di caricare dati sul server web, in questo caso il malintenzionato maschera il file html, come tipo di file diverso, ad esempio un file di immagine o un file compresso o tanto altro.

Utilizzano quindi una vulnerabilità dello Sniffing MIME

La risposta, prima citata, “tanto abbiamo un backup”, potrebbe essere valida se il nostro sito si pianta o carica male, ma non è valido per la sicurezza!

Se malintenzionati sono riusciti nel loro intento una volta chi gli vieta di rifarlo?

Il Backup?

Ok, penso che ora ci siamo!

Che vuol dire MIME?

MIME è un acronimo di Multipurpose Internet Mail Extensions.

Lo standard dei MIME è sulla base di funzionamento delle e-mail, il corpo di un e-mail può contenere allegati come ad esempio immagini, ma volendo anche video e tanto altro.

La tipologia di allegato viene interpretato dal sistema utilizzando il MIME.

Prima che entrasse in uso MIME, tutte le email erano interpretate dallo standard RFC 822, consentendo ai messaggi di contenere testo normale.

MIME è stato creato come un mezzo per rafforzare questo standard, consentendo di inviare sia del testo ma anche contenuti diversi.

Per capire meglio

Ricevendo un email con solo del testo, MIME trasferisce il testo dal mittente al destinatario nello stesso modo che lo avrebbe trasferito lo standard RFC 822.

Il messaggio verrebbe inviato come un unico file ASCII, per poi essere visualizzato come una e-mail di testo.

Se invece il messaggio contiene immagini, o file, o allegati di diverso tipo, MIME gestisce questo tipo di e-mail in maniera differente.

Il messaggio viene disassemblato, avremo quindi del testo, magari delle immagini e magari anche degli allegati.

Quando il messaggio viene ricevuto dal destinatario, MIME dice al client di posta elettronica che i dati dovranno essere riassemblati in modo specifico.

Queste informazioni verranno memorizzate nell’intestazione MIME e saranno allegate al messaggio di posta elettronica, così che il client di posta del destinatario avrà una “mappa” o una “guida” di quello che starà ricevendo, prima che venga visualizzata l’email per intero.

Spero di essere stato il più chiaro possibile, ma comprendo che l’argomento è molto complesso.

Ora che abbiamo compreso come funziona MIME, torniamo all’argomento principale.

I MIME non vengono utilizzati solamente nelle e-mail.

Quando un browser richiede una risorsa da un determinato URL, non fa affidamento sull’estensione del file durante l’elaborazione.

Il browser si aspetta invece che il server risponda con un’intestazione Content-Type.
Pertanto, dovrebbe contenere un tipo MIME valido.

Un malintenzionato potrebbe caricare un file malevolo utilizzando una nostra API.

Cos’è una API?

Non volendo essere prolisso, una API ( Application Programming Interfaces) è un’interfaccia che permette alle applicazioni di parlare con altre applicazioni.

Quindi se utilizzassimo un CMS tipo WordPress, avremmo tanti plugin, che non sono altro che applicazioni, o software o programmi.

Un API è quindi un programma che può essere usato da altri programmi per comunicare con altri software o hardware, attraverso protocolli e tanto altro.

Le API sono utilizzate dal 90% dei siti web.

Compreso questo, supponendo che abbiamo creato e definito una nostra API che utilizziamo sul nostro sito web per caricare file dagli utenti, ed un malintenzionato carichi quindi un file attraverso questa API nel tentativo di recuperare i cookie contenenti dati sensibili, potete immaginare il valore delle conseguenze.

Adesso che iniziamo ad avere le idee molto più chiare, se la nostra API dovesse ricevere un file che si chiama “immagine.jpg”, questa verrà fatta entrare con molta semplicità perché interpretata come immagine.

Quindi ci troveremo ad avere con un file apparentemente innocuo, ma quando lo andremo caricare o visualizzare…

Come evitare danni?

Arrivati a questo punto, mi dareste la classica risposta “tanto c’è il backup?”

Spero proprio di no

Per evitare che il nostro browser esegua script malevoli, dobbiamo impostare correttamente la Content-Security-Policy (CSP).

E’ possibile implementare l’uso dell’intestazione ” X-Content-Type-Options: nosniff “, questa impostazione forza il browser a disabilitare lo sniffing MIME.

Per essere ancora più tranquilli si dovrebbe utilizzare un sotto dominio separato dove ospitare i contenuti caricati dagli utenti, evitando così il contatto diretto dei contenuti caricati dall’esterno con il sito web primario.

L’obiettivo principale di CSP è aiutare a prevenire gli attacchi di cross-site scripting (XSS) e gli altri attacchi di code injection.

Vi indico qui di seguito un sito molto interessante che spiega molto bene l’argomento dedicato al Content Security Policy (CSP)

Per verificare se un URL specifico è sicuro oppure se un sito web è legittimo, vi indico due siti web che utilizzo spesso:

  1. Google Safe Browsing questo servizio è offerto da Google, come da descrizione sul sito di Google, questo strumento permette di verificare se un sito web è pericoloso da visitare.
    Strumento molto utile sopratutto quando si vuole linkare in uscita un sito web.
  2. Un secondo strumento permette di analizzare file, domini, IP e URL sospetti per rilevare malware e altre violazioni, condividili automaticamente con la community della sicurezza.

Importante è ricordarsi, come riporta Google dentro la sua pagina Google Search Central,

creare pagine con contenuti dannosi costituisce una violazione delle Istruzioni per i webmaster.

Questo è fondamentale se vogliamo evitare di avere problemi di indicizzazione, di posizionamento e di ranking per il sito web, se non peggio la rimozione del sito dall’indice di Google !

Se volete ripassare l’argomento oppure non ne eravate a conoscenza vi indico il link per le istruzioni per i web master redatte da Google.

Conclusioni

In conclusione apportare delle migliorie a livello di sicurezza è alla base nell’offrire un servizio valido e sicuro per chi ci segue, oltre al fatto che avremo così più modo nel concentrarci verso altri aspetti, come ad esempio al posizionamento e ai contenuti.

Avete letto: “Proteggere un sito web da attacchi esterni – MIME Sniffing”

campanellina blu lorenzodesign.it

Vi invito quindi a cliccare sulla Campanellina Blu in basso a sinistra per rimanere aggiornati oppure cliccare qui per tornare al menù principale. 

 

Ciao Lorenzo Design