幾十年前的電腦安全性還是個輕鬆活,那個年代的電腦都放置在戒備深嚴的機房裡。 機房的主管會在玻璃窗前接過你的打孔卡,只要保存著代碼的卡片沒有被折疊、損壞或是截斷就行,之後就會被Hollerith閱讀器閱讀並在電腦上執行。 一次只能執行一個程式。 當然如果你的程式存在錯誤,它會在幾小時或是幾天後被主管人員退回要求調試。 (在打孔卡片統治的那個年代,FWIW,謹慎地設計,架構與桌上檢查是常規作法;想像一下,每個編譯器都要運行兩到三天的時間。 )
隨後計算進入了瘋狂發展的時期,從分時系統到小型機,再到個人電腦,如今又是行動裝置。 在自己的電腦上調試代碼成了混亂的過程,發生的速度與(慢)人們能做到的一樣快。 再不需要等待主管的祝福或是那個世界上最慢的編譯器。 不需要理解電腦和技術堆疊的工作原理,當它廉價到只是運行代碼後查看結果就行。 即便是運行他人的程式也是容易的。 至此安全開始急劇下滑,隨著邊界的溶解安全從瑣碎達到了近乎不可能實現的地步。
如今的我們有了雲計算,邊界也算是徹底消失了,而與此同時我們又一次經歷提交代碼到主管--如今則換成了Google、Amazon、Microsoft或是其他的--來執行的狀況。
到底發生了什麼? 難得我們得到的僅僅是安全上的副作用? 雲計算安全的利與弊又如何呢?
簡短的電腦發展史
當電腦佔據真個機房並且一次只能運行一個程式的時候,因為價格的昂貴,它們輕鬆地獲得了想要的安全。 只有經過高級培訓的人員被允許接觸機器,他們往往會是這方面的天才。 計算週期昂貴且稀少,但邊界卻是明顯並可以很容易地被鎖定--簡單到只是鎖上一扇門就夠了。
隨後到來的分時系統與「啞終端」,例如ADM5和VT100,它們通過電纜連線到主機(運行VMS或是Ultrix)。 多名使用者可以在同一台機器上運行他們的程式,以分享時間片的方式。 機器和它們的計算週期依舊很昂貴,而且數量很少又體積很大。 但計算週期的價格卻逐年下滑,終端則以它們緩慢的腳步邁向了世界。
同樣的,電腦安全性也逃離了原本的機房。 因為終端總還在主機線路距離以內(通常被集中在終端機房),使用者需要使用者名和密碼(被強制認證)來使用機器,安全多少還是可控的。 實際上那時並沒有太多的人使用電腦。
緊接著,核心機也逃離了原本的機房,加入了終端的行列,開始變得越來越便宜。 然而,存儲仍舊昂貴貴並且體積龐大。 多使用者主機需要「帳戶」來分配定額的磁碟空間。 在80年代末,20兆的存儲看起來算是相當巨大。 存儲被集中在房間大小的磁片農場裡,像從前主機那樣被管理著。 計算週期免費了,但磁碟空間是昂貴的。 邊界安全被它的部分掌控著。
對簡單邊界安全的致命一擊,就像Cerberus(西方神話中有著三個腦袋的地獄看門犬)一樣有三個方面:PC、使用者與互聯網。 早期的PC像Apple ][+和IBM PC Junior是沒有磁碟空間的。 它們使用軟碟或是磁帶進行長期存儲;要花費很多軟碟來保存記錄。 硬碟是昂貴的,而且有洗碗機那麼大。 情況很快發生了變化。 在1986年,IBM AT推出了,磚頭大小的20Mb硬碟。 磁碟空間開始縮水,最終變得和計算週期一樣廉價--基本上算是免費的。
如今週期和存儲都是免費的,但我們卻要面臨基本的管理問題。 即便週期和磁片存儲可能是免費的,但是由專業人才來管理機器依舊昂貴並艱難--特別是當你考慮安全問題時。
觀點:雲計算有利於安全
世界上的每一家中小企業是否都需要電腦來拯救? 是的。 但每家中小企業都能承擔專業人才來管理他們需要的電腦嗎? 答案是否定的。 (特別是談到安全,它是特別的棘手,需要實際的專業技術。 )現在你有了它:雲計算總歸是便宜,對幾乎所有的中小企業來說算是擁有了良好的運維人員和及時需求。
事實就是Google、Amazon、Salesforce.com和Microsoft的系統管理與安全運維人員比標準中小企業的運維專業人才的水準高的不止一點,而是好幾倍。 想像一下,是選擇世界級運維團隊在背後支援你的業務運維,還是雇傭一些本地的二流IT傢伙,他們很可能才畢業于社區大學。
同樣的結論大企業並不適用,因為它們內部的IT員工同樣是世界級的,並且高度的專家化。 最重要的部分就是,企業安全運維機器是靈活而高效的,但是正如我前面所寫到的,中小企業的情況是不一樣的。
曾想過誰會擁有數百萬被感染的機器(由電腦犯罪者將其有規律地加入僵屍網路)? 最有可能的答案就是你的親戚或你最喜歡的當地企業。 雲安全可以解決這些。 隨著越來越多的消費者和中小企業將他們的計算移入雲計算,我們的日子會過得越來越好,通過採用雲服務,中小企業和消費者可以及時並自動地改善自身的網路安全狀況(借助現代工具和針對安全侵入的監控器, 快速從瀕臨崩潰狀態到修補未打補丁的系統)。
在我看來,雲計算將提高現有的電腦安全性,主要在於減輕了中小企業的安全運維。
觀點:雲計算有害于安全
問題是我們所需的應用。 當我們為迎合不同中小企業的口味而編寫非一般應用時,我們就引入了雲安全的致命弱點。 放置簡單,為雲計算構建安全應用就像在任何地方構建安全應用一樣困難。 難過的是,這個事實雲計算供應商要麼是不了解,要麼就是在撒謊。
問題是雲供應商一股腦地把困擾的應用安全都通過加密解決。 我們都知道安全是屬性而不是東西。 好吧,除了雲供應商我們都曉得這點。 雲供應商依然相信神奇的加密方案。 這種安全方法不能讓應用更加安全,當我們在主機之間的鏈路,或是在休息的時候增加資料時使用加密。 繼續盲目地相信加密方法結果就是精神錯亂。
好消息是在軟體安全上取得的巨大進步。 壞消息是我們可能外包安全運維到雲供應商,但是沒有跡象表明對應用安全我們可以做到同樣的地步。
我的底線是:
構建雲計算上應用的底線是? 獲得一些專業的説明。 真的。 不論你做什麼,不要相信雲供應商叫賣的神奇加密方案,傳說這種方案可以神奇地解決你所有的問題。
停止雲計算就好比讓世界回到主機時代一樣,那是徒勞的(嗯,不要等待...... 那不是我所要表達的意思! )。 雲計算是廉價的,租用運維人員確實是很棒的方案。 計算週期和存儲基本上是免費的,所以為什麼還要再買這些東西呢?
所以當你的公司採用雲計算(不是如果,而是何時),不要忘記軟體安全是多麼困難。 不要購買雲供應商胡說的所謂的神奇加密技術! 真正地思考,正確地處理雲計算上的軟體安全就如同原先自己管理執行代碼的機器那樣。
(責任編輯:蒙遺善)