Come modelli di Crowd Testing possono migliorare le performance della tua Security Strategy

Un contributo di Luca Manara, co-founder di App Quality per capire nello scenario attuale quali sono le sfide da affrontare nel panorama digitale mondiale e cosa è possibile fare e aggiungere al proprio ciclo di sviluppo software oltre alle tecniche di sicurezza classiche.

Pubblicato il 25 Mag 2017

app quality

In questo articolo, analizzeremo, con il contributo di Luca Manara di App Quality, in particolare, i seguenti temi:

  1. Le 4 sfide chiave di ogni team di sicurezza
  2. Come ogni sfida impatta sul ciclo di sviluppo software rendendolo meno “sicuro”
  3. Perché le aziende leader stanno aggiungendo programmi di Crowd Testing alla loro strategia di sicurezza

Nel 2016, 4,2 miliardi di record sono stati violati in più di 4.000 casi. L’aumento delle violazioni anche dell’ultimo periodo chiaramente sottolineano un problema sottostante nella gestione della sicurezza.

Secondo l’Identity Theft Resource Center la violazione di dati avvenuti come risultato di attività di hacking  sono cresciuti del 350% dal 2015 al 2017.

In questo articolo esplodiamo le sfide attuali che ci si può trovare ad affrontare nel panorama digitale mondiale e cosa è possibile fare e aggiungere al proprio ciclo di sviluppo software oltre alle tecniche di sicurezza classiche.

Grazie a una survey fatta a 100 Chief Information Security Officer (CISO) nel 2016 da una società americana che opera nel mondo della sicurezza (Bug Crowd) possiamo estrarre qualche informazione interessante:

Con così tanti tool e pratiche disponibili, quali sono quelle più utilizzate dai CISO?

  • Il Penetration Testing è, tra le tecniche implementate, la pratica più utilizzata: oltre l’80% dei rispondenti utilizzano pratiche di pentest nei loro attuali programmi di sicurezza
  • A seguire possiamo vedere tecniche quali Incident Response Teams and Processes (79%) e Application Vulnerability Scanning (71%)
  • I metodi meno utilizzati sono le analisi statiche (39%) e il Threat Modeling (50%)

L’utilizzo di queste pratiche varia inoltre molto dalla dimensione dell’azienda che le applica. In generale, le aziende con dimensioni ridotte applicano meno tecniche in termini assoluti e c’è una prevalenza più alta di Incident Response Processes, Threat Modeling e l’uso di SDLC.

Partendo da questa analisi identifichiamo 4 sfide che possono impattare ogni team di sicurezza e ogni azienda nelle prioprie attività che giornalmente vengono pianificate per aumentare il livello di sicurezza nel tempo:

Esplosioni degli attacchi verso punti esposti in rete

Gli attacchi verso i punti connessi esposti alla rete esterna sono diventati sempre più complessi negli ultimi 10 anni e sono aumentati considerevolmente. Con l’adozione incrementale di modelli in cloud, la diversificazione delle piattaforme e dei linguaggi di sviluppo disponibili, la crescita del mondo Internet of Things nei suoi vari ambiti applicativi e altro ancora, la sicurezza è diventata un tema sempre più difficile da gestire.

Carenza di competenze

Con centinaia di migiaia di posti di lavoro non coperti dalle attuale risorse e persone disponibili sul mercato del lavoro, le aziende stanno facendo sempre più fatica a rincorrere cicli di sviluppo che, oltretutto, stanno accelernado sensibilimente nel tempo. Il codice è rilasciato sempre più velocemente e la sicurezza spesso viene messa in secondo piano ampliando così il gap tra le risorse disponibili lasciando così le aziende in situazioni di insicurezza.

Metodi di test inefficienti

Dato che gli attacchi diventano sempre più complessi, i metodi tradizionali per gestire la sicurezza non sono più sufficienti per tenere le aziende al sicuro da brecce informative. Gli scanner identificano spesso solo le problematiche conosciute e gli specialisti di penetration test sono molto limitati nel tempo per arrivare alle coperture richieste sempre più alte nello stesso arco di tempo.

Avversari attivi e efficienti

Mentre le organizzazioni si sforzano per aumentare le proprie competenze e i ruoli in ambito cybersecurity, nel frattempo sono costantemente sotto attacco che non soffrono degli stessi vincoli interni che impongono le organizzazioni. Di conseguenze i malintenzionati sono avvantaggiati: l’unica cosa che hanno bisogno di fare è trovare una falla, mentre le organizzazioni devono difendersi su tutte le possibili falle.

Come si può vedere dal grafico seguente, queste 4 sfide impattano il processo di sviluppo software in diverse aree:

Tecniche di crowd testing orientate alla sicurezza

E‘ diventato quindi sempre più interessante sfruttare tecniche di Crowd Testing anche nelle attività orientate alla sicurezza.

Come si può vedere dal seguente grafico Google Trends, il termine Bug Bounty è diventato sempre più rilevante con un picco importante nel 2016:

Questo a dimostrare l’importanza crescente di tecniche legate al Crowd Testing.

Questa tecnica permette di sfruttare un alto numero di Security Specialist e ricercatori nello stesso periodo di tempo ingaggiati e coordinati tramite piattaforme software. Sfrutta quindi community di specialisti che vengono remunerati per attività puntuali e ben definite (come per esempio il penetration test). L’obiettivo di questa metodologia è quello di sfruttare le potenzialità del Crowd e le skills della rete per attività di test pagando per ogni vulnerabilità che essi posono identificare  (Bounty).

Il network è composto da ricercatori indipendenti da tutto il mondo, le falle di sicurezza vengono quindi identificate e viene attuato il dovuto reporting in modo che i responsabili interni all’azienda possano correggere eventuali problematiche. Tutto attraverso piattaforme software sicure che è possibile anche connettere ai propri sistemi di ticketing interno.

Sfruttando quindi un gruppo di tester molto numeroso nello stesso periodo di tempo è possibile identificare velocemente numerose problematiche e sfruttare le visioni e le specializzazioni dei differenti specialisti contemporaneamente da tutto il mondo (web, API, Network, Mobile, IoT, etc.)

Inoltre sfruttando un modello incentivante (success fee) permette da un lato di abbassare il costo di queste attività pagando a defect identificato e dall’altro garantisce i risultati finali.

I processi di Crowd Testing hanno poi la capacità di essere molto flessibili e veloci (Testing over the night) e permettono di scalare le attività anche a fronte di continui e molteplici rilasci. I tempi di escuzione di questi programmi sono infatti molto rapidi e efficaci permettendo di agganciarsi ai processi di sviluppo Agile e Waterlfall in maniera molto flessibile.

Per qualsiasi informazione aggiuntiva o per capire come avviare processi di Crowd Testing è possibile scrivere direttamente a Luca Manara co founder di App Quality : luca.manara@app.quality.com

Leggi gli altri articoli di Luca Manara App Quality e i servizi relativi a App Quality

Mobile Banking Design: 10 consigli per creare App perfette

Perché il test su diversi browser è importante per sviluppare il business nei pagamenti digitali

7 best practice per ottimizzare la User Interface e il design mobile nei pagamenti digitali

Le 10 regole di design per creare App perfette nel Mobile Banking

iOS 10, Apple cambierà completamente il testing delle App Mobile

Come fare per controllare la qualità delle vostre App anche nell’IoT

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati