Come eseguire la scansione dei virus tramite un servizio API antivirus

Il panorama del web è purtroppo disseminato di pagine potenzialmente pericolose, e queste minacce possono infiltrarsi persino nei siti dei tuoi partner commerciali, come clienti o fornitori.

Praticamente ogni azienda al giorno d’oggi si affida a integrazioni che alimentano o ricevono dati da siti web di terze parti. Questi servizi, sebbene essenziali per l’operatività, possono talvolta rappresentare un rischio. Siti esterni con cui interagisci potrebbero contenere contenuti nocivi, inseriti intenzionalmente o a causa di una compromissione da parte di malintenzionati. Se tali contenuti dovessero raggiungere il tuo sistema, le conseguenze potrebbero essere molto negative.

Ma non possiamo scansionare manualmente i siti web per individuare le pagine dannose?

Potrebbe sembrare logico che uno sviluppatore competente possa esaminare le pagine alla ricerca di vulnerabilità. Tuttavia, questa idea è ben lontana dalla realtà per svariati motivi:

  • Gli sviluppatori non sono specialisti in sicurezza. La loro competenza principale è la creazione di software complessi attraverso l’assemblaggio di vari sottosistemi. In altre parole, non dispongono delle specifiche competenze necessarie per questo compito.
  • Anche nel caso di uno sviluppatore molto talentuoso, il lavoro da svolgere sarebbe comunque troppo impegnativo. Una tipica pagina web, ricca di funzionalità, è composta da migliaia di righe di codice. Ricomporre il tutto per avere una visione d’insieme e individuare le minime falle è un’impresa titanica. Sarebbe come chiedere a qualcuno di mangiare un elefante intero per pranzo!
  • Per ottimizzare i tempi di caricamento, i siti web spesso comprimono e minimizzano i file CSS e JavaScript. Ciò rende il codice praticamente illeggibile.

Cosa credi che faccia questo codice? (Fonte elgg.org)

Se il codice precedente ti sembra ancora leggibile, è perché chi lo ha scritto ha deciso di preservare i nomi delle variabili. Prova a esaminare il codice sorgente di jQuery, che potrebbe essere ospitato su qualsiasi sito e potenzialmente alterato (magari con solo un paio di righe modificate):

Senza contare che il sorgente è composto da quasi 5.000 righe di codice. 😎

E stiamo parlando solo di un singolo script. In genere, una pagina web ne ha tra 5 e 15, e spesso si lavora con 10-20 pagine web in totale. Immagina di dover fare tutto questo ogni giorno, o peggio, più volte al giorno!

Fortunatamente, è possibile effettuare scansioni rapide e semplici degli URL tramite API. È possibile analizzare non solo pagine web, ma anche file disponibili per il download. Vediamo alcuni strumenti API che facilitano questa operazione. E, visto che stiamo parlando di API, il tuo team di sviluppo sarà più utile se incaricato di creare uno strumento di scansione web basato su queste API. 😀

Google Web Risk

Non sorprende che uno strumento per la verifica di pagine web provenga dall’azienda che detiene il controllo di gran parte di internet (e delle sue pagine web). Tuttavia, c’è un problema: Google Web Risk è ancora in fase beta e disponibile solo su richiesta. Essere in versione beta significa che potrebbero esserci modifiche significative in futuro.

Detto questo, l’API è piuttosto semplice, quindi eventuali cambiamenti possono essere gestiti dal tuo team di sviluppo attraverso un monitoraggio delle modifiche dell’API e un breve periodo di adattamento. 🙂

L’utilizzo dell’API è estremamente semplice. Per controllare una singola pagina usando la riga di comando, basta inviare una richiesta come questa:

curl -H "Content-Type: application/json" "https://webrisk.googleapis.com/v1beta1/uris:search?key=YOUR_API_KEY&threatTypes=MALWARE&uri=http%3A%2F%2Ftestsafebrowsing.appspot.com%2Fs%2Fmalware.html"

Se la richiesta va a buon fine, l’API risponderà indicando il tipo di vulnerabilità presente nella pagina:

