遺留軟件的七大安全風險
作為一家大型軟件企業(yè),當微軟公司自己都認為有必要做出努力勸阻用戶使用其旗下的某款產品時,這種使用習慣的危害及其中蘊藏的安全風險自然已經嚴重到不容妥協(xié)的地步。
正式展開討論軟件升級這個問題之前,我們不妨先看一個實例:微軟公司去年曾單獨推出過一個網站,旨在號召用戶徹底停止使用IE 6這款于十多年前(2001年)推出的“老爺級”瀏覽器產品。網站上打出了“真正的朋友不會坐視您繼續(xù)使用IE6”這樣鮮明的宣傳語,同時不遺余力地鼓勵用戶轉而使用更現(xiàn)代、更安全的新版本瀏覽器。
此番努力目前取得的成效仍然有限:時至今日,依舊有6%以上的互聯(lián)網用戶(在中國這一數(shù)字則高達22%)繼續(xù)通過IE6訪問網絡。而這款瀏覽器已經作為“目前還在服役的安全性最差的方案”而飽受譏諷(這種尖刻的評價甚至也已經是六年前的事情)。
在企業(yè)方面,情況則更是不容樂觀。根據(jù)2009年Forrester研究公司組織的調查,仍然有60%的企業(yè)在使用IE 6瀏覽器。
作為一家大型軟件企業(yè),當微軟公司自己都認為有必要做出努力勸阻用戶使用其旗下的某款產品時,這種使用習慣的危害及其中蘊藏的安全風險自然已經嚴重到不容妥協(xié)的地步。
IE 6的真實經歷只是一些所謂的“老軟件”--或者叫做遺留軟件--整體的一部分縮影和寫照。為什么用戶及企業(yè)會如此偏愛老軟件并長時間堅持使用?為什么使用老軟件會令自己面臨越來越多的安全威脅?我們又能夠做點什么來緩和這些風險呢?(我們會在接下來的內容中對這些話題詳加討論,不過在此之前請各位確認自己不是在用IE6閱讀這篇文章:)
難以清除的遺留軟件
盡管技術市場的運轉周期很短、產品更新?lián)Q代速度極快,但某些軟件似乎有種可怕的生命力,即使已經遠遠超出了它們的最終使用期限,我們仍然很難將它們從用戶的設備中徹底清除??傮w來說,遺留軟件生命力頑強的理由包括以下幾個方面:
前期投入。用戶已經為產品支付過一筆款項,所以自然會希望能夠盡量延長該產品的使用周期,借以降低使用成本。
培訓開支。企業(yè)中的員工已經為學習產品的使用付出了相應的時間與精力(以及其它潛在資本),這一前提導致了人們很難對需要再次進行技能學習的新事物主動產生興趣。
對技術支持的依賴。遺留軟件往往能夠與遺留系統(tǒng)協(xié)作良好,而一旦要對軟件進行升級,陳舊的系統(tǒng)常會帶來額外的拖累,而企業(yè)對于系統(tǒng)更新的工作向來是能拖則拖。舉例來說,最新的Adobe Premiere Pro CS6需要運行在64位版本的Windows系統(tǒng)下,那么仍然在使用32位Windows系統(tǒng)的企業(yè)由于不想為此而對整套平臺進行更新?lián)Q代,自然會傾向于繼續(xù)用Premiere Pro舊版本湊合湊合。
對遺留產品的高度依賴。企業(yè)用戶很可能已經圍繞遺留軟件建立起了完整的業(yè)務運轉機制,一旦放棄原有架構并重新建立內部軟件定制組合,不僅會給企業(yè)帶來未知的新風險,更會給業(yè)務帶來巨大的負面影響。IE 6就是這樣一個典型的例子:許多企業(yè)都擁有定制型內部網絡,而在這一領域那些最新版本的瀏覽器其實沒什么吸引力,反倒是IE 6這樣的古董既方便快捷又深入人心。
當然,上述這些條目遠遠不足以彌補遺留軟件所帶來的負面作用,我們首先要認清一個現(xiàn)實:使用遺留軟件本身絕對是種錯誤。而作為企業(yè)用戶,最值得認真考量的問題就是遺留軟件中所隱藏的安全漏洞。#p#
風險大于收益
繼續(xù)使用遺留軟件能夠節(jié)約時間與財力的投入,這從表面上來看算得上是一種企業(yè)收益,但這種收益其實只是幻覺。一個早已被解決的安全漏洞很可能仍然潛伏在遺留軟件中,并給企業(yè)帶來災難性后果,這種情況一旦發(fā)生,所造成的時間與財力投入肯定遠遠超過維護最新軟件版本。舉例來說,目前社保卡及信用卡信息泄露事件所造成的損失平均都在700萬美元以上,相信任何一家企業(yè)都不希望這種狀況發(fā)生在自己身上。
軟件產品都不完美,即使是最新技術也無法徹底避免安全隱患。事實上,這有時候甚至成為讓遺留軟件繼續(xù)效力的一大有力理由--新產品可能包含更多未知及還沒有被發(fā)現(xiàn)的安全問題,因此相比之下還是成熟而完善的老版本更加可靠。聽起來似乎有一定道理,但隨著時間的推移,遺留軟件中的問題會在得不到持續(xù)更新的情況下變得愈發(fā)惡化。
下面我們就來聊聊遺留軟件產品中那些最觸目驚心的風險:
缺乏來自供應商的支持。要始終為產品提供良好的更新服務,供應商必須堅持投入維護資金。而任何一款產品在邁向使用周期的盡頭后,都不可避免地失去來自供應商的支持,同時自身的許多安全漏洞仍然沒能得到有效修復。我們完全可以理解,供應商會偏向于將資源集中在開發(fā)更多新版本軟件方面,作為企業(yè),推廣新產品永遠比維護舊產品更重要。
對安全威脅的前瞻性較差。顧名思義,遺留軟件誕生的年代與現(xiàn)在相比,在對安全威脅的前瞻性方面必然相形見絀。大多數(shù)技術的出現(xiàn)都是由那些致力于入侵系統(tǒng)的黑客們所促成,而安全專家們?yōu)榇酥贫ǔ龅谋Wo策略則始終與時俱進--換言之,越陳舊的產品中蘊含的安保思想就越過時??梢钥隙ǖ卣f,遺留軟件中的安全保護機制要遠遠遜色于當今的技術。十年后的軟件必然在構思方式上優(yōu)于目前,而站在今天的高度回望十年前的老產品同樣會有“尚能飯否”的感慨。
代碼重復利用。大多數(shù)軟件產品都會從系列老版本或其它產品中借用一定數(shù)量的代碼,也就是說遺留軟件中甚至可能包含一些比自身更古老的安全威脅。
廣為人知的安全缺口。一旦我們在軟件中發(fā)現(xiàn)了安全漏洞,這些內容會被立即公布出來警示業(yè)界,進而讓專家們找到合適的方法通過補丁加以彌補或修復。但這種流程同樣暴露在黑客的眼皮底下,他們能夠從中學習到更多攻擊經驗并掌握多年來的各類主流安全漏洞。可以說黑客們已經針對遺留軟件中的安全問題學習、揣摩并實踐了多年,這段充裕的時間令陳舊產品在他們的面前簡直不堪一擊。
補丁更新滯后。與上一條威脅相對應,許多企業(yè)往往不會在供應商發(fā)布安全補丁后,第一時間進行積極部署。這就使得遺留產品在拖延的這段時間中處于嚴重的安全風險之下,而拖的時間越長,了解并熟悉這些安全漏洞的惡意人士就越多,那么企業(yè)的也就越可能遭受嚴重的經濟損失。
日益完善的黑客工具。當一款新產品出現(xiàn)安全漏洞時,能夠成功利用它并實施攻擊的往往只有最精明、技術力量最強的頂級黑客。但隨著時間的推移,黑客工具包會不斷吸納最新最有效的小東西,而這種提升甚至會讓更多剛剛入門的家伙嘗到惡意入侵的甜頭。目前廣為流傳的主流黑客工具包已經非常傻瓜,其中甚至提供了友好的用戶界面以及在線教程指導,沒準再過幾年會用辦公軟件的人都能學會如何扮演黑客。
依托于不夠安全的系統(tǒng)平臺。 在某些情況下,遺留產品只能運行在特定的遺留系統(tǒng)環(huán)境中。就拿QuickBooks Pro 2006來說,它無法支持Windows Vista及其后的更新系統(tǒng)版本。也就是說,即使遺留軟件本身不會來任何安全威脅,它們所要求的系統(tǒng)環(huán)境同樣有可能引發(fā)大麻煩。舉例來說,在微軟決定停止提供安全補丁的前提下,那些只能運行于Windows XP平臺上的遺留軟件變相讓我們的企業(yè)陷入安全風險當中。
當然,并不是所有遺留軟件都會帶來同樣級別的嚴重安全問題。在這里我要提醒大家,面向網絡的應用程序由于允許異地存取或遠程控制,因此通常也是最難以打理的威脅產生源。只要有可能,千萬別在這些領域使用遺留軟件。#p#
防御戰(zhàn)略
讓我們首先明確一點:更新永遠是我們防范遺留軟件安全風險的最佳選擇。盡管沒有任何一款產品敢斷言自身不存在一丁點安全漏洞,但新產品中所包含的安全理念及保護思路肯定要好于舊產品。也就是說,只要我們及時選擇新產品或安裝新補丁,那么在一段特定的時間內自身就是相對安全的。等到黑客們發(fā)現(xiàn)了新版本中的弱點,又會有新的補丁出現(xiàn)繼續(xù)為我們的業(yè)務保駕護航。
但有時候保持更新也沒那么容易。出于企業(yè)預算的考量或者軟件供應商干脆沒有提供新補丁,都可能導致我們暴露在惡意人士的覬覦之下。一旦出現(xiàn)這類情況,而我們的遺留軟件又免不了要與網絡環(huán)境打交道,那么以下幾項戰(zhàn)略應該能夠幫助大家降低安全風險:
利用虛擬化技術進行隔離。虛擬化技術帶來了數(shù)不清的偉大用途,而其中最重要的一條就是為高風險平臺建立一套沙箱環(huán)境,借以將其與重要系統(tǒng)相隔離。舉例來說,大家可以利用甲骨文VirtualBox這樣的免費軟件為遺留應用程序提供Windows 95或者XP系統(tǒng)環(huán)境,同時又能保證現(xiàn)有現(xiàn)代化系統(tǒng)的安全。更值得稱道的是,虛擬系統(tǒng)能夠徹底切斷內部網絡與外部環(huán)境的聯(lián)系,從而打造出固若金湯的企業(yè)防御體系。
虛擬補丁。有時候某些遺留產品根本沒有能夠直接用來修復或處理安全漏洞的可用補丁,但我們往往能夠通過所謂“虛擬補丁”來解決高危應用程序中的某些已知漏洞。舉例來說,遺留數(shù)據(jù)庫產品很容易受到SQL注入式攻擊--就是說當一條查詢請求發(fā)往數(shù)據(jù)庫時,攻擊者能夠通過一些小手段來偷偷修改或者竊取受保護的數(shù)據(jù)。虛擬補丁包括利用防火墻檢查數(shù)據(jù)包的合規(guī)性或者制定有針對性的Web服務器規(guī)則,進而有效地尋找并檢測出SQL注入式語法,最終讓這些惡意請求在到達脆弱的遺留產品之前就將其攔截下來。