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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 確保預言機網路安全運轉
- 網路安全防範技術主要包括哪些?如何保證網際網路安全?
- 網路安全等級保護分為幾級?網路安全學習教程
- 什麼是網路安全等保服務
- 網際網路公司資料安全保護新探索
- 網路安全保險將迎大發展!眾至主動風險管理體系,賦能網路安全保險
- 為小微企業解決80%網路安全風險?上海保險業推出普惠版網路安全保險!
- 計算機網路——如何保證網路傳輸的安全性計算機網路
- 溫馨小提示:教你保護網路安全!
- 7個溫馨提示,教你保護網路安全!
- 眾至科技:網路安全保險如何定價?
- 網路安全保險守護企業安全|綠盟科技聯合前海財險釋出網路安全保險服務2.0業務
- 【網路安全基礎】如何區分等保備案和等保測評?
- 網際網路通訊安全之終端資料保護
- 國務院:全面加強網路安全和資料安全保護
- AI防護網路安全?有時它也自身難保AI
- 網路安全等級保護真的很重要嗎?
- 代理伺服器是如何保護網路安全的?伺服器
- 保護網站安全網站
- 【等保知識】報業網路安全等級保護定級參考
- 網際網路的安全是如何保證的:TLS、SSL 和 CATLS
- 網路安全和伺服器安全有什麼區別?如何保護您的網路伺服器伺服器
- 網路安全中等級保護定級流程是什麼?
- 【網路安全】什麼是等保?等保2.0與1.0有什麼差異?
- 網路安全中等保是什麼?為什麼要進行等保測評?
- 【網路安全技術篇】保護網站免受劫持的方法有哪些?網站
- 網際網路對業務轉型的安全影響
- 人工智慧保衛網路安全:Waston開始被用於打擊網路犯罪了人工智慧AST
- 在美國“輕量化”網路武器威脅之下, 企業如何保護自身網路安全?
- 北京檢方釋出《網路安全刑事司法保護白皮書》
- Little Snitch 5 for Mac:保護你的隱私和網路安全!Mac
- 網路安全行政命令:保護軟體供應鏈
- 中小企業如何給安全“加防”?網路安全保險瞭解一下
- 華納雲:網路安全和伺服器安全有什麼區別?如何保護您的網路伺服器伺服器
- java synchronized 保護執行緒安全Javasynchronized執行緒
- 【網路安全】知名網路安全企業有哪些?
- 為了保護當今的網路,安全必須無處不在
- 安芯網盾:硬核能力,築牢重保期間網路安全屏障
- 網路安全—xss