{
  "threat": {
    "threatTypes": [
      "MALWARE"
    ],
    "expireTime": "2019-07-17T15:01:23.045123456Z"
  }
}

Come si può vedere, l’API conferma che la pagina è stata identificata come contenente malware.

È importante notare che l’API Google Web Risk non effettua una diagnosi su richiesta di un URL o file specifico. Invece, verifica se l’URL è presente in una blacklist gestita da Google, sulla base di risultati di ricerca e segnalazioni. In altre parole, se questa API afferma che un URL è sicuro, è ragionevole supporre che sia sufficientemente sicuro, ma non c’è una garanzia assoluta.

VirusTotal

VirusTotal è un altro strumento molto interessante, utile per la scansione non solo di URL, ma anche di singoli file (in questo senso, lo considero superiore a Google Web Risk). Se vuoi provare subito il servizio, visita il sito web: l’opzione per iniziare si trova direttamente sulla homepage.

Sebbene VirusTotal sia una piattaforma gratuita, gestita da una vasta comunità di utenti, offre anche una versione commerciale della sua API. Ecco alcuni vantaggi della versione premium:

  • Maggiore flessibilità nella frequenza delle richieste e della quota giornaliera (al contrario delle sole quattro richieste al minuto dell’API pubblica).
  • Le risorse inviate vengono analizzate da diversi antivirus e vengono fornite ulteriori informazioni diagnostiche.
  • Informazioni sul comportamento dei file inviati, ottenute tramite analisi in ambienti sandbox.
  • Possibilità di interrogare il database di VirusTotal con parametri complessi.
  • SLA e tempi di risposta garantiti (i file inviati tramite l’API pubblica vengono messi in coda e l’analisi richiede più tempo).

Scegliere l’API privata di VirusTotal potrebbe rivelarsi uno dei migliori investimenti SaaS per la tua azienda.

Scanii

Un altro servizio di scansione per la sicurezza è Scanii. Si tratta di una semplice API REST che permette di analizzare documenti o file per individuare potenziali minacce. Puoi considerarlo come un antivirus on-demand, scalabile e facile da usare.

Ecco alcuni punti di forza di Scanii:

  • Capacità di rilevare malware, script di phishing, contenuti spam, contenuti NSFW (Not Safe For Work) e altro.
  • Utilizzo di Amazon S3 per garantire scalabilità e archiviazione sicura dei file.
  • Rilevamento di testi offensivi, non sicuri o potenzialmente pericolosi in oltre 23 lingue.
  • Approccio semplice, essenziale e mirato all’analisi di file tramite API.

Un aspetto particolarmente positivo è che Scanii è un meta-motore, il che significa che non effettua le scansioni autonomamente, ma si appoggia a diversi motori di analisi. Questo è un vantaggio significativo perché non sei vincolato ad un unico sistema di sicurezza, e non devi preoccuparti di cambiamenti o incompatibilità delle API.

Scanii si rivela un’ottima risorsa per le piattaforme che dipendono dai contenuti generati dagli utenti. Un altro caso d’uso riguarda l’analisi di file provenienti da fornitori di cui non ci si fida al 100%.

Metadefender

Per alcune organizzazioni, l’analisi di file e pagine web su un singolo punto di accesso non è sufficiente. Queste aziende hanno flussi di informazioni complessi in cui ogni punto d’accesso deve essere protetto. In questi casi, Metadefender è una soluzione ideale.

Metadefender si può considerare come un guardiano molto attento che si frappone tra le tue risorse di dati e tutto il resto, inclusa la rete. La sua filosofia di progettazione si basa sulla “paranoia”, nel senso più positivo del termine. Lascio che siano loro stessi a descrivere il loro approccio:

La maggior parte delle soluzioni di sicurezza informatica si basa sulla capacità di individuare minacce. La sanificazione dei dati di MetaDefender, invece, non si basa solo sul rilevamento. Presume che ogni file possa essere infetto e ricostruisce il suo contenuto usando un processo sicuro ed efficiente. Supporta oltre 30 tipi di file e genera file sicuri e utilizzabili. La sanificazione dei dati è molto efficace nella prevenzione di attacchi mirati, ransomware e altri tipi di minacce malware conosciute e sconosciute.

