人們在日常生活中所遇到的計(jì)算機(jī)安全問題,一部分是由于某項(xiàng)產(chǎn)品的缺陷所導(dǎo)致,還有一部分則是在使用產(chǎn)品時人為錯誤所致。有關(guān)專家開發(fā)出類似這些問題的清單,稱之為“十個不變的安全性法則”。
別費(fèi)神等待防止以下所討論問題發(fā)生的補(bǔ)丁程序上市。微軟或其它軟件廠商不可能“修好”這些問題,因?yàn)檫@些問題是因計(jì)算機(jī)的運(yùn)作方式而產(chǎn)生。但也別完全絕望,明智的判斷力是防止這些問題在您身上發(fā)生的關(guān)鍵。如果您牢記這些法則,便可以顯著的改善您系統(tǒng)的安全性。
法則一 如果動機(jī)不良的人能夠說服您在自己計(jì)算機(jī)上執(zhí)行他的程序,那么該計(jì)算機(jī)便不再屬于您。
這是計(jì)算機(jī)科學(xué)不幸的事實(shí):當(dāng)計(jì)算機(jī)程序執(zhí)行時,不管該程序是否有害,它會遵照程序指示作業(yè)。當(dāng)您選擇執(zhí)行一個程序時,這個決定便把計(jì)算機(jī)的控制權(quán)托付給該程序。一旦程序開始執(zhí)行,可能會做任何事情,但不會超越您在計(jì)算機(jī)上所能做的事。程序可以監(jiān)視您的按鍵輸入并傳送到網(wǎng)站、打開計(jì)算機(jī)上的每一個文件,并將所有文件中的“會”這個字變更為“不會”、傳送粗魯無禮的電子郵件給您所有的朋友、安裝病毒、建立“后門”讓他人遠(yuǎn)程控制您的計(jì)算機(jī)、撥接到尼泊爾加德滿都的 ISP,或者把您的硬盤重新格式化。
所以這點(diǎn)非常重要:永遠(yuǎn)不要從不能信任的資源執(zhí)行甚至下載程序,而“資源”所指的是寫程序而不是給您程序的人。執(zhí)行程序與吃三明治是很好的模擬:如果有個陌生人走到您面前,給您一塊三明治,您會吃嗎?恐怕不會吧;如果是您最好的朋友給您三明治呢?您可能會吃,也可能不會吃,得看她是自己做的還是在路上撿到的。將三明治情境中使用的判斷思考應(yīng)用到程序上,您多半會很安全。
法則二 如果動機(jī)不良的人能夠在您的計(jì)算機(jī)上變更操作系統(tǒng),那么該計(jì)算機(jī)便不再屬于您。
操作系統(tǒng)最終不過是一系列的 0 與 1,被處理器解譯時,會引發(fā)計(jì)算機(jī)做特定的事件,而 0 與 1 改變時,會完成不同的事件。0 與 1 儲存在哪里呢?就是與其它東西共同存在計(jì)算機(jī)上!它們只是文件,但如果其它使用計(jì)算機(jī)的人可以變更這些文件,那就不妙了。
要了解原因,就要把操作系統(tǒng)文件,想象成計(jì)算機(jī)中最能夠信任的文件,且通常是以系統(tǒng)層次的特殊權(quán)限執(zhí)行,也就是說它們可以做任何的事情。此外,可以信任它們管理使用者賬戶、處理密碼變更,以及執(zhí)行誰可以做什么的支配規(guī)則。如果一個動機(jī)不良的人變更這些文件,這些文件就變得無法信任,并且會做此人叫它們做的事,因此沒有什么他辦不到的事。他可以竊取密碼,讓他自己成為計(jì)算機(jī)的系統(tǒng)管理員,或是新增全新的功能到操作系統(tǒng)。為預(yù)防這類型的攻擊,請確定系統(tǒng)文件 (與登錄文件) 的保護(hù)周全 。
法則三 如果動機(jī)不良的人能夠無限制地實(shí)體存取您的計(jì)算機(jī),那么該計(jì)算機(jī)便不再屬于您。
如果一個動機(jī)不良的人能夠使用您的計(jì)算機(jī),他可以做的事情不少。這里列出從石器時代到太空時代的取樣:
·他可以發(fā)動技術(shù)性極低的拒絕服務(wù)攻擊,并用大錘砸爛您的計(jì)算機(jī)。
·他可以把計(jì)算機(jī)的插座拔掉,把它運(yùn)到大樓外面,然后以它要挾贖金。
·他可以用磁盤開機(jī),重新格式化您的硬盤。但是等一等,您說:“計(jì)算機(jī)開機(jī)時,計(jì)算機(jī)上的 BIOS 有設(shè)定提示輸入密碼!边@沒什么難的,他大可打開計(jì)算機(jī)機(jī)殼,變更系統(tǒng)硬件,更換 BIOS 的芯片 (其實(shí),還有很多更容易的方式)。
·他可以把您的硬盤從您的計(jì)算機(jī)移除,然后把它安裝到他的計(jì)算機(jī)并閱讀里面的東西。
·他可以復(fù)制您的硬盤然后帶回他的窩。在那里,他有足夠的時間進(jìn)行暴力攻擊,例如嘗試所有可能的登入密碼。有可用的程序自動化這個工作,假如時間足夠,毫無疑問的他會成功。成功后,前述的法則 1 與法則 2 就派上用場了。
·他可以將您的鍵盤替換成裝有無線發(fā)報(bào)機(jī)的鍵盤,監(jiān)視您輸入的所有訊息,包括您的密碼。
要永遠(yuǎn)確定計(jì)算機(jī)實(shí)體的保護(hù)與其價(jià)值成正比,并記住計(jì)算機(jī)的價(jià)值不是只有硬件的部分,還包括其中的數(shù)據(jù)以及動機(jī)不良之人得以存取您網(wǎng)絡(luò)的價(jià)值。商業(yè)關(guān)鍵性的機(jī)器,至少要放在上鎖的機(jī)房,只讓系統(tǒng)管理員或維修人員存取。但是您可能也要考慮保護(hù)其它的計(jì)算機(jī),并可能使用額外的保護(hù)措施。
如果您帶著筆記型計(jì)算機(jī)旅行,對它的保護(hù)絕對很重要。體積小、重量輕等讓筆記型計(jì)算機(jī)成為旅行良伴的特性,也是讓它們非常容易遭竊的原因。目前有筆記型計(jì)算機(jī)可用的鎖與警鈴,有的計(jì)算機(jī)還能讓您取下硬盤并隨身攜帶。您也可以使用像是 Windows 2000 加密文件系統(tǒng)的功能,有人成功竊取計(jì)算機(jī)時可以減輕損害。但是可以讓您完全確定文件數(shù)據(jù)安全與硬件未被變動的唯一方式,就是在旅行時永遠(yuǎn)將筆記型計(jì)算機(jī)隨身攜帶。
法則四 如果您允許動機(jī)不良的人上載程序到您的網(wǎng)站,那么該網(wǎng)站便不再屬于您。
這個法則基本上與法則 1 相反。在法則 1 的狀況中,動機(jī)不良的人;ㄕ校屖芎φ呦螺d有害的程序到他的計(jì)算機(jī)并執(zhí)行該程序。在法則 4 的狀況中,動機(jī)不良的人則上載有害的程序到別人的計(jì)算機(jī)里,并自行執(zhí)行該程序。雖然當(dāng)您隨時讓陌生人聯(lián)機(jī)到您的計(jì)算機(jī)時,就會有這樣的危險(xiǎn),但是網(wǎng)站涉及的案例絕大多數(shù)都是這一種。許多營運(yùn)網(wǎng)站的人為了自己的好處而過于好客,讓訪客上載與執(zhí)行程序。如同前面所述,如果動機(jī)不良的人能夠在您計(jì)算機(jī)上執(zhí)行程序,令人不悅的事就會發(fā)生。
如果您手上有網(wǎng)站在營運(yùn),必須限制訪客所能做的事情。在您的網(wǎng)站上,應(yīng)該只允許自己或可信任之開發(fā)者所寫的程序。但這些措施可能還不夠,如果您的網(wǎng)站是與其它網(wǎng)站裝載于共享的服務(wù)器上,您需要特別小心。如果動機(jī)不良的人有辦法拖累其它網(wǎng)站之一,那他很有可能會擴(kuò)充他的控制到服務(wù)器本身,因而可以控制所有在上面的網(wǎng)站,包括您的在內(nèi)。如果您是在共享服務(wù)器上,了解該服務(wù)器系統(tǒng)管理員的政策是什么就很重要 (順道一提,在使您的網(wǎng)站公開化前,要確定您已經(jīng)遵循 IIS 4.0 與 IIS 5.0 的安全檢查清單的指示)。
法則五 強(qiáng)大的安全性敵不過脆弱的密碼。
登入程序的目的在于建立您的身份。一旦操作系統(tǒng)知道您的身份,就可以適當(dāng)?shù)氖谂c或拒絕對系統(tǒng)資源的要求。如果動機(jī)不良的人取得您的密碼,他便可用您的身份登入。事實(shí)上對操作系統(tǒng)而言,這個動機(jī)不良的人就是您。您在系統(tǒng)上能做什么他都可以做,因?yàn)樗褪蔷褪悄;蛟S他要讀取您儲存在計(jì)算機(jī)上的敏感信息,例如您的電子郵件;或許您在網(wǎng)絡(luò)上比他的權(quán)限大,所以借用您的身份便可以做平時不能做的事;或許他只想做壞事然后怪罪到您身上;不管如何,保護(hù)您的信譽(yù)是值得的。
永遠(yuǎn)使用密碼。令人驚訝的是,有許多賬戶竟然使用空白密碼。請選擇一個復(fù)雜的密碼,不要使用狗的名字、周年紀(jì)念日期或地方球隊(duì)名稱,還有,別用 ”password” 這個字當(dāng)密碼!選一個混合英文、字母大小寫、數(shù)字、標(biāo)點(diǎn)符號等等的密碼,讓它愈長愈好,并且常常變更。一旦選取了穩(wěn)當(dāng)?shù)拿艽a,要適當(dāng)加以處理,不要寫下
來。如果您一定要把它寫下來,至少把它放到安全或可以上鎖的抽屜中。一個動機(jī)不良的人在找密碼時,第一個會找的地方就是在您屏幕旁邊的黃.色小標(biāo)簽紙。不要告訴別人您的密碼,記得富蘭克林曾說:“若要兩個人保守秘密,只有其中一人死掉才有可能成立!
最后,要考慮在系統(tǒng)中使用比密碼更強(qiáng)力的東西識別自己。舉例來說,Windows 2000 支持智能卡的使用,可以顯著加強(qiáng)系統(tǒng)所能執(zhí)行的識別碼檢查。您也可以考慮生物測量 (biometric) 的產(chǎn)品,像是指紋與視網(wǎng)模掃描儀。
法則六 計(jì)算機(jī)的安全性只等同于可靠的系統(tǒng)管理員。
每臺計(jì)算機(jī)須有位系統(tǒng)管理員:這個人能夠安裝軟件、設(shè)定操作系統(tǒng)、新增與管理使用者賬戶、建立安全性政策,與處理所有其它有關(guān)保持計(jì)算機(jī)開機(jī)與運(yùn)作的管理工作。根據(jù)定義,這些工作必須在系統(tǒng)管理員能夠控制計(jì)算機(jī)的情況下運(yùn)作,如此系統(tǒng)管理員的地位有著無與倫比的力量。一位不可信任的系統(tǒng)管理員能反轉(zhuǎn)所有您采取的安全措施。他可以變更計(jì)算機(jī)上的使用權(quán)限、變更系統(tǒng)安全性政策、安裝有害的軟件、新增不存在的使用者,或是做其它各式各樣的事情。事實(shí)上,他可以破壞任何操作系統(tǒng)的保護(hù)措施,因?yàn)樗褪强刂撇僮飨到y(tǒng)的人,最糟的是他還可以掩飾他的行為。如果您有位不可信任的系統(tǒng)管理員,就很明顯的沒有安全性。
雇用系統(tǒng)管理員時,要認(rèn)知系統(tǒng)管理員所具有之信任的地位,而且只能雇用能擔(dān)保那份信任的人。打電話給該系統(tǒng)管理員的推薦人,詢問有關(guān)他過去的工作紀(jì)錄,特別是在過去雇主公司有關(guān)安全性的事件。如果您的公司能夠接受銀行與其它安全意識高的公司所采取的步驟,您可以照樣操作,并要求系統(tǒng)管理員通過雇用時以及雇用后定期的完全背景檢查。不管您選用什么標(biāo)準(zhǔn),都要貫徹實(shí)施。在您的網(wǎng)絡(luò)上,不要給任何人管理上的特殊權(quán)限,除非這些人已經(jīng)過調(diào)查,對象包括臨時雇員與承包商。
下一步,采取行動幫助誠實(shí)的人保持誠實(shí)。使用登入/注銷工作表以追蹤誰曾出入服務(wù)器機(jī)房 (您一定有間上鎖的服務(wù)器機(jī)房,對吧?如果沒有,請重讀法則 3)。在安裝或?yàn)檐浖墪r,采用“兩人”制度。盡可能把管理工作多元化,如此可以把每個系統(tǒng)管理員所擁有的權(quán)力降到最低。還有,不要使用系統(tǒng)管理員賬戶,取而代之,給每個系統(tǒng)管理員擁有系統(tǒng)管理員特殊權(quán)限的個別的賬戶,如此您可以知道誰在做什么。最后,考慮進(jìn)一步讓系統(tǒng)管理員更難掩飾他的所作所為。例如,將稽核數(shù)據(jù)儲存在唯寫媒體,或是將系統(tǒng)甲的稽核數(shù)據(jù)放置于系統(tǒng)乙,并確定兩個系統(tǒng)的系統(tǒng)管理員是不同的人。當(dāng)您的系統(tǒng)管理員愈可靠,您的問題就越少。
法則七 加密數(shù)據(jù)的安全性只等同于解密金鑰。
假設(shè)您安裝全世界最大、最強(qiáng)固、最安全的鎖在您家的前門,但是鑰匙就放在門前的墊子底下,那么不管您的鎖有多堅(jiān)固也沒有用,不是嗎?關(guān)鍵因素在于鑰匙沒有好好的保存,因?yàn)槿绻⊥嫡业剿,要開鎖可說易如反掌。加密數(shù)據(jù)的運(yùn)作方式是一樣的-不管加密的算法有多強(qiáng),數(shù)據(jù)的安全性只等同于能夠解密的金鑰。
許多操作系統(tǒng)與加密的軟件產(chǎn)品,讓您選擇把加密金鑰儲存在計(jì)算機(jī)里。這個作法的優(yōu)點(diǎn)是方便-您就不必處理金鑰,但是所犧牲的是安全性。這些金鑰通常是隱藏的,有的隱藏方式非常好,但最后不管金鑰隱藏的多好,如果它就在計(jì)算機(jī)里,總是可以找得出來。最后一定會有軟件能夠找到金鑰,因此動機(jī)不良之士也可以找得到。只要有機(jī)會,請使用離線的存放區(qū)放置金鑰。如果機(jī)碼是一個字或詞,請予以牢記;如果不是,就將它匯出到磁盤上、制作備份復(fù)本,并把復(fù)本儲存到不同且安全的地點(diǎn)。
法則八 過期的掃毒程序比起沒有掃毒程序好不了多少。
病毒掃描儀的運(yùn)作方式,是把計(jì)算機(jī)上的數(shù)據(jù)與一組的病毒“簽名”互相比較。每一個簽名是一種病毒的特征,掃描儀在文件、電子郵件或其它地方發(fā)現(xiàn)數(shù)據(jù)與簽名符合時,它就認(rèn)定找到病毒。但是病毒掃描儀只能掃描它所知道的病毒。保持最新的病毒掃描儀簽名檔案是很重要的,因?yàn)槊刻於加行碌牟《井a(chǎn)生。
但問題其實(shí)比這個概念還要深一點(diǎn)。一般而言,新的病毒在其早期的生命階段會造成最大的損壞,正是因?yàn)楹苌偃四軌騻蓽y到它。消息一旦傳開,指出有新的病毒在散布,然后人們更新手上的病毒簽名文件,之后病毒的散布程度就大幅下降。重點(diǎn)是要趕在散布曲線的前端,意即病毒大肆散布前,在計(jì)算機(jī)上更新病毒簽名文件。
事實(shí)上每一家防毒軟件的供貨商都提供由網(wǎng)站取得免費(fèi)簽名文件的方式。其實(shí),許多廠商已經(jīng)“推進(jìn)”他們的服務(wù),每當(dāng)新的簽名文件發(fā)行時,他們會傳送通知。請您善加利用這些服務(wù),同時,也要持續(xù)使用這些服務(wù),讓掃描儀本身 (也就是掃描軟件) 更新。病毒的建立者會定期發(fā)展新的技術(shù),使得掃描儀本身運(yùn)作的方式也有變更的需要。
法則九 完全的匿名不管在現(xiàn)實(shí)或網(wǎng)絡(luò)上都不實(shí)際。
所有人類的互動都涉及某種的數(shù)據(jù)交換。如果有人組合足夠的數(shù)據(jù),他們就可以識別您。仔細(xì)想想一個人在與您簡短的對談中能夠收集的所有信息。只要看一眼,他們就可以判斷您的身高、體重與大概的年紀(jì)。您的口音可能會告訴他們您來自哪個國家,或是來自國內(nèi)的哪一區(qū)域。如果您談話的內(nèi)容不是只有天氣,您可能會告訴他們一些與您的家庭、興趣、住處與以何維生有關(guān)的事情。他人要了解您是誰,并不需要花很長的時間收集信息。如果您渴望絕對的隱姓埋名,最好的方式是住在山洞里,不與任何人接觸。
在因特網(wǎng)上的情形也是一樣。如果您瀏覽一個網(wǎng)站,網(wǎng)站擁有者如果有心,他就有辦法查出您的身份。畢竟由 0 與 1 所組成的網(wǎng)站工作階段,一定能夠找到通往目的地的路,而那個目的地就是您的計(jì)算機(jī)。有很多的方式可以掩飾位,例如,您可以使用網(wǎng)絡(luò)地址轉(zhuǎn)譯,為您實(shí)際的 IP 地址加上屏障;訂閱匿名服務(wù)將位,由以太網(wǎng)絡(luò)的一端轉(zhuǎn)送到另一端,以掩飾您的位;為其它目的使用別家的 ISP 賬戶;只從公共信息站瀏覽特定的網(wǎng)站等等。這些方式讓人更難判定您的身份,但并非全無可能。您確定知道是誰在操作這些匿名的服務(wù)嗎?可能就是您剛瀏覽之網(wǎng)站的擁有者!您昨天瀏覽提供您 10 元折價(jià)券的無害網(wǎng)站呢?或許該網(wǎng)站的擁有者愿意與其它網(wǎng)站擁有者共享您的數(shù)據(jù)。如果是這樣,第二個網(wǎng)站所有者或許可以把兩個網(wǎng)站的信息相互關(guān)聯(lián),進(jìn)而判定您的身份。
難道這代表網(wǎng)絡(luò)上的隱私權(quán)是不可能的嗎?一點(diǎn)也不。那意味著在因特網(wǎng)上保護(hù)您隱私的最好方式,與保護(hù)您日常生活的隱私?jīng)]有不同-都是經(jīng)由您的行為。閱讀您瀏覽網(wǎng)站的隱私權(quán)聲明,并且只與您能接受其做法的網(wǎng)站交易。如果您擔(dān)心 Cookie,就停用該功能。最重要的是,請避免毫無選擇地瀏覽網(wǎng)站-如同絕大多數(shù)的城市都有治安不好的區(qū)域,因特網(wǎng)也是一樣。但是如果您要的是徹底與全面的匿名,還是著手找一個山洞比較好。
法則十 技術(shù)不是萬能藥。
技術(shù)能夠做到令人驚奇的事情。近年來,前所未有的廉價(jià)、更具威力的硬件與利用硬件的軟件日漸開發(fā),因而為計(jì)算機(jī)使用者、加密技術(shù)的發(fā)展與其它科學(xué)打開了新的領(lǐng)域。如果我們努力研究的程度足夠,很難不相信技術(shù)可以帶來一個沒有風(fēng)險(xiǎn)的世界
。但是這完全是不實(shí)際的。
完美的安全性需要一層不存在的極至境界,而事實(shí)上也不太可能存在。這對軟件與人類有興趣的所有領(lǐng)域而言都是事實(shí)。軟件開發(fā)是一個不完美的科學(xué),所有的軟件都有問題,其中有些可被利用而造成安全性漏洞,那不過是嚴(yán)酷的生活現(xiàn)實(shí)面。即使軟件能夠做到十全十美,還是無法解決所有的問題。就某個程度而言,大部分的攻擊牽涉到人性的操縱-這通常稱為社交工程學(xué) (social engineering)。
增加成本與攻擊安全性技術(shù)的困難度,動機(jī)不良之士會將焦點(diǎn)由技術(shù)轉(zhuǎn)向在控制臺的人,作為響應(yīng)。了解您在維護(hù)堅(jiān)固安全性的角色很重要,否則您可能會成為自己系統(tǒng)保護(hù)的裂縫。
解決方法在于認(rèn)知兩個重要的部分。第一,安全性是由技術(shù)與政策兩者所組成,也就是說,組合技術(shù)與使用它的方法,最終會決定您系統(tǒng)安全的程度。第二,安全性是一個過程而不是目的,它不是一個可以一次永遠(yuǎn)“解決”的問題,而是好人與壞人之間一連串的行動與對抗。關(guān)鍵是要確定您有良好的安全性意識與穩(wěn)健的判斷力。