编写安全程序最主要的困难在于编写时需要一个不同的精神状态,简而言之,就是处于偏执狂的状态。其原因就是错误(也被称为缺陷或Bug)的影响可能会有着极大的差异。
普通的非安全程序有许多错误。虽然这些错误不受欢迎,但一般只在罕见或不太可能的情况下出现,如果用户无意中发现某个错误,他们以后会试图避免用同样的方式使用该软件。
对安全程序,情况恰恰相反。某些用户会有意搜寻并产生这些罕见或不太可能的情况,希望这样的攻击可以使他们获得未经授权的特权。因此,在编写安全程序时,多疑症就是一个优点了。