Ecco alcune caratteristiche di Metadefender:

  • Prevenzione della perdita di dati (DLP): capacità di individuare e proteggere informazioni sensibili all’interno dei file. Ad esempio, una ricevuta PDF contenente un numero di carta di credito verrebbe oscurata da Metadefender.
  • Possibilità di installazione locale o nel cloud (in base al livello di sicurezza desiderato).
  • Analisi di oltre 30 formati di archiviazione (zip, tar, rar, ecc.) e 4.500 metodi di spoofing dei tipi di file.
  • Implementazioni multi-canale per proteggere file, email, rete e controllo accessi.
  • Flussi di lavoro personalizzabili per applicare diversi tipi di analisi in base a regole definite.

Metadefender include oltre 30 motori di analisi, gestiti in modo da non richiedere interventi da parte dell’utente. Per le aziende medio-grandi che non possono permettersi problemi di sicurezza, Metadefender è un’ottima soluzione.

Urlscan.io

Se ti occupi principalmente di pagine web e hai sempre desiderato una visione dettagliata di quello che succede “dietro le quinte”, Urlscan.io è uno strumento prezioso.

La quantità di informazioni che Urlscan.io fornisce è a dir poco impressionante. Tra le altre cose, puoi vedere:

  • Il numero totale di indirizzi IP contattati dalla pagina.
  • Un elenco delle aree geografiche e dei domini a cui la pagina ha inviato informazioni.
  • Le tecnologie utilizzate nel front-end e nel back-end del sito (l’accuratezza è sorprendente!).
  • Informazioni sul dominio e sul certificato SSL.
  • Dettagli sulle interazioni HTTP, compresi payload delle richieste, nomi dei server, tempi di risposta e molto altro.
  • Reindirizzamenti nascosti e richieste non andate a buon fine.
  • Link in uscita.
  • Analisi JavaScript (variabili globali, ecc.).
  • Analisi dell’albero DOM, contenuto dei form e altro.

Ecco un esempio di come si presentano le informazioni:

L’API è semplice e intuitiva, e ti permette di inviare un URL per l’analisi e di consultare la cronologia delle scansioni (anche quelle eseguite da altri utenti). In definitiva, Urlscan.io offre una vasta gamma di informazioni utili a qualsiasi azienda o individuo interessato.

SUCURI

SUCURI è una piattaforma nota per la scansione online di siti web alla ricerca di minacce e malware. Quello che forse non sai è che offre anche una API REST per sfruttare le stesse funzionalità in modo programmatico.

L’API è semplice ed efficace. Ovviamente, Sucuri non si limita alla scansione via API. Tra le sue funzionalità, ti consiglio di considerare la scansione lato server (in pratica, fornendo le credenziali FTP, è possibile connettersi e analizzare tutti i file alla ricerca di minacce!).

Quttera

L’ultimo servizio di questa lista è Quttera, che offre qualcosa di leggermente diverso. Invece di scansionare il dominio e le pagine su richiesta, Quttera può effettuare un monitoraggio continuo, aiutando a prevenire le vulnerabilità zero-day.

L’API REST è semplice ma potente, e può fornire risultati anche in formati diversi da JSON (come XML e YAML). Le scansioni sono multi-thread e concorrenti, quindi è possibile effettuare più analisi complete in parallelo. Il servizio opera in tempo reale, il che lo rende molto utile per le aziende con attività mission-critical in cui i tempi di inattività sono inaccettabili.

Conclusioni

Gli strumenti di sicurezza presentati in questo articolo sono un ulteriore livello di protezione. Proprio come un programma antivirus, possono fare molto, ma non sono in grado di fornire un sistema di scansione infallibile. Questo perché un programma scritto con intenti malevoli è indistinguibile, a livello di sistema, da uno scritto per un fine positivo. Entrambi richiedono risorse ed effettuano richieste di rete. La differenza sta nel contesto, che non è facilmente interpretabile da un computer.

Detto questo, queste API offrono una solida protezione che è auspicabile nella maggior parte dei casi, sia per i siti web esterni che per i tuoi! 🙂