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