Un bug è definito come software che non funziona fino alle specifiche. Ora, se le specifiche sono difettose, non è un bug del software. Se un cliente stupido richiede che tutte le password siano codici a tre cifre senza periodo di tolleranza tra le voci errate, non è il software che deve essere biasimato.
Molti sistemi hanno una "modalità di servizio" che può sovrascrivere la sicurezza e, mentre l'accesso ad essa dovrebbe essere sicuro, i codici spesso passano al pubblico.
I progressi della matematica compromettono i vecchi metodi di crittografia. Qualcosa che era sicurezza praticabile 30 anni fa diventa debole al giorno d'oggi.
Esistono vari metodi di furto di dati che vengono spesso trascurati. Una tastiera wireless ha una portata di circa 2 m, a causa di piccole antenne, e il codice inviato non è crittografato. Leggerlo dall'altra parte della strada con una buona antenna è un metodo ben noto.
A volte i compromessi di sicurezza vengono effettuati con la piena consapevolezza delle conseguenze: i sistemi crittografici richiedono tempo di alimentazione e CPU. Le applicazioni di monitoraggio integrate inviano spesso i loro dati in modo chiaramente leggibile al pubblico perché in primo luogo il valore di compromissione dei dati è trascurabile, quindi non è necessario il costo aggiuntivo dell'implementazione della sicurezza.
Tutta la sicurezza si basa sulla fiducia. Non ci vuole ingegneria sociale perché l'amministratore incaricato diventi canaglia e legga la tua posta.
E alla fine, si può considerare l'applicazione della mazza da baseball su un ginocchio una tecnica sociale?