this.josh's part
Decisamente forse.
I metodi e le tecniche hanno valore quando ti aiutano a svolgere un compito in modo più completo o con meno risorse di un altro approccio.
Quindi stai cercando di fare il lavoro in modo completo o più efficiente?
La modellazione delle minacce può aiutarti a individuare casi di test che anticipano un attacco pratico e ignorano i casi di test, e quindi il codice, che una minaccia non tenterebbe (o non potrebbe) tentare di sfruttare. Questo in contrasto con l'input fuzzing per la maggior parte o tutto il codice accessibile. Ovviamente non ha molto senso controllare il codice a cui un utente malintenzionato non può accedere.
Se stai cercando di svolgere un lavoro più approfondito, devi considerare l'esposizione:
Alcuni codici vengono eseguiti più spesso?
Il codice è più facile da trasferire dati in?
Alcuni codici sono più facili da eseguire per il debug per vedere gli effetti di?
Quindi, come nota @David Stubley, è necessario considerare il valore del codice e ciò che il codice protegge o fornisce l'accesso a.
Quali risorse sono accessibili dal codice?
Cos'è il codice che protegge? (le risorse)
Quale codice si basa sull'hardware per la protezione?
Quale codice si basa su un altro codice per proteggerlo? (qual è il tuo modello di protezione?)
Quale codice fornisce tolleranza di errore o ripristino di errore?
Considerare le minacce, le esposizioni, le risorse e il modello di protezione ti aiuteranno a fare una buona scelta su cosa testare e come testarlo.