Quanto costa davvero un penetration test
Due preventivi per quello che sembra lo stesso lavoro possono differire di dieci volte senza che nessuna delle due aziende stia mentendo. La differenza sta quasi sempre nel perimetro, nell'esperienza e in quanta parte del lavoro la svolge davvero una persona. Questi sono i miei prezzi e i sette fattori che li spostano.
I prezzi
Sono punti di partenza, non un listino. Ogni incarico viene fissato a prezzo chiuso contro un perimetro scritto prima di iniziare, non c'è fatturazione a ore, e la cifra viene confermata per iscritto entro 24 ore da una call di scoping gratuita.
- Test di applicazione web - da 500 $. OWASP Top 10 in manuale, autenticazione e autorizzazione, logica di business e abuso dei flussi, e test di API su REST e GraphQL. Tipicamente da tre a cinque giorni lavorativi. Dimensionato su numero di ruoli utente, ampiezza della superficie di endpoint e presenza di un'API nel perimetro.
- Test di rete e Active Directory - da 1.500 $. Test di rete interni ed esterni, ADCS, Kerberoasting e abuso di ACL, percorsi di attacco mappati con BloodHound e validazione della segmentazione. Dimensionato su dimensione del dominio, numero di host e relazioni di trust.
- Test cloud - da 1.500 $. Azure e l'infrastruttura cloud rientrano nella stessa fascia infrastruttura e si dimensionano allo stesso modo.
- Test guidato dalla compliance - da 500 $. Il lavoro sui framework segue la stessa logica di prezzo: da 500 $ per un perimetro solo applicativo, da 1.500 $ quando entra l'infrastruttura. Il framework cambia le evidenze che servono, non il costo del test in sé.
Ogni incarico include ciò che spesso viene venduto come extra: supporto alla remediation mentre correggete, un retest che conferma la tenuta delle correzioni e una lettera di attestazione da consegnare a un cliente o a un valutatore. Il dettaglio completo è nella pagina prezzi.
Perché due preventivi per lo stesso lavoro differiscono di dieci volte
È la domanda che ricevo più spesso, e la risposta onesta è che la maggior parte della forbice non ha nulla a che vedere con la qualità del test.
1. Giorni-tester, non funzionalità
Un penetration test si vende in giornate di attenzione di una persona competente. Un'applicazione piccola con un ruolo e quaranta endpoint è una quantità di lavoro realmente diversa da una piattaforma con sei ruoli, un flusso di pagamento e un'API pubblica. Converta ogni preventivo in giorni-tester e la forbice di solito collassa. Se un'azienda non le dice quanti giorni sta comprando, quello è già il risultato.
2. Costi di struttura che sta finanziando
Il preventivo di una grande società porta con sé un team commerciale, account management, un project manager, sedi e margine prima che venga inviato un solo pacchetto. Nulla di tutto ciò rende il test migliore. È un costo reale dell'acquistare da una struttura grande, ed è la maggior parte del divario fra un incarico da 2.000 $ e uno da 18.000 $ per la stessa applicazione.
3. Chi fa davvero il lavoro
Le grandi società assegnano tester junior agli incarichi piccoli e fanno rivedere l'output a un senior. Le viene quotata una tariffa mista e le viene testato a livello junior. Con un tester indipendente, chi dimensiona è chi esegue e scrive, ed è una domanda che vale la pena porre esplicitamente a qualunque fornitore.
4. Lavoro manuale contro strumenti
Uno scanner trova header mancanti, librerie non aggiornate e CVE noti. Non trova un controllo di accesso rotto fra due tenant, un flusso in cui si può saltare un passaggio, né un campo prezzo di cui il server si fida. Questi sono i risultati che contano e arrivano solo da una persona. I preventivi più economici sul mercato sono spesso output di scanner con una copertina, ed è per questo che il prezzo da solo dice molto poco.
5. Protezione dall'allargamento del perimetro
Un preventivo che sembra basso e poi fattura a ore ogni imprevisto non è un preventivo basso. Prezzo fisso contro perimetro scritto è l'unica versione in cui la cifra mostrata è la cifra pagata.
6. Retest e remediation
Molte società fatturano il retest a parte, cioè esattamente la parte che dimostra che avete corretto qualcosa. Se un preventivo lo esclude, aggiungetelo prima di confrontare.
7. La scadenza
Il lavoro che deve iniziare questa settimana costa di più ovunque, anche da me. Se un contratto con un cliente o una data di audit spinge il test, la cosa più economica è iniziare la conversazione presto.
Per cosa non dovreste mai pagare
Alcune cose ricorrono nei preventivi e non valgono denaro. Un export grezzo di scanner, per quanto lungo. Un report senza passi di riproduzione, perché i vostri ingegneri non possono farci nulla. Un elenco di risultati senza motivazione della gravità, che rende impossibile il triage. Un "penetration test" senza test autenticati su un'applicazione che ha dei login, che salta tutta l'area dove vivono i risultati veri. E qualsiasi incarico in cui nessuno vuole dirvi il nome o le certificazioni di chi testa.
Stimare la propria cifra
Se volete arrivare alla call già sapendo all'incirca dove atterrerete, rispondete a queste cinque: che tipo di sistema è, quanto è grande a grandi linee, quanti ruoli utente distinti esistono, se un'API è nel perimetro, e se un framework o un cliente fissa la data. Queste cinque risposte determinano quasi tutto il prezzo. C'è una spiegazione più lunga in quanto costa un penetration test, e il report di esempio mostra cosa produce il denaro.
Per situazione
Il costo funziona diversamente a seconda di cosa spinge il test. Se il motivo è un round di finanziamento o un cliente enterprise, vedete costo del penetration test per startup. Se è un auditor, vedete costo del penetration test SOC 2 o costo del penetration test PCI DSS. E se state valutando un'offerta al fondo del mercato, leggete prima cosa compra davvero un penetration test economico.
Domande sul prezzo
Vuole la cifra del suo perimetro, non un intervallo?
La call di scoping è gratuita e la proposta scritta a prezzo fisso arriva entro 24 ore.