我想評估一個軟件解決方案,其中多個人已提交JAR文件以在Windows上執行任務。Java JAR文件可能會損壞您的系統,您如何檢查它在做什麼?
是否有可能檢查JAR文件是否執行除聲稱在您的計算機上執行的任何其他不需要的行爲?
我想評估一個軟件解決方案,其中多個人已提交JAR文件以在Windows上執行任務。Java JAR文件可能會損壞您的系統,您如何檢查它在做什麼?
是否有可能檢查JAR文件是否執行除聲稱在您的計算機上執行的任何其他不需要的行爲?
嘗試反編譯器,像Java反編譯: http://jd.benow.ca/
它反編譯.jar文件,並顯示出你的來源,但是請記住,它可能受版權保護:
順便說一句,你爲什麼不要求他們提交源代碼,而不僅僅是.jar文件?
基本上,.jar文件就像加速的zip文件,我相信即使WinRAR也能打開.jar文件。從他們的網站引述:
Java歸檔文件(applet和相關文件的壓縮文件 )(.JAR)
簡稱Java歸檔,用於捆綁的所有組件的文件格式 需要 由一個Java小程序。 JAR文件簡化了 的小程序下載,因爲所有組件(.class文件,圖像,聲音等)可以打包成 單個文件。此外,JAR 支持數據壓縮,其中 進一步減少下載時間。
JAR文件支持與ZIP 文件支持相同。 JAR = ZIP +清單。 Microsoft VM支持未壓縮的 和壓縮的JAR級別0和1,但 未簽名的JAR。
WinRAR的提供了基本的操作,以供其他工具創建 JAR文件:鑑於 內容,提取文件,顯示註釋 和歸檔信息。
您可以使用convert函數將 轉換成.rar格式的.jar文件。
您不需要有任何外部 程序來處理這些格式。
用WinRAR解壓後,您可以按照this link作爲JD的替代方法查看源代碼。
很多人看了源文件了幾十年,但炮彈休克仍時有發生。如果你看過那些代碼,你能發現漏洞的根源嗎?在jar文件/ java源代碼中發現這樣的漏洞需要什麼樣的教育/經驗水平? – Techmag 2015-05-24 15:57:38
首先,您可以使用帶有SecurityManager的JVM集來運行您的應用程序,使其可以有限地訪問敏感功能。
您還可以設置一個「沙盒」,以便jar無法擁有沙箱外的權限......您可以在linux/unix環境中使用chroot或類似的工具。
1。你可以從你的Sysinternals使用的軟件: http://technet.microsoft.com/en-us/sysinternals/bb842062
你可以看到的是程序的寫入或刪除從硬盤驅動器的東西與HardMon,或監視與RegMon的任何變化...查看他們的網站,他們有很多程序,你可以幾乎監控所有事情!
2.或者你可以安裝沙盤: http://www.sandboxie.com/
,然後運行你的沙箱中的程序( 「虛擬文件系統」)。當你沙箱中運行一個程序,你可以看到沒節目做出什麼文件,最好的事情是,當它存在的任何變化,該方案確實將被取消,所以它不能損害你的系統。 :)
此外,您可以嘗試反編譯JAR文件: http://www.google.hr/search?sourceid=chrome&ie=UTF-8&q=java+decompiler
請注意,Sandboxie可用於x64,但它存在一些嚴重的安全漏洞。所以Sandboxie不是所有解決方案中的一個。 – LostInTheCode 2011-01-23 16:03:53
Yes和No.默認情況下,Java程序可以做同樣的事情你的系統上的任何本地程序能做的。這包括刪除和替換任何可以訪問的文件,具體取決於您的操作系統和用戶權限,這可能會影響系統關鍵文件。
有可能restrict什麼Java應用程序可以做,小應用程序以及網絡程序通常被固定這種方式。或者,您可以將任何程序作爲不同/限制用戶或沙箱運行,以限制其可以執行的損害。
如果你不信任庫/程序總是在上述受限環境中的一個運行。如果它做了它不應該做的事情,它可能會崩潰,但它不會造成任何損害。
我試過solution from jensign.com,它看起來像它限制了幾乎一切。我曾經測試的.jar應用程序甚至無法下載網站。然而,我不是這方面的專家,所以我不知道它是否是100%安全的解決方案。
的JAR'd應用程序能充分嚴格的限制條件(非常類似於Java小程序默認的安全沙箱)下啓動:
java -jar -Djava.security.manager PropsFrame.jar
或許這將幫助:HTTP: //docstore.mik.ua/orelly/java-ent/security/ch01_02.htm – sinelaw 2011-01-23 15:59:07