第一,目前很多程序都寫的很差,漏洞百出,所以不安全。比如,我們能看到每個月甚至每周都有安全軟件在升級。這是因為,開發者不知道怎么能在一個大家能接受或者愿意支付的價格基礎上寫一個安全的程序。這些程序上的漏洞會被利用。
第二,二三十年前,人們在設計互聯網時沒有安全的概念。互聯網剛出現時有接觸門檻,比如你必須是某個公司的員工才能接觸到互聯網,這意味著設計者在一開始根本不需要擔心安全。施奈爾介紹,人們現在還在用的很多協議,本身都是不安全的,因為它來自于二三十年前。
第三,可擴展性。它指的是,你無法限定一個計算機化的設備的功能。比如,現在手機除了打電話,可以做很多的事情,因為它是可擴展的,“它可以跑很多軟件,但這些軟件的安全性誰來保證?”
第四,計算機系統的復雜性,意味著攻會易于防。施奈爾說,攻擊一個復雜的系統比防御一個復雜的系統要簡單得多,你只要找一個方式攻擊就行了,但如果要是防御的話,就得想出無數的方法,來應對五花八門的攻擊。
施奈爾認為,目前我們正面臨一場網絡安全的風暴,“我們的安全現在失效了,因為太多的東西連在一起,人們也愿意生活在這樣的一個技術空間,而且是不受監管的空間當中,但這種環境是不可持續的”。
針對這些挑戰,施奈爾提出了兩個建議:首先應該以防御為重,“防御體系應該比攻擊體系更重要”。在設計基礎設施和應用時,要先設計它的安全,然后保證它的安全。其次,制定網絡安全政策時,需要技術人員參與,“政策應該有很強的技術成分,因此需要工程師參與到政策的討論當中,政策制定者要有技術知識”,如果技術和政策決策者沒有一起攜手工作,就會出現很多災難性的成果。