企業在 Internet 上做生意安全嗎?
會不會羊肉吃不成,倒惹了一身羊羶; 沒有賺到錢, 反而將企業的重要資訊洩露給在這網路上面橫行的電腦宵小呢?
根據美國1994年四月份的Technology Review 的報導,企業的電腦系統被人非法闖 入事件的數量正是呈幾何級數般地上升中。據統計1990年有130次、1991年有800 次、1992年有1300次,而去年卻有高達2300次非法闖入電腦系統的事件被報告到 由專管Internet電腦網路安全的電腦緊急處理小組(CERT),這些電腦非法闖 入事件通常都造成了鉅額的財務損失。
在這些非法闖入的事件中,最引人注目的是在去年二月份被美國聯邦調查局(FBI) 所逮到的Kevin Mitnick。他在Internet中非法闖入號稱最安全的 Digital 電腦 網路系統,將近百萬元的電腦程式碼盜走。另外一個事件是在1994年十月中,一 個不知名的電腦賊闖入了美國通用電氣公司(GI)的Internet網路中,害得GE將 它的網路系統關閉了72小時。
根據美國的新聞媒體報導,在1995年11月到12月的這幾週之間,就有幾百個公司 和教育單位的電腦系統被人經由 Internet 闖入破壞;同一個時間台灣的媒體也報導了幾則令人噴飯的 Home Page 被人惡作劇的案例。這些案例可能只是冰山露 出的一個小角,有更多的闖入和攻擊可能沒被偵查出來。
......................
......................
以往各大企業的電腦系統都是閉鎖式的,也就是只有一種廠牌專用的軟體和硬體設 備才能在企業內部電腦網路上通行,而且具有這種電腦專業知識的人員也很有限; 現在由於盛行標準的開放式網路系統,各種不同廠牌的硬體和軟體都可以在企業內 部的網路上運作,而且由於個人電腦的普及,具備有闖入企業電腦網路所需的專業 知識的人口要比以往多了好幾十倍。
當企業的電腦網路和 Internet 相連以後, 安全上的顧慮要比以前增加很多,而許 多網路設計人員可能不知道侵入這些電腦有多麼容易,更糟糕的是,在 Internet 上可以很容易得到有關網路上安全漏洞和如何潛入別人電腦中去為非作歹的各種信 息,使得這個網路在安全上的危機重重。
......................
......................
最近,Java 電腦語言在全球資訊網上的崛起,又使得在 Internet 上做生意的安全 情況有了另外一個截然不同的注視焦點。在沒有像 Java 這種電腦語言來寫 Internet 上的應用程式之前,全球資訊網上的交易主要是靠 HTML 之中的表格來進 行的。
在使用這種表格填上信用卡的號碼去購物之前,比較謹慎的瀏覽器都會提出一個不 安全的警告信號,這主要是因為所有用 HTML 表格所傳送的資料,在網路上都是以 明碼傳輸的,這些明碼很容易被人盜取來做非法的用途。
用 Java 電腦語言所寫成的 applet 可以做出比 HTML 表格還要複雜上幾百倍的資 料處理工作,例如將使用者輸入的重要資料轉變成非常不易破解的密碼以後,再交 到Internet 的網路上傳遞,使宵小就算是盜取到了資料,也只是一堆無法識讀的亂 碼而已,不能用來為非作歹。除此之外,Java 電腦語言能讓 Internet 上的運算模 式接近企業的主從運算環境,而且它又有不受客戶端作業系統平台限制等的種種優 點,這些長處使得 Java 變成1996年最熱門的電腦語言。
Java 電腦語言的設計人員深知安全問題是上 Internet 的最大隱憂,因此在設計這 個要在全球資訊網上運作的語言時,就將層層地安全保護措施放到 Java 之中,以 免程式設計師在用 Java 去開發全球資訊網上的程式應用時,有意、無意、故意或 惡意地破壞了客戶端電腦環境的安全,同時也要防止宵小利用 Java 的 Applet 來 胡作非為。
這些層層的安全保護措施可以分成四層:第一層確定 Java 電腦語言簡單安全;第 二層確認所載入要執行的程式正確;第三層確保Applet執行時的行為規矩;最後一 層則確切保護客戶端執行環境的安全。
在電腦語言方面,Java 把令程式設計師頭痛的 pointer 運算刪除了;很多可以用 不同方法去達成的工作簡化成只能用一種方式來做。程式設計師固然少了一些可以 用來誇耀朋儕的特殊程式寫作方法,但同時也減少了程式設計師因語言的難度而犯 錯誤的機會。在程式編譯的時候,Java 的程式編譯器會將一些在語法上不安全的錯 誤抓出來,以確保原始程式碼不違反安全的守則。
Java 的程式是先編譯成位元碼(bytecode),然後再下載到客戶端的電腦上解譯執 行的。為了要確定所欲執行的程式的確是經過 Java 的編譯器所編譯出來的,而且 要確保這些要被執行的 Applet 沒有被人動過手腳,因此在程式解譯執行之前,都 要先經過一番檢查確認的手續,在所有的程式碼都被仔細地檢查過以後,才開始執 行程式的運算工作。
在程式開始執行以後,Java 的解譯器也是步步為營地防止 Applet 程式有出軌的行 為,例如運算矩陣時超出事先預定的矩陣範圍,或是要越界去擷取其他物件中的資 料等不軌的行為,都會產生執行時的錯誤信號,並馬上中止程式的運轉。而且從不 同地方所載入的類別程式分存放在不同的名字隔間之中,不會和原始的類別程式混 淆不清。
Applet在客戶端的電腦上執行時,除非事先經過組態配置的設定,它是不允許去更動 客戶端的電腦環境和檔案的,它也不容許Applet去讀取客戶端的檔案資料,更不能執 行客戶端的現有程式。Applet 只能和自己的 Web 伺服器互通訊息,而不能任意地和 網路上的其他電腦互通款曲。這些嚴格地限制是要確保從遠方來的 Applet 在執行時 ,不會對客戶端的電腦造成傷害,也不會將電腦病毒傳播進來。
雖然 Java 在設計時已經放入了重重嚴密的關卡,但是在實務上是不可能把所有在 安全上的漏洞完全杜絕的。例如,上述的第二層到第四層安全防護措施主要是靠在 客戶端瀏覽器下面執行 Java Applet 的虛擬機器(JVM)和 Java 的一些基本的類 別程式庫來把守的,如果採用被人動過手腳的瀏覽器,則這些 Java 的層層客戶端 安全措施就很可能無法發揮效用了。
在今年三月中, Internet 上管理安全的幾個單位就發出兩則和 Java 有關的安全 警告:其一是電腦駭客(hacker)可以透過 Applet 並利用一些在 TCP/IP 及目錄 服務(NDS)上的弱點,繞過 Internet 的防火牆;另一則是透過 Java 的組態改變 ,駭客可以把類別程式像伏兵一樣地預藏在客戶端的電腦中,以便日後開門揖盜。 雖然這兩個漏洞已被新版本的 NetScape 和新版本的 Java 開發工具箱(JDK)將它 們堵塞起來了,但是這也展示了 Java 不能完全阻擋無孔不入的駭客和宵小的侵襲。
除此之外,一些傳統上電腦安全的漏洞,Java 也是無法加以防範的:例如駭客可以 用試錯的方法去破解電腦使用者的密碼;或是利用類似木馬屠城的手法,騙取電腦 使用者信用卡號碼之類的機密資料等等,都不是任何一個電腦語言可以防範的。
對於全球資訊網上的用戶而言,如欲在網路上購物時,一定要本著「防人之心不可無 」的心情,小心謹慎地處理自己的機密資料,以免被歹徒盜用。對欲在 Internet 上 安心做生意的公司而言,在電腦安全上還是有很長的一段路要走的,在 Internet 上 最新的安全動態和安全工具更是要隨時留意。
......................
......................
如果員工可以任意地到 Internet 上面隨便下載 freeware 的程式到企業內部的網路 上時,難免會將一些帶有電腦病毒的軟體帶到要執行企業重要任務的網路上,造成污 染。而且,宵小和駭客也很容易藉著開放的 Internet 潛入到企業內部的網路之中, 以伺機進行偷竊或破壞的勾當。防火牆固然可以保障網路的安全,但也非安全的萬靈 丹。
其次,如果員工可以無限制地上 Internet 閒狂的話,很有可能有些員工在上班時不 務正業,把寶貴的時間都花在全球資訊網的瀏覽器上,使得生產力大為降低。甚至, 有些不肖的員工會到 Internet 上的一些傷風敗俗的網站去瀏覽,這對公司所可能造 成的傷害就會更大了。
但是,全球資訊網也有一些不容大企業去忽視的正面利益:Web 伺服器和瀏覽器軟體 的價格便宜、性能穩定、安裝容易、而且又操作簡便;再加上一些在 Internet 上的 現成工具和語言,諸如 CGI、HTML、 Java 和搜尋器,以及一些瀏覽器的附加程式等 等,使得欲在網路上找尋資訊,或者是處理事務因為有了這些得心應手的工具,而達 到事半功倍的效果。
一個員工眾多的大型企業,其內部的網訊網路多半是由 LAN、WAN 和一些 internet- working 的網際網路器材所連接而成的;也就是說,在企業內部的網路是四通八達的 。既然讓員工上 Internet 會有很多的顧慮,為什麼不利用 Internet 的模式和現有 的工具軟體,在企業的內部的網路上架設一個小型的全球資訊網呢?
這種小型的全球資訊網就是 Intranet。 企業內的員工可以在 Intranet 內通行無阻 ,但是不一定能到外界的 Internet 上面去;在企業外的一般 Internet 的用戶則不 能隨意地進入企業的 Intranet 之中。
Intranet 利用企業內部現有的硬體和網路設施, 只要加上那些在 Internet 上使用 的電腦軟體,就可以讓公司的員工享有公司內部的豐富資訊,並且可以讓很多企業內 部的業務自動化。例如,一個有幾萬個員工的大公司中,人事的異動是非常頻繁的, 利用 Web 的伺服器, 可以將最新的內部求才通告放到 Intranet 上,讓有意在公司 內部換工作的員工可以很快地找到合適的職位去應徵,完全取代過去每週發行的厚厚 一本求才簡訊的那種既不經濟、又緩慢的方式。
又例如公司內部的組織表、電話目錄和一些員工福利和保險等等的業務,都可以利用 HTML 和 Java 去將之自動化起來, 甚至會議的安排和聯絡事宜,也可以藉著那些現 有的軟體去開發出一些簡便的應用程式。那些在 Internet 上使用 HTML 和 Java 所 衍生出來的安全顧慮,在 Intranet 上幾乎都不存在,也不怕員工在 Intranet 上閒 逛,而消耗了寶貴的人力資源。
為了要保障在 Internet 上客戶端電腦的安全,在 Java 之中建立的層層的防禦設施 ,使得 Java 的 Applet 所能做的事情受到很多的限制,甚至有人懷疑 Java 除了可 以寫一些 Game 和動態的 Home Page 之外, 幾乎不能再提供什麼實質的效益。但是 ,這種 Java 安全故慮的情形般到 Intranet 上,又是另一個完全不同的境界了。在 解除了重重的安全限制之後,用 Java 所寫成的 Applet 和應用程式可以發揮主從運 算的最大功效。而且,現在就可以馬上用 Java 來開發一些企業內部的應用程式,以 增進員工的工作效率和生產力。
由於 Intranet 能使企業內部的員工盡其才、電腦盡其用、網路盡其利、資訊暢其流 ;而且又沒有安全的顧慮,所以它也像是全球資訊網的盛行一般地在大型企業之中風 行起來了。
防火牆和牆內所有的電腦到底只是機器而已,機器的本質是信任其他的機器。入侵 者只要找到一個小破綻,進入企業的網路中,就可以像是黑旋風一樣地感染到企業 網路內部的所有節點,並且躲藏在網路中,不易教人發現。以 Kevin Mitnick 的案 例來說,美國聯邦調查局最後是利用另一個電腦罪犯的協助,才把他逮出來的。 網路管理人員要知道,光用防火牆一項技術並不能確保企業內部網路的安全,網路 內部的各節點要有完善的安全措施,尤其是採用UNIX作業系統的節點;在網路上往 來的重要資料一定要有週密的加密(encrption)措施,尤其是那些像密碼、信用 卡帳號和銀錢往來之類的極機密資料。
對於那些重要節點上叩門的外來者一定要有一套完整的驗證措施,最好是應用電子 簽名之類的方法來驗證;在網路上的各節點一定要經常地巡邏和監控,遇到有不正 常的情況要馬上加以詳細調查。除了這些和電腦軟體和硬體有關的安全防禦措施之 外,一些日常的安全行政工作也很重要,例如當一個企業內部的員工離職時,他的 電腦 ID 應該馬上被封住,不讓任何人再使用。
此外,網路安全人員也應該隨時注意 Internet 上網路安全的最新動態,隨時觀察 電腦罪犯是不是又出了些什麼破網的怪招;訂閱由CERT 所出版 Advisory 可以得 到一些安全防禦的新知,要訂閱它只要送一個 E-mail 到cert-advisory-reguest@ cert.org去,就會自動地被加入 CERT 的訂戶名單中了。
企業的網路是一個企業的生命線,如果沒有做好各項安全防禦措施就冒然接連上 Internet 的話,很可能會被在 Internet 上橫行的宵小輕易地入侵,而造成企業無 法彌補的傷害和損失。但是,所有的安全措施都是要花時間和金錢來做的,在短時 間內任何人也無法做到一個滴水不漏,絕對安全的電腦網路。
當然,安全和使用的便利成反比,越便利用戶的系統,安全上的漏洞越多;反之, 越安全的系統,在步步設防之後,必然對電腦的使用者造成巨大的不便,甚至無法 自動化。因此,要如何平衡這兩者,使其既安全又便利,是網路設計人員的一大挑 戰。電腦網路設計人員應該要將企業的電腦網路安全問題,做一個整體性的安全風 險評估,選擇那些風險最高而又花費最少的項目,先行著手去做才是一個務實的手 法。
[回首頁 Back to Home | 上一頁 Previous Page | 下一頁 Next Page | 書的主頁 Book Index ]
Symon Chang 小台哥 Symon & Associates, CA. U.S.A symonchang @ earthlink.net Last modified: 01-08-97