Un bug est défini comme un logiciel ne fonctionnant pas selon les spécifications. Maintenant, si les spécifications sont défectueuses, ce n'est pas un bug logiciel. Si un client stupide exige que tous les mots de passe soient des codes à trois chiffres sans période de grâce entre les entrées défectueuses, ce n'est pas le logiciel qui doit être blâmé.
De nombreux systèmes ont un "mode de service" qui peut annuler la sécurité, et même si l'accès à celui-ci doit être sécurisé, les codes fuient souvent au public.
Les progrès des mathématiques compromettent les anciennes méthodes de cryptographie. Quelque chose qui était une sécurité viable il y a 30 ans devient faible de nos jours.
Il existe différentes méthodes de vol de données qui sont souvent négligées. Un clavier sans fil a une portée d'environ 2 m, en raison de petites antennes, et le code envoyé n'est pas crypté. Le lire de l'autre côté de la rue avec une bonne antenne est une méthode bien connue.
Parfois, les compromis en matière de sécurité sont faits en toute conscience des conséquences - les systèmes de chiffrement prennent de l'énergie et du temps CPU. Les applications de surveillance intégrées envoient souvent leurs données d'une manière clairement lisible au public car tout d'abord, la valeur de compromettre les données est négligeable, puis le coût supplémentaire de mise en œuvre de la sécurité n'est pas nécessaire.
Toute sécurité est basée sur la confiance. Il ne faut pas d'ingénierie sociale pour que l'administrateur désigné devienne un voyou et lise votre courrier.
Et à la fin, peut-on envisager d'appliquer une batte de baseball sur un genou une technique sociale?