Java何以保網路安全(轉)
Java何以保網路安全(轉)[@more@] Java是惟一一種從設計的開始就考慮安全性的移動程式碼。雖然並不完美,Java卻在程式的功能性和保護主機的安全性兩方面達到了最大的平衡,並且Java非常適合將程式碼從一個平臺向另一個平臺的移植。
Java採用一個稱為“sandbox”的模型來執行移動程式碼。不被信任的移動程式碼只能在sandbox中執行而不能進行多數針對主機的操作,比如讀、寫或刪除檔案,監聽或接受網路連線等等。
當瀏覽器載入含有Java applet的頁面時,它從Web伺服器上取Java的位元組程式碼,然後將程式碼傳給稱為位元組程式碼檢驗器的Java部件。檢驗器確保位元組程式碼有正確的格式,不會超出內部堆疊的邊界,這就防止了程式的崩潰。第二個Java部件——類載入器,決定一個Java applet在何時、以何種方式將程式碼加入正在執行的Java環境,保證此applet不會取代任何系統級別的內容。(每一個Java程式由一個或多個類、資料物件以及如何運算元據的方法所組成。)
最後,還有第三個部件稱為安全管理器,當一個有潛在危險的方法試圖執行時,安全管理器就會起作用。是否執行這種有潛在危險的方法取決於需求此種方法的類來源於何處。舉例來說,內部本身的類比透過網路獲取的類具有更大的特權。(因為這一原因,要注意千萬不要將不明出處的類透過將其路徑放在系統的CLASSPATH下而成為內部本身的類。)
由此可見,位元組編碼檢驗器、類載入器和安全管理器使得Java程式高效而安全。即使這樣,任何一個部件中的程式設計錯誤都會導致安全問題。這就是為什麼某些攻擊只是針對某一個特定廠商的JVM,這是因為並不是Java本身的安全模型出了問題,而是因為實現這一模型的方法出了問題。
隨著Java程式的複雜化、實用化,必須要脫離“sandbox”執行。這可以透過Java開發工具包JDK(Java Development Kit )1.1來實現,JDK在系統中擴充套件了加密的API,並且支援數字簽名。在Java文件中(.JAR檔案)的applet可以透過簽名來保護,允許終端使用者知道程式是來自可信任的地方,並且未經過任何修改。透過JDK1.1,如果使用者透過簽名確信applet程式碼來自可信任的地方,便通知瀏覽器和JVM將獲取的程式碼與原生程式碼同樣對待,獲取完全的許可權。
Java 1.2(後來更名為Java 2)在安全方面更進一步,它提供許可權不同的模型來執行不同的程式碼,也就是說,不管是原生程式碼、下載的信任程式碼或下載的非信任程式碼都可以在不同的特權環境中執行。總的說來,Java的安全漏洞較少,尤其是Java 2 ,在安全和效能兩方面都有很大提高。
Java採用一個稱為“sandbox”的模型來執行移動程式碼。不被信任的移動程式碼只能在sandbox中執行而不能進行多數針對主機的操作,比如讀、寫或刪除檔案,監聽或接受網路連線等等。
當瀏覽器載入含有Java applet的頁面時,它從Web伺服器上取Java的位元組程式碼,然後將程式碼傳給稱為位元組程式碼檢驗器的Java部件。檢驗器確保位元組程式碼有正確的格式,不會超出內部堆疊的邊界,這就防止了程式的崩潰。第二個Java部件——類載入器,決定一個Java applet在何時、以何種方式將程式碼加入正在執行的Java環境,保證此applet不會取代任何系統級別的內容。(每一個Java程式由一個或多個類、資料物件以及如何運算元據的方法所組成。)
最後,還有第三個部件稱為安全管理器,當一個有潛在危險的方法試圖執行時,安全管理器就會起作用。是否執行這種有潛在危險的方法取決於需求此種方法的類來源於何處。舉例來說,內部本身的類比透過網路獲取的類具有更大的特權。(因為這一原因,要注意千萬不要將不明出處的類透過將其路徑放在系統的CLASSPATH下而成為內部本身的類。)
由此可見,位元組編碼檢驗器、類載入器和安全管理器使得Java程式高效而安全。即使這樣,任何一個部件中的程式設計錯誤都會導致安全問題。這就是為什麼某些攻擊只是針對某一個特定廠商的JVM,這是因為並不是Java本身的安全模型出了問題,而是因為實現這一模型的方法出了問題。
隨著Java程式的複雜化、實用化,必須要脫離“sandbox”執行。這可以透過Java開發工具包JDK(Java Development Kit )1.1來實現,JDK在系統中擴充套件了加密的API,並且支援數字簽名。在Java文件中(.JAR檔案)的applet可以透過簽名來保護,允許終端使用者知道程式是來自可信任的地方,並且未經過任何修改。透過JDK1.1,如果使用者透過簽名確信applet程式碼來自可信任的地方,便通知瀏覽器和JVM將獲取的程式碼與原生程式碼同樣對待,獲取完全的許可權。
Java 1.2(後來更名為Java 2)在安全方面更進一步,它提供許可權不同的模型來執行不同的程式碼,也就是說,不管是原生程式碼、下載的信任程式碼或下載的非信任程式碼都可以在不同的特權環境中執行。總的說來,Java的安全漏洞較少,尤其是Java 2 ,在安全和效能兩方面都有很大提高。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-959726/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 確保預言機網路安全運轉
- 五大手段確保網路的安全(轉)
- 網路安全的保護神——亢天防黑牆(轉)
- VOIP連線員工,Juniper確保網路安全方案(轉)
- 保證網路安全有哪些方式?
- 網路安全保衛戰不容有失
- 如何保證無線網路安全
- 保衛校園網路安全的五個必備策略(轉)
- 網路安全防範技術主要包括哪些?如何保證網際網路安全?
- 網路安全等級保護分為幾級?網路安全學習教程
- 基於Linux的網路安全策略和保護措施(轉)Linux
- 什麼是網路安全等保服務
- 網際網路公司資料安全保護新探索
- 國務院:全面加強網路安全和資料安全保護
- KPCB:女性何以能夠統治網際網路
- 溫馨小提示:教你保護網路安全!
- 7個溫馨提示,教你保護網路安全!
- 保護好你的WIFI無線網路安全WiFi
- 維護網路安全保護人民利益
- Linux網路安全策略和保護措施Linux
- 計算機網路——如何保證網路傳輸的安全性計算機網路
- 【網路安全基礎】如何區分等保備案和等保測評?
- 保護網站安全網站
- SCO UNIX網路安全管理 (轉)
- 網際網路通訊安全之終端資料保護
- 基礎:全面保護你的Java程式安全(中)(轉)Java
- AI防護網路安全?有時它也自身難保AI
- 網路安全等級保護真的很重要嗎?
- 代理伺服器是如何保護網路安全的?伺服器
- 保護無線網路安全連線九個技巧
- 【等保知識】報業網路安全等級保護定級參考
- 網際網路的安全是如何保證的:TLS、SSL 和 CATLS
- 網路遊俠:使用WEB應用防火牆保護網站安全Web防火牆網站
- 落實網路安全法多網際網路公司推送個人資訊保護條款
- 網聯汽車存安全隱患美當局呼籲加強網路安全保護
- 網路安全和伺服器安全有什麼區別?如何保護您的網路伺服器伺服器
- ASP網路安全手冊(1) (轉)
- 無線網路安全標準(轉)