Quando esegui un pentito, qual è la tua raccomandazione al cliente su come gestire / interpretare il rapporto?
Quello che vedo spesso è che i problemi identificati, in particolare quelli relativi al software sviluppato autonomamente, non sono corretti. L'esempio più semplice è l'XSS, che viene "risolto" da s /// (sostituisci esattamente la stringa XSS dal rapporto con niente).
Questa correzione ovviamente non è buona, da un lato perché esiste ancora l'XSS e dall'altro perché questo bug è una chiara indicazione che il concetto di gestione dell'input dell'utente non è sicuro in alcun modo. Dal mio punto di vista questo significa che sono presenti altre vulnerabilità XSS anche se non le ho trovate. Supponendo che un tester trovi tutte le vulnerabilità è, a mio avviso, irrealistico.
Come faccio a pensare al cliente in questo modo? Ad esempio, voglio che il cliente dica "Oh, hai trovato un XSS! Probabilmente abbiamo bisogno di un po 'di tecnologia / processo / adattamento dell'architettura ... per eliminare il più possibile questa roba. Forse usiamo qualche framework web e introduciamo un Soluzione SAST. "
Ho appreso che i blocchi di testo di rimedio generici alla fine di ogni rapporto non sono affatto sufficienti. Ciò che si è dimostrato molto efficace sono i seminari di riparazione, in pratica discutendo dei risultati in un workshop di 2-3 giorni e poi supportando gli sviluppatori durante l'implementazione. Certamente, solo una piccola quantità di clienti è disposta a pagare per questo (e io non ho davvero le risorse).