當前位置:編程學習大全網 - 源碼下載 - java applet的用途是?謝謝

java applet的用途是?謝謝

在傳統的應用開發中,開發人員常常為了將為壹種機器平臺開發的程序移植到其它的平臺上而感到頭痛,Java的出現大大減輕了開發人員的這種負擔,它的“壹次編成,到處運行(Write Once,Run Anywhere)”的功能使開發人員能夠開發出跨系統跨平臺運行的應用程序。現在各種Java應用中都大量使用了Java applet,它是壹種特殊的Java小程序,這些applet能夠給人們帶來更為活潑更具吸引力的Web頁面。各種具有Java功能的瀏覽器,如Netscape Navigator、Microsoft Internet Explorer(MSIE)等,會自動下載並執行內嵌在Web頁面中的 Java applet。  然而,Applet在給人們帶來好處的同時,也帶來了潛在的安全隱患。它使applet的設計者有機會入侵他人的機器。實事求是的講,這個世界上沒有壹個電腦系統是百分之百安全的, 但由於現在Internet和Java在全球應用得越來越普及,因此人們在瀏覽Web頁面的同時也會同時下載大量的Java applet,就使得Web用戶的機器面臨的安全威脅比以往任何時候都要大。  上述問題到目前為止還沒有壹種完全的解決方法。好在現在Java 的設計者已註意到了這壹點,並盡其所能加以限制, 例如,在 JDK1.1 版中就采用逐漸流行的數字簽名技術以減少applet可能造成的危險。 盡管如此,目前Web用戶的機器還是很容易受到applet的攻擊,而且現在用戶能夠采取的對策並不多。在Java applet 四處充斥的今天,人們使用具有 Java功能的瀏覽程序之時,對於瀏覽的網頁的地點就不能不多加留意。  Web頁面中的執行文件到底會帶來什麽樣的潛在危險呢?大致上可分為四類∶更改系統、侵犯隱私權、非法入侵攫取資源、與使用者敵對。 惡意之1∶更改系統  像 Java 這樣功能強大的程序語言,不管是在電腦的硬盤上還是在文件系統中,都具有修改數據的能力。 Java 中包含有許多預先定義好的類(class),其中的方法(method) 可以刪除或修改文件、更改使用中的磁盤內容、殺掉執行程序或其執行線程 (thread)。 這些功能很有可能會被applet的設計者濫用。更改系統可能是所有潛在危險中最嚴重的壹種,Java 的設計者對於限制此類危險已花費了很大的心思;相反的,ActiveX 則對其引發的可能結果尚未加以限制。  所謂的更改系統包括入侵系統。在不安全的使用 Java時,可能會被applet發現攻擊的路徑。 由於黑客 (hacker) 們總是想方設法利用各種手段入侵他人的電腦系統 ( 取得進入系統與使用權限 ),而我們用戶能做的不過是小心使用Java而已,因此保證Java運行環境的安全最主要的還是Java設計者的責任,Java設計得必須保證在用戶下載applet時沒有其他進入系統的安全漏洞產生。  由於Java 可在多種操作平臺上運行,因此惡意的applet只要在其中壹種操作系統(例如Solaris) 上攻擊成功, 在攻擊其它作業系統 ( 例如 Windows NT) 時也能得逞。因此Java在帶來應用程序跨平臺執行的同時,也帶來了惡意applet的這種跨平臺攻擊的可能性。  利用 Java 來入侵電腦系統並非不可能的事情。曾發現許多目前已知的 Java安全漏洞的美國普林斯頓大學安全Internet編程小組(Safe Internet Programming Team),就在實驗室中展示了這種攻擊型的 applet。雖然,目前針對已發現的壹些安全漏洞已經提供了壹些“補丁(patch)”程序, 但其它更為復雜的攻擊仍可能潛藏著而未被人們發現。  在如今各種重要的電腦系統中,這種更改系統型的 applet 攻擊對數據造成的破壞是非常嚴重的。如它可能會破壞壹些表面上看來很安全的數據庫中的財務記錄,導致公司財務損失而破產;或者是竄改醫院中病人的病情數據,導致醫療不當,甚至因此導致病人死亡。所以在目前未能打到解決方案的情況下,對Java applet的使用要非常小心,不要讓重要的數據系統暴露在這種新型的攻擊危險中。 Internet這種全球最開放的系統幾乎可以稱得上是電腦黑客們的樂園,這從Internet上層出不窮的入侵事件便不難看出。因此如何使 Java 不致於成為為他們的破壞工具,不管是對開發員來講還是對用戶來講都是壹個重要的課題。 惡意之2∶侵犯隱私權  第二種類型的攻擊,就是暴露他人電腦主機的秘密數據。例如,在 Unix 系統中如能訪問/etc/passwd( 記錄系統中所有使用者的姓名與密碼 )這個文件,就有可能入侵整個系統 。  另外,電腦系統也可能會造成壹些敏感性資料的泄露,例如必術不正的公司可以利用商業間諜偷取對手公司的業務計劃。個人用戶對於其私人的電子郵件或財務記錄是否可以公開也要慎重考慮,任何可藉由電子郵件傳送或經由網絡傳遞的秘密資料,都有可能受到入侵。  利用 Java 的功能,會產生雙重偽造的可能性,典型的電子郵件偽造(mail-forging )的情況會更加嚴重。Applet 先使用系統送出假信息,以欺騙真的郵件。 最後,目前許多系統中盛行的聲音功能,也可能會導致竊聽。如果攻擊者能掌握系統的麥克風,就有可能進行竊聽的行為。 更隱秘的竊聽是訪問監視進程表(process table )和相關的文件。網頁式的竊聽,還可能包括追蹤某壹特定使用者所經過的網路連結。  Java 對於某些形式的網絡攻擊可以成功的進行防衛。例如,文件系統的輸入輸出操作就受到嚴格的控制。不過,這又與 applet 常需要壹條通道以便傳回數據的要求相違背,因為applet 總是必須與原來的服務器壹直相連。電子郵件的偽造防衛起來則比較困難。由於缺乏對客戶端連接接口的限制功能,電子郵件的偽造不太可能杜絕。 惡意之3∶拒絕系統服務  拒絕系統服務式的攻擊,會讓系統資源無法正常使用。通常的做法是利用壹個執行程序吸取超過正常系統所分配的資源,甚至是霸占整個系統。這類攻擊還可分為幾個小的類型,例如填滿文件系統或用光所有可用的文件資源;調用所有系統的內存,產生數以千計的窗口,以便有效的阻止屏幕輸出或找開新的窗口;產生許多高優先權的執行線程,以耗光 CPU的執行周期。 雖然這壹類危險的破壞作用也很大,但它們似乎並未引起Java 的設計者的重視。  人們對防止這種攻擊的重要性還有些爭議。在大部分情況下,拒絕系統服務式的攻擊,比較接近與使用者敵對的攻擊,因為從此類攻擊中使系統恢復正常壹般比較容易,只需要重新啟動系統即可。不過,即使如此,在壹些重要的系統中也可能會造成嚴重的後果,人們當然誰也不希望在與重要的系統連結時重新啟動系統吧。例如,在處理股票交易的機器上蓄意拒絕系統服務,其造成的損失將難以想像的。  拒絕系統服務式的攻擊是 Java 常見的安全問題之壹。 現在Internet上有壹個專門介紹此類問題的站點,這就是Mark La Due的Hostile Applet主頁 ( http://www.math.gatech.edu/~maladue/HostileApplets.htm ) 中,不興趣的讀者不妨壹看,在這裏面介紹了許多實際的例子。要制造這種類型的攻擊實際上並不難,不過由於目前 Java 的安全模型並沒有提供很好的解決辦法,因此對它的防範卻比較困難。  還有壹種類型的 applet 攻擊,只是造成使用者的困擾,雖然與以上三種攻擊相比危險性小得多,但也值得引起重視。例如,故意發出不經意的聲音,或在屏幕上顯示不雅的畫面等等。另外,還有單純的程序設計錯誤而引起的壹些不良後果也屬於此類。正如前面所講的,某些類型的拒絕系統服務式攻擊,也可以歸類為單純的敵對行為,例如,產生眾多窗口的操作,可能只是令人困擾而已,並不會造成破壞系統的數據。 Java的安全機制  Java語言的安全模型與傳統的安全方法有很大的不同。第壹,以前絕大多數操作系統都允許應用程序訪問大部分系統資源。管理者必須依靠用戶來對系統資源進行保護(如為不同的人設置不同的訪問權限等)。第二,在應用程序執行前依靠用戶來對其進行安全處理(如進行消毒等)。這種安全方法有兩個明顯的缺點:它依靠用戶來進行驗證,而且要依賴於驗證軟件本身的可靠性。而Java則采取了許多新的安全措施,它的最主要的安全機制就是Java沙箱。 為了抵抗這四種類型的 applet 攻擊,Java安全模型提供了三把利箭∶字節碼驗證器(Byte-Code Verifier)、applet類裝載器(Class Loader)以及安全管理器(Security Manager)。 這三者結合起來可在 applet 的裝載與執行階段,對文件系統、網絡與瀏覽程序的內部存取做進壹步檢查。這三者缺壹不可,***同維護著Java applet的安全。

  • 上一篇:ene指標(ene指標參數)
  • 下一篇:關於壹部電影,幫忙找壹下電影叫什麽名字
  • copyright 2024編程學習大全網