程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> 慎防惡意的Java Applet

慎防惡意的Java Applet

編輯:JAVA編程入門知識

  在傳統的應用開發中,開發人員常常為了將為一種機器平台開發的程序移植到其它的平台上而感到頭痛,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( 記錄系統中所有使用者的姓名與密碼 )這個文件,就有可能入侵整個系統 。

  • 首頁
  • 上一頁
  • 1
  • 2
  • 下一頁
  • 尾頁
  • 共2頁
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved